Need some help from panel 2 and panel 3 users. - Tilt, TyTN II, MDA Vario III Android Development

As some of you know the Vogue users don't need to chose panel on their kernels. It's autodetected. I'm convinced it can be autodetected on Kaiser aswell.
I have a panel 1 Kaiser myself but I need some panel2 and panel3 users to help me gather some data by running an experimental kernel.
You need the have the following qualifications:
- Have a Kaiser that runs Android
- Know for sure what panel setting your Kaiser needs.
- Know how to use a terminal emulator on your Android
Instructions
1. Use one of the attached kernels.
2. Open a terminal
3. Turn off the screen
4. Turn on the screen
5. Type dmesg
6. Look for the lines that starts with "GPIO" and report in this thread what they say.
All NBH's are non-tilt keyboard and 240x320 but you can of course hexedit them to fit your needs.
EDIT: New files attached!

I've got panel 3. Booting as we speak..
A question occurred to me during the boot. I'm using Haret with zImage btw.. U still want us to manually specify panel type in default.txt, right?

milanche said:
I've got panel 3. Booting as we speak..
A question occurred to me during the boot. I'm using Haret with zImage btw.. U still want us to manually specify panel type in default.txt, right?
Click to expand...
Click to collapse
Yes, the only difference with this version is that it reads some information and prints it to the log. It's not using the information in any way.

Ok. I get:
Code:
Unknown panel type r0=1, r1=1
Again - I've got panel 3. Hope it helps.

milanche said:
Ok. I get:
Code:
Unknown panel type r0=1, r1=1
Again. I've got panel 3. Hope it helps.
Click to expand...
Click to collapse
No, not really... Because I have panel 1 and I get the same numbers.
Then we'll have to dump more information, back to the source code...
I'm still interested in panel2 information although I expect the results will be the same.

Good luck man. You'll get my help, for sure.

milanche said:
Good luck man. You'll get my help, for sure.
Click to expand...
Click to collapse
Try the attached kernel. It should report a lot of unknown GPIO registers. I'll run the same on my Kaiser and we can compare the results and see if we find anything that is different.
EDIT: New kernel i first post, same as the one I removed here except it dumps 4 more GPIO's

so tell me how to find what panel the Kaiser is using ?

Panel type 2 here, and I got this.
Code:
[ 119,640131] Unknown panel type r0=1, r1=1

mr521427 said:
so tell me how to find what panel the Kaiser is using ?
Click to expand...
Click to collapse
If you are HaRET booting, look in default.txt (or startup.txt if you use that). If you are running NAND you should see it in the filename (unless you are using my custom kernel, then you need to use a hexeditor to see it). You can also see it on a running system if you open a terminal, power off display, power on, run dmesg (scroll up if necessary) and look for "mddi0_panel_power". It should tell you what type you are using.

Dukenukemx said:
Panel type 2 here, and I got this.
Code:
[ 119,640131] Unknown panel type r0=1, r1=1
Click to expand...
Click to collapse
Good, then at least we know for sure that those GPIO ports are useless for this purpose. If you are HaRET booting, please try the other zImage I posted. On mine Kaiser I got all zeros with it.

New zImage and NBH's in first post.

Thankssssssssss
Now works First one KAISIMG-PANEL1-320-TILT0-ECLAIR
Panel 1 KAISIMG-PANEL1-320-TILT0-ECLAIR
Works perfect for me thanks aloooooooot

With new NBH I got this. Kaiser Panel Type 2 btw.
Code:
GPIO 22:0
GPIO 24:0
GPIO 47:0
GPIO 48:0
GPIO 50:0
GPIO 57:000
GPIO 64:1111
GPIO 72:000000
GPIO 79:00
GPIO 95:00
That's a lot of GPIO's.

Dukenukemx said:
With new NBH I got this. Kaiser Panel Type 2 btw.
Code:
GPIO 22:0
GPIO 24:0
GPIO 47:0
GPIO 48:0
GPIO 50:0
GPIO 57:000
GPIO 64:1111
GPIO 72:000000
GPIO 79:00
GPIO 95:00
That's a lot of GPIO's.
Click to expand...
Click to collapse
Sadly I get exactly the same with panel1 so we're out of luck so far.

Panel 3 here:
Code:
[ 648.598655] mddi0_panel_power(1) type=3
[ 648.598801] GPIO 22:0
[ 648.598855] GPIO 24:0
[ 648.598900] GPIO 47:0
[ 648.598943] GPIO 48:0
[ 648.598983] GPIO 50:0
[ 648.599016] GPIO 57:000
[ 648.599106] GPIO 64:1110
[ 648.599216] GPIO 72:000000
[ 648.599348] GPIO 79:00
[ 648.599426] GPIO 95:00

How do the Vogue guys do it? I'm thinking it's probably the same.

Dukenukemx said:
How do the Vogue guys do it? I'm thinking it's probably the same.
Click to expand...
Click to collapse
They check GPIO 66 and 67 but I we all seems to get 1 on those, except for some reason milanche's last values where they are 1 and 0. That was kind of unexpected as the previous results from the same phone was 1 and 1.

milanche said:
Panel 3 here:
Code:
[ 648.599106] GPIO 64:1110[/QUOTE]
Actually the last two digits here are GPIO 66 and 67 which is exactly what Vogue uses to check this but that was what I checked with the first version of the kernel and that time you got 1 and 1 so it seems those values can vary from time to time.
Click to expand...
Click to collapse

Related

[FAQ][DEV] BT, WiFi and MAC Address on HD2

