My job requires the internet. As such, Laughing Squid provided me an EVDO. The Sprint Compass597 USB to be exact.
I’m also the only one on the job not using a Mac. For them, it’s plug-and-play like everything else (Not so plug-and-play on Windows). Once I spent some time with Google, I couldn’t believe how easy this is.
I’m running Arch now, but have also used the same set up for Fedora and Slackware. A recent Kernel is a must, I had to upgrade the Slackware box from a 2.6.18 to a 2.6.24, but if you’re using anything mainstream, it shouldn’t be an issue. I hear Ubuntu 8.10 should have this available in NetworkManager settings.
You need WvDial, and of course its dependencies, namely WvStreams. On Arch, this is simple:
pacman -S wvdial
Plug you EVDO in and run ‘wvdialconf’. If it sees you EVDO, you’ll see something similar to the following:
[root@solanum fynflood]# wvdialconf
Editing `/etc/wvdial.conf'.
Scanning your serial ports for a modem.
ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
Modem Port Scan<*1>: S1 S2 S3
WvModem<*1>: Cannot get information for serial port.
ttyUSB0<*1>: ATQ0 V1 E1 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB0<*1>: Modem Identifier: ATI -- Manufacturer: Sierra Wireless, Inc.
ttyUSB0<*1>: Speed 9600: AT -- OK
ttyUSB0<*1>: Max speed is 9600; that should be safe.
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
WvModem<*1>: Cannot get information for serial port.
ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
ttyUSB1<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
WvModem<*1>: Cannot get information for serial port.
ttyUSB2<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB2<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
ttyUSB2<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
Found a modem on /dev/ttyUSB0.
Modem configuration written to /etc/wvdial.conf.
ttyUSB0<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
Otherwise, you’ll see:
Sorry, no modem was detected! Is it in use by another program?
Did you configure it properly with setserial?
If that’s the case, off to google you go with you.
You’ll notice it created a config located at /etc/wvdial.conf. Back that up, and edit it to look like this:
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
ISDN = 0
Modem = /dev/ttyUSB0
Baud = 460800
Phone = #777
Username = `'
Password = `'
Carrier Check = no
Stupid Mode = yes
Note, the Username and Password are meant to be empty.
Yes, it’s that easy. Once that is in place, just run ‘wvdial’ as root and you’re ready to internet. Run ‘ifconfig’ to make sure you got an IP address:
ppp0 Link encap:Point-to-Point Protocol
inet addr:70.9.167.49 P-t-P:68.28.153.85 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:64 (64.0 b) TX bytes:97 (97.0 b)
Enjoy.
EDIT: I found that after running ‘pacman -Su’ and getting a newer kernel, you need to load the module ‘ppp_generic’ before wvdial will connect. Running ‘modprobe ppp_generic’ will get you going. So it’ll work after reboot, just add it to rc.conf.