Leopard USB issue workaround
Up to Bugs, Known Issues, & Requests
I'm not reporting this as a bug because it's been quite well covered here by Liam and others.
This is just a note on how I'm working around the Leopard USB issue. My mac has 10.5.2. I tried patching the AppleUSBCDC driver's Info.plist file as was mentioned elsewhere, but that didn't change anything. I've since opted for the kextunload/kextload of this driver to get things to work reliably, if clumsily.
I have two shell scripts, stopcdc and startcdc call "sudo kextunload /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBCDC.kext" and "sudo kextload /System/Lib......" respectively.
After building a new flash .bin, I run stopcdc to unload the problem driver. I then reset the controller, power cycle it, and MCHelper (2.0.0) sees it as Samba. It will flash with no problems.
After flashing, I run startcdc, and the newly-flashed controller appears in MCHelper as a USB target. I don't know what the CDC driver does, but apparently it's necessary for the device to be recognized.
MCHelper 2.2 checks for leopard and doesn't flash, but it has a nicer interface for reporting controller settings.
I fetched the latest heavy source, built it and flashed it yesterday. It's a clumsy process, but it's working.
To flash it, I short the "erase" jumper pins on the board, and that forces the board into Samba mode. I then use MC Helper 2.0 to upload a new firmware.
The heavy firmware has a Blink task that blinks the green LED on the controller. When you short the erase jumper, all processing freezes, and no blinking LED is a good indication that it is reset. After shorting that jumper, you must disconnect power to the board, then plug it back in. When it's reset like this, only the red LED will be lit.
property yourUsername : "FOO" -- Replace FOO with your username, keeping the quotes intact (you must have administrator privileges for this script to work)
property yourPassword : "BAR" -- Replace BAR with your password
try
do shell script "sudo kextunload /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBCDC.kext" user name yourUsername password yourPassword with administrator privileges
display dialog "CDC Unloaded - You can now load firmware onto the Make Controller, but you can't do anything else."
return
on error
try
do shell script "sudo kextload /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBCDC.kext" user name yourUsername password yourPassword with administrator privileges
display dialog "CDC Loaded - You can now do everything EXCEPT load firmware onto the Make Controller."
return
on error
display dialog "CDC toggle failed for an unknown reason. Make sure you set your username and password correctly. Also, ensure that you have administrator privileges."
return
end try
end try

