Livecasting porting notes for Zenfone 8

I deleted my post because I don’t want to poison this beautiful thread.

Day 21, Season 2

Continuing wifi and video playback…

# find / -type f -iname \*.so -exec grep -q "is not a supported pixel format" {} \; -print
/vendor/lib/libqc2vppfilter.so
/vendor/lib/libqcodec2_v4l2codec.so
/vendor/lib64/libqc2vppfilter.so
/vendor/lib64/libqcodec2_v4l2codec.so

So no sources here.

However, droid media should have info on pixel formats.
(It does have one YV12 reference but I don’t get how the constant is used.)

setprop debug.stagefright.ccodec with values 1 thorugh 4 does not help.

Doing lsof on the above libraries shows this service using the 32-bit ones
6345 mediacod {vendor.qti.medi} media.hwcodec /vendor.qti.media.c2@1.0-service

Changing /odm/lib/ links to bind mounts as in the previous day for lib64… no different video deocoding output.

I should try GST_DEBUG= I remember there was this env variable.


Also, for wifi, it crossed my mind that I echoed 1 to some /dev/…/fs_ready device. Maybe I shouldn’t have done that manually.
Let’s systemctl mask wifiservice.service, remove that echo 1 from droid-hal-early-init.sh and reboot and manually check dmesg if “cold boot calibration” was done.

Hmm… There’s a chance… Let’s unmask it and reboot, but before that, make really sure it runs after droid-hal-init
It is already declared “After=droid-hal-init.service”

So… Unmasked, reboot. It does not crash - but it does not start wifi either. Modprobe fails because of CBC.
Journal shows that droid-init-done is signaled and fs_ready is set to 1 after 10 more seconds, on “post-fs-data” stage.
Then the vendor init scripts try to modprobe the qca_cld_wlan…

Hmm… I could write a post-fs-data init.rc file or… just bind mount my driver to the /vendor/lib/ one… which one would be faster…?
(Or wait 10 seconds which is less than ideal, because I would have to add some additional time)

So, I have this driver

# ls -l /lib/modules/$(uname -r)/qca_cld3_wlan.ko
-rw-r--r--    1 root     root      13253840 May  9 11:36 /lib/modules/5.4.61-qgki-perf-geb682b239d51/qca_cld3_wlan.ko

And Android has this one

ls -l /vendor/lib/modules/qca_cld3_wlan.ko 
-rw-r--r--    1 root     root      13386176 Jan  1  2009 /vendor/lib/modules/qca_cld3_wlan.ko

So I add to my droid-hal-early-init

mount -o bind /lib/modules/$(uname -r)/qca_cld3_wlan.ko /vendor/lib/modules/qca_cld3_wlan.ko

And mask wifiservice again and fingers crossed.
It boots… but it consumes much power :frowning:
Adding my /etc/WCNSS_qcom_cfg.ini again

Also, video playback is broken, doesn’t even start, because I removed all the links from /odm/lib.
Let’s add bind mounts instead.

# Instead of ln -s
for library in libandroidicu libicuuc libicui18n libnativehelper; do
    rm -f /odm/lib/${library}.so
    touch /odm/lib/${library}.so
    mount -o bind  /apex/com.android.art/lib/${library}.so  /odm/lib/${library}.so
done

That wifi… ssh started to be a little choppy. But power is still 200+ mA…
Those bind mounts? they didn’t work. The com.android.art only exists after linkerconfig did its job :frowning:
Moving them to wait-for-linkerconfig script from previous days?

This time, the bind mounts work but the result is the same, gallery does not play more than a dozen frames.

Finally remembered that there was an youtube video that didn’t play, so browser also gives errors on some videos (altough Gallery does on many more - all?)

gecko-camera[16036]: droid-codec error:774 – Hardware error 4

For the same journal error, logcat goes crazy like Ubuntu Pastebin

The familiar “Format changed from codec” that we saw in gallery logs.
This time it’s “YUV420P is not a supported pixel format”

Also, after format changed, a message “Got EOS” is logged, which does this:

            // Prevent new frames from being queued.
            codec->m_src->drain();

Which would explain video locking.

Let’s remove that line, shall we :)?

Then

[HABUILD_SDK]$ make -j$(nproc --all) droidmedia
[PlatformSDK]$ rpm/dhd/helpers/build_packages.sh --gg

Cross checking:

 ls -l out/target/product/sake/system/lib64/libdroidmedia.so 
-rwxr-xr-x 1 vlad vlad 116400 May 27 03:30 out/target/product/sake/system/lib64/libdroidmedia.so

