Today I have successfully connected my BSNL 3g Modem (micromax -mmx300G) in Ubuntu linux. Actually the modem when connected will be detected as Virtual CD ROM. To use the modem u need to switch the device to usb-serial mode. The product ID will be different after switching mode. Just use the ID with modprobe command. Then u are done. Sure you will get the connection and u will be able do all that u can do with internet.
If want any switching between GSM network and HSPA network, do the following:
At extra initialization comands just add the entry
AT+COPS = 0,0,"cellone",0 ---- for GSM mode
or
AT+COPS = 0,0,"cellone",2 ---- for UMTS mode.