Date: Tue, 6 Jan 2009 16:13:32 +0100 From: Hans Petter Selasky <hselasky@c2i.net> To: Stanislav Sedov <stas@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Alfred Perlstein <alfred@freebsd.org>, src-committers@freebsd.org Subject: Re: svn commit: r186730 - in head: lib/libusb20 sys/dev/usb2/controller sys/dev/usb2/core sys/dev/usb2/ethernet sys/dev/usb2/image sys/dev/usb2/include sys/dev/usb2/serial sys/dev/usb2/sound sys/dev/us... Message-ID: <200901061613.33687.hselasky@c2i.net> In-Reply-To: <20090106180123.d032657d.stas@FreeBSD.org> References: <200901040012.n040C2gH040928@svn.freebsd.org> <200901061215.37947.hselasky@c2i.net> <20090106180123.d032657d.stas@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 06 January 2009, Stanislav Sedov wrote: > On Tue, 6 Jan 2009 12:15:37 +0100 > > Hans Petter Selasky <hselasky@c2i.net> mentioned: > > As long as your device shows up like "ugen0.2" it is detected properly > > and will function. Check with "usbconfig". > > > > Suggestions: > > > > usbconfig -u 0 -a 2 reset > > usbconfig -u 0 -a 2 dump_device_desc > > This doesn't change anything, the device fails to attach. > > > The failures indicate that the firmware on your USB device is not > > reponding correctly at the time the set address command is being sent to > > the device. > > Do you have some ideas how this situation could be handled in the new > stack? > > > As you can see the new USB stack will try to re-enumerate the device one > > time. > > > > Have you loaded the correct driver for your serial device? > > > > kldload usb2_serial_bsa > > Yes, this module is loaded and I can see it enters the probe routine. But > as the configuration index doesn't match what the driver expects it fails > to probe. Driver checks for configuration idx 1, but I see this device on > idx 0. ugen0.2: <AnyDATA CDMA Products AnyDATA Corporation> at usbus0, > cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON > > The old stack didn't checked for specific configuration index, but tryed to > select the appropriate one in the attach routine. > /* Move the device into the configured state. */ > err = usbd_set_config_index(dev, UBSA_CONFIG_INDEX, 1); > > What is the reason you have reworked this? Should this be changed to be > handled like in the old driver? The new is that the driver is not allowed to set the config index by itself. Try: usbconfig -u 0 -a 2 set_config 1 You can for example add a quirk for this, see "usbconfig -h | grep -i quirk". I know this is not so easy, but if you can make a general rule for when selecting another configuration, I will add it. Could you dump me the descriptors of your USB device? usbconfig -u 0 -a 2 dump_curr_config_desc dump_device_desc --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200901061613.33687.hselasky>