It has the same length as the file in the droidmedia rpm in droid-local-repo.
Let’s scp it. Did I mention that some recent changes made ssh very flaky? Just as it is on my current device.
(Maybe wifi learned how to sleep. Fingerscrossed. Reboot with droidmedia change.)

Now the behaviour is … different. Gallery the same, but the browser video linked in the log above does not spill the ton of screaming “A buffer we don’t know about is being finished!”

I now get

05-27 00:44:10.043 10000   142 D BufferPoolAccessor2.0: bufferpool2 0x7c702f9f68 : 5(82944000 size) total buffers - 4(66355200 size) used buffers - 394/399 (recycle/alloc) - 5/396 (fetch/transfer)
05-27 00:44:10.414 10000   137 E Codec2-types: Null BaseBlock::nativeBlock.
05-27 00:44:10.414 10000   137 E Codec2-types: Invalid WorkBundle::baseBlocks[0].
05-27 00:44:10.444 10000   137 E Codec2-types: Null BaseBlock::nativeBlock.
05-27 00:44:10.445 10000   137 E Codec2-types: Invalid WorkBundle::baseBlocks[0].
05-27 00:44:10.485 10000   137 E Codec2-types: Null BaseBlock::nativeBlock.
05-27 00:44:10.485 10000   137 E Codec2-types: Invalid WorkBundle::baseBlocks[0].
05-27 00:44:10.523 10000   137 E Codec2-types: Null BaseBlock::nativeBlock.
05-27 00:44:10.524 10000   137 E Codec2-types: Invalid WorkBundle::baseBlocks[0].
05-27 00:44:10.574 10000   137 E Codec2-types: Null BaseBlock::nativeBlock.
05-27 00:44:10.575 10000   137 E Codec2-types: Invalid WorkBundle::baseBlocks[0].

which might be related to the fact that I didn’t “drain” those 5 buffers?

This would be a fuller snippet: Ubuntu Pastebin

Next thing tried: reverting that whole commit which introduces the line. This doesn’t work well either.

In hindisght, I think looking into droidmedia for a fix was somewhat misleading.
The video playback doesn’t work well in Waydroid too - which does not use droidmedia, but may suffer from hybris patches (or lack of) or any misconfiguration in the subset of droid services we’re spinning up…

Also, waiting for WIFI Cold-Boot-Calibration to be done by android services did not help either, as I’m writing this I’ve already tested for many hours and it still drains battery. Probably Lineage build itself needs to be flashed to grab logs…

2 Likes

Day 22, Season 2

Stracing mediacod startup (as root for starters) /vendor/bin/hw/vendor.qti.media.c2@1.0-service

Some of the files opened:

/vendor/etc/media_lahaina/video_system_specs.json
/vendor/etc/seccomp_policy/codec2.vendor.base-arm.policy
/vendor/etc/seccomp_policy/codec2.vendor.ext-arm.policy

That “libqc2vppfilter.so” - VPP filter… Video Post Processing?

The video_system_specs.json lists

        // list of codec plugin libraries to be loaded into codec registry
        "QC2CodecPlugins": [
            "libqc2vppfilter.so"
        ],
        // List of HW codecs enabled for this target
        "codecs-available": {
            "decoders": [
                "c2.qti.avc.decoder",
                "c2.qti.avc.decoder.low_latency",
                "c2.qti.avc.decoder.secure",
                "c2.qti.hevc.decoder",
                "c2.qti.hevc.decoder.low_latency",
                "c2.qti.hevc.decoder.secure",
                "c2.qti.vp9.decoder",
                "c2.qti.vp9.decoder.secure",
                "c2.qti.mpeg2.decoder"
            ],
            "encoders": [
                "c2.qti.avc.encoder",
                // "c2.qti.avc.encoder.secure",
                "c2.qti.hevc.encoder",
                "c2.qti.hevc.encoder.cq",
                "c2.qti.heic.encoder"
            ]
        }

Let’s take a whole logcat of that service by killing all processes by user mediacod: Ubuntu Pastebin

Now a playback (video in the browser that stops playing) Ubuntu Pastebin

05-27 20:36:32.788 12437   167 D CCodec  : allocate(c2.qti.avc.decoder)
05-27 20:36:32.792 12437   167 I CCodec  : setting up 'default' as default (vendor) store
05-27 20:36:32.792 12437   167 E Codec2Client: createComponent(c2.qti.avc.decoder) -- transaction failed.
05-27 20:36:32.792 12437   167 W Codec2Client: "create:c2.qti.avc.decoder" failed for service "qti.c2.store" due to transaction failure. (Service may have crashed.) Retrying...
# find /vendor -type f -exec grep qti.c2.store {} \; -prin
/vendor/lib/libqcodec2_core.so

