Reply to comment

Telecom New Zealand 3G CDMA card under Linux

Once upon a time I bought a Telecom New Zealand "3G" CDMA card (Sierra Aircard 580) so I could be better connected in those places where broadband doesn't reach. When I bought it I needed to do a lot of investigation and playing around to get it going, so I wrote it all up.

Times have changed now, but I'm still using the same 3G card... For comparison purposes, and so people don't think it's still that hard, I thought I would write up here what it took to get this going on my new laptop.

First Step

It is likely that you still need to follow the first step listed in my old document: i.e., to ensure that the device is actually activated with the Telco!

Second Step

Plug the card in.

Having plugged the card in it was automatically detected and all the appropriate magic was done to create the necessary /dev/ttyUSB0 device node so we can use it for dialout. This was with Linux 2.6.20 kernel and 0.105 of udev but I think it's been all workingness for some time.

Third Step

Configure PPP.

I run pppconfig (as root) to configure the card, but I'm sure you could use "gnome-ppp", "wvdial", "kppp" or something else that takes your fancy. The critical points are:

  • The number to dial is "#777"
  • You need to use PAP authentication
  • The username is "mobile@jamamobile" (for Telecom New Zealand, at least)
  • The password is "telecom" (ditto)
  • Other default PPP settings will hopefully work (create a default route, use supplied DNS, ...)

Hopefully, at this point, everything will be working for you.

Troubleshooting

Well, really, all of this (and much, much more) applied to my earlier information, and I'm sure there are better pages out there on "HOW TO CONFIGURE PPP", but here's the basics of troubleshooting it anyway.

So if, for some reason, you have problems with the above then check:

1. Did you actually connect?

You might have connected, but your default route or DNS might not have been set up. You can use the /sbin/ifconfig command to see if there is a ppp0 device, /sbin/route to see if you have a 'default' route and ping www.bbc.co.uk (or some any website you have not visited recently) to see if ping replies with:

PING www.bbc.net.uk (212.58.240.32) 56(84) bytes of data

as it's first line (then press [CTRL c]. Some websites don't respond to the ping itself, but as long as the first line displays the IP address next to the name then DNS resolution is working.

If all three of those things are working, but you still can't see any web pages, then you may need to change your browser configuration to disable any proxy you may use when you are connected to your LAN or wireless LAN.

2. No Default Route

Something has gone wrong with the PPP connection if it didn't create a default route, but if you only have a single route in your /sbin/route output, and no line saying "default" at the bottom then you can add one manually.

In the output of the 'route' command you will see a line that ends in 'ppp0' and starts with a number, something like this:

aaa.bbb.ccc.d * 255.255.255.0 U 0 0 0 ppp0

Using that number, type in the following command (as root, or using sudo):

/sbin/route add default gw aaa.bbb.ccc.d

Where 'aaa.bbb.ccc.d' is the number from the earlier '/sbin/route' command, of course.

My Own Configuration

I used pppconfig to set this up, and I call my connection 't3g', which translates to some of the filenames, so that name might be different for you.

/etc/ppp/peers/t3g

You probably will want to comment out 'debug' when you get it going, and you may also want to change 'nodetach' to 'detach' to put it in the background once it's connected. I just leave it up in the terminal when it's running, however, so I can see if the connection has dropped.

nodetach
ttyUSB0
# 115200
460800
debug
noauth
defaultroute
usepeerdns
user mobile@jamamobile
# show-password
crtscts
lock
connect '/usr/sbin/chat -v -t3 -f /etc/chatscripts/t3g'

# Possibly these pppoe options also should be included...

# RFC 2516, paragraph 7 mandates that the following options MUST NOT be
# requested and MUST be rejected if requested by the peer:
# Address-and-Control-Field-Compression (ACFC)
noaccomp
# Asynchronous-Control-Character-Map (ACCM)
# default-asyncmap

# Do not try to negotiate other kinds of compression.
nopcomp
noccp
novj
nobsdcomp
nodeflate
nopredictor1


lcp-max-configure 90

/etc/chatscripts/t3g

This is a fairly standard set of modem configuration options, and then the phone number gets dialled at the end:

'' 'AT'
'OK' 'ATE0V1&F&D2&C1&C2S0=0'
'OK' 'ATE0V1'
'OK' 'ATS7=90'
'OK' 'ATDT#777'

/etc/ppp/pap-secrets

Will need to have a line for the password, like this (it won't be the only line though):

mobile@jamamobile * telecom

If it still isn't working

If you can't get it working from this point, then you probably have a different whatever-it-is than me, and I probably can't help you. Maybe it is device driver debugging that you need (/dev/ttyUSB0 is not created, perhaps) or maybe it is ppp debugging (if it is). Google Is Your Friend (tm).

Reply

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options