To connect to an Airport Express access point on a Mac or iPhone you can generally just enter the "WPA Password" which is a relatively short password string that is configured into the Airport using the Airport Utility. To connect from some platforms, such as Ubuntu Linux, it is necessary to enter the hexadecimal version of that password since it expects to see a WPA Pre-shared key; this ends up being a string approximately twice as long, but the translation is via a non-trivial algorithm (PBKDF2) (RFC2898) which mixes in the SSID so there is not a direct correspondence.

Fortunately the Airport Utility has a method to get the required WPA Pre-shared Key in hexadecimal form ready to be entered into the Ubuntu Linux WPA authentication box. To do so:

  1. Run the Airport Utility (Applications/Utilities)

  2. Go to the appropriate base station (and authenticate to administer it if required)

  3. Choose Manual Setup (so you can get at advanced options)

  4. Go to Base Station -> Equivalent Network Password... from the menu at the top of the screen

  5. A dialogue box appears with both the WPA Password form and the hex encoded WPA Pre-Shared key

(ETA 2010-11-23: clarified where to find "Equivalent Network Password" menu option.)

There is another option to recover the WPA password, without accessing the Airport administration interface, by accessing it from the Apple Keychain, as described in the comments on this article:

  1. Run the Keychain Access utility (Applications/Utilities)

  2. From the "login" keychain

  3. Find the name of the wireless network with "Airport Network Password"

  4. Double click on that entry to bring up the details

  5. Tick "Show Password" and enter your password to authenticate displaying the wireless password

However this method only gives the WPA Password used by the Mac, and not the hex encoded version that can be used on other platforms; there are Javascript implementations of the translation algorithm if needed. (The technique described in the article itself doesn't appear to work on Mac OS X 10.5 or 10.6; presumably it only worked up until OS X 10.4.)

Other than the need for the hex WPA Pre-Shared Key, and the inability to administer the Airport (which relies on an OS X or Windows binary), Ubuntu Linux appears to work fine with the Airport Express. (Although the Windows version of the Airport Utility may run under Wine; some people report success although it appears the airport detection doesn't work so you have to manually specify which airport to configure. There's also airport-utils which can configure some airports directly from Linux, but it appears mostly the older ones.)

And now for something completely different: how to be a photographer, by someone taking the artistry side of it seriously.

ETA, 2010-06-20: It turns out that the Sokeris 4501 (about US$150 qty 1, plus case and power supply) single board computer (with a 486-class AMD Elan processor) can be turned into a high precision (under 5 microseconds error) NTP server with some small hardware modifications by utilising built in high precision IO ports and the GPS PPS ("Pulse Per Second") signal. (";LOGIN:" August 2009 (Vol 34, No 4), pp45-55 describes this in detail; based on work by Poul-Henning Kamp on the Soekris 4501 as a time source -- PHK has (or had) quite a few GPS antennas on his roof, and wrote his own NTP server!). For the truely dedicated, the CPU clock on the board can be replaced with a temperature stable clock (see generally John Ackerman's pages on NTP sources).

(Even more randomly, getting PPS data from the flashing LED on an electricity meter through opto coupling; unlike PHK's one, mine actually flashes yellow -- although there's apparently a plan to replace the meters with digitally remotely readable ones which may not even do that.)