Novatel MC990D GSM Modem on Ubuntu

Novatel MC990D is one of the GSM modem on the market (at least here in Indonesia). From the web page, it says that it supported the Linux 2.6 kernel. So without any doubt, I think it will behave  just like other gsm modem I’ve tried before. Just plug it and it will play nicely with usb_modeswitch.

Well … from my latest experience … it is not …

Yesterday I was able to play a little with this modem to be used as an SMS sender from a server. The server itself is running Centos 5, running on Linux 2.6.18 kernel (yeah, I know, the OS itself is a little bit outdated). So I plug the modem to the USB port, and run the dmesg command. Basically, if a modem is plugged to an USB port, I would get few lines of system messages, and one of them would contain the ‘/dev/ttyUSB0’ or ‘ttyUSB1’ or so on (this is the simplest way to identify it, your result may vary). On my case, there are no sign of it.

So I try the modem on my Ubuntu 13.04 …

The result still the same. Instead of resulting a system message about ttyUSB*, the message I get is that the modem detected as storage device mapped to /dev/sr1.

[ 1230.298553] sr1: scsi-1 drive
[ 1230.298760] sr 7:0:0:0: Attached scsi CD-ROM sr1
[ 1230.298907] sr 7:0:0:0: Attached scsi generic sg2 type 5
[ 1230.623249] ISO 9660 Extensions: Microsoft Joliet Level 1
[ 1230.705863] ISO 9660 Extensions: IEEE_P1282
[ 1230.705878] ISOFS: primary root directory is empty. Disabling Rock Ridge and switching to Joliet.
[ 1230.705880] ISOFS: changing to secondary root

Okay, first of all, as an information, this is basically normal. The modem was detected as a storage because the current majority type of modem has their own internal storage to store their installer (I think this is for cost reduction, so they don’t have to give you installation CD). On Windows, after the driver has been installed, when the modem plugged, there will be a kind of switching mechanism that will eject the storage, so the modem will act as a modem. This is what in our beloved Linux world the usb_modeswitch made for.

So why then the usb_modeswitch failed? A little google to search for the workaround, and I found that the normal way to make this modem work is by manually eject the /dev/sr1 device, and after that the modem will identified as a modem. So, I try it ..

sudo eject /dev/sr1

with no result … !@#$%

So, I realized … this is of course normal, since the eject action is already executed by usb_modeswitch when the usb modem is plugged! Haha, I was dumb … Okay, so lets try to disabled the auto-eject, by editing the /etc/usb_modeswitch.conf and enabling the DisableSwitching variable.

# Disable automatic mode switching globally (e.g. to access the original
# install storage)
DisableSwitching=1

After that, I plugged the modem again, and then issuing the eject command, and yes, the dmesg command now resulting the expected result

[ 1635.760320] usb 2-1.3: USB disconnect, device number 6
[ 1635.992198] usb 2-1.3: new high-speed USB device number 7 using ehci-pci
[ 1636.085623] usb 2-1.3: config 1 has an invalid interface number: 5 but max is 4
[ 1636.085632] usb 2-1.3: config 1 has no interface number 4
[ 1636.088052] usb 2-1.3: New USB device found, idVendor=1410, idProduct=7001
[ 1636.088059] usb 2-1.3: New USB device strings: Mfr=3, Product=2, SerialNumber=4
[ 1636.088066] usb 2-1.3: Product: Novatel Wireless HSPA Modem
[ 1636.088072] usb 2-1.3: Manufacturer: Novatel Wireless, Inc.
[ 1636.088078] usb 2-1.3: SerialNumber: 352989025746901
[ 1636.091907] scsi9 : usb-storage 2-1.3:1.5
[ 1636.640830] usbcore: registered new interface driver usbserial
[ 1636.640848] usbcore: registered new interface driver usbserial_generic
[ 1636.640859] usbserial: USB Serial support registered for generic
[ 1636.667045] usbcore: registered new interface driver option
[ 1636.667070] usbserial: USB Serial support registered for GSM modem (1-port)
[ 1636.667153] option 2-1.3:1.0: GSM modem (1-port) converter detected
[ 1636.667257] usb 2-1.3: GSM modem (1-port) converter now attached to ttyUSB0
[ 1636.667279] option 2-1.3:1.1: GSM modem (1-port) converter detected
[ 1636.667351] usb 2-1.3: GSM modem (1-port) converter now attached to ttyUSB1
[ 1636.667372] option 2-1.3:1.2: GSM modem (1-port) converter detected
[ 1636.667435] usb 2-1.3: GSM modem (1-port) converter now attached to ttyUSB2
[ 1636.667457] option 2-1.3:1.3: GSM modem (1-port) converter detected
[ 1636.667515] usb 2-1.3: GSM modem (1-port) converter now attached to ttyUSB3
[ 1637.091418] scsi 9:0:0:0: Direct-Access Novatel Mass Storage 2.31 PQ: 0 ANSI: 0
[ 1637.091901] sd 9:0:0:0: Attached scsi generic sg2 type 0
[ 1637.094831] sd 9:0:0:0: [sdb] Attached SCSI removable disk

So … the modem is detected and the Network Manager is now able to use it as GSM modem.

Novatel MC990D on Ubuntu

The remaining problem is, I still cannot get the same result on Centos 5. Ah well, maybe I should upgrade the OS?

Until next time … happy Friday!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s