This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new Linux.com!

Linux.com

Feature

Get broadband wireless with Verizon EVDO and Linux

By Tina Gasperson on March 15, 2006 (8:00:00 AM)

Share    Print    Comments   

Evolution-Data Optimized (EVDO) is a wireless broadband service that offers throughput of up to a theoretical maximum of 2.4Mbps. Verizon's service, which provides the best EVDO coverage in the US, is designed to work only with Windows. However, you can use Verizon's EVDO service to connect to the Internet with Linux with a little bit of tweaking.

I found some invaluable information online about how to get EVDO working in Linux online, mostly from kenkinder.com, www.ka9q.net, and LinuxQuestions.org. With the help of these sites and my own perseverance, I figured out an easy-to-follow, step-by-step guide to connecting to the Internet in Linux with EVDO.

You'll need a Verizon card; Verizon provided me with a PC5740 EVDO card that fits in the PC Card slot of any laptop. You'll also need a Linux distribution running X11 with a working copy of Point-to-Point Protocol daemon (pppd), as well as the ability to gain root access and use a terminal.

First, determine the product and vendor number of your EVDO card so you can call the correct kernel modules. If you're using the PC5740, I'll save you a few steps and tell you the numbers; write them down because you'll need them in the following step:

vendor=0x106c product=0x3701

If you're using another EVDO card, before you insert it, open a terminal window and type the following command as root:

cat /proc/bus/usb/devices devices

Then insert the card and type this command as root:

diff /proc/bus/usb/devices devices | grep Vendor

Your vendor and product numbers should come up in this format:

< P: Vendor=106c ProdID=3701
Rev=0.00

Now it's time to add the proper kernel module to include support for your card. Linux sees EVDO cards as USB/serial modems, so issue this command, again as root, inserting the correct numbers for your card:

modprobe usbserial vendor=0x106c product=0x3701

To verify that things are going as they should, change to the /dev directory and list the files there. You should see a file called ttyACM0; this is the name the computer has given your card.

You can use several different programs to make the device ttyACM0 dial out in Linux, but I'll show you how to use pppd because most Linux distributions include it. You could type the necessary pppd commands every time you want to get online, but it's easier to create a simple script. You'll need to know your Verizon-issued 10-digit number because it acts as your username. All the other data is common to all Verizon wireless broadband accounts.

To write the script, open your favorite text editor as root and type the following, replacing xxxxxxxxx with your number:

ttyACM0
115200
debug
noauth
defaultroute
usepeerdns
connect-delay 10000
user xxxxxxxxxx@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'

Name the file 1xevdo and save it in /etc/ppp/peers/. Check out kenkinder.com for a detailed explanation of what some of these script line items are for.

The last line of the script calls another file that you need to create, called 1evdo_chat. Again, as root in your text editor, create a file that contains the following information:

ABORT 'NO CARRIER' ABORT 'ERROR' ABORT 'NO DIALTONE' ABORT
'BUSY' ABORT 'NO ANSWER'
'' ATZ
OK-AT-OK ATDT#777
CONNECT \d\c

Name it 1xevdo_chat and save it in /etc/ppp/peers. This file contains modem commands, including the number 777, which it needs to dial to reach the Verizon EVDO network.

With your EVDO card plugged in, open pppd and call the scripts you just created. In a terminal as a regular user, type pppd call 1xevdo and press Enter. This command doesn't give you any immediate feedback, but you need to see what IP address Verizon assigns your modem, so type this command:

tail -f /var/log/messages

You should see a series of messages in your terminal similar to this:

