urtwn on FreeBSD ARM

This weekend I got FreeBSD on my Chromebook Snow in a usable state. Getting wifi going was a bit of a bother. I have an Edimax Wifi Adapter , but the default kernel config builds out support for wifi and the urtwn device driver.

The Beaglebone Black page on the FreeBSD wiki has a kernel config that includes the drivers I need. I took the wifi config and added them to a CHROMEBOOK-WIFI config so I could build a kernel for the Chromebook with support.

#USB WiFi
# Wireless NIC cards
device          wlan            # 802.11 support
options         IEEE80211_DEBUG
device          wlan_wep        # 802.11 WEP support
device          wlan_ccmp       # 802.11 CCMP support
device          wlan_tkip       # 802.11 TKIP support
device          wlan_xauth

device          firmware        # Required to load firmware
device          urtwnfw         # Firmware for RTL driver below
device          urtwn           # Realtek RTL8188CU/RTL8192CU

After building the new kernel and moving it over to the USB stick I use for the Chromebook I needed tell FreeBSD to accept the license terms for the wifi firmware.

Add to loader.conf
legal.realtek.license_ack=1

After that it was pretty norm wifi setup.

# ifconfig wlan0 create wlandev urtwn0
# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B
# dhclient wlan0

GPGME with Mutt on OS X

I found it quite difficult to get GPGME working with Mutt in OS X, I was using Homebrew to install mutt. I could see the option in the brew build file to use GPGME, but it was set as an optional dependency. I fought with it for a while then jumped across to #homebrew on freenode to get an answer.

I had to force brew to build mutt from source to get the dependency included. You will have to uninstall mutt if you have already installed it.

brew install mutt --build-from-source --with-gpgme

You will need to add the correct bits to your .muttrc to get mutt to use.

set crypt_use_gpgme = yes
set crypt_autosign = yes
set pgp_sign_as = 0xYOURGPGKEYGOESHERE*****

pv

I found a tool called pv via a Hacker News thread. pv or pipe viewer allows you to view data as it is pulled out of a Unix pipe. This is really helpful when dealing with long running commands. I used it today to check on the progress of encrypting a large tar archive.

$ pv archive.tar.xz | gpg --sign --symmetric - > archive.tar.xz.gpg
6.51GiB 0:08:52 [6.23MiB/s] [======================>       ] 70% ETA 0:03:47

While pv is running you get a progress, time elapsed, speed, a progress bar, 70% complete and an estimation of time until complete.

campGND network

One of the facilities at campGND is going to be a wireless network. The hope is to have the network running for the majority of the time. I have built a wireless network at a campsite before, that was made easier by having guaranteed bandwidth from a satellite terminal.

The plan is to have a wireless network for the campsite served by a MikroTik . Using a wireless bridge to reach to the farmhouse. The farmhouse is out of site of the fields we are planning to use. Instead of having wifi doing the full jump I am going to run ethernet as far as possible.

At campGND we are depending on a few things that could be fickle.

  • BT Home Broadband
  • A long run of ethernet
  • Solar Cells and a battery for network power.

Our final back haul is the BT network the site is pretty off the grid for phone reception so we are stuck with BT. We have to be able to make a long hop form the farmhouse before we can do a wireless link down to the site. The solar cells will provide enough to run wireless access points during the day. I think at night we might be a little drunk to care.

I still need to do some testing of the wireless hardware but the plan is to use the following.

  • 100M run of Ethernet.
  • Injected POE, then split POE.
  • 2x WRT54G's.
  • A MikroTik access point.
  • Solar Cells for with battery backing for night time.

It is actually

campGND is coming up and it is time to start talking about my projects for the weekend. With our remote location I thought it would be fun to play with something flaming and dangerous.

Rockets were the first thing that came to mind, I haven't done much with rockets beyond launching fireworks a couple of times. Doing my first launches at campGND would probably slow everything down somewhat. I got myself a starter kit from Model Rocket Shop and some extra motors, for a bigger bang.

Iain and myself went out to Balmedie Beach to have a test run with my new toy. We got a couple of videos of the rockets going up, excuse the portrait slow-mo.

On the first launch the recovery canopy got slightly melted by the rocket motor. This meant we didn't really have any recovery mechanism for the rest of the launches. The beach was pretty deserted in the dunes so this wasn't a big deal. At campGND loosing recovery could make things a little tricky.

For campGND I am planning on adding some telemetric data to the rockets, using an Arduino and some sensors. I also want to try adding a camera to the nose cone on a rocket.