Hello developers!
I own a Geniatech AT1200 Android 4.1.2 TV box, used as a CarPC device. Along with it I am trying to use a USB touchScreen based on a PIC microcontroller. The USB touchScreen is a DIY device. What it basically does is report itself as a HID touchscreen digitizer device, it produces ABS_X and ABS_Y and BTN_TOUCH events. Coordinate range is 0..4095, max value reported is 4095. The USB touchScreen ran FINE on my previous Geniatech Android 2.3 based box, also it works fine on a Windows XP computer.
Now, with this 4.1.2 box there is a weird problem. When a point on a touchscreen is touched, Android may report it in 4 different places, as though it thinks touchscreen orientation is being changed. The change is pure cyclic: 25% of the time coordinates are reported correctly, another 25% they are mirrored, then 25% of the time coordinates are swapped, another 25% swapped mirrored, then the cycle repeats. Coordinate change takes place approx. every 4 secs.
I checked output using 'getevent'. The raw coordinates reported are always consistent with actual touches. So I wrote a sample script that's emulating touches:
sendevent /dev/input/event0 0003 0000 00002105 # X
sendevent /dev/input/event0 0003 0001 00002117 # Y
sendevent /dev/input/event0 0000 0000 00000000 # zero
sendevent /dev/input/event0 0001 0330 00000001 # touch down
sendevent /dev/input/event0 0000 0000 00000000 # zero
sendevent /dev/input/event0 0001 0330 00000000 # touch up
sendevent /dev/input/event0 0000 0000 00000000 # zero
If I run the script repeatedly with touch traces enabled in developer section, I finally end up with 4 points on the screen. One actual coordinates, another coordinates swapped, then coordinates mirrored, and coordinates mirrored swapped.
I understand, it's the InputReader component that's responsible for /dev/input/event0 events conversion to Android touch events. That's part of the kernel, but maybe there are other places to check? I am totally clueless and I have found no indication of anyone having such a problem on the internet whatsoever. This is a consumer device, I cannot recompile the kernel, however, I found its source code on the net.
Thank you.
Please?
Sorry this isn't a solution to your problem, but I was thinking about doing the same thing with a android HTPC in my car. Just wondering If you've made any progress.
Related
When pairing my phone with my new Mercury Milan (which uses Sync) I was having some issues. Basically every time I tried to enter the 6 digit pin the car gave me it would error out. It appears that either there is a very short time out period or that the phone does not support 6 digit Bluetooth PINs.
To connect your phone to the car you need to get to the point where is gives you the 6 digit pin. Then by pressing a button (usually volume +) you can prompt the car to give you a special pin which is 0000. Using the 0000 "special" pin I was able to pair my phone with the car on the first shot.
This may also be an issue for other devices that default to 6 digit pins. I hope this helps someone out as it frustrated me for a few days and they shouldn't have to play with different radios and ROMs if I already did it for them
Thanks for the informative post.
Hello Everybody!
I've been using my Lumia 920 for a month now, and few days ago, I picked my phone and touchscreen was not responding.
I used device very carefully - so there was nothing like drops or something.
I tried Soft Reset, Hard Reset nothing helped.
I connected device to Nokia Care Suite, and runned the Self Test.
All tests were OK, but these two Failed
ST_TOUCH_TEST and ST_TOUCH_IF_TEST
What does this mean? Should I replace touchscreen digitizer or it's something else?
ST_TOUCH_IF_TEST Details:
Code:
Test name:
Touch interface self test
Test description:
The test verifies data and control lines between MCM and touch controller.
Result:
MINOR
Result (detailed view):
Failed loading the driver
Data description:
Detailed result contains HwFails bitmask. Zero means all was ok, and fail codes are:
- SELF_TEST_HW_FAIL_CONTROL 0x0001 (No communication with a device at all)
- SELF_TEST_HW_FAIL_BIST 0x0004 (Component internal self test)
- SELF_TEST_HW_FAIL_INTERRUPT 0x0010 (Interrupt line fails)
Method description:
Touch driver identifies controller by reading of the test register via control interface. Interrupt is generated for INT line verification by setting the threshold low enough.
ST_TOUCH_TEST Details:
Code:
Test name:
Touch internal self test
Test description:
The test verifies internal functionality of touch module.
Result:
MINOR
Result (detailed view):
Failed loading the driver
Data description:
Detailed result contains HwFails bitmask. Zero means all was ok, and fail codes are:
- SELF_TEST_HW_FAIL_CONTROL 0x0001 (no communication with a device at all)
- SELF_TEST_HW_FAIL_INTERRUPT 0x0010.
Method description:
Build-in selftest for touch sensor network verification is run where RAW values of the sensor network are read and they are verified to be within the specified limits. The touch screen should not be pressed during the selftest.
Was that with or without a screen protector? Sometimes a screen protector can get dirty or get dirt around or under the edge and trigger false touches which will make it appear to be locked or not function.
If it was just the straight touchscreen then sounds like it needs service.
Solarenemy68 said:
Was that with or without a screen protector? Sometimes a screen protector can get dirty or get dirt around or under the edge and trigger false touches which will make it appear to be locked or not function.
If it was just the straight touchscreen then sounds like it needs service.
Click to expand...
Click to collapse
I used device without screen protector.
I can't take it to Care Center, because I bought device from USA, and I guess warranty isn't valid here.
I called them, and they said that they probably should replace screen assembly, which will cost me almost the same price I paid for phone.
Meanwhile, I can buy screen assembly(or just digitizer) online and replace myself, but I need to be sure it'll solve problem.
I dropped my Lumia 920 from above 2 feet but it has no sign of crack or break. It looks perfectly normal. After the drop, display suddenly turned black. All other function work like I can accept call, call people using voice command, open app, Flashlight, can take photo, I can also enter lock key guessing digits position correctly. I soft reset the phone several times but no luck. I did a self test using Product support tool and only thing that fails is Display self test. I am wondering now what is broken because there is no visible sign. Is it LCD thats not working or something in motherboard. Are there other connection point to board from display other that a flex cable that connects to board?
Result from self test
Test name:
Display self test
Test description:
Tests the display chip, panel interfaces and panel bist test.
Result:
MINOR
Result (detailed view):
IOCTL request (PANEL_INTERFACE_TEST) failed
4
Data description:
Detailed self test result:
The failure bits for PANEL_INTERFACE_TEST are:\n"
bit 00 0000 0001 : SELF_TEST_HW_FAIL_CONTROL - Fail in communication
bit 00 0000 1000 : SELF_TEST_HW_FAIL_RESET - Reset line malfunction
bit 00 0001 0000 : SELF_TEST_HW_FAIL_DSI01 - Data line 0 fail
bit 00 0010 0000 : SELF_TEST_HW_FAIL_DSI23 - Data line 1 fail
bit 00 0100 0000 : SELF_TEST_HW_FAIL_DSI45 - Data line 2 fail
bit 00 1000 0000 : SELF_TEST_HW_FAIL_DSI67 - Data line 3 fail
bit 01 0000 0000 : SELF_TEST_HW_FAIL_DSICLK - Clock line fail
bit 10 0000 0000 : SELF_TEST_HW_FAIL_TE - TE line fail
The failure bits for PANEL_BIST are:
bit 00 0000 0001 : SELF_TEST_HW_FAIL_CONTROL - Communcation malfunction
bit 00 0000 0011 : SELF_TEST_HW_FAIL_BIST - Display panel self diagnostics noticed an error
Method description:
Selftest is executed by the panel driver which checks that the communication with the
display panel works correctly. A separate build-in selftest is also run to verify that
everything in the display is functioning correctly.
aryanbigsky said:
I dropped my Lumia 920 from above 2 feet but it has no sign of crack or break. It looks perfectly normal. After the drop, display suddenly turned black. All other function work like I can accept call, call people using voice command, open app, Flashlight, can take photo, I can also enter lock key guessing digits position correctly. I soft reset the phone several times but no luck. I did a self test using Product support tool and only thing that fails is Display self test. I am wondering now what is broken because there is no visible sign. Is it LCD thats not working or something in motherboard. Are there other connection point to board from display other that a flex cable that connects to board?
Result from self test
Test name:
Display self test
Test description:
Tests the display chip, panel interfaces and panel bist test.
Result:
MINOR
Result (detailed view):
IOCTL request (PANEL_INTERFACE_TEST) failed
4
Data description:
Detailed self test result:
The failure bits for PANEL_INTERFACE_TEST are:\n"
bit 00 0000 0001 : SELF_TEST_HW_FAIL_CONTROL - Fail in communication
bit 00 0000 1000 : SELF_TEST_HW_FAIL_RESET - Reset line malfunction
bit 00 0001 0000 : SELF_TEST_HW_FAIL_DSI01 - Data line 0 fail
bit 00 0010 0000 : SELF_TEST_HW_FAIL_DSI23 - Data line 1 fail
bit 00 0100 0000 : SELF_TEST_HW_FAIL_DSI45 - Data line 2 fail
bit 00 1000 0000 : SELF_TEST_HW_FAIL_DSI67 - Data line 3 fail
bit 01 0000 0000 : SELF_TEST_HW_FAIL_DSICLK - Clock line fail
bit 10 0000 0000 : SELF_TEST_HW_FAIL_TE - TE line fail
The failure bits for PANEL_BIST are:
bit 00 0000 0001 : SELF_TEST_HW_FAIL_CONTROL - Communcation malfunction
bit 00 0000 0011 : SELF_TEST_HW_FAIL_BIST - Display panel self diagnostics noticed an error
Method description:
Selftest is executed by the panel driver which checks that the communication with the
display panel works correctly. A separate build-in selftest is also run to verify that
everything in the display is functioning correctly.
Click to expand...
Click to collapse
If you have skills and knowledge you can disassemble your nokia to check Display cable / connector - see youtube videos or get Nokia Lumia 920 RM-820_821 L1L2 Service Manual v1.0.pdf
I opened mine 920 several times and I think there is slight possibility the Display cable to be out of the connector.
If you need help PM me.
I opened it and found that flex cable is conneced propery. Is there another cable somewhere? Does not touch and display share same cable? Touch works exceptionally well. I will look at the manual too. Thanks
boril said:
If you have skills and knowledge you can disassemble your nokia to check Display cable / connector - see youtube videos or get Nokia Lumia 920 RM-820_821 L1L2 Service Manual v1.0.pdf
I opened mine 920 several times and I think there is slight possibility the Display cable to be out of the connector.
If you need help PM me.
Click to expand...
Click to collapse
aryanbigsky said:
I opened it and found that flex cable is conneced propery. Is there another cable somewhere? Does not touch and display share same cable? Touch works exceptionally well. I will look at the manual too. Thanks
Click to expand...
Click to collapse
touch connector is above the display connector - so you have to disconnect touch cable and underneath is the display connector, which can be loose - see page 16 of the manual I mentioned.
boril said:
touch connector is above the display connector - so you have to disconnect touch cable and underneath is the display connector, which can be loose - see page 16 of the manual I mentioned.
Click to expand...
Click to collapse
Thanks, I refer to manual you mentioned in your previous post and got it right. It was lo0se connection
I was thinking of taking apart board and LCD before. Thank you.. you saved my time.
This has happened twice so far. Phone is locked up and no response except trying to power up the bottom buttons flash like 3 or 4 times. First time it happened I was able to reboot by holding the power button for about a minute. This morning I take my phone off the charger and it's in the same boat except holding the power button didn't seem to help. Luckily I was able to get into recovery and clear cache and that seemed to help.
Where do I even begin to investigate possible causes? Both times it happened I was not even handling the phone.
EDIT:
Forgot to add the occurrences where about a week apart.
Did some digging around and came across the tombstones directory. There was one from last night/this morning around 1:30AM. It appears to be some type of crash dump file. The first section seems to indicate that Chrome caused a SIGSEGV. Perhaps clearing the cache will take care of it. Hopefully...
Code:
pid: 5344, tid: 5344, name: .android.chrome >>> com.android.chrome <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad
Well, this issue bugged me for months now and it looks like there is a workaround.
Problem:
Proximity sensor not functioning during calls - Screen will go black and won't restore until the call ends and with a few power button clicks.
If you tried - Blowing at the sensor, Fixing apps, Opening the device and cleaning the sensor, Creating a bolder separation between the two receptors of the sensor, sending it for repair, Running ADB shell Auto + Manual Calibration - and it all failed, I hope the next workaround solution will help you.
Unless you have a defective hardware/software, doing a manual calibration of the proximity sensor should solve any problem with it. Follow this tutorial - How to Perform Proximity Sensor Calibration on any Samsung Phone .
For me though, it never worked.
When I did the commands:
Code:
cat /sys/devices/virtual/sensors/proximity_sensor/prox_cal
cat /sys/devices/virtual/sensors/proximity_sensor/state
They both returned a value of '0' (Zero). Which mean I couldn't do any calibration.
I tried so many times but always got '0'.
I saw a few comments from users on threads and tutorials who had this problem and no one seemed to have an answer.
Now, i'm not a debugger savvy but here is what I did which seem to have solved this:
Make sure you run the ADB shell from a pc and not directly on your mobile., You'll want to use copy&paste with your mouse for this.
Run the auto calibration first from the tutorial above.
Now make a call on your phone - this will force the sensor to go into a live mode.
While your phone is calling - run the manual calibration codes.
You should now have different number/s other than 0. Write them down.
You can hang up now
Keep following the tutorial with the number/s you have.
.
I hope this helps. :highfive:
I have a Galaxy S3, i9300 - CM11.
Xolusia said:
Well, this issue bugged me for months now and it looks like there is a workaround.
Problem:
Proximity sensor not functioning during calls - Screen will go black and won't restore until the call ends and with a few power button clicks.
If you tried - Blowing at the sensor, Fixing apps, Opening the device and cleaning the sensor, Creating a bolder separation between the two receptors of the sensor, sending it for repair, Running ADB shell Auto + Manual Calibration - and it all failed, I hope the next workaround solution will help you.
Unless you have a defective hardware/software, doing a manual calibration of the proximity sensor should solve any problem with it. Follow this tutorial - How to Perform Proximity Sensor Calibration on any Samsung Phone .
For me though, it never worked.
When I did the commands:
Code:
cat /sys/devices/virtual/sensors/proximity_sensor/prox_cal
cat /sys/devices/virtual/sensors/proximity_sensor/state
They both returned a value of '0' (Zero). Which mean I couldn't do any calibration.
I tried so many times but always got '0'.
I saw a few comments from users on threads and tutorials who had this problem and no one seemed to have an answer.
Now, i'm not a debugger savvy but here is what I did which seem to have solved this:
Make sure you run the ADB shell from a pc and not directly on your mobile., You'll want to use copy&paste with your mouse for this.
Run the auto calibration first from the tutorial above.
Now make a call on your phone - this will force the sensor to go into a live mode.
While your phone is calling - run the manual calibration codes.
You should now have different number/s other than 0. Write them down.
You can hang up now
Keep following the tutorial with the number/s you have.
.
I hope this helps. :highfive:
I have a Galaxy S3, i9300 - CM11.
Click to expand...
Click to collapse
Hi, I saw your thread and have similar problem. offset and normal state returns 0. After doing your steps I recieved 0 in offset but 67 in normal state when in call. Followed the tutorial as you describe adding the numbers converting to hex etc but my sensor do still not work.
After calibration according to your guide:
Out of call: It reports 36 in offset and 0 in normal state.
In call: It reports 36 in offset and 31 in normal state
Any ideas ?
Turwaithion said:
Hi, I saw your thread and have similar problem. offset and normal state returns 0. After doing your steps I recieved 0 in offset but 67 in normal state when in call. Followed the tutorial as you describe adding the numbers converting to hex etc but my sensor do still not work.
After calibration according to your guide:
Out of call: It reports 36 in offset and 0 in normal state.
In call: It reports 36 in offset and 31 in normal state
Any ideas ?
Click to expand...
Click to collapse
Have you flashed a stock firmware via odin?.
Beamed in by telepathy.