USB keyboard dies after Supermicro BMC reset; xhci(4) endpoint halted

Atanas Vladimirov <[email protected]>
Newsgroups gmane.os.openbsd.bugs
Message-ID <[email protected]>
>Synopsis:	USB keyboard dies after Supermicro BMC reset; xhci(4) endpoint halted
>Category:	kernel
>Environment:
	System      : OpenBSD 8.0
	Details     : OpenBSD 8.0-beta (GENERIC.MP) #108: Sat Aug 22 22:10:43 MDT 2026
			 [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP

	Architecture: OpenBSD.amd64
	Machine     : amd64
>Description:
	On a Supermicro X11SSL-F the USB keyboard and mouse emulated by
	the on-board ASPEED AST2400 BMC stop responding after the BMC is
	reset, and stay dead until the host is rebooted.  wskbd(4) and
	wsmouse(4) receive no further events.  A GENERIC kernel prints
	nothing at all when this happens.

	The same behaviour is present on every release tried, 7.4 through
	-current, and on a Supermicro X10SLL-F as well.  A physical USB
	keyboard on the same xhci0 keeps working; only the BMC-emulated
	HID is affected.

	The controller is:

		xhci0 at pci0 dev 20 function 0 "Intel 100 Series xHCI"
		    rev 0x31: msi, xHCI 1.0

	and the emulated HID normally attaches behind the BMC's own hub:

		uhub1 at uhub0 port 9 "ATEN International product 0x7000"
		uhidev2 at uhub1 port 1 "ATEN International product 0x2419"
		ukbd1 at uhidev2, wskbd2 at ukbd1
		uhidev3 at uhub1 port 1, ums1 at uhidev3

	With a kernel built with "option XHCI_DEBUG" the only diagnostic
	is the HID's interrupt IN endpoint completing with a USB
	Transaction Error:

		xhci0: txerr? code 4

	Per xHCI r1.1 section 4.10.2.6 a USB Transaction Error completion
	leaves the endpoint in the Halted state.  The endpoint context
	stays Halted in hardware until a Reset Endpoint command is
	issued: further doorbell rings are ignored and no transfer event
	is ever posted again.

	xhci_event_xfer_generic() in sys/dev/usb/xhci.c never issues that
	command.  At $OpenBSD: xhci.c,v 1.136 2025/03/01 14:43:03 kirill
	Exp $:

		case XHCI_CODE_TXERR:
		case XHCI_CODE_SPLITERR:
			DPRINTF(("%s: txerr? code %d\n", DEVNAME(sc), code));
			xfer->status = USBD_IOERROR;
			break;

	After the switch the function only does "return (0)", so the
	caller xhci_event_xfer() goes on to call xhci_xfer_done(xfer) and
	usb_transfer_complete().  The transfer is completed with
	USBD_IOERROR, but no Reset Endpoint command is sent and
	xp->halted is never set.  From that point the pipe is dead: the
	stack keeps queueing transfers onto an endpoint the controller
	will not run, and each one is dropped with no indication.

	One further observation, which is why resetting the endpoint
	alone is not sufficient on this hardware: after the BMC reset the
	device does not come back in the same topology.  Instead of the
	low-speed HID behind the ATEN hub it attaches directly to uhub0
	at high speed, and that transient device's interrupt IN endpoint
	keeps failing for several seconds.  With a change that only
	resets the endpoint, the softintr path never converges:

		xhci0: txerr? code 4
		xhci0: xhci_cmd_reset_ep_async dev 4 dci 3
		xhci0: xhci_cmd_set_tr_deq_async dev 4 dci 3
		... forever ...

	Only tearing the port down and re-enumerating it recovers the
	device.
>How-To-Repeat:
	1. Boot an amd64 GENERIC.MP snapshot on a Supermicro X11SSL-F
	   (or X10SLL-F) with the BMC iKVM keyboard and mouse enabled.
           (I beleive that other Supermicro models are affected as well)
	2. Confirm the emulated HID attached, and that ukbd(4)/wskbd(4)
	   and ums(4)/wsmouse(4) claimed it:

		# usbdevs -v

	3. Type on the iKVM keyboard at the console.  Keystrokes arrive.
	4. Reset the BMC - use the Reset button in the BMC web interface.
	5. Wait for the BMC to come back and for the HID to re-attach.
	6. Type on the iKVM keyboard again.  No keystrokes arrive, the
	   emulated mouse is dead as well, and nothing is printed on the
	   console.
	7. Reboot the host.  The keyboard works again.  A BMC-emulated
	   device cannot be unplugged, so this is the only recovery.
	8. To see the completion code, rebuild the kernel with
	   "option XHCI_DEBUG" and repeat steps 3 to 6.  The endpoint
	   reports "xhci0: txerr? code 4" and no transfer on that pipe
	   ever completes afterwards.
>Fix:
	The diff below counts consecutive USB Transaction Errors per pipe
	and lets the TXERR/SPLITERR case fall through into the existing
	STALL/BABBLE recovery, so the halted endpoint is always reset.
	Past XHCI_TXERR_RETRIES it additionally calls
	usb_needs_reattach(), so the hub explore task re-enumerates the
	device instead of the pipe retrying forever.  Because
	code != XHCI_CODE_STALL on the fallthrough it lands on
	xp->halted = USBD_IOERROR, and it inherits the timeout_del(),
	usb_rem_task(), xp->aborted_xfer assignment and the completion
	chain unchanged.

Index: sys/dev/usb/xhci.c
===================================================================
--- sys/dev/usb/xhci.c
+++ sys/dev/usb/xhci.c
@@ -70,6 +70,7 @@ struct xhci_pipe {
 	struct usbd_xfer	*pending_xfers[XHCI_MAX_XFER];
 	struct usbd_xfer	*aborted_xfer;
 	int			 halted;
+	u_int			 txerr_count;
 	size_t			 free_trbs;
 	int			 skip;
 #define TRB_PROCESSED_NO	0
@@ -78,6 +79,8 @@ struct xhci_pipe {
 	uint8_t			 trb_processed[XHCI_MAX_XFER];
 };
 
+#define XHCI_TXERR_RETRIES	3
+
 int	xhci_reset(struct xhci_softc *);
 void	xhci_suspend(struct xhci_softc *);
 int	xhci_intr1(struct xhci_softc *);
@@ -953,6 +956,7 @@ xhci_event_xfer_generic(struct xhci_softc *sc, struct usbd_xfer *xfer,
 			    usbd_xfer_isread(xfer) ?
 			    BUS_DMASYNC_POSTREAD : BUS_DMASYNC_POSTWRITE);
 		xfer->status = USBD_NORMAL_COMPLETION;
+		xp->txerr_count = 0;
 		break;
 	case XHCI_CODE_SHORT_XFER:
 		/*
@@ -977,12 +981,22 @@ xhci_event_xfer_generic(struct xhci_softc *sc, struct usbd_xfer *xfer,
 			    usbd_xfer_isread(xfer) ?
 			    BUS_DMASYNC_POSTREAD : BUS_DMASYNC_POSTWRITE);
 		xfer->status = USBD_NORMAL_COMPLETION;
+		xp->txerr_count = 0;
 		break;
 	case XHCI_CODE_TXERR:
 	case XHCI_CODE_SPLITERR:
 		DPRINTF(("%s: txerr? code %d\n", DEVNAME(sc), code));
-		xfer->status = USBD_IOERROR;
-		break;
+		/*
+		 * A USB Transaction Error leaves the endpoint Halted
+		 * (xHCI r1.1 4.10.2.6), so reset it like a STALL to
+		 * let the stack restart the pipe on a clean endpoint.
+		 * If the endpoint keeps failing, additionally ask the
+		 * hub to re-enumerate the device instead of retrying
+		 * forever.
+		 */
+		if (++xp->txerr_count > XHCI_TXERR_RETRIES)
+			usb_needs_reattach(xfer->device);
+		/* FALLTHROUGH */
 	case XHCI_CODE_STALL:
 	case XHCI_CODE_BABBLE:
 		DPRINTF(("%s: babble code %d\n", DEVNAME(sc), code));
@@ -1623,6 +1637,7 @@ xhci_pipe_init(struct xhci_softc *sc, struct usbd_pipe *pipe)
 
 	xp->free_trbs = xp->ring.ntrb;
 	xp->halted = 0;
+	xp->txerr_count = 0;
 
 	sdev->pipes[xp->dci - 1] = xp;

dmesg:
OpenBSD 8.0-beta (GENERIC.MP) #108: Sat Aug 22 22:10:43 MDT 2026
    [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 34154913792 (32572MB)
avail mem = 33093718016 (31560MB)
random: good seed from bootblocks
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 3.0 @ 0x7fb76000 (62 entries)
bios0: vendor American Megatrends Inc. version "3.6" date 04/25/2025
bios0: Supermicro Super Server
efi0 at bios0: UEFI 2.4
efi0: American Megatrends rev 0x5000b
acpi0 at bios0: ACPI 5.0
acpi0: sleep states S0 S4 S5
acpi0: tables DSDT FACP APIC FPDT FIDT SPMI SLIC MCFG HPET LPIT SSDT SSDT SSDT DBGP DBG2 SSDT SSDT UEFI SSDT DMAR BGRT
acpi0: wakeup devices PEG0(S4) PEGP(S4) PEG1(S4) PEGP(S4) PEG2(S4) PEGP(S4) RP09(S4) PXSX(S4) RP10(S4) PXSX(S4) RP11(S4) PXSX(S4) RP12(S4) PXSX(S4) RP13(S4) PXSX(S4) [...]
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Xeon(R) CPU E3-1220 v6 @ 3.00GHz, 3000.01 MHz, 06-9e-09, patch 000000fa
cpu0: cpuid 1 edx=bfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> ecx=77fafbff<SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND>
cpu0: cpuid 6 eax=27f7<SENSOR,ARAT,PTS> ecx=9<EFFFREQ>
cpu0: cpuid 7.0 ebx=29c6fbf<FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT> edx=bc002e00<SRBDS_CTRL,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD>
cpu0: cpuid a vers=4, gp=8, gpwidth=48, ff=3, ffwidth=48
cpu0: cpuid d.1 eax=f<XSAVEOPT,XSAVEC,XGETBV1,XSAVES>
cpu0: cpuid 80000001 edx=2c100800<NXE,PAGE1GB,RDTSCP,LONG> ecx=121<LAHF,ABM,3DNOWP>
cpu0: cpuid 80000007 edx=100<ITSC>
cpu0: msr 10a=a000c04<RSBA,MISC_PKG_CT,ENERGY_FILT,GDS_CTRL,RFDS_NO>
cpu0: MELTDOWN
cpu0: 32KB 64b/line 8-way D-cache, 32KB 64b/line 8-way I-cache, 256KB 64b/line 4-way L2 cache, 8MB 64b/line 16-way L3 cache
cpu0: smt 0, core 0, package 0, type P
mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
cpu0: apic clock running at 24MHz
cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1, IBE
cpu1 at mainbus0: apid 2 (application processor)
cpu1: Intel(R) Xeon(R) CPU E3-1220 v6 @ 3.00GHz, 3000.00 MHz, 06-9e-09, patch 000000fa
cpu1: smt 0, core 1, package 0, type P
cpu2 at mainbus0: apid 4 (application processor)
cpu2: Intel(R) Xeon(R) CPU E3-1220 v6 @ 3.00GHz, 3000.00 MHz, 06-9e-09, patch 000000fa
cpu2: smt 0, core 2, package 0, type P
cpu3 at mainbus0: apid 6 (application processor)
cpu3: Intel(R) Xeon(R) CPU E3-1220 v6 @ 3.00GHz, 3000.00 MHz, 06-9e-09, patch 000000fa
cpu3: smt 0, core 3, package 0, type P
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins
acpimcfg0 at acpi0
acpimcfg0: addr 0xe0000000, bus 0-255
acpihpet0 at acpi0: 23999999 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (PEG0)
acpiprt2 at acpi0: bus 2 (PEG1)
acpiprt3 at acpi0: bus -1 (PEG2)
acpiprt4 at acpi0: bus 6 (RP09)
acpiprt5 at acpi0: bus 7 (RP10)
acpiprt6 at acpi0: bus 8 (RP11)
acpiprt7 at acpi0: bus 9 (BR51)
acpiprt8 at acpi0: bus -1 (RP12)
acpiprt9 at acpi0: bus -1 (RP13)
acpiprt10 at acpi0: bus -1 (RP01)
acpiprt11 at acpi0: bus -1 (RP05)
acpiprt12 at acpi0: bus -1 (RP17)
acpiprt13 at acpi0: bus -1 (RP18)
acpiprt14 at acpi0: bus -1 (RP19)
acpiprt15 at acpi0: bus -1 (RP20)
acpiprt16 at acpi0: bus -1 (RP14)
acpiprt17 at acpi0: bus -1 (RP15)
acpiprt18 at acpi0: bus -1 (RP16)
acpiec0 at acpi0: not present
acpipci0 at acpi0 PCI0: 0x00000000 0x00000011 0x00000001
com0 at acpi0 UAR1 addr 0x3f8/0x8 irq 4: ns16550a, 16 byte fifo
com1 at acpi0 UAR2 addr 0x2f8/0x8 irq 3: ns16550a, 16 byte fifo
com1: console
acpicmos0 at acpi0
"IPI0001" at acpi0 not configured
"INT0E0C" at acpi0 not configured
acpibtn0 at acpi0: SLPB
intelpmc0 at acpi0: PEPD
state 0: 0x7f:1:2:0x00:0x0000000000000060
counter: 0x7f:64:0:0x00:0x0000000000000632
frequency: 0
state 1: 0x7f:1:2:0x00:0x0000000000000060
counter: 0x7f:64:0:0x00:0x0000000000000632
frequency: 0
acpibtn1 at acpi0: PWRB
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
acpicpu0 at acpi0: C3(200@256 mwait.1@0x40), C2(200@151 mwait.1@0x33), C1(1000@1 mwait.1), PSS
acpicpu1 at acpi0: C3(200@256 mwait.1@0x40), C2(200@151 mwait.1@0x33), C1(1000@1 mwait.1), PSS
acpicpu2 at acpi0: C3(200@256 mwait.1@0x40), C2(200@151 mwait.1@0x33), C1(1000@1 mwait.1), PSS
acpicpu3 at acpi0: C3(200@256 mwait.1@0x40), C2(200@151 mwait.1@0x33), C1(1000@1 mwait.1), PSS
acpipwrres0 at acpi0: PG00, resource for PEG0
acpipwrres1 at acpi0: PG01, resource for PEG1
acpipwrres2 at acpi0: PG02, resource for PEG2
acpipwrres3 at acpi0: WRST
acpipwrres4 at acpi0: WRST
acpipwrres5 at acpi0: WRST
acpipwrres6 at acpi0: WRST
acpipwrres7 at acpi0: WRST
acpipwrres8 at acpi0: WRST
acpipwrres9 at acpi0: WRST
acpipwrres10 at acpi0: WRST
acpipwrres11 at acpi0: WRST
acpipwrres12 at acpi0: WRST
acpipwrres13 at acpi0: WRST
acpipwrres14 at acpi0: WRST
acpipwrres15 at acpi0: WRST
acpipwrres16 at acpi0: WRST
acpipwrres17 at acpi0: WRST
acpipwrres18 at acpi0: WRST
acpipwrres19 at acpi0: WRST
acpipwrres20 at acpi0: WRST
acpipwrres21 at acpi0: WRST
acpipwrres22 at acpi0: WRST
acpipwrres23 at acpi0: FN00, resource for FAN0
acpipwrres24 at acpi0: FN01, resource for FAN1
acpipwrres25 at acpi0: FN02, resource for FAN2
acpipwrres26 at acpi0: FN03, resource for FAN3
acpipwrres27 at acpi0: FN04, resource for FAN4
acpitz0 at acpi0
acpitz0: critical temperature is 119 degC
acpitz1 at acpi0
acpitz1: critical temperature is 119 degC
acpivideo0 at acpi0: GFX0
acpivout0 at acpivideo0: DD1F
ipmi at mainbus0 not configured
cpu0: using VERW MDS workaround (except on vmm entry)
cpu0: Enhanced SpeedStep 3000 MHz: speeds: 3001, 3000, 2800, 2700, 2500, 2400, 2200, 2100, 1900, 1700, 1600, 1400, 1300, 1100, 1000, 800 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel Xeon E3-1200 v6/7 Host" rev 0x05
ppb0 at pci0 dev 1 function 0 "Intel Core 6G PCIE" rev 0x05: msi
pci1 at ppb0 bus 1
ix0 at pci1 dev 0 function 0 "Intel 82599" rev 0x01, msix, 4 queues, address 90:e2:ba:f3:2e:1c
ix1 at pci1 dev 0 function 1 "Intel 82599" rev 0x01, msix, 4 queues, address 90:e2:ba:f3:2e:1d
ppb1 at pci0 dev 1 function 1 "Intel Core 6G PCIE" rev 0x05: msi
pci2 at ppb1 bus 2
ppb2 at pci2 dev 0 function 0 "IDT 89HPES12N3A" rev 0x0e
pci3 at ppb2 bus 3
ppb3 at pci3 dev 2 function 0 "IDT 89HPES12N3A" rev 0x0e
pci4 at ppb3 bus 4
em0 at pci4 dev 0 function 0 "Intel 82571EB" rev 0x06: apic 2 int 16, address 00:15:17:bc:a9:65
em1 at pci4 dev 0 function 1 "Intel 82571EB" rev 0x06: apic 2 int 19, address 00:15:17:bc:a9:64
ppb4 at pci3 dev 4 function 0 "IDT 89HPES12N3A" rev 0x0e
pci5 at ppb4 bus 5
em2 at pci5 dev 0 function 0 "Intel 82571EB" rev 0x06: apic 2 int 18, address 00:15:17:bc:a9:67
em3 at pci5 dev 0 function 1 "Intel 82571EB" rev 0x06: apic 2 int 17, address 00:15:17:bc:a9:66
"Intel 100 Series ISH" rev 0x31 at pci0 dev 19 function 0 not configured
xhci0 at pci0 dev 20 function 0 "Intel 100 Series xHCI" rev 0x31: msi, xHCI 1.0
usb0 at xhci0: USB revision 3.0
uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1
pchtemp0 at pci0 dev 20 function 2 "Intel 100 Series Thermal" rev 0x31
"Intel 100 Series MEI" rev 0x31 at pci0 dev 22 function 0 not configured
ahci0 at pci0 dev 23 function 0 "Intel 100 Series AHCI" rev 0x31: msi, AHCI 1.3.1
ahci0: port 0: 6.0Gb/s
ahci0: port 1: 6.0Gb/s
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 0 lun 0: <ATA, SAMSUNG MZ7L33T8, JXTC> naa.5002538f02212827
sd0: 3662830MB, 512 bytes/sector, 7501476528 sectors, thin
sd1 at scsibus1 targ 1 lun 0: <ATA, SAMSUNG MZ7LM3T8, GXT5> naa.5002538c407c5ab3
sd1: 3662830MB, 512 bytes/sector, 7501476528 sectors, thin
ppb5 at pci0 dev 29 function 0 "Intel 100 Series PCIE" rev 0xf1: msi
pci6 at ppb5 bus 6
em4 at pci6 dev 0 function 0 "Intel I210" rev 0x03: msi, address ac:1f:6b:96:83:30
ppb6 at pci0 dev 29 function 1 "Intel 100 Series PCIE" rev 0xf1: msi
pci7 at ppb6 bus 7
em5 at pci7 dev 0 function 0 "Intel I210" rev 0x03: msi, address ac:1f:6b:96:83:31
ppb7 at pci0 dev 29 function 2 "Intel 100 Series PCIE" rev 0xf1: msi
pci8 at ppb7 bus 8
ppb8 at pci8 dev 0 function 0 "ASPEED Technology AST1150 PCI" rev 0x03
pci9 at ppb8 bus 9
"ASPEED Technology AST2000" rev 0x30 at pci9 dev 0 function 0 not configured
pcib0 at pci0 dev 31 function 0 "Intel C232 LPC" rev 0x31
"Intel 100 Series PMC" rev 0x31 at pci0 dev 31 function 2 not configured
ichiic0 at pci0 dev 31 function 4 "Intel 100 Series SMBus" rev 0x31: apic 2 int 16
iic0 at ichiic0
iic0: addr 0x19 00=00 01=00 02=04 03=00 04=06 05=02 06=1c 07=22 08=00 words 00=00ef 01=000d 02=04b0 03=0000 04=0610 05=0268 06=1c85 07=2221
iic0: addr 0x1b 00=00 01=00 02=04 03=00 04=06 05=02 06=1c 07=22 08=00 words 00=00ef 01=000d 02=04b0 03=0000 04=0610 05=0268 06=1c85 07=2221
spdmem0 at iic0 addr 0x51: 16GB DDR4 SDRAM ECC PC4-25600 with thermal sensor
spdmem1 at iic0 addr 0x53: 16GB DDR4 SDRAM ECC PC4-25600 with thermal sensor
isa0 at pcib0
isadma0 at isa0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
vmm0 at mainbus0: VMX/EPT
efifb0 at mainbus0: 1024x768, 32bpp
wsdisplay0 at efifb0 mux 1
wsdisplay0: screen 0-5 added (std, vt100 emulation)
enable mbufs in high memory
uplcom0 at uhub0 port 6 configuration 1 interface 0 "Prolific Technology Inc. USB-Serial Controller" rev 1.10/3.00 addr 2
ucom0 at uplcom0: usb0.0.00006.0
uhidev0 at uhub0 port 8 configuration 1 interface 0 "Logitech USB Receiver" rev 2.00/29.00 addr 3
uhidev0: iclass 3/1
ukbd0 at uhidev0: 8 variable keys, 6 key codes
wskbd0 at ukbd0 mux 1
wskbd0: connecting to wsdisplay0
uhidev1 at uhub0 port 8 configuration 1 interface 1 "Logitech USB Receiver" rev 2.00/29.00 addr 3
uhidev1: iclass 3/1, 17 report ids
uhidpp0 at uhidev1 device 1 keyboard " ", device 2 mouse ""
ums0 at uhidev1 reportid 2: 16 buttons, Z and W dir
wsmouse0 at ums0 mux 0
ucc0 at uhidev1 reportid 3: 652 usages, 20 keys, array
wskbd1 at ucc0 mux 1
wskbd1: connecting to wsdisplay0
uhid0 at uhidev1 reportid 4: input=1, output=0, feature=0
uhub1 at uhub0 port 9 configuration 1 interface 0 "ATEN International product 0x7000" rev 2.00/0.00 addr 4
uhidev2 at uhub1 port 1 configuration 1 interface 0 "ATEN International product 0x2419" rev 1.10/1.00 addr 5
uhidev2: iclass 3/1
ukbd1 at uhidev2: 8 variable keys, 6 key codes
wskbd2 at ukbd1 mux 1
wskbd2: connecting to wsdisplay0
uhidev3 at uhub1 port 1 configuration 1 interface 1 "ATEN International product 0x2419" rev 1.10/1.00 addr 5
uhidev3: iclass 3/1
ums1 at uhidev3: 3 buttons, Z dir
wsmouse1 at ums1 mux 0
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
sd2 at scsibus3 targ 1 lun 0: <OPENBSD, SR RAID 1, 006>
sd2: 953869MB, 512 bytes/sector, 1953524576 sectors
sd3 at scsibus3 targ 2 lun 0: <OPENBSD, SR RAID 1, 006>
sd3: 953869MB, 512 bytes/sector, 1953524576 sectors
sd4 at scsibus3 targ 3 lun 0: <OPENBSD, SR RAID 1, 006>
sd4: 915714MB, 512 bytes/sector, 1875383423 sectors
root on sd4a (22c9e9d08ea8ad79.a) swap on sd4b dump on sd4b

usbdevs:
Controller /dev/usb0:
addr 01: 8086:0000 Intel, xHCI root hub
	 super speed, self powered, config 1, rev 1.00
	 driver: uhub0
addr 02: 0557:2008 Prolific Technology Inc., USB-Serial Controller
	 full speed, power 100 mA, config 1, rev 3.00
	 driver: uplcom0
addr 03: 046d:c534 Logitech, USB Receiver
	 full speed, power 98 mA, config 1, rev 29.00
	 driver: uhidev0
	 driver: uhidev1
addr 04: 0557:7000 ATEN International, product 0x7000
	 high speed, self powered, config 1, rev 0.00
	 driver: uhub1
addr 05: 0557:2419 ATEN International, product 0x2419
	 low speed, power 160 mA, config 1, rev 1.00
	 driver: uhidev2
	 driver: uhidev3
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.