I hope all this is just a little bit interesting for some developers because I can't do any further investigations on ANDROID because my device is broken. At the moment it's on the way and I hope I will get a change of my broken HD2. I have summarized some more or less insteresting facts and I hope someone of you will think about all this informations and can work with them.
First at all: I'm not a developer but I have done some search on ANDROID and logged and logged and logged it again. All this is just a collection of facts and results of compare log files.
When you disassemble some Files within Android, you will see that something will not work because it can't. Let me start with the init.rc what is missing or might be wrong:
1. MISSING FOR BLUETOOTH:
Code:
# create mountpoints
mkdir /mnt_data/download 0777 root system
2. WRONG?
Code:
chmod 0666 /dev/ttyHS1
chown root radio /proc/cmdline
chmod 666 /proc/cmdline
There is no ttyHS1 device within the ANDROID. Can't find it.
3. NOT SURE
rfkill is seems not working. Recommendation on the website:
http://www.gitorious.org/openaos-te...5f360fec4c21c1e06d145a5fe?diffmode=sidebyside
Code:
chmod 0666 /sys/devices/platform/wifi_bt/bt_enable 0
write /sys/devices/platform/wifi_bt/bt_enable 1
but based on ANDROID Developer FAQ it should be:
Code:
chmod 0666 /sys/modules/board_[platform]/parameters/bluetooth_power_on
write /sys/modules/board_[platform]/parameters/bluetooth_power_on 1
and this MUST also done after the change:
Code:
on property:persist.service.bluetoothd.enable=0
write /sys/modules/board_htcleo/parameters/bluetooth_power_on 0
...depend of the settings it also could be:
Code:
write /sys/devices/platform/wifi_bt/bt_enable 0
on property:persist.service.bluetoothd.enable=1
write /sys/modules/board_htcleo/parameters/bluetooth_power_on 1
...depend of the settings it also could be:
Code:
write /sys/devices/platform/wifi_bt/bt_enable 1
Also interesting is the command write which is used a lot of times by the init.rc. I don't know where this command is located. But if you open a SHELL on Android and try to "write" something you will see that this command is not available. Can someone explain how this will work when this command is not available????
4. WRONG!
Code:
chmod 666 /dev/uinput
chmod 666 /etc/bluez/audio.conf
chmod 666 /etc/bluez/hcid.conf
chmod 666 /etc/bluez/input.conf
On the one hand this path is not existing and on the second hand the hcid.conf is also not existing. If you take a look only within /etc you will see that /etc/bluetooth is only existing.
5. BT INITIALIZATION
Code:
service hciattach /system/bin/brcm_patchram_plus --enable_hci –enable_lpm --baudrate 3000000 --patchram /etc/firmware/bcm4329.hcd /dev/ttyHS0
user bluetooth
group bluetooth net_bt_admin
disabled
This is also not working at all. If you try to run this command via the shell nothing will happens. And if you need to load the firmware into the device you need also setup this device by nvram.txt which you can see within the bluetooth.c file. The nvram.txt is important to get a valid MAC Address from the hardware. If you take a look into the source code of the BCM4329 you will see additional informations about this.
The second problem is the value of 3000000. This is to small. If you want to work with head set than a value of 4000000 is minimum required. From my point of view this initialization should be:
Code:
service hciattach /system/bin/logwrapper /system/bin/hciattach -s 57600 /dev/ttyHS0 any 4000000 flow
The value 57600 is the minimum value for initialize bluetooth and it could be that this value will downsize the standby drain. Not sure, just an idea.
Why? Lets take a look into the main.conf or hcid.conf:
Code:
# What value should be assumed for the adapter Powered property when
# SetProperty(Powered, ...) hasn't been called yet. Defaults to true
InitiallyPowered = true
# Remember the previously stored Powered state when initializing adapters
RememberPowered = true
This was the reason why I think the initialization speed "...-s 57000 /dev..." should be lowerd down which might also solve the battery drain issue. Again, not sure - just an idea.
Btw, if you open the ADB shell and try hciconfig, hciattach or hcitools non of this are working because there is no Bluetooth Adapter even if you have BT enabled. This tools are requried for BT analyse, test and command options. You can call each of the files within the Shell but whatever you try to do you it will fail because BT is not enabled. Try to run rfkill which could initiate a reset on the BT device. If you try to rfkill ttyHS0 which is the BT adapter on HD2 device this will not work. From my point of view all this problems are not only related to the kernel.
6. TAKE A LOOK INTO THE init.htcleo.rc
Code:
# Make sure we startup btld before hcid
# Set target address to emulator host loopback IF
# Limit baudrate to 460800 to ensure reliable uart operation
service btld /system/bin/logwrapper /system/bin/btld -hwtun 10.0.2.2 -hb 460800 3000000 -lpm 1
# service btld /system/bin/logwrapper /system/bin/btld -lpm 1 -hb 3000000
Not sure what will run first. The init.rc or the init.htcleo.rc. If the init.rc will run first this could be also a problem. Btw, the first value is 460800. From my point of view this is too much for initialization.
7. WiFi INITIALIZATION
Just an example but if you do a Google search for "BCM4329 nvram.txt" you will get more than 3 links. Let me show here an example:
http://android-wifi-tether.googlecode.com/svn-history/r465/trunk/res/raw/tether_edify
Search for Value 4329 and you will see SAMSUNG Device bla, bla – don't know from top of my head:
Code:
!file_exists("/sdcard/android.tether/bcm4329.bin") && ( module_loaded("dhd") || log(insmod("/lib/modules/dhd.ko", "firmware_path=/system/etc/wifi/bcm4329_mfg.bin nvram_path=/system/etc/wifi/nvram_mfg.txt"), "Loading dhd.ko module<br>(bcm4329_mfg.bin from /system/etc/wifi/)"); );
Hmm... That was the reason why I grabbed the SAMSUNG i9000 from a friend of me and double checked the device. If you take a look into the /etc/wifi you will see the nvram.txt. I'm not sure how this will be loaded into the device but the i9000 has the same BCM4329 Chipset.
Now let us take a look into the wifi.c for QUALCOMM devices which is also valid for the HD2:
http://gitorious.org/linux-on-qualc...f8dffe668c0448/libhardware_legacy/wifi/wifi.c
Code:
Line 61: Take a look. Nothing of this is existing on the HD2
Line 71: there is no wlan.ko on the HD2
But now, where the hell the MAC Address is stored for the WIFI Adapter? Just take a look at this location:
Code:
sys/module/board_htcleo/parameters/bdaddress
or use this:
Code:
/system/sysroot/module/board_htcleo/parameters/bdaddress
If you check this file you will see there your current MAC Address of the WIFI device. The stupid MAC for the BT device seems not stored on the device. And this is the point where I guess to need the fu***ing nvram.txt.
I have done a search for some BCM files and found something interesting which is attached as "Broadcom Files.7z." There are some (!) more or less firmware files within (?) and also the famous nvram.txt
For additional informations about WiFi and more just open the wifi_suplicant within the /system/bin directory with a simple text editor and browse down to the end. There you will see also a lot of interesting settings for the WiFi environment.
8. W.t.F. IS THIS STUPID NVRAM.TXT?
Download attached Broadcom.7z and check the txt file within. If you open the file you will see the nearly same content as within the
Code:
/etc/calibration
file.
But this file you can ignore on your HD2 device. Delete it, rename it – do whatever you want and you will see no changes on the device. The more interesting thing is within
Code:
/sys/calibration
Huhhhh...! The same file but less values. But where does it come from??? Currently I don't know.
It seems that the nvram.txt is as same as like a BIOS for the device. The BCM4329 is a BT AND WiFi Chip within one CHIP. It might be wrong but I guess this is the easy explanation for this.
And because of this the thing can't work. First it needs to load the BIOS (nvram.txt) and then it needs the OS for it (BCM4329 Firmware).
Okay here is something by reading and following your examples:
sys/module/board_htcleo/parameters/bdaddress
That lines exists in the current NAND Android roms, but this line:
/system/sysroot/module/board_htcleo/parameters/bdaddress
doesnt exist, not in Rafs rom or in imilka's 0.1 GB sense rom.
But here is my key interest: "bdaddress" is where the BLUETOOTH MAC Address is!
Another interesting thing, in imilka's 0.1 GB Sense rom, I can change this to whatever I want and it Sticks till I reboot, but in Rafs it does not.
Key Question, How do we make this file KEEP the changes we make to it??? I know its a dirty fix but none the less its a FIX!! So anyone got a clue?!??
First of all there is a WRONG that is big like an house
the init.rc "syntax" is not shell syntax.
so as example, command "write" will not work in shell... but only in init.rc
I see also a lot of confusions about stock froyo/gingerbread stuff and sense stuff.
Example: Sense uses it's own stuff for BT so a clean init.rc for sense is really different from the one for a non-sense build.
Also some stuff/commands needs to be changed/replaced to have them working with our hd2 kernel.
I have no time now but really this posts is about 30 different things that cannot be explained all togheter.
My suggestion is to google for "android init syntax" and start from there understanding all the android boot process and the android init syntax.
About the wifi mac address.
The wifi mac address is "read" from the libhardware_legacy.so
normmaly this lib reads the mac address in /etc/calibration
this file is a "kernel" file so you are not able to change it.
You can use a modified libhardware_legacy.so that reads the mac address in /system/etc/calibration so you can change it, as I did on my builds where you can change the wifi mac address.
Unfortunately the modified libs causes other issues like gps not working.
---------------------------------------------------------------------------
About the problem that you cannot write permanetly the changes on stuff inside the folders
/
/etc
/proc
/sys
and so on.. this is because those folders are the "kernel" that normally is read-only
you can make it write enabled but it's not a safe way to proceed...
so is there a chance to fix the issue with the bluetooth mac?!
would be important for me
(can't use my parrot car kit with my wifes hd2 because of the same mac adress )
rafpigna said:
First of all there is a WRONG that is big like an house
the init.rc "syntax" is not shell syntax.
so as example, command "write" will not work in shell... but only in init.rc
I see also a lot of confusions about stock froyo/gingerbread stuff and sense stuff.
Example: Sense uses it's own stuff for BT so a clean init.rc for sense is really different from the one for a non-sense build.
Also some stuff/commands needs to be changed/replaced to have them working with our hd2 kernel.
I have no time now but really this posts is about 30 different things that cannot be explained all togheter.
My suggestion is to google for "android init syntax" and start from there understanding all the android boot process and the android init syntax.
Click to expand...
Click to collapse
Thanks mate! The problem is that I have no clue how to do it but I hope someone outside who has more experience with all this knows what to do.
Btw, I have had also tried to do a simple test with this "write" command by fill a line within /etc/test and also /proc/test which fails. Usually I added some lines into the init.rc to see if this will work.
But I'm not sure if I have had something wrong.
rafpigna said:
About the wifi mac address.
The wifi mac address is "read" from the libhardware_legacy.so
normmaly this lib reads the mac address in /etc/calibration
Click to expand...
Click to collapse
Sorry, but this is not true. Check this:
http://developer.android.com/reference/android/net/wifi/WifiInfo.html
If you check this from Android SDK you will see that the wpa_supplicant is responsible for this. And this would be O.K. if you also check the BCM4329 source code.
First the CHIPSET will be initiated and prepared by the firmware and the nvram.txt and after that the wpa_supplicant do the rest.
How this exactly will work - sorry, too less coding knowledge
A good thing is it to compare the MAC & BT issue with the i9000 devices and Sony X10. The Sony X10 has the same QUALCOM chipset as the HD2.
Here are the files from the original Desire HD 1.8x.
The initrd.zip contains is the original file and the initrd~.7z is the extracted who is interested to read and compare.
see this http://gitorious.org/linux-on-wince...mmit/ce69804632e64b397758c1c9835f06efd0c8cb54
in file arch/arm/mach-msm/board-htcleo.c i see from markinus some changes to file bdaddress.but it is not in the main git tree we use for hd2 kernel
maybe someone kernel developer can see it and make a kernel for testing;
clio94 said:
see this http://gitorious.org/linux-on-wince...mmit/ce69804632e64b397758c1c9835f06efd0c8cb54
in file arch/arm/mach-msm/board-htcleo.c i see from markinus some changes to file bdaddress.but it is not in the main git tree we use for hd2 kernel
maybe someone kernel developer can see it and make a kernel for testing;
Click to expand...
Click to collapse
Looks good, but this is not valid for HD2. This is HTC Tattoo. If you check this code you will see "akm8973".
Damn!
http://nagaraj-embedded.blogspot.com/2011/02/guide-on-adding-wifi-drivers-on-android.html
and
http://www.jetdroid.org/forum/viewtopic.php?f=78&t=456&start=20#p4502
Can someone double check this???? From my point of view this looks quite good...
MrT69 said:
Sorry, but this is not true. Check this:
http://developer.android.com/reference/android/net/wifi/WifiInfo.html
If you check this from Android SDK you will see that the wpa_supplicant is responsible for this. And this would be O.K. if you also check the BCM4329 source code.
First the CHIPSET will be initiated and prepared by the firmware and the nvram.txt and after that the wpa_supplicant do the rest.
How this exactly will work - sorry, too less coding knowledge
A good thing is it to compare the MAC & BT issue with the i9000 devices and Sony X10. The Sony X10 has the same QUALCOM chipset as the HD2.
Click to expand...
Click to collapse
I'm wrong?
Sorry to say, I'm not an andorid guru but maybe I have a little bit more knoledge and trust me in our case, at least with our builds, the mac address is read from the calibration file.
So how is possible that in my builds you can change the wifi mac?
I just take yor desired wifi mac, write it in the /system/etc/calibration file and replace the libhardware_legacy.so that will read from that instead of /etc/calibration
MrT69 said:
Thanks mate! The problem is that I have no clue how to do it but I hope someone outside who has more experience with all this knows what to do.
Btw, I have had also tried to do a simple test with this "write" command by fill a line within /etc/test and also /proc/test which fails. Usually I added some lines into the init.rc to see if this will work.
But I'm not sure if I have had something wrong.
Click to expand...
Click to collapse
Already said... init.rc syntax is not shell syntax!!!
Anyway.. I still miss the purpose of this thread....
Just the first two google search links appearing with a simple "android init.rc" search
http://www.androidenea.com/2009/08/init-process-and-initrc.html
http://elinux.org/Android_Booting
Read that and something will be clearer.
rafpigna said:
I'm wrong?
Sorry to say, I'm not an andorid guru but maybe I have a little bit more knoledge and trust me in our case, at least with our builds, the mac address is read from the calibration file.
Click to expand...
Click to collapse
It might be that I have had something missunterstand but I only want to say by default (!) the MAC Address is not read from the calibration file by ANDROID. Of cause I have had tested your solution and it's working.
So how is possible that in my builds you can change the wifi mac?
I just take yor desired wifi mac, write it in the /system/etc/calibration file and replace the libhardware_legacy.so that will read from that instead of /etc/calibration
Click to expand...
Click to collapse
I know that the MAC Address could be changed within this way. I hope you don't understand it within the wrong way but from my point of view this is only a patch solution. Because of the fact that the BT & WiFi Chip is ONE (!) chip within HD2 there must be an other solution to read and get the MAC address for WiFi AND BT.
Already said... init.rc syntax is not shell syntax!!!
Click to expand...
Click to collapse
I only was asking why and where it was not working. In the mentime I know it because of your feedback. But I have add some lines into the init.rc and the files and changes was not written to the device. That was the reason why I was asking.
Anyway.. I still miss the purpose of this thread....
Click to expand...
Click to collapse
Hope to find some people who will help to fix all this issues and on the second hand I hope to find a solution for the BT and WiFi MAC to get it from the device.
It is proper time to make an open discussion about the 2.2.1 rom and more tweaks closer to HD2 reveal in the community.
MrT69 said:
I know that the MAC Address could be changed within this way. I hope you don't understand it within the wrong way but from my point of view this is only a patch solution. Because of the fact that the BT & WiFi Chip is ONE (!) chip within HD2 there must be an other solution to read and get the MAC address for WiFi AND BT.
Click to expand...
Click to collapse
maybe this is wrong but it is extremely good that in sense roms,you can change at any time wifi mac address.in my city municipality have free wifi hotspot but after sometime reads your wifi mac address and cut the connection for a time.so with dynamic wifi address i can be almost all time everywhere online and this saves me from a slow (because i live in a small greek city and 3g connection is not everywhere) data edge connection.

[Request] kernel source Forensics: enable more than two touch points

Just did a little research on the Kindle touchscreen controller ILITEK 2107QS001K (posted my results here).
Because I'm curious I Looked at the source code provided by Amazon.
Link: http://www.amazon.com/gp/help/customer/display.html?nodeId=200203720
Filename: Kindle_src_6.2_user_3003020.tar.gz
Found this file: kernel\android-2.6.35\drivers\input\touchscreen\ilitek.c
Lines 1135-1144:
Code:
// read touch resolution
[B]i2c.max_tp = 2;[/B]
if(ilitek_i2c_read_info(i2c.client, ILITEK_TP_CMD_GET_RESOLUTION, buf, res_len) < 0){
return -1;
}
[B]if(i2c.protocol_ver >= 0x200)[/B]{
// maximum touch point
[B]i2c.max_tp = buf[6];[/B]
// maximum button number
[B]i2c.max_btn = buf[7];[/B]
}
Those lines smell like they are the ones responsible for the amount of touch points enabled.
max_tp is defined in a struct near the top of the file with a comment stating "maximum touch point".
Thís file is also the only one that has different permissions than all the other files in this directory.
It would be interesting to get the debug output of the whole function ilitek_i2c_read_tp_info which is where the above lines are contained in (there are lot's of printk's in there).
Also it would be good to know what the value of i2c.protocol_ver is and if the if-clause evaluates TRUE.
Basically everything that goes on in those lines seems interesting so me.
Is there anybody out there who can tell me if I'm headed in the right direction?
EDIT
I also found this: http://wenku.baidu.com/view/77869053ad02de80d4d840ca.html - an Ilitek touch driver development manual for Android kernels. May be helpful.
Found this tool on the Android Market: ILITEK Touch Utility
Installed it on my KF and this is the main menu of the app:
Calibration - Calibrate touch screen
Upgrade - Upgrade new firmware from Hex file
Utility - Debug touch screen (submenus seen in screenshots below)
Information - Show touch screen information
Version - version 1.4.8 2011/04/11
The output of Information is this:
Code:
Firmware version: 10.2.5.0
Protocol version: 1.2
Max. X: 3968
Max. Y: 2304
Unfortunately it doesn't output something like max_tp.
I also ran Calibration and now touches seem to be registered more accurately.
emelie said:
Found this tool on the Android Market: ILITEK Touch Utility
Installed it on my KF and this is the main menu of the app:
Calibration - Calibrate touch screen
Upgrade - Upgrade new firmware from Hex file
Utility - Debug touch screen (submenus seen in screenshots below)
Information - Show touch screen information
Version - version 1.4.8 2011/04/11
The output of Information is this:
Code:
Firmware version: 10.2.5.0
Protocol version: 1.2
Max. X: 3968
Max. Y: 2304
Unfortunately it doesn't output something like max_tp.
I also ran Calibration and now touches seem to be registered more accurately.
Click to expand...
Click to collapse
This utility does "seem" to make the touchscreen more accurate. I'll have to spend time with my Fire though to be sure. Nice finds by the way!
*Btw, I think the firmware is the one responsible for setting multitouch points. The 2 is more like a default for when the version can't request the supported maximum number through the firmware.
yups have tried such stuff on X10, ARC, other deivces...
it all depends on the TS firmware...
we can improve the driver but if the firmware doesnt support it we cant do much...
also do keep in mind that Amazon got this tablet to the market at < 200$, so all the components (internally & externally) are NOT of highest caliber... cost reduction strategies...
DooMLoRD said:
yups have tried such stuff on X10, ARC, other deivces...
it all depends on the TS firmware...
we can improve the driver but if the firmware doesnt support it we cant do much...
also do keep in mind that Amazon got this tablet to the market at < 200$, so all the components (internally & externally) are of highest caliber... cost reduction strategies...
Click to expand...
Click to collapse
dont you mean are not? lol
death2all110 said:
dont you mean are not? lol
Click to expand...
Click to collapse
ya got disturbed by a p.m. so i forgot wht i was writing
I see you fixed it lol
More hints in dmesg output:
Code:
<6>[ 1.615631] ilitek_init
<6>[ 1.661468] ilitek_i2c_probe, i2c new style format
<4>[ 1.666473] ilitek_i2c_probe, IRQ: 0xC3
<6>[ 1.670593] ilitek_i2c_register_device, add i2c device, success
<6>[ 1.676818] ilitek_i2c_register_device, client.addr: 0x41
<6>[ 1.682495] ilitek_i2c_register_device, client.adapter: 0xDC839448
<6>[ 1.688995] ilitek_i2c_register_device, client.driver: 0xC06571CC
<6>[ 1.716339] ilitek_i2c_read_tp_info, firmware version 10.2.4.0
<6>[ 1.739715] ilitek_i2c_read_tp_info, protocol version: 1.2
<6>[ 1.763305] ilitek_i2c_read_tp_info, max_x: 3968, max_y: 2304, ch_x: 30, ch_y: 18
<6>[ 1.771148] ilitek_i2c_read_tp_info, max_tp: 2, max_btn: 0
<6>[ 1.777099] input: ilitek_i2c as /devices/platform/i2c_omap.2/i2c-2/2-0041/input/input1
<1>[ 1.785675] ilitek_i2c_register_device, register input device, success
<1>[ 1.792785] ilitek_i2c_register_device, request irq, success
<6>[ 1.798736] ilitek_init, register chrdev(246, 0)
Some time ago I found a module for the milestone that enables more touch points, it even let's you edit a config file where you set how many points you want. It worked (kinda) for my old d1 and my d2. I haven't tried it on my fire tho. I'll look around and see if i can find it if anyone is interested.
foxdog66 said:
Some time ago I found a module for the milestone that enables more touch points, it even let's you edit a config file where you set how many points you want. It worked (kinda) for my old d1 and my d2. I haven't tried it on my fire tho. I'll look around and see if i can find it if anyone is interested.
Click to expand...
Click to collapse
Definitely, let us know what you find out.
Sent from my Kindle Fire using xda premium
// read touch resolution
i2c.max_tp = 10;
if(ilitek_i2c_read_info(i2c.client, ILITEK_TP_CMD_GET_RESOLUTION, buf, res_len) < 0){
return -1;
}
if(i2c.protocol_ver >= 0x200){
// maximum touch point
i2c.max_tp = buf[6];
// maximum button number
i2c.max_btn = buf[7];
}
The code above would be my long life goal in fruit ninja.
has anyone gotten anywhere with this?
pyrostic said:
has anyone gotten anywhere with this?
Click to expand...
Click to collapse
i'm interested too, how can we enable more than 2 touch points?
Looking at the driver writing guide, it seems like the controller can't handle more than two points of input, or at least the guide only covers getting input from two points.
Sent from my Kindle Fire using Tapatalk
I compared the two Kernel source tars (6.2 and 6.2.1). There are various file differences, also in ilitek.c - that's the file I mentioned in the OP.
Here is a diff report of ilitek.c 6.2 and ilitek.c 6.2.1: http://jsbin.com/emuyot
That has to be the fix that amazon introduced which makes the screen a bit more responsive.
Would be interesting to know if everybody update their Kernel source to include this patch.
EDIT: Attached the diff as an image in case the jsbin disappears.
emelie said:
I compared the two Kernel source tars (6.2 and 6.2.1). There are various file differences, also in ilitek.c - that's the file I mentioned in the OP.
Here is a diff report of ilitek.c 6.2 and ilitek.c 6.2.1: http://jsbin.com/emuyot
That has to be the fix that amazon introduced which makes the screen a bit more responsive.
Would be interesting to know if everybody update their Kernel source to include this patch.
Click to expand...
Click to collapse
Thanks for the heads-up! I was planning on integrating the changes before but it got pushed to the sidelines and eventually forgotten. There are other changes in 6.2.1 which I'll integrate in my next release.

[Q]Kelayout files: does someone knows them very well?

I'm trying to understand exactly how the various keylayout files work... http://source.android.com/tech/input/key-layout-files.html
But I can't understand some things:
1- Why, ie in andromadus, the softouch keys aren't flagged as virtual? this should prevent users from touching them while wanting to touch the screen.
2- How can I see which keylayout file I'm using? I've seen that this should work:
Code:
logcat -d | grep vision
but when I run it it doesn't do anything
Someone had this as output:
Code:
I/EventHub( 6163): New device: id=2, fd=110, path='/dev/input/event5', name='curcial-oj', classes=0x9, configuration='/system/usr/idc/curcial-oj.idc', keyLayout='/system/usr/keylayout/Generic.kl', keyCharacterMap='/system/usr/keychars/Generic.kcm', builtinKeyboard=false
D/EventHub( 6163): No input device configuration file found for device 'lightsensor-level'.
D/EventHub( 6163): No input device configuration file found for device 'vision-keypad-sea'.
I/EventHub( 6163): New device: id=4, fd=117, path='/dev/input/event3', name='vision-keypad-sea', classes=0xc3, configuration='', keyLayout='/system/usr/keylayout/vision-keypad-sea.kl', keyCharacterMap='/system/usr/keychars/vision-keypad-sea.kcm', builtinKeyboard=true
D/EventHub( 6163): No input device configuration file found for device 'proximity'.
I can't understand why it uses generic at first and then passes to sea... And may it be enough for me to grep for I/EventHub to get these strings on mine?
3- Which is the order in which they are used? I mean if there's no x.kl y is used, if there's no y.kl, z is used. This because reading in the following link:
/system/usr/keylayout/Vendor_XXXX_Product_XXXX_Version_XXXX.kl
/system/usr/keylayout/Vendor_XXXX_Product_XXXX.kl
/system/usr/keylayout/DEVICE_NAME.kl
/data/system/devices/keylayout/Vendor_XXXX_Product_XXXX_Version_XXXX.kl
/data/system/devices/keylayout/Vendor_XXXX_Product_XXXX.kl
/data/system/devices/keylayout/DEVICE_NAME.kl
/system/usr/keylayout/Generic.kl
/data/system/devices/keylayout/Generic.kl
Click to expand...
Click to collapse
this should be the order, but I've never heard of anyone changing the first file, of many changing vision_keypad_lang.kl which isn't even mentioned there....
4- If I set a virtual key as a WAKE key will this make the whole file unreadable? so will the desire z pass over it and look for another file? If this is right, as I think and hop, I may have understand which is my problem... I've seen that this is done in andromadus, but I still can't understand how they can wake phone...
5- Which is effectively the difference between WAKE and WAKE_DROPPED, can't get a clear idea from the link
6- What is the purpose of the validatekeymaps tool? Does it verify if the sintax of the file is right?
Thank you
edit: you may have noticed that many of the things I ask can easily be verified with a phone in hands, but I don't have mine at the moment, so I can't do it and it will be like this for a week or so. I have time to develop my project now, so I ask anyway
Noone has worked on these files??
virtualflyer said:
Noone has worked on these files??
Click to expand...
Click to collapse
All your questions can be answered in the official google android documentation. Have a read
Sent from my HTC Vision using xda premium
blk_jack said:
All your questions can be answered in the official google android documentation. Have a read
Sent from my HTC Vision using xda premium
Click to expand...
Click to collapse
I assume you refer to the link I've posted... I've read it, but I still can't understand all points but 5-6 as said in the OP.
There's a VIRTUAL flag and documentation proposes it, so why don't we use it?
Why's everybody changing vision_keypad_lang instead of the one said in doc?
I can't find all these answers (1-4) in documentation... I may haven't seen it, but I read it pretty carefully...
virtualflyer said:
I'm trying to understand exactly how the various keylayout files work... http://source.android.com/tech/input/key-layout-files.html
But I can't understand some things:
1- Why, ie in andromadus, the softouch keys aren't flagged as virtual? this should prevent users from touching them while wanting to touch the screen.
2- How can I see which keylayout file I'm using? I've seen that this should work:
Code:
logcat -d | grep vision
but when I run it it doesn't do anything
Someone had this as output:
Code:
I/EventHub( 6163): New device: id=2, fd=110, path='/dev/input/event5', name='curcial-oj', classes=0x9, configuration='/system/usr/idc/curcial-oj.idc', keyLayout='/system/usr/keylayout/Generic.kl', keyCharacterMap='/system/usr/keychars/Generic.kcm', builtinKeyboard=false
D/EventHub( 6163): No input device configuration file found for device 'lightsensor-level'.
D/EventHub( 6163): No input device configuration file found for device 'vision-keypad-sea'.
I/EventHub( 6163): New device: id=4, fd=117, path='/dev/input/event3', name='vision-keypad-sea', classes=0xc3, configuration='', keyLayout='/system/usr/keylayout/vision-keypad-sea.kl', keyCharacterMap='/system/usr/keychars/vision-keypad-sea.kcm', builtinKeyboard=true
D/EventHub( 6163): No input device configuration file found for device 'proximity'.
I can't understand why it uses generic at first and then passes to sea... And may it be enough for me to grep for I/EventHub to get these strings on mine?
3- Which is the order in which they are used? I mean if there's no x.kl y is used, if there's no y.kl, z is used. This because reading in the following link:
this should be the order, but I've never heard of anyone changing the first file, of many changing vision_keypad_lang.kl which isn't even mentioned there....
4- If I set a virtual key as a WAKE key will this make the whole file unreadable? so will the desire z pass over it and look for another file? If this is right, as I think and hop, I may have understand which is my problem... I've seen that this is done in andromadus, but I still can't understand how they can wake phone...
5- Which is effectively the difference between WAKE and WAKE_DROPPED, can't get a clear idea from the link
6- What is the purpose of the validatekeymaps tool? Does it verify if the sintax of the file is right?
Thank you
edit: you may have noticed that many of the things I ask can easily be verified with a phone in hands, but I don't have mine at the moment, so I can't do it and it will be like this for a week or so. I have time to develop my project now, so I ask anyway
Click to expand...
Click to collapse
2. after a reboot filter the logcat output for "device".
D/EventHub( 6163): No input device configuration file found for device 'lightsensor-level'.
Click to expand...
Click to collapse
create the file "lightsensor-level.idc" inside /system/usr/idc
same for vision-keypad-sea.
for key layouts its the same as for idc, just insert/create the *.kl files into /system/usr/kl if they are missing
curcial-oj uses generic layout because there is no specific layout. just create "curcial-oj.kl" inside /system/usr/kl
4. I guess it's useless to set wake-flag for virtual keys
5. If I understand it correctly keys with WAKE-flag will wake up the phone and execute their function while WAKE_DROPPED will only wake up the phone and drop its function in case that phone's sleeping.
6. at least yes

ppp widget 1.0 apk

Does anyone still have the 1.0 apk?
I upgraded to 1.1 now it will not find my sprint modem and problems here and there.
Here you go..... [removed]
taqulic said:
Here you go..... http://db.tt/jnAqmyXk
Click to expand...
Click to collapse
Thank you so much, to bad I can only give you one thanks :laugh: , now everything is working again. I dont know what the dev changed on the update but something did dealing with the sprint modem..etc. and it all went down hill.
Seems like someone else had that problem too.... thought I read it in the reviews..
taulic,
please be so kind and remove the public access to the APK file.
The original package is fixed now.
Note that the program itself is free of cost but not free to copy. If people run into trouble I will provide older versions when asked.
Regards,
Author of PPP Widget
JFDee said:
taulic,
please be so kind and remove the public access to the APK file.
The original package is fixed now.
Note that the program itself is free of cost but not free to copy. If people run into trouble I will provide older versions when asked.
Regards,
Author of PPP Widget
Click to expand...
Click to collapse
Done.
PPP works once, then ned to re-installed
taqulic said:
Done.
Click to expand...
Click to collapse
Hi There,
The app works fine when I install it first, my dongle i being recognized no problem. However if I disconnect, and unplug the dongle and try to connect again, the widget shows "no modem found".
I have tried forcing the app to stop, uninstall stickmount as I thought there was clash between both apps and still it doesn't work. the only work around I v found is to re-install the app, which is not very convenient when on the go and needing internet in the first place to be able to access it.
Would you be willing to provide me the APK installer as I am quite happy to install the app whenever I need it, or maybe suggest a workaround?
you have done a fantastic job by the way
G
file is no longer available
Will you please re-upload the file (PPP wedget 1.00 APK) in drop box since the hyperlink says (The file you are looking for has been deleted or moved). Thank you very much
You should first, email the author of the app and see if he can help you with your problem.
I'm not sure I still have the app in backup... as I only save them for so long. (But I'll check).
For those people having problems with this app, there is a forum and active discussion
Here, click forum link at bottom of page.
http://www.draisberghof.de/android/pppwidget.html
Will you please email this file; thanks
Unknown Zone said:
Thank you so much, to bad I can only give you one thanks :laugh: , now everything is working again. I dont know what the dev changed on the update but something did dealing with the sprint modem..etc. and it all went down hill.
Click to expand...
Click to collapse
Dear "Unkown Zone", will you please email this file (PPP Widget 1.00); thanks
Please email link
Unknown Zone said:
Does anyone still have the 1.0 apk?
I upgraded to 1.1 now it will not find my sprint modem and problems here and there.
Click to expand...
Click to collapse
If you have older version of PPP Widget 1.00 (apk file), please post a link. I have tried many changer.bat options since your last post; both uberoid v11 and 12.1. Nothing seems to work so far to make the ZTE-MF190 work again since upgrade from stock ROM. Tried 2 look for this file however no success. Thank you.
Deleted.
samsung note i717 no drivers found
PPP Widget version 1.3.3
USB_ModeSwitch log from Tue Sep 24 21:36:19 IST 2013
Raw args from udev: 1-1/1-1:1.0
Using top device dir /sys/bus/usb/devices/1-1
----------------
USB values from sysfs:
manufacturer ZTE, Incorporated
product USB Storage
serial 000000000002
----------------
bNumConfigurations is 1 - don't check for active configuration
SCSI attributes not needed, moving on
checking config: /data/data/de.draisberghof.pppwidget/app_tmp/19d2.fff5
! matched. Reading config data
devList 1:
config: TargetVendor set to 19d2
config: TargetProductList set to fff1,fffe,ffff
Driver module is "option", ID path is /sys/bus/usb-serial/drivers/option1
Command to be run:
usb_modeswitch -I -W -D -s 20 -u -1 -b 1 -g 2 -v 19d2 -p fff5 -f $cB
Verbose debug output of usb_modeswitch and libusb follows
(Note that some USB errors are to be expected in the process)
--------------------------------
Reading long config from command line
* usb_modeswitch: handle USB devices with multiple modes
* Version 1.2.7 (C) Josua Dietze 2012
* Based on libusb0 (0.1.12 and above)
! PLEASE REPORT NEW CONFIGURATIONS !
DefaultVendor= 0x19d2
DefaultProduct= 0xfff5
TargetVendor= 0x19d2
TargetProduct= not set
TargetClass= not set
TargetProductList="fff1,fffe,ffff"
DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
QuantaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
BlackberryMode=0
PantechMode=0
MessageEndpoint= not set
MessageContent="5553424312345678c00000008000069f030000000000000000000000000000"
NeedResponse=0
ResponseEndpoint= not set
InquireDevice disabled
Success check enabled, max. wait time 20 seconds
System integration mode enabled
Use given bus/device number: 001/002 ...
Looking for default devices ...
bus/device number matched
searching devices, found USB ID 19d2:fff5
found matching vendor ID
found matching product ID
adding device
Found device in default mode, class or configuration (1)
Skipping the check for the current configuration
Using interface number 0
Using endpoints 0x0a (out) and 0x89 (in)
USB description data (for identification)
-------------------------
Manufacturer: ZTE, Incorporated
Product: USB Storage
Serial No.: 000000000002
-------------------------
Looking for active driver ...
OK, driver found; name unknown, limitation of libusb1
OK, driver "unkown" detached
Setting up communication with interface 0
Using endpoint 0x0a for message sending ...
Trying to send message 1 to endpoint 0x0a ...
Sending the message returned error -6. Trying to continue
Resetting response endpoint 0x89
Could not reset endpoint (probably harmless): -6
Resetting message endpoint 0x0a
Could not reset endpoint (probably harmless): -6
Device is gone, skipping any further commands
Bus/dev search active, referring success check to wrapper. Bye.
ok:busdev
--------------------------------
(end of usb_modeswitch output)
Checking success of mode switch for max. 20 seconds ...
Waiting for device file system (1 sec.) ...
Reading attributes ...
Mode switch has completed
Mode switching was successful, found 19d2:fff1 (ZTE, Incorporated: ZTE CDMA Tech)
Device class of first interface is ff
Now checking for bound driver ...
No driver has bound to interface 0 yet
Module loader is /system/bin/insmod
Trying to find and install main driver module "option"
Checking for active driver path: /sys/bus/usb-serial/drivers/option1
Driver not active, try to find module "option"
Can't find module "option"
Existing path found:
No way to use driver "option"
- try falling back to "usbserial"
Module "usb_serial" not found, can't do more here
Driver binding did not work for this device
All done, exiting
QUOTE=taqulic;34223799]Here.
http://www.filesend.net/download.php?f=4c6891af31cb635623fac53e094def52[/QUOTE]
Sir,
Using samsung note i717with official jb rom 4.1.2, ppp app says driver not found, device log is as above. Request you to help in this regard.

