maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Alternatives (https://talk.maemo.org/forumdisplay.php?f=36)
-   -   [Android] Another Android port: NITdroid (https://talk.maemo.org/showthread.php?t=25410)

costin 2008-12-24 04:21

Re: Another Android port: NITdroid
 
After few more hours of playing with 770 - most apps work, the browser is the exception, if I start it - it all dies. Can't see what's going on since adb is dead long before. It may be worth disabling the OOM handler, or changing the settings in init.rc. Most of the times I do 'ps' and adb just breaks in the middle.

Next thing I'll try is change init.rc to not start anything except adb, so I can figure out bluetooth. hciconfig complains about firmware not found, and I'm sure it's in the normal partition. Pan is probably easiest to setup in a script, and if it works it'll provide an alternative connection path.

It doesn't seem much slower than the G1, and the screen size makes up for it.

Chinpokomon 2008-12-24 08:00

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by costin (Post 252192)
After few more hours of playing with 770 - most apps work, the browser is the exception, if I start it - it all dies.

I spent a little more time on this tonight. I installed busybox:
Code:

# mkdir /data/busybox
# /nit/bin/busybox --install

I then modified my /init.rc to include this directory in my path. I put it at the end, so the system/bin files get picked up first, but if there was something missing, it no longer causes me as much grief.

The flash card I'm using had 4 partitions: 1 vfat, and 3 ext2. As per installation instructions, I reformated one of the partitions as ext3. I think this should be reconsidered. Ext3 partitions are not ideally suited for flash drives at all, since the journal is busy doing its thing.

I also cleared the 4th partition and made it swap. This is not suited for flash drives either, but I am overlooking that for the moment since this device is memory constrained. I added to the end of the boot section of init.rc, swapon -a, and added the swap partition to an /etc/fstab file. Swap is now on as clearly evidenced by cat /proc/swaps, but that doesn't prevent all lockups. I tried to initially create it as a swapfile in /sdcard/swap/swap.img, or thought I might be able to create a swapfile on a yaffs2 partition to make the wear a little more level, and although I was able to create the file there, swapon wouldn't mount it.

Code:

# free
              total        used        free      shared      buffers
  Mem:        61208        56400        4808            0          360
 Swap:      383992        21312      362680
Total:      445200        77712      367488

I don't think this is the biggest contributor to stability for me. What seems to have worked was disabling animations, limiting the system to Max 1 App Process, and Immediately Destroying Activities in the Development Settings screen.

The browser doesn't seem to be a problem for me, which is why I quoted costin in the first place. I do not have any (repeatable) problems. I can start the browser and view the "page cannot be found" screen. Unfortunately because the 770 doesn't have wifi yet I don't have a way to really test this... tunneling over USB maybe? ADB has a ppp command, but I can't really figure out what I'm supposed to do there. Of Linux, GPRS Phones, Serial Cable, Irda, Bluetooth and USB looks promising, but the USB connection is going the wrong way. For some reason, it seems everyone wants to connect their PCs to their Cell Phone radio stack and not the other way around. :)

I have experienced lockups, but after the aforementioned changes, most things have improved significantly and I can't say it is a result of doing X or Y. When I can't get ADB to connect to the device anymore, it is usually because the USB port on my PC is somehow messed up; use the following to fix it:
Code:

$ sudo modprobe -vr ehci_hcd && sudo modprobe -v ehci_hcd

rasmithuk 2008-12-25 10:08

Re: Another Android port: NITdroid
 
I'm not sure if this is the right place to report this but I think the touch screen pressure code is backwards (or google picked an odd way to represent it).
If you go to 'Dev Tools' > 'Pointer Location' the current pressure is displayed at the top of the screen. Now I'm assuming that this is scaled from 0 to 1 with 1 being as higher force as possible. However on my n800 the harder I push the closer to 0 the value goes.
This does explain why the on-screen keyboard is a bit odd to use with multiple key presses being detected for no reason. I'm guessing the pressure calibration code still needs tweaking.

solca 2008-12-25 20:44

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by Bundyo (Post 251947)
And while we are at it - Solca, can you get these two files in the next userspace? :) omap-keypad.kl and omap-keypad.kcm.bin are just a copy of the n8x0 ones. You can probably symlink them too.

kcm files are not needed for the N700/N800 keypad, they are used for letter variations and these keypad lacks letters... if it loads the default qwerty.kcm.bin that's correct, as for the omap-keypad.kl file it is included now in my working copy and will appear in the next NITdroid release but a complete evtest output on N700 will be useful to determine if exactly the same keycodes apply. Thx!.

Quote:

Originally Posted by Chinpokomon (Post 252220)
As per installation instructions, I reformated one of the partitions as ext3. I think this should be reconsidered. Ext3 partitions are not ideally suited for flash drives at all, since the journal is busy doing its thing.

That's true for MTD devices but not for MMC/SD cards that do hardware wear leveling, in fact EXT3 with noatime option (as NITdroid do) is fine and is much better than the default FAT partitions (which have fixed locations for the file allocation tables) and even FAT is not remotely a problem on MMC/SD cards.

But the opposite as per your suggestion, using flash filesystems (YAFFSx, JFFSx, UBI, etc.) on wear leveling devices can be slow, useless and maybe harmful if it happens that the hardware wear leveling is invalidated by the software filesystem wear leveling.

Quote:

Originally Posted by rasmithuk (Post 252465)
I'm not sure if this is the right place to report this but I think the touch screen pressure code is backwards (or google picked an odd way to represent it).
If you go to 'Dev Tools' > 'Pointer Location' the current pressure is displayed at the top of the screen. Now I'm assuming that this is scaled from 0 to 1 with 1 being as higher force as possible. However on my n800 the harder I push the closer to 0 the value goes.
This does explain why the on-screen keyboard is a bit odd to use with multiple key presses being detected for no reason. I'm guessing the pressure calibration code still needs tweaking.

That's an interesting discovery, I'm looking into integrating tslib for the next release and use the calibration data used in Maemo for this, can this be helpful?

(BTW next release is near... ;) )

