RayeR

CZ, 02.09.2026, 17:56 |
USB XHCI opensource driver for Win98/2k (Announce) |
Interesting how old Win9x still receives better and better support recently (NVME and HDA driver, GPT support, modern CPU patches...) and now it gets USB 3.0 XHCI: https://github.com/yeokm1/xhci98
Maybe it could be used as starting point to upgrade USB drivers also for DOS... --- DOS gives me freedom to unlimited HW access. |
Japheth

Germany (South), 04.09.2026, 13:57
@ RayeR
|
USB XHCI opensource driver for Win98/2k |
> Maybe it could be used as starting point to upgrade USB drivers also for
> DOS...
If it were a VxD it could perhaps "easily" be ported to a Jemm JLM. But it's a WDM and - more severe - it depends on another driver ( usbport.sys ); IMO this makes it uninteresting for DOS. --- MS-DOS forever! |
RayeR

CZ, 07.09.2026, 20:05
@ Japheth
|
USB XHCI opensource driver for Win98/2k |
Yes, I read project full info later and it is only the low level part of usb stack handling the xhci specific hw. But maybe still usefull to combine in Bret's dos usb driver... --- DOS gives me freedom to unlimited HW access. |
RayeR

CZ, 08.09.2026, 06:18
@ RayeR
|
USB XHCI opensource driver for Win98/2k |
BTW the driver package also contains a small DOS utility XHCIQUAL.EXE that probes for XHCI and checks if it's usable and print some interesting info:
XHCIQUAL 1.0.0.1 (build Sep 2 2026 22:52:22) - Win98/Win2000 USB qualification
Mode: FULL (active bring-up tests)
Families: xHCI
Found 1 selected USB host controller(s).
Running active tests on xHCI 1106:3483...
C1 handoff: PASS BIOS released in <= 0 ms
C2 reset: PASS HCRST+CNR in 1 ms
C3 DMA: PASS No-Op completion in 1 ms
C4 IRQ: PASS one-shot ISR fired on IRQ 3 (level per ELCR) (ISR count 1)
C6: port 1 connect (PORTSC=400202E1), resetting...
C6: port 1 reset ok in 1 ms, High-Speed (480 Mb/s)
C6 ports: PASS 1 connect(s), 1 reset(s) ok, 2 port event(s)
C8: port 1 slot 1 addr 1: 2109:3431 "USB2.0 Hub"
==== Controller 03:00.0 - 1106:3483 rev 01 ====
quirks: none known for this VID/DID
PCI: cmd=0006 (MSE=1 BME=1 INTxDis=0) pin=INTA# line=IRQ 3
PCI subsys: 1106:3483
PCI caps: PM=1 MSI=1(en=0) MSI-X=0 PCIe=1
PCI PM: v3 state=D0 D1=0 D2=0 PME_En=0 PME_Status=0
PME_Support: D0, D3cold
NoSoftRst=0 - resets on D3hot->D0; resume must reinitialise
-- More -- (any key, ESC = no more pauses) --
flags: DSI=0 PMEClk=0 Aux=375mA
raw: PMC=89C3 PMCSR=0000
BAR0: FBDFF000 64-bit (raw lo=FBDFF004 hi=00000000)
HCIVERSION 1.00 CAPLENGTH 32 ContextSize 32 AC64=1 PPC=1
MaxSlots 32 MaxIntrs 4 MaxPorts 5 Scratchpad 31 PAGESIZE 00000001
HCCPARAMS2 00000000 FSC=0 U3C=0 CMC=0 (FSC=0: suspend/resume re-enumerates)
USBLEGSUP: present
Protocol USB 2.0: ports 1-1, slot type 0, PSIC 1
Protocol USB 3.0: ports 2-5, slot type 0, PSIC 1
Port map:
port 1: USB2-only (managed)
port 2: USB3 orphan (unmanaged)
port 3: USB3 orphan (unmanaged)
port 4: USB3 orphan (unmanaged)
port 5: USB3 orphan (unmanaged)
--- Tier C results ---
C1 handoff: PASS BIOS released in <= 0 ms
C2 reset: PASS HCRST+CNR in 1 ms
C3 DMA: PASS No-Op completion in 1 ms
C4 IRQ: PASS one-shot ISR fired on IRQ 3 (level per ELCR) (ISR count 1)
C6 ports: PASS 1 connect(s), 1 reset(s) ok, 2 port event(s)
C8 devices: PASS 1 of 1 device(s) identified (informational)
port 1: 2109:3431 rev 4.20 USB 2.10 High-Speed (480 Mb/s) addr 1 MPS0 6-- More -- (any key, ESC = no more pauses) --
4
class 09/00/01 (Hub) 1 iface(s), first 09/00/00 (Hub)
"" "USB2.0 Hub"
FACT id=1106:3483 rev=01 bar=FBDFF000 irq=3 pin=1 hciver=0100 csz=32 ac64=1 ppc=1 slots=32 intrs=4 ports=5 scratch=31 usb2ports=1 legsup=1 hcc2=00000000 fsc=0
DEV port=1 speed=3 vid=2109 pid=3431 class=09.00.01 iface=09.00.00 mps0=64
---- Verdict for 1106:3483 ----
==> CONTROLLER QUALIFIED for cross-target driver development
--- DOS gives me freedom to unlimited HW access. |