Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have been trying to get a Verizon USB551L 4G USB Stick working on Debian Linux. I have been able to get it to connect, but it always disconnects after 10 secs to 2.5 minutes, then it cannot connect again without a power cycle or reconnecting the stick. I know it is not a signal strength issue because I do not have the same problem under Windows, where the Verizon client shows 4 bars.

Does anybody have an idea about what the problem can be? More details follow.

With the same stick on Windows XP, I could establish a stable connection using Verizon's VzAccessManager, but using a manually configured DUN over the serial port, I experienced the same disconnect symptoms as on Linux.

I did the following with a Raspberry Pi with Debian GNU/Linux wheezy 3.2.27+. I also tried it with a Ubuntu Linux VirtualBox VM on my Mac, but I never got very far because the drivers did not recognize the card properly.

With the Raspberry Pi, the stick was recognized and the "cdc_ether" driver created a wwan0 interface for it, and the "option" driver created a /dev/ttyUSB0, /dev/ttyUSB1, /dev/ttyUSB2, and /dev/ttyUSB3. Details are shown below.

In order to set up the connection on Linux, I gleemed some info from the VZAccessManager and from sniffing the Windows COM port using a program called HHD Free Serial Port Monitor to show me the commands that Verizon is sending over the serial port to the modem:

ATS0=0
OK
AT
OK
AT&F&D2&C1E0V1S0=0
OK
AT+IFC=2,2
OK
AT+CGDCONT=3,"IP","vzwinternet","0.0.0.0",0,0
OK
ATD*99***3#
CONNECT EDGE

There was additional non-textual communication after this that I could not read, some of it may have been CHAP or PAP authentication providing credentials I could not see. Some of it was my internet access.

From the above and from the info I could get from the VZAccessManager screens, I cobbled together the following /etc/pppd/verizon-gprs and /etc/pppd/verizon-gprs-connect chat scripts that enabled me to connect on Linux.

verizon-gprs: (the ?????????? is the 10-digit phone number for my stick)

hide-password
noauth
user ??????????@vzw4g.com
password vzw
connect "/usr/sbin/chat -v -t3 -f /etc/ppp/peers/verizon-gprs-connect-chat"
debug
/dev/ttyUSB0
noipdefault
defaultroute
replacedefaultroute
persist
usepeerdns
nodetach

verizon-gprs-connect-chat:

TIMEOUT 35
ECHO    ON
ABORT   '\nBUSY\r'
ABORT   '\nERROR\r'
ABORT   '\nNO ANSWER\r'
ABORT   '\nNO CARRIER\r'
ABORT   '\nNO DIALTONE\r'
ABORT   '\nRINGING\r\n\r\nRINGING\r'
''  ATZ
OK  'ATS0=0'
OK  'AT&F&D2&C1E1V1S0=0'
OK  'AT+IFC=2,2'
OK  'AT+CGDCONT=3,"IP","vzwinternet","0.0.0.0",0,0'
OK  'ATD*99***3#'
CONNECT ''

I played with the above parameters, but could never get anything to connect for more than 2.5 minutes. And after it disconnected, it would never connect again -- I had to disconnect and reconnect the stick before it the above connect scripts would work. I had similar experience with Windows XP with a DUN set to dial 99***3# using the same username and password as above, and setting 'AT+CGDCONT=3,"IP","vzwinternet","0.0.0.0",0,0' as the extra init parameter to be sent to the modem.

On my Rasbpery Pi, I also tried making the wwan0 connect directly by configuring it in /etc/networking/interfaces and then calling sudo ifup wwan0. But it never got an IP address. This was true regardless of whether I had first tried to connect the modem using pppd with the technique above.

At this point I have nothing else to try. I can't find anybody online who has been successful with this on Linux.

$ lsusb | grep Novatel
Bus 001 Device 005: ID 1410:b001 Novatel Wireless 
$ ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2  /dev/ttyUSB3
$ ifconfig wwan0
wwan0     Link encap:Ethernet  HWaddr 00:a0:c6:00:00:00  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:684 (684.0 B
$ dmesg
...
[   13.325406] usbcore: registered new interface driver usbserial
[   13.513047] cdc_ether 1-1.3.2:1.6: wwan0: register 'cdc_ether' at usb-bcm2708_usb-1.3.2, Mobile Broadband Network Device, 00:a0:c6:00:00:00
[   13.903537] USB Serial support registered for generic
[   13.998983] usbcore: registered new interface driver cdc_ether
[   14.039185] usbcore: registered new interface driver usbserial_generic
[   14.163290] usbserial: USB Serial Driver core
[   14.193011] cfg80211: Calling CRDA to update world regulatory domain
[   14.282386] USB Serial support registered for GSM modem (1-port)
[   14.435364] option 1-1.3.2:1.0: GSM modem (1-port) converter detected
[   14.536530] usb 1-1.3.2: GSM modem (1-port) converter now attached to ttyUSB0
[   14.610970] option 1-1.3.2:1.1: GSM modem (1-port) converter detected
[   14.680940] usb 1-1.3.2: GSM modem (1-port) converter now attached to ttyUSB1
[   14.733917] option 1-1.3.2:1.2: GSM modem (1-port) converter detected
[   14.778622] usb 1-1.3.3: reset high-speed USB device number 6 using dwc_otg
[   14.798339] usb 1-1.3.2: GSM modem (1-port) converter now attached to ttyUSB2
[   14.846967] option 1-1.3.2:1.4: GSM modem (1-port) converter detected
[   14.917340] usb 1-1.3.2: GSM modem (1-port) converter now attached to ttyUSB3
[   15.011231] usbcore: registered new interface driver option
...
share|improve this question

1 Answer 1

I believe I am running these on Debian. Try installing wvdial, and edit /etc/wvdial.conf to look like below. Then run wvdial and see what it says.

[Dialer Defaults]
Stupid mode = 1
Dial Command = atdt
Carrier Check = no
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = USB Modem
Phone = *99***3#
ISDN = 0
Password = 1
New PPPD = yes
Username = 1
Modem = /dev/ttyACM0
Baud = 460800
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.