This document briefly describes how to set up Linux to use Optus Australia's 3G network with Linux. I used an Optus branded GlobeTrotter 3G Quad PCMCIA card. The model is written on the underside of the card.
The pppd configuration is pretty easy once you know the correct settings. This article does not cover the mobile IP features you get using the Windows based drivers and software. This is a simpler PPP "dialup" configuration.
You first need to ensure that the card is recognised by your Linux machine. Plug it in, the lights should flash for a while and settle down to a single blue light flashing.
The card provides a USB hub and 4 USB serial ports! We only use the first one.
The hotplug framework of your distribution should load the 'option' and 'usbserial' drivers automatically. When the card is plugged in you should see /dev/ttyUSB[0-4]. This works out of the box on at least Fedora Core 4 and 5, and should work on most modern Linux distros.
If this step doesn't work for you then try the advice at the PHARscape GlobeTrotter HOWTO.
To establish a connection, pppd is used. The PPP connection is actually between your machine and the card. The PPP protocol isn't used over the 3G network.
Create a file called /etc/ppp/peers/optus-3g and with the following content:
/dev/ttyUSB0 460800 lock crtscts modem noauth defaultroute user guest password guest connect "/usr/sbin/chat -V -f /etc/ppp/chat-optus-3g" noipdefault usepeerdns nobsdcomp novj
The username and password don't matter at all. Any values here will work.
nobsdcomp and novj are important. The card doesn't support compression.
Now create /etc/ppp/chat-optus-3g. This specifies the AT commands sent to initiate the connection.
ABORT BUSY ABORT 'NO CARRIER' ABORT ERROR REPORT CONNECT TIMEOUT 10 "" "ATZ" OK "AT&F" OK "AT_OPSYS=1" OK 'AT+CGDCONT=1,"IP","connect"' SAY "Calling...\n" TIMEOUT 120 OK "ATD*99***1#" CONNECT \c
- The important bits here are:
- AT_OPSYS=1 - use 3G only (no fallback to 2G)
- AT+CGDCONT=1,... - specifies the Access Point Name (APN) to use ("connect" in this case). This is critial.
- ATD*99***1# - "Dial" to establish the connection. Only this specific phone number works.
Now start pppd using:
pppd call optus-3g debug nodetach dump
You should see a dump of the pppd options being used, the setup conversation (AT commands) and then the PPP negotiation. Try the link out then hit CTRL-C to drop the connection. Once you're happy with the config you can start pppd in the future without the debug nodetach dump options.