Strings:

/data/vendor/media/qc2_diag/components
libutils.so
libcutils.so
libcodec2_vndk.so
libqcodec2_base.so
libqcodec2_hooks.so
libqcodec2_utils.so
libqcodec2_platform.so
libqcodec2_basecodec.so
libc++.so
libm.so
libdl.so
libqcodec2_core.so

lsof

23671 mediacod {vendor.qti.medi} media.hwcodec /vendor.qti.media.c2@1.0-service

That qc2_diag/ file does not exist…

Also “createComponent(c2.qti.avc.decoder” is not found in frameworks/av/media/codec2/components/cmds/codec2.cpp but createComponent("c2.android.avc.decoder" is…
(There a blog post about this call? Codec2client :: Createcomponent process analysis - Programmer Sought)

Let’s grab logcat from reboot. Too large to share yet…

05-27 21:25:08.867 6169 6905 E vppservice: vendor/qcom/proprietary/commonsys-intf/adsprpc/src/apps_std_imp.c:596:Error 0xffffffff: apps_std getenv failed: ADSP_LIBRARY_PATH Unknown error -1
Oh, neural processing :slight_smile: Snapdragon Neural Processing Engine SDK: DSP Runtime Environment
(I do have “/system/vendor/lib/rfsa/adsp/” but no “libsnpe”:wink:

Detour: # setprop ctl.stop vendor.qti.vibrator
(service vendor.qti.vibrator /vendor/bin/hw/vendor.qti.hardware.vibrator.service)
Maybe vibra works correctly?

05-27 21:25:15.905 6577 6948 D MediaCodecsXmlParser: parsing /vendor/etc/media_codecs_lahaina.xml…
05-27 21:25:15.906 6577 6948 D MediaCodecsXmlParser: parsing /vendor/etc/media_codecs_google_c2_video.xml…
05-27 21:25:15.906 6577 6948 D MediaCodecsXmlParser: MediaCodec: cannot add existing codec at line 70 of /vendor/etc/media_codecs_google_c2_video.xml

At line 70 there’s <Alias name="OMX.google.vp9.decoder" /> , but the same type is associated in lahaia to “”. Or is it because /apex/com.android.media.swcodec/etc/media_codecs.xml already lists the google decoder.

05-27 21:25:15.907 6162 6919 I QC2CompStore: Created interface(c2.qti.avc.decoder) id(0)
but
05-27 21:25:15.928 6162 7972 E QC2CompStore: Failed to locate interface with name c2.android.avc.decoder

Anyway, I entered waydroid to test vibration after stopping that service.
To my surprise, it does not have the same video playback errors. It does skip frames when playing back recorded videos.
But it does not fail and the video I tested on youtube plays nicely. Hmm

So I recalled wrongly that waydroid was suffering from the same problem - it was a similar problem, but different.

So… this means I should go back to debugging DroidMedia:)


Well, on the flip side, I think I figured out vibration slopiness.
Echoing 1 to activate_mode was just boosting the gain for some unrelated reason, but it was causing a miss on some touches.
The real solution was to leave it as it is, as 0, and write to brightness from ngfd, instead of activate - which I thought I already did.
The culprit was that the brightness is set system:system (so no write for user ngfd) by /system/etc/init/hw/init.rc
Now somebody does change that to system:input, for most paths, but not brightness…
For now, removing activate_mode makes vibration stable (though weak) I need to hunt down who is setting (or not) permissions on brightness.

Well, the vibration enhancement solution was once again based on mal’s work.

1 Like

That manual is very odd, it has unnecessary repetitions, spelling mistakes and seems not to be written by a human. But the basic approach seems to be not to unrealistic since I’ve found similar descriptions on other websites. So it seems to be a usual way for other phones.
On these other pages I read about commands like “fastboot OEM unlock” and the like. I tried them all which didn’t work so far.
However, if it were possible, then I gues I’m already failing at the point to enable “OEM unlock” in developer settings. This setting is simply not there even if search function claims to have found it. It is also mentioned in Asus forum by other people.

Yes, that’s what I found, too. I guess the Unlocking Tool is the equivalent to this toggle which other manufacturers have.

1 Like

Day 23, Season 2

(actually notes from before this break)

With the help of piggz got NFC working - almost, - it vibrates - but I have no clue what its use is, I don’t have a current usecase with SFOS.
I have tested the same steps on my Mi Note 10 - and though it does enable nfcd output, it does not vibrate when touching a say, contactless card.

(That being said, to be on the safe side, I pulled out the rubber housing off this Xiaomi - and boy is it a nice device! It doesn’t seem so big without the case. Too bad it is full of shreds on the back:)


GST_DEBUG please

codec reported state: colour: 2130708361,
The HAL codec format 0x7f000789 is unrecognized

Foud it in:

OMX_COLOR_FormatAndroidOpaque = 0x7F000789,
./frameworks/native/headers/media_plugin/media/openmax/OMX_IVCommon.h

So it seems that gst-droid is complaining about OMX_COLOR_FormatAndroidOpaque, but still plays a bit and then not.
Then again mal tells me that the browser does not use gstreamer, but directly droidmedia some other way.
This explains the playback failing at different times between the two.


There’s a chance that [configfs] Add setting for UDC device by piggz · Pull Request #13 · sailfishos/usb-moded · GitHub unblocks usb_moded for me too (and maybe MTP)?

1 Like

I guess NFC is one of those things that don’t work in waydroid, right? I would have a use case there (authentification with a Yubikey).

Does this mean you have it working? Or does it “just” mean you found a clue how to fix it?

Btw, I asked ASUS again regarding the unlock tool and they answered that the maintenance of the app and the server is still ongoing and that they don’t have a date for when it will work again. I am asking myself why the maintenance of a server can take as much time as writing a bachelor’s thesis and if that is due to the fact that they use ASUS hardware for hosting their server :thinking: Not very encouraging…
But on the other hand: I explicitely asked whether it is still the plan to re-enable it and they didn’t say “No”, so maybe there is still hope? :thinking: Time will tell.

1 Like

No, I just found what that number means. Might not be relevant…

Day 24, season 2

Still reading this video logcat Ubuntu Pastebin

Codec2-OutputBufferQueue: remote graphic buffer migration 0/0
C2BqBuffer: local generation change 33793

looks alright but


// frameworks/native/libs/ui/Gralloc4.cpp
I Gralloc4: Adding additional valid usage bits: 0x8202000
// system/memory/libion/ion.c
E ion     : ioctl c0044901 failed with code -1: Inappropriate ioctl for device
// hardware/qcom-caf/sm8350/display/gralloc/gr_utils.cpp
D qdgralloc: Falling back to default YUV format - no camera/video specific format defined, usage 0x100
// frameworks/av/media/bufferpool/2.0/AccessorImpl.cpp
D BufferPoolAccessor2.0: bufferpool2 0x777801ad98 : 5(35389440 size) total buffers - 4(28311552 size) used buffers - 413/418 (recycle/alloc) - 5/415 (fetch/transfer)
// https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/gralloc1.h#792
E qdgralloc: importBuffer: Unable to clone handle
// Possibly NO RESOURCES https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/gralloc1.h#170 
E GraphicBufferAllocator: Failed to allocate (1280 x 544) layerCount 1 format 2141391878 usage 30010100: 5
// ^^ from frameworks/native/libs/ui/GraphicBufferAllocator.cpp
E BufferQueueProducer: [DroidMediaCodecBufferQueue](id:2100000000,api:3,p:33,c:33) dequeueBuffer: createGraphicBuffer failed

First, c0044901

/* ioctl command encoding: 32 bits total, command in lower 16 bits,
 * size of the parameter structure in the lower 14 bits of the
 * upper 16 bits
 */
#define ION_IOC_MAGIC 'I'
#define ION_IOC_ALLOC _IOWR(ION_IOC_MAGIC, 0,   struct ion_allocation_data)
#define ION_IOC_FREE _IOWR(ION_IOC_MAGIC, 1, struct ion_handle_data)
#define ION_IOC_MAP _IOWR(ION_IOC_MAGIC, 2, struct ion_fd_data)
#define ION_IOC_SHARE _IOWR(ION_IOC_MAGIC, 4, struct ion_fd_data)

So… c0044901 is… FREE? The error is when the buffer is freed?

Next, Gralloc 0x8202000
These seem to be passed from here and set here android_vendor_lineage/BoardConfigQcom.mk at lineage-19.1 · LineageOS/android_vendor_lineage · GitHub
There’s an interesting comment on line 70 that “# UM platforms no longer need this set on O+” (O=Android 8) referring to “TARGET_USES_QCOM_BSP := true”
I remember this was one of the hybris quirks, or not - I did found the check to be changed for >5 in droid-hal-device
All that stuff from droid-hal-device seems to be used to generate an android-config.h
That in turn is used in libhybris proper, such as in this commit that adds support for android 12 and 13.

Maybe I need to update libhybris.
The external/libhybris folder is actually a rpm-packaging repo for GitHub - sailfishos-mirror/libhybris: https://github.com/libhybris/libhybris.git
And that resides in a submodule, which is from Jan 23. But there are many (and even recent) commits there:
Comparison: Comparing c3a76b4a32c19812c3eebd41d34dfed2430e6d7d...master · sailfishos-mirror/libhybris · GitHub

The reason the submodule is not updated → maybe things are not ready? Let’s ask mal

piggz cofirms he uses that on Android 12 so I just proceed

[HABUILD_SDK]$ TEMPORARY_DISABLE_PATH_RESTRICTIONS=true make -j$(nproc --all) hybris-hal libui_compat_layer

However, piggz replies that he just builds libhybris on OBS and I do that too.
There is no change in video playback though…

mal replies that I should just try the newest droidmedia - which has no tag, I try the current master 956949b6e96cd5fec7a85ff7a8fdd81156db39f9 for external/droidmedia

Still no change in video output…
(new logcat is Ubuntu Pastebin )

2 Likes

But to be honest, I’m starting to lose a bit of confidence and trust in this company. If they can’t manage to maintain a server within 6 weeks, I don’t have high expectations for their competence in building and maintaining a smartphone. If they can’t get their server right, what about the quality of the smartphones? Don’t misunderstand: I don’t mean that everyone has to be able to do this, I couldn’t and probably none of my acquaintances could, but we don’t work for a big computer company, whose core competence should already include the programming and operation of servers…

In the meantime, I ask myself: is there a real decisive reason to prefer the ZF8 to an Xperia 10 III besides the nicer form factor and the fact that it is a beautiful piece of electronics? (And besides the fact, of course, that I like and appreciate your work :wink: ) Is the quality of the pictures significantly better, for example?

Or is it perhaps worth supporting Jolla in hard times with a small amount of money for AppSupport and buying an Xperia 10 III with a heavy heart?

Apparently I am not very tolerant of frustration today.

Day 26, season 2

MTP

Fixing usb-moded: looking at the configs from other repos I create a file named /etc/usb-moded/99-usb-moded-sake.ini with

[configfs]
gadget_base_directory = /sys/kernel/config/usb_gadget/g1
function_rndis        = rndis.usb0
function_mtp          = ffs.mtp
gadget_conf_directory = configs/b.1

[udev]
extcon_tracking      = 1

(that last part is probably not needed).

MTP starts working right away :wink:
But telnet is gone.

However I notice that the logs continue to complain about “network interface rndis0 does not exist”
It so happens there’s also a set of files in /etc/usb-moded/dyn-modes:
developer_mode-android.ini
developer_mode.ini
mtp_mode-droid.ini

When my telnet works, it uses, as ifconfig says, “usb0” device.
The first one looks suspicions and indeed it has “rndis0” inside.
The second one looks better as it has “usb0” inside.
The third one is probably mtp-related.

I move out of the way the “android” file (which comes from the jolla-developer-mode-0.6.23-1.4.3.jolla.aarch64 package, no less).
Restart usb-moded - there’s another error, that module “g_ether” is not there.
It is present in developer_mode.ini, indeed. I set it to “none” but still no success (btw, this other files comes from usb-moded-developer-mode-0.86.0+mer62-1.12.1.jolla.aarch64)

I look around other repositories and find two commits to learn from: a fxtec pro one, and finally the Volla x23 solution was what worked for me.
Basically I create a file just like developer_mode-android.ini, but named 99-developer_mode.ini and add “usb0” in there.

So this should be the MTP fix.

Wait, too soon. On reboot, it doesn’t work at all (no Ask-ing about mode, not even mode manually set in Settings → USB)
usb_moded[5189]: Unable to find $charger device '/sys/class/power_supply/usb'
usb_moded[5189]: unhandled power supply type: Battery

Hmm… restarting usb-moded from ssh works though.

Let’s see, there’s an After dependency on udev settle, maybe it needs a link?

# mkdir /usr/lib/systemd/system/usb-moded.service.wants/
# cd /usr/lib/systemd/system/usb-moded.service.wants/
/usr/lib/systemd/system/usb-moded.service.wants # ln -s ../systemd-udev-settle.service 

Reboot. No, it’s not that.

The problem seems to be that it does not find the /sys/class/power_supply/usb at that moment when starting.
That is actually a link to /sys/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,battery_charger/power_supply/usb on my system.
The file is timestamped at 1:55:41 and a while there are several messages with “pmic” in logs, this one stands out:
[ 55.186394] (CPU:7-pid:8464:wk:pmic_glink_)[BAT][CHG]handle_notification OEM_USB_PRESENT enable : 1

Hmm… or not, that corresponds to some time I connected the charger.
02:23:13 Zenfone8 usb_moded[5195]: Unable to find $charger device '/sys/class/power_supply/usb'
vs
02:23:24 +0300 usb -> ../../devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,battery_charger/power_supply/usb

That corresponds to this large chunk of log

Jun 14 02:23:24 Zenfone8 unknown: [ 22.419409] (CPU:7-pid:5205:droid-hal-init)droid-hal-init: starting service 'exec 14 (/vendor/bin/init.qcom.early_boot.sh)'... Jun 14 02:23:24 Zenfone8 unknown: [ 22.419912] (CPU:7-pid:5205:droid-hal-init)droid-hal-init: SVC_EXEC service 'exec 14 (/vendor/bin/init.qcom.early_boot.sh)' pid 6020 (uid 0 gid 0+0 context u:r:vendor_qti_init_shell:s0) started; waiting... Jun 14 02:23:24 Zenfone8 kernel: [ 22.458956] (CPU:5-pid:354:wk:pmic_glink_)PMIC_GLINK: pmic_glink_rx_callback: No client present for 32782 Jun 14 02:23:24 Zenfone8 kernel: [ 22.458965] (CPU:5-pid:354:wk:pmic_glink_)PMIC_GLINK: pmic_glink_rx_callback: No client present for 32782 Jun 14 02:23:24 Zenfone8 kernel: [ 22.458969] (CPU:5-pid:354:wk:pmic_glink_)PMIC_GLINK: pmic_glink_rx_callback: No client present for 32782 Jun 14 02:23:24 Zenfone8 kernel: [ 22.459038] (CPU:7-pid:354:wk:pmic_glink_)PMIC_GLINK: pmic_glink_rx_callback: No client present for 32782 Jun 14 02:23:24 Zenfone8 kernel: [ 22.459059] (CPU:6-pid:341:wk:pmic_glink_)PMIC_GLINK: pmic_glink_rx_callback: No client present for 32782 Jun 14 02:23:24 Zenfone8 kernel: [ 22.459114] (CPU:7-pid:341:wk:pmic_glink_)PMIC_GLINK: pmic_glink_rx_callback: No client present for 32782 Jun 14 02:23:24 Zenfone8 kernel: [ 22.460752] (CPU:0-pid:7:wk:pmic_glink_)asuslib_init +++ Jun 14 02:23:24 Zenfone8 kernel: [ 22.460944] (CPU:0-pid:7:wk:pmic_glink_)[BAT]asus_is_extcon_changed Jun 14 02:23:24 Zenfone8 kernel: [ 22.460954] (CPU:0-pid:7:wk:pmic_glink_)[BAT]state=0 Jun 14 02:23:24 Zenfone8 kernel: [ 22.460962] (CPU:0-pid:7:wk:pmic_glink_)[BAT]0 Jun 14 02:23:24 Zenfone8 kernel: [ 22.461104] (CPU:0-pid:7:wk:pmic_glink_)[BAT]extcon_dev_register Jun 14 02:23:24 Zenfone8 kernel: [ 22.461162] (CPU:0-pid:7:wk:pmic_glink_)[BAT]extcon_dev_register Jun 14 02:23:24 Zenfone8 kernel: [ 22.461357] (CPU:0-pid:7:wk:pmic_glink_)[BAT]asus_is_extcon_changed Jun 14 02:23:24 Zenfone8 kernel: [ 22.461366] (CPU:0-pid:7:wk:pmic_glink_)[BAT]state=0 Jun 14 02:23:24 Zenfone8 kernel: [ 22.461375] (CPU:0-pid:7:wk:pmic_glink_)[BAT]0 Jun 14 02:23:24 Zenfone8 kernel: [ 22.461770] (CPU:6-pid:341:wk:pmic_glink_)[BAT]asus_is_extcon_changed Jun 14 02:23:24 Zenfone8 kernel: [ 22.461776] (CPU:6-pid:341:wk:pmic_glink_)[BAT]state=0 Jun 14 02:23:24 Zenfone8 kernel: [ 22.461780] (CPU:6-pid:341:wk:pmic_glink_)[BAT]1 Jun 14 02:23:24 Zenfone8 kernel: [ 22.461784] (CPU:6-pid:341:wk:pmic_glink_)[BAT]asus_extcon_set_state Jun 14 02:23:24 Zenfone8 kernel: [ 22.461788] (CPU:6-pid:341:wk:pmic_glink_)[BAT]state=0 Jun 14 02:23:24 Zenfone8 kernel: [ 22.461841] (CPU:0-pid:7:wk:pmic_glink_)create_uts_status_proc_file sucessed! Jun 14 02:23:24 Zenfone8 kernel: [ 22.461854] (CPU:0-pid:7:wk:pmic_glink_)BATTERY_CHG: RegisterDRMCallback: [BAT][CHG] RegisterDRMCallback Jun 14 02:23:24 Zenfone8 kernel: [ 22.461870] (CPU:0-pid:7:wk:pmic_glink_)BATTERY_CHG: drm_check_dt: find drm_panel successfully Jun 14 02:23:24 Zenfone8 kernel: [ 22.461889] (CPU:0-pid:7:wk:pmic_glink_)BATTERY_CHG: RegisterDRMCallback: [BAT][CHG] RegisterDRMCallback: registering fb notification Jun 14 02:23:24 Zenfone8 kernel: [ 22.461940] (CPU:0-pid:7:wk:pmic_glink_)[BAT][CHG][ERR]Load the asuslib_init Succesfully Jun 14 02:23:24 Zenfone8 kernel: [ 22.462617] (CPU:0-pid:7:wk:pmic_glink_)ucsi_glink soc:qcom,pmic_glink:qcom,ucsi: Error in creating ipc_log_context Jun 14 02:23:24 Zenfone8 kernel: [ 22.462906] (CPU:0-pid:5672:wk:asus_charge)[BAT][CHG]asus_charger_mode_worker. set BATTMAN_OEM_CHG_MODE : 0 Jun 14 02:23:24 Zenfone8 kernel: [ 22.463282] (CPU:0-pid:7:wk:asus_long_f)[BAT][CHG][BAT][CHG]asus_long_full_cap_monitor_worker set BATTMAN_OEM_WORK_EVENT : WORK_LONG_FULL_CAP Jun 14 02:23:24 Zenfone8 kernel: [ 22.463353] (CPU:0-pid:384:wk:asus_usb_th)[BAT][CHG][ERR]asus_usb_thermal_worker: usb_conn_temp = 33808 Jun 14 02:23:24 Zenfone8 kernel: [ 22.463363] (CPU:0-pid:384:wk:asus_usb_th)[BAT][CHG]asus_usb_thermal_worker. set BATTMAN_OEM_THERMAL_ALERT : 0 Jun 14 02:23:24 Zenfone8 kernel: [ 22.467519] (CPU:7-pid:341:wk:pmic_glink_)[BAT][CHG]handle_message set property:22 successfully Jun 14 02:23:24 Zenfone8 kernel: [ 22.467679] (CPU:7-pid:341:wk:pmic_glink_)[BAT][CHG]handle_message set property:16 successfully Jun 14 02:23:24 Zenfone8 kernel: [ 22.467823] (CPU:5-pid:341:wk:pmic_glink_)[BAT][CHG]handle_message set property:17 successfully Jun 14 02:23:24 Zenfone8 kernel: [ 22.467886] (CPU:0-pid:384:wk:asus_usb_th)[BAT]asus_is_extcon_changed Jun 14 02:23:24 Zenfone8 kernel: [ 22.467894] (CPU:0-pid:384:wk:asus_usb_th)[BAT]state=0 Jun 14 02:23:24 Zenfone8 kernel: [ 22.467902] (CPU:0-pid:384:wk:asus_usb_th)[BAT]0 Jun 14 02:23:24 Zenfone8 kernel: [ 22.467909] (CPU:0-pid:384:wk:asus_usb_th)[BAT][CHG]conn_temp(33808) <= 600, disable usb suspend Jun 14 02:23:24 Zenfone8 kernel: [ 22.467929] (CPU:0-pid:384:wk:asus_usb_th)[BAT][CHG]conn_temp(33808), usb(0), otg(0), usb_connector = 0 Jun 14 02:23:24 Zenfone8 kernel: [ 22.467978] (CPU:5-pid:6049:systemd-udevd)[BAT][CHG][ERR]set_qc_stat: status: 2 Jun 14 02:23:24 Zenfone8 kernel: [ 22.467985] (CPU:5-pid:6049:systemd-udevd)[BAT]asus_is_extcon_changed Jun 14 02:23:24 Zenfone8 kernel: [ 22.467988] (CPU:5-pid:6049:systemd-udevd)[BAT]state=0 Jun 14 02:23:24 Zenfone8 kernel: [ 22.467992] (CPU:5-pid:6049:systemd-udevd)[BAT]0

It is not clear if that /vendor/bin/init.qcom.early_boot.sh does something directly or indirectly to power_state, nor if “asus_is_extcon_changed” does (wasn’t udev supposed to be ‘settled?’)
I’ll try (in this order)

  1. to configure usb-moded to use /sys/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,battery_charger/power_supply/usb directly
  2. to just wait for the “/sys/class/power_supply/usb” file/dir to “appear”

The first one still gives “Unable to find $charger device”…
For the second one, I

# cd /usr/lib/systemd/system/
# mkdir usb-moded.service.d/
# vi usb-moded.service.d/10-wait-for-power.conf

And add inside

[Service]
ExecStartPre=/usr/lib/startup/wait-for-file /sys/class/power_supply/usb/current_now

(current_now because that script specifically tests for file, not dir.)

And thaat… finally works.
Now I can grab pictures from the device without ssh:)

1 Like

If they can’t manage to maintain a server within 6 weeks

Hardware companies have a thing with writing shitty software, so I am not surprised. Let’s hope it’s just some more time and then the service is online.

Is there a real decisive reason to prefer the ZF8 to an Xperia 10 III besides the nicer form factor and the fact that it is a beautiful piece of electronics?

I like the less-taller size, have hopes for the camera (more on that below) and really actually included ZF8 in my filters because of double-tap to wake;) The rest I guess is fine with Xperia, even the fingerprint sensor stays in a better place and there is no hole in the screen…

