sonyxperiadev / bug_tracker

Empty repository that is used as a bugtracker for Open Devices project
52 stars 13 forks source link

[Tama/Apollo] H8324 XZ2C Dual - Touchscreen not working on AOSP 9 #351

Closed NotLikelyNo closed 5 years ago

NotLikelyNo commented 5 years ago

Platform: Tama Device: Apllo (H8324 XZ2C Dual) Kernel version: 4.9.155 Android version: 9.0.0_r31

Description Touchscreen does not work (does not react to touching) after building AOSP 9 with the attached script (adding CONFIG_TOUCHSCREEN_SYNAPTICS_TCM=y as per https://github.com/sonyxperiadev/bug_tracker/issues/262).

xz2c.sh.txt

Symptoms Touchscreen is non-responsive.

How to reproduce Build AOSP and kernel with above build script on a device identical to mine. dmesg from AOSP (i.e. with non-functioning touchscreen attached) as well as bug report from vendor FW (i.e. with functioning touchscreen).

AOSP9.dmesg.txt

bugreport-aosp_h8324-PQ2A.190205.001-2019-02-17-22-16-48.txt

rfeltstykket commented 5 years ago

This is affecting me too with both the v6 and v7 binaries after building AOSP 9, following the AOSP build instructions from the open devices website.

jerpelea commented 5 years ago

Hi thanks for the report I tried to get a device with your touch without success

I can see this line in your dmesg [ 4.477541] clearpad clearpad: (clearpad_touch_config_dt:6078) no chip_id [ 69.680924] clearpad-i2c 2-002c: clearpad_i2c_set_page: set page failed: -107.

chippmann commented 5 years ago

Same here. No aosp based custom rom seems to work for my device. I as well tried to build it with said line added, but with no luck.

kostya-fr commented 5 years ago

Same problem after building android-9.0.0_r37 on first boot I have only message "There's an internal problem with your device. Contact your mlanufacturer for details"

Can't click OK button.

Could somebody helps me please ?

MartinX3 commented 5 years ago

@kostya-fr "Internal problem" sounds like another problem. Could you try your build without a sdcard? And then with selinux permissive?

So we could see if it is either a problem with your sdcard file system or the selinux policy.

stefanhh0 commented 5 years ago

@kostya-fr

On a fresh build the message should no longer occur, it should have been fixed with sonyxperiadev/kernel@1609074128522d5f20d9d07f04ea3b43904014c2

See also the discussion starting here: https://github.com/sonyxperiadev/bug_tracker/issues/393#issuecomment-493311056

kostya-fr commented 5 years ago

Ok first time I built aosp_h8324-userdebug and now I tryed aosp_h8324-eng and it works better ... no error message but touchscreen still not working. :/

dmesg.log

stefanhh0 commented 5 years ago

@kostya-fr the dmesg.log shows that at least your kernel is still on an older commit from two days ago: sonyxperiadev/kernel@46fbfbf358fe

Update with repo_update.sh and delete afterwards kernel/sony/msm-4.9/common-kernel to get a newly built kernel on latest sources.

I don't know if that helps regarding the touchscreen issue but at least then also aosp_h8324-userdebug builds should no longer show the internal problem message.

kostya-fr commented 5 years ago

So I did :

rm -r ~/android/kernel/sony/msm-4.9/common-kernel
make clean
./repo_update.sh && source build/envsetup.sh && lunch

choosing 23 -> aosp_h8324-eng

I don't know why but while the make it says that kernel/sony/msm-4.9/common-kernel/kernel-dtb- is missing but I have kernel/sony/msm-4.9/common-kernel/kernel-apollo so I do that and it works :

cp kernel/sony/msm-4.9/common-kernel/kernel-dtb-apollo kernel/sony/msm-4.9/common-kernel/kernel-dtb-

and then:

make -j 4 bootimage 
make -j 4

Flashed :

fastboot --disable-verity --disable-verification flash vbmeta out/target/product/apollo/vbmeta.img
fastboot flash boot_a out/target/product/apollo/boot.img
fastboot flash dtbo out/target/product/apollo/dtbo.img
fastboot flash system_a out/target/product/apollo/system.img
fastboot flash vendor out/target/product/apollo/vendor.img
fastboot flash oem SW_binaries_for_Xperia_Android_9.0_2.3.2_v8_tama.img
fastboot flash vendor out/target/product/apollo/vendor.img
fastboot flash userdata out/target/product/apollo/userdata.img

All buttons works fine(Volume, photo, lock ) i can make a screenshot but touchscreen doesn't work ... dmesg2.log

stefanhh0 commented 5 years ago

@kostya-fr today several changes have been made to the repos, probably you synced when the setup of the repos has not yet finished properly. Therefore you should resync to get your repos into a clean state.

I failed to resync this evening (CET) via ./repo_update.sh it gave me some error. Therefore I had to do first a force-sync via: repo sync --force-sync -j 8 After that I ran again ./repo_update.sh which then succeeded.

I usually sync the repos after regular CET business hours then the chances are good that the repos are in a usable state. Usually over the day several things are integrated into various git repos that may have inter-dependencies and therefore there is always a risk to sync to something in-between which then does not build or has intermediate issues that are just "temporary artifacts".

You are using a flash procedure that is different then what is documented in https://developer.sony.com/develop/open-devices/guides/aosp-build-instructions/build-aosp-android-p-9-0-0. But since I don't own an apollo myself I can't say whether there is a problem with what you do or if that is totally valid.

The dmesg2.log shows that your kernel is now on sonyxperiadev/kernel@6f8c28697397 which is even older then the previous kernel you have used, that is due to the inconsistent state of the repos and the manual copying.

When you are back to a clean repo state you should rebuild again. Also v9 oem will be released soon, it probably makes sense that you wait with your next build attempt until v9 has been released. It might be the case that v8 is still compatible with all the latest changes but some changes may require v9 already.

Since the ticket here is still open you can expect that a bugfix will be provided at some point in time for the touchscreen issue of the apollo device.

kostya-fr commented 5 years ago

@stefanhh0 Thanks for your help. I will try v9 tonight, hope it gona work.

About my flash procedure I based on https://forum.xda-developers.com/xperia-xz2/development/aosp-aosp-8-1-h8266-t3843269 , bacause after trying official one it doesn't work and recovery.img isn't generated so I flashed all *.img files.

Curiose thing, after rolling back to Xperia Android my camera is black but can taking pictures "fine" ... Hope I didn't screw up the camera

MartinX3 commented 5 years ago

@kostya-fr for the camera please look at the XDA xz2 twrp thread.

And there is no used recovery.img since our recovery is in the boot.img :)

