Wednesday, April 20, 2011

Google Sync and Blackberry

Like many Blackberry users, after using Google Sync to restore my address book, I found that some of my contacts are missing.

After some investigation, I found that some of the contacts in my address book were under "My Contacts" category and some were under "Other Contacts". Google Sync seem to only sync contacts from "My Contacts".

So the solution is to add the missing contacts to "My Contacts" category. In the "contacts" page of Gmail Web application, you will find the following options:

Wednesday, December 1, 2010

Android Development on Linux using Huawei U8100


Android SDK and eclipse is very easy to setup. Google has tonnes of very good tutorials on how to get started with Android on different platforms (including Linux).

Since I own a Huawei U8100 android phone, I planned to use the phone as the android device (instead of an emulator).
So I followed the instruction to create the rules file in /etc/udev/rules.d/99-android.rules
containing the following text:
SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", OWNER="khaledm" GROUP="khaledm"

If you have read the Google's device setup instruction, you must have observed few differences:
1. Filename starting with 99: this makes sure that this rule is one of the last ones to be executed.
2. OWNER="khaledm" GROUP="khaledm" instead of MODE="0666" : gives only permission me to communicate with the device.

When I tried to run a HelloWorld application on Huawei U8100, this is what I saw on eclipse:


and guess what?
Eclipse fails to upload the application on my device:
[2010-12-01 22:07:02 - HelloAndroid] Uploading HelloAndroid.apk onto device '????????????'
[2010-12-01 22:07:02 - HelloAndroid] Failed to upload HelloAndroid.apk on device '????????????'
[2010-12-01 22:07:02 - HelloAndroid] com.android.ddmlib.AdbCommandRejectedException: device not found
[2010-12-01 22:07:02 - HelloAndroid] Launch canceled!

Digging in further, I tried using adb to list the available devices, here is what I get:
khaledm@madinatek:~$ adb devices
List of devices attached
???????????? device
emulator-5554 device

So, it looks like adb is having difficulty recognizing my device. But when I tried Acer Liquid E, it worked like a charm.
khaledm@madinatek:~$ ./android-devel/android-sdk-linux_x86/tools/adb devices
List of devices attached
emulator-5554 device
???????????? device
0000023459713769device

Listing the usb devices
khaledm@madinatek:~$ lsusb
Bus 002 Device 009: ID 12d1:1035 Huawei Technologies Co., Ltd.
Bus 001 Device 008: ID 0502:3202 Acer, Inc.
and comparing the output of
sudo udevadm info --attribute-walk --name=/dev/bus/usb/002/009
and
sudo udevadm info --attribute-walk --name=/dev/bus/usb/001/008

we see that Huawei U8100 is missing ATTR{serial} among other things:
Acer Liquid E's: ATTR{serial}=="0000023459713769"

I have not tried on Windows, so can't really blame Linux for not being able to detect the serial #. I have tried two different Huawei U8100 on Linux (Ubuntu 10.10), experiencing the same behavior.

Fortunately, I found a work around to this problem. The serial # is used by adb when multiple devices are present. So as long as I have only a single Huawei U8100 attached to my machine (and no emulator), I can use the command line to install an app:
adb install ./workspace/HelloAndroid/bin/HelloAndroid.apk
271 KB/s (15481 bytes in 0.055s)
pkg: /data/local/tmp/HelloAndroid.apk
Success

Happy hacking!
By the way, if you are aware of a fix to this issue, please let me know.

Monday, October 4, 2010

Wind Mobile's Infinite Laptop Plan

I recently got a "Infinite Laptop" plan from Wind Mobile. Although the plan website gives "Data Stick" as the only choice with this plan, I was able to grab a Huawei U7519 without any additional cost.

Huawei U7519 is a 3G phone, cheaper than the data stick, comes with a usb driver for Windows Operating System to do tethering. Click here to get the instructions on how to use U7519 to access internet from a Windows machine. As I am using "Infinite Laptop" plan, I had to set the APN to "broadband.windmobile.ca".

To use phone's Opera browser, I had to complete the following two steps:
  • Menu > Settings > Connectivity > Network access point. Added a new APN, I changed the "Connect name" field to broadband, though any other text will work. Next, I changed the "Access point name" to "broadband.windmobile.ca". Rest of the fields were left untouched.

  • Menu > Java > Internet Settings. Changed one of the profile to use the newly created APN profile.