Wednesday, September 28, 2011

How to install MTS MBlaze drivers for Ubuntu?

I recently purchased a MBlaze USB modem from MTS. I tried using it on my office laptop which was running Windows XP, with reading the user manual given along with the device. No troubles. It worked in the first go.
Later, I wanted to use it on my personal laptop which was running Ubuntu 10.4(lucid Lynx). I read the user manual this time carefully, as I had faced problems installing other drivers (audio, still does not work) earlier. I installed the "CrossPlatformUI-1.0-27-SSTL-i386-ubuntu.deb" which came with the device. It failed with partial installation. I call it partial, because I could see "MBlaze" option in my "Applications", which was not able to detect the device.
I used my office laptop to dig more details regarding this on the web. And to my fortune, few people had already faced this problem and two of them had documented it, too. Both were similar. I am presenting below one of them.
"http://abhishekdelta.wordpress.com/2010/05/18/connecting-mts-mblaze-usb-modem-in-ubuntu/"

The contents are reproduced here for easy reference
********************************
I recently bought myself an MTS Mblaze wireless USB Modem. Connecting it on Linux was difficult because there was practically no tutorial for MTS USB Modem, while many were available for Reliance and Tata Indicom Modems. So here is what I did to finally get it connected (Note : Execute all commands as ROOT )
i) You’d have to install the package USB-ModeSwitch. It is available here : http://packages.debian.org/sid/usb-modeswitch
Note : When you open the above link, you should check out its dependencies and also install the dependency package ” usb-modeswitch-data”.
Just download and double-click on it to install the package.
ii) After you’ve installed usb-modeswitch and usb-modeswitch-data packages, reboot your computer.
iii) Connect the Mblaze Modem and wait for 30 seconds. While you’re waiting, the usb-modeswitch package is doing magic in the background, you can check the status through the following command :
dmesg
iv) I hope you have “wvdial” pre-installed on your system. You can check that by typing “wvdial” and see if the computer recognises it. If it doesn’t then you’d have to install it. Its easy, refer this link.
v) Now edit the file /etc/wvdial.conf (If it doesn’t exists, then create it) as Root and copy paste the following code :
[Dialer cdma]
Stupid Mode = 1
Inherits = Modem0
Password = mts
Username = internet@internet.mtsindia.in
Phone = #777

[Modem0]
Init1 = ATZ
SetVolume = 0
Modem = /dev/ttyUSB0
Baud = 115200
FlowControl = Hardware (CRTSCTS)
Dial Command = ATDT
Note that ttyUSB0 may be different for your system. However, first try with the above code, if it doesn’t works and says some error like “ttyUSB0 doesn’t exists” or something similar to it, then find out the actual one by going through the output of following command :
dmesg | grep -e “modem” -e “tty”
vi) That’s it, you’re done. Now start browsing with the following command :
wvdial cdma
As soon as you start seeing some IP addresses, you’re online! DO NOT close the terminal in which you executed the command, otherwise you will get disconnected.
And from next time, you don’t have to it all over again. Simply connect your modem, wait for 30 seconds and type the last command. To disconnect, goto the terminal, and press Ctrl + C.
Hope it worked for you, if any problems occured, you can leave a reply !
********************************
 Thanks to this guy. He should have really spent some time understanding and solving the problem. It looked like a readymade solution to me until I got struck using this too. This is how and what I did.
I used my office laptop to download the required packages mentioned in the solution into a memory stick, connect it to my personal laptop running Ubuntu and install them. When I installed the "USB_ModeSwitch", it failed as it required dpkg of a higher version than the one available in my machine. I again got back to me office laptop and downloaded that package and went back to the Ubuntu one to find that this package is dependent on some other package. I continued to do few more iterations of downloading in one and unsuccessfully installing on the other laptop, before cursing the way Ubuntu was designed to work.
It is really painful when you are trying to setup something to get your internet working and this Ubuntu will only work smooth when the internet is already up and the packages are downloaded using Synaptic Package Manager. What stupidity? I was wondering if I can find some place where I can find the parent package (which we are interested in) and all its dependencies or pre-requiste packages and libraries. Though I found an work-around, I am not sure if it is the only way. It took me lesser iterations. In this case, 3. Otherwise, it would have taken my lifetime to find the dependency of each package and download it in a internet availabe machine and transfer (Do the developers of Ubuntu foresee such things). This is why Windows, in however bad shape, wins the race where the users are as dumb as I am.
Okay, now this is the work around.
Use a machine where internet is availabe,
1) Open a browser. In the address bar, type "http://packages.ubuntu.com/USB-ModeSwitch". It will show a page where this package can be downloaded, corresponding to a Ubuntu version. This download seems to take care of many dependencies by itself.
2) Download usb-modeswitch-data, from the same page.
3) Similarly, download "wvdial" package by typing it in the address bar. This has few dependencies, which are not availabe in the bundle. They are "libuniconf4.6", "libwvstreams4.6-base" and "libwvstreams4.6-extras". These are marked as depends package in the "wvdial" download page itself. First install, "libwvstreams4.6-base", then "libwvstreams4.6-extras", then "libuniconf4.6". Finally "wvdial".
Once these are installed, follow the procedure to edit "/etc/wvdial.conf" and continue with the procedure till executing the command "wvdial cdma" as mentioned earlier.
Thanks and due credit to Abhishek Shrivastava, for providing such a blog, so that dumb user like me an also work with such stupid development.