Here's a picture of the Three Nicks at BSDCon 2000. From left to right is Nick Hibma, Nik Clayton and me. Nik gets to be an honorary Nick, 'cause who's going to quibble about a single letter when the pronunciation is correct?


Twice in the last 10 years have I changed my prefered desktop. The first time was going from just plain text consoles to Openlook. I've been a happy openlook user for that long. But within a week of trying KDE I have switched all my machines over to it. I went so far as to make kdm (like xdm, but K) the login screen for my machines. Doing this required some slight changes I'd like to recommend:

Novatel Merlin

I now own one of the most amazing devices I have yet come across. It's the Novatel Merlin. It's a PCCARD CDPD modem. Using Merlin under FreeBSD is almost painlessly trivial. It looks to the pccard stuff just like an ordinary modem card. You then set up PPP with the script I devised for Sage below, but with the device that the PCCARD daemon assigns, and it magically works. Alas, you don't get the blinking lights like on Sage, but there is a little curses application in the ports called merlinmon that serves the same purpose as the windows Opcenter stuff.

You can fetch the MSCI protocol spec used by merlinmon from Novatel.

The only trick to getting Merlin (or Sage, the external serial version of merlin) to work is setting an MRU of 576 (which is the MRU that SAGE asks for).

Here is a ppp.conf file fragment that should work:

 set openmode active
 set mru 576
 set device /dev/cuaa0
 set speed 19200
 set dial "ABORT ERROR \"\" AT\\\\APPP\\r\\c CONNECT"

With this file in place, just say 'ppp inet' to bring up the link.

Motorola iDEN / Nextel data service

Unfortunately, CDPD service sucks around where I live, so it has been necessary to set up an alternative. I have a Nextel phone, and for an extra $10/mo and the price of a serial cable, I can make data calls. Unfortunately, Nextel isn't an ISP, so you need to either set up a modem to dial into or have a dialup ISP account. Also, the calls are at 9600 bps, which is actually less bandwidth than CDPD. My experience, however, has been that the reliability has been higher and the latency is actually much lower. Lastly, and most significantly, the calls are billed exactly like voice calls -- by the minute (fortunately, my plan has a lot of minutes).

There are a couple of tricks to setting this up.

  1. Rather than counting on autobauding, you should set your phone to expect a particular speed. I use 57600, which is the top speed a Palm can do.
  2. The dial string should be set like this:
               \"\" ATZ OK-ATZ-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 60 CONNECT"
  3. Specify the phone number as the area code and phone number (no 1 in front)
That's about it. I used to use ucom and uvscom to talk to an IOGear UG-232A serial port connected to the phone's serial cable, but recently I upgraded to the USB cable made for the phone, which works perfectly with the umodem driver.

Update! There's a new service offered by Nextel called PacketStream. It is a direct Internet connection (though their unmeasured service goes through a NAT gateway), so no ISP is required, and it is either unmeasured or (depending on the plan you pick) measured by the kilobyte, not the minute. I've been getting something like 20 kbps over it, so it's sort of like 1st generation Ricochet. You can also receive phone calls while using it (though it does stop data I/O). You simply dial the phone number "S=2" and you're connected.