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 [email protected] 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 ...