Another USB mouse failing to attach with current, post-USB2
Jase Thew
bazerka at beardz.net
Wed May 6 00:48:06 UTC 2009
Hi,
I installed 8.0-CURRENT a few months ago to test it with the hardware in
my machine. Everything worked fine until USB2 replaced USB in the tree,
and upon a rebuild, my Razer Copperhead USB mouse stopped attaching to ums.
I've updated my sources and rebuilt everything around 3 hours ago to
ensure that I'm up-to-date with HEAD. Please find attached the relevant
lines from my verbose dmesg.boot and also usbconfig outputs for the device.
The mouse itself doesn't conform to the HID spec somewhat ( see
usb/118670 [1] for some history ) so it has to rely on the
hid_is_collection test rather than reading the descriptor direct in the
ums probe routine. However, the hid_is_collection test now fails since
USB2 replaced USB. I've tested with my kludge patch from usb/118670 and
the mouse works perfectly with it, so USB2 supports the mouse fine apart
from the hid_is_collection test no longer recognising it.
If any additional info is required, I'll be happy to supply it.
Thanks in advance,
Jase.
[1] http://www.freebsd.org/cgi/query-pr.cgi?pr=usb/118670
-------------- next part --------------
uhci0: <UHCI (generic) USB controller> port 0xd000-0xd01f irq 16 at device 26.0 on pci0
uhci0: Reserved 0x20 bytes for rid 0x20 type 4 at 0xd000
uhci0: [MPSAFE]
uhci0: [ITHREAD]
uhci0: LegSup = 0x0f10
usbus0: <UHCI (generic) USB controller> on uhci0
uhci1: <UHCI (generic) USB controller> port 0xd100-0xd11f irq 21 at device 26.1 on pci0
uhci1: Reserved 0x20 bytes for rid 0x20 type 4 at 0xd100
uhci1: [MPSAFE]
uhci1: [ITHREAD]
uhci1: LegSup = 0x0f10
usbus1: <UHCI (generic) USB controller> on uhci1
uhci2: <UHCI (generic) USB controller> port 0xd500-0xd51f irq 18 at device 26.2 on pci0
uhci2: Reserved 0x20 bytes for rid 0x20 type 4 at 0xd500
uhci2: [MPSAFE]
uhci2: [ITHREAD]
uhci2: LegSup = 0x0f10
usbus2: <UHCI (generic) USB controller> on uhci2
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xea205000-0xea2053ff irq 18 at device 26.7 on pci0
ehci0: Reserved 0x400 bytes for rid 0x10 type 3 at 0xea205000
ehci0: [MPSAFE]
ehci0: [ITHREAD]
usbus3: EHCI version 1.0
usbus3: <EHCI (generic) USB 2.0 controller> on ehci0
uhci3: <UHCI (generic) USB controller> port 0xd200-0xd21f irq 23 at device 29.0 on pci0
uhci3: Reserved 0x20 bytes for rid 0x20 type 4 at 0xd200
uhci3: [MPSAFE]
uhci3: [ITHREAD]
uhci3: LegSup = 0x003a
usbus4: <UHCI (generic) USB controller> on uhci3
uhci4: <UHCI (generic) USB controller> port 0xd300-0xd31f irq 19 at device 29.1 on pci0
uhci4: Reserved 0x20 bytes for rid 0x20 type 4 at 0xd300
uhci4: [MPSAFE]
uhci4: [ITHREAD]
uhci4: LegSup = 0x0010
usbus5: <UHCI (generic) USB controller> on uhci4
uhci5: <UHCI (generic) USB controller> port 0xd400-0xd41f irq 18 at device 29.2 on pci0
uhci5: Reserved 0x20 bytes for rid 0x20 type 4 at 0xd400
uhci5: [MPSAFE]
uhci5: [ITHREAD]
uhci5: LegSup = 0x0010
usbus6: <UHCI (generic) USB controller> on uhci5
ehci1: <EHCI (generic) USB 2.0 controller> mem 0xea204000-0xea2043ff irq 23 at device 29.7 on pci0
ehci1: Reserved 0x400 bytes for rid 0x10 type 3 at 0xea204000
ehci1: [MPSAFE]
ehci1: [ITHREAD]
usbus7: EHCI version 1.0
usbus7: <EHCI (generic) USB 2.0 controller> on ehci1
usbus0: 12Mbps Full Speed USB v1.0
usbus1: 12Mbps Full Speed USB v1.0
usbus2: 12Mbps Full Speed USB v1.0
usbus3: 480Mbps High Speed USB v2.0
usbus4: 12Mbps Full Speed USB v1.0
usbus5: 12Mbps Full Speed USB v1.0
usbus6: 12Mbps Full Speed USB v1.0
usbus7: 480Mbps High Speed USB v2.0
ugen0.1: <Intel> at usbus0
uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ugen1.1: <Intel> at usbus1
uhub1: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1
ugen2.1: <Intel> at usbus2
uhub2: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2
ugen3.1: <Intel> at usbus3
uhub3: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus3
ugen4.1: <Intel> at usbus4
uhub4: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus4
ugen5.1: <Intel> at usbus5
uhub5: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus5
ugen6.1: <Intel> at usbus6
uhub6: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus6
ugen7.1: <Intel> at usbus7
uhub7: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus7
uhub0: 2 ports with 2 removable, self powered
uhub1: 2 ports with 2 removable, self powered
uhub2: 2 ports with 2 removable, self powered
uhub4: 2 ports with 2 removable, self powered
uhub5: 2 ports with 2 removable, self powered
uhub6: 2 ports with 2 removable, self powered
uhub3: 6 ports with 6 removable, self powered
uhub7: 6 ports with 6 removable, self powered
ugen0.2: <Broadcom> at usbus0
uhub8: <Broadcom BCM2046B1, class 9/0, rev 2.00/1.00, addr 2> on usbus0
ugen1.2: <Microsoft> at usbus1
uhid0: <Microsoft product 0x028e, rev 2.00/1.10, addr 2> on usbus1
uhub8: 3 ports with 0 removable, bus powered
ugen2.2: <Razer> at usbus2
uhid1: <Razer Razer Copperhead Laser Mouse, class 0/0, rev 1.10/21.00, addr 2> on usbus2
ukbd0: <Razer Razer Copperhead Laser Mouse, class 0/0, rev 1.10/21.00, addr 2> on usbus2
kbd2 at ukbd0
kbd2: ukbd0, generic (0), config:0x0, flags:0x3d0000
ukbd_set_leds_callback:554: error=USB_ERR_STALLED
ugen0.3: <Broadcom> at usbus0
ukbd1: <Broadcom product 0x4502, class 0/0, rev 2.00/1.00, addr 3> on usbus0
kbd3 at ukbd1
kbd3: ukbd1, generic (0), config:0x0, flags:0x3d0000
ugen0.4: <Broadcom> at usbus0
ums0: <Broadcom product 0x4503, class 0/0, rev 2.00/1.00, addr 4> on usbus0
ums0: 3 buttons and [XY] coordinates ID=2
ugen2.3: <Logitech> at usbus2
uhub9: <Logitech product 0xc223, class 9/0, rev 1.10/1.71, addr 3> on usbus2
ugen0.5: <Broadcom Corp> at usbus0
uhub9: 4 ports with 2 removable, bus powered
ugen2.4: <Logitech> at usbus2
ukbd2: <Logitech Gaming Keyboard, class 0/0, rev 2.00/1.90, addr 4> on usbus2
kbd: new array size 8
kbd4 at ukbd2
kbd4: ukbd2, generic (0), config:0x0, flags:0x3d0000
uhid2: <Logitech Gaming Keyboard, class 0/0, rev 2.00/1.90, addr 4> on usbus2
-------------- next part --------------
sheesh8# usbconfig -u 2 -a 2 do_request 0x81 0x06 0x2200 0 0x100
REQUEST = <0x05 0x01 0x09 0x02 0xa1 0x01 0x09 0x01 0xa1 0x00 0x05
0x09 0x19 0x01 0x29 0x07 0x15 0x00 0x25 0x01 0x95 0x08 0x75 0x01
0x81 0x02 0x06 0x00 0xff 0x09 0x40 0x95 0x02 0x75 0x08 0x15 0x81
0x25 0x7f 0x81 0x02 0x05 0x01 0x09 0x38 0x15 0x81 0x25 0x7f 0x75
0x08 0x95 0x01 0x81 0x06 0x09 0x30 0x09 0x31 0x16 0x00 0x80 0x26
0xff 0x7f 0x75 0x10 0x95 0x02 0x81 0x06 0xc0 0xc0><)%u at u%8%u01&u>
-------------- next part --------------
ugen2.2: <Razer Copperhead Laser Mouse Razer> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0110
bDeviceClass = 0x0000
bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0008
idVendor = 0x1532
idProduct = 0x0101
bcdDevice = 0x2100
iManufacturer = 0x0001 <Razer>
iProduct = 0x0002 <Razer Copperhead Laser Mouse>
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x003b
bNumInterfaces = 0x0002
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x00a0
bMaxPower = 0x0032
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0003
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0002
iInterface = 0x0000 <no string>
Additional Descriptor
bLength = 0x09
bDescriptorType = 0x21
bDescriptorSubType = 0x01
RAW dump:
0x00 | 0x09, 0x21, 0x01, 0x10, 0x00, 0x01, 0x22, 0x49,
0x08 | 0x00
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081
bmAttributes = 0x0003
wMaxPacketSize = 0x0010
bInterval = 0x0001
bRefresh = 0x0000
bSynchAddress = 0x0000
Interface 1
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0001
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0003
bInterfaceSubClass = 0x0001
bInterfaceProtocol = 0x0001
iInterface = 0x0000 <no string>
Additional Descriptor
bLength = 0x09
bDescriptorType = 0x21
bDescriptorSubType = 0x01
RAW dump:
0x00 | 0x09, 0x21, 0x01, 0x10, 0x00, 0x01, 0x22, 0x2f,
0x08 | 0x00
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0082
bmAttributes = 0x0003
wMaxPacketSize = 0x0010
bInterval = 0x0008
bRefresh = 0x0000
bSynchAddress = 0x0000
More information about the freebsd-current
mailing list