noisybox.net

BeagleBone Black!

The BeagleBone Black is a sweet little board suited to simple computer and hardware tasks.  Here are some notes so that I don't recreate the wheel as often.

Installing Debian on the BBB

I did this once and it wasn't too bad.  I should document the process from scratch, though.  I should also archive and upload images periodically.  It's awesome now that rev.C ships with Debian.  Yes!

USB/Serial cable

I plug in the cable to the BBB and then my Thinkpad and a device is created at /dev/ttyUSB0.  
I can connect to this by using screen:  screen /dev/ttyUSB0 115200

I went through the ritual on OSX one time and had to use the PL2303 usb serial OSX driver to get things working.  The usb device was /dev/tty.PL2303-00003014.  I'm sure it'll be different yet similar on your setup.

Virtual USB Network

Configurations are hard-coded, which is not ideal...but at least its working.

My host Thinkpad will be 192.168.7.1
My BBB will be at 192.168.7.2

On the host side (Thinkpad), I've got a manually configured network device with a line like this in /etc/network/interfaces:

iface eth2 inet manual

And on the BBB side, I've got this configured in /etc/network/interfaces:

iface usb0 inet static
    address 192.168.7.2
    netmask 255.255.255.0
    network 192.168.7.0
    gateway 192.168.7.1

This tells the BBB what its IP address is and where it should route traffic (via my Thinkpad at 192.168.7.1).

Now comes the fun part...getting things talking.  I wrote a couple little scripts to help with settting up the Thinkpad side of things.  The first script is bridge_network.sh, which helps to get IP/packet forwarding turned on:

$ sudo ./bridge_network.sh

After that completes, I run usbnet_gate.sh to set up iptables forwarding/NAT rules:

$ sudo ./usbnet_gate.sh

If the BBB is already powered/booted before you get NAT set up on the PC side, you'll probably need to bring the BBB device down and back up.  This is pretty straightforward, just executed thru the serial/screen terminal:

$ sudo ifdown usb0
$ sudo ifup usb0

On the host side, none of this persists past reboot.

If you're using OSX (I never got this fully working, but others have):

Install the HoRNDIS USB tethering driver thing.  Refer to many online sources.

Wifi Networking

Just started scratching at this.  Some helpful information is over here.

USB Hotplug might be broken on 3.8.x?? BBB kernels.  There are workarounds, but don't fret if things don't work.  Reboot is fine.  Details are here.

I put this in my /etc/network/interfaces file:

auto wlan0
iface wlan0 inet dhcp
        wireless-essid <myssid>
        wpa-ssid <myssid>
        wpa-psk <xxxmypasswordxxx>

and then issue $ sudo ifup wlan0 and it just worked.

Useful Resources