mmarmm commented 5 years ago

@kostya-fr I'm in the same boat, unlocked with a later Xperia Android version and my camera preview is black in Xperia, no touchscreen in AOSP. I'll see if I can build and try different combinations this week to help.

kostya-fr commented 5 years ago

Hi! This night I built AOSP with following script :

branch=android-9.0.0_r37
binary=SW_binaries_for_Xperia_Android_9.0_2.3.2_v9_tama.img

build_clean_aosp.txt

And after flashing I have "System UI isn't responding. Close or Wait", even volume buttons don’t work, no touchscreen, black background... dmesg3.log based on https://github.com/sonyxperiadev/kernel/commit/69cc32601555

After I rebuilt Kernel with official guide (from step 2)

And after flashing I have same behavior (System UI isn't responding, black background… ) dmesg4.log based on https://github.com/sonyxperiadev/kernel/commit/9ab03839fa99

Still no success :'( Did I something wrong in my script ? Should I chose an other branch? In XDA forum I saw that r35 should be stable, but it doesn’t work for me too…

jerpelea commented 5 years ago

please use flashtool and update the SW to the last provided version. Boot the device with a SIM card then reboot and flash AOSP.

kostya-fr commented 5 years ago

@jerpelea I used flashtool Emma on W10 and flashed H8234 52.0.A.3.84 Customized_UK 1313-5469 R2B User-Live COM the top available when I connect my device

MartinX3 commented 5 years ago

The newest is 52.0.A.8.50 (May 2019) https://xpericheck.com/device/H8314 Maybe he want that you use http://www.flashtool.net/index.php

I prefer to use newflasher from XDA (I downloaded the firmware with xperifirm from xda)

jerpelea commented 5 years ago

@kostya-fr please use the version provided in Emma because that one has been tested by us

kostya-fr commented 5 years ago

@jerpelea So H8234 52.0.A.3.84 Customized_UK 1313-5469 R2B User-Live COM ? Why I can't get 52.0.A.8.50 the last one ? @MartinX3 I tried your Flashtool but my device(H8324) is missing in the list of devices

MartinX3 commented 5 years ago

Should still flash your device I prefer newflasher from xda

kostya-fr commented 5 years ago

@MartinX3 With Flasher i have this error : flashtool_2019-05-29_05-27-13.log And newflasher.exe says :

Optional step! Type 'y' and press ENTER if you need GordonGate flash driver, or type 'n' to skip.
This creates GordonGate.7z archive in the same dir with newflasher.exe!
n
Device path: \\?\usb#vid_0fce&pid_b00b#5&33eb7b70&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Class Description: SOMC Flash Device
Device Instance Id: USB\VID_0FCE&PID_B00B\5&33EB7B70&0&1

Optional step! Type 'y' and press ENTER if you want dump trim area, or type 'n' and press ENTER to skip.
Do in mind this doesn't dump drm key since sake authentifiction is need for that!
n
ERROR: TIMEOUT: failed with error code 997 as follows:
Une opÚration dÆentrÚe/sortie avec chevauchement est en cours dÆexÚcution.
 - Error write! Need nBytes: 0x18 but done: 0x0
nBytes[0x0]:

 - Error writing command getvar:max-download-size!

End. You can disconnect your device when you close newflasher.exe
MartinX3 commented 5 years ago

And with newflasher? https://forum.xda-developers.com/crossdevice-dev/sony/progress-newflasher-xperia-command-line-t3619426

stefanhh0 commented 5 years ago

I guess, it would be better if you stick to emma for now. With alternative flashtools like newflasher you may run into different issues that are kind of unnecessary, especially in the context of this issue. The alternative flashtools like newflasher are a little more complicated to handle and you can do wrong things with them. Plus this issue tracker isn't anyway the place to deal with problems of those other flashtools. So for now in order to make things as simple as possible and avoid additional confusion and to get to a well known AOSP baseline forget newflasher and other alternatives flashtools and stick to emma as your preferred flashtool.

Why I can't get 52.0.A.8.50 the last one ?

That question has already been answered by Alin:

please use the version provided in Emma because that one has been tested by us

Emma offers sometimes more than one Version (e.g. in case of XZ1C). Not all of the versions found in emma are always considered as stable. Reason for that is that they contain drivers that are not tested together with current AOSP, as Alin already told. There can be even Versions provided in emma with drivers that are known to introduce instabilities and errors together with current AOSP (like it is currently the case with XZ1C).

If there is just one version provided in emma it is clear which version to flash, anyway you have to choose the variant with userdata wipe! If there is more than one version offered, report them here so that someone can clarify which to actually choose - I can't unfortunately since I don't own a XZ2C.

After you have flashed the stable stock-rom with emma inclusively userdata wipe, boot the phone with inserted sim into that stock-rom. After that, reboot the phone into fastboot mode and verify via fastbooot getvar version-baseband that you are on the expected version-baseband. Write down the exact version-baseband of your phone and report it here in case your touch-screen still isn't working. After you have successfully verified that you are on the expected version-baseband continue flashing a consistent recent build of AOSP and then re-check the function of your touch-screen. I keep the fingers crossed that your touch-screen will work then again.

Grooot56 commented 5 years ago

Just downloaded and installed on June, 2nd on a Sony xz2 compact dual sim H8324, with the files provided in the xda developers tutorial and SW_binaries_for_Xperia_Android_9.0_2.3.2_v9_tama. I do not get any error message but the touchscreen does not respond at all. The side buttons work. I have not managed to install the dual sim patcher yet. I run Linux Mint 18.3 so I cannot use Emma. Thank you for your support.

MartinX3 commented 5 years ago

The problem was on the roms directly compiled as dual sim variant, too. :)

