Sprint Mobile Broadband
Overview
This page provides notes on configuring and using the Sprint Mobile Broadband service under Linux.
Sprint Mobile Broadband USB Modem U680
This USB modem provide provides a EVDO (Rev A) connection to the Internet. It is apparently a re-branded Franklin Wireless U680 1xEV-DO modem.
Stats:
Down | 3.1 Mbps (peak) | .8 Mbps - 1.2 Mbps (typical) |
---|---|---|
Up | 1.8 Mbps (peak) | .25 Mbps - .45 Mbps (typical) |
OS Support | Windows/Mac/Ubuntu | Linux requires some persistence. |
While the modem contains a GPS, it appears that the interface to the GPS device may only be available to Windows.
For some additional information about the modem, I found the Sprint U680 EVDO USB Modem Review to be very useful.
Goals
The original goal was to get the U680 working under the NST v1.8.1 development release. However, the first attempts did not yield the desired results. So, it was decided to:
- Install Ubuntu (which was stated as being compatible with the U680).
- Get it working under Ubuntu 8.04 (as the directions provided with the modem claimed it would work on a Ubuntu system).
- Get it working under Fedora 8 (using information from the Ubuntu system).
- Get it working under NST v1.8.1 (using information from the Fedora system).
Ubuntu 8.04 - the Hardy Heron
When inserted, the U680 was automatically mounted (like a standard thumb drive). It showed up under the /media/U680_UMSD directory.
One will find the PDF manual for the U680 as well as drivers/scripts/etc under the /media/U680_UMSD directory.
Following the directions provided caused a core dump under Ubuntu. Using strace, I was able to determine that the ./connect program was unable to open the file: /proc/bus/usb/devices (it was not present on my system). After doing some searching on the Internet, I discovered that this file isn't present until the usbfs is mounted. After mounting the usbfs, the U680 worked as expected.
Quick Summary (what I did to get it working - logged in as root):
- Mount: usbfs - not required if already mounted (only required if you don't see the: /proc/bus/usb/devices entry).
root@fajita:~# mount -t usbfs usbfs /proc/bus/usb root@fajita:~#
- Insert the U680.
- Copy the /media/U680_UMSD/Linux_Ubuntu directory to your hard disk:
root@fajita:~# cp -r /media/U680_UMSD/Linux_Ubuntu /root/ root@fajita:~#
- Run the connect command provided:
root@fajita:~# cd /root/Linux_Ubuntu root@fajita:~/Linux_Ubuntu# ./connect ... Lots of output as connection is established ...
Fedora 8
After getting the U680 working under Ubuntu 8.04, it was then possible to figure out the steps to use the U680 under Fedora 8.
Quick Summary (what I did to get it working - logged in as root):
- Make sure the wvdial package is installed.
[root@localhost ~]# rpm -q wvdial || yum install wvdial wvdial-1.60-3.fc8 [root@localhost ~]#
- Mount: usbfs - not required if already mounted (only required if you don't see the: /proc/bus/usb/devices entry).
[root@localhost ~]# mount -t usbfs usbfs /proc/bus/usb [root@localhost ~]#
- Insert the U680. It should auto-mount to the /media/U680_UMSD directory (if not you may need to mount it by hand).
- Copy the /media/U680_UMSD/Linux_Ubuntu directory to your hard disk:
[root@localhost ~]# cp -r /media/U680_UMSD/Linux_Ubuntu /root/ [root@localhost ~]#
- Fix the execute.sh script provided (the echo statements all need to have the -e option added so that the contained escape characters are properly printed):
[root@localhost ~]# sed -i -e 's,^echo ,echo -e ,' Linux_Ubuntu/execute.sh [root@localhost ~]#
- Stop the NetworkManager service if it is running (not sure if this is necessary):
[root@localhost ~]# service NetworkManager stop Stopping NetworkManager daemon: [FAILED] [root@localhost ~]#
- Run the connect command provided:
[root@localhost ~]# cd /root/Linux_Ubuntu [root@localhost ~]# ./connect ... Lots of output as connection is established ...
- At this point the connection should be established, HOWEVER, the file: /etc/resolv.conf might not be set properly. The DNS servers should appear near the end of the output of the window running the ./connect command. I was discovered that the: resolv.conf file was created under: /etc/ppp/resolv.conf. Copying this file to: /etc/resolv.conf fixed the DNS issues (made it possible to resolve names to IP addresses).
[root@localhost ~]# cp /etc/ppp/resolv.conf /etc/resolv.conf [root@localhost ~]#
NST v1.8.1
Getting the U680 to work on a source build of the NST v1.8.1 development tree involved the following:
- Insert the U680.
- Determine the device for the U680 drive. Mine was: /dev/sdb as reported by kudzu (I looked for "CMOTECH" in the kudzu output below).
[root@localhost ~]# kudzu -p -c HD -b SCSI - class: HD bus: SCSI detached: 0 device: sda desc: "ATA HTS541080G9AT00" host: 0 id: 0 channel: 0 lun: 0 - class: HD bus: SCSI detached: 0 device: sdb desc: "CMOTECH Mass Storage" host: 2 id: 0 channel: 0 lun: 0 [root@localhost ~]#
- Mount the U680 drive:
[root@localhost ~]# mkdir /media/U680_UMSD [root@localhost ~]# mount /dev/sdb /media/U680_UMSD [root@localhost ~]#
- Copy the /media/U680_UMSD/Linux_Ubuntu directory to your hard disk:
[root@localhost ~]# cp -r /media/U680_UMSD/Linux_Ubuntu /root/ [root@localhost ~]#
- Fix the execute.sh script provided (the echo statements all need to have the -e option added so that the contained escape characters are properly printed):
[root@localhost ~]# sed -i -e 's,^echo ,echo -e ,' Linux_Ubuntu/execute.sh [root@localhost ~]#
- Run the connect command provided:
[root@localhost ~]# cd Linux_Ubuntu [root@localhost ~]# ./connect ... Lots of output as connection is established ...
The connection should now be usable (apparently it uses the /etc/ppp/resolv.conf in this situation - not sure why it didn't under Fedora).