Thursday, November 22, 2007

Cradlepoint CTR-350: Wifi Anywhere!

I've been coveting this little device ever since I first heard of it, earlier this year.


What does it do, you ask? Well, it couldn't be simpler. You take your Sprint EVDO USB modem, plug it into this small device (which is about the size of a pack of smokes), and boom, you've got an instant wifi hot spot.

Why would you want to do that? Sure, you can plug your Sprint modem into your laptop. But that means it only works with one computer at a time, and that computer has to have drivers and support for the Sprint modem.

What if you want to meet up with friends to do a bit of mutual geeking out? Starbucks has wifi, but it'll cost you. Wouldn't it be more fun to meet up at the local pub, even if the pub doesn't have wifi? Just bring along the Cradlepoint CTR-350 travel router, plug it into the electricity, and you've got an instant wifi access point.

Heck, if I ran a bar, or a coffee shop, I'd look at using this to cheaply and easily offer internet access to my customers. It's probably cheaper than what a cable or DSL provider is going to charge a business for a similar setup.

Let's break down what it actually costs. Sprint EVDO is $59/month. The Sprint USB modem will cost anywhere from $79-$279, depending on what your plan is and whether or not you're a new customer. And the Cradlepoint router is only $149. So for around $400 in hardware, and $59 a month, you've got an instant wifi hotspot for your business. That's got to be priced comparable, if not cheaper, than an actual commercial hotspot solution plus line and connectivity charges.

I'm not sure if the Sprint terms of service allow this, but I won't tell if you won't.

I'm not a security wonk, so I can't talk in great detail about the security capabilities of the device. At a glance, it seems to have everything you need, with support for WEP and WPA encryption.

It has an easy web-based control panel where you can configure all the relevant options. There are detailed settings that go far beyond whatever I'd need. So if you need to set up NAT, inbound port mapping, or special settings to give gamers' packets priority over others, you should be able to do configure the router to handle any/all of those requirements.

I've logged into the setup screens, but the only changes I've made were to change the SSID (visible network name) of the wifi network and change the default passwords. The device has separate user login and administrator passwords, of course.

I've left it configured so that it's open and unlocked, in a sort of “Starbucks-like” mode. By that I mean, anybody can connect, but they don't get internet access until they launch a web browser and enter a password.

This device doesn't have any flaws that I can find. I haven't done any serious throughput testing, but it seems fine and I managed to do a whole day's worth of work over a VPN connection through it yesterday. It didn't feel any better or worse than connecting directly over the Sprint modem via a USB connection.

The only problem I had at all was connecting my T-Mobile Wing cell phone to the wifi network. The web browser on my Windows Mobile phone shows the login screen just fine, but the submit button doesn't work. Maybe it's script based and not supported by the lite version of Internet Explorer found on my phone. That's a very minor issue as far as I'm concerned.

I see myself using this quite a bit in the near future. I travel quite a bit for work, and I'm always working out of different offices here in Chicago or elsewhere, coffee shops, or my home. This means just about every day I'm connecting to work from some different network, and subject to that network's flakiness or potential down time. And when our cable goes down at home, (as it has on occasion) I can turn on the Cradlepoint router, and both my girlfriend and I can jump back online and get done what needs to be done. Or, sometimes I'll have two computers running at the same time, one crunching big numbers for work, and the other with my email and RSS feeds open. Now I can keep this going, even if the network's down wherever I am.

Cradlepoint didn't pay me for this review, and I bought the device at full price directly from them. But, if they decide they like me for this, they should feel free to send me another one so I can send it to one of my friends in Minneapolis. I know he'd find it handy! :-)

