Přeskočit na obsah
Tech-Blog Chatujme.cz Chatujme.cz
Počítače

ReactOS dostal do hlavní větve první ovladač pro řadiče USB 3.0

ReactOS přijal 6. listopadu do hlavní větve ovladače usbxhci, usbhub3 a ucx01000. Hlavní větev tím poprvé dostala ovladač pro řadič xHCI, tedy pro čip za porty USB 3.x; dosud v ní byly jen UHCI, OHCI a EHCI. Vydání s tímhle kódem zatím žádné není.

· 1 zhlédnutí

Projekt ReactOS začlenil 6. listopadu do hlavní větve sadu ovladačů pro řadiče xHCI, tedy pro čipy, na kterých stojí porty USB 3.x. ReactOS je otevřený operační systém, který má spouštět programy a ovladače psané pro Windows; dosud uměl jen USB 1.1 a 2.0.

Žádost o začlenění č. 9646 přidává 97 674 řádků ve 172 souborech a 1 385 jich ubírá. Sloučila se po čtyřech týdnech, 6. listopadu ve 4:29 našeho času. Pod kódem je podepsaný vývojář Justin Miller, který v popisu píše, že ovladač vznikal několik let a prošel mnoha přepracováními.

Několik základních desek vedle sebe na stole veletržního stánku, za nimi monitor s logem VIA Labs
Základní desky s řadiči USB 3.0 od VIA Labs na veletržním stánku v roce 2011. Foto: VIA Gallery from Hsintien, Taiwan, Wikimedia Commons (CC BY 2.0)

Čtvrtý řádek v tabulce řadičů

Jaký ovladač se na který řadič pustí, určuje v ReactOS kód třídy na sběrnici PCI. Zápisy jsou v souboru hivesys.inf, ze kterého se plní registr, a dosud tam byly tři. Nově jsou čtyři.

Kód třídy PCIŘadičOvladač
0C0300UHCIusbuhci
0C0310OHCIusbohci
0C0320EHCIusbehci
0C0330xHCIusbxhci

První dva řadiče patří k USB 1.1, třetí k USB 2.0. Poslední řádek je ta novinka a proč se jmenuje xHCI, a ne USB 3.0, vysvětlil v evidenci chyb projektu už v prosinci 2018 vývojář vystupující jako ThFabba: „Nic takového jako ovladač USB 3.0 neexistuje. xHCI je specifikace hostitelského řadiče pro všechny řadiče USB 3.x, a proto potřebujeme ovladač právě pro ni.“ (přeloženo) Zadání CORE-13344 samo říká, oč jde: s takovým ovladačem bude moct ReactOS použít zařízení zapojené do portu USB 3.

Tři ovladače a jedna knihovna

Vedle samotného usbxhci přibyl usbhub3 pro rozbočovače a ucx01000, tedy rozšíření třídy USB, přes které Windows od osmičky obsluhují novější sběrnici. Čtvrtý kus je usbdex, knihovna, kterou Windows 8 zavedly jako náhradu za USBD.sys; linkuje se proti ní řada ovladačů tříd zařízení. Hlavičky a rozhraní pro ně dorazily do repozitáře dřív, v žádosti č. 9620 ze 6. října a v žádosti č. 9623 z 9. října.

Zápisy v registru posílají usbhub3 na identifikátory USB#ROOT_HUB30, USB#USB20_HUB a USB#USB30_HUB. U řadiče xHCI je zároveň zapnuté přerušení signalizované zprávou. A soubor txtsetup.sif, podle kterého se kopírují soubory při textové instalaci, nově jmenuje usbxhci.sys, usbhub3.sys i ucx01000.sys. Textová instalace ty tři soubory zná a kopíruje je.

Dva starší pokusy zůstaly nesloučené

Ovladač pro xHCI se v ReactOS zkoušel postavit nejméně dvakrát. V srpnu 2019 nabídla vývojářka vystupující jako BelleNottelling import kódu z Google Summer of Code 2017; v popisu rovnou stálo, že ovladač doopravdy nefunguje, jen se po úpravách přeloží a ve VirtualBoxu řadič USB 3.0 rozpozná. Žádost se zavřela v říjnu 2022 bez začlenění.

Druhý pokus přišel v srpnu 2023 od vývojáře se jménem sigsegv7 a jmenoval se rovnou „počáteční podpora xHCI“. Pod popisem visel seznam toho, co ještě chybí: odkládací vyrovnávací paměti, obsluha příkazového i událostního kruhu, zbytek inicializace řadiče a přerušení přes MSI a MSI-X. Zavřel se v březnu 2025, taky bez začlenění. Zadání CORE-13344 je přitom otevřené dodnes.

Kód se zabíhal na Windows

Autor v popisu žádosti píše, že architekturu psal proti současnému rozhraní UCX a že si vlastními ovladači nahradil zásobník USB ve svých instalacích Windows 11, kde je delší dobu používá. Ovladače podle něj hlásí událost u každé změny stavu, takže se dalo přesně sledovat, kde se přechod mezi režimy láme. Nesou i výjimky pro konkrétní hardware, mimo jiné pro čipy Qualcommu a NVIDIE z doby prvních zařízení s Windows RT, a mají být připravené pro ARM32 i ARM64.

Žádost založil 9. října, tedy v den, kdy začal hackfest projektu v Orlandu na Floridě. Trval do 19. října a byl podle oznámení ReactOS letos druhý; první se konal na jaře kolem Chemnitzer Linux-Tage.

Ve vydané verzi to zatím není

Poslední vydání ReactOS 0.4.16 vyšlo 29. srpna 2026 po roce a půl vývoje a USB 3.0 v jeho seznamu novinek není. Kód leží v hlavní větvi, takže ho mají jen vývojová sestavení. Server Phoronix, který o začlenění psal 6. listopadu, mluví o počátečním zásobníku ovladačů USB3. Podobně to bylo v říjnu, kdy se systém nově nainstaloval i na oddíl NTFS – i tam šlo o vývojovou verzi.

Autor avizuje druhou žádost, se kterou přijde hostitelský směrovač USB4 a směrovač na straně zařízení; staví na téhle.

Zdroje

Počítače

Windows Ovladače otevřený zdroj ReactOS USB

← zpět na výpis