kostya-fr commented 5 years ago

With official Emma flashotool I got this : image

@stefanhh0

fastbooot getvar version-baseband
version-baseband: 1311-5320_52.0.A.3.84

So I think I did it right, no ?

stefanhh0 commented 5 years ago

@jerpelea can you answer the question which SW version should be used together with AOSP? Is it: 52.0.A.3.84 or 51.A.11.51?

MartinX3 commented 5 years ago

It must be that some xz2c have a different touch hardware or hardware revision which works with stock but not with the sodp kernel The problem exists since a long time.

stefanhh0 commented 5 years ago

@kostya-fr You just could give it a try and switch to 51.A.11.51 (SW Update Content Erase), after that reflash current AOSP. At least on xz1c it makes a huge difference in what works and what not depending which SW Update was used as basis, maybe that is also true for xz2c...

In case different hw resp. hw revs. are used for some xz2c then that could very well be a good candidate.

swisssam commented 5 years ago

It seems like I am affected by the same problem. Is there anything I can do to debug this?

kostya-fr commented 5 years ago

Sorry I was a little busy this week. @stefanhh0 So I gave a try for 51.A.11.51 with Emma and then flashed android-9.0.0_r37(compilled 2-3weeks ago) with OEM SW_binaries_for_Xperia_Android_9.0_2.3.2_v9_tama.img, but on first boot I get black screen with"System UI isn't responding" message and after forced reboot I have the same issue(no touchscreen, but other buttons, sounds... seems working) ... Does anyone work on this issue ?

