Jump to content

Preporučeni Komentari

  • 4 months later...
  • 3 months later...
Napisano

Konačno sam našao malo vremena da sredim i svoju mašinu. Elem imam Dell optiplex micro {sa i7 i 16GB RAM).

Problem je bio u jebenom Dell adapteru... EM se gasi svremena na vreme em se usijava ispravljač em imam smetnje u audio reprodukciji....očigledno je da će da vrisne jer nije za to....

Plus je lokovan CPU na 800Mhz jer nemam 65W adapter nego od 45W.....

@NIXIE me je dobro savetovao da kupim nov Dell adapter od 240W - to je jedna mrcina od 20cm i ima pola kile.

Jedva sam ga namestio da radi , sekao kabl i stavio manji DC priključak...i Naravno da radi....

Problem je opet što je CPU lokovan na 800Mhz....

BIOS vendor lock-in (Dell-ovo ograničenje zbog napajanja i ME/firmware provera) je glavni kočničar.

Ne da nijedno drugo napajnje sem po serijskim brojevima za ovaj model. Ako se gađa sa tim čipom.

Na kraju sam uzeo i pregazio BIOS sa Libreboot. 

Evo kako sad izgleda

t1650_grub.jpg

Libreboot + očišćen ME + isključen Boot Guard su otvorili mašinu do kraja.

Sada ide do 3.2 GHz bez da se davi zbog adaptera jer Dell-ov EC/BIOS check za PSU je zaobiđen.

brže boota, manje junk-a u firmware-u

Nema zatvorenog koda sa ME koji visi u pozadini:happy64:

Nema rizika od backdoor-a, rootkit-a ili skrivene telemetrije ugrađene u BIOS ili apdejte BIOS.

Ubija kako peva sad DAC na PC sa 240W PSU.  Ama ni da se smlači ova cigla :loleverybody:

Napisano

Evo kako se to radi - uputsvo (samo za uzaludne hakere)


sudo apt update
sudo apt install build-essential git python3 flashrom p7zip-full unzip wget
# build-essential -> alati za kompajliranje
# git -> kloniranje repozitorijuma
# python3 -> potreban za me_cleaner i deguard
# flashrom -> alat za čitanje i pisanje BIOS čipa
# p7zip-full, unzip, wget -> pomoćni alati

Kreiranje foldera za Libreboot
cd /home/mx
mkdir -p libreboot/{source,build,tools,backup}
# source -> izvorni kod Libreboot-a
# build -> fajlovi koji se izgrade
# tools -> pomoćni alati (me_cleaner, deguard)
# backup -> backup originalnog BIOS-a

 Kloniranje Libreboot repozitorijuma
cd /home/mx/libreboot/source
git clone https://codeberg.org/libreboot/lbmk 

Kloniranje pomoćnih alata
cd /home/mx/libreboot/tools
git clone https://github.com/corna/me_cleaner.git.

Backup postojećeg BIOS-a
sudo flashrom -p internal -r /home/mx/libreboot/backup/original_bios.bin
# Ovo pravi sigurnosnu kopiju BIOS-a. OBAVEZNO je sačuvaj negde van računara.
sudo flashrom -p internal
# Ovde mora da prijavi čip od 16 MB (128 Mbit), npr. W25Q128FV.
# Ako čip nije prepoznat, NE SMEŠ dalje da nastavljaš.

Čišćenje Intel ME (Management Engine)
cd /home/mx/libreboot/tools/me_cleaner
python3 me_cleaner.py /home/mx/libreboot/backup/original_bios.bin
# Ovo uklanja Intel ME iz BIOS-a.
# Rezultat: novi BIOS fajl sa sufiksom (npr. original_bios_cleaned.bin).

Isključivanje Intel Boot Guard zaštite
cd /home/mx/libreboot/tools/deguard
python3 deguard.py /home/mx/libreboot/backup/original_bios_cleaned.bin
# Ovo uklanja Boot Guard da bi Libreboot mogao da radi.
# Rezultat: fajl spreman za Libreboot build (npr. original_bios_deguarded.bin).

 Build Libreboot BIOS-a
