Playing With Linux and a USB Internet Stick

Simon Fodden recently quipped that Apple was becoming so mainstream that he might have to switch to Linux to keep his “smug sense of computer specialness.” This reminded me that, a little more than a year ago, I posted a little note here indicating that I was thinking about getting a Linux netbook and an internet stick. I eventually did just that, and thought I would offer some reflections on my experience so far.

The bad news is that most people using Linux (at least those without IT support) are going to feel “special” at least some of the time, because of the extra challenges they face. If, however, you are the sort who enjoys the sense of smug self-satisfaction that comes from solving a good puzzle, Linux may be for you.

I pretty much knew what I was getting into. I knew GNU/Linux was Unix-like (though, of course, GNU’s Not Unix.) I’ve been using Unix shell accounts for one thing or another for over 20 years. In ancient times, that’s what the universities would give you for e-mail and web-sites. That ended when IT departments realized that most of the people who wanted to do e-mail and web-sites weren’t going to learn how to stay out of trouble with a Unix shell account. When that day arrived here at York, I got a shell account with an off-campus service provider. I’ve switched providers once since then, because I wanted to play with some Java applications (Apache Tomcat and Cocoon, particularly) that let you use XSLT on a web-site. (It’s not the only way to do it.) When I’m feeling brave enough, I’m going to upgrade to a VPS (Virtual Private Server) account so that I can be “root” and really get into trouble. I thought that using Linux on a netbook would help to prepare me for that, and things seem to be on track. I’m learning a lot.

If you think this resembles a continuing education project, you’re exactly right. FOSS is free and open-source software, and the open-source part should probably be more important to you than the free part if you want to do Linux as an individual. I bought a Dell Mini 10v with Ubuntu pre-installed, and nothing more. I could have had Windows too for the same price, but I just didn’t want to complicate my machine.

Getting a machine with Ubuntu pre-installed was just me being timid, I suppose. I figured Dell would probably play it pretty safe, and, as a Linux newbie, I wanted to see what their configuration looked like. My Dell came with version 8.04 (alias “Hardy Heron”), which is a long-term support release. I don’t think it will be many more months before I decide to overwrite my machine with a version from http://www.ubuntu.com/. I will probably do it when the next long-term support release (Lucid Lynx 10.04 LTS) comes out. Dell maintains its own repositories, presumably to keep the lay-support problem manageable, and they have hobbled the part of the upgrade manager that lets you do version upgrades. Apparently, that’s because of copyright issues with some proprietary drivers that they felt they needed to install. At this point, I don’t know if it’s possible just to undo Dell’s hobbling. Assuming an overwrite would be best, I would need to find out what those proprietary drivers are, and convince myself that I don’t really need them.

Dell’s actually pretty close to having something that people can just use without having to learn too much. Though learning was sort of the point for me, I wouldn’t actually have had to learn very much if it wasn’t for wanting an internet stick. As noted below, it will be simple to use an internet stick in newer versions of Ubuntu too.

These are interesting times in the mobile broadband market. Even the courts are taking an interest: Bell Canada v. Rogers Communications Inc., 2009 CanLII 39481 (ON S.C.), Telus Communications Co. v. Rogers Communications Inc., 2009 BCSC 1610 (CanLII), and “Rogers-Bell Advertising Dispute Heading to B.C. Supreme Court” (Teleclick.ca, Dec. 9, 2009).

I chose the ZTE MF668, available from Rogers, mostly due to inertia. I already dealt with Rogers for cellphone, cable, and cable-internet, and this stick can use the new HSPA Plus 21Mbps network: Luann Lasalle, “Rogers launches faster network for mobile Internet for laptop, netbook users“. (The Novatel U998, available from Bell, and the Sierra 306, available from Telus, seem comparable. I haven’t seen any announcements yet on the sticks that Wind Mobile will offer in Canada.) I opted to have my new data plan expire along with my cell phone plan, because, in the long-run, tethering seems to make sense. Maybe the smartphones will get to be as fast as the sticks, or maybe I will decide the difference in speeds doesn’t matter to me. One modem and one data plan should be enough.

None of Rogers, Bell or Telus claims to provide support for Linux. Support comes from the Linux community. Here, for example, is an Ubuntu page, “NetworkManager/Hardware/3G“, surveying progress involving the Network Manager and 3G hardware. I’m using wvdial and GnomePPP instead for now, following the lead of GeorgeVita and shailendra in “HOW TO: Use USB modem on Ubuntu 8.04 Hardy Heron“.

As often happens, something which is done to give the appearance of making things simpler actually makes them more complicated. The sticks come with some software from Option NV called “Zero-CD”. (Application Number 1420681 in the CIPO Canadian Trade-marks Database.) This software mounts the stick as if it were a cd-rom from which, in Windows 2000, XP, Vista, or Mac OS X 10.4 or above, some software is automatically installed. In Ubuntu 8.04, this is just a nuisance. With the “cd-rom” mounted, lsusb showed vendor 19d2 and product 2000. Eject the “cd-rom”, and the product was 0017 instead.