logcat.log logcat_radio.log dmesg.log

hosler commented 5 years ago

I am able to replicate the issue with my xz2c. My touchscreen will not work after installing latest omnirom. this phone is not my current daily driver yet. so im willing to test with it.

masonfaulkner commented 5 years ago

I'm also affected by the touchscreen problem with the xz2c H8314 with Omnirom and AOSP. I'm also willing to test with mine.

Sputnik2a commented 5 years ago

I'm also affected by the touchscreen issue with the H8314 device. I have the issue with Omnirom and AOSP. I deliver logs after resolved my build issues with android-9.0.0_r44 branch. I don't use this device with stock ROM so I can also do any test with it.

lapineige commented 5 years ago

Same issue here: touchscreen not working on both AOSP and OmniROM.

I installed it from a XZ2 Compact Dual Sim, version 52.0.A.3.50, with @MartinX3 files from May (as I understood they are the ones I should use with my version).

How can I deliver the logs ? With adb logcat ?

MartinX3 commented 5 years ago

@lapineige I recommend the newest stock firmware version, but in this case it won't fix this issue ticket on your side. :)

About the logs: Linux

sudo ./adb shell dmesg > dmesg.log
sudo ./adb shell logcat > logcat.log

Windows

adb.exe shell dmesg > dmesg.log
adb.exe shell logcat > logcat.log

If one of them seems to never stop, press the key combination: Linux

CTRL+C

Windows

CTRL+D
lapineige commented 5 years ago

I can't use latest firmware, it is still not available with OTA. And online, only the version .83 is available (for French phones).

I can't use adb, as the devices don't allow me to use USB debugging… OmniROM even show a pop-up to activate it, but I can't touch the screen…

lapineige commented 5 years ago

OK with AOSP it's working, but only logcat, not dmesg.

I don't see anything when I touch the screen. Do you want the full log ?

I don't know what can be relevant in that log. At least the screen is detected:

DisplayManagerService: Display device added: DisplayDeviceInfo{"Built-in Screen": uniqueId="local:0", 1080 x 2160, modeId 1, defaultModeId 1, supportedModes [{id=1, width=1080, height=2160, fps=60.000004}], colorMode 0, supportedColorModes [0], HdrCapabilities android.view.Display$HdrCapabilities@40f16308, density 480, 489.857 x 489.857 dpi, appVsyncOff 1000000, presDeadline 16666666, touch INTERNAL, rotation 0, type BUILT_IN, state UNKNOWN, FLAG_DEFAULT_DISPLAY, FLAG_ROTATES_WITH_CONTENT, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS}

I also see this:

TouchInteractionService: Touch service connected

MarijnS95 commented 5 years ago

@lapineige dmesg is the most useful as the dmesg from @kostya-fr shows there's an issue with the i2c endpoint not being connected (clearpad-i2c 2-002c: clearpad_i2c_set_page: set page failed: -107) - yours is most likely the same.

The interesting thing is that the first errors occur in post_probe, which is disabled on stock Apollo. This probe is apparently retried every time, and may be the cause for the issue. Now this'll most likely not solve anything, since the ENOTCONN persists in future callbacks. Something is up with the i2c.

