[Mac OS X] Working dfu-util

Dr. H. Nikolaus Schaller hns at computer.org
Tue Aug 7 20:09:37 CEST 2007


Am 07.08.2007 um 13:50 schrieb Simon Moore:

> Dr. H. Nikolaus Schaller wrote:
>
>> One more question - how did you manage that dfu-util is not  
>> blocked by the AppleUSBCDC driver which also tries to bind to the  
>> same USB interface?
>> _______________________________________________
>> OpenMoko community mailing list
>> community at lists.openmoko.org
>> http://lists.openmoko.org/mailman/listinfo/community
>
> It could be a cause of why I have to disconnect & reconnect the USB  
> cable for each invocation of dfu-util. I have seen this in the  
> output at times:
>
> Cannot claim interface: usb_claim_interface: couldn't claim interface

Yes, this is the same symptom as I have.

> I just checked with kextstat (kextstat | grep CDC), and it does  
> show the  many CDC drivers being loaded when the Neo is connected.  
> They are not present when the Neo is not connected.
>
> A quick google shows you can manually unload the drivers (not sure  
> the -b is correct):
> sudo kextunload -b com.apple.driver.AppleUSBCDC
> sudo kextunload -b com.apple.driver.AppleUSBCDCACMControl
> sudo kextunload -b com.apple.driver.AppleUSBCDCECMData
> sudo kextunload -b com.apple.driver.AppleUSBCDCACMData
>
> Then the next time the Neo is connected the CDC driver is not loaded.

Not necessarily - there will be a race condition between dfu-util and  
the kextloader (trying to reload it).
>
> I just tried this, but it's strange. Unloading AppleUSBCDC worked  
> ok. Unloading AppleUSBCDCACMControl threw an error that it could  
> not unload, but thereafter all the CDC drivers were no longer being  
> loaded. But I still had another 'couldn't claim interface' error.
>
> Maybe the 'couldn't claim interface' error is not resulting from  
> the Apple drivers? I don't really know enough about USB or libusb,  
> but the NULL pointer problems (e.g bug #672) make me suspicious.

Yes, there might be other bugs - but I think it is the AppleUSBCDC  
which already owns the interface (exclusively). Harald Welte  
mentioned that on the owner's and u-boot list.

> So far my most successful approach is the disconnect & reconnect of  
> the USB cable...

I have the additional approach by installing AJZaurusUSB 0.5.2 which  
is given a higher driver probe priority to match the device than  
AppleUSBCDC. For me it worked, but I have no positive feedback from  
others yet.

Nikolaus




More information about the community mailing list