I'm not sure if I'm the only one, but I had some issues getting the BeagleBone working on Lion today and wanted to share how I got things working (happy to report everything appears to be working correctly, including the RNDIS/Ethernet Gadget support!)
First I tried installing the FTDI_Ser.dmg installer from
http://beagleboard.org/static/beaglebone/a3/Drivers/MacOSX/FTDI/FTDI_Ser.dmgThis did not work. I plugged the BeagleBone into my Macbook Pro and nothing showed up in /dev (although the mass storage driver was working out of the box).
There appears to be a couple things wrong with FTDI_Ser.dmg.
1. Why is FTDI_Ser.dmg 10MB? (see
https://groups.google.com/d/msg/beagleboard/Kwadxf64VKk/uuI3db50D3EJ)
2. The Info.plist that gets installed by this installer (in /System/Library/Extensions/FTDIUSBSerialDriver.kext) includes an IOKitPersonality derived from the FT2232C entry, instead of the FT2232H that's installed on the BeagleBone (I'm not sure if this makes a difference or not...)
Here's what's installed by FTDI_Ser.dmg package from
beagleboard.org:
<key>BeagleBone XDS100v2 JTAG</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.FTDI.driver.FTDIUSBSerialDriver</string>
<key>IOClass</key>
<string>FTDIUSBSerialDriver</string>
<key>IOProviderClass</key>
<string>IOUSBInterface</string>
<key>bConfigurationValue</key>
<integer>1</integer>
<key>bInterfaceNumber</key>
<integer>0</integer>
<key>idProduct</key>
<integer>42704</integer>
<key>idVendor</key>
<integer>1027</integer>
</dict>
<key>BeagleBone XDS100v2 Serial</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.FTDI.driver.FTDIUSBSerialDriver</string>
<key>IOClass</key>
<string>FTDIUSBSerialDriver</string>
<key>IOProviderClass</key>
<string>IOUSBInterface</string>
<key>bConfigurationValue</key>
<integer>1</integer>
<key>bInterfaceNumber</key>
<integer>1</integer>
<key>idProduct</key>
<integer>42704</integer>
<key>idVendor</key>
<integer>1027</integer>
</dict>
Here's the entry for the FT2232H chip that's actually on the board (notice "bcdDevice" device key is missing from the above entries):
<key>FT2232H_A</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.FTDI.driver.FTDIUSBSerialDriver</string>
<key>IOClass</key>
<string>FTDIUSBSerialDriver</string>
<key>IOProviderClass</key>
<string>IOUSBInterface</string>
<key>bConfigurationValue</key>
<integer>1</integer>
<key>bInterfaceNumber</key>
<integer>0</integer>
<key>bcdDevice</key>
<integer>1792</integer>
<key>idProduct</key>
<integer>24592</integer>
<key>idVendor</key>
<integer>1027</integer>
</dict>
<key>FT2232H_B</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.FTDI.driver.FTDIUSBSerialDriver</string>
<key>IOClass</key>
<string>FTDIUSBSerialDriver</string>
<key>IOProviderClass</key>
<string>IOUSBInterface</string>
<key>bConfigurationValue</key>
<integer>1</integer>
<key>bInterfaceNumber</key>
<integer>1</integer>
<key>bcdDevice</key>
<integer>1792</integer>
<key>idProduct</key>
<integer>24592</integer>
<key>idVendor</key>
<integer>1027</integer>
</dict>
3. The FTDI_Ser.dmg package only includes a single kext, but the FTDIUSBSerialDriver_v2_2_16.dmg from the
www.ftdichip.com includes two kexts (one for 32 bit and one for 64 bit?) The one included in the FTDI_Ser.dmg was the wrong one for my 64-bit Lion system.
---
So, I uninstalled the FTDI drivers from the FTDI_Ser.dmg and installed the latest drivers from
http://www.ftdichip.com/Drivers/VCP/MacOSX/FTDIUSBSerialDriver_v2_2_16.dmgThen, I opened up /System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist and added the following entry (based upon the FT2232H entries):
<key>BeagleBone XDS100v2 JTAG</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.FTDI.driver.FTDIUSBSerialDriver</string>
<key>IOClass</key>
<string>FTDIUSBSerialDriver</string>
<key>IOProviderClass</key>
<string>IOUSBInterface</string>
<key>bConfigurationValue</key>
<integer>1</integer>
<key>bInterfaceNumber</key>
<integer>0</integer>
<key>bcdDevice</key>
<integer>1792</integer>
<key>idProduct</key>
<integer>42704</integer>
<key>idVendor</key>
<integer>1027</integer>
</dict>
<key>BeagleBone XDS100v2 Serial</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.FTDI.driver.FTDIUSBSerialDriver</string>
<key>IOClass</key>
<string>FTDIUSBSerialDriver</string>
<key>IOProviderClass</key>
<string>IOUSBInterface</string>
<key>bConfigurationValue</key>
<integer>1</integer>
<key>bInterfaceNumber</key>
<integer>1</integer>
<key>bcdDevice</key>
<integer>1792</integer>
<key>idProduct</key>
<integer>42704</integer>
<key>idVendor</key>
<integer>1027</integer>
</dict>
After rebooting, I plugged the BeagleBone into my Macbook Pro and I STILL didn't get any devices to show up in /dev. I have no idea why this doesn't work (any suggestions welcomed)
Finally, I installed the BONE_DRV.exe drivers from
http://beagleboard.org/static/beaglebone/a3/Drivers/Windows/BONE_DRV.exe onto my Windows XP laptop. I plugged the BeagleBone into the laptop and it didn't recognize the FT2232H. After following the directions from this post
https://groups.google.com/d/msg/beagleboard/FlFYX3XPbO4/XdiTtv5J2fcJ I was able to get Windows to recognize the FT2232H!!! YAY!!!
I used FT_PROG from
http://www.ftdichip.com/Support/Utilities/FT_Prog_v2.4.2.zip to change the FTDI PID from 0xa6d0 to the default 0x6010 PID.
I plugged the BeagleBone back into my Macbook Pro and I got the following 2 devices in /dev:
$ ls /dev/tty.usbserial-001013FD
tty.usbserial-001013FDA tty.usbserial-001013FDB
I have no idea why modifying the Info.plist with the custom entries doesn't work... but changing the PID back to 0x6010 gets things working.
To start actually talking to the device, I used minicom (sudo apt-get install minicom). After installing minicom, put the following into /opt/local/etc/minirc.beagleboard:
pu port /dev/tty.usbserial-<YOUR DEVICE SERIAL HERE>B
pu baudrate 115200
pu bits 8
pu parity N
pu stopbits 1
pu rtscts No
pu minit
pu mreset
pu mhangup
Then, run "minicom beaglebone" to bring up the console.
I was also able to get RNDIS/Ethernet Gadget working. Make sure to eject "BEAGLE_BONE" using the Finder window, and then wait a few seconds for the device to switch over to RNDIS/Ethernet Gadget. Then open up Network preferences and set IP Address: 192.168.7.1 and Subnet Mask: 255.255.255.0.
Open up a browser window on your Mac and visit 192.168.7.2 and you should see the default BeagleBone page.