https://ninkilim.com/articles/rtl9210_usb_to_nvme_bridge/cs.html
Home | Articles | Postings | Weather | Top | Trending | Status
Login
Arabic: HTML, MD, MP3, PDF, TXT, Czech: HTML, MD, MP3, PDF, TXT, Danish: HTML, MD, MP3, PDF, TXT, German: HTML, MD, MP3, PDF, TXT, English: HTML, MD, MP3, PDF, TXT, Spanish: HTML, MD, MP3, PDF, TXT, Persian: HTML, MD, PDF, TXT, Finnish: HTML, MD, MP3, PDF, TXT, French: HTML, MD, MP3, PDF, TXT, Hebrew: HTML, MD, PDF, TXT, Hindi: HTML, MD, MP3, PDF, TXT, Indonesian: HTML, MD, PDF, TXT, Icelandic: HTML, MD, MP3, PDF, TXT, Italian: HTML, MD, MP3, PDF, TXT, Japanese: HTML, MD, MP3, PDF, TXT, Dutch: HTML, MD, MP3, PDF, TXT, Polish: HTML, MD, MP3, PDF, TXT, Portuguese: HTML, MD, MP3, PDF, TXT, Russian: HTML, MD, MP3, PDF, TXT, Swedish: HTML, MD, MP3, PDF, TXT, Thai: HTML, MD, PDF, TXT, Turkish: HTML, MD, MP3, PDF, TXT, Urdu: HTML, MD, PDF, TXT, Chinese: HTML, MD, MP3, PDF, TXT,

Linux a USB-NVMe můstek Realtek RTL9210

Shrnutí:Příznaky: Opakované resetování USB, chyby I/O nebo mizející disky v Linuxu. • Postižené: Realtek RTL9210 (potvrzeno) a RTL9220 (možná). • Příčina: Návrat k interní ROM (f0.01) po selhání kontrolního součtu. • Dopad: Trvalá nestabilita, žádné nástroje pro přehrání firmwaru v Linuxu. • Řešení: Pouze proprietární nástroje pro Windows od OEM mohou obnovit firmware – Realtek blokuje open-source alternativy.

Předmluva

V roce 2025 by mělo být zcela rozumné spouštět Raspberry Pi z SSD připojeného přes USB. Díky zvláštnostem firmwaru Realteku se však tento rozumný cíl stal dobrodružstvím. Po měsících nevysvětlené nestability – náhodné resety, mizející disky, poškozené souborové systémy – autor vyčerpal všechny běžné opravy: nové kabely, napájené huby, aktualizace jádra, úpravy USB a ladění firmwaru. Průlom přišel, až když ChatGPT odpověděl na zvláštní noční otázku: „Je možné, že se USB-NVMe můstek vrátil ke starému firmwaru?“

Úvod

Pokud se vaše NVMe skříň založená na Realteku náhle stane nestabilní po týdnech bezchybného provozu – opakované resetování USB, chyby I/O nebo mizející disky – nejste sami. Tento vzorec se objevil u několika značek, od neznačkových jednotek po známé OEM výrobce, jako jsou Sabrent a Orico. Společný jmenovatel: USB-NVMe můstkové čipy Realtek RTL9210 a možná RTL9220.

Zpočátku vše funguje. Pak, zdánlivě bez příčiny, začne zařízení při zátěži nebo při delším používání, zejména na systémech Linux nebo Raspberry Pi, ztrácet spojení. Skutečnou příčinou není SSD ani napájení – je to samotný řadič firmwaru, který tiše přejde na záložní kód uložený v ROM, verzi, kterou Realtek stále interně dodává jako f0.01.

Skrytý mechanismus – Návrat k firmwaru podle návrhu

Můstkové čipy Realteku ukládají svůj operační firmware a konfigurační data do externího SPI flash. Při zapnutí řadič kontroluje jednoduchý kontrolní součet. Pokud se tento součet neshoduje, odmítne načíst externí firmware a místo toho se spustí z interní ROM.

Tento záložní firmware je zastaralý a vadný. Chybí mu několik oprav stability USB a vylepšení správy stavu spojení přítomných v pozdějších revizích, což vede ke klasické sekvenci, kterou každý uživatel Linuxu pozná:

usb 3-2: reset vysokorychlostního USB zařízení číslo 2 pomocí xhci-hcd
usb 3-2: čtení deskriptoru zařízení/64, chyba -71
Varování EXT4-fs (zařízení sda2): Chyba I/O při zápisu do inode …

Kontrolní součet se může stát neplatným, když jsou konfigurační data přepsána – například když můstek aktualizuje nastavení správy napájení nebo UAS – a zařízení ztratí napájení během zápisu. Při dalším spuštění zjistí poškozený kontrolní součet a trvale se vrátí k firmwaru ROM.

