Bug 43993

Summary: /usr/sbin/usbd does not handle an usb event with multiple devices
Product: Base System Reporter: Naoyuki Tai <ntai>
Component: binAssignee: freebsd-usb (Nobody) <usb>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff
none
usbd.c.patch none

Description Naoyuki Tai 2002-10-13 04:00:09 UTC
When there is a usb event that consists of multiple devices, the usbd only  handles the first device and ignores the rest.
So, if you connect a USB hub or USB KVM with multiple devices already attached to the hub, to the host, usbd handles only one device and drops the rest.
For example, if a hub is connected to a usb keyboard and mouse, and the hub is then connected to the machine, usbd handles the keyboard or the mouse but not both.

Fix: Following patch to /usr/src/usr.sbin/usbd/usbd.c fixed the problem for me. But, I'm not sure that the patch is neat.
How-To-Repeat: Connect multiple USB devices to a hub. Disconnect and reconnect the hub. If the hub is capable of sending an usb event with multiple devices, the problem appears.
Comment 1 Kris Kennaway freebsd_committer freebsd_triage 2003-07-18 01:31:33 UTC
Responsible Changed
From-To: freebsd-bugs->joe

Assign to USB maintainer
Comment 2 Naoyuki Tai 2004-09-29 07:10:45 UTC
Based on FreeBSD 4.10's usbd.c
Comment 3 joe freebsd_committer freebsd_triage 2004-11-10 10:58:30 UTC
Responsible Changed
From-To: joe->freebsd-usb

Hand this over to the usb mailling list.
Comment 4 Julian Elischer freebsd_committer freebsd_triage 2005-01-04 06:46:16 UTC
State Changed
From-To: open->closed

Apply the supplied patch.