Your Linux Data Center Experts

Sprint CDMA with Linux

By  Sean Reifschneider Date November 25, 2004

Automated Setup Script

See further down for a script that automates the setup of the modem.

Merlin C-201 PCMCIA Card

The Merlin C-201 PCMCIA CDMA card seems to work well with Linux.

Basically, the card just runs as a PPP device. To set it up, simply set up /etc/ppp/peers/cmda and /etc/ppp/chat-merlinc201. Then run:

Yes, the setserial is supposed to be 460kbps, even though you're running the modem at 230kbps.

After about 30 seconds the line should come up.

If it doesn't work

Some folks have reported that the above doesn't work and that some authentication needs to be added. I've never had to use a password, but maybe that's because I signed up really early with my account. I got it in the first week they were offering it.

What happens is that the PPP session establishes as normal, but pings and other data just don't get any response. To resolve this, you can add a line to "/etc/ppp/chap-secrets" which looks like:

   PDSN    <username>        <password>

Where <username> is the user name you were given from Sprint when you signed up, and <password> is the corresponding password. Then add a line containing "user <username>" to the "/etc/ppp/peers/cdma" file.

The authentication information comes from William A. Stein's Merlin C-201/Sprint page

PCMCIA Problems

Of course, this device is a modem on the PCMCIA bus. If you have a serial port at /dev/ttyS0 on your system, obviously you'll have to change the PCMCIA configs to re-locate the Merlin card to another interrupt, etc...

Jeffrey Mark Siskind has reported that on his laptop, he had to add the following lines to "/etc/pcmcia/config.opts":

   exclude irq 3
   exclude irq 4
   exclude port 0x2f8-0x2ff, port 0x3f8-0x3ff

Then re-start the PCMCIA services and you should see that the Merlin card comes up as ttyS2 (the above tells it not to use ttyS0 and ttyS1). Of course, you'll have to adjust the above if you have something already on ttyS2 (COM3), and you'll definitely have to change the scripts you got from this page from "ttyS0" to "ttyS2".

Speed

William A. Stein's page reports that he's seeing about 56kbps. It's likely because he's locking his modem to 56kbps in his configs. I've sent him an e-mail about this, but haven't seen that he's updated his configs. I'm definitely seeing way more speed than this. Downloads will often run around 12KB/sec, which is closer to 100kbps.

The biggest problem with this service is the latency. Ping-times to the Sprint network range between 250ms and 750ms but they have a pretty solid 500ms (half a second) latency. This can make interactive performance fairly painful. You'll definitely notice that loading pages and other things just take longer to start, but once the connection is made the pages come down fairly quickly.

Debugging

First of all, can your system communicate with the modem? If you start up a terminal emulator like minicom, and configure it to use the appropriate /dev/ttyS* file and 230400, you should be able to type "AT" and press the "enter" key, and have the modem reply with "OK". If you don't, the modem isn't showing up where you expect it is, or otherwise isn't configured properly. Solve this problem as you would any other PCMCIA modem that isn't responding. Check "dmesg" or "/var/log/messages" to see if PCMCIA is putting the modem on /dev/ttyS0 or another location.

If you can talk to the modem with a terminal emulator, but still have problems passing data to the net, make sure that you have tried the authentication section above. I don't have to, but apparently some do...

Otherwise, try debugging it as you would any networking (particularly PPP) problem. Can you ping remote sites by IP address? Can you make web connections by IP address. Do you only have problems reaching the network that you usually make an ethernet connection to? The latter is probably because you still have your ethernet connection configured to think that you are locally connected to that network. If you use DNS servers in that network, this can cause major problems.

Still having problems

The above includes all the knowledge that I have about issues specifically related to using the Merlin C-201 card with Linux. If you have followed the above and are still having problems, it's fairly likely that it's a general networking problem and can best be answered by the normal Linux support outlets, such as your local Linux users groups, searching the Google Linux Search Engine and other areas.

Please try using public mailing lists and your local Linux Users Groups before privately mailing me asking for help. First of all, if you ask on a LUG mailing list and get a reply on how to fix it, that will be archived for other users to find via search engines. Obviously, I like to help out other Linux users or I wouldn't have put up this page. However, private requests for support for these instructions prevent me from working on other open source projects.

If you find problems with the instructions here and have some suggestions to offer on how to fix them, I'd definitely like to hear them, so that I can improve this page. Just please try asking on the normal support forums before mailing me privately.

Other Devices

I've gotten some basic information for the Samsung N400 phone listed below. Other devices I know about will be listed on the tummy.com laptops help page. If you are looking for help for a device which isn't listed here or on that page, rest assured that I'm not deliberately holding back the information from you.

Please don't mail asking if I know how to get a device working which isn't listed on this site... Try the instructions for the devices I do have listed -- if they work, great. If they don't, there's probably nothing I can do to help you... Sorry.

Automated Setup Script

Joe Harnish has built a script which automates the setup of the Merlin C-201 card (link no longer available). I haven't tried it, but it looks like you just run it and it sets up the files you need and according to the instructions above, and then starts up pppd to connect the modem. It looks like good stuff.

To download the file from this site, use the right mouse button click to download the link (your browser may use different actions, but most will work with this).

I have a local copy (start_sprint_pcs.sh) in case Joe's copy is unavailable due to bandwidth limitations, etc. Try his site first, as it's going to have the most up to date copy.

Samsung N400 Phone

"Matt" has reported that this phone works using the following init strings:

This phone uses a USB connection using the ACM kernel module.

comments powered by Disqus