Novatel MC950D in Ubuntu

MC950DThis neat little USB device is a wireless high speed internet device, as well as a USB mass storage device.  In Windows, this makes for an easy way to connect it to any machine without a need for drivers, as they come on the disk!  I had some hoops to jump through to get it to work in Ubuntu 8.10.  Here’s how I did it.

First off, you need to know your product id and vendor id.  These are obtained by using usbview [ sudo apt-get install usbview ].  This is a graphical app, so you should have no issue locating your Novatel device, and drilling down to the vendor and product ids.  For me, it was vendor=1410 product=5010.

The device itself has two modes. When first inserted, it will activate the USB mass storage capabilities.  In Windows, this is to install the drivers and software to your machine.  When it is done, it unmounts the volume and swaps into modem mode.  This is done presumably in the Win32 application that is stored on the disc.  Since you cannot run the Win32 app in Ubuntu, you have to force this switch.  This is relatively simpler than it sounds.

Before inserting your device, remove the usbserial kernel module [ sudo rmmod usbserial ].  After inserting your device, you will notice that it gets mounted as a CD or USB storage.  Eject it.  [ eject ].  Now load the usbserial module with the vendor id and product id you searched out earlier.  In my case [ sudo modprobe usbserial vendor=0x1410 product=0x4400 ].  Congrats!  Simple enough.  At this point, I went ahead to configure wvdial to my liking from an older script I had around, however, I believe you can use the Ubuntu network manager to configure it and use it.  YMMV.  I have not tested this yet.  I’m a rather big fan of wvdial and have been for a long time. Here is my wvdial.conf, which you can place in /etc.

[Dialer Defaults] Dial Command = ATDT Stupid Mode = 1

[Dialer reset] Modem = /dev/ttyUSB0 Init1 = AT

[Dialer rogers] Phone = 99**1# Username = user Password = pass Modem = /dev/ttyUSB0 Baud = 460800 Init2 = ATZ Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 ISDN = 0 Modem Type = USB Modem Init5 =AT+CGDCONT=1,“IP”,“”,“”,0,0;

Now you just have to run [ sudo wvdial rogers ] and wait for it to connect.  If you find that your dns servers are something strange like then set them in /etc/resolv.conf


Turns out that Ubuntu’s network manager supports this quite well!  You can ignore everything that I posted earlier.  All you do from a fresh boot is put your device in, then type [ eject ] in your terminal.  The first time you do this, network manager will find the device, ask you who your provider is, and set it up.  Even easier than setting up WiFi!