Recently I became the proud owner of a BeagleBone. In case you’ve never heard of it, a BeagleBone is a 700mHz ARM Cortex computer that can fit in an Altoids tin. It has gobs and gobs of ways to talk to the outside world including USB, Ethernet, and over 60 GPIO pins! It comes complete with a micro SD card loaded with Angstrom Linux and lots of nice software goodies including Node.js and python.
When I first got the ‘bone I plugged it into my network and quickly discovered I could just SSH to beaglebone.local and I was off to the races (Gotta love ZeroConf networking a.k.a. Bonjour!). The problem was that this setup required both a handy ethernet plug and a power outlet, neither of which are always available. That lead me to attempt to use the USB mini interface to handle both power and data. So, I installed the required FTDI drivers and hooked the ‘bone up to my trusty MacBook Pro that’s currently running OSX 10.7.2 (Lion). And… nothing happened.
After some searching for a while I eventually found information on a process that works (Big thanks to everyone in that email thread who did the dirty work!). Unfortunately, this process turned out to be somewhat convoluted, so I wanted to document it here for any fellow BeagleBone users wishing to connect in this manner.
The problem is with the FTDI drivers that tell your Mac to treat the BeagleBone’s USB interface like a serial port. The FTDI driver that ships with the BeagleBone doesn’t play nice with Lion, and the most up-to-date FTDI driver doesn’t have the right configuration to work with the BeagleBone. So what do you do? You mix and match! Here’s how you do it:
- Download the 64-bit FTDI drivers for OSX
- Install the drivers
- Download this Info.plist file extracted from the BeagleBone FTDI driver
- Open Terminal.app
- Hop into the driver’s installation by typing:
- Backup the old Info.plist by typing:
sudo mv Info.plist Info.plist.old
- Copy the plist file you just downloaded (assuming it’s in your download folder) by typing:
sudo cp ~/Downloads/Info.plist .
- Set the correct permissions on the file by typing:
sudo chmod 644 Info.plist
- Restart the driver by typing:
sudo kextutil ../../FTDIUSBSerialDriver.kext
Now just plug in your BeagleBone, wait about 10 seconds for it boot, and type:
screen /dev/tty.usbserial-*B 115200
Then hit Return and you should be connected directly to your ‘bone.