(Random note: I wrote this review in OpenOffice on my new Asus Eee PC, while connected to the net via the Cradlepoint. I'm loving the Eee, and the Cradlepoint router makes it easier to share connectivity between my primary Windows laptop and the cool Linux-running Eee. Look for more thoughts from me about the Eee in the near future.)

Monday, November 19, 2007

Asus Eee PC and Sprint EVDO? Easy!

Like every other UMPC-toting geek out there, I broke down and bought an Asus Eee PC. It has a form factor I love, plus an actually-usable keyboard on which I can touch type. And at $399, it's the absolute cheapest laptop you can with this small of a form factor.

I figured it's be pretty hard to get my Novatel U720 EVDO USB modem working with it; I've used Linux before, but I'm not very knowledgeable when it comes to system internals and modem configuration. But, after giving it a shot today, it turned out to be super easy.



Here's how I did it.
  1. Go download the Linux PDF howto guide from Sprint's download page. You actually might not need this, but it might come in handy. (The guide focuses on KPPP, which doesn't help us as KPPP doesn't seem to be pre-loaded on the Eee.)
  2. Start up the Eee, and open up a console window. (Home -> Work -> File Manager -> Tools -> Open Console Window)
  3. Type the following commands:
    sudo modprobe -r usbserial
    sudo modprobe usbserial vendor=[VendorID] product=[ProductID]

    For the VendorID and ProductID, get those from this chart, which came from the Sprint instructions. For example, I have a Novatel U720 USB modem, so I typed:
    sudo modprobe usbserial vendor=0x1410 product=0x2110
  4. Now we need to create a handful of PPP scripts. Run this command:
    cd /etc/ppp/peers
    This will move you to the directory where these PPP scripts go.
  5. Type sudo nano sprint and an empty text editing window will open up in the simple "Nano" editor.
  6. Paste in this info:
    #the USB serial device of the EVDO PCMCIA card.
    ttyUSB0
    #your login information
    user YOUR_NUMBER@sprintpcs.com
    230400 # speed
    #debug
    defaultroute # use the cellular network for the default route
    usepeerdns # use the DNS servers from the remote network
    -detach # keep pppd in the foreground
    crtscts # hardware flow control
    #lock # lock the serial port
    noauth # don't expect the modem to authenticate itself
    connect "/usr/sbin/chat -v -f /etc/ppp/peers/sprint-connect"
    disconnect "/usr/sbin/chat -v -f /etc/ppp/peers/sprint-disconnect"
  7. Use the arrow keys to move to where it says YOUR_NUMBER. Delete that out and replace it with your Sprint modem's phone number.
  8. Hit ^X (control plus the X key).
  9. Answer yes when asked if you want to save.
  10. Hit return when it asks the filename; it will already be specified.
  11. Type sudo nano sprint-connect to open a new Nano editor window, then paste in this info.
    #time out is 20 because sometimes the card takes a little while to initalize
    TIMEOUT 20
    ABORT 'BUSY'
    ABORT 'NO ANSWER'
    ABORT 'NO CARRIER'
    SAY 'Starting Sprint\n'

    '' 'AT'
    'OK' 'ATQ0V1E0'
    'OK' 'ATZ'
    'OK' 'AT&F'
    # Dial the number
    SAY 'Connecting...\n'
    'OK' 'ATDT#777'
    CONNECT CLIENT
  12. Save this file by hitting ^X, like you did above.
  13. Type sudo nano sprint-disconnect to open a new Nano editor window, then paste in this info.
    "" "\K"
    "" "+++ATH0?
    SAY "Disconnected from Sprint."
  14. Save it by hitting ^X, like you did before.
  15. Now, to connect to Sprint, type:
    sudo pppd call sprint
It should connect, then sit there doing nothing. If it worked, you're online. Launch a web browser and surf on over to Google.

If it didn't work, try rebooting with the USB modem connected. Also try disabling the Wifi or wired ethernet, if that's how you're connected currently.

When you're done using the modem, go back to this window and hit ^C (control + C). That should close the Sprint connection, and tell you that it has been closed.

Credit: I got much of this info from this Ubuntu Forums post. I copied and cleaned up the actual information to paste, as the forum post copy had curly quotes that kept it from working.

All told, this only took about 15 minutes to set up. If you're not afraid of creating a text file or opening a shell window, it probably won't take you any longer than that to get up and running.