It finally has arrived! My Android Dev Phone 1 is here!

Android Dev Phone 1 unpacking

Let’s make this first review quick cause I’m too tired of spending countless hours trying (and hacking!) the device :P

Pros

  • The SO. Maybe I’m biased (cause it runs Linux), but this is the fastest mobile SO I ever touched. It never flicked once and I always get immediate responsiveness from the buttons I press.
  • The integration with Google. After the initial setup wizard where I introduced my Google account credentials, a little “sync” icon appeared on the top bar. Thirty seconds later, and all my Google contacts, GMail mails and Google Calendar were synched with the phone (over my 3G connection). W00t? Tried to edit a contact on the desktop’s browser and saw that it immediately replicated the changes on the device. W00t?
  • It runs a more up-to-date Linux version than most of my Debian machines (2.6.25)
  • Very fast GPS. It is definitely the fastest GPS device I’ve tried, getting a fix mere seconds after an application asks for the precise location
  • Good camera. It even does auto-focus (Hugo: it’s real auto focus :P), and applications can register themselves on the process of sharing a photo you just taken.
  • App Market: instantly browsed through dozens of free applications. Discovered an eBay app that allows me to capture a bar code from an object, and find it immediately on eBay. Got shocked when I pointed the camera to the first bar code in front of me, and it actually worked. W00t?

Cons

  • Bulky device. It’s clearly a bulky one. I can almost bet it is twice or three times as thick as an iPhone 3G. And since it has moving parts (the sliding display/keyboard), you constantly feel that is isn’t as solid as other devices.
  • Poor battery. What can I say? I really didn’t expect a high end device like this, with 3G, WiFi and bluetooth on to last as long as my Sony-Ericsson does. After this initial heavy-experiment usage, I predict that the phone will last a full day without recharging.
  • Poor bluetooth capabilities. I was kinda shocked when I realized I couldn’t send a picture through bluetooth. There isn’t any kind of OBEX push or pull on this device. Maybe a future firmware version? On the other hand, with just 2 clicks I shared the photo over GMail and 3G.
  • No video. The camera does not support video shooting. At least not with the default camera application.
  • No tasks? Maybe I’m just blind, but I didn’t find any way to create or sync tasks. Guess I’ll have to stick with the Calendar…
  • Not multi-touch enabled nor 3.5mm stereo jack. Sometimes I just hate you Apple…

Hacking

Being a totally unlocked phone, it was very easy to start hacking it. I installed the latest JF firmware (stable Google code + extra hacker tools) and gain a terminal application with easy root access.

After doing some reading it was time to Debianize it! :-) Installed the debian image on the SD card, and after a few commands on the terminal, I was running a Debian Lenny system with perl, vim, openssh, wget, aircrack-ng (!!!!) and the full GCC stack! It made me happy :-)

After playing around with Eclipse and the Google plugin, I realized that it’s very easy to debug the phone, because all Java processes appear on the IDE and can be inspected with 1 or 2 clicks, including threads and the heap! I guess that makes on-device debugging a piece of cake with Android.

Final thoughts

Overall I’m very impressed with the device. I’m hoping to have a little more time to explore the development capabilities of the platform, including the APIs and the community. In the mean time, kudos for Google for the Android’s effort.

( and without disclosing your name, thank you for helping me getting the device to Portugal :) )

My current laptop has a beautiful piece of crap of an ATI Mobility Radeon X1600. At first I installed Ubuntu 8.04 on it and immediately switched to the proprietary ATI driver (to get more features and better support for multi-head).

However, the display always seemed sluggish.. I never use 3D or Composite, it all seemed related to 2D rendering. For instance, when I switched workspaces I often had to wait 10 seconds for windows to be redrawn.

Still, I managed to work like this for a while. One day however, I decided to try the open source drivers (it seems they have initial support for the R500 chip on this graphics board).

The good news is that is supports multi-head profiles far better than the proprietary driver (XRandR 1.2 FTW!). Still, the 2D sucked, got no 3D nor XVideo overlay…

I even thought “oh this must be an Ubuntu thing”... At the beginning of this week I managed to install Debian Unstable on this laptop, but had the same problems using the open source “radeon” driver….

