Micromax MMX 310G 3G modem settings (linux)

Installation steps –

1. Start terminal & type “lsusb”

dwijay@linux-v50e:~> lsusb

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 002: ID 04f2:b044 Chicony Electronics Co., Ltd

Bus 002 Device 012: ID 1c9e:f000  <—– Modem device

Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 003 Device 002: ID 08ff:1600 AuthenTec, Inc. AES1600

Bus 003 Device 003: ID 0a5c:2101 Broadcom Corp. A-Link BlueUsbA2


Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Note: – In this example the vendor-id is 1c9e and the product-id is


2. Download and install latest usb_modeswitch configuration from  software.opensuse.org

3. Enter in root and type following:

linux-v50e:~ # vi /etc/usb_modeswitch.d/1c9e\:f000

# Micromax MMX 300G BSNL 3G Modem





Copy, paste & save

ATTENTION: If your modem has a different vendor- or product-id adjust  the strings !

3. Edit and adjust the modeswitch rules :-

linux-v50e:~ # vi /lib/udev/rules.d/40-usb_modeswitch.rules

# MobiData MBD-200HU
ATTRS{idVendor}==”1c9e”, ATTRS{idProduct}==”f000″,  RUN
+=”usb_modeswitch ‘%b/%k'”    <–Find ur vendor &
product id and change it.

# MobiData MBD-200HU
ATTRS{idVendor}==”1c9e”, ATTRS{idProduct}==”f000″,  RUN

now save and quit

4. linux-v50e:~ # vi /etc/usb_modeswitch.conf


5. Now create a new file
linux-v50e:~ # vi /usr/bin/modemstart.sh

sleep 5
usb_modeswitch -W -c /etc/usb_modeswitch.d/1c9e\:f000
modprobe usbserial vendor=0x1c9e product=0x9605

copy paste and save then RUN this file. Note: change the file permission by : chmod 777 modemstart.sh
linux-v50e:~ # modemstart.sh

this will detect ur modem..

6. now configure wvdial if u don’t have download it.

linux-v50e:~ # vi /etc/wvdial.conf

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1
;Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,””,”airtelgprs.com”
stupid mode = 1
Modem Type = USB Modem
Baud = 460800
New PPPD = yes
Modem = /dev/ttyUSB1
ISDN = 0
Phone = *99#
Carrier Check = no
Password = airtel
Username = airtel

copy,paste and save it.

Now run wvdial
linux-v50e:~ # wvdial
this will get ip settings after pppd settings.

7. You can also use ur Network-Manager for this settings as an
alternative to wvdial.

8. NOW Every time u connect ur modem u just have to run
linux-v50e:~ # modemstart.sh

* usb_modeswitch: tool for controlling “flip flop” mode USB devices

* Version 1.0.2 (C) Josua Dietze 2009

* Works with libusb 0.1.12 and probably other versions

Looking for target devices …

No devices in target mode or class found

Looking for default devices …

Found default devices (1)

Accessing device 005 on bus 001 …

Using endpoints 0×01 (out) and 0×81 (in)

Inquiring device details; driver will be detached …

Looking for active driver …

OK, driver found (“usb-storage”)

OK, driver “usb-storage” detached

Received inquiry data (detailed identification)


Vendor String: USBModem

Product String: Disk

Revision String: 2.31


Device description data (identification)


Manufacturer: USB Modem

Product: USB Modem

Serial No.: 1234567890ABCDEF


Setting up communication with interface 0 …

Trying to send the message to endpoint 0×01 …

OK, message successfully sent

9. After this connect through Network-Manager…
thats it!!!!

start firefox n enjoy !!! 🙂



21 thoughts on “Micromax MMX 310G 3G modem settings (linux)

