Reply
Thread Tools
coderus's Avatar
Posts: 3,792 | Thanked: 5,663 times | Joined on Nov 2011 @ Russia
#11
it will be nice. waiting for news
 

The Following User Says Thank You to coderus For This Useful Post:
Community Council | Posts: 2,340 | Thanked: 3,604 times | Joined on May 2012 @ Finland
#12
Finished first iteration

Just tested the sillyboot with evtap selection. Only problem now I see is I need to load up the correct device for the touchscreen in the preinit script.

The vibra device I can load up, and create the nodes for vibra and touchscreen, but what is the device for touchscreen:
Code:
modprobe vibra_spi
mknod /tmp/touchscreen c 13 67
mknod /tmp/vibra c 13 70
I can see the chip initialixation in syslog but there is no device atmel_mxt or something like that in /lib/modules;
Code:
[    0.241149] input: Atmel mXT Touchscreen as /devices/platform/i2c_omap.2/i2c-2/2-004b/input/input3
[    0.241424] atmel_mxt: Atmel mXT Touchscreen v1.6 (0x29b82f) var:0x1 bld:0xab
 

The Following User Says Thank You to juiceme For This Useful Post:
Community Council | Posts: 2,340 | Thanked: 3,604 times | Joined on May 2012 @ Finland
#13
Whooo now I found it.
This is just strange, why on earth is the module for touchscreen called "twl4030_pwrbutton" ?

I suppose the same device handles buttons and screen...
 

The Following 2 Users Say Thank You to juiceme For This Useful Post:
wook_sf's Avatar
Posts: 640 | Thanked: 413 times | Joined on Oct 2011 @ rajvoSa BA
#14
Originally Posted by juiceme View Post
Whooo now I found it.
This is just strange, why on earth is the module for touchscreen called "twl4030_pwrbutton" ?

I suppose the same device handles buttons and screen...
that's designed by nokia...don't be surprised if you find mic handles in vibra driver lol
__________________
~ # mv /usr/bin/smartsearch /usr/bin/stupidsearch
 

The Following User Says Thank You to wook_sf For This Useful Post:
Community Council | Posts: 2,340 | Thanked: 3,604 times | Joined on May 2012 @ Finland
#15
Allright!

Now the first version of sillyboot android/meego selection with touch input is ready for testing

Please see my svn repository at;
https://toosa.swagman.org/svn/sillykbd/TRUNK/

The touch/tap interface is "evtap" and the modified "/sbin/preinit" contains the code to interface to it.

Testers needed, so coderus, wook_sf, please have a go at it
 

The Following 2 Users Say Thank You to juiceme For This Useful Post:
Community Council | Posts: 2,340 | Thanked: 3,604 times | Joined on May 2012 @ Finland
#16
Allright, I added something to evtap that it was missing in the first place, now user can specify timeout for how long to wait for keytap (units in ms) before returning.

There is also an example script in the repository showing how to get the return value/timeout.

I did not yet have time to modify my /sbin/preinit to use the timeout value though, but the new evtap is compatible with the existing script.
Now it is possible to restore the previous way of having a timeout default boot in sillyboot using evtap interface.
 

The Following User Says Thank You to juiceme For This Useful Post:
Community Council | Posts: 2,340 | Thanked: 3,604 times | Joined on May 2012 @ Finland
#17
Updated the /sbin/preinit file to have the "original" display where images of android&meego are displayed on the screen and on the bottom there is the "graphical progress bar" showing the timeout. Selection is via the newest evtap with 200ms refresh period.

Feel free to test this in your N9, but remember the usual warnings: messing with boot sequence of any embedded device has to be done carefully.

Preconditions; You need to have nitdroid & sillyboot installed before updating the scripts.
 

The Following User Says Thank You to juiceme For This Useful Post:
wook_sf's Avatar
Posts: 640 | Thanked: 413 times | Joined on Oct 2011 @ rajvoSa BA
#18
nice, going to test it.
__________________
~ # mv /usr/bin/smartsearch /usr/bin/stupidsearch
 

The Following User Says Thank You to wook_sf For This Useful Post:
Community Council | Posts: 2,340 | Thanked: 3,604 times | Joined on May 2012 @ Finland
#19
Drew up some keyboard layouts for the frontend. Turned out that the easiest way to get something that is nice to look at was to grab a screenshot of landscape mode message editor and tune it up with gimp.

I have to go back on my previous claim that the touchscreen device is implemented in twl4030_pwrbutton module.
Actually it is built-in in the kernel and what confused me was just the different loading order of different modules I experimented with gave same contradictory results. It was quite difficult to try to create code that works on the bare bones of the device when you have to tweak something, boot it and see how it works. (and at the same time try to be careful to keep the device is such a state that it WILL boot and not brick )

However, after a lot of this I thought about it a bit, and decided to try to get the unit boot into single user mode. The problem is that N9 has neither keyboard nor serial port, but what I did was launch sshd with some tweaky parameters to listen on the USB/ETH connection.
This works quite nicely, and even though it is not really traditional "single user mode" as I am able to reconnect multiple times, it is close enough, I can halt the boot before init and tweak on the console as much as I please

So, it turns out that these devices are built-in;

Code:
(none)-21-3_PR_001:~# 
(none)-21-3_PR_001:~# ls -l /dev/input
total 0
crw-------    1 root     root       13,  64 Jan  1  1970 event0
crw-------    1 root     root       13,  65 Jan  1  1970 event1
crw-------    1 root     root       13,  66 Jan  1  1970 event2
crw-------    1 root     root       13,  67 Jan  1  1970 event3
(none)-21-3_PR_001:~# 
(none)-21-3_PR_001:~# 
(none)-21-3_PR_001:~# dmesg | grep input
[    0.159332] input: ECI Accessory as /devices/virtual/input/input0
[    0.227447] input: dfl61-twl4030 Jack as /devices/platform/soc-audio.0/sound/card0/input1
[    0.233795] input: gpio-keys as /devices/platform/gpio-keys/input/input2
[    0.241821] input: Atmel mXT Touchscreen as /devices/platform/i2c_omap.2/i2c-2/2-004b/input/input3
(none)-21-3_PR_001:~#


There is still something that bugs me about the vibration device, though.
When the mobile is running full up OS then I can access it via character device 13,69 (as /dev/input/event5 or whatever) but when I am in preinit phase the damn device produces nothing.

I have loaded the "vibra_spi" up with and without the keypad driver, and still, there is no vibra effect when I tickle it.
However, when I am runnin OS, the device tickles nicely.
What is going on here, is there some other module it depends on that needs to be loaded with it to make it work?
 

The Following 2 Users Say Thank You to juiceme For This Useful Post:
Community Council | Posts: 2,340 | Thanked: 3,604 times | Joined on May 2012 @ Finland
#20
Added handling of a map file to evtap.

How this works; The map file describes a set of rectangular locations on the screen by four coordinates, x1,y1,x2,y2 and an option what to output when a tap to the location is detected. The output is either a single character or an arbitary integer.

So, how this works, you can draw up icons on the screen and define the locations on the map file. Then based on the evtap output the calling script can execute different actions.

In my svn repository I added "simplemenu" directory where you can find out example mapfile and related bitmaps, this example shows three icons; terminal, android and meego meaning you can use it to boot the phone to either single-user sshd mode, nitdroid or meego.
 

The Following User Says Thank You to juiceme For This Useful Post:
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 15:16.