Is the quality of the pictures significantly better, for example?

I only own an Xperia 10 (mark one). Here are some 1:1 crops from Xperia, ZF8, my (current) Mi Note 10 and then again ZF8 with Camera 2 API.
Xperia

ZF8

Mi Note 10

ZF8 Waydroid (Camera 2 API)

The size differs because the default output image was different size (I think 8 MP, 16 and 12 respectively?) And when zoomed to 1:1, the larger resolution has less “field of view” in the same area.
But the differences are really in sensor size and for ZF8, in processing.

what's in the image

The subject is more or less the same brand of water under the same light in my kitchen as
5y ago when I tested Huawei P20 vs Nokia 808. It’s just that my kitchen doesn’t have all of the same things as then.

Or is it perhaps worth supporting Jolla in hard times with a small amount of money for AppSupport and buying an Xperia 10 III with a heavy heart?

You know you can buy a license without a phone… - I mean I do that to support them, but then I usually do it when there’s some sale…

2 Likes

Way OT, but I’m in the unhappy place where the halium vollas (22/x23 +, in my case, GS5&Rephone) for some reason won’t do qml live debugging. The qmllive processes are running on the phone after installation from the SDK finished, but the SDK never gets a call from the process on the phone. I wonder if it’s related?

Hmm that should work through SSH over usb networking? I don’t even get a ssh connection, if you confirm I will look into it more. I was happy to have telnet back after starting usb-moded and selecting “developer mode” in the “Always ask” screen, or MTP otherwise…

I think my issue is, if at all, only tangential. I’m trying to use regular WLAN but should probably try via usb to see if that makes a difference. Since it was not an issue with the old style port on the original volla, I thought it might have to do with the halium style port.

News about unlocking Zenfone:

Hey everyone,
The unlock tool is being updated and is expected to re-launch during Q3 of this year.

Source: ASUS Forum

2 Likes

You know that moment when you wait 10 minutes for the late bus and eventually light up a cigarette? The bus will come around the corner after one or at the latest two puffs.

Yesterday I got a used Xperia 10 III, so you can thank me!

1 Like

Fortunately, I bought it from a dealer and can return it within 14 days. And additionally, fortunately, I haven’t had a chance to unlock the bootloader yet.

1 Like

So ASUS and I have 13 days to do our jobs:)

(kidding, all the pressure is on ASUS :D)

1 Like

I am quite sure that your port will be ready long before ASUS manages to set up a server.