Yhteenveto: • Oireet: Toistuvat USB-nollaukset, I/O-virheet tai levyt katoavat Linuxissa. • Vaikuttaa: Realtek RTL9210 (vahvistettu) ja RTL9220 (mahdollisesti). • Syy: Palautuminen sisäiseen ROM-muistiin (
f0.01
) tarkistussummavirheen jälkeen. • Vaikutus: Pysyvä epävakaus, ei Linux-uudelleenohjelmointityökaluja saatavilla. • Korjaus: Vain OEM-Windows-apuohjelmat voivat palauttaa laiteohjelmiston – Realtek estää avoimen lähdekoodin vaihtoehdot.
Vuonna 2025 pitäisi olla täysin järkevää käynnistää Raspberry Pi USB-liitännän kautta kytketyltä SSD-levyltä. Realtekin laiteohjelmiston omituisuuksien vuoksi tästä järkevästä tavoitteesta on kuitenkin tullut seikkailu. Kuukausien selittämättömän epävakauden jälkeen – satunnaiset nollaukset, katoavat levyt, vioittuneet tiedostojärjestelmät – kirjoittaja kokeili kaikkia tavallisia korjauksia: uusia kaapeleita, virtalähteellisiä hubeja, ytimen päivityksiä, USB-säätöjä ja laiteohjelmiston hienosäätöä. Läpimurto tuli vasta, kun ChatGPT vastasi outoon myöhäisillan kysymykseen: “Onko mahdollista, että USB-NVMe-silta on palautunut vanhaan laiteohjelmistoon?”
Jos Realtek-pohjainen NVMe-kotelo muuttuu yhtäkkiä epävakaaksi viikkojen moitteettoman toiminnan jälkeen – toistuvat USB-nollaukset, I/O-virheet tai katoavat levyt – et ole yksin. Tämä kaava on ilmennyt useissa merkeissä, nimettömistä yksiköistä tunnettuihin OEM-valmistajiin, kuten Sabrent ja Orico. Yhteinen nimittäjä: Realtekin RTL9210 ja mahdollisesti RTL9220 USB-NVMe-siltapiirit.
Aluksi kaikki toimii. Sitten, näennäisesti ilman syytä, laite alkaa katketa kuormituksen alla tai pitkäaikaisessa käytössä, erityisesti Linux- tai Raspberry Pi -järjestelmissä. Todellinen syy ei ole SSD tai virtalähde – se on itse laiteohjelmiston ohjain, joka hiljaa palautuu ROM-muistiin upotettuun varakoodiin, versioon, jota Realtek edelleen toimittaa sisäisesti nimellä f0.01
.
Realtekin siltapiirit tallentavat toimintansa laiteohjelmiston ja konfiguraatiotiedot ulkoiseen SPI-muistiin. Käynnistyksen yhteydessä ohjain tarkistaa yksinkertaisen tarkistussumman. Jos tarkistussumma ei täsmää, se kieltäytyy lataamasta ulkoista laiteohjelmistoa ja käynnistyy sen sijaan sisäisestä ROM-muistista.
Tämä varalaiteohjelmisto on vanha ja viallinen. Siitä puuttuu useita USB-vakauskorjauksia ja linkkitilan hallinnan parannuksia, jotka ovat läsnä myöhemmissä versioissa, mikä johtaa klassiseen sekvenssiin, jonka jokainen Linux-käyttäjä tunnistaa:
usb 3-2: nollaa suurinopeuksinen USB-laite numero 2 xhci-hcd:llä
usb 3-2: laitteen kuvauksen luku/64, virhe -71
EXT4-fs varoitus (laite sda2): I/O-virhe kirjoitettaessa inodille …
Tarkistussumma voi muuttua virheelliseksi, kun konfiguraatiotietoja kirjoitetaan uudelleen – esimerkiksi kun silta päivittää virranhallinta- tai UAS-asetuksiaan – ja laite menettää virran kesken kirjoituksen. Seuraava käynnistys havaitsee vioittuneen tarkistussumman ja palautuu pysyvästi ROM-laiteohjelmistoon.
Tässä vaiheessa “korkean suorituskyvyn NVMe-kotelosi” käyttäytyy täsmälleen kuin halvin nimettömä kotelo, koska se käyttää nyt sisäisesti samaa viallista peruskoodia, joka on poltettu piisiruun.
Voit vahvistaa tämän tilan helposti Linuxissa:
lsusb -v | grep -A2 Realtek
Terve Realtek-siltta raportoi laiteohjelmiston version (bcdDevice
) yli 1.00. Palautunut siltta näyttää:
bcdDevice f0.01
Tämä f0.01
-allekirjoitus tarkoittaa, että ohjain käynnistyy ROM-muistista – eikä mikään määrä irtikytkentää, uudelleenformatointia tai ytimen säätöä korjaa sitä.
Tämä palautusmekanismi on vahvistettu RTL9210:lle. RTL9220 vaikuttaa jakavan saman suunnitteluarkkitehtuurin ja laiteohjelmiston asettelun, joten se voi osoittaa identtistä käyttäytymistä, mutta tämä on todennäköistä, ei todistettua.
Periaatteessa korjaus on yksinkertainen: uudelleenohjelmoi oikea laiteohjelmisto SPI-muistiin. Käytännössä Realtek tekee tämän mahdottomaksi.
Yritys tarjoaa suljetun lähdekoodin Windows-päivitysohjelman OEM-valmistajille ja integraattoreille. Linux-käyttäjille ei tarjota mitään. Yhteisön kehittäjät käänteisinsinööröivät yhteensopivia flash-työkaluja (rtsupdater
, rtl9210fw
, rtsupdater-cli
), jotka mahdollistivat täydellisen laiteohjelmiston palauttamisen Linux-järjestelmistä – kunnes Realtek antoi DMCA-poistopyyntöjä niiden tukahduttamiseksi.
Ei ole uskottavaa immateriaalioikeudellista perustetta tällaisten työkalujen estämiselle: ne eivät paljasta mikrokoodia, vaan ainoastaan järjestävät päivityssekvenssin USB:n kautta. Realtekin poistot eivät liittyneet suojaamiseen. Ne olivat ideologisia.
Tämä ei koske avoimen lähdekoodin idealismia. Kyse on laitevalmistajan ideologisesta vihamielisyydestä avoimia järjestelmiä kohtaan, joka rikkoo laitteita, joita markkinoidaan Linux-yhteensopivina.
Realtekin vastustus dokumentaatiolle ja avoimille työkaluille on jatkunut kahden vuosikymmenen ajan kattaen Wi-Fi:n, Ethernetin, äänen ja nyt tallennusohjaimet. Tämä eristäytyminen saattaa jäädä huomaamatta pelkästään Windows-maailmassa, mutta se muuttuu myrkylliseksi, kun samat piirit integroidaan monialustaisiin tuotteisiin, kuten Sabrent EC-SNVE, joka avoimesti esittelee Linux-logoa pakkauksessaan.
Kieltämällä Linux-flash-työkalut ja estämällä yhteisön ylläpidon Realtek on tehokkaasti kriminalisoinut itsekorjauksen. Seuraukset leviävät ulospäin:
Loppujen lopuksi ei ole avoin lähdekoodi, joka rikkoo Realtekin laitteita – se on Realtekin vihamielisyys avointa lähdekoodia kohtaan, joka rikkoo ne.
Ratkaisu ei vaadi ideologista muutosta, vain pragmatismia. Realtek voisi:
Jokainen näistä estäisi takuukustannukset, suojaisi OEM-suhteita ja palauttaisia luottamuksen Realtekin siltapiireihin ammattimaisten Linux-käyttäjien keskuudessa – työasemien rakentajista Raspberry Pi -kehittäjiin.
Jos epäilet, että kotelosi on palautunut ROM-laiteohjelmistoon:
lsusb -v | grep bcdDevice
.f0.01
, ilmoita ongelmasta OEM-valmistajallesi.dmesg
-ote ja viittaa tähän dokumentoituun palautusmekanismiin.Realtekin laiteohjelmistopolitiikka ei vain häiritse harrastajia; se aiheuttaa konkreettisia taloudellisia tappioita heidän omalle ekosysteemilleen. Mitä nopeammin tämä todellisuus tunnustetaan yrityksen sisällä, sitä nopeammin Linux-käyttäjät ja OEM-kumppanit voivat lopettaa ajan tuhlaamisen vältettävissä oleviin RMA-sykleihin.
Sekä Realtek että Sabrent kutsuttiin antamaan lausuntoja yllä kuvattuun laiteohjelmiston palautusongelmaan liittyen. Heidän vastauksensa – jos ne vastaanotetaan – liitetään tähän.
Ohjain | Toimittajan ID | Tuotteen ID | Huomautukset | Tila |
---|---|---|---|---|
RTL9210 | 0x0bda | 0x9210 | USB 3.1 Gen 2 10 Gb/s silta | Vahvistettu palautuskäyttäytyminen |
RTL9220 | 0x0bda | 0x9220 | USB 3.2 Gen 2×2 20 Gb/s silta | Mahdollinen, samankaltainen arkkitehtuuri |
Laiteohjelmiston palautusallekirjoitus: bcdDevice f0.01
Tunnetut vakaat versiot: 1.23
– 1.31