Bundyo 2008-12-25 20:59

Re: Another Android port: NITdroid
 
Solca, i managed to compile cx3110x for the new kernel but the device hangs on loading it... Where should i put the firmware and could you include support for it in libhardware? umac.ko should be loaded first and cx3110x.ko after it, but i'm not sure when and how the firmware should be loaded. I can send you the modules and the firmwares are located in initfs in

/usr/lib/hotplug/firmware

(should be the same place for you) along with brf6150 firmware (which is the bluetooth chip in 770).

The firmware for the wifi chip is 3825.arm, for bluetooth is brf6150fw.bin.

solca 2008-12-25 21:55

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by Bundyo (Post 252549)
Solca, i managed to compile cx3110x for the new kernel but the device hangs on loading it... Where should i put the firmware and could you include support for it in libhardware? umac.ko should be loaded first and cx3110x.ko after it, but i'm not sure when and how the firmware should be loaded. I can send you the modules and the firmwares are located in initfs in

/usr/lib/hotplug/firmware

(should be the same place for you) along with brf6150 firmware (which is the bluetooth chip in 770).

The firmware for the wifi chip is 3825.arm, for bluetooth is brf6150fw.bin.

That's pretty cool!

In the stlc45xx.ko case the firmware is loaded when the interface is bringed up (netcfg wlan0 up), firmware are loaded in Linux kernels by the hotplug mechanism that in Android is handled by init, firmware in Android must be placed in /etc/firmware but that is already handled by NITdroid with a symlink to initfs' /usr/lib/hotplug/firmware so I'm pretty sure in your case it must be something else.

chyang 2008-12-26 00:42

Re: Another Android port: NITdroid
 
Is there some one looking at the rtc issue? It seems that the clock in the statusbar cannot be updated correctly.

cyrus 2008-12-26 20:35

Re: Another Android port: NITdroid
 
solca:

In your post above you said next release is near...can you give us a quick teaser of what might be in this release?

thanks for all your hard work.

solca 2008-12-28 04:37

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by cyrus (Post 252687)
solca:

In your post above you said next release is near...can you give us a quick teaser of what might be in this release?

thanks for all your hard work.

First merry Xmas and happy holidays to all, sorry for being absent, I have been "forced" :mad: to be AFK, hopefully I'll finish the next release RSN.

For this release is better power management, working clock, fix (again) wifi scanning, size reductions to please Bundyo and N770 tablets, some speed improvements, final 2.6.28 kernel, Android compiled for MID policy instead of phone policy, a new option in the power button menu to boot to Maemo and the last thing (which I'm working right now) is the browser cookies thing.

EDIT: Too, it must include all the hard work from Bundyo for N770/N800 tablets.

cyrus 2008-12-28 05:00

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by solca (Post 252937)
First merry Xmas and happy holidays to all, sorry for being absent, I have been "forced" :mad: to be AFK, hopefully I'll finish the next release RSN.

For this release is better power management, working clock, fix (again) wifi scanning, size reductions to please Bundyo and N770 tablets, some speed improvements, final 2.6.28 kernel, Android compiled for MID policy instead of phone policy, a new option in the power button menu to boot to Maemo and the last thing (which I'm working right now) is the browser cookies thing.

EDIT: Too, it must include all the hard work from Bundyo for N770/N800 tablets.

Awesome man. Amazing how you can do all this stuff. I have tried but it is way above my computer knowledge. Any plans for sound? Or is that pretty difficult to implement?


All times are GMT. The time now is 07:14.

vBulletin® Version 3.8.8