Published on

Verizon USB720 on Fedora

Authors

The device was initially registered with Verizon using the VZaccess application on Windows. This may be a step that requires their annoy-ware. After that initial stage, the device contains an embedded phone number, that is required to do proper logging-in for National Access / Broadband Access.

Plugging this into a spare USB port on my Fedora Linux laptop (and looking in /var/log/messages) showed that Fedora 7 recognizes the device 'out of the box', without any special modifications. Visually, after a short pause upon insertion, the yellow/green light switches from off to constantly on.

In order to set up ppp properly, you need to find the phone number associated with the Verizon modem.

Normally, this is visible in the Windows VZaccess application 'Help-About' box. However, for the USB720 I was lent, this box just said 'Unable to read hardware' (or something to that effect.

To discover the phone number, I fired up minicom and (after changing the modem device to /dev/ttyUSB0, and the rate to 19200N1) saw that the modem was responding to the slew of commands that minicom had in its initialization step. Then, from a helpful (but ad-laden site) I found the following commands to type into the minicom interactive terminal :

AT+GSN
# returns something like :
# 0x5B5DF555 (the ESN in hex)

` AT+GMR

returns something like :

m6800A-RAPTOR_VZW_141 April 05, 2007 14:00:00 EST

(the version #s)

`f7,
AT$QCMIPGETP
# returns something like :
# ... lots of stuff ...
#  {MyPhoneNumber}@vzw3g.com
# ... lots of other stuff ...

Bingo!

I believe (untested, but seen many places) that the correct ppp setup includes the following (where the PhoneNumber is as found using minicom as above) :

phone number to dial : #777
username             : PhoneNumber@vzw3g.com
password             : _Blank_ or _vzw_

There are various scripts and tweaks available, but the above seems like a major trick that isn't so readily available.

Here's something that definitely works

Into /etc/ppp/peers/verizon put :

ttyUSB0
115200
debug
noauth
defaultroute
usepeerdns
connect-delay 10000
user XXXYYYZZZZ@vzw3g.com
show-password
crtscts
lock
lcp-echo-failure 4
lcp-echo-interval 65535
connect '/usr/sbin/chat -v -t3 -f /etc/ppp/peers/verizon_chat'

Where XXXYYYZZZZ is the phone number from above.

Into /etc/ppp/peers/verizon_chat put :

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'

To start the connection use:

/usr/sbin/ppp call verizon
# Optional :
/tail -f /var/log/messages

If the DNS doesn't seem to be picking up, have a look at /var/log/messages for the Primary DNS, and edit /etc/resolv.conf manually (in my case doing echo "nameserver 66.174.95.44" > /etc/resolv.conf works). Running /sbin/dhclient-script can also do the trick.