Monday, 30 August 2010

Axdroid 2010-08-30

Oh my...
Axdroid 2010-08-31 release 2, get it whilst it's hot.
Axdroid 2010-08-31, get it whilst it's hot.
Axdroid 2010-08-30 release 2, get it whilst it's hot.
Axdroid 2010-08-30, get it whilst it's hot.

So, there's nothing major in here, but I figured I'd update everyone with the current build.

Changes I can remember:

  • Android should actually fit on the screen properly for QVGA devices.
  • Back/menu keys swapped, so that back is on the end. It just seems right.
  • The menu key will now actually let you use the unlock screen. I'm still unsure about it, it seems pointless for Axims since they have a lock switch. Anyway, thanks to Danilo Riso for figuring this one out.
  • QVGA setup on X51 hopefully fixed, thanks Max for the updated pixclock value.
  • Tweaked some kernel config options etc, perhaps (hopefully) slightly faster.
  • EDIT: hopefully fixed the touchscreen for the X50, and hopefully didn't break any X51s. If you happened to download the first release, please try out the second. It would be great if people would run this tool and let me know what it outputs and which device they ran it on.

About my previous post: yes, it refers to WiFi, which I have been working on for the past couple of days. I've figured out how to power WiFI on/off, and added some Axim-specific code to the code from the acx100 driver project. The driver is able to load firmware and communicate with the acx100 successfully. My work on it is in this build, and you can turn WiFi on/off in the settings (usually, it's kinda flaky). However, it scans but never finds any networks. I'll need to find more time to look into it. Hopefully soon, we'll have WiFi working and Axdroid might even become useful :)


39 comments:

owo said...

thanks for all your work!

my axim at times freezes for minutes, and only after i press the volume up/down "wifi button" will it unfreeze. Is this normal or is there anything I can do to make it a bit faster.

Max Fierke said...

lcddetect on X51:

Cached: 1
FPGA: 3.5" Sharp(1)
AximSDK: 3.5 TFT Sharp

Ulisses said...

lcddetect on X51v:

Cached: 2
FPGA: 3.7" Sharp (0)
AximSDK: 3.7 TFT Sharp

Paul Burton said...

owo: One thing that does happen is that Android would normally switch off the screen after a while, and it seems when it tries to do that (and fails because I've not handled power management yet) you then have to press some button to bring it back to life. Is it definitely only the volume buttons that work? In terms of speed I find that what's limiting me right now is my SD card... Using the internal flash is the ultimate aim, but until that happens all I can suggest is use the fastest SD card you can.

Max: Thanks, that basically does the same thing as I did in the kernel to detect the LCD, but also shows what Dell's AximSDK.dll claims to check it got it right. I'm hoping it's a clear cut 1=X51, 3=X50, 0=X51v (still haven't seen anyone try it on an X50v, but 2 would make sense).

Ulisses: Thanks, 0 matches what I get from my X51v :) It's odd the cached value was wrong, actually perhaps the cache location changes between ROMs so won't be right for everyone. Oh well, AximSDK.dll agreed with me and that's what matters :)

owo said...

maybe I haven't tried it enough times, but it seems like only the volume buttons give a response (the ringer volume up) whereas the other buttons may have too slow a response for me to notice.

lcd_detect on X51v:

Cached: 2
FPGA: 3.7" Sharp (0)
AximSDK: 3.7 TFT Sharp

piterman said...

I have an error message when i run haret "mount: mounting /dev/block/mmcblk0pl on /sdcard failed: No such file or directory"
Previous versions was working fine but not the latest...

piterman said...
This comment has been removed by the author.
Nic said...

I also got the mmcblk0p1 error using the image, built my own and it boots fine :s

I've also been unsuccessful with the wifi driver :( first error was because the RADIO0d.BIN image you're hosting appears to be slightly corrupt, using the one from the prebuilt image fixed the error. Sadly I still can't get wifi to load, I have a dmesg log and it appears that it's some sort of memory problem (the line just before a backtrace is: <4>[ 423.624493] WifiService: page allocation failure. order:4, mode:0xd0).

Ulisses said...

I also got the mmcblk0p1 error using both images.

Paul Burton said...

Hmm, and you guys are using regular old FAT formatted SD cards? I did change the MCI power code (well, implemented it) recently... Could you try http://www.paulburton.eu/project/axdroid/axdroid_20100831_rel.zip and see if it fares any better? If it doesn't it should at least show if any mmc dev nodes are created at all.