cd /home/mx/libreboot/source
./mk -b coreboot dell3050micro_vfsp_16mb /home/mx/libreboot/backup/original_bios_deguarded.bin
# Skripta gradi Libreboot za ovaj model koristeći očišćen BIOS.
# Rezultat: fajl dell3050micro_vfsp_16mb.rom u folderu /build/.

 Provera džampera na ploči
# Na matičnoj ploči postoji BIOS write-enable džamper.
# Pre flešovanja ga pomeri u položaj "unlocked".

 Flešovanje Libreboot BIOS-a
sudo flashrom -p internal -w /home/mx/libreboot/source/build/dell3050micro_vfsp_16mb.rom
# OBAVEZNO: Ne prekidaj proces. Ne diraj računar dok se ne završi.
# Kada flashrom javi „VERIFIED“, fleš je uspešan.

 Vraćanje džampera
# Vrati BIOS write-enable džamper u prvobitni položaj ("locked").

Restart sistema
# Restartuj računar, trebalo bi da se podigne sa Libreboot-om.

 

 I za mene je OVO jako,  jako složena operacija. Plus se 5 sati kompajlira firmware.......

:phil_04:

 

p.s.

Najveći rizik nije u samom Libreboot-u, već u procesu flešovanja.

Ako se prekine napajanje, ako flashrom pogreši ili ako je čip loše detektovan, računar može da se pretvori u ciglu [brick].

Odnosno ubije na mrtvo.

Zato se preporučuje uvek imati eksterni programator i backup. Ja ga imam....

Napisano
pre 6 minuta, Mikorist reče

Definitivno mišljenje imam sad.

1. Kupiti Dell optiplex 3050 Micro.

2. Staviti Libreboot + Diya Linux...

Ovo je druga dimenzija života kako radi zajedno. Kakvi NUC-evi kakvi bakrači. :happy64::phil_04:

Ugradio sam u ovu verziju linuxa po defaultu da ima flashprog

diya@diya ~ $ flashprog
flashprog p1.4-2-g7397f06 on Linux 6.16.5-1-liquorix-amd64 (x86_64)
flashprog is free software, get the source code at https://flashprog.org

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Please select a programmer with the --programmer parameter.
To choose the mainboard of this computer use 'internal'. Valid choices are:
internal, dummy, nic3com, nicrealtek, gfxnvidia, drkaiser, satasii, atavia,
it8212, ft2232_spi, ft4222_spi, serprog, buspirate_spi, dediprog, developerbox,
rayer_spi, pony_spi, nicintel, nicintel_spi, nicintel_eeprom, ogp_spi, satamv,
linux_gpio_spi, linux_mtd, linux_spi, usbblaster_spi, pickit2_spi, ch341a_spi,
ch347_spi, digilent_spi, jlink_spi, stlinkv3_spi, dirtyjtag_spi.

 

Na Dell Optiplex Micro 3050 sledeći je BIOS čip

MXIC MX — proizvođač je Macronix International Co.

25L12972F — model čipa

Ovo je Macronix MX25L1297, što je SPI flash čip kapaciteta oko 16 MByte (128 Mbit)

Stavi se džamper na pinove 1 i 2 na ploči...onda reboot

 

Backup fabričkog ROM-a:

sudo flashprog -p internal:laptop=force_I_want_a_brick -r factory.rom
sha256sum factory.rom

Proba čitanja/verifikacije:

sudo flashprog -p internal:laptop=force_I_want_a_brick -v factory.rom

Pisanje Libreboot ROM-a:

sudo flashprog -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w libreboot3050.rom

Provera posle flešovanja:

sudo flashprog -p internal:laptop=force_I_want_a_brick -v libreboot3050.rom

 

Okačiću u toku nedelje javno libreboot3050.rom koji radi 100% . :phil_04:

 

p.s.

Nije velika lista računara za koje radi Libreboot ----> To je najveći problem :drinking-2:

Napisano

 

Dodatak :happy64:

Kako da se ne smoriš sa SOIC8 klestima kad brikuješ bios čip....


Mašina ti je na stolu, lepo osvetljenje, nema cimanja. Držiš ploču tako da ti čip bude pri ruci, da ne moraš da izvrćeš ruke ko majmun.Klemu staviš pa lagano pritisneš, ne na silu. Fora je da klikne pravo, a ne pod uglom. Ako drndaš i mrdaš, lako spadne.
Posle staviš multimetar na beep mod i proveriš bar jedan-dva pina da li ima kontakta do kabla , znaš da si ubo.


