AirCard 875U with Ubuntu Linux

Submitted by Jeremy
on July 3, 2007 - 11:16pm

Having arrived in San Francisco for two months, I needed to find a reliable source for getting connected to the Internet. There was a selection of unsecured WiFi connections available from my new apartment, but all proved to be unreliable at best. I talked to a neighbor to learn that both DSL and Cable are available in this building, but in the end decided to try out a cellular device which in theory would allow me Internet access anywhere I can get a cell phone signal.

I already have a Cingular cell phone, so I explored their options to see what might be compatible with Linux. I found reports of people getting most of their devices working with Linux, but settled on the AirCard 875U USB based LaptopConnect device. It uses the 3G network, and with it I've been averaging about 750-950k down and 150-250k up. Latency is high, with the first packet sometimes taking even a couple of seconds to return, but then subsequent packets average around 100ms-200ms. I worry a little about when I visit areas that don't have a 3G network, as the device then falls back to the EDGE network which is evidently about a third as fast.

Actual configuration on Ubuntu 7.04, Feisty Fawn, was quite simple. The required Sierra driver was already included, so all I had to do was plug the AirCard into a free USB port on my T60 Lenovo ThinkPad and it was instantly recognized. From reading the Sierra Wireless support page on using the device with Linux I was worried I was going to have to first install it on a Windows computer to "activate" the device, only later realizing this didn't apply as the 875U is a GSM device, not a CDMA device. I followed the directions on their support page, and within seconds the device was connected.

The ppp0 interface was up, but I was unable to ping anything. Reviewing /var/log/messages, I finally found the source of the problem:

Jul  2 19:40:38 wanderer pppd[12752]: Serial connection established.
Jul  2 19:40:38 wanderer pppd[12752]: Using interface ppp0
Jul  2 19:40:38 wanderer pppd[12752]: Connect: ppp0 <--> /dev/ttyUSB0
Jul  2 19:40:39 wanderer pppd[12752]: PAP authentication succeeded
Jul  2 19:40:39 wanderer kernel: [ 9806.328000] PPP BSD Compression module registered
Jul  2 19:40:39 wanderer kernel: [ 9806.368000] PPP Deflate Compression module registered
Jul  2 19:40:43 wanderer pppd[12752]: Could not determine remote IP address: defaulting to 10.64.64.64

For whatever reason, the device was failing to determine the remote IP address, and instead falling back to a default (and useless) route of 10.64.64.64. Thus, all my packets were being routed to a nonexistent IP address and being silently dropped.

The next step was to figure out the real default route, simple enough using traceroute (or tracepath which is what seems to be included on Ubuntu) to a random address then looking at the second reply:

$ tracepath -n 1.1.1.1
 1:  166.129.226.21    0.097ms pmtu 1500
 1:  172.26.248.2    asymm  2 137.461ms 
^c
$

I then removed the bad default route and added this proper address as the real default route:

$ sudo route delete 10.64.64.64
$ sudo route add default gw 172.26.248.2

Finally I edited /etc/resolv.conf to add a valid DNS server (of which there are many public ones easily found with any search engine). At that point, things started working fine, though I notice a large latency the first couple packets to any address:

$ ping kerneltrap.org
PING kerneltrap.org (140.211.166.79) 56(84) bytes of data.
64 bytes from kerneltrap.org (140.211.166.79): icmp_seq=1 ttl=56 time=2390 ms
64 bytes from kerneltrap.org (140.211.166.79): icmp_seq=2 ttl=56 time=1398 ms
64 bytes from kerneltrap.org (140.211.166.79): icmp_seq=3 ttl=56 time=399 ms
64 bytes from kerneltrap.org (140.211.166.79): icmp_seq=4 ttl=56 time=100 ms
64 bytes from kerneltrap.org (140.211.166.79): icmp_seq=5 ttl=56 time=100 ms

At this point I really should investigate why the device failed to auto-detect the proper default route, but with plenty of other things commanding my attention it'll probably be quite some time before I get around to it. After following the above manual steps, the device has proved quite stable for the past 24 hours.

(I did do a little more digging, and ran into someone else with similar problems. I followed his directions, creating an /etc/ppp/peers/cingular, /etc/chatscripts/cingular, and /etc/ppp/chapsecrets, then using pon cingular to initiate the connection, but this had the same result -- I still had to manually fix the default route.)