Nic: are you using the latest kernel source? The FW isn't corrupt, it's just that the driver doesn't seem to like any version other than 1.10.7.K (which is what the hx4700 uses and therefore I assume what gets tested). If you switch to that version you should see the same as in my builds. I've also seen the page allocation failure from time to time... like I said, it's a little flakey :)

Paul Burton said...

Make that http://www.paulburton.eu/project/axdroid/axdroid_20100831_rel2.zip ...

Max Fierke said...
This comment has been removed by the author.
Ulisses said...

Axdroid 2010-08-31 release 2 boots fine on my axim x51v. I'm trying to get more information about the wifi through *#*#232339#*#* code. I think it runs faster than the previously releases.

Paul Burton said...

Max: todays two builds were both purely attempts to address the SD issue. Apparently the second worked :) I'll update the kernel git soon, but basically it seems the MCI controller needs to remain powered on through early boot or some cards get upset and throw a wobbly...

Fergus said...

X50v I'll try, as soon as I figure how to backup my re-install, from the last time. FWIW the OLPC images install to nand flash.

Fergus said...

Axim X50v
Cached:2
FPGA:3.7" Sharp(0)
AximSDK:0" Unknown

Home Screen
21:18
Tuesday ,Jan 4 Connect your charger
Mail Button goes to Home screen.
WM2003se reset back to 1999 installation gone

Enrico EM. said...

tried with x50V: no touchscreen recognized/enabled.

I confirm the value indicated from Fergus for the LCD type.

toudi said...

keep up the great work! :)
you dont even know how many are there lurking in the shadows to grab that latest release of yours :)

Jasiri said...

lcd_detect tells me this about my X50v:

Cached: 2
FPGA: 3.7" Sharp (0)
AximSDK: 3.7 TFT Sharp

I use Windows Mobile 6.5 on it, perhaps that's why I'm getting a different result than the others.

Sadly, though, while Android boots (sloowly...), I can't seem to use it since no touch inputs are registered. Perhaps I was too impatient, but it just didn't do anything even after waiting for some time. I'll just have to wait :)

Jasiri said...

Alright... so it is indeed working, but I have to wait for several seconds up to minutes anytime I decide to tap the screen. Plus it seems kind of misaligned which doesn't make things easier. Can't really confirm that yet, though.

Say, even if a wifi scan doesn't give you results, is it possible to enter the channel, SSID and name of the network and then having it connect?

Jasiri said...

Sorry for the comment flood, but I just remembered something :)

Before android was even heard of, the guys at handhelds.org were trying to port Linux over to the Android. This worked about as much as your effort. I think they even got Bluetooth working in the end, but they had the same problems with the touchscreen - it was misaligned, essentially "tilted" 90° to the left.

It is the exact same I was experiencing now. If I want to use the search box, I have to click the right side of the screen. If I want to access the buttons on the lower side, I have to click the middle of the left side. I think they fixed it in the end, but it's been years since my last using the port, so I'm not sure. Essentially, all coordinates are just read wrong. Maybe you'll find something on their mailing list? (http://www.handhelds.org/hypermail/aximx50-port/current/)

Paul Burton said...

Jaziri: thanks, looks like the X50v has the same type of screen as the X51v, so I can't use that to figure out which it is (which is why the touchscreen doesn't work, X50 is hooked up differently to X51). I'll have to come up with some other way to detect which device we're running on. The handhelds.org port (which was Linux, but not Android) is what Axdroid began with, but I've developed it further since. For example, they didn't have audio, 2700g setup & RAM, power controls for SD/USB, had to have separate builds for each device due to LCD setup etc etc.

Paul Burton said...

Thought I'd share a glimpse at what I've just been working on, this is from the kernel log on my X51v:

[ 160.577899] Detected machine: X51v (0x11)

and on an X50 low:

[ 43.966928] Detected machine: X50 (0x00)

Isn't that exciting :D It means the touchscreen should work for _everybody_ in the next build.

Natestera said...

Sorry, relative n00b here with an old X51. The screen goes white and seems to stay that way after bootloader starts...

Using a 1G SanDisk card.

Max Fierke said...

Natestera: X51 support is broken right now.

