USB_ERR_IOERROR on cold boot, not warm boot
Hans Petter Selasky
hselasky at c2i.net
Sat Sep 5 07:05:17 UTC 2009
On Friday 04 September 2009 21:21:41 Mike Tancsa wrote:
> Not sure if this is a faulty device or just a quirk as to how it
> works. But on cold boot (after a power cycle) it does not work. But
> if I do a soft reboot, it attaches no problem
>
> Here is the diff on the boot verbose on the the cold boot vs warm boot
>
> # diff -u bad.txt good.txt | egrep "^\+|^\-"
> -usb_alloc_device:1586: set address 2 failed (USB_ERR_IOERROR, ignored)
> -usb_alloc_device:1624: getting device descriptor at addr 2 failed,
> USB_ERR_IOERROR!
> -usbd_req_re_enumerate:1539: addr=2, set address failed!
> (USB_ERR_IOERROR, ignored)
> -usbd_req_re_enumerate:1553: getting device descriptor at addr 2
> failed, USB_ERR_IOERROR!
> -usbd_req_re_enumerate:1539: addr=2, set address failed!
> (USB_ERR_IOERROR, ignored)
> -usbd_req_re_enumerate:1553: getting device descriptor at addr 2
> failed, USB_ERR_IOERROR!
> -ugen0.2: <(null)> at usbus0 (disconnected)
> -uhub_reattach_port:435: could not allocate new device!
> -ct_to_ts([2000-01-01 00:01:51]) = 946684911.000000000
> -ct_to_ts([2000-01-01 00:01:51]) = 946684911.000000000
> +ugen0.2: <HP> at usbus0
> +u3g0: <Data Interface> on usbus0
> +u3g0: Found 3 ports.
> +ct_to_ts([2000-01-01 00:06:04]) = 946685164.000000000
> +ct_to_ts([2000-01-01 00:06:04]) = 946685164.000000000
>
>
> Is there something I can do to deal with this specific device
> differently in the driver ? Its 8.0-BETA3 FreeBSD 8.0-BETA3 #2: Wed
> Sep 2 using the u3g driver.
>
> alix# usbconfig dump_device_desc
> ugen0.1: <OHCI root HUB AMD> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps)
> pwr=ON
>
> bLength = 0x0012
> bDescriptorType = 0x0001
> bcdUSB = 0x0100
> bDeviceClass = 0x0009
> bDeviceSubClass = 0x0000
> bDeviceProtocol = 0x0000
> bMaxPacketSize0 = 0x0040
> idVendor = 0x0000
> idProduct = 0x0000
> bcdDevice = 0x0100
> iManufacturer = 0x0001 <AMD>
> iProduct = 0x0002 <OHCI root HUB>
> iSerialNumber = 0x0000 <no string>
> bNumConfigurations = 0x0001
>
> ugen1.1: <EHCI root HUB AMD> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps)
> pwr=ON
>
> bLength = 0x0012
> bDescriptorType = 0x0001
> bcdUSB = 0x0200
> bDeviceClass = 0x0009
> bDeviceSubClass = 0x0000
> bDeviceProtocol = 0x0001
> bMaxPacketSize0 = 0x0040
> idVendor = 0x0000
> idProduct = 0x0000
> bcdDevice = 0x0100
> iManufacturer = 0x0001 <AMD>
> iProduct = 0x0002 <EHCI root HUB>
> iSerialNumber = 0x0000 <no string>
> bNumConfigurations = 0x0001
>
> ugen0.2: <HP hs2300 HSDPA Broadband Wirel HP> at usbus0, cfg=0
> md=HOST spd=FULL (12Mbps) pwr=ON
>
> bLength = 0x0012
> bDescriptorType = 0x0001
> bcdUSB = 0x0110
> bDeviceClass = 0x0000
> bDeviceSubClass = 0x0000
> bDeviceProtocol = 0x0000
> bMaxPacketSize0 = 0x0040
> idVendor = 0x03f0
> idProduct = 0x1e1d
> bcdDevice = 0x0002
> iManufacturer = 0x0001 <HP>
> iProduct = 0x0002 <HP hs2300 HSDPA Broadband Wireless Module>
> iSerialNumber = 0x0000 <no string>
> bNumConfigurations = 0x0001
>
>
> ugen0.2: <HP hs2300 HSDPA Broadband Wirel HP> at usbus0, cfg=0
> md=HOST spd=FULL (12Mbps) pwr=ON
>
>
> Configuration index 0
>
> bLength = 0x0009
> bDescriptorType = 0x0002
> wTotalLength = 0x0043
> bNumInterfaces = 0x0001
> bConfigurationValue = 0x0001
> iConfiguration = 0x0000 <no string>
> bmAttributes = 0x00e0
> bMaxPower = 0x0000
>
> Interface 0
> bLength = 0x0009
> bDescriptorType = 0x0004
> bInterfaceNumber = 0x0000
> bAlternateSetting = 0x0000
> bNumEndpoints = 0x0007
> bInterfaceClass = 0x00ff
> bInterfaceSubClass = 0x00ff
> bInterfaceProtocol = 0x00ff
> iInterface = 0x0003 <Data Interface>
>
> Endpoint 0
> bLength = 0x0007
> bDescriptorType = 0x0005
> bEndpointAddress = 0x0081
> bmAttributes = 0x0003
> wMaxPacketSize = 0x0010
> bInterval = 0x0080
> bRefresh = 0x0000
> bSynchAddress = 0x0000
>
> Endpoint 1
> bLength = 0x0007
> bDescriptorType = 0x0005
> bEndpointAddress = 0x0082
> bmAttributes = 0x0002
> wMaxPacketSize = 0x0040
> bInterval = 0x0000
> bRefresh = 0x0000
> bSynchAddress = 0x0000
>
> Endpoint 2
> bLength = 0x0007
> bDescriptorType = 0x0005
> bEndpointAddress = 0x0002
> bmAttributes = 0x0002
> wMaxPacketSize = 0x0040
> bInterval = 0x0000
> bRefresh = 0x0000
> bSynchAddress = 0x0000
>
> Endpoint 3
> bLength = 0x0007
> bDescriptorType = 0x0005
> bEndpointAddress = 0x0084
> bmAttributes = 0x0002
> wMaxPacketSize = 0x0040
> bInterval = 0x0000
> bRefresh = 0x0000
> bSynchAddress = 0x0000
>
> Endpoint 4
> bLength = 0x0007
> bDescriptorType = 0x0005
> bEndpointAddress = 0x0004
> bmAttributes = 0x0002
> wMaxPacketSize = 0x0040
> bInterval = 0x0000
> bRefresh = 0x0000
> bSynchAddress = 0x0000
>
> Endpoint 5
> bLength = 0x0007
> bDescriptorType = 0x0005
> bEndpointAddress = 0x0085
> bmAttributes = 0x0002
> wMaxPacketSize = 0x0040
> bInterval = 0x0000
> bRefresh = 0x0000
> bSynchAddress = 0x0000
>
> Endpoint 6
> bLength = 0x0007
> bDescriptorType = 0x0005
> bEndpointAddress = 0x0005
> bmAttributes = 0x0002
> wMaxPacketSize = 0x0040
> bInterval = 0x0000
> bRefresh = 0x0000
> bSynchAddress = 0x0000
>
>
>
> alix#
>
>
> ati3
> Manufacturer: Sierra Wireless, Inc.
> Model: MC8775
> Revision: H1_1_9_3MCAP C:/WS/FW/H1_1_9_3MCAP/MSM6280/SRC 2007/12/12
> 11:49:21 IMEI: xxxx
> IMEI SV: 10
> FSN: xxxx
> 3GPP Release 5
> +GCAP: +CGSM,+DS,+ES
>
Does this device have a button to enable it? Does it help pressing that
button?
One idea is to not power down the port which obviously gives the device power
on failures.
--HPS
More information about the freebsd-usb
mailing list