Tethering Motorola Defy. Internet over USB on Windows and Linux

I purchased Motorola Defy Android mobile phone running Android 2.2.2, ( the later Defy+ runs Android 2.3). the phone supports 3G hotspot over  WIFI. But for some reason my phone kept crashing after few minutes of use of the hot spot feature. So I wanted to setup the tethering over USB. I use Kubuntu and Windows . Here, I wil explain how to tether your Motorola Defy phone using USB. The same should work on DEFY+, though I have not tested on it. Both the approaches doesnot require the phone to be rooted. And I use Airtel 3G in India

Tether on Windows:
Follow the instruction here. https://forums.motorola.com/posts/bc40b2fbdc Its stratigh forward and works for DEFY.

Tether on Linux:
This involves litle bit of tinkering. Follow the instructions in this article http://www.humans-enabled.com/2009/12/how-to-tether-your-verizon-droid-as.html . The original article itself is capable of tethering DEFY. I have altered couple of steps to suit me and am sharing it here.

Step 4:
my rule for DEFY is
SUBSYSTEM==”usb”, SYSFS{“22b8:428c”}==”22b8″, MODE=”0666″,

Step 10:
If you are using DEFY with android 2.2.2 , then don’t bother to download the Azilink with Android 2.3 patch. Download the latest release from the Azilink site itself.
cd ~
mkdir azilink
cd azilink
wget http://azilink.googlecode.com/files/azilink-2.0.2.apk
adb install -r azilink-2.0.2.apk
wget http://azilink.googlecode.com/files/azilink.ovpn

Step 11 & 12:
I had merged steps 11& 12 as follows
vi start_modem

#Type in the text below, then hit ZZ to save
adb forward tcp:41927 tcp:41927
sudo echo “domain lan” > /etc/resolv.conf
sudo echo “search lan” >> /etc/resolv.conf
sudo echo “nameserver” >> /etc/resolv.conf
sudo openvpn –config azilink.ovpn

Follow the rest of the steps from the original article. Azilink About page quotes ” since this program doesnot run as root it cannot forward ICMP-based ping requests. To simulate this all pings are translated internally into UDP pings. Unfortunately, many hosts do not respond to UDP ping requests.” So don’t be surprised if you cannot ping your host but still able to use the internet.

How to Input Indic languages on Ubuntu Linux using IBus

Interacting with computers in native language takes the technology closer to masses. There are many ways to input in native languages.On Windows platform , Microsoft Input method editors (IME)can be used to type in non-latin languages like Indic or CJK . A newer alternative is Google IMEs, Though it supports only transliteration. On Linux there are different alternatives to type in non-latin languages viz scim, xim, uim etc. SCIM IME was the most popular on Linux until recently. However SCIM is older and has its own disadvantages.So a newer architecture was developed called IBus.

The Intelligent Input Bus (IBus, pronounced as I-Bus) is an input method (IM) framework for multilingual input in Unix-like operating systems. It’s called “Bus” because it has a bus-like architecture.

Latest Linux releases inluding Ubuntu 11.04 come with IBus installed. Am listing down the steps to configure Indic languages like Tamil, Hindi, Kannada on KDE or GNOME desktop on Ubuntu Linux 11.04.

Open a terminal and type the following commands. Alternatively you can select these packages from Synaptic package manager on (K)Ubuntu. Install IBus if it’s not already there.

sudo apt-get install ibus
sudo apt-get install ibus-m17n # this package contains tables for Indic languages)

sudo apt-get install ibus-qt4  #(if you are using KDE desktop)

sudo apt-get install ibus-gtk  # (if you are using GNOME desktop)

sudo apt-get install im-config


Now run im-config from command line or using your favorite app launcher. Slelct ibus as the input method.And accept whatever the pop-up dialog says.

Restart the PC and log in to your desktop. You should see a keyboard icon in the taskbar. If not type ‘ibus’ in the terminal and give enter. Now you can add the selected input methods by right clicking on the icon and selecting preferences.


Now press ctrl + space to enable the IME, select the language you want to input and start typing in that language. IBus-m17n supports transliteration for few Indic langugaes like Tamil , Hindi.

How to upgrade KDE to 4.5.5 on Kubuntu 10.10

For a long time I was struggling to upgrade KDE desktop on my Kubuntu 10.10 Linux system. All the Apt lines I found on the internet were either not available anymore or invalid.

Finally found the right APT line. execute this line in terminal and you will be upgraded to the latest KDE version on Kubuntu 10.10 (Maverick Meerkat)

sudo add-apt-repository ppa:kubuntu-ppa

sudo apt-get update

sudo apt-get upgrade

Best alternate apps to default Ubuntu apps

Ubuntu is an excellent OS packed with lots of useful and exciting apps. However some of them might not suit all your need and you might need a more powerful and feature rich app.

This article lists such alternatives. Keep checking this page often , since I will be updating it frequently with new alternatives.

KNetworkmanager ==> WICD

KNetworkManager, the network control and setup tool that is part of KUbuntu or Ubuntu with KDE desktop is still unstable and is nit easy to configure. Fear not there is a savior called WICD. IT scans all the wifi network and lists them with there security protocol. All you need to do to configure a new connection is to enter the password. Life made easy! It can be installed through synaptic package manager


KBluetoothManager ==> Blueman

Accept it KBluetoothManger sucks. Never detects my Sony ericsson phone and on other phone OBEX hardly works. Thanks to Blueman I can browse my phone in a single click. It can be installed through synaptic package manager


Tamil99 Virtual keyboard on Linux

If you want a virtual keyboard on Linux, most distros come with xvkbd. KDE has a good looking Virtual keyboard called Kvkbd. However all this support the default keyboard (Which is English on my laptop). I couldn’t figure out how to customize them to show other keyboard layouts installed using SCIM like Tamil, Kanada. Luckily there is one more virtual keyboard for Linux called Onboard. It supports adding new layout and its surprisingly simple. On Ubuntu it can be installed using synaptic packet manager or by typing the following in the console.

sudo apt-get install onboard

Then launch it from menu or by typing onboard in console. The default layout for English looks like below.

If you are wondering what are those blue and pink square on the right corner, its actually buttons. Not sure why developers kept it like that. When you click the blue button it show the num lock and arrow keys. When you click the pink square it shows the function keys and settings button. Again the settings button is just a pink square. Click on settings button to launch the configuration window.

I have created a onboard virtual keyboard for Tamil99 keyboard layout. To add the Tamil99 layout to the onboard download tamil99.zip and extract it some location. Click on the add button on the configuration window and select the tamil99.sok file. Onboard will import the sok file and other svg files in to the ~/.sok folder. Now select the tamil99 from the list of layouts and close the window. Now you should be able to see the tamil99 layout as below.

With shift key pressed

The tamil99 virtual keyboard for onboard has some hick-ups like the mysterious character you see next to ஃ. Also the extra ‘>’ character next to left shift button. It has nothing to do with the layout I created but with the onboard software itself. Hoping the next version of it will fix it. Mind you these are issues with the display of the virtual keyboard. However the actual typing is still done by scim so it is flawless.

Its pretty simple to create virtual keyboard for any 105 keyboard layout . For other keyboards it may require editing the svg. If you want to create your own onboard virtual keyboard for your desired layout check these links.

Create your own personal keyboard layout


Currently onboard is not synchronized with scim. So changing the layout in scim doesn’t automatically change it in onboard. You need to do it manually.

Related links

Technosrix: How to type in Tamil using Linux

Tamil Shell command