Date: Sat, 15 Nov 2008 10:04:05 +0100 From: Stefan Ehmann <shoesoft@gmx.net> To: freebsd-current@freebsd.org Cc: Hans Petter Selasky <hselasky@c2i.net> Subject: Re: usb2: no sound with M-Audio Transit Message-ID: <200811151004.06521.shoesoft@gmx.net> In-Reply-To: <200811141811.24491.hselasky@c2i.net> References: <200811141541.49595.shoesoft@gmx.net> <200811141717.38279.shoesoft@gmx.net> <200811141811.24491.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 14 November 2008 18:11:23 Hans Petter Selasky wrote: > On Friday 14 November 2008, Stefan Ehmann wrote: > > http://stud4.tuwien.ac.at/~e0125637/fbsd/transit_config.dump > > Maybe there is something wrong with the 16-bit to 24-bit data conversion ? One more thing: I'm using dfu-util for the firmware download. See http://svn.openmoko.org/trunk/src/host/dfu-util/ The second usb_claim_interface() call fails. But that doesn't seem to be fatal. If I comment out the exit() the download succeeds. Here's the output: dfu-util - (C) 2007-2008 by OpenMoko Inc. This program is Free Software and has ABSOLUTELY NO WARRANTY Opening USB Device 0x0000:0x0000... Claiming USB DFU Runtime Interface... Determining device status: state = dfuIDLE, status = 0 WARNING: Runtime device already in DFU state ?!? Found Runtime: [0x0763:0x2806] devnum=0, cfg=0, intf=0, alt=0, name="RAM" Claiming USB DFU Interface... Cannot claim interface: Unknown error Setting Alternate Setting ... Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing Transfer Size = 0x0040 bytes_per_hash=112 Starting download: [##################################################] finished! state(7) = dfuMANIFEST, status(0) = No error condition is present state(2) = dfuIDLE, status(0) = No error condition is present Done! can't detach: Unknown error Resetting USB to switch back to runtime mode error resetting after download: Unknown error The problem is that after the download the device needs to be reset so it gets recognized as uaudio device. This was not implemented in the libusb from sourceforge for BSD. As a workaround you can slightly unplug the cable (I think I read this on some netbsd list) which works but is not very convenient. The reset in dfu-util fails, possibly due to preceding errors. I also tried it with usbconfig: # usbconfig -u 0 -a 2 reset usbconfig: could not reset device: Device not configured And this error in dmesg usb2_req_re_enumerate:1362: addr=2, getting device descriptor failed! This is not critical but it would be nice to get rid of this ugly workaround. -- Stefan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811151004.06521.shoesoft>