Veži se na masu, makar dodirni radijator ili kućište kompa koje je uštekan u uzemljenje. Ako si na tepihu u čarapama,  ima da spržiš čip ko ništa. Više puta radio to i onda duvaljka i menjnnje čipa i kupovina preko Vremeplova...
Još bolje, navuci one tanke antistatičke rukavice, ne koštaju mnogo.

ili zalemi žice direktno {ružno, al’ radi 100%}

ili skini čip duvaljkom i reši ga ko čovek, pa nazad zalemi.

Zaključak

SOIC8 klješta su smor i igra živaca. Dobra su za brze testove i kad ne želiš da vadiš čip. Skidanje čipa i duvaljka je carstvo.:loleverybody:

Napisano

Naručio sam ovo preko Mousera - jer radim ovo često {a ovo iznad je kiesko đubre za jednu upotrebu}

https://eu.mouser.com/ProductDetail/Pomona-Electronics/5250?qs=q2OAyjihNMzqkARxZuX5AQ%3D%3D

Prednosti Pomone 5250:

Kontakt uvek hvata. Opruga i metalni zubi su precizni, nema “klizanja” sa čipa.

Nema deformacije plastike. Možeš 600× da je koristiš, zubi ostaju isti.

Tanji profil....lakše se namešta na čipovima blizu drugih komponenti.

Stabilan pritisak....jednom kad je namestiš, možeš da pustiš ruke i radiš flash satima bez straha da će izgubiti kontakt.

Bakar je debeo, fleksibilan, i ne puca na preklopu.

Mane (ako se uopšte mogu nazvati manama):

Cena  jeste 32 evra preko Vremeplova, ali vredi svaku paru.

Malo tvrđa opruga....traži malo jači stisak prstiju u odnosu na kinesku kopiju.:phil_04:

Napisano

Apgrejdovam kernel i linux na zadnju verziju. Ispravljeni minorni bagovi.

Dodat libreboot ROM za Dell optiplex Micro 3050.

Znači SAMO i ISKLJUČIVO ko ima ovu mišinu može odma da se prebaci na libreboot.

Prebaci se džamper ma matičnoj. I onda kuca sledeće u terminalu

diya@diya ~ $ romflash 
⚠️ Da li sigurno želiš da flešuješ libreboot3050.rom na interni čip? (yes/no): 

Nakon što potvrdi yes biće automatski flešovan bios u libreboot.

Bekap orginala pre toga se pravi sa rombackup komandom.

Prva strana  prvi post.... :phil_04:

Napisano

Napravio sam konačni “master” setup za hi-end USB DAC-ove (Amanero MCS, D10s i JLSound) na Debian 12 / Liqorix kernelu, koji sada radi plug-and-play, sa minimalnom latencijom i native sample rate passthrough (48–192 kHz).

Šta će skripta da uradi u sistemu:

Udev pravila za DAC-ove:

Automatski prepoznaje Amanero MCS, D10s i JLSound

Postavlja symlinks (/dev/dac_*)

Isključuje USB autosuspend za stabilnost i ultra-low jitter

ALSA konfiguracija:

Definiše sve DAC-ove i buffer tuning za minimalni jitter

Default je Amanero MCS, ali lako može da se menja

Omogućava direktan passthrough audio signala

Realtime optimizacije:

CPU pinning za PipeWire/WirePlumber (2 jezgra)

PipeWire + WirePlumber:

Restart user servisa sa CPU pinning-om

Client.conf postavlja default sink na Amanero MCS

Lua skripta automatski prebacuje default sink kad se DAC priključi - automatski se prebacuje sa jednog ili na drugi ili na treći DAC

Native sample rate passthrough od 48–192 kHz

Safe reset korisničke konfiguracije na kraju → DE mixer uvek vidi sinkove

Sigurnosne i praktične prednosti:

Ako nema nijedan od DAC-ova priključen, sistem ne pravi greške

DE mixer ostaje funkcionalan

Sve RT i low-jitter tweakove su transparentne i kompatibilne sa drugim audio uređajima

 

