Getting a Rogers Compaq CQ10-150CA Netbook Cellular Modem Working in Ubuntu
Recently, I was helping somebody get his netbook working on the Rogers cellular network. We discovered some information that is not readily available elsewhere on the Internet, so here it is.
The netbook in question is a Compaq CQ10-150CA netbook. Rogers has a package where they sell you a netbook with a cellular modem built in, and you use their data plan to access the Rogers cellular network for your web surfing. This netbook comes preinstalled with Windows 7 Starter Edition (natch) but the person I was working with wanted to run Ubuntu. It turned out to be very helpful to dual-boot the system with Windows rather than wiping out Windows entirely, because the Windows partition had firmware files we needed.
Once you figure out how to get Ubuntu installed on the machine (booting off a USB key helps) then most things work except for the cellular modem.
In this case the modem is manufactured by Qualcomm,
and shows up as a USB device. The lsusb
command reveals:
Bus 001 Device 004: ID 03f0:241d Hewlett-Packard Gobi 2000 Wireless Modem
Note the USB identifier 03f0:241d
.
Even though you can see the modem you can't use it without firmware
files and the gobi-loader
program. Unfortunately, gobi-loader
does
not work with Ubuntu 10.04's default kernels, which means you either
have to compile some patches in, or you have to use a later kernel.
(In particular, it does not work with kernels 2.6.32 and 2.6.33, as
documented here
The person I was working with opted to install the
"bleeding edge" Ubuntu 11.10 instead of trying to make kernel tricks
work.
Once Ubuntu 11.10 is installed, you need to install the gobi-loader
package:
sudo apt-get install gobi-loader
The next step is to install the firmware files, which go into
/lib/firmware/gobi
sudo mkdir -p /lib/firmware/gobi
Now comes the hard part. The firmware files live on the Windows
partition. We found them in the folder c:\Program
Files\QUALCOMM\Images\HP\
. Unfortunately there are 11 subfolders
there, many of which contain identically-named firmware files! It
turns out that different network providers configure the firmware
differently, as documented on this ThinkWiki
page.
Unfortunately, none of the providers listed were Rogers.
The clue for us lie in some log files generated in Windows. The
drivers we needed were listed in the file
c:\ProgramData\QUALCOMM\QDLService2k\QDLOptions2kHP.txt
and there
were log files in
c:\ProgramData\QUALCOMM\QDLService2k\QDLService2kHP.txt
:
12/15/2011 01:14:43.905 [03572] PDA() - Attempting to start download thread, [COM12\QDLService, vid_03f0&pid_241d#5&186fd676&1&6]
12/15/2011 01:14:43.952 [03572] AMSS Path = C:\Program Files\Qualcomm\Images\HP\UMTS\AMSS.mbn
12/15/2011 01:14:43.952 [03572] Apps Path = C:\Program Files\Qualcomm\Images\HP\UMTS\Apps.mbn
12/15/2011 01:14:43.952 [03572] UQCN Path = C:\Program Files\Qualcomm\Images\HP\0\UQCN.mbn
12/15/2011 01:14:43.952 [03572] PDA() - Started download thread 412 (3608), [COM12\QDLService, vid_03f0&pid_241d#5&186fd676&1&6]
This told us that we needed AMSS.mbn
and Apps.mbn
from the UTMS
folder, and UQCN.mbn
from the 0
folder.
We copied these files from the Windows partition into
/lib/firmware/gobi
, and then ran the following commands:
sudo modprobe -r qcserial
sudo modprobe qcserial
This gave us the following output in dmesg
:
[ 637.153306] usbcore: deregistering interface driver usbserial
[ 643.486432] usbcore: registered new interface driver usbserial
[ 643.486490] USB Serial support registered for generic
[ 643.533629] usbcore: registered new interface driver usbserial_generic
[ 643.533648] usbserial: USB Serial Driver core
[ 643.546831] USB Serial support registered for Qualcomm USB modem
[ 643.548693] qcserial 1-6:1.1: Qualcomm USB modem converter detected
[ 643.549035] usb 1-6: Qualcomm USB modem converter now attached to ttyUSB0
[ 643.551390] qcserial 1-6:1.2: Qualcomm USB modem converter detected
[ 643.551752] usb 1-6: Qualcomm USB modem converter now attached to ttyUSB1
[ 643.551848] usbcore: registered new interface driver qcserial
[ 697.823830] PPP BSD Compression module registered
[ 697.832888] PPP Deflate Compression module registered
The key is to look for both the ttyUSB0
and ttyUSB1
devices.
If you run lsusb
at this point you should see the entry for the Gobi
modem has a different identifier:
Bus 001 Device 004: ID 03f0:251d Hewlett-Packard Gobi 2000 Wireless Modem
The ID changes from 03f0:241d
to 03f0:251d
.
At this point we were almost done. In Network Manager we made a new "Broadband Connection" with the following settings:
- Number:
*99#
- Username:
wapuser1
- Password:
wap
- APN:
internet.com
In "IPv4 Settings" I think we needed to set DNS entries too, but I can't remember whether this was absolutely necessary:
- DNS:
64.71.255.198, 64.71.255.253
We may have needed a reboot (or just running the modprobe
commands
again) and we were in business. We could use ping
, nslookup
, and
surf the Internet under whatever hideous conditions Rogers puts on its
data plans.
Overall I strongly recommend against using Rogers as a service provider, but if you are stuck with them and you want to use Ubuntu on one of their netbooks, maybe this is of help.