Ubuntu 9.10 and above include a module called usb_modeswitch which handles switching back and forth. To solve the problem in 8.04, the simpler (and more interesting) option was to use minicom to tell the stick not to pretend to be a cd-rom anymore. The way to do that was with a Hayes-style modem command, “AT+ZCDRUN=8”. (The best documentation I found for this–“How to use a USB data modem without the Connection Manager“– was on the site of the Australian subsidiary of ZTE.)

The standards work that now seems to matter most in Canada appears to be happening at http://www.3gpp.org/. (The other guy is http://www.3gpp2.org/.) The former site has a specification 27.007, “AT command set for User Equipment (UE)“, which suggested other ways to probe the stick. “AT+CLAC”, for example, returned a list of available commands (not–arghh!–including “AT+ZCDRUN=8”.) Another useful one was “AT+IPR=?”, which told me that the maximum baud setting was 460800.

The next thing was to do what GeorgeVita suggested in “HOW TO: Use USB modem on Ubuntu 8.04 Hardy Heron“: create a “/etc/udev/rules.d/90-zte.rules” file, and reboot. The udev command associates the zte modem with the usbserial module. All this is way beyond my depth, but interested readers can learn more in two articles in Linux Journal by Greg Kroah-Hartman, “The USB Serial Driver Layer” (Feb. 1, 2003) and “The USB Serial Driver Layer, Part II” (April 1st, 2003), as well as Daniel Drake’s “Writing udev rules“. For those using later versions of Ubuntu, it will be either more complicated or simpler: “usbserial.ko missing in Jaunty“. It’s also worth noting that the usbserial driver (or an old version of it) might not be the best match for any given modem: “Poor HSUPA Throughput with option driver“.

The next step was to see if I could make an internet connection using the wvdial program. The best thing, though, was to run the wvdialconf command first. This program was smart enough to create a wvdial.conf file which only needed a little bit of additional tweaking.

Once I had a good wvdial.conf file in place, I found that gnome-ppp gave me a simple graphical interface for everyday use.

I suspect that this setup would benefit from additional tweaking. I also have to figure out what to do about version upgrades for Ubuntu, since it’s clear that the community has recently made and is still making a lot of progress in improving support for various modems. At the moment, though, other things are higher on my to-do list.

I hope this provides a bit of insight into what life with Linux is like. I still have a ton to learn, but I’m finding it fascinating.

Comments

  1. I’ve never delved in the Linux world. Thank you for sharing, John! Your references and links will be useful if I ever try.

  2. You may be interested to know that one of the big carriers is trying to support Linux:

    http://www.betavine.net/bvportal/resources/datacards

    Kind regards, Nicholas Herriot

  3. Great article.

    I have recently installed Ubuntu 9.10 Netbook Remix on twelve Dell Inspiron mini 10 netbooks and configured them to use cellular modems from Telus (see Telus, Ubuntu, and USB Cellular Modems).

    I successfully installed the following cellular modems: Sierra Wireless USB 598, Sierra Wireless USB 306, and Huawei E182E.

    There is a bug with the Sierra Wireless USB 306 (and probably pppd) that is causing DNS/nameserver issues.

    Overall I have had great success with cellular modems from Telus, Ubuntu, and netbooks.

  4. i searched 2 hours to find out how it works with Ubuntu. thanks for this blog :-)

  5. John,

    thanks, we used your description to enable the Rogers ZTE 668 into our PBX system – making a “Mobile PBX” appliance. We have sucessfully tested 4 simultaneous calls.

    Now we can support almost all 3G sticks in any of our PBX systems with usb: http://www.positrontelecom.com

    We did have to overcome some issues with slower USB chipsets that were killing the voice quality but I suspect that most PC or laptops wont have this issue any more.

    Regards,

    RIchard

  6. charles goodall

    Hi John
    I am glad to find your commentary here.
    I have just installed Ubuntu 10.04 on my machines here at home. Have been using Ubuntu for a while and like it very much.

    I live in a rural area where standard internet services are not provided, and where I can get a “rocket stick” or alike and I am considering doing that. However, I am trying to figure out how to put a usb stick onto a simple network of two computers, (router, hub …) either with existing ethernet cables, or wirelessly.
    Have you discovered any information that will help me to accomplish my task? (After many installations and upgrades I am beginning to feel comfortable with Linux and I know that your commentary about usb sticks and Ubuntu will be helpful. Thank you.

  7. get a USB router that works with the usb modem stick, plug it in and that should be all you need. Cradlepoints 3G mobile broadband travel router is one example. It can be used for either a USB or ethernet modem. I’ve bought one, though haven’t set it up yet.

    DC