Date: Wed, 21 Jan 2009 03:29:31 +0100 From: Michael <freebsdusb@bindone.de> To: Hans Petter Selasky <hselasky@c2i.net> Cc: freebsd-usb@freebsd.org Subject: Re: Device IDs for HP hs2300 HSDPA modem Message-ID: <4976888B.5070209@bindone.de> In-Reply-To: <200812041544.57108.hselasky@c2i.net> References: <492D6E0D.7020500@bindone.de> <200812031631.59515.hselasky@c2i.net> <49379FFF.6000007@bindone.de> <200812041544.57108.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------070203080401080407060502 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Hello Hans Petter, Hans Petter Selasky wrote: > On Thursday 04 December 2008, Michael wrote: > >> Hans Petter Selasky wrote: >> >>> On Wednesday 03 December 2008, Michael wrote: >>> >>>> Hans Petter Selasky wrote: >>>> >>>>> On Tuesday 02 December 2008, Michael wrote: >>>>> >>>>>> 3. I tried using a current checkout of usb2 (and added all the device >>>>>> IDs necessary), but serial_3g is missing (and therefore >>>>>> commented out in sys/modules/usb2/Makefile), so I'm stuck there as >>>>>> well. Is there actual hope that the problem >>>>>> might not appear when using usb2? (all I know about usb2 is that >>>>>> it's supposed to be giant-free, no idea if it can >>>>>> handle these issues any better - seems like at least 50% of USB >>>>>> devices are violating the standard in one way or >>>>>> another anyway). >>>>>> >>>>> Alfred forgot to add the Makefile. The 3g id's are now in >>>>> core/usb2_msctest.c . I've sent him a patch to fix this, but have not >>>>> heard from him yet, assuming he is very busy. >>>>> >>>>> Just copy one of the other serial driver Makefiles and add "u3g2.c". >>>>> >>>>> --HPS >>>>> >>>> Ok, essentially this seems to work, even so there are some caveats: >>>> 1. usb2_serial_3g has to be loaded before of usb2_controller_ehci >>>> 2. When I disable the device (button or bios command) it is detached >>>> correctly, >>>> but reattaching it fails 9 out of 10 times with the following error: >>>> kernel: usb2_alloc_device:1421: set address 2 failed (ignored) >>>> kernel: usb2_alloc_device:1456: getting device descriptor at addr 2 >>>> failed! kernel: uhub_reattach_port:402: could not allocate new device! >>>> If I kldunload usb2_controller_ehci and reload it, its detected ok. >>>> usb1 has no issues performing the same operation. >>>> 3. The machine crashed once after reenabling the device. No crashdumps >>>> here, mostly because I'm stupid :( >>>> 4. There is only one serial device created (/dev/cuaU0), which >>>> represents the data interface. The control interface is not detected. >>>> (usb1 creates two interfaces /dev/cuaU0.0 for data and /dev/cuaU0.2 for >>>> control). This is essential, because even so the data interface supports >>>> most commands, it doesn't accept the PIN code entry cmomand (or other >>>> maintenance commands). For testing purposes I disabled the PIN entry >>>> requirement on the SIM and was able to get reasonable stable service (up >>>> to 250kb/s). >>>> >>>> Let me know if there is anything I can do to help debugging the issues >>>> above. I attached the patches for the HS2300 device. >>>> >>>> br >>>> michael >>>> >>> Hi, >>> >>> Try tuning the following knobs, one at a time. >>> >>> sysctl hw.usb2.ehci.no_hs=1 >>> >>> This will disable hooking on devices to high speed. >>> >>> I think there is a problem with your device! >>> >>> Another thing you can try before re-plugging: >>> >>> sysctl hw.usb2.ss_delay=2 >>> >>> Also try: >>> >>> sysctl hw.usb2.pr_recovery_delay=500 >>> >>> --HPS >>> >> None of these knobs have a lasting effect. Sometimes it works, sometimes >> it doesn't. Disconnecting/reconnecting at a fast pace confuses it >> completely (missing the event completely). That's intersting because >> usb1 seems to be able to keep track of that ok, so it should be >> possible. Do you think this relates to caveat 1 (because I think >> normally loading 3g after ehci should work)? Are there any debugging >> knobs I should use to get more useful traces? >> > > See "sysctl hw.usb2" > > >> What about 4, is there anything I can do or anybody to contact to figure >> why the control device doesn't show up at all? (or is more a missing >> feature than a bug?) >> > > Send me a dump of the usb-descriptors using: > > usbconfig -u xxx -a yyy dump_curr_config_desc > > And I will have a look at it. I suspect that the device is there, but has > another unit ID than you expect. > > --HPS > Sorry for the very late reply, I've been caught by my daytime job.... Output from usbconfig list is: ugen0.1: <UHCI root HUB Intel> at usbus0, cfg=255 md=HOST spd=FULL (12Mbps) pwr=ON ugen1.1: <UHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen2.1: <UHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen3.1: <UHCI root HUB Intel> at usbus3, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen4.1: <UHCI root HUB Intel> at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen5.1: <EHCI root HUB Intel> at usbus5, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON ugen6.1: <EHCI root HUB Intel> at usbus6, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON I attached you the output for all ports as requested. (usbconfig -u 0 -a 1 dump_curr_config_desc usbconfig -u 1 -a 1 dump_curr_config_desc usbconfig -u 2 -a 1 dump_curr_config_desc usbconfig -u 3 -a 1 dump_curr_config_desc usbconfig -u 4 -a 1 dump_curr_config_desc usbconfig -u 5 -a 1 dump_curr_config_desc usbconfig -u 6 -a 1 dump_curr_config_desc) I will send you my contact information for jabber, icq and yahoo in a private email. br Michael --------------070203080401080407060502 Content-Type: text/plain; name="usbconfig_output.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="usbconfig_output.txt" ugen0.1: <UHCI root HUB Intel> at usbus0, cfg=255 md=HOST spd=FULL (12Mbps) pwr=ON 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 bmAttributes = 0x0003 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 bmAttributes = 0x0003 wMaxPacketSize = 0x0008 bInterval = 0x00ff bRefresh = 0x0000 bSynchAddress = 0x0000 ugen3.1: <UHCI root HUB Intel> at usbus3, 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 bmAttributes = 0x0003 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 bmAttributes = 0x0003 wMaxPacketSize = 0x0008 bInterval = 0x00ff bRefresh = 0x0000 bSynchAddress = 0x0000 ugen5.1: <EHCI root HUB Intel> at usbus5, 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 bmAttributes = 0x0003 wMaxPacketSize = 0x0008 bInterval = 0x00ff bRefresh = 0x0000 bSynchAddress = 0x0000 ugen6.1: <EHCI root HUB Intel> at usbus6, 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 bmAttributes = 0x0003 wMaxPacketSize = 0x0008 bInterval = 0x00ff bRefresh = 0x0000 bSynchAddress = 0x0000 --------------070203080401080407060502--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4976888B.5070209>