lapineige commented 5 years ago

But I can't use it :(

The error is : dmesg: klogctl: Permission denied

MarijnS95 commented 5 years ago

@lapineige I'm aware of that. In fact, I'm already in contact with @MartinX3 who supplies your images to deliver one with this feature disabled.

Again, I doubt it'll work, but it's a start.

Also note that you can embed your adb key in /adb_keys on the rootimage, in case you're building AOSP yourself. Or put it in the right location /data/misc/adb/adb_keys from recovery. After all, we need dmesg to figure this out. On AOSP, try adb root before adb shell dmesg.

lapineige commented 5 years ago

What is this adb_keys ?

I actually can't use recovery, I don't know why but I can't boot TWRP, and I can't flash anything into recovery (partition not found or something like that).

MartinX3 commented 5 years ago

thank you for the hint @MarijnS95 Here is a fresh compiled DTBO.

Installation instructions

fastboot flash dtbo dtbo.img
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img

The second command is needed to load the modified dtbo, because my builds are using the AvB2 vbmeta partition to protect your data integrity.

Now we need another full dmesg.log from you. And a logcat.log. You can use either TWRP or the normal android image. I assume that TWRP should be easier for you, since it is rooted by default.

dtbo.img.zip (Please unzip the file first)

lapineige commented 5 years ago

On AOSP, try adb root before adb shell dmesg.

Ok this worked !

I'll provide the full logs.

For now, I can this these errors:

WARNING: CPU: 0 PID: 99 at /home/developer/android/sonyAOSP90/kernel/sony/msm-4.9/drivers/input/touchscreen/clearpad_incell_core.c:4658 clearpad_process_irq+0x250/0x1e40

[drm:sde_crtc_enable:4354] [sde error]failed to enable LUT memory retention -22

i2c_geni 894000.i2c: i2c error :-107

and

clearpad clearpad: (clearpad_process_irq:4657) error (icount=0 rc=-16)

Full log: https://vps.lapineige.fr/privatebin/?f07257ec9bcf75c1#TrbbcCTd269t78RqWRYSadTGSELF9h1aJMt9UI+TK3A=

edit: ok thanks @MartinX3, I'll do it.

MartinX3 commented 5 years ago

@lapineige And don't forget to test https://github.com/sonyxperiadev/bug_tracker/issues/351#issuecomment-519425891 :)

lapineige commented 5 years ago

I assume that TWRO should be easier for you, since it is rooted by default.

What do you mean ? I can flash TWRP as boot image, and it will have root access ? (in the past TWRP touchscreen was working)

MartinX3 commented 5 years ago

The SODP custom rom touch screen was working? Or do you mean the stock rom touch screen?

Please use

fastboot reboot bootloader
fastboot boot twrp.img

If you want to use TWRP. And make sure that you flashed one of the provided SODP based custom ROMs on XDA and used the SODP TWRP.

lapineige commented 5 years ago

What is SODP ?

The first time I flashed your TWRP file, it was working, including the touchscreen. Then I flashed AOSP, and now it's not working (except on stock), and I can't boot to TWRP (nor access to the recovery to wipe the data and come back to stock).

Ok I did:

fastboot reboot bootloader
fastboot flash dtbo dtbo.img
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
fastboot boot twrp.img

(is that correct ?)

And I'm on bootloader (black) screen, with blue led, nothing else, as before.

MartinX3 commented 5 years ago

I mean you flashed either OmniROM or SonyAOSP from XDA first (the custom roms with the touch problems) :) https://forum.xda-developers.com/xperia-xz2/development/aosp-aosp-8-1-h8266-t3843269 https://forum.xda-developers.com/xperia-xz2/development/rom-omnirom-9-0r30-t3897951

The twrp you need to use is the custom rom one from there, it should have the same touch problems https://forum.xda-developers.com/xperia-xz2/development/recovery-twrp-3-2-2-0-touch-recovery-t3821597

But instead of using the dtbo.img file from xda, you use the zipped one I uploaded here, together with the vbmeta command :) (the vbmeta file is part of the rom download on xda)

MartinX3 commented 5 years ago

But just flash the dtbo & vbmeta, reboot and take a dmesg would be the easiest part, since you achieved "adb root" on the normal, touchless android system. :)