Wednesday, November 05, 2008

Getting started with Android on Neo FreeRunner

Getting ready for Android

  • The sd-card: The android want a sd card placed into the Neo FreeRunner before it will successful start. The sd card also has to be configured with 2 partitions. The first may be fat32 or ext3, but may not be bigger than 256mb. (Edit: Some people has already stated it work with a bigger partition) The second partition has to be ext3. The first partition will be used for storage for music/pictures/movies/... The second will be used for storing settings and for cache.

    These partition should preferable be empty, because the Android can stop booting if he finds certain files in one of the two partitions. (That gave the early people who tried running Android a headache. After hours of trying and chatting on the openmoko channel, we finally figured it out.

    If you follow these instruction on the wiki for partitioning and formatting your sd card, Android should boot.

  • The SIM card: Firstly you will have to disable PIN security on your SIM card. (You will have to disable it with another phone, because there is no distribution for the FreeRunner that allow you to disable PIN security) (Edit: Apparantly you can disable PIN security in Qt extended) If you don't do this, Android will ask you to type your PIN on boot. That's no problem, because you get an onscreen keypad for typing your PIN, but even if you type the correct PIN code, the android will tell you otherwise. So you will not get past that screen.

    Also you need a working SIM card in the FreeRunner, before Android will start. On the other hand, there are already people confirming they can start the android without SIM card. Though there are also people confirming they need a SIM card, before the Android will start. So if you want to try Android, you have more chance for letting it work if you insert a working SIM card.

  • Power: Make sure your battery is not empty. I just say this, because you can't tell the difference between a booting Android and a Neo FreeRunner that has an empty battery. They have both black screens.

  • U-boot: Normally it should be no problem for booting Android with an older bootloader. Though if you don't get your Android working, maybe try upgrading your u-boot to the newest version.
Installing Android
  • Download the Android images made by Sean McNeil
  • Flash them using Dfu-util or the easier Neotool. It is at the moment not possible for putting the Android on a SD card. So you will have to overwrite the distro that's located on your Nand memory.
Now you will be able to boot the Android. Just boot by pressing the power button and wait. First you will have a black screen for a minute or two and then the icon of Android will appear. After another minute, you will see the home screen.

Configuring Android
  • Disable screen timeout: If you don't disable the screen timeout, Android will go into suspend after a minute. The problem is, you will not get Android out of suspend, so you should better disable it. You can do that by scrolling the main button up, than click on the icon 'settings'. Than click on 'Sound & Display', than scroll down and push 'Screen timeout' and choose 'Never timeout'.
Navigating Android
  • The aux button is the back button. So if you want to leave some part of the system, you will have to press the aux button.
  • The power button (if you press it shortly) is the menu button. This will give you extra buttons for doing various things. (like customizing)
  • The power button (if you hold it for 2 second) will lock the screen. I don't get it out of this state without rebooting.
  • The power button (if you hold it for 4 second) will give you the closing menu. This will let you shutdown Android or choose silent mode.
  • The power button (if you hold it for 10 seconds) will shutdown android.
What's working?
  • The GUI: The graphical interface of Android is totally working. There are some glitches with transparency, but it's still very usable. Also the GUI seems to respond very fast.
  • Calling: Some people are saying they can place outgoing calls, but that's not the majority of the people trying the Android. (And the sound isn't loud enough for understanding eachother) With my Neo FreeRunner I always get 'No SIM card' and can't call other people. Also nobody has already archieved to attend incoming calls.
  • SMS: You will not be able to send SMS, because there is no onscreen keyboard and that will probably not change very soon. Although Google has already announced they would make one in the first quarter of 2009, maybe somebody of the community can make an onscreen keyboard in the meanwhile. I also don't have read about someone receiving SMS. (Edit: Some people have claimed they can receive SMS)
  • WIFI/GPS/...: The hardware specific code isn't fully ported yet, so these services will not work now. But Sean McNeil and other people are still busy with porting the Android. So maybe soon.
  • Batterly life: Because the Android can't go out of suspend, we have configured Android to not to suspend. So battery life will suck. I had a battery life of 6 hours yesterday. But this will most lickely become better.
Edit: I've added some remarks that were in the comments of this blogpost. Thanks Ceci and Tobias, I appreciate it.

24 reacties:

Tobias said...

Hi,

This is not true: "The first may be fat32 or ext3, but may not be bigger than 256mb."
I have Android working with a 4GB SD card with 2 partitions: 1 FAT with 3.5GB and and 1 ext3 with 512MB.

cece said...

I think that with qtopia/qtextended, you can set/unset PIN security on the neo

cece said...

buttons :
- yes, power button quickly pressed is menu button
- power button hold 2 seconds locks the screen (if screen lock pattern is activated)
- power button hold about 4 seconds asks for either shutdown or silent mode

And I could correctly receive a sms.
It even was "sleeping" when I did I think (screen off do not know if it was suspended). But I hardly ever can resume from suspend so deactivated it now. (did work some times though...)

Brankz said...

Thanks for the comments ;)
I've already changed the post a little bit, so everybody knows the current state.

Max said...

FSO according to http://git.freesmartphone.org/?p=specs.git;a=blob_plain;f=html/org.freesmartphone.GSM.SIM.html;hb=HEAD#SetAuthCodeRequired also has method to deactivate PIN security

cc said...

Hi,
In my experience - the interface is neat and fast. The video breaks up slightly when selecting drop down lists etc. But its very much usable. I can make calls, receive calls and receive sms's. Of course it wont last long on the battery with no suspend - but that should be a kernel issue and hopefully get resolved fast enough.
The volume is low - but there seems to be little echo and the phone is quite usable as a phone too.
Now If only a keyboard existed and the resume starts working !

chaos said...

i diabled the sim-pin and flashed the image and the kernel into the phone and really, it works!

