It’s the season of gift giving. Did you get anything interesting/hackable? What will you work on next?
We gave ourselves an Android Dev Phone 1 (ADP1). We hadn’t really considered getting a G1 until the ADP1 was announced… It’s actually a lot of fun to use as our primary phone. Our favorite app so far is connectbot, the SSH client. The interface is really smart, way better than all of the iPhone clients.
What did you get?
In our Dev Phone 1 excitement last week, we somehow overlooked phoneWreck’s teardown of the T-Mobile G1. The complex slider mechanism is certainly worth looking out. One of the major oddities they point out is the inclusion of two vibration motors. One is mounted next to the SIM on the mainboard. While the other is mounted in the frame next to the earpiece. We wonder what was gained/solved by using two. The phone also includes a digital compass module. We’d like a more detailed explanation of how the Xilinx CPLD is used. From this article in 2006, it seems HTC uses them to generate custom clock signals and switching off devices for power management.
While working towards open-sourcing Android, the team continued to work on new features in their own private development branch. These have now been published publicly in the “cupcake” branch. There’s a lot of interesting new features and bug fixes included. We’ve got a rundown of many of the significant additions after the break.
Continue reading “Android adds A2DP, AVRCP Bluetooth and more”
Google has new program to sell Android phones directly to developers. The Android Dev Phone 1 is both SIM-unlocked and hardware-unlocked. SIM-unlocked means you can use it on any GSM carrier you want. Hardware-unlocked means you can run any system you want on the phone, not just officially signed ones. No more need to worry about security patches taking away your root access.
The device is $399. You will need to purchase it through the Android Market as a registered developer (a $25 fee). We wonder how long before the unsigned bootloader starts getting flashed to T-Mobile phones.
Two new Android phones have surfaced recently which may prove just as friendly: the Kogan Agora Pro and the QiGi i6.
UPDATE: While shipping is free in US, it is incredibly expensive everywhere else. Yes, we bought one.
Google has been trickling out info about what they’re actually fixing in the G1 firmware updates. Before RC29, users were able to bypass the phone lock using safe mode. RC29 also brought WebKit up to date, presumably patching the bug [Charlie Miller] found. RC30 takes care of root console problem. Unfortunately there are very few details as to what or how particular items were broken. This release method leaves much to be desired; having the official Android Security Announcements group be the absolute last place to get security news is asinine.
[Jay Freeman] has a rather exhaustive tutorial on how to set up a Debian environment on your T-Mobile G1. The first major issue with this is that getting root level access through telnetd is being patched. It certainly is a security issue that needs to be fixed, but a user shouldn’t have to root their own phone to begin with. While the G1 comes with some Linux tools, they’re limited. [Jay]’s goal was to create a familiar Debian environment on the phone. It takes a few tricks, but if you’re familiar with the command line, you shouldn’t have any problems. Debian already has ARM EABI support, so creating a working image isn’t a problem. The image file is stored on the SD card and mounted using the loopback device. The G1’s kernel has module support turned on, so [Jay] created an ext2 and unionfs kernel modules. [Benno Leslie]’s Android version of busybox is used to perform the actual mounting. Once mounted, you just need to chroot into the environment to start playing with native Linux apps. [Jay] takes this a step further by using unionfs to make the Android and Debian environments share the same root. This is really a great how-to and it’s nice to know that modules can be added to the kernel.
The G1 ‘execute every command you type‘ bug naturally spawned ‘rm -rf /’ jokes. rm is the Linux command for deleting files. The -r and -f flags will cause it to remove files recursively and ignore confirmation. Executed as root it will annihilate the entire filesystem. Won’t it? [Jon Hohle] decided to test exactly how destructive the command was to *nix systems. How functional would the system be afterwards? He tested it side by side with the Windows equivalent, both ‘format c:’ and ‘del /F /S /Q’. He wanted to see what protections were available and what would be left working. Linux ended up completely broken while Windows, thanks to file locking, actually shutdown cleanly… and never came back. Some OSes, like Solaris, refuse to run the command ‘rm -rf /’ to prevent accidents.