"3" MobileBroadband card (aka Novatel Merlin XU870) on Ubuntu Dapper Drake 6.06 (linux 2.6.15)
On Sunday (March 4th 2007), I signed up for a mobile broadband account with "3", one of Australia's tier-1 cellular UMTS/HSDPA carriers. It was a somewhat impulsive decision - the trigger being a significant drop in prices since I last looked, which was about a year ago.
After doing some research, it turns out that the "3" MobileBroadband card is simply a rebranded Novatel Merlin XU870. The "3" website doesn't mention support for Linux, but the Novatel website does, and in fact, has instructions for installing and configuring for Linux. This was enough for me to sign up and try it with my Dell 640m running Ubuntu Dapper Drake 6.06.
I couldn't find any linux drivers to download from the Novatel website, but I did find Samat Jain's page on High-speed cellular wireless modems (e.g. EVDO, HSPDA) in Ubuntu GNU/Linux 6.10.
I downloaded his hosted version of the airprime.c driver, and modified it to work with my system. This was necessary because I'm still using the linux kernel 2.6.15 with Dapper Drake, old as some may consider it.
After this, I ran into problems with dropped data and had to make further changes (for those who understand it, the low latency flag had to be enabled). In the end, I also back-merged some minor changes from the linux 2.6.19 version of the airprime driver.
So, finally, what I have is a driver which is a combination of 3 other different versions, but it works with Ubuntu 6.06 / linux 2.6.15 and works well, and that's what I was after.
Anyway, I figured there must be others out there who are still using Dapper Drake, so I decided to post up my changes so others can make use of them. Of course, this should also work with any distribution with a linux 2.6.15 kernel, though the installation instructions below may differ.
According to the source code, this driver also covers the following cards:
- AirPrime 5220
- Sierra Wireless Aircard 580
- Sierra Wireless EM5625
- Sierra Wireless MC5720
- Novatel Wireless S620
- Novatel Wireless S720
- Novatel Wireless U720
- Novatel Merlin XU870
- ExpressCard34 Qualcomm 3G CDMA
- Dell Wireless 5500
- Kyocera Wireless KPC650/Passport
- Audiovox PC5740
- Pantech PX-500
though of course I can't verify this since I don't have the hardware.
The instructions below borrow heavily from Samat Jain's page, with my minor modifications.
Install the kernel build environment, linux headers and sources for 2.6.15 ...
Uncompress the linux source ...
tar xjvf linux-source-2.6.15.tar.bz2
Find the airprime driver ...
Modify the airprime driver by patching ...
or replacing ...
cp your_downloaded_directory/airprime-bt-20070305.c airprime.c
Compile just the USB serial drivers (including the airprime driver) ...
Then install and update module dependencies ...
sudo depmod -a
Then you have to either remove and reload the module, or just reboot.
Please note that what you've done occurs without the knowledge of the Ubuntu package manager. If you update your kernel, then your changes will be lost and you'll have to do this again.
When the wireless card is inserted, the airprime driver will create a number of ttyUSB ports. The important one is ttyUSB0.
Carrier and PPP Configuration
To be continued . . .