system freeze with hub
Alexander Best
alexbestms at wwu.de
Wed Feb 3 17:43:33 UTC 2010
hi there. sometimes my complete system freezes when attaching a certain umass
device over the hub integrated in my tft. the only option left is to do a hard
reset. no core dump is being produced.
this is what gets printed out before the reset:
Feb 3 18:12:13 otaku root: Unknown USB device: vendor 0x0492 product 0x0140
bus uhub8
Feb 3 18:12:13 otaku kernel: ugen3.3: <Meizu Electronics> at usbus3
Feb 3 18:12:13 otaku kernel: umass0: <Meizu Electronics MiniPlayer, class
0/0, rev 2.00/1.00, addr 3> on usbus3
Feb 3 18:12:13 otaku kernel: umass0: SCSI over Bulk-Only; quirks = 0x4400
Feb 3 18:12:19 otaku kernel: umass0: Get Max Lun not supported
(USB_ERR_TIMEOUT)
Feb 3 18:12:20 otaku kernel: umass0:9:0:-1: Attached to scbus9
Feb 3 18:12:20 otaku kernel: ugen3.3: <Meizu Electronics> at usbus3
(disconnected)
Feb 3 18:12:20 otaku kernel: umass0: at uhub8, port 3, addr 3 (disconnected)
Feb 3 18:12:20 otaku kernel: (probe0:umass-sim0:0:0:0): AutoSense failed
Feb 3 18:12:20 otaku kernel: (da0:umass-sim0:0:0:0): lost device
Feb 3 18:12:20 otaku kernel: (da0:umass-sim0:0:0:0): got CAM status 0xa
Feb 3 18:12:20 otaku kernel: (da0:umass-sim0:0:0:0): fatal error, failed to
attach to device
Feb 3 18:12:20 otaku kernel: (da0:umass-sim0:0:0:0): removing device entry
Feb 3 18:12:22 otaku kernel: uhub_reattach_port: giving up port reset -
device vanished
Feb 3 18:12:24 otaku last message repeated 2 times
Feb 3 18:12:25 otaku root: Unknown USB device: vendor 0x0492 product 0x0140
bus uhub8
Feb 3 18:12:25 otaku kernel: ugen3.3: <Meizu Electronics> at usbus3
Feb 3 18:12:25 otaku kernel: umass0: <Meizu Electronics MiniPlayer, class
0/0, rev 2.00/1.00, addr 3> on usbus3
Feb 3 18:12:25 otaku kernel: umass0: SCSI over Bulk-Only; quirks = 0x4400
Feb 3 18:12:30 otaku kernel: umass0: Get Max Lun not supported
(USB_ERR_TIMEOUT)
funny thing is that the device should be known since the vendor and device id
are in sys/dev/usb/usbdevs.
i'm running CURRENT/amd64 (r203410).
after a hard reset i tried reattaching the device to the hub and got no system
freeze, but the device didn't attach properly. this is what gets printed:
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
ugen3.3: <Meizu Electronics> at usbus3
umass0: <Meizu Electronics MiniPlayer, class 0/0, rev 2.00/1.00, addr 3> on
usbus3
umass0: SCSI over Bulk-Only; quirks = 0x4400
umass0: Get Max Lun not supported (USB_ERR_TIMEOUT)
umass0:9:0:-1: Attached to scbus9
ugen3.3: <Meizu Electronics> at usbus3 (disconnected)
umass0: at uhub8, port 3, addr 3 (disconnected)
(probe0:umass-sim0:0:0:0): AutoSense failed
(da0:umass-sim0:0:0:0): lost device
(da0:umass-sim0:0:0:0): got CAM status 0xa
(da0:umass-sim0:0:0:0): fatal error, failed to attach to device
(da0:umass-sim0:0:0:0): removing device entry
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
ugen3.3: <Meizu Electronics> at usbus3
umass0: <Meizu Electronics MiniPlayer, class 0/0, rev 2.00/1.00, addr 3> on
usbus3
umass0: SCSI over Bulk-Only; quirks = 0x4400
umass0: Get Max Lun not supported (USB_ERR_TIMEOUT)
umass0:9:0:-1: Attached to scbus9
ugen3.3: <Meizu Electronics> at usbus3 (disconnected)
umass0: at uhub8, port 3, addr 3 (disconnected)
(probe0:umass-sim0:0:0:0): AutoSense failed
(da0:umass-sim0:0:0:0): lost device
(da0:umass-sim0:0:0:0): got CAM status 0xa
(da0:umass-sim0:0:0:0): fatal error, failed to attach to device
(da0:umass-sim0:0:0:0): removing device entry
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
uhub_reattach_port: giving up port reset - device vanished
i guess this would have continued forever if i hadn't removed the device.
attaching the device to a usb port directly causes no problem at all:
ugen3.3: <Meizu Electronics> at usbus3
umass0: <Meizu Electronics MiniPlayer, class 0/0, rev 2.00/1.00, addr 3> on
usbus3
umass0: SCSI over Bulk-Only; quirks = 0x4400
umass0:9:0:-1: Attached to scbus9
da0 at umass-sim0 bus 0 scbus9 target 0 lun 0
da0: < > Removable Direct Access SCSI-2 device
da0: 40.000MB/s transfers
da0: 3864MB (7913472 512 byte sectors: 255H 63S/T 492C)
mounting the device and doing i/o works great:
mount /mnt/umass
dd if=/dev/zero of=/mnt/umass/test bs=1m count=100
100+0 records in
100+0 records out
104857600 bytes transferred in 15.036132 secs (6973708 bytes/sec)
umount /mnt/umass && mount /mnt/umass
dd if=/mnt/umass/test of=/dev/null bs=1m
100+0 records in
100+0 records out
104857600 bytes transferred in 15.910895 secs (6590302 bytes/sec)
since i have dpms enabled for my tft it enters various standby stages to save
energy. maybe this is affecting the integrated hub?
attached you'll find the output of `usbconfig dump_all_config_desc`.
cheers.
alex
-------------- next part --------------
ugen0.1: <UHCI root HUB Intel> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x0019
bNumInterfaces = 0x0001
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x0040
bMaxPower = 0x0000
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0009
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0000
iInterface = 0x0000 <no string>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0008
bInterval = 0x00ff
bRefresh = 0x0000
bSynchAddress = 0x0000
ugen1.1: <UHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x0019
bNumInterfaces = 0x0001
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x0040
bMaxPower = 0x0000
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0009
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0000
iInterface = 0x0000 <no string>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0008
bInterval = 0x00ff
bRefresh = 0x0000
bSynchAddress = 0x0000
ugen2.1: <UHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x0019
bNumInterfaces = 0x0001
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x0040
bMaxPower = 0x0000
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0009
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0000
iInterface = 0x0000 <no string>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0008
bInterval = 0x00ff
bRefresh = 0x0000
bSynchAddress = 0x0000
ugen3.1: <EHCI root HUB Intel> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x0019
bNumInterfaces = 0x0001
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x0040
bMaxPower = 0x0000
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0009
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0000
iInterface = 0x0000 <no string>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0008
bInterval = 0x00ff
bRefresh = 0x0000
bSynchAddress = 0x0000
ugen4.1: <UHCI root HUB Intel> at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x0019
bNumInterfaces = 0x0001
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x0040
bMaxPower = 0x0000
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0009
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0000
iInterface = 0x0000 <no string>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0008
bInterval = 0x00ff
bRefresh = 0x0000
bSynchAddress = 0x0000
ugen5.1: <UHCI root HUB Intel> at usbus5, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x0019
bNumInterfaces = 0x0001
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x0040
bMaxPower = 0x0000
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0009
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0000
iInterface = 0x0000 <no string>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0008
bInterval = 0x00ff
bRefresh = 0x0000
bSynchAddress = 0x0000
ugen6.1: <UHCI root HUB Intel> at usbus6, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x0019
bNumInterfaces = 0x0001
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x0040
bMaxPower = 0x0000
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0009
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0000
iInterface = 0x0000 <no string>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0008
bInterval = 0x00ff
bRefresh = 0x0000
bSynchAddress = 0x0000
ugen7.1: <EHCI root HUB Intel> at usbus7, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x0019
bNumInterfaces = 0x0001
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x0040
bMaxPower = 0x0000
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0009
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0000
iInterface = 0x0000 <no string>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0008
bInterval = 0x00ff
bRefresh = 0x0000
bSynchAddress = 0x0000
ugen3.2: <product 0x2514 vendor 0x0424> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x0029
bNumInterfaces = 0x0001
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x00e0
bMaxPower = 0x0001
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0009
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0001
iInterface = 0x0000 <no string>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0001
bInterval = 0x000c
bRefresh = 0x0000
bSynchAddress = 0x0000
Interface 0 Alt 1
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0001
bNumEndpoints = 0x0001
bInterfaceClass = 0x0009
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0002
iInterface = 0x0000 <no string>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0001
bInterval = 0x000c
bRefresh = 0x0000
bSynchAddress = 0x0000
ugen0.2: <Razer 1600dpi Mouse Razer> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x0022
bNumInterfaces = 0x0001
bConfigurationValue = 0x0001
iConfiguration = 0x0003 <HID-compliant mouse>
bmAttributes = 0x00a0
bMaxPower = 0x0032
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0003
bInterfaceSubClass = 0x0001
bInterfaceProtocol = 0x0002
iInterface = 0x0000 <no string>
Additional Descriptor
bLength = 0x09
bDescriptorType = 0x21
bDescriptorSubType = 0x10
RAW dump:
0x00 | 0x09, 0x21, 0x10, 0x01, 0x00, 0x01, 0x22, 0x4f,
0x08 | 0x00
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0008
bInterval = 0x000a
bRefresh = 0x0000
bSynchAddress = 0x0000
ugen0.3: <Dell USB Keyboard Dell> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x0022
bNumInterfaces = 0x0001
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x00a0
bMaxPower = 0x0023
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0003
bInterfaceSubClass = 0x0001
bInterfaceProtocol = 0x0001
iInterface = 0x0000 <no string>
Additional Descriptor
bLength = 0x09
bDescriptorType = 0x21
bDescriptorSubType = 0x10
RAW dump:
0x00 | 0x09, 0x21, 0x10, 0x01, 0x00, 0x01, 0x22, 0x41,
0x08 | 0x00
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0008
bInterval = 0x0018
bRefresh = 0x0000
bSynchAddress = 0x0000
ugen3.3: <MiniPlayer Meizu Electronics> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x0020
bNumInterfaces = 0x0001
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x0080
bMaxPower = 0x0032
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0002
bInterfaceClass = 0x0008
bInterfaceSubClass = 0x0006
bInterfaceProtocol = 0x0050
iInterface = 0x0000 <no string>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0002 <BULK>
wMaxPacketSize = 0x0200
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0002 <OUT>
bmAttributes = 0x0002 <BULK>
wMaxPacketSize = 0x0200
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
More information about the freebsd-usb
mailing list