Home > Using Verizon Wireless EVDO, PC5740, and Linux

Using Verizon Wireless EVDO, PC5740, and Linux

November 19th, 2005 (last modified January 3rd, 2009)

EVDO is like wifi, but works off cell phone towers so you can use it more places. The PC5740 is a card that Verizon Wireless offers for this service. Linux is an operating system. Here are my experiences getting a Verizon Wireless PC5740 EVDO card working in Linux. It’s largely based on a HOWTO for a similar device, the 5220. I had to change lcp-echo settings and also included information on using ifup and ifdown. I also patched usbserial and cdc-acm to get better performance, but that is no longer necessary.

Before we begin

About my Computer

All of this was tested on an IBM Thinkpad T41. Linux kernel 2.6.12-9-386 on Kubuntu 5.10 “Breezy Badger”. Ubuntu and Debian should be about the same if the versions line up.

Install with Windows

I suspect that you need to get the card working in Windows before Linux. There is an “activation” step and it seems like a good idea from a troubleshooting point of view to make sure it works in Windows. It will ask you to download the latest coverage maps. I’m not sure, but I think when you do that it actually reflashes the card with some information about signals to broadcast. The coverage map update is superstition on my part, but I think you do need to activate the card in Windows before it will even work in Linux. Correct me if I’m wrong (or not) on the requirement of Windows activation and setup.

Getting it Working in Linux

Kernel Modules

First, install the ohci-hcd module with this command:

modprobe ohci-hcd

Now you need usbserial, but to get it to work I had to specify exactly what card I wanted it to find. With my exact model, the vendor id is 0×106c and the product is 0×3701. An easy way to find that out is to look at what devices are installed before you insert the card, and after:

kkinder@garcia:~$ cat /proc/bus/usb/devices > devices

    Inserting Card    

kkinder@garcia:~$ diff /proc/bus/usb/devices devices  | grep Vendor
< P:  Vendor=0000 ProdID=0000 Rev= 2.06
< P:  Vendor=0000 ProdID=0000 Rev= 2.06
< P:  Vendor=106c ProdID=3701 Rev=0.00
kkinder@garcia:~$

So when we inserted the card, the list of devices included one with a vendor ID of 106c and a product ID of 3701. That is my card. If you’re using another similar model, your vendor and product ID should be easy to find. Now, insert usbserial, specifying what card we’re looking for:

modprobe usbserial vendor=0x106c product=0x3701

If all goes well, you should have a file called /dev/ttyACM0:

kkinder@garcia:~$ ls /dev/ttyACM0
/dev/ttyACM0

ppp script

Create a file called /etc/ppp/peers/1xevdo:

ttyACM0
115200
debug
noauth
defaultroute
usepeerdns
connect-delay 10000
user (Your phone number. No spaces or dashes)@vzw3g.com
show-password
crtscts
lock
lcp-echo-failure 4
lcp-echo-interval 65535
connect '/usr/sbin/chat -v -t3 -f /etc/ppp/peers/1xevdo_chat'

LCP ECHOs: You’ll notice the lcp-echo-failure and lcp-echo-interval commands. I found that after a minute or so of connectivity, pppd disconnected after some lcp-echos failed. These solved that problem.

Baud: I set my baud rate to 115200. Others have tried 9600. I don’t think it matters for this device, it’s just there to make the operating system feel like it’s using a modem. (Again, any corrections on that point are welcome.)

ppp chat script

Now create a file called /etc/ppp/peers/1xevdo_chat: (Updated)

# AT$QCMIPGETP  "login" name used for MobileIP, which usually matches your MIN.
# AT+GSN        ESN in hex
# AT+GMR        firmware revision and build date.
# AT+CSQ        first number indicates the signal strength above -109 dBm (in
#               2 dBm increments).  A value of 7 or higher (-95 dBm) can be
#               considered adequate. 31 is the max.  (Possible values in
#               Audiovox PC5740 are 0, 7, 15, 23, 31.)
# AT+CDV=*22899 Update PRL.  at+cdv=*22899 | OK | Lost carrier.
ABORT 'NO CARRIER' ABORT ERROR ABORT 'NO DIALTONE' ABORT BUSY ABORT 'NO ANSWER'
'' 'ATTEV1&F;&D2;&C1;&C2S0;=0S7=60'
'OK-ATTEV1&F;&D2;&C1;&C2S0;=0S7=60-OK-ATTEV1&F;&D2;&C1;&C2S0;=0S7=60-OK' 'AT+CSQ;D#777'
TIMEOUT 70
'CONNECT-AT+CSQ;D#777-CONNECT'

My old script was simpler but Ulmo on evdofurms.com provided the above one which actually gets you signal quality. (More on that in a bit.)

Dial PPP

pppd call 1xevdo
tail -f /var/log/messages

You should see the ppp chat session and connection established in messages. Included in the output is the number of “cell phone bars” you would get in Windows:

