I have the Novatel v620. I have thinkpads. That makes it easy to switch to 'doze if I really really really need to.
But I don't wanna... I have tried Knoppix 3.7 and STD, RH9, SuSE 9.2 and FC3. None have given results other than those noted by dknisely. On 'doze, I get upwards of 70% signal reports and solid connections. That quells the urge to buy a booster antenna. It has stayed on all night. But when we start reviewing what we got, it dies.
I also saved the registry settings associated with ppp, RAS, vzw, and verizon. (Ctrl-F and F3). There really wasn't much help there (hmmmm).
I've been using wvdial. It works correctly if I get an LCP TermReq from verizon. If the link dies, the modem hangs. That requires a reboot; the FC3 usbserial module (kernel v2.6.9-1.667) will not unload. This looks an awful lot like commo issues in the modem... imagine that, ppp and all.
So, rather than bore you with config files and the like... who am I kidding, here are the settings:
Somebody already mentioned that FC3 doesn't come with /dev/ttyUSB0. Here's a script that correctly builds those:
----- ~/buildif -----
Code:
#!/bin/bash
#
# Written by Bill4
# Script to load Novatel V620 on Fedora 3
#
if [ ! -c /dev/ttyUSB0 ]; then
mknod -m 660 /dev/ttyUSB0 c 188 0
chgrp uucp /dev/ttyUSB0
echo 'ttyUSB0 created'
fi
if [ ! -c /dev/ttyUSB1 ]; then
mknod -m 660 /dev/ttyUSB1 c 188 1
chgrp uucp /dev/ttyUSB1
echo 'ttyUSB1 created'
fi
modprobe usbserial vendor=0x1410 product=0x1110
----- end ~/buildif -----
this works as long as the user can create dev files. You can manipulate /etc/groups, right? You need both for the v620. I'd unload the module (modprobe -r usbserial) if FC3 had compiled one that would unload. These are quick, and very dirty... USE AT YOUR OWN RISK! THEY MAY HOSE YOUR SYSTEM, DELETE YOUR FILES, and IMPREGNATE YOUR CAT. get it... good!
Now... I needed a way to tell if the line had gone down. Maybe this will give verizon a hint as well: (do they watch their traffic?)
----- ~/monlink -----
Code:
#!/bin/bash
#
# Script to pull a small page that larger ones may be pulled
#
# Written by Bill4
# 15 May 2005
#
cd ~/deletabledirectory
while [ 1 = 1 ]; do
sleep 20
wget -N -U 'Mozilla/5.0.(X11; Linux i686; en-US; rv:1.8a6) Gecko/20050105 Mnenhy/0.7.1' http://www.ietf.org/rfc/rfc1661.txt
done
----- end ~/monlink -----
After the first one, which didn't load fully the first time, the -N switch compares the header info, and decides not to pull it. This renders a nice small session that stays out if the way of downloading a new kernel (if that ever happens). It does give more action than 'ping -i 5 ns.novell.com'. It also gives you some valuable reading material...
----- /etc/wvdial.conf -----
Code:
Stupid Mode = 1
phone = #777
username = 1234567890@vzw3g.com
password = vzw
[Dialer Defaults]
Modem = /dev/ttyUSB0
Baud = 460800
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ISDN = 0
----- End /etc/wvdial.conf -----
I love that "Stupid Mode" parameter... That basically just starts pppd and lets it handle the connection. Pretty smart if ya ask me. Replace the 1-0 in line 3 with your phone number. The rest of it was built with wvdialconf. Which is what leads me to believe that they are wrong. Nothing worth having is that easy.
WVDIAL(1) still uses /etc/ppp/options, so here's mine:
----- /etc/ppp/options -----
Code:
lock
crtscts
debug
noproxyarp
persist
record /var/log/ppp_messages
noauth
mtu 1500
mru 1500
#lcp-echo-failure 20000
#lcp-echo-interval 4
#lcp-max-configure 10
#lcp-max-failure 10
#lcp-max-terminate 2
kdebug 2
----- End /etc/ppp/options -----
I noticed that the mru seemed to be down around 512 or so, so I force it to 1500. I am also logging my third point of contact off...
SO! here's the kicker:
Quote:
<datestamp> 22:33:54 <hostname> pppd[2638]: Sent 66426 bytes, received 479512 bytes.
<datestamp> 22:33:54 <hostname> pppd[2638]: Exit.
<datestamp> 22:34:05 <hostname> pppd[2848]: pppd 2.4.2 started by root, uid 0
<datestamp> 22:34:06 <hostname> chat[2850]: send (AT^M)
<datestamp> 22:34:06 <hostname> chat[2850]: expect (OK)
<datestamp> 22:34:24 <hostname> chat[2850]: ~!E^@^B(}]^T^@^@,^F"DA%[yFU ^E^@P^A^Hv},^FU4k)P^P@^@(^\^@^@dbTxZKqv3LfEGRs+b0xSS%2fCmNRvZf7GD6YI
<datestamp> 22:34:24 <hostname> chat[2850]: %2fcTw%3d%3d"><IMG SRC="/images/nextarrow.gif" WIDTH=23 HEIGHT=23 BORDER=0 ALT="
<datestamp> 22:34:24 <hostname> chat[2850]: Next"></A></TD>
<datestamp> 22:34:24 <hostname> chat[2850]: </TR>
<datestamp> 22:34:24 <hostname> chat[2850]: </TABLE>
<datestamp> 22:34:24 <hostname> chat[2850]: </DIV>
<datestamp> 22:34:24 <hostname> chat[2850]: <P>
<datestamp> 22:34:24 <hostname> chat[2850]:
<datestamp> 22:34:24 <hostname> last message repeated 10 times
<datestamp> 22:34:24 <hostname> chat[2850]: </TD>
<datestamp> 22:34:24 <hostname> chat[2850]: </TR>
<datestamp> 22:34:24 <hostname> chat[2850]: </TABLE>
<datestamp> 22:34:24 <hostname> chat[2850]: <!-- END CONTENT -->
<datestamp> 22:34:24 <hostname> chat[2850]:
<datestamp> 22:34:24 <hostname> chat[2850]: <BR><IMG SRC="/common/in_images/pixel.gif" WIDTH="1" HEIGHT="30" ALT="" BORDER=
<datestamp> 22:34:24 <hostname> chat[2850]: "0" ><BR>
<datestamp> 22:34:24 <hostname> chat[2850]:
<datestamp> 22:34:24 <hostname> chat[2850]: <TABLE WIDTH="549" CELLPADDING="0" CELLSPACING="0" BORDER="0">
<datestamp> 22:34:24 <hostname> chat[2850]: <TR>
<datestamp> 22:34:24 <hostname> chat[2850]: <TD ALIGN="CENTER">
<datestamp> 22:34:24 <hostname> chat[2850]:
<datestamp> 22:34:24 <hostname> chat[2850]: <!-- The table has been adapted to have a width of 470 with a logo and 420 with
<datestamp> 22:34:24 <hostname> chat[2850]: out a logo. -->
<datestamp> 22:34:24 <hostname> chat[2850]:
<datestamp> 22:34:51 <hostname> last message repeated 9 times
<datestamp> 22:34:51 <hostname> chat[2850]: alarm
<datestamp> 22:34:51 <hostname> chat[2850]: Failed
<datestamp> 22:34:51 <hostname> pppd[2848]: Connect script failed
|
For the n00bz, that is html in my chat logs. The modem is still active, and passing packets after pppd ends "gracefully".
So... The modem is dying, but the sessions are still running, time to find an AT command reference. There is a list of "acceptable" AT commands in this thread. wvdial(1) is differing, not me. I fire the modem up again and find these:
http://www.cellular.co.za/hayesat.htm (ads, popups)
http://readthetruth.com/modems.htm (Clean enuf for wget) and
http://www.totse.com/en/technology/t...ons/hayes.html (Radical Open source site)
You choose your own poison.
And I dump wvdial... Now I open the link with this:
which requires some instructions in /etc/ppp/peers/verizon. So there:
Code:
hide-password
/dev/ttyUSB0
460800
connect "/usr/sbin/chat -v -f /etc/chatscripts/verizon"
defaultroute
user "1234567890@vzw3g.com"
remotename verizon
ipparam verizon
usepeerdns
which calls for /etc/chatscripts/verizon (the focus of this post):
Code:
TIMEOUT 15
'' 'AT'
'OK' 'ATQ0V1E0'
'OK' 'ATZ'
'OK' 'AT&F'
'OK' 'ATDT#777'
CONNECT CLIENT
But I still get html in my logs if I invoke pppd after the link has died. The timeout is so short because it can be (another reason not to get the antenna). AT all by itself just returns OK.
The next line issues some changes:
Q0 - STATUS DISPLAY ON
V1 - STATUS CODES SENT
E0 - DISABLE LOCAL CHARACTER ECHO
and downward:
ATZ - RESET TO POWER UP CONDITION (CLEARS ALL REGISTERS)
AT&F - RESTORE TO FACTORY CONFIGURATION
ATDT - Dial using tones
CONNECT CLIENT (OK sure, it works as good as not, but changes nothing)
So... starting from the lowest layer, I'm adding &V to a new line.
Code:
chat[2842]: ^M
chat[2842]: &C: 2; &D: 2; &F: 0; E: 1; L: 0; M: 0; Q: 0; V: 1; X: 4; Z: 0; S0: 0;^M
chat[2842]: S3: 13; S4: 10; S5: 8; S6: 2; S7: 50; S8: 2; S9: 6; S10: 14; S11: 95;^M
chat[2842]: +FCLASS: 0; +ICF: 3,3; +IFC: 2,2; +IPR: 115200; +DR: 0; +DS: 0,0,2048,6;^M
chat[2842]: +CDR: 0; +CDS: 0,1,2048,6; +CFC: 0; +CFG: ""; +CMUX: C,2; +CQD: 10;^M
chat[2842]: +CRC: 0; +CRM: 2; +CTA: 0; +CXT: 0; +EB: 1,0,30; +EFCS: 1; +ER: 0;^M
chat[2842]: +ES: 3,0,2; +ESR: 1; +ETBM: 1,1,20; +ILRR: 0; +MA: ; +MR: 0; +MS: ;^M
chat[2842]: +MV18R: 0; +MV18S: 0,0,0; +FAA: 0; +FAP: 0,0,0; +FBO: 0; +FBU: 0;^M
chat[2842]: +FCQ: 1,0; +FCC: 0,1,0,0,0,0,0,0; +FCR: 0; +FCT: 1E; +FEA: 0;^M
chat[2842]: +FFC: 0,0,0,0; +FHS: 0; +FIE: 0; +FIP: 0; +FIS: 0,1,0,0,0,0,0,0;^M
chat[2842]: +FLI: ""; +FLO: 1; +FLP: 0; +FMS: 0; +FNR: 0,0,0,0; +FNS: ""; +FPA: "";^M
chat[2842]: +FPI: ""; +FPP: 0; +FPR: 8; +FPS: 1; +FPW: ""; +FRQ: 0,0; +FRY: 0;^M
chat[2842]: +FSA: ""; +FSP: 0^M
chat[2842]: ^M
chat[2842]: OK
and that is all for now...
OH! and I forwarded my syslogd to a listening server... just for kicks...
Keeping on keeping on...
B.