Re: [Mac OS X] Working dfu-util

2007-08-07 Thread Simon Moore

Dr. H. Nikolaus Schaller wrote:

Great!

Am 07.08.2007 um 11:45 schrieb Simon Moore:

I've managed to get dfu-util compiling and running natively (via 
MacPorts) on Mac OS X, albeit with one patch (bug #672) and one dirty 
little sed hack.


Yes, I also had to patch two NULL pointer dereferences.

Hopefully this will work for others - let me know if you have success, 
or improvements to suggest.


I've documented all of this on the wiki, under my user area: 
http://wiki.openmoko.org/wiki/User:SNMoore


I have not compared in detail but it looks like the same steps I have done.


Yes, I suspect it is similar.



Did you try OpenMoko Flasher which is a GUI wrapper around dfu-util and 
eliminates the manual compilation steps (and even to install MacPorts)?


Not yet. I'm just trying to get up to speed with both OS X and Openmoko, 
GDB etc so starting from a shell and trying to identify a clean set of 
dependencies. Little steps...


I've got an Ubuntu VMWare install, so I'm trying to see what I 
can/cannot achieve in OS X vs Ubuntu.




In future, I need to look at moving this to the main Mac OS X pages on 
the wiki, once I've worked out what goes where...


Here:
http://wiki.openmoko.org/wiki/MacOS_X

Nikolaus

___
OpenMoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community




Simon

___
OpenMoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: [Mac OS X] Working dfu-util

2007-08-07 Thread 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@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

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.


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.


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


Simon


___
OpenMoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: [Mac OS X] Working dfu-util

2007-08-07 Thread Dr. H. Nikolaus Schaller


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@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

___
OpenMoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community