Gentoo Wiki




Sprint's high-speed wireless service works well providing you happen to be in a Sprint service area and you are using Microsoft Windows. I can't help you out with service area issues, but I can help prevent you from dual-booting into Windows just to have Internet access when you are out and about.

This HOWTO is a modified version of Kyle Usbeck's original HowTo. Kyle has kindly given his permission to have his original article mangled and placed here for your benefit.

Kernel Configuration

Make sure the following kernel options have been selected. You should be able to either compile these options into the kernel or compile them as modules. Either way has worked just fine for me.

Linux Kernel Configuration: USB AirPrime CDMA Wireless Driver
Loadable module support  --->
  [*] Enable loadable module support
  [*]   Module unloading
  [*]     Forced module unloading
  [*]   Automatic kernel module loading

Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->
  PCCARD (PCMCIA/CardBus) support  --->
    <M> PCCard (PCMCIA/CardBus) support
    [*]   32-bit CardBus support
    <M>   CardBus yenta-compatible bridge support

Device Drivers  --->
  USB Support  --->
    <M> Support for Host-side USB
    <M> OHCI HCD support
        USB Serial Converter Support  --->
          <M> USB Serial Converter support
          <M>   USB AirPrime CDMA Wireless Driver
          <M>   USB driver for GSM and CDMA modems

The Merlin S620 PCMCIA card is basically a PCMCIA to USB converter and USB modem. The USB converter uses an OHCI_HCD compatible chipset, hence the need to add OHCI HCD support.

Because I am unaware of any particularly bad reason to do so, I also enabled support for Automatic kernel module loading to automate the loading of the above kernel modules. I also suggest enabling support to unload modules as I have found that useful in troubleshooting other issues.

At this point, you'll want to go ahead and rebuild your kernel and/or modules. If you are unsure of how to make manual modifications to your kernel, or just unsure how to build and install the modules, I suggest you take a look at Kernel. Don't forget to reboot before continuing to the next sections.

I added the last option and changed to spacing of the drivers that were required to get this working with the Novatel Merlin S720/EX720. I'm still trying to reproduce the exact steps, but after following everything else in this guide I added the additional driver to the kernel and was eventually able to connect. I was configuring on the 2.6.22-r8 kernel (and airprime doesn't appear to be loading itself by default). --dragon_788

Installing Required Software

To connect to the Sprint network, you will need to have both ppp and wvdial installed.

# emerge --update --ask net-dialup/ppp net-dialup/wvdial


Determine the AirPrime's port

You will now need to insert the Merlin S620 into an available PCMCIA slot. You'll need to determine on which port the AirPrime has been attached.

# dmesg|grep airprime|grep ttyUSB
usb 6-1: airprime converter now attached to ttyUSB0
usb 6-1: airprime converter now attached to ttyUSB1
usb 6-1: airprime converter now attached to ttyUSB2
usb 6-1: airprime converter now attached to ttyUSB3
usb 6-1: airprime converter now attached to ttyUSB4
usb 6-1: airprime converter now attached to ttyUSB5

You will probably see several airprime converter now attached to... entries as a result of the above command. Use the first one shown. In the above example, ttyUSB0 is the device we need to use in our scripts.

Special Note

The wvdial.conf creation step works for me on every computer I've tried it on except when trying it on my T60 ThinkPad, at which point my system undergoes a deep freeze. I'm still trying to figure out why that happens, but until I do, here's my wvdial.conf file in case you encounter the same issue.

Warning: Please try following the Creating_wvdial.conf step before using the file as given below.
File: /etc/wvdial.conf
[Dialer Defaults]
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
ISDN = 0
Init1 = ATZ
Modem = /dev/ttyUSB0

Creating wvdial.conf

As root, or using sudo, execute the following:

# wvdialconf /etc/wvdial.conf
Note: According to the wvdialconf man page, it's safe to do this even if you have an existing /etc/wvdial.conf file. If you do have an existing wvdial.conf file, the required information should be appended. I still suggest you make a backup of the file before executing this command.

PPP Dial-up Scripts

First create the sprint dial-up script.

# vi /etc/ppp/peers/sprint
Note: Be sure to substitute your card's telephone number for 1234567890. You will also need to make sure you are specifying the correct port, ttyUSB0 in this example.
File: /etc/ppp/peers/sprint
#the USB serial device of the EVDO PCMCIA card.
#your login information
921600 # speed
defaultroute # use the cellular network for the default route
usepeerdns # use the DNS servers from the remote network
-detach # keep pppd in the foreground
crtscts # hardware flow control
#lock # lock the serial port
noauth # don't expect the modem to authenticate itself
connect "/usr/sbin/chat -v -f /etc/ppp/peers/sprint-connect"
disconnect "/usr/sbin/chat -v -f /etc/ppp/peers/sprint-disconnect"
lcp-echo-failure 0
Note: lcp-echo-failure 0 was added to the above script to avoid some disconnects which would occur after just a few minutes of being connected.

Next create the sprint connect script.

# vi /etc/ppp/peers/sprint-connect
File: /etc/ppp/peers/sprint-connect
SAY 'Starting Sprint\n'
'' 'ATZ'
'OK' 'AT&F0'
'OK' 'ATE0v1'
'' 'AT+CSQ'
'OK' 'ATDT#777'

And finally create the sprint disconnect script.

# vi /etc/ppp/peers/sprint-disconnect
File: /etc/ppp/peers/sprint-disconnect
"" "\K"
"" "+++ATH0"
SAY "Disconnected from Sprint."

Connecting to SprintPCS

Setting up the device

Kyle Usbeck's original instructions for connecting to SprintPCS involves first running wvdial before using pppd to connect. I have personally found this step to be unnecessary, but it doesn't hurt. Just in case someone needs it, here it is:

# wvdial
Note: Running wvdial "should inevitably fail, but will setup the device file properly." - Kyle Usbeck

pppd - Making the connection

Now comes the moment of truth. Providing everything else has gone swimmingly, the following command should work.

# pppd call sprint

You should now be connected to the SprintPCS network, providing, of course, you are in a service area. Just use the key combination of CTRL-C to terminate the connection.

Retrieved from ""

Last modified: Sat, 30 Aug 2008 20:28:00 +0000 Hits: 7,169