Getting Mobile on Arch – EVDO/Compass597
Nov 1st, 2008 by fynflood
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.