The next thing I need to do is set thing up so I can share this Internet connection with Jamie so she and I can both be online at the same time. Unfortunately my WiFi card doesn't support Master mode, so I'm unable to set my laptop up as a wireless access point. My current idea is to buy a cheap wireless router, then to set it up to route all packets to my laptop which in turn I'll set up as a router, routing packets out ppp0. Offhand I don't see any reason this shouldn't work, time will tell.

Better speeds

on
July 8, 2007 - 1:06am

It seems that the latency issues I saw when I first plugged in this card were a network issue, as I no longer can duplicate it. Latency seems to now always be less than 200ms, and often as low as 100ms. Download speed has been consistently reaching 1024kb, and upload speeds 300kb.

Next weekend I'm taking a road trip that will give me a chance to try the device outside of 3G networks, a good test to decide if it will still be usable with the slower EDGE network.

Don't think the route is a problem

Juergen (not verified)
on
July 10, 2007 - 6:05pm

Hi,

since a couple of days I use 3G UMTS/HSDPA service on the german Vodafone network with a Merlin XU870 card.
For me it is working fine even with the default address 10.64.64.64, I get up to 295kB/s with HSDPA.

However, the card doesn't finish PPP negotiation on the first try, I always have to start it a second time, so I'm googling around a bit.

Juergen

Help me to configure my Merlin XU870 on Ubuntu please

Mario Verissimo (not verified)
on
September 6, 2007 - 6:41pm

Hi,
Can you give a Link or help me configure my Merlin XU870 on recent instalation of Ubuntu. I'm a zero on Linux Systems but if I could have Internet....Thanks

Hey. Try umtsmon :) I use

Pr4nk5t3r (not verified)
on
December 26, 2007 - 3:31pm

Hey.

Try umtsmon :)
I use umtsmon 0.6.9 and it works pretty well. You just have to find the apn and put it on a profile.

It's very beautifully.

Adam555 (not verified)
on
August 15, 2007 - 3:13pm

It's very beautifully.

I'm going to keep a watch on

Gamfa (not verified)
on
August 17, 2007 - 7:56am

I'm going to keep a watch on this since I use the same modem on Vector Linux.

Hello, i have the same issue

JB (not verified)
on
August 18, 2007 - 4:37pm

Hello, i have the same issue with bluetooth device =)
pppd have an option to set default ip and gateway, just edit your /etc/ppp/peers/cingular and add this:

":172.26.248.2"

without quotes.

If you want to set a static ip, just edit this line to "1.2.3.4:172.26.248.2", where 1.2.3.4 is your static ip =)

Some more tips ) If you are

JB (not verified)
on
August 18, 2007 - 4:40pm

Some more tips )
If you are not using pppd scripts, you can try to modify /etc/ppp/options file.

Thanks for the tips. I had

Gamfa (not verified)
on
August 18, 2007 - 10:12pm

Thanks for the tips. I had created a script to run after connecting but I'll give this a try.

Putting that entry into

Anonymous (not verified)
on
August 24, 2007 - 8:05pm

Putting that entry into Sierra's chat scrips worked great

Thanks

Mac OS X also uses 10.64.64.64

Anonymous (not verified)
on
November 7, 2007 - 11:54am

I'm pretty sure that Mac OS X was also coming up with 10.64.64.64 as the default gateway. I'll look into it but there was no issue with getting on the internet. It may of been that if it wasn't able to determine the default then it would fall back onto the ip it was assigned as the gateway. Thanks for the info. I was worried it wouldn't work on ubuntu.

Is there any way to Forward

Anonymous (not verified)
on
January 2, 2008 - 5:49pm

Is there any way to Forward Ports using a Sierra Wireless 875U?

Set up with system-config-network

bithead (not verified)
on
April 16, 2008 - 10:56pm

I just used system-config-network on Fedora 8 to set up a modem on /dev/ttyUSB0. Then I set up a "modem" connection that used Modem0. I set the phone number to *99#, and the username and password both to CINGULAR1. Woke up and worked like a charm.
The gateway is fubar as Jeremy describes, but it works anyway.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.