#!/bin/bash
################################################################################
# setup_hiend_master_ultimate.sh
# Final Master Ultimate Hi-End Audio Setup
# Debian 12 / Liqorix
# Amanero MCS default, native sample rate passthrough, RT optimizacije
################################################################################

set -e

# --- 1. Root check ---
if [ "$EUID" -ne 0 ]; then
    echo "Pokreni kao root za root deo (udev, ALSA, RT optimizacije)"
else
    echo "=== Final Full Ultimate Hi-End Audio Setup (ROOT) ==="

    # --- 2. Udev pravila za DAC-ove + USB autosuspend OFF ---
    UDEV_RULES="/etc/udev/rules.d/99-dacs.rules"
    cat > "$UDEV_RULES" <<'EOF'
SUBSYSTEM=="usb", ATTR{idVendor}=="20b1", ATTR{idProduct}=="f7d1", MODE="0666", SYMLINK+="dac_jlsounds", ATTR{power/control}="on"
SUBSYSTEM=="usb", ATTR{idVendor}=="152a", ATTR{idProduct}=="8750", MODE="0666", SYMLINK+="dac_d10s", ATTR{power/control}="on"
SUBSYSTEM=="usb", ATTR{idVendor}=="16c0", ATTR{idProduct}=="0763", MODE="0666", SYMLINK+="dac_amanero", ATTR{power/control}="on"
SUBSYSTEM=="usb", ATTR{idVendor}=="16d0", ATTR{idProduct}=="071a", MODE="0666", SYMLINK+="dac_amanero_mcs", ATTR{power/control}="on"
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6010", MODE="0666", SYMLINK+="ftdi_debug", ATTR{power/control}="on"
EOF

    udevadm control --reload-rules
    udevadm trigger
    echo "Udev pravila primenjena."

    # --- 3. ALSA default + buffer tuning ---
    ASOUND_CONF="/etc/asound.conf"
    cat > "$ASOUND_CONF" <<'EOF'
pcm.jlsounds { type hw; card "dac_jlsounds" }
pcm.d10s { type hw; card "dac_d10s" }
pcm.amanero { type hw; card "dac_amanero" }
pcm.amanero_mcs { type hw; card "dac_amanero_mcs" }

ctl.jlsounds { type hw; card "dac_jlsounds" }
ctl.d10s { type hw; card "dac_d10s" }
ctl.amanero { type hw; card "dac_amanero" }
ctl.amanero_mcs { type hw; card "dac_amanero_mcs" }

# Default DAC = Amanero MCS
pcm.!default { type plug; slave.pcm "amanero_mcs" }
ctl.!default { type hw; card "dac_amanero_mcs" }

# Ultra-low-jitter buffer tuning
pcm.amanero_mcs {
    type plug
    slave.pcm "hw:dac_amanero_mcs"
    ttable.0.0 1
    ttable.1.1 1
    buffer_size 65536
    period_size 16384
}
EOF
    echo "ALSA konfiguracija kreirana."



    # --- 4. USB power control safe check za sve DAC-ove ---
    for DAC in /dev/dac_*; do
        USBDEV=$(udevadm info -q path -n "$DAC" | grep -o 'usb[0-9]\+\(.[0-9]\+\)*')
        if [ -d "/sys/$USBDEV/power" ]; then
            echo on | tee /sys/$USBDEV/power/control > /dev/null
        fi
    done

    echo
    echo "=== Root deo završen: udev, ALSA, RT optimizacije, USB power ==="
    echo "Sada se odjavi / loguj kao korisnik i pokreni skriptu za user deo."
    exit 0
fi

# --- USER DEO ---
echo "=== User deo: PipeWire/WirePlumber ==="

# --- PipeWire client.conf patch ---
CONFIG_DIR="$HOME/.config/pulse"
CONFIG_FILE="$CONFIG_DIR/client.conf"
DEFAULT_SINK="dac_amanero_mcs"
mkdir -p "$CONFIG_DIR"
if [ -f "$CONFIG_FILE" ]; then
    grep -q "^default-sink" "$CONFIG_FILE" && sed -i "s|^default-sink.*|default-sink = $DEFAULT_SINK|" "$CONFIG_FILE" || echo "default-sink = $DEFAULT_SINK" >> "$CONFIG_FILE"
    grep -q "^default-source" "$CONFIG_FILE" && sed -i "s|^default-source.*|default-source = $DEFAULT_SINK|" "$CONFIG_FILE" || echo "default-source = $DEFAULT_SINK" >> "$CONFIG_FILE"