i can make calls and receive calls
it's also possible to receive sms

wifi and bt doesn't work

but the two biggest problems are:

no on-screen keyboard and the suspend mode isn't working(blank screen) but the funny thing is that i can call myself and the telefon rings (free line signal), but the phone doesn't ring, no vibrate and i can't accept any call in suspend mode!

and the last thing is that sim contacts can't be loaded!

i found some interessting on-screen keyboard links:
http://www.swypeinc.com/

and

http://it029000.massey.ac.nz/vogue/

the last link is a android to htc vogue port

greets

cece said...

SIM contacts import worked for me.
I think it was through menu called in contacts application.

drac2000 said...

The driver .inf for windows doesn't seem to work.
I only use it at work just to give some power to the FR

Beside that, I just love it :-)

signine said...

Check out the xda-developers work on the Android port to the HTC Touch. They've got a couple of onscreen keyboards for texting.

Brankz said...

@signine: Can you please give me the direct link to the working onscreen keyboard. I have tried several, but no onscreen keyboard that work.

Also I've read that it is impossible for now, for making such a keyboard. The android has no way to send fake keyboard presses to other application. That's for security, so other application cannot send keystrokes to other applications.

Vasili Sviridov said...

I just get black screen (with backlight, and USB networking is seen in the host's dmesg) :(

Running latest uboot, and SD is partitioned...

Blazor said...

same problem as vasili's, here...

jceresini said...

I was unable to get adb to work to install, connect, anything. has anybody had any luck with that? if so can someone post some details about how to do so


also, i was wondering if anyone had tried this onscreen keyboard or if anyone knows how i can get it installed
http://groups.google.com/group/android-dotphone

tef said...

that work! thank you.
Go for test :)

@jceresini: i will try for the keyboard. maybe with a real keyboard and mini-usb adapt?

Shawn said...

Did anyone get browser work? I try to launch the browser but it always start and suddenly close. I use the adb logcat and the log is "Process com.android.browser (pid 959) has died". Do anyone know what's the problem? And is there any data connection supported except usb. Thanks!

Sjors said...

I managed to get Android running on the Freerunner.

Same problem as Shawn: browser starts and exits.

Same problem as jceresini: adb doesn't do anything:

./adb devices
Returns "List of devices attached".

./adb -d shell
Returns: "error: device not found"

I can do:
sudo ifconfig usb0 192.168.0.200 netmask 255.255.255.0
ssh root@192.168.0.200 but then it asks me for a password that I don't know

I was able to receive an sms message, but it was empty.

It does seem to have access to the Internet via USB, because the music player manages to fetch album pictures of some of my mp3 songs.

Keep up the good work!

Sjors

Shawn said...

In my experience, before using adb you should make sure if there is any previous adb-fork-server running. Try "ps aux | grep adb" and kill the process. Then "ifconfig usb0 192.168.0.x" (ex:192.168.0.100). Finally, "ADBHOST=192.168.0.202 ./adb shell". Then you should be into the shell. Good luck!

Sjors said...

$ ps aux | grep adb
sjors 3786 0.0 0.0 19764 1076 ? Sl Nov10 0:16 adb fork-server server
sjors 17834 0.0 0.0 5168 848 pts/0 S+ 16:05 0:00 grep adb

$ kill 3786

$ sudo ifconfig usb0 192.168.0.100

$ ADBHOST=192.168.0.202 ./adb shell
* daemon not running. starting it now *
* daemon started successfully *
error: device not found

Dave Arnold said...

Greetings all,

Our company is in the prototyping stages on getting Android applications working on the Neo Freerunner. We are depending on the fact that Android will work on the Neo Freerunner or else we cannot use Android. We have considerable time invested in Android and we need to know if there is a chance that the Android port to Freerunner is in anyway at risk. When can we expect a solid/stable Android on Freerunner port? I attempted to test Android on a Freerunner I was recently sent, but found that Sam McNeil removed the androidfs.jffs2 image due to licensing issues. Also, Koolu.com has pushed back the date for Android on the Freerunner. What is the risk? When can we expect a solid port of Android on the Freerunner.

Thank you very much,

Dave Arnold
Future Concepts

Vasili Sviridov said...

I hope it's not going to turn into one of those scenarios: "We've ported it, as a proof of concept. It works, but it's missing 10% of crucial functionality that makes it usable, but hey... it's ported, right?" Ticked off the check box and moved on with something else.

Vasili Sviridov said...

does anyone has any instructions on how to remove it? I can't flash anything else now... I always get "alternate xxx not found".

oy said...
This post has been removed by a blog administrator.
lady said...

I like the side of the article, and very like your blog, to write well and hope to continue their efforts, we can see more of your articles. ed hardy clothes. After reading this article has strong feelings, the future will be ed hardy womens longsleeve.ed hardy longsleeve
ed hardy hoodies
ed hardy jeans
ed hardy
ed hardy clothing
ed hardy t-shirts
cheap ed hardy clothing
ed-hardy.co.uk
ed hardy shirts
wholesale ed hardy clothing
ed hardy outerwear
ed hardy mens outerwear
ed hardy womens outerwear
ed hardy clothes
ed hardy boots
ed hardy outerwear
ed hardy hoodies
ed hardy Jeans
ed hardy hoodies
ed hardy jackets
ed hardy womens jackets
ed hardy mens jackets
ed hardy bags
ed hardy trousers
ed hardy shoes
ed hardy longsleeve
ed hardy mens longsleeve
ed hardy womens longsleeve
ed hardy jackets
ed hardy suits
ed hardy clothing
ed hardy shoes
ed hardy jeans
ed hardy boots
ed hardy mens sweater
ed hardy womens cotton
ed hardy womens boots
ed hardy
ed hardy womens clothing