On a desperate move, I’ve tried the latest and bleeding edge ATI proprietary driver. For my surprise, all my problems were solved and the card is working properly! So I decided to log here the steps I took to get the things properly (remember, I’m running Debian unstable).

Instructions

First, we have to download the latest drivers from ATI from their website Then as root run:

./ati-driver-installer* --extract fglrx
cd fglrx
./packages/Debian/ati-packager.sh --buildpkg sid
cd ..
dpkg -i *.deb

This will build deb's from the ATI distribution file and install them or your system. The next step is to build the actual driver, and for that you can use module-assistant like this:

m-a prepare
m-a update
m-a a-i fglrx

This will build and install the fglrx driver for your current installed kernel.

Then you must configure Xorg. I followed this steps:

aticonfig --initial=dual-head --screen-layout=horizontal

After this I just started X and it worked perfectly. I mean, I had horizontal BigDesktop, fast 2D rendering, 3D, XVideo overlay on both displays and suspend is working like a charm.

The only problem left is that my second display has a bigger resolution that the main one. However, the ATI driver sets the second display to the same resolution as the first.

To work around this problem I just had to manually edit /etc/X11/xorg.conf and add at the Section "Device" this:

    Option "Mode2" "1680x1050" 

Replace the resolution with the native resolution of your second display. Restart X and BANG, it should work :)

Hope that this instructions can help you somehow.

OpenSSL what?

Published at Wed 14 May, 2008 02:40 | Permalink Permalink | Comments Comments (2) | Trackbacks Trackbacks (0)

This is not good news….

$ ssh-vulnkey 
COMPROMISED: 2048 b0:39:fe:46:51:0f:6b:87:24:db:af:c0:fa:d7:63:d3

and this is only my laptop…. I’m (we’re?) screwed…

Continuing the stats gathering, I now suggest another metric: the Virtual Richard Stallman that “analyzes the set of currently-installed packages on a Debian-based system, and reports all of the packages from the non-free tree which are currently installed.”

Laptop (Ubuntu Hardy)

$ vrms 

fglrx-control             Control panel for the ATI graphics accelerators
human-icon-theme          Human Icon theme
linux-generic             Complete Generic Linux kernel
linux-restricted-modules- Non-free Linux 2.6.24 modules on x86/x86_64
linux-restricted-modules- Non-free Linux 2.6.24 modules on x86/x86_64
linux-restricted-modules- Non-free Linux 2.6.24 modules on x86/x86_64
linux-restricted-modules- Non-free Linux 2.6.24 modules on x86/x86_64
linux-restricted-modules- Non-free Linux 2.6.24 modules helper script
linux-restricted-modules- Restricted Linux modules for generic kernels
skype                     Skype - Take a deep breath
sun-java6-bin             Sun Java(TM) Runtime Environment (JRE) 6 (architecture
sun-java6-jdk             Sun Java(TM) Development Kit (JDK) 6
sun-java6-jre             Sun Java(TM) Runtime Environment (JRE) 6 (architecture
tangerine-icon-theme      Tangerine Icon theme
unrar                     Unarchiver for .rar files (non-free version)
vodafone-mobile-connect-c Vodafone 3G devices Internet connection assistant
xorg-driver-fglrx         Video driver for ATI graphics accelerators

  18 non-free packages, 1.1% of 1586 installed packages.

It’s an Ubuntu machine

Desktop (Debian Unstable)

$ vrms
No non-free packages installed on nox.local! rms would be proud.

I am proud too :-)

/etc/papersize

Published at Tue 19 February, 2008 15:39 | Permalink Permalink | Comments Comments (1) | Trackbacks Trackbacks (0)

Have you spent years of your live wondering why your Debian GNU/Linux distro keeps trying to do all print jobs with “letter” size?

Discover the mighty and wonderful /etc/papersize!

# man papersize

# echo a4 > /etc/papersize

If only all my problems were so simple to resolve…

About

photo of Ruben Fonseca

My name is Ruben Fonseca. I'm a Computer Science and Systems Engineer from Portugal that loves FLOSS.

I'm currently taking some time off to myself, but feel free to contact me anytime at or via LinkedIn:

View Ruben Fonseca's profile on LinkedIn

Feeds

Social

Follow rubenfonseca on Twitter