Linux - capabilities

Hey Gemini-owners,
I am looking to find a suitable device for WLAN engineers, and this PDA seems like the ideal candidate.
Before I recommend this device to my bosses, I need to make one thing sure though, and for that, I need your help.
When running GNU/Linux, can this device's WLAN nic be set to monitor mode?
Could someone please try this out for me? I don't have the device myself, but I'll be happy to help if needed.
Thanks in advance.
Bart.sch said:
Hey Gemini-owners,
I am looking to find a suitable device for WLAN engineers, and this PDA seems like the ideal candidate.
Before I recommend this device to my bosses, I need to make one thing sure though, and for that, I need your help.
When running GNU/Linux, can this device's WLAN nic be set to monitor mode?
Could someone please try this out for me? I don't have the device myself, but I'll be happy to help if needed.
Thanks in advance.
Click to expand...
Click to collapse
I can try it out if you know the debian cmds to set it that way and change it back ? or you might try looking or asking in this forum https://www.oesf.org
bled82 said:
I can try it out if you know the debian cmds to set it that way and change it back ? or you might try looking or asking in this forum https://www.oesf.org
Click to expand...
Click to collapse
Hey Bled82,
Great to get a response so soon!
I'll list the commands here below:
( These commands assume you have sudo rights on the device )
$sudo apt install aircrack-ng ==> I know, it sounds a bit shady, but that's the name of the software suite, nothing I can change about that. :-/
$sudo airmon-ng ==> use this command to see the list of devices airmon-ng can detect. Your wi-fi card should show up in the form of wlan0 or something similar.
$sudo airmon-ng start wlan0
And that's all to it, if all of the above give no errors, then it should be OK.
You should now have an interface called wlan0mon, meaning the change to monitor mode was succesful.
EDIT ** If you want to undo the above commands just type sudo airmon-ng stop wlan0mon ***
Can you try these out?
Thanks in advance!
Bart.sch said:
Hey Bled82,
Great to get a response so soon!
I'll list the commands here below:
( These commands assume you have sudo rights on the device )
$sudo apt install aircrack-ng ==> I know, it sounds a bit shady, but that's the name of the software suite, nothing I can change about that. :-/
$sudo airmon-ng ==> use this command to see the list of devices airmon-ng can detect. Your wi-fi card should show up in the form of wlan0 or something similar.
$sudo airmon-ng start wlan0
And that's all to it, if all of the above give no errors, then it should be OK.
You should now have an interface called wlan0mon, meaning the change to monitor mode was succesful.
EDIT ** If you want to undo the above commands just type sudo airmon-ng stop wlan0mon ***
Can you try these out?
Thanks in advance!
Click to expand...
Click to collapse
Doesn't work out of box on the debian Technical preview 2 , Maybe on the sailfish release it has available currently ? The debian build is still not fully baked FYI .
[email protected]:~$ sudo airmon-ng
Found phy0 with no interfaces assigned, would you like to assign one to it? [y/n] y
ERROR adding monitor mode interface: command failed: Operation not supported (-95)
Found phy1 with no interfaces assigned, would you like to assign one to it? [y/n] n
PHY phy1 will remain lost.
PHY Interface Driver Chipset
ethtool failed...
Only mac80211 devices on kernel 2.6.33 or higher are officially supported by airmon-ng.
[email protected]:~$ sudo airmon-ng
Found phy0 with no interfaces assigned, would you like to assign one to it? [y/n] n
PHY phy0 will remain lost.
Found phy1 with no interfaces assigned, would you like to assign one to it? [y/n] y
ERROR adding monitor mode interface: command failed: Operation not supported (-95)
PHY Interface Driver Chipset
ethtool failed...
Only mac80211 devices on kernel 2.6.33 or higher are officially supported by airmon-ng.
[email protected]:~$
Hi Bled82
That was to be expected, I suppose.
Could I ask for one more test with an external adapter, should you have one?
I believe the Gemini does support external USB-devices, no?
Bart.sch said:
Hi Bled82
That was to be expected, I suppose.
Could I ask for one more test with an external adapter, should you have one?
I believe the Gemini does support external USB-devices, no?
Click to expand...
Click to collapse
Yes it does , I have connected multiple devices and usb hubs that work well in android , mixed results in Debian , which is not a big surprised they are still working to provide a fully baked distro on debian , sailfish 3 is in the works also and looks promising .

Categories

Resources