Feb 15 20:12:48 localhost chat[7946]: abort on (BUSY)
Feb 15 20:12:48 localhost chat[7946]: abort on (NO ANSWER)
Feb 15 20:12:48 localhost chat[7946]: send (ATZ^M)
Feb 15 20:12:48 localhost chat[7946]: expect (OK)
Feb 15 20:12:48 localhost chat[7946]: ATZ^M^M
Feb 15 20:12:48 localhost chat[7946]: OK
Feb 15 20:12:48 localhost chat[7946]: -- got it
Feb 15 20:12:48 localhost chat[7946]: send (ATDT#777^M)
Feb 15 20:12:48 localhost chat[7946]: expect (CONNECT)
Feb 15 20:12:48 localhost chat[7946]: ^M
Feb 15 20:12:50 localhost chat[7946]: ATDT#777^M^M
Feb 15 20:12:50 localhost chat[7946]: CONNECT
Feb 15 20:12:50 localhost chat[7946]: -- got it
Feb 15 20:12:50 localhost chat[7946]: send (\d)
Feb 15 20:12:51 localhost pppd[7945]: Serial connection established.
Feb 15 20:12:51 localhost pppd[7945]: Using interface ppp0
Feb 15 20:12:51 localhost pppd[7945]: Connect: ppp0 /dev/ttyACM0
Feb 15 20:13:01 localhost pppd[7945]: local IP address 70.197.15.21
Feb 15 20:13:01 localhost pppd[7945]: remote IP address 66.174.38.5
Feb 15 20:13:01 localhost pppd[7945]: primary DNS address 66.174.95.44
Feb 15 20:13:01 localhost pppd[7945]: secondary DNS address 66.174.92.14

If the modem doesn't connect or gets disconnected, try again. Exit from pppd by holding down Ctrl-C. If you try to reconnect and you get this message:

Device ttyACM0 is locked by pid 6396

then become root, go to /var/lock, and delete the file that's locking ttyACM0. Type rm filename and press Enter.

Once you're connected successfully, you need to take one more step before you can surf. Look at your terminal message and find the local IP address that Verizon assigned to your card. Then, as root, open another terminal and type the following, inserting your IP address in place of the xxx.xxx.xxx.xxx:

route add default gw xxx.xxx.xxx.xxx

This command adds the local IP address to your routing table so your computer can communicate with other computers on the Internet. Now you should be ready to surf the Web, check your email, and connect to Internet Relay Chat with your Verizon EVDO subscription and Linux.

Tina Gasperson writes about business and technology from an open source perspective.

Share    Print    Comments   

Comments

on Get broadband wireless with Verizon EVDO and Linux

Note: Comments are owned by the poster. We are not responsible for their content.

Verizon

Posted by: Anonymous Coward on March 16, 2006 02:54 AM
I think that it really sucks that you need a specific operating system to utilize an Internet connection. Thumbs down to Verizon.

My ISP dont know what OS I use, not does it care.

#

Re:Verizon

Posted by: Anonymous Coward on March 16, 2006 03:14 AM
Did I miss something or is not the above article about how to use EVDO on Linux?

#

Re: Verizon

Posted by: Anonymous [ip: 75.20.183.222] on November 27, 2007 11:56 PM
Why doesn't Verizon take care of this so people with Linux O/S and notebooks/laptops/micro notebooks can use their product?!!!

#

EV-DO Bluetooth capable Phone used as CDMA modem

Posted by: Anonymous Coward on March 16, 2006 11:53 AM
You don't need a card to do this.

Any bluetooth capable VCAST phone is, by default, capable of obtaining EV-DO bandwidth when used as a wireless bluetooth CDMA 2.0 modem.

If you cable your phone via USB, you'll drop back to 140Kpbs maximum. So, the key is bluetooth to obtain EV-DO connect speed. I've measured with SpeakEasy.net download speeds of over 900Kbps in EV-DO areas.

To accomplish, you need to first enable DUN (Dial-Up Networking) and then pair up the phone to your PC.

Configuring the pppd with scripts in the manner you describe will work the same as with the card. (Search the web, and you'll find a forum with the DUN 'hack'.)

The plan you have for your phone will draw on the time you use your phone as a modem, so be aware that peak time usage counts, but eves after 9 and weekends are FREE!

#

Re:EV-DO Bluetooth capable Phone used as CDMA mode

Posted by: Anonymous Coward on March 16, 2006 12:21 PM
...Why would I do all of that.. to only use my expensive internet connection only after 9 and on weekends? Or I could just do the easier way, listed above...

#

Re:EV-DO Bluetooth capable Phone used as CDMA mode

Posted by: Anonymous Coward on March 16, 2006 09:39 PM
Why would I do all of that.. to only use my expensive internet connection only after 9 and on weekends?


You misunderstand. The way mentioned allows one to use their already existing Verizon voice plan to access the high speed network. All it costs is minutes. And as noted, nights and weekends are "air-time free".

Or I could just do the easier way, listed above...


That would be an additional $59.95/month, + a $35 activation fee, + 49.95 for the card (and two year commitment). Maybe your needs require a dedicated network access like that. I think I can get by piggy backing off my current service...

#

Re:EV-DO Bluetooth capable Phone used as CDMA mode

Posted by: Anonymous Coward on March 16, 2006 10:36 PM
Why? Because it's there.
Because, you 'pay' $60/mo for the Verizon card, that's why.

If you already have capable BT/VCAST phone you can use it for no extra cost other than drawing on your phone's plan minutes.

#

Re:EV-DO Bluetooth capable Phone used as CDMA mode

Posted by: Administrator on April 06, 2006 11:12 PM
Very interested in this approach. Which Verizon phone are you using that isn't crippled from doing Bluetooth DUN (Dial Up Networking). Can you still get away with the Vcast minutes or have they fixed the loophole and began forcing people onto their 60$/mon EvDo plan? Thanks for the help. Also are all the new phones Bluetooth 2.0 or the older Bluetooth with limited throughput around 750kbps?

#

correction in article

Posted by: Anonymous Coward on January 13, 2007 08:25 AM
The very first command in this article is missing a character.

cat<nobr> <wbr></nobr>/proc/bus/usb/devices devices

should be

cat<nobr> <wbr></nobr>/proc/bus/usb/devices > devices

#

really boring stuff

Posted by: Anonymous Coward on May 06, 2007 05:51 AM
anyone can follow these instruction and probably get online with verizon wireless wan card. but man this is rediculous. in windows, all you have to do is click connect or disconnect!

now why didn't the guy who figured all this out on his own, go ahead and write a graphical program to mimic verizon's vzaccess manager?

I guess Linux users are expected to run scripts and dig and grep to be able to use their system or develope their own software. Get real, you want people to use this thing you got to do a little work.

duh, i figured it out, but i can't write program for shit so you have to run a bash shell script to use my info. this is so typical of the linux community.

i don't really blame verizon for not wanting linux users to use their service. most of them are running open mail servers (full blown sendmail in some cases), ftp servers, and web servers! why the hell would anyone want to run a mail server from home anyway? so you cheat the system and not have to pay for hosting? get real, all this free software linux bull is just that. a hacked OS, full of small programs (mostly full of bugs) and no central authority and no one to take responsiblity if it doesn't work as advertised. so you have to hammer out the bugs yourself.

total crap, get windows or mac os x.

#

Re:really boring stuff

Posted by: Anonymous Coward on May 11, 2007 03:52 AM
I can't help but notice that people who write comments like this also do not offer their graphical solution. I guess that the poster can't program for crap either. His expertise is squealing, criticizing and relaxing with his proprietary OS choices. He's perfectly within his rights to do so, but it just sounds so silly.

However, he does make a good point. I'm guessing there is a straight-forward way to provide a graphical ON/OFF for this functionality which would activate the scripts. Since there seem to be a lot of toggle items like this maybe a sort of generic wrapper could be useful that people could plug their own functions into but have a graphical look that people could use. This may already exist and I'm just not aware of it.

I don't have it on my plate right now, but as things clear maybe I can look at it. If someone else jumps in I won't have my feelings hurt.

#

Re: really boring stuff

Posted by: Anonymous [ip: 65.41.246.56] on August 28, 2007 12:24 AM
Nobody listen to this idiot. He doesn't have a clue. This is relatively new technology and it turns out it is easier to get connect than the above instructions lead you to believe. As far as a GUI is concerned GNU/Linux has a GUI for just about anything and everything Microsoft Windows does. It just so happens Verizon doesn't support GNU/Linux and that is why people are posting instructions on how to get it to work. This just didn't happen to be the easiest way and in the near future the GUI(if it isn't already) will be better and easier to use than Verizon's Microsoft Windows software. Given the few people who use this technology at the moment it really doesn't matter if GNU/Linux has good support or not. The first adopters are most likely technical users anyway who will write the GNU/Linux software.

Your perception of the typical GNU/Linux user is flat wrong. It just shows your arrogance. I work with a broad range of GNU/Linux users and many are not so technical these days. Everybody is using GNU/Linux and open source software these days on the desktop. Some of the people I've worked with are teachers, students, analysts, web designers, grounds keepers (dead people), etc. GNU/Linux has grown up and is being used everywhere. GNU/Linux users do not normally if ever run mail servers on desktop computers. The standard install doesn't include it in any modern GNU/Linux distribution by default.

The last time I checked FTP server software isn't even included in any modern distribution either. SFTP is, but it doesn't start by default and may not even be included in the default install on a desktop distribution. Neither do desktop distributions include apache (or any other web serving software). Most web servers are running GNU/Linux with Apache so to call it a 'hack' is just non-sense. Microsoft Windows is more buggy than GNU/Linux. I have never seen GNU/Linux crash- yet everybody has seen the Blue Screen of Death. Programs on all three major desktops crash from time to time... so wake up or shut up.

#

EVDO card safely remove hardware || unmount (was -- really boring stuff)

Posted by: Anonymous [ip: 75.219.196.156] on October 13, 2007 07:17 PM
I concur with the last post. BTW, the last time I saw said Blue Screen was when I unplugged my Verizon Wireless card without using the "Unplug or Eject Hardware" (aka Safely Remove Hardware) icon. (I was trying to eject slot 2 but hit the slot 1 button instead.) Fortunately, the card was disconnected from Verizon at the time, so was not damaged. Under GNU-Linux as well you should unmount first, but if you don't at least the OS itself won't die.

#

Easier with kppp

Posted by: Administrator on April 28, 2006 11:19 AM
I found it much easier to do with kppp

<a href="http://www.swflug.org/index.php?option=com_content&task=view&id=54&Itemid=32" title="swflug.org">http://www.swflug.org/index.php?option=com_conten<nobr>t<wbr></nobr> &task=view&id=54&Itemid=32</a swflug.org>

#

Help. newbie

Posted by: Administrator on December 23, 2006 12:26 PM
Ok. I created the files as mentioned. When I call the file I get the following:

Dec 22 23:22:33 ubuntu chat[5402]: abort on (NO DIALTONE)
Dec 22 23:22:33 ubuntu chat[5402]: expect (ABORT^M)
Dec 22 23:22:36 ubuntu chat[5402]: alarm
Dec 22 23:22:36 ubuntu chat[5402]: Failed
Dec 22 23:22:37 ubuntu pppd[5400]: Exit.
Dec 22 23:22:55 ubuntu pppd[5405]: pppd 2.4.4 started by root, uid 0
Dec 22 23:22:56 ubuntu chat[5407]: abort on (NO CARRIER)
Dec 22 23:22:56 ubuntu chat[5407]: abort on (ERROR)
Dec 22 23:22:56 ubuntu chat[5407]: abort on (NO DIALTONE)
Dec 22 23:22:56 ubuntu chat[5407]: expect (ABORT^M)
Dec 22 23:22:59 ubuntu chat[5407]: alarm
Dec 22 23:22:59 ubuntu chat[5407]: Failed
Dec 22 23:23:00 ubuntu pppd[5405]: Exit.

Please help me.

#

expect (ABORT^M) ... (was -- Re: Help. newbie)

Posted by: Anonymous [ip: 75.219.196.156] on October 13, 2007 07:29 PM
Did you ever get it working? I think your 1evdo_chat file needs to have all the ABORT 'XYZZY'(s) on one line, instead of broken on two lines like the article shows. Give that a try and please post back if it worked.

#

Another small typo in the article ... (was -- Help. newbie)

Posted by: Anonymous [ip: 75.219.196.156] on October 13, 2007 08:12 PM
The last line in /etc/ppp/peers/1xevdo is using /etc/ppp/peers/1xevdo_chat. The article text in one place calls it '1evdo_chat' and that is what I incorrectly referred to in my earlier post. Of course newbie's log shows they didn't make that mistake.

#

Get broadband wireless with Verizon EVDO and Linux

Posted by: Anonymous [ip: 24.205.82.139] on August 09, 2007 12:50 PM
does somebody know how to do it with ubuntu feisty and treo 700p?

#

Re: Get broadband wireless with Verizon EVDO and Linux

Posted by: Anonymous [ip: 70.221.230.26] on August 17, 2007 12:13 AM
This should help you. I am trying to setup my PC5750 card on Fiesty 7.04 (Ubuntu). http://ubuntuforums.org/showthread.php?t=515922&highlight=PC5750

Shea

#

Get broadband wireless with Verizon EVDO and Linux on 5750

Posted by: Anonymous [ip: 206.71.230.251] on September 18, 2007 07:53 PM
It worked!

Thank you...

PS: for those who use newer 5750 cards... use

modprobe usbserial vendor=0x106c product=0x3702


Regards
ServerChief

http://www.serverchief.com

#

NDIS Mode

Posted by: Anonymous [ip: 75.202.100.37] on October 26, 2007 01:18 AM
My device requires that I have NDIS mode enabled. How would I do this with a 5750 on linux?

#

Get broadband wireless with Verizon EVDO and Linux

Posted by: Doug98584 on March 05, 2008 04:15 AM
Well, First of, I do have to thank Tina Gasperson for pointing me in the right direction to get my EVDO modem working in Linux! Then I feel I should state the obvious in that though there is an attempt at standardization, there are still subtle differences between the various flavors:) So, to clarify my position, I should also state that I am running Susy Linux 10.3:) That being said, I can tell you that with the help of Yast and Kinternet, it turned out to be a breeze to get my Verizon USB727 to work, not only on a per log in basis, but to work on demand from any other machine on the network that requested information from the internet:) But to continue:)
Thanks to Tina, I knew what to look for when I pulled up the "Hardware Information" in Yast:) This is a nifty little utility that lists all your hardware categorically:) All I had to do was click on the "+" beside USB, then scan the list until I found "Novatel Wireless CDMA" which told me that it was on "/dev/ttyUSBO" which I was able to copy to the clipboard. Once I had that information, I could go into Network Devices and set up the Modem:)
Normal devices are usually detected by Yast, but in the case of this USB modem, I had to add a new modem.
So, clicking on "Add" opened a page to define the new modem as modem1 (I had a standard modem since I was on dial-up). In the spot that requested the device, I just pasted in the device I found checking on the hardware information for USB devices:) There is no Dial prefix, and I just left the default Tone Dialing and Detect Dial Tone boxes checked. Although I did uncheck the Speaker on since there is no speaker on the modem.
Then Click the "Details" button.
This brings up the page to plug in the Baud Rate (115200) and Modem Initialization Strings. ATZ in the first is all that is required. Though the Yast modem required it, I do suspect the modem ignores the Baud Rate:) In this set up, I did enable the device for non-root users via Kinternet:). All that done, just click on OK to return to the previous screen, then click on Next to go to the Next screen:),
This took me to a screen to set up the provider, which I shall describe in a tad. Suffice it to say I had to create a new provider:) This time around however, I can just report what is in the various prompts:) The new providers name, "Verizon":) The Phone Number: #777. Username: xxxxxxxxxx@vzw3g.com. You have to get the 10 digit number from the device. Just put it on a windows machine, and in the VZAccess Manager, send yourself a text message, and you will have the number:) Password, I used our password for the account:) Now just click on Next and move to the next screen which happens to be the Connection Parameters:) This is really the most important screen:)
There is a drop down box to select when the device should be active, select "Auto".
Then Check the box for "Dial on Demand", "Modify DNS when Connected", "Automatically Reconnect". But in order for you to get the Dial On Demand to work, you must fill in at least one box for the Name Server. I would recommend that you have set up at least a caching name server on your linux box, for then you can use a local name server to detect when it is required to get information external to the local network. You will also want to make sure the boxes for Ignore Prompts, and External Firewall is checked. Hopefully, you do have your firewall correctly configured? IP details, Dynamic!
Your almost ready:) Sorry to say, this is one time you will have to reboot so the kernel is reloaded and the system will know the modem is on auto-pilot:)
This will also reload Kinternet so it rereads the configuration and is aware of the new modem. But, that is really irrelevant as far as the user is concerned But from this point on, the modem will dial-out whenever required, whether anybody is logged in or not:) That is another reason you need to correctly configure your firewall:)
Hope this helps anyone else that is using a USB727 in Linux:)

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya