Sunday, October 21, 2012

Using old BanglaLion Wimax modem on Ubuntu

[UPDATE: The latest BanglaLion Wimax modems which are being sold by the Wimax company right now claim to have native support for Windows, Mac and Linux. However, many people still have the old devices and those devices don't work natively with Linux - although they sometimes seem to work natively with Mac. So here it is.]

There are quite a few posts on this around the internet. But I have had a hard time following through the instructions given there. Either because they are not sequenced properly, or because the screenshots do not match, or because links are broken, or because photo captions don't say much about the photo, or because the language is really fragmented. There is one really nice post by Md. Minhazul Haque regarding this, but it is in Bangla. If anyone prefers it in English, here is your dime. So I am re-creating a post which is already available out there, but hopefully in a more structured way.

Pre-Requisites before starting out the processes

You don't need to have pre-reqs 1 & 2 if your modem is not the ZTE AX226 model (see the label on your modem to find out which model it is)
  1. a Windows operating system
    --- needed before trying to make the modem work with linux
  2. Beceem Control Panel - download
    --- runs on windows to configure the modem hardware so that it can be detected by linux
  3. a linux operating system
    --- I used ubuntu 12.04 - 32 bit
  4. modem setup file for linux
    --- download for ZTE AX226 models and WU216 models
    --- download for Acton U211 models
  5. a banglalion wimax modem
    --- I used ZTE AX226 Device

Now going step by step with the procedure:

You don't need to follow through steps 1-7 if your modem is not the ZTE AX226 model
  1. Boot up in Windows OS without having the BanglaLion modem inserted into the USB
  2. Download and install the Beceem Control Panel. Then run the Beceem Control Panel without inserting the modem.
  3. After you start the beceem control panel software, choose USB as the interface parameter.
  4. Then insert the modem... I used a ZTE AX226 model. 
  5. You should then see a Device detected notice in the control panel. If not, then click the 'Connect Device' button
  6. Now go to the DSD tab. Then from the left panel, select "Edit tools" and then select "Modify USB Autoinit data"
  7. NOW THIS IS THE SENSITIVE PART... be very careful as you might corrupt the device if not done correctly:
    1. Click on "Read from Device"... Your device info should be loaded on the screen
    2. Your current info should show Vendor ID = 19D2 and Product ID = 0172.
      These are the values needed to make the modem work on windows or on Mac. To make this modem workable with linux, we need to change these IDs. Be very careful while doing this as it may corrupt your modem if not done correctly.
    3. Insert the following into the text fields: Vendor ID = 198F and Product ID = 0220
    4. Then click on "Write to Device"
    5. Wait for a while until the writing is complete.
    6. Close the software.
    7. Unplug the device - your modem is now ready to be recognized by ubuntu
    8. REMEMBER THAT: you will have to reset the Vendor ID and Product ID back to the default values to make it work on Windows again. But be very careful while doing it as it may corrupt your modem if not done correctly.
  8. Boot up in linux while the modem is disconnected from your machine... I used Ubuntu 12.04 without having the BanglaLion modem inserted into the USB.
  9. Download the modem setup files for linux. Choose the appropriate download file based on the model of the device that you are using.
  10. Make sure you download the file into the Home folder (or in desktop) of your Ubuntu OS. Sometimes, the partition permissions can cause trouble with the installation if you install from some other partition.
  11. Right click on the downloaded file and click properties.
  12. Make sure the "Allow executing" / "Is executable" checkbox is turned on.
  13. Then close the properties box.
  14. Make sure your modem is NOT connected to your PC yet.
  15. Now double-click the installer file and click on "Run" if prompted. You should see some terminal code executing and returning a success response. 
  16. After that, open your ubuntu dash and search for "Wimax CM GUI". You should see an app launcher icon. Open the app.
  17. You should notice it that the app shows there is no connected device. 
  18. Now connect your BanglaLion Wimax modem and the status should now show that a device has been detected.
  19. Then go over to the "Account" tab and press the "Find it" button to fill in your modem's MAC address automatically.
  20. Insert the username and password that you received from your banglalionwimax provider. 
  21. Save that profile for future use.
  22. Click activate to activate the profile into the app.
  23. Then go over to the "Status" tab and click on "Connect"... wait for some time.
  24. Your BanglaLion connection should now be established and recognized as a Wired Connection by Ubuntu.
DONE!


Beceem Control Panel on Windows:
Select USB and Connect Device

Beceem Control Panel on Windows:
Go to DSD tab and then select "Edit Tools" from the left Panel.
Then click "Modify USB Autoinit Data"

Beceem Control Panel on Windows:
VERY SENSITIVE STEP - BE VERY CAREFUL
First "Read from Device", then insert the desired IDs, then "Write to Device"
For Windows/Mac: Vendor ID = 19D2 and Product ID = 0172
For Linux: Vendor ID = 198F and Product ID = 0220

Right-Click Wimax installer on Ubuntu and go to Properties > Permissions tab
Make sure "allow executing file as program" is turned on

Double-Click Wimax installer on Ubuntu
Click Run

Wimax CM GUI on ubuntu:
Connect the device into your computer's USB port.
Go to "Account" tab and click "Find It" button to fill in your modem's MAC address.
Fill in the username password information that you received for YOUR BanglaLion connection.
Click "Save". Then click "Activate".

Wimax CM GUI on Ubuntu:
Go to status tab, Click Connect.

Citing my original sources here: