Saturday, September 15, 2012

Micromax MMX 353G modem in linux

I am using BSNL broadband for 5-6 years now. Now and then disruption in their service made me wish for a good backup Internet connection for long. Unfortunately in my locality, like most of the places in Bengal, there is no broadband vendor other than BSNL. I tried tata usb modem and reliance netconnect modem earlier. It was plain waste of money.

After the arrival of 3g network, I got to know about this generic 3g modem which one can use with any prepaid/postpaid 3G SIM. I went to a local computer store and randomly purchased Micromax MMX3G. I also got a Vodafone 3G SIM meanwhile.

As it happens generally, the modem didn't work in my CentOS 6.2 desktop. It was mounting the modem as USB Mass Storage device. I was not able to mount it as an USB Modem. After around a weeks of effort in Internet, I found this tool called usb_modeswitch. I installed that and followed some other configuration steps specified in some forums (don't remember the link). NetworkManager was recognizing this device and I was able to create network using this device. But unfortunately I was not getting connectivity. I called Vodafone customer care to find out if they can help. They straight away said that neither do they support this device nor do they support Linux. I still wanted to talk to the technical support team. Fortunately I was connected to a support engineer. He refused to help saying it won't work in Linux. After I insisted for an answer he said I might try with APN (Access Point Name) as www. If it works, well and good. Otherwise, tough luck.

While rechecking my configuration, I found I configured APN as internet earlier. I modified that and tried it again. And, bingo! Network became active, I got connected to the Internet. My billion thanks to that support engineer who provided me this tricky help.

For reference below is the list of steps, I use to start the network using this device. Once these steps are done, NetworkManager detects the device after 2-3 seconds. 0x1c9e and 0x9605 are the vendor and product ids for this device.

service network stop

service NetworkManager start

usb_modeswitch -W -I -c /etc/usb_modeswitch.d/1c9e\:f000 -v 1c9e -p f000

modprobe usbserial vendor=0x1c9e product=0x9605

modprobe option
Good luck :)