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