Feb  7 18:58:36 localhost chat[9557]: send (ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M)
Feb  7 18:58:36 localhost chat[9557]: expect (OK)
Feb  7 18:58:36 localhost chat[9557]: ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M^M
Feb  7 18:58:36 localhost chat[9557]: OK
Feb  7 18:58:36 localhost chat[9557]:  -- got it
Feb  7 18:58:36 localhost chat[9557]: send (AT+CSQ;D#777^M)
Feb  7 18:58:36 localhost chat[9557]: timeout set to 70 seconds
Feb  7 18:58:36 localhost chat[9557]: expect (CONNECT)
Feb  7 18:58:36 localhost chat[9557]: ^M
Feb  7 18:58:36 localhost chat[9557]: AT+CSQ;D#777^M^M
Feb  7 18:58:36 localhost chat[9557]: 15, 99^M
Feb  7 18:58:40 localhost chat[9557]: ^M
Feb  7 18:58:40 localhost chat[9557]: CONNECT
Feb  7 18:58:40 localhost chat[9557]:  -- got it
Feb  7 18:58:40 localhost pppd[9555]: Serial connection established.
Feb  7 18:58:40 localhost pppd[9555]: Using interface ppp0
Feb  7 18:58:40 localhost pppd[9555]: Connect: ppp0 <--> /dev/ttyACM0
Feb  7 18:58:41 localhost pppd[9555]: local  IP address Your Local IP Address
Feb  7 18:58:41 localhost pppd[9555]: remote IP address Your Internet IP Address
Feb  7 18:58:41 localhost pppd[9555]: primary   DNS address Verizon's DNS Address
Feb  7 18:58:41 localhost pppd[9555]: secondary DNS address Verizon's DNS Address

Note the 15. That indicates my signal strength. You will get one of the following possible values: 0, 7, 15, 23, 31. These numbers basically map to the number of bars you would get in Verizon’s connection manager.

Using ifup and ifdown

I haven’t quite figured out how to automatically insert the required modules when the card is inserted. If someone else goes through the hassle of adding the hotplug entries, post a comment below.

However, modules aside, just add this line to /etc/network/interfaces (this may vary in your distribution).

iface ppp0 inet ppp
        provider 1xevdo

Then you should be able to use ifup ppp0 and ifdown ppp0 to bring up and down this interface.

Checklist

✔ Get basic configuration working
✔ PPP Configuration
✔ Test your bandwidth

Patches for Speed and Reliability

Fortunately, as of the 2.6.20 kernel, patching is no longer necessary. If you have an especially old kernel, this section may be helpful for you.

How to Patch a Kernel


You should have some basic Linux literacy before you try this, but the gist is this: you download the patches and run the patch command against the patch file and the source file (or, for multiple files, the source tree.) A patch file just shows the changes that need to be made by a file.

This process will vary considerably based on your kernel version, where your kernel is installed, etc. Unless you’re running a completely monolithic kernel, you shouldn’t need to recompile the kernel, just the modules.

Stalled Downloads

If you experience stalling downloads, try this patch for usbserial. Then set your maxSize argument on usbserial to 2048 or 4096 and see how those work. That makes my usbserial probe
command:

modprobe usbserial vendor=0x106c product=0x3701 maxSize=4096

If you’re running a straight up 2.6.12-9-386 kernel on Breezy Badger, you can just download my patched binary of usbserial.ko. (Otherwise, build your own.)

Low Speeds

On Windows, you should see the card get between 400 and 700mbps. I was getting about 160 mbps on Linux with the usbserial patch. I was pointed this thread which recommends a patch for cdc-acm. They’ve included a patch for 2.6.14. Based on that patch, I made a patch
for 2.6.12
. Again, if you’re running the same kernel I am, you can download my binary. Here’s how to configure it:

modprobe cdc_acm maxszr=16384 maxszw=2048

See the thread for discussion of why this patch works.

See Also

  1. November 21st, 2005 at 19:45 | #1

    I don’t have the EVDO card, and everything I know about getting pc cards running in Linux would pretty much cover one small page, but I have one tiny insight: on my Debian notebook, /etc/pcmcia/config has a bunch of entries for cards with manufacturer ids or version strings, and the text ‘bind “DRIVER”‘, which seems to imply it dictates which kernel module it’ll load when the device is plugged in.

    [Reply]

    Ken Kinder

    November 22nd, 2005 at 10:42 am

    Interesting. The weird thing about this is that although it is a PC Card (pcmcia), it shows up as a USB device. I’ll look into that.

    [Reply]

    Matthew Strebe

    November 25th, 2005 at 12:15 am

    Hi Ken,

    The Verizon EvDO cards actually implement a PCMCIA USB Host Adapter, to which a typical serial modem is attached. That’s why it shows up as a usbserial device in Linux. They did this to make the device driver a no-brainer, which is why the whole thing works in Linux using typical drivers.

    [Reply]


    September 29th, 2006 at 1:04 am

    Folks, I’m in real trouble here.

    Just upgraded to Ubuntu 6.06 Dapper Drake after my last laptop melted down. Yes, I’m a penguin noob :). I need to get my Verizon-based EVDO KPC-650 card working as it’s my sole internet in my live-in motorhome :). I’m a full-time political activist working in electronic voting reform and need to get fully back online like pronto…google my name with “diebold” if you’re curious.

    In doing the instructions Ken posted, once I do the “diff /proc/bus/usb/devices devices | grep Vendor” routine with the card inserted I get:


    < P: Vendor=0000 ProdID=0000 Rev= 2.06
    < P: Vendor=0000 ProdID=0000 Rev= 2.06
    < P: Vendor=0c88 ProdID=17da Rev= 0.00
    ---

    So as near as I can tell my next trick is:

    modprobe usbserial vendor=0x0c88 product=0x17da

    ...and it's producing NOTHING whatsoever in /dev - tried it with and without "sudo", no joy, tried:

    modprobe usbserial vendor=0c88 product=17da

    ... (again, both sudo and plain) and still nothing, I tried "sudo nautilus" to go look for anything smelling even close to a new tty file generated in /dev and there's nothing.

    Modprobe isn't doing any errors. The fact that the "diff" process is showing the card means the PCMCIA slot and card are live, right?

    Other notes: at this site:

    https://forums.gentoo.org/viewtopic-t-427992.html

    …somebody running Gentoo used the same vendor/prod numbers and here in another build:

    http://www.novell.com/coolsolutions/tip/17600.html

    …so I know I’m on the right track.

    Why am I stuck?

    Heeeelp?

    [Reply]

  2. Elliot Murphy
    November 24th, 2005 at 22:34 | #2

    Thanks for the detailed explanation!
    This is working great with my Sprint PC-5740 card and Ubuntu Breezy Badger.
    Only difference was the username, for the sprint cards you can get your username out of the diagnostic window of the Sprint Connection Manager right after activating your card on Windows.

    [Reply]

  3. Acidrain
    December 1st, 2005 at 10:47 | #3

    Instead of using the lcp-echo options, just use “passive”, which tells pppd to transmit but not fail if there is no response. I may be mistaken, but the way you have it setup, you will get dropped after 4 timeouts at a 65535 interval.

    [Reply]

    Ken Kinder

    December 1st, 2005 at 12:16 pm

    That might be a better idea. I set up the interval and timeout because it seemed like the lcp stuff was just flooding the remote server. With this configuration, I’ve had EVDO up for long time spans without problem.

    [Reply]

    skamp

    February 16th, 2006 at 12:39 pm

    i tried using both suggestions.
    and still could only connect for about 2.5 mins if i wasn’t actively surfing i would disconnect.
    if i started pinging the dns server i would stay connected for about 180 min…

    im using suse 10.0 and the card works beautifully except for the disconnection problem..

    still 180 min connect time is plenty to check email and download updates!! thanks

    [Reply]

    gwen penn

    March 29th, 2006 at 7:42 pm

    i assume you simply added a new modem in control center then used
    “pppd call ” or did you add etc/ppp/peers/1xevdo as listed above?
    gp

    [Reply]

    Ken Kinder

    April 1st, 2006 at 1:00 pm

    pppd call just looks for the /etc/ppp/peers files — nothing more should be necessary.

    [Reply]


    May 5th, 2006 at 2:44 pm

    You can also just set “lcp-echo-interval 0″ to disable the echo requests altogether.

    [Reply]

    iflaton

    May 31st, 2007 at 8:00 am

    I also had a 2.5 second problem using a Dell Latitude 820 w/ built-in Sprint EVDO except that pinging dns server did not help. Kept dropping at 2.5 regardless. lcp-echo-interval =0 fixed it. Now working great

    [Reply]

  4. Sven Brill
    December 6th, 2005 at 05:59 | #4

    Hi,

    stumbled upon this tutorial while trying to build a NAT box for an animal shelter - so far out in the boonies that VZW is the only option. I played with gentoo and got it working, then moved to IPCop for ease of administration, in case I will ever hand the project off. Works out of the box, IPCop recognizes the card and provides /dev/ttyACM0, very nice.

    concerninng the speed, I have not played around yet (did my testing with a friend’s card, going to buy the actual card in 2-3 weeks): wouldnt the speed you talk to the tty cap anything the VZW card delivers? you are setting the connection speed to the “modem” to 115200bps, so even if the card is faster, you should max out at this point, or am I missing something? Have you tried increasing this value? I will play around with it as soon as I have a VZW card again.

    Sven

    [Reply]

    Ken Kinder

    December 6th, 2005 at 1:28 pm

    Hi Sven, you should be aware that “the boonies” may not have 1xEVDO, just 1xRTT — as far as I know, EVDO is only available in major cities.

    I’m impressed that IPCop found the card and created the device. Ubuntu didn’t. What card do you have?

    Conerning speed — I did try increasing the serial speed, but to no avail. Everyone else is using 115200, so I assume it’s either not really used on USB. I didn’t try the combination of increasing that number and the usbserial patch however. hmm..

    [Reply]

    Ken Kinder

    December 6th, 2005 at 3:52 pm

    Ok, I tried again with the modem baud speed and it didn’t seem to make any difference.

    [Reply]

    Ken Kinder

    December 8th, 2005 at 7:38 pm

    Speed issue solved. See cdc-acm patch in this updated tutorial.

    [Reply]

    Sven Brill

    December 8th, 2005 at 7:56 pm

    Thanks for the update and testing the speed - the person in the thread even went down to 9600 and it had no effect, so I guess it is meaningless with the USB modem emulation. Those were the days when setting this value to 14400 gave you blazing speeds :)

    I will try to buy the PC5740 (the one I used was borrowed) and compile a kernel with the patch for IPCop over Christmas and will report back. If it is relatively easy, I will post the patch here and maybe submit it to the IPCop folks - wonder if they know how easy this is with their distribution :)

    [Reply]


    September 7th, 2007 at 9:04 pm

    Setting baud rate is left over from the serial modem/ Dos days. To the USB, It does not care, baud rate is actually ignored. Usb automaticallygoes at the fastest possible. It is done partially so the OS treats it as a serial device to send the dial information.

    Plugging in a regular Modem in the PCMCIA slot show up as a serial port. I think it would be more efficient if modems would just use the USB interface. Instead of emulating the serial interface, but I think they do this to make it as backwards compatible as possible.

    [Reply]

  5. December 20th, 2005 at 19:24 | #5

    Hi, I tried to apply the patch for the usbserial.c problem, but got the following
    patch -p0 Hunk #1 succeeded at 361 with fuzz 2.
    Hunk #2 FAILED at 1061.
    1 out of 3 hunks FAILED — saving rejects to file usb-serial.c.rej
    I do some programming but have never really used diff and patch, what should I do?

    Stefan

    [Reply]

    Ken Kinder

    December 20th, 2005 at 7:40 pm

    You probably have a diferent version of the life. Look at the diff itself (it’s pretty straightforward) and see if you can sort out where the changes should go.

    [Reply]

  6. Mark A. Mathews
    December 21st, 2005 at 15:44 | #6

    I found your page while searching for Linux EVDO solutions and bought a 5740 from Sprint based on the *possibilty* it would work.

    After a lot of head scratching and a certain amount of time wasted researching “serial line is not 8 bit clean” errors I finally added ‘connect-delay 30000′ to the ppp options and now it starts up reliably. I noticed Sprint took a long time to connect under Windows but it took me a while to realize they were just slow answering the call! It may also be useful to wait for the ‘CONNECT’ before starting instead of sending protocol while it rings. Other than those changes I’m using your Verizon scripts as is.

    I’ve been writing device drivers for 30+ years but I’m grateful to you that I didn’t have to go back and research PPP from scratch just to plug in my modem!!!

    Thanks for sharing your solutions!

    -mark

    [Reply]

  7. Miles
    January 3rd, 2006 at 08:17 | #7

    Thanks for you help getting my verizon PC5740 up and running, I’m running the same distro as you, and have used your binarys for the patches. Unfortanetly, I am not able to get the high speeds like in windows. I imagine this has some thing to do with it but I am using card on a desktop with a PCMCIA to PCI adapter. Anythoughts if this could be an issue. Thanks

    [Reply]

    Ken Kinder

    January 3rd, 2006 at 10:16 am

    Make sure you’re using the patched modules *with* the arguments that configure them. If you boot up with the card inserted, it might already have inserted the kernel modules without the options. Try rmmod’ing them, then re-inserting them.

    [Reply]

    Miles

    January 3rd, 2006 at 12:43 pm

    Thanks, for the help, that finally worked. I guess my only problem now is, If I reboot I go back to slowness, and if that is slow, how can I have my computer boot with the correct module parameters?

    [Reply]

    miles

    January 3rd, 2006 at 1:15 pm

    got it figured out I just added the module parameters in /etc/modules and on reboot am getting 1015 (135kb/sec) SO NICE!!!!. Thanks for your help and putting together all this info for everyone.

    miles

    [Reply]

  8. Praneeth C Bhattaram
    January 8th, 2006 at 12:02 | #8

    hi this is praneeth,
    i am using “PC5740″ pc card from verizon.
    As you have said i tried to all types of things, but it did not work.
    I am using FC4 Linux,
    and the thing is i found the PC card in my modem’s list (in hardware list) .
    And when i tried execute this command “modprobe ohci-hcd”, i don’t know whether this executed or not. And then i tried to do all the commands as given above it is not working.
    Can anyone give me a detail explaination regarding installing this “PC card”, and where can i get the drivers for this particular “PC card”.

    PLZZZZZZZZZZZZ HELP !!!!!!!!!!!!!!1

    thankyou
    praneeth

    [Reply]


    February 25th, 2006 at 7:14 pm

    Fedora Core 4.0
    When I plug in the card I got this:
    ******************************************************************************************
    Feb 25 21:08:20 localhost kernel: pccard: CardBus card inserted into slot 1
    Feb 25 21:08:20 localhost kernel: PCI: Enabling device 0000:07:00.0 (0000 -> 0002)
    Feb 25 21:08:20 localhost kernel: ACPI: PCI Interrupt 0000:07:00.0[A] -> Link [LNKB] -> GSI 11 (level, low) -> IRQ 11
    Feb 25 21:08:20 localhost kernel: ohci_hcd 0000:07:00.0: OHCI Host Controller
    Feb 25 21:08:20 localhost kernel: ohci_hcd 0000:07:00.0: new USB bus registered, assigned bus number 4
    Feb 25 21:08:20 localhost kernel: ohci_hcd 0000:07:00.0: irq 11, io mem 0xd4000000
    Feb 25 21:08:20 localhost kernel: hub 4-0:1.0: USB hub found
    Feb 25 21:08:20 localhost kernel: hub 4-0:1.0: 1 port detected
    Feb 25 21:08:20 localhost kernel: PCI: Enabling device 0000:07:00.1 (0000 -> 0002)
    Feb 25 21:08:20 localhost kernel: ACPI: PCI Interrupt 0000:07:00.1[B] -> Link [LNKB] -> GSI 11 (level, low) -> IRQ 11
    Feb 25 21:08:20 localhost kernel: ohci_hcd 0000:07:00.1: OHCI Host Controller
    Feb 25 21:08:20 localhost kernel: ohci_hcd 0000:07:00.1: new USB bus registered, assigned bus number 5
    Feb 25 21:08:20 localhost kernel: ohci_hcd 0000:07:00.1: irq 11, io mem 0xd4001000
    Feb 25 21:08:20 localhost kernel: hub 5-0:1.0: USB hub found
    Feb 25 21:08:20 localhost kernel: hub 5-0:1.0: 1 port detected
    Feb 25 21:08:22 localhost kernel: usb 4-1: new full speed USB device using ohci_hcd and address 2
    Feb 25 21:08:22 localhost kernel: cdc_acm 4-1:1.0: ttyACM0: USB ACM device
    Feb 25 21:08:22 localhost kernel: usbserial_generic 4-1:1.2: generic converter detected
    Feb 25 21:08:22 localhost kernel: usb 4-1: generic converter now attached to ttyUSB0

    So basically the ttyACM0 changed for ttyUSB0 and that is exactly what I did on the file :/etc/ppp/peers/1xevdo

    ttyUSB0
    115200
    debug
    noauth
    defaultroute
    usepeerdns
    connect-delay 10000
    user 5404716708@vzw3g.com
    show-password
    crtscts
    lock
    lcp-echo-failure 4
    lcp-echo-interval 65535
    connect ‘/usr/sbin/chat -v -t3 -f /etc/ppp/peers/1xevdo_chat’
    ************************************************************************************
    when I run: /usr/sbin/pppd call 1xevdo

    Feb 25 21:13:32 localhost pppd[4952]: pppd 2.4.2 started by root, uid 0
    Feb 25 21:13:33 localhost chat[4953]: abort on (NO CARRIER)
    Feb 25 21:13:33 localhost chat[4953]: abort on (ERROR)
    Feb 25 21:13:33 localhost chat[4953]: abort on (NO DIALTONE)
    Feb 25 21:13:33 localhost chat[4953]: abort on (BUSY)
    Feb 25 21:13:33 localhost chat[4953]: abort on (NO ANSWER)
    Feb 25 21:13:33 localhost chat[4953]: send (ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M)
    Feb 25 21:13:33 localhost chat[4953]: expect (OK)
    Feb 25 21:13:36 localhost chat[4953]: alarm
    Feb 25 21:13:36 localhost chat[4953]: send (ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M)
    Feb 25 21:13:37 localhost chat[4953]: expect (OK)
    Feb 25 21:13:40 localhost chat[4953]: alarm
    Feb 25 21:13:40 localhost chat[4953]: send (ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M)
    Feb 25 21:13:40 localhost chat[4953]: expect (OK)
    Feb 25 21:13:43 localhost chat[4953]: alarm
    Feb 25 21:13:43 localhost chat[4953]: Failed
    Feb 25 21:13:43 localhost pppd[4952]: Connect script failed
    Feb 25 21:13:44 localhost pppd[4952]: Exit.

    I got an alarm: I do not know if this alarm is because the username is not the right one or why.

    Can you help me please?

    Saul

    [Reply]

    Ken Kinder

    February 26th, 2006 at 12:26 am

    Could it be that the card was never activated in Windows?

    [Reply]

    Saul Bejarano

    February 26th, 2006 at 6:48 am

    I have been using the card in Windows without a problem.

    [Reply]

    Ken Kinder

    February 26th, 2006 at 11:29 am

    I really have no idea then. You might check in with EVDOForums.com — there are a lot of smart people that hang out on that forum.

    [Reply]

    BiffSocko

    October 14th, 2006 at 4:08 pm

    you said: “Correct me if I’m wrong (or not) on the requirement of Windows activation and setup.”

    you’re DEFINITLY not wrong. I have RH ES4 running on a laptop, and I picked up the Verizon PC5740 card yesterday. It wouldn’t work on Linux w/out being first installed on a windows box. Since I don’t have one, I had to go to a computer store near my house and ask them to install it on one of their laptops. Anywho, to make a long story short, as soon as it was done, I pluged it back into my laptop and was up and running.

    So, you were correct.

    Thanks for writing this page, it was a HUGE help.

    Best Regards
    Biff

    [Reply]

    CSCortes

    March 17th, 2006 at 9:09 am

    Please remember to remove your ID from you @vzw3g.com string. Also, I too am getting the same USB error.

    [Reply]

    mark s

    March 27th, 2006 at 12:37 am

    I had the same problem. Your logs show that the modem command that starts ATTEV1 and ends =60 does not cause the modem to say “OK”. Something is wrong with that command, at least for the card that I have.

    I did several web searches and looked on evdoforums.com, but I could not find anything about where this chat script came from or what the offending command is trying to do. I could experiement with it, but who knows what bad things that might do to the card?

    I simplified the chat script to
    ” ATDT#777

    and was able to connect.

    I am now using
    ABORT ‘NO CARRIER’ ABORT ERROR ABORT ‘NO DIALTONE’ ABORT BUSY ABORT ‘NO ANSWER’
    TIMEOUT 10
    ” AT OK AT+CSQ OK ATDT#777 CONNECT

    This also seems to work ok.

    b.t.w. Since I got the chat script working, I am now using “passive” in place of the lcp-echo-… settings in the ppp config file. It works well.

    [Reply]

    mark s

    March 27th, 2006 at 12:57 am

    Note that the chat script line that starts ” is two single quote characters, not one double quote.

    [Reply]

    Mark S.

    April 12th, 2006 at 6:16 pm

    p.s. I found that 10 seconds frequently works, but I eventually changed the timeout to 60 seconds.

    The link sometimes shuts down because of an LCP request from the other end, but I never have any trouble bringing it back up as soon as I notice a problem.

    [Reply]

    Matt K

    December 31st, 2007 at 2:47 am

    Wow, your response really helped me. I was having the same problem. Thanks!

    [Reply]

  9. ASotelo
    February 10th, 2006 at 09:05 | #9

    Can some explain how to install the pc5740 in IPCOP 1.4.10? I’m using a PCI to PCMCIA adapter. The card is not detected by IPCOP.

    Thanks!

    [Reply]

    Ken Kinder

    February 20th, 2006 at 2:16 pm

    I don’t know anything about IPCOP, but you might try using a straigh USB EVDO device — I know such things exist. That would be a much simpler setup, given that the thing is actually a USB modem anyway.

    [Reply]

  10. Tom
    February 25th, 2006 at 17:12 | #10

    Hey,

    Your article help me out start trying to make it work on Mandriva 10.2 edition. I got stuck trying to create the ttyAMD0 device. Following your steps, when I plug the card in, I got two new devices (ttyUSB0 and ttyUSB1), but not ttyAMD0 is added.

    I’ve tried to use both on the 1exvdo script, but with no success.

    Any ideas?

    Thanks!

    [Reply]

    Ken Kinder

    February 26th, 2006 at 12:25 am

    Hmm, not really. I might check with the Mandriva people. Although it also kind of sounds like you’re missing a kernel module? Hm..

    [Reply]

    Hoyt

    October 28th, 2007 at 2:55 pm

    I’m using Mandriva. Their scripts name the modem /dev/ttyUSB0 and ttyUSB1. The link from /dev/modem should point to /dev/ttyUSB0. If it does not, just use /dev/ttyUSB0 to identify the modem. Using that, I was able to use the Mandriva network configuration tool to set it up as a POTS modem.

    I’m not certain what /dev/ttyUSB1 is used for. Perhaps to get additional info from the modem?

    [Reply]

  11. Bruce Milne
    March 7th, 2006 at 14:46 | #11

    THanks for posting this: very helpful. I am using Ubuntu breezy badger on a Toshiba A70 with a Kyocera kpc 650 with Telus Mobility in Canada. Everything noted here was very accurate. I did just edit my existing config files (been using a Sierra Wireless air card 555 for years) so my configs are perhaps a little different. I did apply the usb and cdc patch, but kept getting disconnects every 1.8 or 2 mins, no matter what kind of file transfer was going on. I eventually settled on this, which is working like a champ. 1338 kbps down 100 kbps up.

    I don’t understand what the lcp-echo stuff is all about, but the lcp-echo-internal setting broke things. The suggested values (lcp-echo-failure 4) did not help at all, and someone suggested that the values reffered to the number of tries. Hence, I just picked the values here which have kept me online as I’ve traveled around town now for a couple hours.

    Some configs also include the option of -t3 in with the chat command. My laptop failed to connect with that option.

    If you are using Telus and linux, feel free to email me if you have Telus specific questions: bruce at donorware dot com

    /etc/ppp/peers/evdo

    hide-password
    noauth
    connect “/usr/sbin/chat -v -f /etc/chatscripts/evdo”
    debug
    /dev/ttyUSB0
    115200
    defaultroute
    noipdefault
    user “403xxxxxxx@1x.telusmobility.com”
    ipparam evdo
    usepeerdns

    # added for evdo
    #lock
    #crtscts
    lcp-echo-failure 200
    lcp-echo-interval 65535
    #lcp-echo-internal 65535
    #passive

    [Reply]

  12. Miles Starkenburg
    March 11th, 2006 at 07:53 | #12

    I just wanted to add some info for everyone here, I was using ppp 2.4.3 in demand and persist mode, and was gettting a tcsetattr: no such device or address error. upgrading to 2.4.4b1 solved this.

    [Reply]

  13. Nick
    March 21st, 2006 at 19:42 | #13

    Thanks so much for this site. Got it going after inserting

    TIMEOUT 30

    after the ATDT and before the CONNECT in the 1xevdo_chat script. Works like a charm

    [Reply]

  14. Kenneth Dove
    March 24th, 2006 at 19:00 | #14

    Thanks Ken for this helpful web site.
    I have successfully implemented these scripts and techniques under PCLinuxOS with throughputs that approximate XP speeds. However, these scripts do not seem to work in a non-EVDO area (equivalent to “National Access” under VZ Acccess Manager in Windows. All I can get is “Connect script failed” when invoking the pppd command.
    Does anyone know if the PC 5740 can be used with these scripts in a non-broadband area, i.e., “National Access” zone?
    Thanks in advance.

    [Reply]

    Kenneth Dove

    March 26th, 2006 at 5:47 am

    Never mind! The TIMEOUT 30 command fixed my connection failures…

    [Reply]

  15. Pele
    April 10th, 2006 at 17:55 | #15

    I’m attempting to get this card working with IP-Cop, a linux based router/firewall distribution. (I can’t get DSL or Cable in my location.)

    It’s running a kernel of version 2.4.30. It’s IPcop 1.4.10.

    So far I’ve gotten PCMCIA services active and it recognizes the card as a USB modem.
    It’s created the device /dev/ttyACM0 without the use of the usbserial module. (It doesn’t exist in this installation anyhow.)

    Here is an excerpt from my /var/log/messages file:

    Apr 10 17:03:31 ipcop pppd[350]: pppd 2.4.2 started by root, uid 0
    Apr 10 17:03:32 ipcop chat[351]: abort on (NOCARRIER)
    Apr 10 17:03:32 ipcop chat[351]: abort on (ERROR)
    Apr 10 17:03:32 ipcop chat[351]: abort on (NO DIALTONE)
    Apr 10 17:03:32 ipcop chat[351]: abort on (BUSY)
    Apr 10 17:03:32 ipcop chat[351]: abort on (NO ANSWER)
    Apr 10 17:03:32 ipcop chat[351]: timeout set to 30 seconds
    Apr 10 17:03:32 ipcop chat[351]: send (AT^M)
    Apr 10 17:03:32 ipcop chat[351]: expect (OK)
    Apr 10 17:03:32 ipcop chat[351]: AT^M^M
    Apr 10 17:03:32 ipcop chat[351]: OK
    Apr 10 17:03:32 ipcop chat[351]: — got it
    Apr 10 17:03:32 ipcop chat[351]: send (AT+CSQ^M)
    Apr 10 17:03:32 ipcop chat[351]: expect (OK)
    Apr 10 17:03:32 ipcop chat[351]: ^M
    Apr 10 17:03:32 ipcop chat[351]: AT+CSQ^M^M
    Apr 10 17:03:32 ipcop chat[351]: 23, 99^M
    Apr 10 17:03:32 ipcop chat[351]: ^M
    Apr 10 17:03:32 ipcop chat[351]: OK
    Apr 10 17:03:32 ipcop chat[351]: — got it
    Apr 10 17:03:32 ipcop chat[351]: send (ATDT#777^M)
    Apr 10 17:03:33 ipcop chat[351]: expect (CONNECT)
    Apr 10 17:03:33 ipcop chat[351]: ^M
    Apr 10 17:03:34 ipcop chat[351]: ATDT#777^M^M
    Apr 10 17:03:34 ipcop chat[351]: CONNECT
    Apr 10 17:03:34 ipcop chat[351]: — got it
    Apr 10 17:03:34 ipcop pppd[350]: Serial connection established.
    Apr 10 17:03:35 ipcop pppd[350]: using channel 1
    Apr 10 17:03:35 ipcop pppd[350]: Using interface ppp0
    Apr 10 17:03:35 ipcop pppd[350]: Connect: ppp0 < --> /dev/ttyACM0
    Apr 10 17:04:05 ipcop pppd[350]: sent [LCP ConfReq id=0x1 ]
    Apr 10 17:04:05 ipcop pppd[350]: rcvd [LCP ConfReq id=0x0 ]
    Apr 10 17:04:05 ipcop pppd[350]: sent [LCP ConfAck id=0x0 ]
    Apr 10 17:04:05 ipcop pppd[350]: rcvd [LCP ConfAck id=0x1 ]
    Apr 10 17:04:05 ipcop pppd[350]: sent [LCP EchoReq id=0x0 magic=0xd683eaa6]
    Apr 10 17:04:05 ipcop kernel: PPP BSD Compression module registered
    Apr 10 17:04:05 ipcop kernel: PPP Deflate Compression module registered
    Apr 10 17:04:05 ipcop pppd[350]: sent [CCP ConfReq id=0x1 ]
    Apr 10 17:04:05 ipcop pppd[350]: sent [IPCP ConfReq id=0x1 ]
    Apr 10 17:04:05 ipcop pppd[350]: rcvd [LCP DiscReq id=0x1 magic=0xfca695d6]
    Apr 10 17:04:05 ipcop pppd[350]: rcvd [LCP EchoRep id=0x0 magic=0xfca695d6 d6 83 ea a6]
    Apr 10 17:04:05 ipcop pppd[350]: rcvd [IPCP ConfReq id=0x0 ]
    Apr 10 17:04:05 ipcop pppd[350]: sent [IPCP ConfAck id=0x0
    ]
    Apr 10 17:04:05 ipcop pppd[350]: rcvd [LCP ProtRej id=0x2 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
    Apr 10 17:04:05 ipcop pppd[350]: rcvd [IPCP ConfRej id=0x1 ]
    Apr 10 17:04:05 ipcop pppd[350]: sent [IPCP ConfReq id=0x2 ]
    Apr 10 17:04:05 ipcop pppd[350]: rcvd [IPCP ConfNak id=0x2 ]
    Apr 10 17:04:05 ipcop pppd[350]: sent [IPCP ConfReq id=0x3 ]
    Apr 10 17:04:05 ipcop pppd[350]: rcvd [IPCP ConfAck id=0x3 ]
    Apr 10 17:04:05 ipcop pppd[350]: local IP address 70.194.136.154
    Apr 10 17:04:05 ipcop pppd[350]: remote IP address 66.174.14.5
    Apr 10 17:04:05 ipcop pppd[350]: primary DNS address 66.174.95.44
    Apr 10 17:04:06 ipcop pppd[350]: secondary DNS address 66.174.92.14
    Apr 10 17:04:06 ipcop pppd[350]: Script /etc/ppp/ip-up started (pid 359)
    Apr 10 17:04:06 ipcop kernel: usb.c: USB disconnect on device 01:00.0-1 address 2
    Apr 10 17:04:06 ipcop pppd[350]: Hangup (SIGHUP)
    Apr 10 17:04:06 ipcop pppd[350]: Modem hangup
    Apr 10 17:04:06 ipcop pppd[350]: Connection terminated.
    Apr 10 17:04:06 ipcop pppd[350]: Connect time 0.6 minutes.
    Apr 10 17:04:06 ipcop pppd[350]: Sent 97 bytes, received 64 bytes.
    Apr 10 17:04:07 ipcop ipcop: PPP has gone up on ppp0
    Apr 10 17:04:07 ipcop rc.updatered: /etc/rc.d/rc.updatered locking for 366
    Apr 10 17:04:07 ipcop pppd[350]: Waiting for 1 child processes…
    Apr 10 17:04:07 ipcop pppd[350]: script /etc/ppp/ip-up, pid 359
    Apr 10 17:04:08 ipcop kernel: hub.c: new USB device 01:00.0-1, assigned address 3
    Apr 10 17:04:08 ipcop kernel: ttyACM0: USB ACM device
    Apr 10 17:04:08 ipcop dnsmasq[404]: started, version 2.22 cachesize 150
    Apr 10 17:04:08 ipcop dnsmasq[404]: read /etc/hosts - 3 addresses
    Apr 10 17:04:08 ipcop dnsmasq[404]: reading /var/state/dhcp/dhcpd.leases
    Apr 10 17:04:08 ipcop dnsmasq[404]: reading /var/ipcop/red/resolv.conf
    Apr 10 17:04:08 ipcop dnsmasq[404]: using nameserver 66.174.92.14#53
    Apr 10 17:04:08 ipcop dnsmasq[404]: using nameserver 66.174.95.44#53
    Apr 10 17:04:11 ipcop rc.updatered: unlocking from 366
    Apr 10 17:04:11 ipcop pppd[350]: Script /etc/ppp/ip-up finished (pid 359), status = 0×0
    Apr 10 17:04:11 ipcop pppd[350]: Script /etc/ppp/ip-down started (pid 449)
    Apr 10 17:04:13 ipcop ipcop: PPP has gone down on ppp0
    Apr 10 17:04:13 ipcop rc.updatered: /etc/rc.d/rc.updatered locking for 451
    Apr 10 17:04:15 ipcop dnsmasq[486]: started, version 2.22 cachesize 150
    Apr 10 17:04:15 ipcop dnsmasq[486]: read /etc/hosts - 3 addresses
    Apr 10 17:04:15 ipcop dnsmasq[486]: reading /var/state/dhcp/dhcpd.leases
    Apr 10 17:04:15 ipcop dnsmasq[486]: reading /var/ipcop/red/resolv.conf
    Apr 10 17:04:15 ipcop dnsmasq[486]: using nameserver 66.174.92.14#53
    Apr 10 17:04:15 ipcop dnsmasq[486]: using nameserver 66.174.95.44#53
    Apr 10 17:04:15 ipcop rc.updatered: unlocking from 451
    Apr 10 17:04:16 ipcop pppd[350]: Script /etc/ppp/ip-down finished (pid 449), status = 0×0
    Apr 10 17:04:16 ipcop pppd[350]: Exit.
    Apr 10 17:05:00 ipcop fcron[510]: Job /usr/local/bin/timecheck > /dev/null 2>&1 started for user root (pid 513)
    Apr 10 17:05:00 ipcop fcron[511]: Job /usr/local/bin/makegraphs >/dev/null started for user root (pid 514)
    Apr 10 17:05:00 ipcop fcron[512]: Job [ -f "/var/ipcop/red/active" ] && /usr/local/bin/setddns.pl started for user root (pid 516)
    Apr 10 17:05:00 ipcop fcron[512]: Job [ -f "/var/ipcop/red/active" ] && /usr/local/bin/setddns.pl terminated (exit status: 1)

    It appears to connect and receive a DHCP response. However, it appears to disconnect almost immediately afterwards.

    I don’t know much about *nix, hence the use of the prepackaged distribution. I’d also like to make it recreatable in the even of a crash, as I’m about to hand this project off. (Ditch this for a higher paying gig.)

    Can anyone help? Any suggestions would be greatly appreciated.

    I’m using the simplified script that “mark s” provided above and everything else is KenKinder’s information.

    I’ll also be contacting the IPcop people for support.

    [Reply]

    Ken Kinder

    April 11th, 2006 at 8:22 pm

    That’s sort of outside the scope of my knowledge… Sorry.

    [Reply]

    Mark S.

    April 12th, 2006 at 6:14 pm

    Two ideas:

    You say “without the usbserial module” - that isn’t strictly correct. In linux, some kernel code can be either built-in to the compiled kernel or it can be a run-time loadable module. You DO have usbserial, and if it isn’t a module it is compiled into the kernel. If you can program in C, you can probably see what the patch changes (it is very simple) and fix your kernel so that the maxSize parameter is always set. You can’t set it at load time (because you don’t have a module to load), but you can build the value into the source code. I can’t go in to detail about how to compiler a kernel here, but there are numerous references on the web.

    The message “usb.c: USB disconnect on device 01:00.0-1 address 2″ looks to me a lot like your computer thinks the usb device was unplugged. Later, it looks like it reconnects. You could look in usb.c to see if it gives you any insight into what it thinks is happening. Other things I can suggest: router/firewall variationsof Linux usually involve “interesting” configurations. Does it work in a regular Linux? Does it work in Windows?

    [Reply]

    Pele

    April 13th, 2006 at 10:43 am

    It works just fine in Windows.

    I’d guess that it’d work fine in Linux. Everyone else is using the card here. I’d assume if I were using Kubuntu Breezy Badger, if I followed these instructions to a “T” it’d work. Same Vendor and product codes and all as well.

    As far as my knowledge of C goes, I divided by zero while writing “Hello World” in High School… I think I’ll stay away from coding critical drivers. ;)

    I’ve been beating on the box for two days trying to get it to work with IP Cop and SmoothWall… Neither works and the boss already thinks I’m just screwing around. We’re probably gonna spring for a Kyocera KR1 router that’ll take the card and spit out ethernet… That was the main idea anyhow.

    Thanks for your support though.

    [Reply]

  16. paul
    April 20th, 2006 at 17:08 | #16

    This is the error I get…

    Apr 20 16:59:25 localhost pppd[8218]: pppd 2.4.3 started by norton, uid 1000
    Apr 20 16:59:26 localhost chat[8228]: abort on (NO CARRIER)
    Apr 20 16:59:26 localhost chat[8228]: abort on (ERROR)
    Apr 20 16:59:26 localhost chat[8228]: abort on (NO DIALTONE)
    Apr 20 16:59:26 localhost chat[8228]: abort on (BUSY)
    Apr 20 16:59:26 localhost chat[8228]: abort on (NO ANSWER)
    Apr 20 16:59:26 localhost chat[8228]: send (ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M)
    Apr 20 16:59:26 localhost chat[8228]: expect (OK)
    Apr 20 16:59:26 localhost chat[8228]: ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M^M
    Apr 20 16:59:26 localhost chat[8228]: ERROR
    Apr 20 16:59:26 localhost chat[8228]: — failed
    Apr 20 16:59:26 localhost chat[8228]: Failed (ERROR)
    Apr 20 16:59:27 localhost pppd[8218]: Exit.

    I have the same card, same distro as you.. I copied your config files (just edited in my number)

    [Reply]

    Ken Kinder

    April 20th, 2006 at 10:56 pm

    Weird. It looks like the modem is wigging out. Was it activated in Windows? Does it work in Windows?

    [Reply]

    Anonymous

    April 21st, 2006 at 8:48 am

    Yes, It was activated in Windows and I used it for about two weeks in windows previous to this attempt in ubuntu.

    [Reply]


    May 5th, 2006 at 8:48 am

    It looks like your modem doesn’t like the AT command you sent to it.

    I don’t believe it’s necessary to have such a complicated AT string.

    Instead of this::

    ABORT ‘NO CARRIER’ ABORT ERROR ABORT ‘NO DIALTONE’ ABORT BUSY ABORT ‘NO ANSWER’
    ” ‘ATTEV1&F;&D2;&C1;&C2S0;=0S7=60′
    ‘OK-ATTEV1&F;&D2;&C1;&C2S0;=0S7=60-OK-ATTEV1&F;&D2;&C1;&C2S0;=0S7=60-OK’ ‘AT+CSQ;D#777′
    TIMEOUT 70
    ‘CONNECT-AT+CSQ;D#777-CONNECT’

    Try this:::

    ABORT ‘NO CARRIER’ ABORT ERROR ABORT ‘NO DIALTONE’ ABORT BUSY ABORT ‘NO ANSWER’
    ” ‘ATZ’
    ‘OK’ ‘ATD#777′
    TIMEOUT 70
    ‘CONNECT’

    While you don’t get the signal strength result, the script is much simpler, which is nice if you are stuck and just want to see if you can get it going at all.

    Matt

    [Reply]

    Matt England

    May 10th, 2006 at 5:05 pm

    I am offering $30 (US dollars) to someone (and/or I can happily buy them something from their gift registry like Matt G has) who can interact with me directly (email, phone, IM) to get my EVDO card working on Ubuntu. I can get it to connect; I can not get it to stay connected. Details below.

    -Matt
    evdolinux [at] mengland.net

    My Ubuntu-Dapper-Beta2-based Thinkpad T41 (2378DHU) can connect via Verizon’s services with a V620 pcmcia card with the simpler AT string described above, but not with more-complex AT solution found on Ken’s original article.

    However, in no case can I get the service to stay connected (even though it does stay connected on the same machine with WindowsXP VMware-guest-OS running “inside” my Ubuntu). I have tried various flavors of changes referenced in all the comments in this article without success.

    I generally like to know what is going on to help solve my own problems, but despite my deep experience as a sysadmin and programmer, I know little if anything about ppp and modem commands, which is hurting me in this case. Any help for directing me to help me teach myself these things is a plus, but is not required for the $30.

    [Reply]

    lfellows

    May 10th, 2006 at 12:09 pm

    Just an observation. I had problems with the AT string until I removed the ‘;’ (semicolons) from it. Then the modem worked properly and connected flawlessly. YMMV.

    [Reply]

    Matt England

    May 11th, 2006 at 10:50 am

    I tried this 1xevdo_chat string:

    ABORT 'NO CARRIER' ABORT ERROR ABORT 'NO DIALTONE' ABORT BUSY ABORT 'NO ANSWER'
    '' 'ATTEV1&F&D2&C1&C2S0=0S7=60'
    'OK-ATTEV1&F&D2&C1&C2S0=0S7=60-OK-ATTEV1&F&D2&C1&C2S0=0S7=60-OK' 'AT+CSQD#777'
    TIMEOUT 70
    'CONNECT-AT+CSQD#777-CONNECT'
    

    with no success on my Ubuntu-Dapper-Beta2 system:

    May 11 09:48:09 localhost pppd[28799]: pppd 2.4.4b1 started by root, uid 0
    May 11 09:48:10 localhost chat[28800]: abort on (NO CARRIER)
    May 11 09:48:10 localhost chat[28800]: abort on (ERROR)
    May 11 09:48:10 localhost chat[28800]: abort on (NO DIALTONE)
    May 11 09:48:10 localhost chat[28800]: abort on (BUSY)
    May 11 09:48:10 localhost chat[28800]: abort on (NO ANSWER)
    May 11 09:48:10 localhost chat[28800]: send (ATTEV1&F&D2&C1&C2S0=0S7=60^M)
    May 11 09:48:11 localhost chat[28800]: expect (OK)
    May 11 09:48:11 localhost chat[28800]: ATTEV1&F&D2&C1&C2S0=0S7=60^M^M
    May 11 09:48:11 localhost chat[28800]: OK
    May 11 09:48:11 localhost chat[28800]:  -- got it
    May 11 09:48:11 localhost chat[28800]: send (AT+CSQD#777^M)
    May 11 09:48:11 localhost chat[28800]: timeout set to 70 seconds
    May 11 09:48:11 localhost chat[28800]: expect (CONNECT)
    May 11 09:48:11 localhost chat[28800]: ^M
    May 11 09:48:11 localhost chat[28800]: AT+CSQD#777^M^M
    May 11 09:48:11 localhost chat[28800]: ERROR
    May 11 09:48:11 localhost chat[28800]:  -- failed
    May 11 09:48:11 localhost chat[28800]: Failed (ERROR)
    May 11 09:48:12 localhost pppd[28799]: Exit.
    

    My offer of payment for support (above) still stands.

    -Matt

    [Reply]

    Leland Fellows

    May 11th, 2006 at 7:15 pm

    Your string ‘AT+CSQD#777′ needs the ‘;’ between the ‘Q’ and ‘D’ like this:
    AT+CSQ;D#777.

    I should have been more specific in my observation. The string ‘ATEV1&F;&D2;&C1;&C2S0;=0S7=60′ will not work with the embedded ‘;’’s.

    [Reply]

    SWCC

    May 24th, 2006 at 12:26 pm

    You may need to use an escape before the semicolon.

    Try ‘AT+CSQ;D#777′

    [Reply]

    SWCC

    May 24th, 2006 at 12:28 pm

    You may need to use an escape before the semicolon.

    Try ‘AT+CSQ;D#777′

    [Reply]

  17. Bert Rapp
    April 27th, 2006 at 23:09 | #17

    I found this article very useful in getting my PC 5740 working, but I had a little different experience that I documented here:
    http://www.swflug.org/index.php?option=com_content&task=view&id=54&Itemid=32

    [Reply]

    Matt England

    May 11th, 2006 at 11:06 am

    As per:
    http://www.swflug.org/index.php?option=com_content&task=view&id=54&Itemid=32

    How can I run kppp on my brand-new, gnome-based, Ubuntu Dapper? As an ignorant user, I installed kppp on my system (and it’s 75MB of dependencies) and tried to run it…and it didn’t work (saying it could not connect to x server…presumably because it’s not a KDE server?).

    Does a corresponding gnome alternative exist? Is there a way to get kppp to run on gnome?

    I’m looking for any and all options to get my evdo car working on my Ubuntu system asap.

    My offer of cash-for-support still stands.

    -Matt
    evdolinux [at] mengland.net

    [Reply]

    Paul Brown

    August 13th, 2006 at 11:47 pm

    First of all, Ken, THANK YOU VERY MUCH. Your article gave me the courage to take the plunge and obtain broadband service through Verizon with the Audiovox PC5740. I’m pleased to say that it worked well from the beginning using SuSE Linux 10.1; the card was auto detected, so I didn’t even have to bother with the ‘modprobe’ (kernel version 2.6.16.13-4).

    More recently I obtained a Novatel Merlin S620 from Sprint PCS (same as Verizon’s V620). Again the card was auto detected (vendor ID 1410, product ID 1110, configured as /dev/ttyUSB0) and worked from the beginning. Using either card I can maintain an idle connection throughout the day as long as my email client is checking for messages at timed intervals.

    Flush with success, I decided to try KPPP as documented by Bert Rapp. It offers a nice graphical interface similar to those provided by Verizon and Sprint for Windows, and it minimizes to the system tray. Here’s where I have hit a bump. With both cards, KPPP disconnects after exactly 2:30 minutes. Logs show the call was terminated after 4 unanswered echo requests.

    Of course TCP/IP activity is ignored since KPPP is listening for a modem response. Having very little knowledge of modem commands, I’ve searched various forums for ideas of things I might try. KPPP offers the option of Login Script, and I’ve tried various settings, but I suspect it never even gets that far since it’s probably still waiting for the host to pick up the phone.

    I’m hopeful that someone who has used KPPP successfully will happen upon your page and will stumble across this post. With luck I may return in a couple of weeks and find that the magic solution has been posted here. Thanks again for sharing your knowledge with the rest of us, Ken!

    Paul Brown
    Denver, CO

    [Reply]

  18. Matt England
    May 11th, 2006 at 10:56 | #18

    How does one properly close a connection and disconnect the pcmcia card from the laptop (I have a Thinkpad T41 2378DHU running Ubuntu Dapper Beta2)?

    The only thing I know to do is to pull out the pcmcia card (I have a Verizon V620). I am hoping this does on cause significant damage to any part of the system, including the software drivers.

    Also: I am increasing my offer of payment for support (see details in my other posts) to $50 USD.

    -Matt
    evdolinux [at] mengland.net

    [Reply]


    May 14th, 2006 at 8:32 am

    cardctl eject

    will remove the card

    cardctl insert will re-insert it.

    from a command line you can do
    “which cardctl”

    and it will tell you something like
    /usr/bin/cardctl

    Then you would have to do:

    /usr/bin/cardctl eject
    and
    /usr/bin/cardctl insert

    [Reply]


    July 29th, 2006 at 11:26 pm

    there’s no need to do /usr/bin/cardctl if which can find it within your path…perhaps you meant locate?

    [Reply]

  19. Henry Wertz
    May 16th, 2006 at 21:48 | #19

    Fantastic! This solved my connection hangs. Note, the linked article with the patch seems to imply this is necessary primarily for EVDO use.. it’s not. My area is 1X-only (.. with no concrete plans for EVDO yet.. VZW has only 850mhz here so they might not have the bandwidth for EVDO 8-(. I got connection hangs as described.. with ping running in a window, I saw the hangs are because of periods of 50%+ packet loss… in my case I think heavy hard disk activity would trigger it. I’ve got an Inpsiron 2200 with Gentoo on it..

    Also, yup, the 5740 is a paperweight until VZAccess Manager does some voodoo to it. I could dial #777 but got it gave an instant “NO CARRIER” at that point. I even got desperate and tried to run the VZAccess software under wine.. no go (no, I’m not crazy.. the Samsung phone utils for loading wallpapers, PRLs etc. will run under wine, without having to fight with USB drivers like under Windows.) It was kind of a PITA too.. my 2 friends with windows notebooks, both have slightly newer $400 Dells than me, and the former PCMCIA slot is some funky memory slot instead. I ended up tossing a spare hard drive in my 2200 temporarily, putting on windows and the card software, activating, then tossing my gentoo drive back in 8-). The card then worked like a charm (well, not quite due to the above..). Well, it’s REALLY working like a charm now. Thanks!

    [Reply]

    Henry Wertz

    May 21st, 2006 at 2:35 pm

    Oops.. well, it is true the PC5740 is a paperweight without activation. I was wrong about the packet loss though.. per what I’m reading on Howardforums, I just “lucked out” and got my data card right when VZW is doing some behind the scenes data work of some type, causing packet loss this week.. with or without this patch I have been once in a while getting high packet loss. Anyway, speeds are good when it’s not taking a breather even in this 1X-only area.. 8-).

    [Reply]

  20. SWCC
    May 24th, 2006 at 12:16 | #20

    Instructions for IPcop 1.4.10

    I needed to modify two files in order to get Verizon EVDO working on IPcop.

    Please make backups of your original files before changing anything!

    In /etc/ppp/dialer somewhere around line 61:

    my $com =”/usr/sbin/chat -v -t3 -r /var/log/connect.log
    TIMEOUT 3
    REPORT CONNECT
    ABORT ‘\nBUSY\r’
    ABORT ‘\nNO ANSWER\r’
    ABORT ‘\nRINGING\r\n\r\nRINGING\r’
    ABORT ‘\nNO CARRIER\r’
    ” ‘$modemsettings{’INIT’}’
    OK ‘$modemsettings{’HANGUP’}’
    OK ‘$speaker’
    TIMEOUT ‘$modemsettings{’TIMEOUT’}’
    OK ‘ATTEV1&F&D2&C1&C2S0=0S7=60′
    OK ‘ATTEV1&F&D2&C1&C2S0=0S7=60′
    OK ‘AT+CSQ;D${telephone}’
    CONNECT ‘${btfudge}’ “;

    In /var/rc.d/rc.red somewhere around line 393:

    push (@pppcommand, (’passive’,'lock’, ‘modem’, ‘crtscts’, $device,
    $pppsettings{’DTERATE’}, ‘noipdefault’,
    ‘defaultroute’, ‘user’, $pppsettings{’USERNAME’},
    ‘maxfail’, $pppsettings{’MAXRETRIES’}, ‘connect’,
    ‘/etc/ppp/dialer’));

    To set up your dialup in IPcop’s web gui.

    Interface: USB Modem on ACM0
    Number: #777
    Dialing Mode: Tone
    Idle Timeout: 0
    Computer to moden rate: 115200
    Modem speaker on: UNCHECKED
    ISP requires Carriage Return: UNCHECKED
    Connection debugging: UNCHECKED

    User Name: @vzw3g.com
    Password: (You can put anything here but it must not be blank)
    Method: PAP or CHAP

    Thanks to Ken for putting this page together. Keep up the excellent work!
    Your mileage may vary, but it seems to work for me. If anyone has a more elegant
    solution please feel free to post it.

    [Reply]


    March 8th, 2007 at 9:57 am

    So this might work for my USB720 novetel wireless modem ? got it from Verizon get sometimes close to 2 meg per speeds 1,725,000 BPS only 1 time so far

    [Reply]

    RayJ

    September 21st, 2007 at 7:13 pm

    Finally made the complete break from windoz! Last issue was my Verizon Broadband connection. New laptop did not come with an PCMCI slot! No matter, your fine information here got my brand new Verizon USB720 working perfectly! The only two glitch were the need to remove all the semi-colons from these lines:

    ” ‘ATTEV1&F;&D2;&C1;&C2S0;=0S7=60′
    ‘OK-ATTEV1&F;&D2;&C1;&C2S0;=0S7=60-OK-ATTEV1&F;&D2;&C1;&C2S0;=0S7=60-OK’

    BUT NOT THIS ONE! ‘AT+CSQ;D#777′

    AND
    using /dev/ttyUSB0 (not /dev/ttyACM0)

    Thank you!

    –RayJ

    [Reply]

  21. Jim McNamara
    May 28th, 2006 at 15:23 | #21

    I have the same model card, but I can’t get a connection on Debian with 2.6.16. All modules are cool, and I have tried every version of the 1xevdo_chat that is on this page, but I keep getting alarm and Failed in /var/log/messages. Here is a quick posting of /var/log/messages to see if I am missing something:

    May 28 15:15:17 localhost chat[4618]: expect (OK)
    May 28 15:15:20 localhost chat[4618]: alarm
    May 28 15:15:20 localhost chat[4618]: send (ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M)
    May 28 15:15:21 localhost chat[4618]: expect (OK)
    May 28 15:15:24 localhost chat[4618]: alarm
    May 28 15:15:24 localhost chat[4618]: send (ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M)
    May 28 15:15:24 localhost chat[4618]: expect (OK)
    May 28 15:15:27 localhost chat[4618]: alarm
    May 28 15:15:27 localhost chat[4618]: Failed
    May 28 15:15:28 localhost pppd[4617]: Exit.

    worklap:/etc/ppp/peers# tail /var/log/messages
    May 28 15:11:23 localhost chat[4594]: abort on (BUSY)
    May 28 15:11:23 localhost chat[4594]: abort on (NO ANSWER)
    May 28 15:11:23 localhost chat[4594]: send (ATZ^M)
    May 28 15:11:23 localhost chat[4594]: expect (OK)
    May 28 15:11:26 localhost chat[4594]: alarm
    May 28 15:11:26 localhost chat[4594]: send (AT^M)
    May 28 15:11:26 localhost chat[4594]: expect (OK)
    May 28 15:11:29 localhost chat[4594]: alarm
    May 28 15:11:29 localhost chat[4594]: Failed
    May 28 15:11:30 localhost pppd[4593]: Exit.

    worklap:/etc/ppp/peers# tail /var/log/messages
    May 28 15:01:00 localhost chat[4564]: abort on (NO CARRIER)
    May 28 15:01:00 localhost chat[4564]: abort on (ERROR)
    May 28 15:01:00 localhost chat[4564]: abort on (NO DIALTONE)
    May 28 15:01:00 localhost chat[4564]: abort on (BUSY)
    May 28 15:01:00 localhost chat[4564]: abort on (NO ANSWER)
    May 28 15:01:00 localhost chat[4564]: timeout set to 10 seconds
    May 28 15:01:00 localhost chat[4564]: send (AT^M)
    May 28 15:01:00 localhost chat[4564]: expect (OK)
    May 28 15:01:10 localhost chat[4564]: alarm
    May 28 15:01:10 localhost chat[4564]: Failed

    The card has been registered in Windows, and functions there without a problem. I did notice from other’s responces that it usually connects with ATZ^M^M, whereas mine only tries AT^M and ATZ^M. Is there a way to force ATZ^M^M?

    Thanks for the helpful page!

    [Reply]

  22. AJ
    June 5th, 2006 at 21:59 | #22

    Has anyone come up with a patch for cdc-acm or usbserial on the 2.6.15 kernel? I just upgraded from Breezy to Dapper, and now my connection is painfuly slow. I have tried applying the old patch to no avail.

    [Reply]

    Ken Kinder

    June 6th, 2006 at 3:41 pm

    I followed the meaning of the patches and made them myself. I’ll post it later today.

    [Reply]

    Joseph

    June 8th, 2006 at 8:49 pm

    Thanks for all the great info. Making this work with a Verizon card goes smooth now for me. However, I am now trying to get this to work on IPCOP with a Cingular wireless card. In fact, I can get the Cingular card to connect up the first time, but when I disconnect, I cannot cleanly connect back again. I have to change out profiles to a serial line, then go back to a modem adapter in IPCOP to get it to work.

    If anyone has any info on that, it would be greatly appreciated… thanks!

    [Reply]

    rich

    June 20th, 2006 at 10:28 pm

    I’d love to know how you got this working properly on Ubuntu 6.06.

    [Reply]

    frustrated

    June 26th, 2006 at 12:08 am

    I would love to know what the heck ya’ll are talking about. I have a pc5740 card from Verizon and using Win2000 and it never works right and I can never maintain a connection and it tells me I am Dormant even when I am doing something and the signal is strong. Speed is an average of 70 kbps even though it says broadband and most of the time it just times out and won’t do anything. Verizon is no help and all be it this forum looks like the best info I have seen. I have no clue what you are talking about.

    If you can tell me simply how to get this card to work more consistantly i would really appreciate it.

    Thanks if you can

    [Reply]

    Harbingerkun

    July 14th, 2006 at 2:40 am

    I’m running Ubuntu Dapper 6.06 LTS with a Sprint Merlin S620 EV-DO data card. The installation was a breeze. I was previously using the PPPD method described on this page on Breezy. But after upgrading to Dapper, the connection stopped working altogether.

    I tried everything I could from that point. After several weeks of research and trial and error, I was amazed at how simple the answer was.

    The solution for me was to use “wvdial” instead of pppd.

    Here’s is my /etc/wvdial.conf file:

    [Dialer Defaults]

    Stupid Mode = on

    Modem = /dev/ttyUSB0

    Baud = 921600

    Init = ATZ

    Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0

    Phone = #777

    Username = 1234567890@sprintpcs.com

    Password = 123456

    Init1 = ATZ

    ISDN = 0

    Modem Type = Analog Modem

    Auto Reconnect = on

    Carrier Check = no

    [Dialer shh]

    Init3 = ATM0

    [Dialer pulse]

    Dial Command = ATDP

    It’s pretty basic, and I’ve opted to leave it that way. Then, I added the entry “wvdial” to the startup section of the Sessions menu item. Now, I just turn the notebook on and the connection is up and running in a matter of seconds.

    All that was really necessary, was to modify the wvdial.conf file and then use the following commands:

    > sudo rmmod usbserial
    > sudo modprobe usbserial vendor=0×1410 product=0×1110
    > wvdial

    And just for good measure I added the “lcp-echo-interval 0″ command to /etc/ppp/options file to prevent myself from being disconnected every few minutes. I’d never actually experienced the problem but I thought it better to be safe than sorry.

    I’ve not had any trouble with it since.

    A brief note: When I tried to rmmod the usbserial module, Ubuntu complained that it couldn’t remove the module due to dependencies between the usbserial and airprime module. I have no use for the airprime module, so I simply “rmmod airprime” and then the commands above.

    This configuration is extremely versatile - even moreso than on Windows. I can remove the card and reinsert it at will having only to execute the “wvdial” command once its reinserted. I’ve also not experienced any problems with hibernation. And like I said, the connection has basically already started before Gnome is completely loaded.

    [Reply]

    derek

    August 17th, 2006 at 6:50 pm

    For dapper 6.06 and the verison pc5740, follow Harbingerkun’s instructions above, but use ttyACM0 instead of ttyUSB0, change the username to (Your phone number. No spaces or dashes)@vzw3g.com, and modify the global ppp configuration (/etc/ppp/options) to include the lcp options (to avoid a disconnect):
    lcp-echo-interval 65535
    lcp-echo-failure 4

    [Reply]


    February 26th, 2007 at 8:55 pm

    Thank you Ken Kinder and Harbinger Kun ! The evdochat scripts gave me hope, and I was able to see my server’s SSH banner ( only ). After much disappointment, the WVDial utility ( which I’d never heard of ) worked magically! All I had to do was add the DNS servers to /etc/resolv.conf . I’m actually posting via the new connection now!

    Ken, small world - I actually joined Rackspace a month before you left! I left late last year after there was a meltdown. Too many customers, not enough techs. Thanks again! — Mario

    [Reply]

  23. Becky Williams
    June 13th, 2006 at 13:08 | #23

    Can this be done with windows vista? I am trying to get my pc5740 installed and having some difficulties. Your response is greatly appreciated.

    Becky

    [Reply]


    June 29th, 2006 at 2:12 am

    I got mine working pretty much the same way under Windows Vista Beta 2 (5384) - I have the V620. Setup a dialup connection in Windows just like you are trying to dial up to an old dial-up ISP. For the number to dial, specify “#777″, specify your areacode+phone number (no dashes or spaces) for username (i.e. 8005551212@vzw3g.com) and leave the password blank. Windows connects fine.

    Even on my XP boxes, I am going to be discarding their VZAccess app (we have several of these for our field service techs) - it takes forever to load, and I’ve been looking for a way to get rid of it forever.

    Thanks to Ken for providing the inspiration and starting point on letting me use Vista on my notebook - I would have had to roll back to XP if this card wouldn’t have worked.

    [Reply]

    soopadoopa

    July 4th, 2006 at 10:58 pm

    Thank you–THANK YOU–for that, Sean. After repeated attempts to get my VZ card to work on my WinVista partition, your advice did the trick. I even uninstalled VZ access manager from my WinXP partition and performed the same trick.

    Thank you.

    [Reply]

    Victor Sepulveda

    July 31st, 2006 at 3:20 pm

    Thank you for this tip, I was getting a little frustrated with disconnects. I am using Vista Beta Two, and the Access Manager from Verizon. This post helped me out alot!

    Thanks!

    Victor/MIA

    [Reply]

    Chris

    January 31st, 2007 at 9:49 pm

    YOU ARE THE MAN!!! I have been looking everywhere for a Driver for this devise, but what you wrote works even better, thanks a lot!!!!!!

    [Reply]

    Talondale

    February 21st, 2007 at 1:50 pm

    I’ve got my WinXP setup like Sean said with the #777 dial number and username. It connects fine but I still have disconnect problems. Are there any XP settings we can do to “Keep Alive”? My router has a Keep Alive ping setting but it doesn’t seem to help. Maybe some AT commands we can configure? Also, is there a way to send a reconnect command to a host machine that is on a different subnet? My PC with the aircard is acting as a gateway on the WAN side of my router and the rest of my network is on the WAN side under a different subnet. It would be nice to run a reconnect command from a network computer than have to go into the room where the Aircard is and reconnect there.
    Thanks for all the help.

    [Reply]

  24. Alan
    July 5th, 2006 at 12:26 | #24

    Hi Ken and all,

    I’ve followed the examples in your site, but for some reason I get the following error message after invoking pppd call 1xevdo:

    pppd: In file /etc/ppp/peers/1xevdo: unrecognized option ‘ttyUSB0′

    Any ideas??

    Acer 1410/SuSE 10.1

    [Reply]

  25. Marc F. Clemente
    July 8th, 2006 at 09:42 | #25

    I just have a couple of comments and questions. Yesterday evening I got my Verizon v620 card working on my Debian laptop, and I would like to share my experience.

    First, the card was recognised by the stock 2.6.17 (unstable) kernel without any problem. Once I got the pppd scripts working just right, I had no problem connecting to Verizon. It would stay connected for a long time if all I did was ping a remote host. Once I started surfing or downloading, the connection would hang.

    Patching usb-serial.c solved that problem. The patch, as posted, does not apply cleanly, but patching by hand worked. My questions are…

    Is there any plan to incorporate the patch into the stock kernel?

    Is there any reason to set maxSize to anything other than 4096? What have other people tried, and what worked?

    Why not make maxSize=4096 the default in the kernel, so I don’t have to manually “modprobe usbserial maxsize=4096″, or edit a conf file?

    The pppd script that worked for me is this:
    connect ‘/usr/sbin/chat -v “” AT OK ATD#777 CONNECT’
    /dev/ttyUSB0
    defaultroute
    usepeerdns
    noauth
    noccp
    novj
    lcp-echo-interval 0
    lcp-echo-failure 0

    These are my comments regarding the script.

    First, I don’t know what all those fancy AT commands do. If someone can document them for the v620, that would be great. AT+CSQ gives signal strength. That might be useful info if you can’t connect.

    I use a really simple dialing script. My experience is that it almost always works. If it does not work, the card is hung and you have to eject and reinsert the card.

    The speed parameter does not make a difference for me, so I just omitted it. If I am getting 1726kbps (in LA area), I would have to set the speed greater than 1726000!

    I use noccp and novj. You can try to negotiate them, but Verizon here does not support them. If you put them in, you are sending four extra packets during negotiation.

    I do not need the “user 8005551212@vzw3g.com” parameter. Verizon does not ask for authentication, so it’s not used (in LA or St. Louis). YMMV in other markets.

    I disable lcp-echo with the two commands. I think it’s cleaner than setting a really long timeout. If you do nothing with lcp-echo, your connection will drop after a few minutes.

    This is the patch for usb-serial.c that apples cleanly to the 2.6.17 kernel.

    — linux-2.6-2.6.17/drivers/usb/serial/usb-serial.c 2006-06-17 20:49:35.000000000 -0500
    +++ /home/marc/usb-serial-patched.c 2006-07-08 08:32:20.000000000 -0500
    @@ -56,6 +56,7 @@
    drivers depend on it.
    */

    +static ushort maxSize = 0;
    static int debug;
    static struct usb_serial *serial_table[SERIAL_TTY_MINORS]; /* initially all NULL */
    static LIST_HEAD(usb_serial_driver_list);
    @@ -802,7 +803,7 @@
    dev_err(&interface->dev, “No free urbs available
    “);
    goto probe_error;
    }
    - buffer_size = le16_to_cpu(endpoint->wMaxPacketSize);
    + buffer_size = (endpoint->wMaxPacketSize > maxSize)?endpoint->wMaxPacketSize:maxSize;
    port->bulk_in_size = buffer_size;
    port->bulk_in_endpointAddress = endpoint->bEndpointAddress;
    port->bulk_in_buffer = kmalloc (buffer_size, GFP_KERNEL);
    @@ -1177,3 +1178,5 @@

    module_param(debug, bool, S_IRUGO | S_IWUSR);
    MODULE_PARM_DESC(debug, “Debug enabled or not”);
    +module_param(maxSize, ushort,0);
    +MODULE_PARM_DESC(maxSize,”User specified USB endpoint size”);

    I welcome any comments, questions or suggestions.

    marc@mclemente.net

    [Reply]


    July 26th, 2006 at 10:21 pm

    All was fine till I started to run pppd, then I got this

    [root@localhost mark]# tail -f /var/log/messages
    Jul 26 21:19:02 localhost chat[2842]: abort on (BUSY)
    Jul 26 21:19:02 localhost chat[2842]: abort on (NO ANSWER)
    Jul 26 21:19:02 localhost chat[2842]: send (ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M)
    Jul 26 21:19:03 localhost chat[2842]: expect (OK)
    Jul 26 21:19:03 localhost chat[2842]: ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M^M
    Jul 26 21:19:03 localhost chat[2842]: ERROR
    Jul 26 21:19:03 localhost chat[2842]: — failed
    Jul 26 21:19:03 localhost chat[2842]: Failed (ERROR)
    Jul 26 21:19:03 localhost pppd[2841]: Connect script failed
    Jul 26 21:19:03 localhost pppd[2841]: Exit.

    Any help?

    Thank you,
    Mark

    [Reply]

    mark s

    August 4th, 2006 at 4:28 pm

    Go to the top of the page and search for “mark s said on 2006-03-27″. That comment explains what I did when I had that problem.

    [Reply]

    Cody McCain

    March 19th, 2007 at 10:47 pm

    Ken, have you or anyone else attempted your instructions on the PC5750 with REV A?

    [Reply]

    Joseph

    April 16th, 2007 at 8:15 pm

    An update for those with the Rev A. 5750 cards:

    I have just put my card through the torture-test and am happy to report that it works very well. I have tried it in Ubuntu, Damn Small Linux and IPCop. Now for a breakdown:

    in DSL: my speeds dont go past 20 KB/sec
    in Ubuntu: speeds go up to 50 KB/sec
    in IPCop: speeds max out at 60 KB/sec

    I tried changing the speed setting from 115200 to 230400, but it didn’t help. One thing I think it could be is that I am not connecting to a Rev A network, but instead a regular National Broadband Access network.

    Using Windows XP, I can get 200 KB/sec down, so there must either be something in the drivers, or the script.

    When using IPCop, I don’t even use the scripts that Ken has posted. I just setup the modem using the gui, then put in the number and username, and it connects in a snap.

    Feel free to add more updates if you work with this card….. thanks!

    [Reply]


    May 6th, 2007 at 10:58 pm

    I will begin working with this card in Linux tomorrow. Would start tonight (first night I decided to inquire if using a 5750 was even possible on Linux), but of course tonight the only internet access I have is via the card, and the only machine I have with me is this dual-boot laptop.

    I’ll let you guys know about my success/failure/results tomorrow.

    -Alex

    [Reply]

  26. August 16th, 2006 at 03:32 | #26

    Great Information!! Thanks.

    I thought I would post about getting my SAMSUNG SPH-A920 evdo phone working on the sprint EVDO network.

    I basically followed this website with a few minor changes.

    I am using a puppy linux Live CD that found the USB (phone as modem) and created the /dev/ttyACM0 device. Then it was a matter of creating the two scripts and entering pppd call sprint

    Here is my ppp script
    ================
    # /etc/ppp/peers/sprint
    #
    noauth
    debug
    /dev/ttyACM0
    115200
    defaultroute
    user yourusername@sprintpcs.com
    show-password
    usepeerdns
    crtscts
    lock
    lcp-echo-failure 4
    lcp-echo-interval 65535
    connect “/usr/sbin/chat -v -f /etc/chatscripts/sprint”
    ==============

    And my ppp chat script
    ==============
    # /etc/chatscripts/sprint
    #
    ABORT BUSY ABORT ‘NO CARRIER’ ABORT VOICE ABORT ‘NO DIALTONE’ ABORT ‘NO DIAL TONE’ ABORT ‘NO ANSWER’ ABORT DELAYED
    # modeminit
    ” ATZ
    OK-AT-OK ATDT#777
    TIMEOUT 70
    ‘CONNECT-AT+CSQ;D#777-CONNECT’
    ==============

    with the lcp-echo commands I have stayed connected while idle.

    [Reply]

    extropian

    August 16th, 2006 at 10:34 pm

    It was actually DSL (Damn Small Linux) that I used, not puppy linux.

    [Reply]

    extropian

    August 22nd, 2006 at 11:15 pm

    It was actually DSL (Damn Small Linux) that I used, not puppy linux.

    [Reply]

    extropian

    August 24th, 2006 at 2:14 am

    It was actually DSL (Damn Small Linux) that I used, not puppy linux.

    [Reply]

  27. Courtney
    August 28th, 2006 at 12:18 | #27

    Do you have a image aviable for download of your completed IBM Laptop setup?

    [Reply]

    Ken Kinder

    September 1st, 2006 at 4:11 pm

    An image of what?

    [Reply]

  28. Mac
    September 21st, 2006 at 14:34 | #28

    Ken. Great of you to do this article. I installed Ubuntu over a month ago (knew nothing of Linux) and just yesterday got the 5740 card to work. I printed out the entire article and it’s pretty dogeared today. The script that worked was the ATT without the semi-colons. Speeds are around 20kbps and a lot of the time 0 lol. I have this card (Verizon) in a desktop with a Ricoh cardbus in a pci slot. I dual boot with xp home and in xp the card has speeds of 50 to 150. Funny part is, my other pc I link through a linksys switch and Ubuntu runs at over 200kbps all the time when linked through xp. Blazing fast. I saw your EVDO Forum question and was wondering if you found a patch that has worked for you yet?
    Again, a million thanks for writing this article.

    [Reply]

    Ken Kinder

    September 27th, 2006 at 3:15 am

    Well, I don’t have a patch other than the one that’s on this article, but it seems to be working great for me. Have you tried the patch?

    FWIW, I got speeds of about 150 BEFORE the patch.

    [Reply]

    Mac

    September 27th, 2006 at 1:25 pm

    Haven’t tried the patch yet. Can’t stay connected long enough to bring up anything in a browser. I’ll keep playing with the different scripts for now. Never know. I could hit the just the right one and get lucky. Thanks Ken.

    [Reply]


    September 29th, 2006 at 1:07 am

    (Sorry for the duplicate, I posted previously too far up.)

    Folks, I’m in real trouble here.

    Just upgraded to Ubuntu 6.06 Dapper Drake after my last laptop melted down. Yes, I’m a penguin noob :). I need to get my Verizon-based EVDO KPC-650 card working as it’s my sole internet in my live-in motorhome :). I’m a full-time political activist working in electronic voting reform and need to get fully back online like pronto…google my name with “diebold” if you’re curious.

    In doing the instructions Ken posted, once I do the “diff /proc/bus/usb/devices devices | grep Vendor” routine with the card inserted I get:


    < P: Vendor=0000 ProdID=0000 Rev= 2.06
    < P: Vendor=0000 ProdID=0000 Rev= 2.06
    < P: Vendor=0c88 ProdID=17da Rev= 0.00
    ---

    So as near as I can tell my next trick is:

    modprobe usbserial vendor=0x0c88 product=0x17da

    ...and it's producing NOTHING whatsoever in /dev - tried it with and without "sudo", no joy, tried:

    modprobe usbserial vendor=0c88 product=17da

    ... (again, both sudo and plain) and still nothing, I tried "sudo nautilus" to go look for anything smelling even close to a new tty file generated in /dev and there's nothing.

    Modprobe isn't doing any errors. The fact that the "diff" process is showing the card means the PCMCIA slot and card are live, right?

    Other notes: at this site:

    https://forums.gentoo.org/viewtopic-t-427992.html

    …somebody running Gentoo used the same vendor/prod numbers and here in another build:

    http://www.novell.com/coolsolutions/tip/17600.html

    …so I know I’m on the right track.

    Why am I stuck?

    Heeeelp?

    [Reply]

    Mac

    September 29th, 2006 at 7:57 pm

    This may be of some help Jim:
    http://wildbill.nulldevice.net/wordpress/?p=144

    [Reply]


    September 30th, 2006 at 12:10 pm

    I tried those instructions too, no joy, even without the “maxsize” parameter.

    For somebody new to Linux those instructions are rather difficult to deal with. Fr’instance, it says you’ll get “new messages” when you “slot the card”. Where do these messages appear and where do you read them? There’s whole steps missing, basically.

    Sigh.

    [Reply]

    Mac

    September 30th, 2006 at 5:10 pm

    I’m sure this is no help Jim but I too am new to Linux and have yet to get my card to work. I’m in Linux on my pc and my wife’s is running xp. I just share her connection. Have you tried to e-mail Ken?

    Jim March

    October 1st, 2006 at 3:22 pm

    Well I guess worst case, I cough up enough for a Kyocera KR1:

    http://booster-antenna.com/index.php?main_page=product_info&cPath=35&products_id=99

    …and then just run Ethernet between that and my Ubuntucritter.

    Siiigh. I’m kinda broke right now, that *hurts*…:(

  29. Mike D
    October 2nd, 2006 at 14:18 | #29

    Has anyone gotten this to work with the internal EVDO card on a Thinkpad T60? This card is a 5720.

    No matter what I try (pppd or wvdial) I continue to get “NO CARRIER” upon the ATDT command. Modem appears to initialize since it returns an OK upon ATZ.
    Running Kubuntu 6.06.

    [Reply]

    Peter

    December 19th, 2006 at 1:03 am

    Mike D,

    I’m having the same problem, i believe it to be due to the fact that the card doesn’t power up properly on the T60 (at least in my case). If you would like to work on this some more please contact me.

    [Reply]

    Mark M

    July 18th, 2007 at 12:14 am

    Just reading through this listing as I am looking at setting up my EVDO connection on FC7 on an IBM ThinkPad T60p. FYI for NEW IBM/Lenovo ThinkPad laptops, the PCMCIA slot is no longer it’s own bus. It is now slaved to the USB bus. This is information only and I have no idea how to fix the power problem with it. Let me know if there is any technical information you might need about that IBM/Lenovo ThinkPads.

    [Reply]

  30. grey
    October 3rd, 2006 at 20:30 | #30

    after trying to connect all my log says is this and then it just stops… any ideas?

    Feb 7 18:58:36 localhost chat[9557]: send (ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M)
    Feb 7 18:58:36 localhost chat[9557]: expect (OK)
    Feb 7 18:58:36 localhost chat[9557]: ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M^M
    Feb 7 18:58:36 localhost chat[9557]: OK
    Feb 7 18:58:36 localhost chat[9557]: — got it
    Feb 7 18:58:36 localhost chat[9557]: send (AT+CSQ;D#777^M)
    Feb 7 18:58:36 localhost chat[9557]: timeout set to 70 seconds
    Feb 7 18:58:36 localhost chat[9557]: expect (CONNECT)
    Feb 7 18:58:36 localhost chat[9557]: ^M
    Feb 7 18:58:36 localhost chat[9557]: AT+CSQ;D#777^M^M
    Feb 7 18:58:36 localhost chat[9557]: 15, 99^M
    Feb 7 18:58:40 localhost chat[9557]: ^M

    [Reply]

    Anonymous

    October 3rd, 2006 at 8:40 pm

    Oh sorry, actually after

    “localhost pppd[5004]: ^M” it goes like this…

    localhost pppd[5004]: Connect
    localhost pppd[5004]: — got it
    localhost pppd[5004]:serial connection established.
    localhost pppd[5004]:using interface ppp0
    localhost pppd[5004]:connect: ppp0 < --> /dev/ttyACM0
    localhost pppd[5004]:Remote message: Authentication Failed
    localhost pppd[5004]: Connection terminated.
    localhost pppd[5004]:Exit

    [Reply]

    grey

    October 3rd, 2006 at 8:40 pm

    Oh sorry, actually after

    “localhost pppd[5004]: ^M” it goes like this…

    localhost pppd[5004]: Connect
    localhost pppd[5004]: — got it
    localhost pppd[5004]:serial connection established.
    localhost pppd[5004]:using interface ppp0
    localhost pppd[5004]:connect: ppp0 < --> /dev/ttyACM0
    localhost pppd[5004]:Remote message: Authentication Failed
    localhost pppd[5004]: Connection terminated.
    localhost pppd[5004]:Exit

    [Reply]

    Jim March

    October 18th, 2006 at 3:49 pm

    Well it’s fixed NOW. $250 later. Bought a Kyocera KR1 external router/adapter. It’s a “black box” that holds the EVDO PCMCIA card, converts that to your choice Ethernet, WiFi or both.

    Sigh.

    But on the plus side, with the EVDO cellmodem now over six feet away, my testicles are no longer mutating with that monster broadcaster sitting six INCHES from my nuts (I tend to take the term “laptop” seriously).

    So working Ubuntu, no more mutating nuts, less money for movies and eating out but it’s all good.

    [Reply]

    Mac

    November 7th, 2006 at 7:51 pm

    WTG Jim!

    [Reply]

  31. joe respond
    October 23rd, 2006 at 15:13 | #31

    i have suse 10.1 and am trying to install a pcmcia sprint pcs card
    i did the su command
    then i did the modprobe ohci-hcd command
    when i i did the cat /proc/bus/usb/devices > devices
    cat: /proc/bus/usb/devices: No such file or directory

    please help

    [Reply]

  32. November 17th, 2006 at 23:54 | #32

    I have compiled my log of how I got it working. Very similar to other cards, the only magic was finding the username and combining notes from other cards. This is the first REV A EVDO card in Linux that I know of. It still requires a one time activation in a windows computer.

    Feed back should be send using our feedback method on the website (anti Spam), I will update based on comments. If you send us feedback, please include a return email so we can respond.

    http://www.sagrad.com/info/EVDO/

    Enjoy,

    Adam

    [Reply]


    November 17th, 2006 at 11:55 pm

    Ok this was for Pantech PX-500 on Sprint using Linux.

    [Reply]

  33. December 2nd, 2006 at 00:29 | #33

    I got this card (Sprint) working in Ubuntu 6.10 Edgy Eft without any special patches or anything. My 1xevdo:

    ttyACM0
    115200
    debug
    noauth
    defaultroute
    usepeerdns
    connect-delay 10000
    crtscts
    lock
    lcp-echo-failure 0
    lcp-echo-interval 0
    connect ‘/usr/sbin/chat -v -t3 -f /etc/ppp/peers/1xevdo_chat’

    And my 1xevdo_chat

    ABORT ‘NO CARRIER’ ABORT ERROR ABORT ‘NO DIALTONE’ ABORT BUSY ABORT ‘NO ANSWER’
    ‘AT+CSQ;D#777′
    TIMEOUT 45
    ” AT OK AT+CSQ OK ATDT#777 CONNECT

    It kinda works with Network Manager, but doesn’t actually say if it is connected or not, but “Connect to Modem…” works. The only problem is that it times out after about 140 minutes and disconnects. I haven’t figured that one out yet.

    Thanks for the Howto!

    [Reply]


    December 2nd, 2006 at 12:38 am

    I forgot to mention, to make it work with Network Manger, link ppp0 to 1xevdo.

    [Reply]

  34. John
    December 9th, 2006 at 14:41 | #34

    Hi All,

    I have a 64-bit Fedora Core 5 running on an AMD platform (kernel version kernel-2.6.18-1.2200.fc5). The only thing I’ve had to change in the basic instructions was to increase the timeout values to get the card to connect. The problem I’m having is the DHCP conversation never takes place with the Verizon network. Following is the output from /var/adm/messages:

    Messages:
    ———
    Dec 2 15:22:12 compname pppd[3206]: pppd 2.4.3 started by root, uid 0
    Dec 2 15:22:13 compname chat[3207]: abort on (NO CARRIER)
    Dec 2 15:22:13 compname chat[3207]: abort on (ERROR)
    Dec 2 15:22:13 compname chat[3207]: abort on (NO DIALTONE)
    Dec 2 15:22:13 compname chat[3207]: abort on (BUSY)
    Dec 2 15:22:13 compname chat[3207]: abort on (NO ANSWER)
    Dec 2 15:22:13 compname chat[3207]: send (ATZ^M)
    Dec 2 15:22:13 compname chat[3207]: expect (OK)
    Dec 2 15:22:13 compname chat[3207]: ATZ^M^M
    Dec 2 15:22:13 compname chat[3207]: OK
    Dec 2 15:22:13 compname chat[3207]: — got it
    Dec 2 15:22:13 compname chat[3207]: send (ATDT#777^M)
    Dec 2 15:22:13 compname chat[3207]: timeout set to 30 seconds
    Dec 2 15:22:13 compname chat[3207]: expect (CONNECT)
    Dec 2 15:22:13 compname chat[3207]: ^M
    Dec 2 15:22:17 compname chat[3207]: ATDT#777^M^M
    Dec 2 15:22:17 compname chat[3207]: CONNECT
    Dec 2 15:22:17 compname chat[3207]: — got it
    Dec 2 15:22:17 compname chat[3207]: send (d)
    Dec 2 15:22:18 compname pppd[3206]: Serial connection established.
    Dec 2 15:22:18 compname pppd[3206]: Using interface ppp0
    Dec 2 15:22:18 compname pppd[3206]: Connect: ppp0 < --> /dev/ttyACM0
    .
    . wait for timeout
    .
    Dec 2 15:23:16 compname pppd[3206]: Hangup (SIGHUP)
    Dec 2 15:23:16 compname pppd[3206]: Modem hangup
    Dec 2 15:23:16 compname pppd[3206]: Connection terminated.
    Dec 2 15:23:17 compname pppd[3206]: Exit.

    I wondered if iptables was getting in the way, but disabling it for testing doesn’t change anything. DHCP worked previously when I was connected to a cable modem. Any ideas?

    Thank you very much.

    John

    [Reply]

    WMuncy

    December 26th, 2006 at 8:08 pm

    Using the information provided:

    ttyACM0
    115200
    debug
    noauth
    defaultroute
    usepeerdns
    connect-delay 10000
    user 865999999@vzw3g.com (my real account here)
    show-password
    crtscts
    lock
    lcp-echo-failure 4
    lcp-echo-interval 65535
    connect ‘/usr/sbin/chat -v -t3 -f /etc/ppp/peers/1xevdo_chat’

    chat:
    # AT$QCMIPGETP “login” name used for MobileIP, which usually matches your MIN.
    # AT+GSN ESN in hex
    # AT+GMR firmware revision and build date.
    # AT+CSQ first number indicates the signal strength above -109 dBm (in
    # 2 dBm increments). A value of 7 or higher (-95 dBm) can be
    # considered adequate. 31 is the max. (Possible values in
    # Audiovox PC5740 are 0, 7, 15, 23, 31.)
    # AT+CDV=*22899 Update PRL. at+cdv=*22899 | OK | Lost carrier.
    ABORT ‘NO CARRIER’ ABORT ERROR ABORT ‘NO DIALTONE’ ABORT BUSY ABORT ‘NO ANSWER’
    ” ‘ATTEV1&F;&D2;&C1;&C2S0;=0S7=60′
    ‘OK-ATTEV1&F;&D2;&C1;&C2S0;=0S7=60-OK-ATTEV1&F;&D2;&C1;&C2S0;=0S7=60-OK’ ‘AT+CSQ;D#777′
    TIMEOUT 70
    ‘CONNECT-AT+CSQ;D#777-CONNECT’

    result (I get this)

    william@ubuntu:~$ tail -f /var/log/messages
    Dec 26 19:53:50 ubuntu chat[12541]: alarm
    Dec 26 19:53:50 ubuntu chat[12541]: Failed
    Dec 26 19:53:51 ubuntu pppd[12540]: Exit.
    Dec 26 19:54:31 ubuntu pppd[12576]: pppd 2.4.4b1 started by william, uid 1000
    Dec 26 19:54:32 ubuntu chat[12577]: abort on (NO CARRIER)
    Dec 26 19:54:32 ubuntu chat[12577]: abort on (ERROR)
    Dec 26 19:54:32 ubuntu chat[12577]: abort on (NO DIALTONE)
    Dec 26 19:54:32 ubuntu chat[12577]: abort on (BUSY)
    Dec 26 19:54:32 ubuntu chat[12577]: abort on (NO ANSWER)
    Dec 26 19:54:32 ubuntu chat[12577]: expect (^M)
    Dec 26 19:54:35 ubuntu chat[12577]: alarm
    Dec 26 19:54:35 ubuntu chat[12577]: Failed
    Dec 26 19:54:36 ubuntu pppd[12576]: Exit.

    Someone please help me. I really would like to get something to work on this linux box.

    [Reply]

  35. Dan
    January 2nd, 2007 at 16:53 | #35

    I have a wierd problem so I thought I’d ask in this forum since it seems the most active. I’m running ubuntu-server6.06 with the Verizon aircard mentioned in this article. I’ve got it connected to the internet but I cannot ssh back into the machine. I can ping other machines, ssh out, but not ssh in. The machine is on my local network so I can ssh to it using the eth interface but not using the ppp0 interface.

    The wierd thing is that if I plug in a Sprint card to the machine, ssh works fine. Is there something wrong with Verizon’s DNS servers or possibly with my machine. Has anyone else had this problem?

    Thanks,
    Dan

    [Reply]

    Dan

    January 3rd, 2007 at 1:26 pm

    Problem solved. Looks like Verizon is blocking the default ssh port 22. Problem was solved by changing the ssh server to a different port in /etc/ssh/sshd_config. If anyone else can repeat it, please let me know.

    Dan

    [Reply]

  36. redjr
    January 11th, 2007 at 20:49 | #36

    Ken,

    Thanks for a great and informed article on getting the PC5740 EVDO wireless card working with Linux. After much reading, culling over the replies I was finally able to get it working with Puppy Linux v2.12. I think my bald spot is a little bigger though! Mind you, this was my first venture in debugging and modifying scripts in Linux of any kind, so it was not a walk in the park.

    After modifying the Hayes AT commands in the ‘chat’ script (with help from HOWTO for 5220) I was finally able to connect. Now, how do I add the modprobe usbserial…. and pppd call…. command lines to a script file that I can run every time I start Puppy. Better yet, where do I add them to existing files/scripts that get executed on startup?

    Again, thanks for article.

    [Reply]

  37. cwwilson721
    January 13th, 2007 at 22:39 | #37

    Thanks for a very informative article.

    Yesterday, I finally got sick and tired of the over-priced and SLOW (Dialup is faster) hot-spots at truck stops(BTW, I drive 48 states for a living, and if needed, Flying J has the fastest wifi).

    So I bought a PX-500 from Sprint, paid the fees, and off I went.

    Today, I had some dead time, so I figured “Lets get this puppy up and running”.

    First boo-boo: No windows. OK…Now what? I’m running Slackware 11.0 w/2.6.17 kernel, on a 20GB HDD. I’m not gonna toss my favorite distro out just to install XP or Win2K. So now what? I ssh into my server at home, D/L’d my iso of WIn2k, and mounted it. Then I ran qemu, and tried to install it. Well, long story short, it has been so long since I used it, I forgot it was an upgrade disk, so it wouldn’t install. So I got my 98se iso, tried the same thing, then remembered that it is not a bootable cd.

    ARRGH! Now what? OK, I took the plunge, and d/l’d my XPProSP@ iso, and then installed it in qemu, on a 2gb partition. OK…Now I got WinXP, installed the software to activate my card, and it worked.

    Next, I got rid of the Evil Empires’ software, then I was sitting here looking how to get my card top work, when I found this page.

    99% was ok for me, but since I had a PX-500, I went to the evdoforums, and found an article that gave me the specific tweaks I needed, and BAM! here I am.

    Thanks for the info.

    Keep it up.

    [Reply]

    maclenin

    January 15th, 2007 at 12:20 pm

    Folks, can the EVDO card (AirPrime CDMA Wireless PC Card) be installed / setup / configured to work (in Linux - Xubuntu Edgy Eft - 2.6.17-10-generic) as a “plain vanilla” (home networking / hot-spot) “Wireless PC Card” (without the need an interface with the telecom provider)?

    [Reply]

  38. ygolohcysp
    January 28th, 2007 at 22:28 | #38

    Thank you for the awesome article. I’ve been using my pc5740 card with XP Pro for a while now. Won’t need to bother with the activation. Almost since I’ve gotten it, I’ve used a custom connection through XP directly to connect, rather than the Verizon software. That alone greatly improved performance. However, once in a while, maybe once a month or two, the card doesn’t want to connect. When it happened the first time, I tried the Verizon software and it said I had to update the coverage whatever-it-was, and asked if I wanted to. I clicked yes, it updated, and then the XP connection worked fine. You may be right about it updating something in the card. I don’t know if you’ve had that problem.

    At any rate, I’m now installing Ubuntu Edgy x64. Drivers are now available for all the hardware on this laptop. I have used Linux once or twice before, but have next to no experience with it. I definitely want to get used to something better before MS drops XP and forces people onto Vista. Thanks again in advance.

    [Reply]

  39. Stegall
    February 3rd, 2007 at 21:05 | #39

    I, too, wish to thank you for this information.

    I installed 6.10 “Edgy Eft” the other day and used this information to connect to Verizon with little trouble. I read what Bert Rapp wrote here and on his web page (see Bert Rapp said on 2006-04-27) and decided to try kppp.

    I had to add the two lcp-echo lines from your 1xevdo script to the /etc/ppp/peers/kppp-optons script to keep the connection up for more than two minutes, but it seems to be running clean and green now.

    [Reply]

    Ken Kinder

    February 13th, 2007 at 12:52 pm

    With edgy, you don’t seem to need a kernel patch.

    [Reply]

  40. James Bonnar
    February 16th, 2007 at 20:43 | #40

    I’m running SuSe linux 10.0 on a Presario laptop that dual boots with XP (but I use linux 99% of the time nowadays). I’d like to share my experience in getting the Verison pc5740 card up and running and eliminating those nasty disconnects in an easy way. I’ll also show how to write some quick and dirty shell scripts to make your connects simpler.

    First off, in SuSe I did not get /dev/ttyACM0 upon loading usbserial, rather I got /dev/ttyUSB0. So my /etc/ppp/peers/1xevdo file is thus:

    ttyUSB0
    115200
    debug
    noauth
    defaultroute
    usepeerdns
    connect-delay 30000
    user xxxxxxxxxx@vzw3g.com
    show-password
    crtscts
    lock
    lcp-echo-failure 0
    lcp-echo-interval 0
    connect ‘/usr/sbin/chat -v -t3 -f /etc/ppp/peers/1xevdo_chat’

    where you replace xxxxxxxxxx with the 10 digit number Verison assigned you.
    And my 1xevdo_chat file is thus:

    ABORT ‘NO CARRIER’ ABORT ‘ERROR’ ABORT ‘NO DIALTONE’ ABORT ‘BUSY’
    ABORT ‘NO ANSWER’
    ” ATZ
    OK-AT-OK ATDT#777
    CONNECT dc

    which works fine.

    I also, for good measure, made the following selections in /etc/ppp/options file:

    lcp-echo-interval 0
    lcp-echo-failure 0

    Now keeping in mind that we are going to automate our connect procedure, it would be best to load the modules on startup. Thus, add the following two lines to /etc/init.d/boot.local :

    /sbin/modprobe ohci-hcd
    /sbin/modprobe usbserial vendor=0×106c product=0×3701

    This will load the modules on bootup.

    Now lets write the shell scripts (we’ll chmod the permissions in a moment).
    We need two scripts to pull this off, one to connect and one to ping the dynamically set remote IP address (which will in effect keep us from getting disconnected due to inactivity).
    Heres the first, which I call internet1.sh :

    #/usr/bin/sh

    /usr/sbin/pppd call 1xevdo

    exit 0

    Simple enough. Now heres the pinger, which I call internet2.sh :

    #/usr/bin/sh

    remoteip=$(/sbin/ifconfig ppp0 | grep ‘P-t-P:’ | cut -d: -f3 | awk ‘{print $1}’)
    ping $remoteip -i 30

    exit 0

    this will ping the remote IP every 30 seconds. Now we must chmod away in order for these to execute properly. Do the following:
    chmod +x internet1.sh
    chmod +x internet2.sh
    chmod u+s /usr/sbin/pppd
    chmod 777 /sbin/modprobe
    chmod 777 /sbin/ifconfig

    Now were ready to rock. Connect by doing the following:

    ./internet1.sh &
    (wait for it to finish connecting, then press enter to regain your prompt)
    ./internet2.sh
    (this will begin the pinging)

    You may now launch your browser!
    Using these procedures I’ve stayed connected indefinitely. To disconnect, ^X^C
    then fg to get internet1 back into the foreground and then ^X^C again.

    Let the revolution begin!

    [Reply]

    John Ziegler

    February 17th, 2007 at 8:33 pm

    Thank you, thank you, thank you! Everything worked great. Remember to reboot after you edit /etc/init.d/boot.local . I can’t believe how smoothly everything worked.

    [Reply]

    RobG

    March 11th, 2007 at 6:43 pm

    Thank you for this slick script!! But before I can use it, I’m having a problem. I get a successful connect, as it says Connect: ppp0 < --> /dev/ttyACM0. It will then sit for exactly 30 seconds, and then it gives about ten more lines in the log, including the IP addresses. BUT, at the very same instant, it also drops the connection. It doesn’t stay connected long enough for the script to determine the IP and do anything about it.

    Anybody have any ideas on how to make it stay connected longer? Here’s my chat script… I have to type this out so the first line is the various ABORT items, then:

    ” ‘ATZ’
    ‘OK’ ‘ATD#777′
    TIMEOUT 70
    ‘CONNECT’

    Thanks!

    Rob

    [Reply]

  41. March 6th, 2007 at 16:27 | #41

    I just upgraded to Ubuntu Fiesty Fawn Herd 5 this weekend and an amazing thing has happened from that upgrade. My Verizon EVDO card now works nearly flawlessly — no more dropped connections — no more hanging on file downloads — no more slow connections. I’m still using exactly the same scripts that Ken originally posted — no changes. So for those of you frustrated over poor performance and dropped connections — Fiesty Fawn seems to have fixed something on Ubuntu. I’ve been running for 3 days without a single dropped connection or hang.

    Thanks to Ken and all that have posted on this page. Without this information I would still be without internet access from my client sites.

    Todd Tomlinson
    CEO
    Opensolutions Partners
    http://www.opensolutionspartners.com

    [Reply]


    March 9th, 2007 at 4:04 pm

    I am thinking about doing this for my X60s which has an embedded EVDO Card. Has anyone had any success with this?

    [Reply]

  42. Ryan W
    March 10th, 2007 at 10:15 | #42

    The Ulmo patch to correct your low speed was made for 2.6.14 and then you changed it into a 2.6.12 patch. How did you do that? How did you know what to change? I read both and see differences, but not sure what it means.

    -Ryan

    [Reply]

  43. dkap
    April 4th, 2007 at 05:37 | #43

    Greetings,

    Thank you SO VERY MUCH for the work you put in figuring out all the ins and outs of this. I’ve been trying to get this working under Redhat Fedora Core (4 at the moment, not that I expect it to make much difference …)

    I’ve got just about everything working, except one, small strangeness, and that being the resolv.conf information keeps ending up in /var/run/ppp/resolv.conf instead of /etc/resolv.conf. A slight modification of ifup-ppp adjusted that, but, I’m wondering why it does it in the first place.

    Below is my config. It mirrors as close as I could get to the config above, since, apparently the chat setup is bypassed in the ifup-ppp script, and it goes right to executing the chat based on the information below.

    Remember, in FC4 (and other FC’s) you need to hard-link your file to these three locations:

    # find /etc -name ifcfg-ppp0 -exec ls -i {} ;
    10345317 /etc/sysconfig/network-scripts/ifcfg-ppp0
    10345317 /etc/sysconfig/networking/profiles/default/ifcfg-ppp0
    10345317 /etc/sysconfig/networking/devices/ifcfg-ppp0

    So, in /etc/sysconfig/network-scripts/ifcfg-ppp0 I have:

    NAME=ppp0
    DEVNAME=ppp0
    PEERCONF=1xevdo
    DEVICE=ppp0
    ONBOOT=no
    USERCTL=yes
    BOOTPROTO=dhcp
    PEERDNS=yes
    PERSIST=no
    MODEMPORT=/dev/ttyUSB0
    LINESPEED=115200
    DEFABORT=yes
    DEFROUTE=yes
    DEBUG=yes
    HARDFLOWCTL=yes
    PAPNAME=(Your phone number. No spaces or dashes)@vzw3g.com
    DEMAND=yes
    IDLETIMEOUT=600
    TYPE=Modem
    IPV6INIT=no
    AC=off
    BSDCOMP=off
    VJCCOMP=off
    CCP=off
    PC=off
    VJ=off
    CHATSCRIPT=”-t3 /etc/ppp/peers/1xevdo_chat”
    PROVIDER=vzw3g.com
    PPPOPTIONS=”connect-delay 10000 lcp-echo-failure 4 lcp-echo-interval 65535 show-password”

    Two things:
    1) I don’t think it actually looks at the PEERCONF file, but that file is a copy of what is above.
    2) I have no idea if the -t3 is actually passed, and if so, if it does anything, I couldn’t see a difference either way.

    Then the chat script is:

    # AT$QCMIPGETP “login” name used for MobileIP, which usually matches your MIN.
    # AT+GSN ESN in hex
    # AT+GMR firmware revision and build date.
    # AT+CSQ first number indicates the signal strength above -109 dBm (in
    # 2 dBm increments). A value of 7 or higher (-95 dBm) can be
    # considered adequate. 31 is the max. (Possible values in
    # Audiovox PC5740 are 0, 7, 15, 23, 31.)
    #’OK’ ‘ATTEV1&F;&D2;&C1;&C2S0;=0S7=60′
    # AT+CDV=*22899 Update PRL. at+cdv=*22899 | OK | Lost carrier.
    ABORT ‘NO CARRIER’ ABORT ERROR ABORT ‘NO DIALTONE’ ABORT BUSY ABORT ‘NO ANSWER’
    ” ‘ATZ’
    ‘OK’ ‘ATTEV1&F&D2&C1&C2S0=0S7=60′
    ‘OK-ATTEV1&F&D2&C1&C2S0=0S7=60-OK-ATTEV1&F&D2&C1&C2S0=0S7=60-OK’ ‘ATD#777′
    TIMEOUT 70
    ‘CONNECT-AT+CSQ;D#777-CONNECT’

    With this, I had to remove the semi-colons to get the first line to work, add a ATZ before it all, and I couldn’t seem to get the AT+CSQ to work, so it drops right to the dialer after that.

    To get the resolv.conf file correct, I modified the ifup-ppp script most inelegantly, there should be a much more simple and elegant way to do this:

    # diff ifup-ppp ifup-ppp-orig
    155d154
    < cp /var/run/ppp/resolv.conf /etc/resolv.conf

    Then I can just ifup ppp0 and ifdown ppp0 when I want to.

    I guess my two questions are how to get the AT+CSQ working (and what it does, if I need it) and how to properly fix the resolv.conf issue.

    Thank you,
    -dkap

    [Reply]

  44. Scott
    April 5th, 2007 at 16:18 | #44

    Hello,
    I’ve got an Alltel Kyocera KPC650 aircard working in linux with airprime drivers, along with an external wilson trucker antenna on a 12 foot pole outside and the wilson 35db signal amplifier. With this, Im getting about a 30 on my signal strength and can connect directly through pppd or wvdial successfully. Ive got the card inside a desktop computer with a pci to pccard adapter, and the desktop is connected to my wireless router, with a dhcp server running on linux. Thus, Im able to broadcast the internet throughout my house for our other two computers. Im having a problem staying conneted though. First, we can stay online for about 2 to 4 hours, then we would get disconnected by an LCP error. This wouldnt be a problem, except after this happens, we almost always get disconnected repeatedly over and over again, to the point where I just have to unplug the card for an hour or two, then I can start the whoel process over again. I turned LCP to passive mode, and this did nothing either. What happens now isthat the computer thinks it’s still online, but in fact the modem has disconnected becaus the little blue light is no longer flashing, and we cant browse the internet. So I have to disconnect manually, and redial the connection.
    I did some research and discovered that EVDO does not allow the client to send LCP echo requests, but what Im thinking is whats going on is that the server is sending LCP echo requests out, and the client computer is not responding because it is in passive mode. Does any one have any clue as to what is going on with this??
    Any help woul be much appreciated.

    Thanks!
    Scott

    [Reply]

  45. martin topple
    April 11th, 2007 at 00:14 | #45

    I suspect that microsoft have already started to force us of XP as with each update the speed of operation apparently slows down and with the verizon c ard internet connection get slower and browser connection less reliable.Or is this just an illusion?

    [Reply]

  46. Mac
    April 30th, 2007 at 15:50 | #46

    Just found a 3G Wireless Mobile Broadband Router that I inserted the aircard into and works like a charm!!!! Couldn’t be happier.

    [Reply]

  47. Luca
    May 2nd, 2007 at 20:13 | #47

    Hi,
    I’ve followed all instructions but I got these messages:
    May 2 19:08:56 CMCOSI05 chat[5799]: abort on (NO DIALTONE)
    May 2 19:08:56 CMCOSI05 chat[5799]: abort on (BUSY)
    May 2 19:08:56 CMCOSI05 chat[5799]: abort on (NO ANSWER)
    May 2 19:08:56 CMCOSI05 chat[5799]: send (ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M)
    May 2 19:08:57 CMCOSI05 chat[5799]: expect (OK)
    May 2 19:08:57 CMCOSI05 chat[5799]: ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M^M
    May 2 19:08:57 CMCOSI05 chat[5799]: ERROR
    May 2 19:08:57 CMCOSI05 chat[5799]: — failed
    May 2 19:08:57 CMCOSI05 chat[5799]: Failed (ERROR)
    May 2 19:08:58 CMCOSI05 pppd[5797]: Exit.

    What’s wrong?
    Cheers,
    Luca

    [Reply]

    Mac

    May 3rd, 2007 at 10:09 pm

    Try taking out the semi-colons and see what it does.

    [Reply]

    Mac

    May 3rd, 2007 at 10:24 pm

    This one worked great for me.

    # AT$QCMIPGETP “login” name used for MobileIP, which usually matches your MIN.
    # AT+GSN ESN in hex
    # AT+GMR firmware revision and build date.
    # AT+CSQ first number indicates the signal strength above -109 dBm (in
    # 2 dBm increments). A value of 7 or higher (-95 dBm) can be
    # considered adequate. 31 is the max. (Possible values in
    # Audiovox PC5740 are 0, 7, 15, 23, 31.)
    # AT+CDV=*22899 Update PRL. at+cdv=*22899 | OK | Lost carrier.
    ABORT ‘NO CARRIER’ ABORT ERROR ABORT ‘NO DIALTONE’ ABORT BUSY ABORT ‘NO ANSWER’
    TIMEOUT 30
    “AT OK AT+CSQ OK ATDT#777 CONNECT

    [Reply]

    Mac

    May 7th, 2007 at 2:06 pm

    Any luck Luca?

    [Reply]

  48. May 5th, 2007 at 09:20 | #48

    thought your readers may be interested in learning that the KR1 now supports more EVDO Rev-A devices.

    Kyocera will soon be announcing firmware RK1010 that provides full support for the U720/USB720 as well as the PX500/PC5750.

    As with prior firmware releases, EVDOinfo.com and 3GStore.com are first to sell KR1 routers with this new firmware! …for more info, read:

    http://www.evdoinfo.com/content/view/1973/64/

    [Reply]

    Mac

    May 5th, 2007 at 3:15 pm

    Very cool. Thank you.

    [Reply]

  49. Chris
    May 7th, 2007 at 15:29 | #49

    Thanks for posting this information. I have everything working fine, but I’d like to be able to ssh into this machine over the ppp connection.

    For some reason, although I can ssh into the ethernet interface and telnet to an app I have running on a different tcp port on the ppp interface/ip, I can’t ssh via the ppp interface.

    I’ve looked over the sshd_config file and have iptables stopped for testing, but still no go.

    Anyone have any ideas ? I’m running Fedora Core 5.

    Thanks,
    Chris

    [Reply]

    Chris

    May 7th, 2007 at 3:31 pm

    Never mind, I just checked Dan’s post earlier on this page and found the answer.

    [Reply]

    Kurtis

    June 2nd, 2007 at 9:02 pm

    hey i was just wondering if there is any way i could get a copy and paste thing to add my vzw aircard on my computer. i am a gentoo nub so idont know much about it.
    i have a Nova Tell Usb 720

    [Reply]

    Kurtis

    June 2nd, 2007 at 9:03 pm

    or maybee a patch???

    [Reply]

  50. fhlh
    June 13th, 2007 at 12:19 | #50

    Anyone have any luck getting a VZW pc5750revA working with ubuntu 7.04?
    I’ve tried all the above, but no dice.
    I always get gconf server is not in use, shutting down.
    TIA

    [Reply]

    fhlh

    June 13th, 2007 at 4:28 pm

    got it working in 7.04 with my VZW
    This site and http://www.ka9q.net/5220.html was a huge help.
    installing the serial driver in etc/modules was what go me over the top…
    Then I went into ‘manual network confiuration/modem connection
    1. General Tab
    under ISP data I placed #777 as the phone number, left dial prefix blank
    under Account data I placed my VZWphonenumber@zvw3.com
    2. Modem Tab
    Modem port set to /dev/ttyUSB0 <—-this is key
    click on the network icon / dial up connections /connect to ppp0 via Modem
    and WHALLA!
    Thanks Ken and everyone that posted here…

    [Reply]

    Andy

    June 15th, 2007 at 12:24 am

    Help please! I have Kubuntu Pioneer 2.0 on my dell laptop and the only means of internet is by the use of a PC5750 air card from Verizon. I’ve tried all of the many scripts that I’ve found online and I can’t get any of them to work. I don’t believe I’ve even connected at all. I can’t find the place where I can manually enter in the info and dial out from there. Any suggestions on how to make this work? I’ve spent too many late nights trying to figure this out.

    Many thanks for any answers on this issue

    [Reply]

  51. Roy Kimbrell
    June 14th, 2007 at 17:19 | #51

    Power-off Off-line problem with Sierra Wireless MC5720

    The way you get an EVDO device working has been well documented. Here, for example, and here: http://www.evdoforums.com/thread2095.html, http://www.linux.com/article.pl?sid=06/03/08/2138237. Sierra Wireless has info on their site as well, but it is a bit misleading. I’ll say something about this later. The page of interest is at http://www.sierrawireless.com/faq/ShowFAQ.aspx?ID=601

    I’m using an IBM/Lenovo X60s with a built-in EVDO device, a Sierra Wireless MC5720. The discussion below probably applies as well to the MC5740 (PC card) as well. I’m running Ubuntu 7.04 that has the current updates (kernel, et al.).

    The problem I had was that the EVDO device worked fine in WinXP (dual-boot machine) and I had activated the device there, but would not work in Linux. The little antenna icon below the edge of the screen was off indicating that the device was not transmitting or receiving. The modem command AT!PCSTATE=1 had no effect. The Sierra Wireless site referenced above says that if you issue the AT!PCINFO command to the modem you should get back an indication that the device is on-line or not. If you see a response that contains the acronym LPM, you’re in “low power mode” and you’re not transmitting or receiving. The light on the machine or card will be off as well.

    If you can’t get your Sierra Wireless card working and believe that you’ve got this problem, you can check out the card using a terminal emulator such as minicom. I had to futz with minicom a bit to figure out how to get it to look at the right terminal device (/dev/ttyUSB0 in my case - with an embedded EVDO device; if you have a PC card, it’ll be something different). In any case, I was able to issue the AT!PCINFO command and discovered that, indeed, the power was off.

    However, issuing the AT!PCSTATE=1 command did not change the state from LPM to ON-LINE. By the way, if you issue the AT!PCINFO command to the modem you’ll get a lot of info you probably don’t want. Don’t let it confuse you - you’re looking for LPM or ONLINE.

    My MC5720 modem returns the following

    AT!PCINFO
    State: 1 (ONLINE)
    LPM force flags - W_DISABLE:0 User:0 Temp:0 Volt:0 USB:0
    W_DISABLE: 0
    Poweroff enabled: 1
    User initiated LPM - User:0 USB:0
    Event/State trace: 9/1 6/1 9/1 9/1 10/3 11/3 9/0 10/2

    At the Sierra Wireless site, at least one of the modem commands did not work in my device (AT+RSSI?), however, (AT+CSQ) does, and seems to return the same info - the signal strength.

    The solution in my case was the following:
    At the Sierra Wireless Site (http://www.sierrawireless.com/faq/ShowFAQ.aspx?ID=601) you’ll notice toward the top, a couple of download opportunities: the sierra.c driver(v.1.0.6) file and the pppd scripts file.

    I checked the sierra.ko module way down in /lib/modules and discovered I had version 1.0.5. The notes in version 1.0.6 said, “added Vendor Specific USB message to make sure that devices are in D0 state when they start. This is very important for MC5720 and EM5625 modules that go between Windows and Non-Windows machines.” This made me suspect that I wanted this version of sierra.c rather that the one I had. Looking at the code in sierra.c, there’s a few changes to add some more Sierra Wireless devices to the tables and a couple of lines of code to make the change as the author stated.

    To install the module, I cd’d to the sierra.v.1.0.6 directory (created by un tar-ing the download file), typed “make” then “sudo make install” to install the module. I did a modprobe sierra to load the module, but didn’t get any changes in behavior so I rebooted. The EVDO started working right away. The antenna light is on and I can connect to Verizon.

    [Reply]

    Gabe

    April 3rd, 2008 at 6:23 pm

    I think i have the same problem - i installed the sierra driver (one version newer - due to my kernel version) but still no joy. I am using a lenovo thinkpad t61p - any suggestions?

    [Reply]

  52. David
    June 25th, 2007 at 15:58 | #52

    Have you tried it with the new verizon card PC5750 PC Card?

    Will it be the same process?

    [Reply]

  53. Percival Bragg
    July 4th, 2007 at 18:21 | #53

    Thanks Ken for all the valuable info provided. I am a newbie to linux(ubuntu 7.04). Using your info I was able to get my verizon wireless PC5470 card to work with linux. I have also been able to get the hot plug working.

    First I used ‘pon 1xevdo’ instead of ‘pppd call 1xevdo’

    As root create a new file in /etc/udev/rules.d folder I called mine ‘85-wireless-broadband.rules’. The numbering is important, I think.

    Within this file enter the following lines:

    # udev rules file for wireless broadband pcmcia card
    #

    ACTION!=”add”, GOTO”wireless_broadband_rules_end”
    SUBSYSTEM!=”usb_device”, GOTO”wireless_broadband_rules_end”

    # PC5470 Verizon Wireless Broadband
    SYSFS{idVendor}==”106c”, SYSFS{idProduct}==”3701″, RUN+=”pon 1xevdo”

    LABEL=”wireless_broadband_rules_end”

    Restart Ubuntu. Next time the card is plugged in the script will run automatically.

    I have not tested this with other linux distros.

    I am currently working on a perl script that will pop up an info dialog box when the connection is complete or inform of any problems.

    [Reply]

    Mac

    July 19th, 2007 at 7:13 pm

    Very nice. I must give this a try. Thanks.

    [Reply]

  54. JHart
    October 18th, 2007 at 20:55 | #54

    I am running Ubuntu 6.10 with and activated EVDO card on a panasonic toughbook. I’ve got everything working correctly but I have other tablets that I’d like to obtain the ESN # from the tablets. I know that you can’t issue AT commands while the ppp connection is open. Is there any way to obtain the ESN # from the tablet while the ppp connection is active? I’m looking for preferably a command line utility that I can run in shell. My thanks in advance for any help.

    [Reply]

  55. Jules Heckbert
    February 24th, 2008 at 22:36 | #55

    I got to the end of the kernel modules segment and then discovered that there was no ttyACMO file, after some guesswork I (think I) found the correct file, called ttyUSB0 and substituted that in the text file but when I got to the dial ppp part I got

    Feb 24 22:26:38 jules-laptop chat[11747]: abort on (NO DIALTONE)
    Feb 24 22:26:38 jules-laptop chat[11747]: abort on (BUSY)
    Feb 24 22:26:38 jules-laptop chat[11747]: abort on (NO ANSWER)
    Feb 24 22:26:38 jules-laptop chat[11747]: send (ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M)
    Feb 24 22:26:39 jules-laptop chat[11747]: expect (OK)
    Feb 24 22:26:39 jules-laptop chat[11747]: ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M^M
    Feb 24 22:26:39 jules-laptop chat[11747]: ERROR
    Feb 24 22:26:39 jules-laptop chat[11747]: — failed
    Feb 24 22:26:39 jules-laptop chat[11747]: Failed (ERROR)
    Feb 24 22:26:40 jules-laptop pppd[11742]: Exit.

    what did I do wrong?

    [Reply]


    April 2nd, 2008 at 5:49 pm

    Have a look here:
    http://www.montanamenagerie.org/forum/viewtopic.php?t=903

    [Reply]


    April 3rd, 2008 at 1:02 pm

    The above link I posted is how I got the Pantech UM150 USB Modem (phone) to work with Ubuntu.

    [Reply]

  56. Gabe
    April 3rd, 2008 at 17:22 | #56

    what is the process for an onboard card - it is already activated in windows. when i follow the procedure it does not create a ttyACM0.

    [Reply]

    Mac

    May 10th, 2008 at 6:30 pm

    Sorry Gabe. Yes the phone was activated on Windows. Unfortunately. Also, do the modprobe ohci-hcd with the phone out then plug it in and do the modprobe usbserial ….etc. Sorry I didn’t see your post earlier.

    [Reply]

  57. someone at VZW
    May 17th, 2008 at 23:14 | #57

    I happen to work for VZW in the network support dept. There are drivers and a “vzaccess manager” for linux. Almost no one in tech support knows it exists as it’s a fairly new project.

    The software supports
    SUSE 10.3
    Fedora Core 8
    Redhat Enterprise 5
    and Ubuntu 7.10

    not all the latest and greatest but it’s better than nothing and a LOT easier than running specialty scripts and having to have windows installed.

    unfortunately i can’t mention who i am as i’m not allowedto make official statements in public forums as i’m not “a public relations person”

    [Reply]

    Mac

    May 31st, 2008 at 2:43 pm

    I missed this post. May I ask, where are these drivers? I’ll check Verizon web site but your post makes me feel that I won’t have much success. I would like to get the manager to work on my Linux box.

    [Reply]

    Mac

    May 31st, 2008 at 3:16 pm

    And until then, doing sudo wvdialconf will automatically detect the modem and set it up for you. Then just wvdial at prompt and your good.

    [Reply]

  58. Adam
    June 6th, 2008 at 10:39 | #58

    This card works perfectly in Ubuntu Hardy, much better than in previous versions. No need to modprobe. No connection dropping at all with lcp-echo-interval 0. Took me a minute to find the modem, it was ttyUSB3 in my case. Anybody who’s still having trouble might want to consider upgrading to Hardy.

    [Reply]

  59. Chip Sprague
    June 20th, 2008 at 16:47 | #59

    Alright gang, a little help, please?

    On Verizon / Hardy I did a:
    sudo wvdialconf
    and then a:
    sudo gedit /etc/wvdial.conf

    and this is there:
    [Dialer Defaults]
    Stupid Mode = on
    Init1 = ATZ
    Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
    Modem Type = Analog Modem
    Baud = 9600
    New PPPD = yes
    Modem = /dev/ttyUSB3
    ISDN = 0
    Phone = #777
    Password = 123
    Username = 6661114444@vzw3g.com
    Carrier Check = no
    Auto Reconnect = on

    Save that and do a:
    wvdial

    That actually works, for a short time (long enough to post this). Then I get this in console:
    –> Connect time 2.5 minutes.
    –> Disconnecting at Fri Jun 20 15:44:09 2008
    –> The PPP daemon has died: Lack of LCP echo responses (exit code = 15)
    –> man pppd explains pppd error codes in more detail.
    –> I guess that’s it for now, exiting
    –> Provider is overloaded(often the case) or line problem.
    –> The PPP daemon has died. (exit code = 15)

    I don’t care about signal display, I just want the connection to stay up. I use the card all the time in Windows (dual boot). Coverage here is awesome. No hardware issues.

    I’m a novice Linux user, trying to learn… I’ll have more time in Linux if I can have a reliable EVDO connection from Linux. So lets keep it simple/effective. Thanks.

    [Reply]

    Chip Sprague

    June 20th, 2008 at 4:58 pm

    Oh… tried adding:
    lcp-echo-interval = 0
    to wvdial.conf

    that dies just as quickly with this:
    –> Disconnecting at Fri Jun 20 15:55:43 2008
    –> The PPP daemon has died: Lack of LCP echo responses (exit code = 15)
    –> man pppd explains pppd error codes in more detail.
    –> I guess that’s it for now, exiting
    –> Provider is overloaded(often the case) or line problem.
    –> The PPP daemon has died. (exit code = 15)

    [Reply]

    Mac

    June 24th, 2008 at 9:13 pm

    Did you also, in your .conf put:

    lcp-echo-failure = 0

    [Reply]

    Mac

    June 24th, 2008 at 9:19 pm

    Sorry. I meant in your /etc/ppp/peers/wvdial …..you should put both those lines in it.

    [Reply]

  60. charlie
    July 7th, 2008 at 23:50 | #60

    Thanks for keeping this going. I used this article about a year and a half ago to setup wireless on a suse system and today i just set it up on kubuntu 8.04. All I had to do was remove the semicolons as suggested by others on the 2 lines and everything is working smoothly. I’ve been connected for 20 minutes straight.

    [Reply]

  61. Aaron Hoffman
    July 10th, 2008 at 12:41 | #61

    Hello, I have a Lenovo X60s with the built in Sierra Wireless card. I just recently activated the card with Verizon to see if I could get the card to work in Ubuntu 8.04. I modprobed the driver and it should be loaded and ready to go on /dev/ttyUSB0. I then created a 1xevdo and 1xevdo_chat inside the /etc/ppp/peers/ directory and included my 10 digit verizon issued number. After dialing PPP and checking the log(tail -f /var/log/messages). I receive the following information:

    aaron@aaron-laptop:/etc/ppp/peers$ tail -f /var/log/messages
    aaron-laptop chat[8347]: abort on (NO DIALTONE)
    aaron-laptop chat[8347]: abort on (BUSY)
    aaron-laptop chat[8347]: abort on (NO ANSWER)
    aaron-laptop chat[8347]: send (ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M)
    aaron-laptop chat[8347]: expect (OK)
    aaron-laptop chat[8347]: ATTEV1&F;&D2;&C1;&C2S0;=0S7=60^M^M
    aaron-laptop chat[8347]: ERROR
    aaron-laptop chat[8347]: — failed
    aaron-laptop chat[8347]: Failed (ERROR)
    aaron-laptop pppd[8344]: Exit.

    Does anyone have any ideas on what I should do? I really would like to get this to work and not have to revert back to Windows.

    Thanks in advance,
    Aaron

    [Reply]

    Mac

    July 10th, 2008 at 6:33 pm

    Try doing a sudo wvdialconf (see above post my me)

    [Reply]

    Aaron Hoffman

    July 10th, 2008 at 10:11 pm

    Thank you very much for the advice. I tried doing this and am now getting some additional information that might be useful in troubleshooting my problem. After running the wvdialconf, I now receive the following:

    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: Speed 9600; init “ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0″

    What’s next? Anything else that I can try?

    Thanks,
    Aaron

    [Reply]

    Aaron Hoffman

    July 11th, 2008 at 8:01 am

    I’m getting further. I updated my username and password and now it initializes the modem and attempts to find the carrier. It waits for the carrier and returns with “No Carrier! Trying again.” It seems to continuing doing this until I stop the process.

    Please help,
    Aaron

    [Reply]

    Mac

    July 11th, 2008 at 1:53 pm

    Hmmm…..ok. Let’s start from scratch. Something, and I’m no expert here, but something seems askew. Look at the information here: http://www.montanamenagerie.org/forum/viewtopic.php?f=19&t=903
    That is how I got the pc5740 and the USB phone to work. Possibly at this point, one of your files has too much or too little info. Try following some of the info on that thread and I’ll check back.

    [Reply]

  62. Czaruno
    December 1st, 2008 at 13:13 | #62

    Just wanted to add that I just tried a Verizon USB 720 device on an old laptop running (X) Ubuntu 8.10 and it was detected right out of the box. Pretty amazing. good job Ubuntu team.

    [Reply]


    December 1st, 2008 at 1:32 pm

    That is good news. This HOWTO is from a while ago. I don’t use EVDO anymore, but I left it up here hoping it would be useful for someone.

    [Reply]

  63. Mac
    December 14th, 2008 at 08:00 | #63

    Thanks for leaving this up Ken. It is still very useful. I am using a 3G USB in a Kyocera router. I can see the script it runs (and make sure it is correct LOL). And yes Czaruno, Ubuntu has come leaps and bounds in the last two years for sure.

    [Reply]

  64. Robert
    March 26th, 2009 at 07:41 | #64

    I’m using Intrepid on my laptop and trying to tether my Treo 755p. With USBModem.prc on the treo, I can get Ubuntu to recognize it as a modem. Using this set of scripts I can make a connection and ifconfig shows me that I have an IP address. However, I can’t browse any sites, ping, etc. I cat /etc/ppp/resolv.conf into /etc/resolv.conf — still nothing.

    Am I missing a step. The system reports back to me that I have an IP Address and DNS servers, yet I’m still not able surf.

    [Reply]

  65. Robert
    March 26th, 2009 at 08:02 | #65

    Okay - problem solved with two steps:

    1. route add default gw xx.xxx.xxx.xxx

    2. Unchecked “Work Offline” in Firefox. This is still strange to me. Why would firefox go into offline mode on me?

    Anyway - i’m online and that’s what counts. Thanks Ken for keeping this page up. Very helpful.

    [Reply]

  66. Josh
    June 15th, 2009 at 09:32 | #66

    So how would i go about using Alltel’s Mobile software with Jaunty Jackelope? i am brand new with ubuntu/linux so be easy on me…I’ve used crossover pro to install the driver and software but it still doesnt recognize my phone when its connected in jaunty.

    joshlovestodrum@gmail.com

    [Reply]

  1. No trackbacks yet.