Skip to content

How To Use a Cingular Sierra Wireless 875 Card on Ubuntu Gutsy

If I could find a way to do it, I would literally kick myself in the ass for not having taken the plunge earlier, but getting a Cingular WWAN card was an excellent decision.

In my defense, I have been able to use both my current and previous phone as modems, so my need wasn’t quite as dire. But such usage merely ensured that a.) both laptop and phone were continuously low on battery power, b.) that I was limited to the speed of the phone itself, and c.) that I couldn’t be online and use my cellphone simultaneously.

I tried to get one of these cards a week or two ago here in Maine, but Cingular is apparently transitioning away from the Sierra cards to ones provided by Option and they didn’t have any in stock. Although the newer cards apparently function perfectly well under Linux, I wanted to reward Sierra’s commendable decision to provide at least some support for Linux, so I waited until I was in San Francisco last week and picked up an Aircard 875.

Couldn’t be happier with the decision.

After a two year contract, the cost of the card was $50 with rebate, and the price for unlimited service is $59/month rather than $80 because my existing cell service is with them. That sounds expensive, until you consider that hotel wifi is often ~15/day, so if I spend more than four days per month in a hotel not buying their wireless it pays for itself. And regrettably, I spend more than four days in a hotel just about every month – let alone airports. Ultimately, this should dramatically reduce my connectivity expenses, and it frees me from having to pay the protection racket fees of local wifi providers everywhere.

In case you’re wondering why I chose Cingular’s service over Verizon, it’s primarily because of the coverage here in Maine. I can get EDGE speeds (two or three times dialup) here with Cingular, while Verizon phones usually can’t even make a call. In major markets like San Francisco, I connect at considerably faster rates: I was clocking mid 700’s down, mid 300’s up regularly this past week in San Francisco. Not a cable modem replacement, but more than adequate for my needs on the road.

Depending on where you travel and spend your time, similar offerings from Sprint, Verizon and so on may be better alternatives for you. I can’t comment on those, but feel free to do so if you’ve had good or bad experiences.

On Windows, the setup experience is very straightforward and takes about 10 minutes. On Linux, the setup experience is slightly less so, but not terribly complicated at all. Here’s how you do it on Gutsy Gibbon, the latest iteration of the Ubuntu distribution:

  1. Drivers: check to see whether or not you already have the Sierra drivers present by open a terminal and typing: modinfo sierra. If you get something that looks like this:
    filename: /lib/modules/2.6.22-11-generic/kernel/drivers/usb/serial/sierra.ko
    license: GPL
    version: v.1.0.6
    description: USB Driver for Sierra Wireless USB modems
    author: Kevin Lloyd
    srcversion: DF9B9270E7912A55059D7CC...

    you’re good. Proceed to step two.

    If you don’t, head over here to get the driver and follow Sierra’s instructions for installation.

  2. Scripts: this is the tricky part if you’re not a Linux person, but really all it amounts to is cut and paste. Seriously. So if you’re a Linux person, just follow the instructions here (many thanks to ITGuyonline for both figuring that out and posting his scripts). If you’re not a Linux person and need a bit more hand holding, do this.

    In your open terminal window, type sudo nano /etc/ppp/peers/cingular. Paste this:

    connect "/usr/sbin/chat -v -f /etc/chatscripts/cingular"
    user "[email protected]"
    remotename cingular
    ipparam cingular

    Then hit CTL-O to write the file.

    Next, type sudo nano /etc/chatscripts/cingular. Paste this:

    OK-AT-OK "ATDT*99***1#"
    CONNECT dc

    CTL-O to write.

    Last, type sudo nano /etc/ppp/chapsecrets, and paste this:

    "[email protected]" * "cingular1"

    Same CTL-O.

    That’s it, you’re more or less done.

  3. Connecting: plug the card into the PCMCIA slot on your machine and wait for the blue power light to steady and for a pale red light to activate next to the 2G or 3G symbols. Once that happens, type pon cingular into a terminal window and you should be off and running. Once the pale red light turns from red to blue, you’re connected. If you want to watch what it’s doing, open up a terminal window and type sudo tail -f /var/log/messages.

There are ways, apparently, of connecting this process to GUIs, either KPPD or Network Manager – Miguel did that here – but I’m too lazy. The command line is fine. What I would like, for situations where I’m on a train or some such, is to get UMTS Monitor working for signal strength purposes and such, but it doesn’t seem to play nicely w/ my card.

While the arcane nature of the above procedure may confirm for some of you the wisdom of Walt Mossberg, who determined that Ubuntu isn’t suitable for mainstream users (a claim that I partially agree with – more later), it speaks to me instead of community strength and growing corporate interest. All a matter of perspective, I suppose.