Add yours

  1. Please Help…
    I tried as u said. But when i tried to save using “:wq” “vi /etc/usb_modeswitch.d/1c9e\:f000” it says..
    Press Enter or Command to continue
    when i press enter it return back to vi editor
    I dont know the command please help me…
    I am using Mandriva 2007

    1. :q Ends vi (if no changes were made).
      :q! Ends vi without saving changes in the file.
      :wq or ‘:x’ Saves the current file and ends vi.
      :w Saves the current file.
      :w file Saves as. (Note: You continue editing the original file, not the new file.)
      :syn on brings on syntax highlighting.

      and use ‘i’ for insert mode for editing den press ‘esc’ n den use ‘:wq’ to save it….

  2. Please post settings , links for Redhat Enterprise linux 4. usb modeswitch, libusb is not on my system. Please post links from where I can download the packages.
    Thanks .

  3. Hi dwijaybane! I’ve been using usb_modeswitch for quite some time now though not in a way you suggest. Earlier I had ubuntu 10.10 (linux kernel 2.6) and usb_modeswitch version < 1.2.1. I had to keep the device plugged in during boot to make it switch. Otherwise if I ran

    sudo usb_modeswitch -v 0x1c9e -p 0xf000 -V 0x1c9e -P 0x9605 -M 55534243123456788000000080000606f50402527000000000000000000000

    I'd get "No driver found. Either detached before or never attached" error.

    Things changed when I installed version 1.2.1. Then I could switch the device using the command even if it was inserted after booting.

    But now I'm running mint 12 (linux kernel 3.0) and usb_modeswitch version 1.2.3. I'm getting the same error again. Can you please check if this is normal?

  4. Hi, I am using RHFL 5.2. I configure my pc as you say above. But when I give the command modemstart.sh system give messege that command usb_modeswitch not found.
    please help me.

      1. I have downloaded sakis3g script. but when I try to run it its give error messege as given below;
        [root@localhost ~]# sakis3g status
        Not connected.
        [root@localhost ~]# sakis3g start
        Please select appropriate driver by using USBDRIVER variable, or by enabling interactive mode.
        $ /usr/bin/sakis3g –interactive “start”

        Available options are:
        option option kernel module
        OTHER Other driver…

        $ /usr/bin/sakis3g USBDRIVER=”option”

        [root@localhost ~]#

        kindly help me.

      2. Try the following
        chmod +x /usr/bin/sakis3g
        sakis3g –interactive “connect” or “start”
        then it will show resolving connection
        enter the APN for your cellular network (if you dont know APN do a google search you will get it)
        enter username 12345
        enter password 12345
        and you are good to go.
        And still if problem persist i would recommend to go through whole process from beginning
        and let me know the exact error and scenario how you did it so i can help you further..
        see ya buddy

  5. I have try to run it as suggested by you (sakis3g -interactive “connect”). But its give messege in first screen as
    “Please select appropriate driver
    you can automate this selection by setting USBDRIVER variable on commond line.
    select kernal module that should be used
    1.option kernal module
    2.other driver”
    When I select first option its give messege “error occured” “unable to loaddriver option for device 1c9e:9605 ” “failed to connect” on next screen.
    When itry to choose second option its ask me to give appropiate driver name. Kindly guide me.

    1. This is the first time i am seeing driver error still after a little googling you should struggle with below links
      http://sakis.tel4u.gr/blog/sakis3g/ <–decent site
      i would like to know your lsusb output and the USB device you use coz this article is about
      micromax 310g if you are using other device then your vendor and product id should be different and
      so the config would change a little..
      anyhow try above link and struggle with it and if you find the solution you can post it here so other users can also know..
      Good luck debugging cheers :J

    2. Hi Satish, I don’t understand which distro you’re running. Is it something based on Red Hat 5.2? In that case you must get a new distro coz it’s kernel is 2.0 which is pretty outdated now. Maybe that’s the reason why you’re getting errors with the option module.


  6. i am trying to configure my micromax 355G as you mentioned but when i run modemstart.sh commend i an getting an error and output is given below :

    Reading config file: /etc/usb_modeswitch.d/1dbc:0669

    * usb_modeswitch: handle USB devices with multiple modes
    * Version 1.2.3 (C) Josua Dietze 2012
    * Based on libusb0 (0.1.12 and above)


    DefaultVendor= 0x1dbc
    DefaultProduct= 0x0669
    TargetVendor= 0x1dbc
    TargetProduct= not set
    TargetClass= not set

    MessageEndpoint= not set
    ResponseEndpoint= not set

    InquireDevice enabled (default)
    Success check enabled, max. wait time 20 seconds
    System integration mode disabled

    Error: MessageContent ”55534243123456788000000080000606f50402527000000000000000000000″
    is not a hex string. Aborting.

    please help me soon

    1. Hello Shubham,
      I apologize for this late reply but if you haven’t found any solution? and partly for reason other could know how to do it follow below given link for more info..

      In Ref to:
      Error: MessageContent ”55534243123456788000000080000606f50402527000000000000000000000″
      you need to change the modeswitch MessageContent as well as other settings according to your USB Modem Versions… The Settings in my blog given are specifically for MMX 310g for any other version you need to use some sort of USB Sniffer tool to extract USB info refer above link for more info on how to do it… They did using windows tool.. you can also do it in linux..

      Use sakis3g tool i guess they have pre-patched it.

      more info on modeswitch – nice article

      Hope this should help !!! cheers 😀

Join the Discussion

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 )

Google+ photo

You are commenting using your Google+ 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 )


Connecting to %s

Create a free website or blog at WordPress.com.

Up ↑

%d bloggers like this: