sailfishos-sony-tama / main

Documentation, releases, and issues
MIT License
38 stars 7 forks source link

XZ2 Compact Support (apollo, H8314 and H8324) #38

Closed ApostolosB closed 4 years ago

ApostolosB commented 4 years ago

As stated in the Readme.md. An issue for monitoring the status/development of the single sim XZ2 Compact.

rinigus commented 4 years ago

Tasks to do:

rinigus commented 4 years ago

Partitions on apollo (ls -l /dev/block/bootdevice/by-name)

lrwxrwxrwx 1 root root 15 1971-09-18 09:11 LTALabel -> /dev/block/sda2
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 Qnovo -> /dev/block/sda70
lrwxrwxrwx 1 root root 15 1971-09-18 09:11 TA -> /dev/block/sda1
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 abl_a -> /dev/block/sda12
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 abl_b -> /dev/block/sda24
lrwxrwxrwx 1 root root 15 1971-09-18 09:11 aop_a -> /dev/block/sda9
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 aop_b -> /dev/block/sda21
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 apdp -> /dev/block/sda54
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 appslog -> /dev/block/sda68
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 bluetooth_a -> /dev/block/sda34
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 bluetooth_b -> /dev/block/sda44
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 boot_a -> /dev/block/sda36
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 boot_b -> /dev/block/sda46
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 cdt -> /dev/block/sda64
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 cmnlib64_a -> /dev/block/sda15
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 cmnlib64_b -> /dev/block/sda27
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 cmnlib_a -> /dev/block/sda14
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 cmnlib_b -> /dev/block/sda26
lrwxrwxrwx 1 root root 15 1971-09-18 09:11 ddr -> /dev/block/sda8
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 devcfg_a -> /dev/block/sda16
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 devcfg_b -> /dev/block/sda28
lrwxrwxrwx 1 root root 15 1971-09-18 09:11 devinfo -> /dev/block/sda7
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 diag -> /dev/block/sda69
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 dsp_a -> /dev/block/sda35
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 dsp_b -> /dev/block/sda45
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 dtbo_a -> /dev/block/sda39
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 dtbo_b -> /dev/block/sda49
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 frp -> /dev/block/sda67
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 fsc -> /dev/block/sda72
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 fsg -> /dev/block/sda63
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 fsmetadata -> /dev/block/sda71
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 hyp_a -> /dev/block/sda11
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 hyp_b -> /dev/block/sda23
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 keymaster_a -> /dev/block/sda13
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 keymaster_b -> /dev/block/sda25
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 keystore -> /dev/block/sda66
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 limits -> /dev/block/sda57
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 logdump -> /dev/block/sda60
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 logfs -> /dev/block/sda59
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 misc -> /dev/block/sda65
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 modem_a -> /dev/block/sda33
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 modem_b -> /dev/block/sda43
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 modemst1 -> /dev/block/sda61
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 modemst2 -> /dev/block/sda62
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 msadp -> /dev/block/sda55
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 oem_a -> /dev/block/sda40
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 oem_b -> /dev/block/sda50
lrwxrwxrwx 1 root root 15 1971-09-18 09:11 persist -> /dev/block/sda5
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 qupfw_a -> /dev/block/sda17
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 qupfw_b -> /dev/block/sda29
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 rddata -> /dev/block/sda74
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 rdimage_a -> /dev/block/sda37
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 rdimage_b -> /dev/block/sda47
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 sec -> /dev/block/sda53
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 spunvm -> /dev/block/sda56
lrwxrwxrwx 1 root root 15 1971-09-18 09:11 ssd -> /dev/block/sda6
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 system_a -> /dev/block/sda42
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 system_b -> /dev/block/sda52
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 toolsfv -> /dev/block/sda58
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 tz_a -> /dev/block/sda10
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 tz_b -> /dev/block/sda22
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 tzxfl_a -> /dev/block/sda20
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 tzxfl_b -> /dev/block/sda32
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 tzxflattest_a -> /dev/block/sda19
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 tzxflattest_b -> /dev/block/sda31
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 userdata -> /dev/block/sda73
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 vbmeta_a -> /dev/block/sda38
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 vbmeta_b -> /dev/block/sda48
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 vendor_a -> /dev/block/sda41
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 vendor_b -> /dev/block/sda51
lrwxrwxrwx 1 root root 15 1971-09-18 09:11 xbl_a -> /dev/block/sdb1
lrwxrwxrwx 1 root root 15 1971-09-18 09:11 xbl_b -> /dev/block/sdc1
lrwxrwxrwx 1 root root 15 1971-09-18 09:11 xbl_config_a -> /dev/block/sdb2
lrwxrwxrwx 1 root root 15 1971-09-18 09:11 xbl_config_b -> /dev/block/sdc2
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 xfl_a -> /dev/block/sda18
lrwxrwxrwx 1 root root 16 1971-09-18 09:11 xfl_b -> /dev/block/sda30
lrwxrwxrwx 1 root root 15 1971-09-18 09:11 xflkeystore -> /dev/block/sda3
lrwxrwxrwx 1 root root 15 1971-09-18 09:11 xflkeystorebak -> /dev/block/sda4
rinigus commented 4 years ago

Mountpoints are the same; PR will be submitted soon

rinigus commented 4 years ago

As-is, rpm packages are ready. I need to build image for flashing. For that, we have gitlab CI already setup, just need to config the server to accept images. We already have a server in mind, shouldn't take too long.

As soon as image is ready, someone with xz2c will have to test it

rinigus commented 4 years ago

The development build is available at https://thaodan.de/public/sailfishos/community/images/sony/tama/ (select appropriate device image).

I have not tested for XZ2c, as I don't have one. Please test and report back

Please note these are development images. If all works as intended (boots and functionality is as for XZ2 single sim), we will make new release images. The difference is in over-the-air update support - this is available to release images only.

ApostolosB commented 4 years ago

@rinigus Should i open a new issue for the dual version or the phones are similar enough so we can keep things in this one??

Will have a dual version in about a week and then i can test stuff.

rinigus commented 4 years ago

Let's keep it here. I will change the title to include dual as well

ApostolosB commented 4 years ago

Got the phone and tested basic functionality on android. @rinigus is there a way of contacting you??? Sailfish porters needs registration. We can do it here if you are ok with this.

rinigus commented 4 years ago

Test the functionality well. Also make sure you update to the latest stock before unlocking.

As for contact, let's keep public discussion here regarding XZ2c. When I will ask for logs, better use my email (see authors file in Pure Maps github repo) to avoid exposing any sensitive info (imei numbers, for example).

Overall, plan is simple.

You could also look into what we were doing with ljo at TMO: http://talk.maemo.org/showthread.php?t=100877

ApostolosB commented 4 years ago
Flashing vbmeta partition...
fastboot: error: cannot load 'vbmeta': No such file or directory

even though i got the vbmeta.img in the folder with the rest of the files i get this error when i run

sudo bash ./flash.sh

anything i need to modify on the script??

ApostolosB commented 4 years ago

Ok. Passed that point and i am at the same spot as ljo on the TMO thread. In a shell in recovery mode.

rinigus commented 4 years ago

sorry - will be a bit slow in replies until the workday is done.

so, in recovery you will have to find which device is the touch device among event? ones. I suspect that is the problem. Try to determine it and use in config, as is explained in posts 16 and 15 at TMO thread (in that order)

rinigus commented 4 years ago

PS: do you know what was wrong with vbmeta?

ApostolosB commented 4 years ago

No problem. Take your time. What pays the bills is always more important.

  1. I found the touch device. It is /dev/event1 for the xz2c. Changed it in droid-hal-device.conf and now i am trying to understand what is going on with udev stuff ljo mentions and how to proceed. Where and when do i need to type the udevadm info -q all -a /dev/input/event1 command.

  2. (with a huge grain of salt since i don't understand much of those things) I highly suspect the vbmeta problem has to do with the ${SAILFISH_IMAGE_PATH} before the vbmeta.img option in the flash.sh file. After it failed i run the last command as : fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img and it flashed it worked.

rinigus commented 4 years ago

1: After you changed /var/lib/environment/compositor/droid-hal-device.conf , you should be able to boot into SFOS.

When in SFOS, you can determine info that we will use to assign touch device automatically. See https://github.com/sailfishos-sony-tama/main/issues/41#issuecomment-562822285

2: maybe its sudo invocation. Will have to look into it later...

ApostolosB commented 4 years ago

Sadly it didn't boot. Got stuck again in the sony screen with no led. So it must be something more than the touch device. :disappointed:

rinigus commented 4 years ago

OK, then we need logs. please send them by email. You should be able to grab them by following post 13 at TMO. I think ljo used scp for it, not through telnet

rinigus commented 4 years ago

Question: did the led became white while booting and then switched off?

ApostolosB commented 4 years ago

Yes it was white and then went off and got stuck in the sony screen. Also because i had the usb cable attached it showed the plug thing that SFOS shows when rebooting/starting it with a usb connection. Sailfish is there in a way :smile:

ApostolosB commented 4 years ago

FUUUUUUUUUUUUUCK now i found whats wrong. I typed /dev/event1 instead of dev/input/event1

pebkac. apologies

rinigus commented 4 years ago

Yesss! Very good. Now take your time and when ready:

ApostolosB commented 4 years ago

Before the udev command -which i need to find a way to copy paste- a few issues. (running it without a sim card) I don't see an IMEI on the settings. If i lock the phone it reboots after some time. No BT, WLAN, etc I am getting a nano sim in a few minutes and will report back.

rinigus commented 4 years ago

it should work fine and show IMEI without sim card. that is strange, so we need new logs with reboots, no wifi and bt.

ApostolosB commented 4 years ago

It doesn't even read the sim card i just put into it. The sim card works in another phone.

rinigus commented 4 years ago

it's obviously wrong day+date to fix it, but logs please :)

ApostolosB commented 4 years ago

ok. what logs you need and how can i get them.

rinigus commented 4 years ago

same shutdown log, as you sent before. and the same way:

rinigus commented 4 years ago

to be more specific - I would like to get journal and logcat logs

ApostolosB commented 4 years ago

i know it is an idiotic way but in case you need it here is an image of the udev command.

http://i.imgur.com/9ulJB4z.jpg

couldn't think of something better :man_shrugging:

rinigus commented 4 years ago

that's not bad - looks like you have synaptics_tcm_touch

from your logs, what looks to be wrong is a kernel command line. For some reason, you have it extremely short (I even missed it few times):

Sailfish kernel: Kernel command line: rcupdate.rcu_expedited=1 lpm_levels.sleep_disabled=1 service_locator.enable=1 androidboot.bootdevice=1d840

In my case (xz2) and for xz3 earlier, this is something like

kernel: Kernel command line: rcupdate.rcu_expedited=1 lpm_levels.sleep_disabled=1 service_locator.enable=1 androidboot.bootdevice=1d84000.ufshc androidboot.selinux=permissive msm_rtb.filter=0x3F ehci-hcd.park=3 coherent_pool=8M 
sched_enable_power_aware=1 user_debug=31 cgroup.memory=nokmem printk.devkmsg=on androidboot.hardware=akari androidboot.verifiedbootstate=orange androidboot.keymaster=1 root=PARTUUID=...

and it goes on and on. Same short version was in the first log you sent as well.

So, what could have caused it?

So, I suggest to try to flash again. It should go all through in the script. Note that you have to use USB2 for flashing, USB3 is no good and produces errors with those phones. In my case, I had to use older PC with USB2 to flash the phone.

We don't have a fix for touch device yet on your images. But you may as well boot into it, shutdown, and check the logs for kernel command line as well. If it is long, shows your IMEI, serial no, then it was just flashing gone bad. In that case, fix touch device config and try SFOS again.

If command line is still short, we have to figure out what's your stock version was. But let's take that if reflashing will not help.

rinigus commented 4 years ago

PS: I did check the images that we have on https://thaodan.de/public/sailfishos/community/images/sony/tama/h8324/ - I presume you used that - and that image does have a correct command line.

Looks like yours is "just" cut for some reason. Fingers crossed that reflashing will help

ApostolosB commented 4 years ago

I had the android stuff on the phone updated to the latest. I even checked with the IMEI on the sony website. The version was correct.

ApostolosB commented 4 years ago

Also i used USB2. If it doesn't go through the whole script i'll again run the last command manually and see how it goes. I assume its no big deal since it didn't have anything more after it. AFAI understand at least.

It would be also good to have another tester. That would help a bit.

rinigus commented 4 years ago

That's both very good! Then we don't have to mess with stock updates. Did you boot into the last stock as well?

As for USB2, let's hope that it will work this time then.

ApostolosB commented 4 years ago

Yes. Did the updates and tested phone 4g etc.

The script failed again BTW.

[toliz@mainland flash]$ sudo fastboot getvar current-slot
[sudo] password for toliz:
current-slot: a
Finished. Total time: 0.003s
[toliz@mainland flash]$ sudo ./flash.sh
Detected Linux
Searching device to flash..
Found 1 devices: BH9004VJGY
Fastboot command: fastboot -s BH9004VJGY
Flashing boot partition..
Sending 'boot_a' (20352 KB)                        OKAY [  0.644s]
Writing 'boot_a'                                   OKAY [  0.122s]
Finished. Total time: 0.779s
Flashing dtbo partition..
Sending 'dtbo' (8192 KB)                           OKAY [  0.263s]
Writing 'dtbo'                                     OKAY [  0.060s]
Finished. Total time: 0.334s
Flashing userdata partition..
Sending sparse 'userdata' 1/3 (522124 KB)          OKAY [ 16.463s]
Writing 'userdata'                                 OKAY [  0.001s]
Sending sparse 'userdata' 2/3 (498392 KB)          OKAY [ 16.159s]
Writing 'userdata'                                 OKAY [  0.001s]
Sending sparse 'userdata' 3/3 (355431 KB)          OKAY [ 11.569s]
Writing 'userdata'                                 OKAY [  0.001s]
Finished. Total time: 44.237s
Flashing system_b partition..
Sending sparse 'system_b' 1/2 (524284 KB)          OKAY [ 16.447s]
Writing 'system_b'                                 OKAY [  0.004s]
Sending sparse 'system_b' 2/2 (82460 KB)           OKAY [  9.856s]
Writing 'system_b'                                 OKAY [  0.001s]
Finished. Total time: 83.824s
Flashing vendor_a partition..
Sending 'vendor_a' (376 KB)                        OKAY [  0.022s]
Writing 'vendor_a'                                 OKAY [  0.001s]
Finished. Total time: 2.057s
Flashing vendor_b partition..
Sending 'vendor_b' (376 KB)                        OKAY [  0.022s]
Writing 'vendor_b'                                 OKAY [  0.001s]
Finished. Total time: 72.685s
Flashing oem partition..
Sending 'oem_a' (194436 KB)                        OKAY [  6.095s]
Writing 'oem_a'                                    OKAY [  1.082s]
Finished. Total time: 79.820s
Flashing vbmeta partition...
fastboot: error: cannot load 'vbmeta': No such file or directory
[toliz@mainland flash]$ sudo fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
[sudo] password for toliz:
Rewriting vbmeta struct at offset: 0
Sending 'vbmeta' (4 KB)                            OKAY [  0.004s]
Writing 'vbmeta'                                   OKAY [  0.001s]
Finished. Total time: 0.016s
[toliz@mainland flash]$
rinigus commented 4 years ago

OK, then I have to look into it.

How is the command line for kernel?

ApostolosB commented 4 years ago

Jul 05 16:47:15 Sailfish kernel: Kernel command line: rcupdate.rcu_expedited=1 lpm_levels.sleep_disabled=1 service_locator.enable=1 androidboot.bootdevice=1d84000.ufshc androidboot.selinux=permissive msm_rtb.filter=0x3F ehci-hcd.park=3 coherent_pool=8M sched_enable_power_aware=1 user_debug=31 cgroup.memory=nokmem printk.devkmsg=on androidboot.hardware=akari androidboot.verifiedbootstate=orange androidboot.keymaster=1 root=PARTUUID=f9cdf7ba-b834-a72a-f1c9-d6e0c0983896 androidboot.bootdevice=1d84000.ufshc androidboot.baseband=sdm lcdid_adc=231857 androidboot.slot_suffix=__a skip_initramfs rootwait ro init=/init androidboot.dtbo_idx=2 androidboot.bootloader=xboot oemandroidboot.xboot=1310-7079_X_Boot_SDM845_LA2.0_P_118 androidboot.serialno=BH9004VJGY startup=0x00000001 warmboot=0x00000000 oemandroidboot.babe09a9=00 oemandroidboot.babe08b3=50000000 oemandroidboot.babe137e=31 oemandroidboot.imei=35xxxxxxxxxxxxxx5 oemandroidboot.security=0 oemandroidboot.securityflags=0x00000003

this is the command line. probably me cnp the logs cut a few long lines.

rinigus commented 4 years ago

Looking waaaay better. Please correct the touch device and see if all works

rinigus commented 4 years ago

ok, looks like its still using old boot image for some reason. See "androidboot.hardware=akari" . Let me make new development images for you. I suspect that there will be issues with some radios. That may take 1 hour...

rinigus commented 4 years ago

I'll use it also to add touchscreen config

ApostolosB commented 4 years ago

I 'll be here. :smile:

rinigus commented 4 years ago

Looks like boot image has a correct cmd line now:

cmdline = lpm_levels.sleep_disabled=1 androidboot.bootdevice=1d84000.ufshc swiotlb=2048 
service_locator.enable=1 androidboot.selinux=permissive msm_rtb.filter=0x3F ehci-hcd.park=3 
coherent_pool=8M sched_enable_power_aware=1 user_debug=31 cgroup.memory=nokmem 
printk.devkmsg=on androidboot.hardware=apollo

(on device it should add other options to it). So, please try the current build from https://thaodan.de/public/sailfishos/community/images/sony/tama/h8324/

ApostolosB commented 4 years ago

Huge improvement in general. However i have two issues and seem to be big. First after i lock the phone from the top menu it reboots. This of a big deal. Second the sim card is disabled and i cant get 4g internet.

Other than that everything i tested with the mce tool seems to work ok -apart from fingerprint which is known and radio which doesn't have one-. NFC also works. So if we fix the reboot issue i thing we are good to go.

Also. ssu s reports the same IMEI (first only) as in the Device. Xperia XZ2 Compact (h8324 / h8324)

rinigus commented 4 years ago

Thank you for ssu test. I will request access to your device as well.

Cannot reproduce here locking of the phone nor 4g net issues. Please send the logs (journal and logcat).

4G: Easiest is probably to boot, try to enable 4G. Then shutdown and on new boot to SFOS grab shutdown logs from /root/

locking: change journal storage to persistent (as in https://www.freedesktop.org/software/systemd/man/journald.conf.html). reboot. then try induce reboot by locking. after reboot, become root and grab journal: journalctl > journal.lock.txt. Please send me that

I don't have right now idea why it could happen. But we can test whether rebuild using XZ2c specific hal will help.

I may ask you to flash AOSP and test if the sim card works in it. Its available at https://forum.xda-developers.com/xperia-xz2/development/aosp-aosp-8-1-h8266-t3843269

rinigus commented 4 years ago

Thanks for logs, will take some time before I can fully get through them. Looks like we don't reach network, sound, and bluetooth targets during boot.

Would you mind to test if 4G and Bluetooth works on AOSP9 on your device? Link to XDA is in the message above

rinigus commented 4 years ago

Unless you flashed AOSP already, let's see what can we do with SFOS to see 4G situation clearer. Right now, nothing really showed up in the logs except non-reaching targets.

If its not working, while I'll be checking logs, please check if it works in AOSP

rinigus commented 4 years ago

One more update:

before reboot after 4G network failure, please also get

systemctl status > status

That will tell us which systemd services are failing. Would simplify going through the journal.

ApostolosB commented 4 years ago

systemctl status > status running this gives no result.

also systemctl list-units --state=failed lists 0 failed units.

rinigus commented 4 years ago

systemctl status > status will put its output to status file. I'd like to see it - looks like some targets are not reached and it should show why

rinigus commented 4 years ago

and in the last logs, without wifi, all targets are reached nicely. no wonder there are no failed units