Categories: Linux.

  • dave shields

    Great post.

    I’ve written several posts lately about configuring hardware on Ubuntu. This is important — the more such posts that are put out, the more information about hardware and Ubuntu that folks will be able to find via web searches.

    Keep up the good work. (Also, please try to find time to read the two e-mails I sent you a week or so ago)

  • Pingback: links for 2007-09-15 « The Wayward Word Press()

  • Pingback: thak’s cool links » Cingular Sierra Wireless on Ubuntu Gutsy()

  • Pingback: tecosystems » Saturday Grab Bag: A Product & Services Edition()

  • James Ward

    Thanks a ton Stephen! I’ve been looking for this kind of guide for a while. I now have my 3G card working on Ubuntu and Gentoo! One less reason to boot Windows. :)


  • metjay

    Hi, thanx for that nice guide, unfortunately I get an error.

    I got:

    me@my-laptop:~$ pon cingular
    /usr/sbin/pppd: In file /etc/ppp/peers/cingular: unrecognized option ‘/dev/ttyUSB0′

    any idea?

  • michel

    I’ve tried these steps but get error message /usr/sbin/pppd: In file /etc/ppp/peers/cingular: unrecognized option ‘sudo’
    can someone tell me what i’m doing wrong

  • Dave

    I Googled this site. I had an 850 aircard working in Dapper Drake, when I upgraded to Gutsy, it broke. I used your scripts, I just replaced USB with S, and WAP with ISP to reflect my pcmcia card instead of the USB card you have. My card rocks.
    Thanks a bunch for the guide, and scripts.

  • Mike Fortier

    I had to make one change to the instructions above. But after that, I was able to get the my 875 AirCard to work. I’m actually connected with it as I’m sending this message.

    I had to change the ISP.CINGULAR to WAP.CINGULAR in step 2 in the 2nd text file (/etc/chatscripts/cingular). After that change, the blue light lit up on 3G (even though the Network icon in the upper right of my screen still say disconnected). Hope this helps someone.

  • Mike Fortier

    Sometimes my connection works, sometimes it doesn’t. It takes me 3 to 10 tries before it actually connects. It feels as if I’m getting a busy signal from cingular and I just have to call back. The blue light above the 3G turns blue, but I can’t go on the internet. If I type tail -5 /var/log/messages in the terminal window. It says the following when it doesn’t connect:
    Jan 11 15:06:20 mikemike-laptop pppd[14346]: Could not determine remote IP address: defaulting to
    Jan 11 15:06:20 mikemike-laptop pppd[14346]: local IP address
    Jan 11 15:06:20 mikemike-laptop pppd[14346]: remote IP address
    Jan 11 15:06:20 mikemike-laptop pppd[14346]: primary DNS address
    Jan 11 15:06:20 mikemike-laptop pppd[14346]: secondary DNS address

    Then, I type killall pppd to hang up the modem. When the blue light turns orange. I type pon cingular and wait until the light turns blue. If I get a connection, the DNS will read something other than the and 14. This current connection says:

    Jan 11 15:06:20 mikemike-laptop pppd[14346]: Could not determine remote IP address: defaulting to
    Jan 11 15:06:20 mikemike-laptop pppd[14346]: local IP address
    Jan 11 15:06:20 mikemike-laptop pppd[14346]: remote IP address
    Jan 11 15:06:20 mikemike-laptop pppd[14346]: primary DNS address
    Jan 11 15:06:20 mikemike-laptop pppd[14346]: secondary DNS address

    If no connection, I keep repeating the killall pppd and pon cingular until I get connected. I think someone wrote a script to do this, but I’m not so good at scripting, yet.

    Someone, please let me know if you have any suggestions on how to correct this. Or at least how to automate this redial process. Please be very detailed in your explanation, because I’m fairly new to this and don’t understand instructions when they skip steps that are usually obvious to a more experienced user.

  • Mike Fortier

    I pasted the wrong log for when I get connected. It should have been:

    Jan 11 15:15:26 mikemike-laptop pppd[17331]: Could not determine remote IP address: defaulting to
    Jan 11 15:15:26 mikemike-laptop pppd[17331]: local IP address
    Jan 11 15:15:26 mikemike-laptop pppd[17331]: remote IP address
    Jan 11 15:15:26 mikemike-laptop pppd[17331]: primary DNS address
    Jan 11 15:15:26 mikemike-laptop pppd[17331]: secondary DNS address

  • Pingback: tecosystems » The X300 Review, Part 2: Running Ubuntu Hardy()

  • blake

    I got the same /usr/sbin/pppd: In file /etc/ppp/peers/cingular: unrecognized option ‘/dev/ttyUSB0 error if you know how to fix this please help me

  • Pingback: tecosystems » Ubuntu, Drivers, and IHVs: Learning from Sierra()

  • Pingback: tecosystems » Meet Apone: The X301 Review (Linux and Vista)()