V tu chvíli se vaše „vysokovýkonná NVMe skříň“ chová přesně jako nejlevnější neznačková skříň, protože interně nyní běží na stejném vadném základním kódu vypáleném do křemíku.

Ověření problému

Tento stav můžete snadno ověřit v Linuxu:

lsusb -v | grep -A2 Realtek

Zdravý můstek Realteku hlásí revizi firmwaru (bcdDevice) vyšší než 1.00. Vračený můstek ukazuje:

bcdDevice f0.01

Tento podpis f0.01 znamená, že řadič se spouští z ROM – a žádné odpojení, přeformátování ani ladění jádra to neopraví.

Tento mechanismus návratu byl potvrzen na RTL9210. RTL9220 zřejmě sdílí stejnou architekturu návrhu a rozložení firmwaru, takže může vykazovat stejné chování, ale to zůstává pravděpodobné, nikoli prokázané.

Proč to nemůžete opravit sami

V zásadě je oprava triviální: přehrát správný firmware do SPI. V praxi to Realtek znemožňuje.

Společnost poskytuje uzavřený aktualizační program pro Windows pro OEM a integrátory. Uživatelům Linuxu nenabízí nic. Komunitní vývojáři zpětně analyzovali kompatibilní nástroje pro flashování (rtsupdater, rtl9210fw, rtsupdater-cli), které umožňovaly úplnou obnovu firmwaru ze systémů Linux – dokud Realtek nevydal výzvy k odstranění DMCA, aby je potlačil.

Neexistuje žádný věrohodný důvod ochrany duševního vlastnictví pro blokování těchto nástrojů: neodhalují mikrokód, pouze organizují aktualizační sekvenci přes USB. Odstranění Realteku nebylo o ochraně. Bylo ideologické.

Cena ideologie

Nejde o idealismus open-source. Jde o ideologickou nepřátelskost výrobce hardwaru vůči otevřeným systémům, která ničí zařízení prodávaná jako kompatibilní s Linuxem.

Odpor Realteku k dokumentaci a otevřeným nástrojům přetrvává dvě desetiletí, od Wi-Fi, Ethernetu, audia až po řadiče úložišť. Tato uzavřenost by mohla zůstat nepovšimnuta ve světě pouze s Windows, ale stává se toxickou, když jsou tyto čipy integrovány do produktů pro více platforem, jako je Sabrent EC-SNVE, který otevřeně zobrazuje logo Linuxu na svém obalu.

Zákazem nástrojů pro flashování v Linuxu a blokováním komunitní údržby Realtek fakticky kriminalizoval vlastní opravy. Důsledky se šíří dál:

Nakonec to není open-source, co ničí zařízení Realteku – je to nepřátelství Realteku vůči open-source, co je ničí.

Racionální cesta vpřed

Řešení nevyžaduje ideologický posun, pouze pragmatismus. Realtek by mohl:

  1. Vydat aktualizační nástroj příkazového řádku podepsaný výrobcem pro Linux (není potřeba odhalovat zdrojový kód).
  2. Zveřejnit algoritmus kontrolního součtu, aby integrátoři mohli bezpečně ověřit obrazy flash.
  3. Přijmout režim ve stylu DFU, který přijímá aktualizace přes USB Mass Storage, nezávisle na OS.

Každý z těchto kroků by zabránil nákladům na záruky, ochránil vztahy s OEM a obnovil důvěru v můstkové čipy Realteku mezi profesionálními uživateli Linuxu – od stavitelů pracovních stanic po vývojáře Raspberry Pi.

Co můžete udělat

Pokud máte podezření, že se vaše skříň vrátila k firmwaru ROM:

Firmware politika Realteku nejen obtěžuje nadšence; vytváří hmatatelnou finanční ztrátu pro jejich vlastní ekosystém. Čím dříve tato realita bude uvnitř společnosti uznána, tím dříve mohou uživatelé Linuxu a partneři OEM přestat ztrácet čas zbytečnými cykly RMA.

Reakce výrobců

Realtek i Sabrent byli vyzváni, aby poskytli prohlášení k problému návratu firmwaru popsanému výše. Jejich odpovědi – pokud budou obdrženy – budou připojeny zde.

Příloha – Identifikace postižených zařízení

Řadič ID dodavatele ID produktu Poznámky Stav
RTL9210 0x0bda 0x9210 Můstek USB 3.1 Gen 2 10 Gb/s Potvrzeno chování návratu
RTL9220 0x0bda 0x9220 Můstek USB 3.2 Gen 2×2 20 Gb/s Možné, podobná architektura

Podpis návratu firmwaru: bcdDevice f0.01
Známé stabilní revize: 1.231.31

Impressions: 21