Paul: My fixes seem to have disappeared from the Git repo. For X51 support, the QVGA pixclock needs to be 19230. The lccr0 value needs to be 0x01b008f9. It could be in macros also. I don't know where the LCCR0 macros are coming from but there's probably a way for them to equal that value. The LCCR3 value needs to be 0x04f00007. The X51 will not work without these exact values.

Paul Burton said...

Max: take a look at mach-pxa/include/mach/pxafb.h and the PXA270 developers manual if you want to see what the value means, and which bits should be left out.

I adjusted the lccr0 value earlier today, it is using the macros but matches your value (and that of the X50/type 1). Are you absolutely sure the pixclock needs to be that? In lccr3 the divider is set to 7 which is (pretty much) exactly the ratio between your pixclock and that of everything else. Does the current code in git definitely not work on the X51? (Please, try it before saying no)

Max Fierke said...

My X51 is refusing to charge (I think I may need a new battery) but I've compiled a debug build straight from Git:

http://axdroid.co.cc/builds/debug/axdroid_20100904_dbg.zip

Can anyone else with an X51 test this build and post if Android loads up successfully?

Max Fierke said...

After looking at the PXA270 developer's manual it does seem that the pixclock value should be 134615.

To be honest I had no knowledge of the PXA270 manual so I wasn't exactly sure what the LCCR0 and LCCR3 values meant, except that HaRET told me what they should be.

I really need to learn more about the PXA270. It's time to read all 1242 pages! :)

Paul Burton said...

Hah, I wouldn't recommend reading it front to back :P It's really useful when you spot a memory access to a register area though, as you can dump the WinCE memory map with HaRET, find the physical address and then look that up in the PXA manual.

Max Fierke said...

Unrelated note:

I made a new boot logo for fun. Tell me what you think:

http://maxfierke.com/graphicdesign/axdroid_bootlogoVGA.png

http://maxfierke.com/graphicdesign/axdroid_bootlogoQVGA.png

Natestera said...

It booted and finally get the UI...wow!!

It is veeeerrrryyy slooooow, but I guess that could be the SD card causing that? I am quite impressed! Any tips on speeding it up a bit? Should I reformat the card completely? What settings do you recommend when reformatting FAT?

Paul Burton said...

Max: It's prettier than my attempt at graphics :) Is it OK to put it in Git?

Natestera: Fantastic, LCD fixed :D One thing is that you're running a debug build (or a test build, I didn't check which that is) which will be a little slower than a release build. Although, don't expect the release to be speedy just yet :) SD is likely a source of slowness, all I can suggest is use the fastest card you have because it does make a difference. After work today I plan to spend some time looking at WiFi, and then the next major things on my list are the internal flash (twice, since X50 & X51 are different here) and power management.

Max Fierke said...

Paul: Yeah go ahead and put it in the Git.

Also, my X51 is slowly charging. I either need to buy a dock and not charge through the sync cable or I need to buy a new battery. If anyone has an extra dock, email me at max@maxfierke.com

Jorghe said...

I've a dell axim x51v
that's the output of the tool:

Cached: 2
FPGA: 3.7" Sharp (0)
AximSDK: 3.7 TFT Sharp

Tom Medhurst said...

Hi There,

I have a Dell Axim x50v, but when I boot axdroid_20100831_rel2.zip up, the touchscreen doesn't work.

lcd_detect shows:

Cached: 2
FPGA: 3.7" Sharp (0)
AximSDK: 3.7" TFT Sharp

Hope that helps?!
When is the fix planned to be released? Can't wait to start using it!! :D

Thanks,
Tom

Paul Burton said...

Try http://www.paulburton.eu/project/axdroid/axdroid_20100906_rel.zip :)

Robert said...

I have a X51 with LennySH's WM6.0 L03 Alpha 1 installed. I've tried various AxDroid releases and here's what I've noticed:

20100625: Locks up on load, gets to i2c lines and locks up

20100801: Loads into AxDroid, screen is distorted (pre-QVGA fix)

20100831r2: Gets to initial screen about "Loading Kernel" (before the Tux screen), then the screen progressively gets whiter and whiter with horizontal scanlines

20100906: Loads beautifully into AxDroid, correct aspect ratio. Touchscreen positioning is way off.

Dany said...

Hi Paul!i have dell axim x50.will this droid os work on it?(CPU5520MHz,RAM64MB) thanks

Dany said...
This comment has been removed by the author.