Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Nov 2008 10:22:55 +0100
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        Stefan Ehmann <shoesoft@gmx.net>
Cc:        freebsd-current@freebsd.org
Subject:   Re: usb2: no sound with M-Audio Transit
Message-ID:  <200811151022.56606.hselasky@c2i.net>
In-Reply-To: <200811151004.06521.shoesoft@gmx.net>
References:  <200811141541.49595.shoesoft@gmx.net> <200811141811.24491.hselasky@c2i.net> <200811151004.06521.shoesoft@gmx.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 15 November 2008, Stefan Ehmann wrote:
> 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.

Hi,

The problem is that the device changes its configuration descriptor and the 
reset implementation assumes that the configuration descriptor is the same 
after the reset. I will see if I can make a patch for this. I have the same 
problem when flashing the openmoko.

I will make a patch for this by tomorrow.

--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811151022.56606.hselasky>