else
    cat > "$CONFIG_FILE" <<EOF
default-sink = $DEFAULT_SINK
default-source = $DEFAULT_SINK
EOF
fi

# --- CPU pinning za PipeWire / WirePlumber ---
AUDIO_CPUS="2"
mkdir -p ~/.config/systemd/user/pipewire.service.d
cat > ~/.config/systemd/user/pipewire.service.d/override.conf <<EOF
[Service]
CPUAffinity=$AUDIO_CPUS
EOF
mkdir -p ~/.config/systemd/user/wireplumber.service.d
cat > ~/.config/systemd/user/wireplumber.service.d/override.conf <<EOF
[Service]
CPUAffinity=$AUDIO_CPUS
EOF

# --- WirePlumber Lua auto-switch default sink (native rate passthrough) ---
WP_LUA_DIR="$HOME/.config/wireplumber/main.lua.d"
mkdir -p "$WP_LUA_DIR"
cat > "$WP_LUA_DIR/99-hiend_passthrough.lua" <<'EOF'
-- 99-hiend_passthrough.lua
local WP = require "wireplumber"
local log = WP.log
local core = WP.core

local TARGET_SINK = "alsa_output.usb-16d0_071a-0_Combo384_Amanero-0.analog-stereo"

local function set_default_sink()
  os.execute("pactl set-default-sink " .. TARGET_SINK)
  log.info("WirePlumber: default sink set to " .. TARGET_SINK)
end

core:connect("object-added", function(core, obj)
  if obj:typeOf("WPDevice") and obj.name == TARGET_SINK then
    set_default_sink()
  end
end)

-- Start immediately
set_default_sink()
EOF

# --- Restart PipeWire / WirePlumber ---
systemctl --user daemon-reload
systemctl --user restart pipewire pipewire-pulse wireplumber

# --- 11. Safe reset korisničke konfiguracije ---
echo "Resetujem WirePlumber i Pulse konfiguraciju korisnika za sigurnu detekciju DAC-ova..."
mv ~/.config/wireplumber ~/.config/wireplumber.bak 2>/dev/null || true
mv ~/.config/pulse ~/.config/pulse.bak 2>/dev/null || true
systemctl --user restart pipewire pipewire-pulse wireplumber
echo "WirePlumber i Pulse resetovani, DE mixer bi sada trebalo da vidi sinkove."

# --- Provera ---
echo "Trenutno dostupni DAC symlinkovi:"
ls -l /dev/dac_*

echo
echo "=== Final Master Ultimate Setup završen! ==="
echo "- Native sample rate passthrough (48–192 kHz)"
echo "- PipeWire/WirePlumber restartovan, CPU pinning jezgro 2"
exit 0

Ovo će biti primenjeno na master iso - čim iztestiram kako radi...Za sad je ludilo kako svira...ama boles bilo kakav audio strimig kako radi kroz browser.....

p.s.

Ako program za reprodukciju zvuka ide direktno kroz ALSA onda:

PipeWire/WirePlumber podešavanja i client.conf nemaju efekta – oni utiču samo na PulseAudio/pipewire-pulse sloj, tj. na aplikacije koje koriste ALSA preko Pulse/PA interfejsa.

Udev pravila, ALSA .asoundrc ili /etc/asound.conf, USB autosuspend OFF, RT optimizacije, CPU pinning – oni i dalje važe, jer ALSA direktno koristi kernel i hardware.

Lua auto-switch i default sink podešavanja u PipeWire ne utiču na direktan ALSA pristup.

Kreiraj nalog ili se prijavi da daš komentar

Potrebno je da budeš član DiyAudio.rs-a da bi ostavio komentar

Kreiraj nalog

Prijavite se za novi nalog na DiyAudio.rs zajednici. Jednostavno je!

Registruj novi nalog

Prijavi se

Već imaš nalog? Prijavi se ovde

Prijavi se odmah
  • Članovi koji sada čitaju   0 članova

    • Nema registrovanih članova koji gledaju ovu stranicu
×
×
  • Kreiraj novo...