UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    vendor.dataqti keeps crashing

    Scheduled Pinned Locked Moved Unsolved Support
    5 Posts 3 Posters 170 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • J Offline
        jaxx
        last edited by

        Hi all,

        Trying to use my 'Surya' Poco X3 as a glorified power sipping SBC (for automotive telematics being the end goal) though it hasn't left my lab desk yet...

        Since a few days (dunno when it started, but less then 4 days ago, wasn't keeping an eye on it)

        These keep popping up in dmesg, and it seems this triggers enough cpu/irq switches that power use tripled from a steady 300mW to 900mW (unless that's a side affect of a power profile issue since I also see healthd: Unknown power supply type 'Batt_Verify' )

        [Sun May 25 20:34:53 2025] init: Service 'vendor.dataqti' (pid 7108) exited with status 255
        [Sun May 25 20:34:53 2025] init: Sending signal 9 to service 'vendor.dataqti' (pid 7108) process group...
        [Sun May 25 20:34:53 2025] libprocessgroup: Successfully killed process cgroup uid 1001 pid 7108 in 0ms
        [Sun May 25 20:34:53 2025] init: updatable process 'vendor.dataqti' exited 4 times in 4 minutes
        [Sun May 25 20:34:53 2025] init: Unable to set property 'ro.init.updatable_crashing_process_name' to 'vendor.dataqti' from uid:0 gid:0 pid:1: Read-only property was already set
        [Sun May 25 20:34:53 2025] init: Unable to set property 'ro.init.updatable_crashing' to '1' from uid:0 gid:0 pid:1: Read-only property was already set
        [Sun May 25 20:34:53 2025] init: starting service 'vendor.dataqti'...
        [Sun May 25 20:34:53 2025] init: Created socket '/dev/socket/qti_dpm_uds_file', mode 660, user 1001, group 1001
        

        For context: wifi is kept on hotspot via nmcli (called if needed via nodered running on the phone), and there's an openvpn client always on (so I can ssh back to it freely). but I don't see this being a cause anyways, it ran quiet and reliably for days... while I know qti is part of Qualcomm's suite of tools, I don't really know what QTI does besides crashing every few seconds

        /system/vendor/bin/qti is used in /system/vendor/etc/init/dataqti.rc in turn called from various 'start vendor.dataqti' in /system/vendor/bin/init.class_main.sh

        The continous crashes if not triggering power draw, does trigger lots of noise... but doesn't affect network performance

        Can anyone help me in debugging this ? I'm not good at all these Android layered shenanigans and dunno how to tinker with it's rc.init system

        Thanks 🙂

        J ikozI E 3 Replies Last reply Reply Quote 0
        • J Offline
          jaxx @jaxx
          last edited by

          Hmmm

          strace seems to give something:

          # strace -p $(pgrep -f "/system/vendor/bin/qti")
          ... a few lines later ...
          openat(AT_FDCWD, "/dev/rmnet_ctrl", O_RDWR) = -1 ENOENT (No such file or directory)
          getuid()                                = 1001
          writev(5, [{iov_base="\0\264-\271\0054h\217hr7", iov_len=11}, {iov_base="\6", iov_len=1}, {iov_base="QTI_SDM_INFO\0", iov_len=13}, {iov_base="[qti_rmnet_peripheral.c:758] qti"..., iov_len=117}], 4) = 142
          getuid()                                = 1001
          writev(6, [{iov_base="l\225\0\351\3\264-", iov_len=7}, {iov_base="\0\264-\271\0054h\217hr7", iov_len=11}, {iov_base="\6", iov_len=1}, {iov_base="QTI_SDM_INFO\0", iov_len=13}, {iov_base="[qti_rmnet_peripheral.c:758] qti"..., iov_len=117}], 5) = 149
          nanosleep({tv_sec=1, tv_nsec=0}, 0x7feb611ed0) = 0
          openat(AT_FDCWD, "/dev/rmnet_ctrl", O_RDWR) = -1 ENOENT (No such file or directory)
          getuid()                                = 1001
          writev(5, [{iov_base="\0\264-\272\0054h\305\221\48", iov_len=11}, {iov_base="\6", iov_len=1}, {iov_base="QTI_SDM_INFO\0", iov_len=13}, {iov_base="[qti_rmnet_peripheral.c:758] qti"..., iov_len=117}], 4) = 142
          getuid()                                = 1001
          writev(6, [{iov_base="l\225\0\351\3\264-", iov_len=7}, {iov_base="\0\264-\272\0054h\305\221\48", iov_len=11}, {iov_base="\6", iov_len=1}, {iov_base="QTI_SDM_INFO\0", iov_len=13}, {iov_base="[qti_rmnet_peripheral.c:758] qti"..., iov_len=117}], 5) = 149
          nanosleep({tv_sec=1, tv_nsec=0}, 0x7feb611ed0) = 0
          openat(AT_FDCWD, "/dev/rmnet_ctrl", O_RDWR) = -1 ENOENT (No such file or directory)
          getuid()                                = 1001
          writev(5, [{iov_base="\0\264-\273\0054h\316\2\2208", iov_len=11}, {iov_base="\6", iov_len=1}, {iov_base="QTI_SDM_INFO\0", iov_len=13}, {iov_base="[qti_rmnet_peripheral.c:758] qti"..., iov_len=117}], 4) = 142
          getuid()                                = 1001
          writev(6, [{iov_base="l\225\0\351\3\264-", iov_len=7}, {iov_base="\0\264-\273\0054h\316\2\2208", iov_len=11}, {iov_base="\6", iov_len=1}, {iov_base="QTI_SDM_INFO\0", iov_len=13}, {iov_base="[qti_rmnet_peripheral.c:758] qti"..., iov_len=117}], 5) = 149
          nanosleep({tv_sec=1, tv_nsec=0}, 0x7feb611ed0) = 0
          getuid()                                = 1001
          writev(5, [{iov_base="\0\264-\274\0054h\324y\3558", iov_len=11}, {iov_base="\6", iov_len=1}, {iov_base="QTI_SDM_INFO\0", iov_len=13}, {iov_base="[qti_rmnet_peripheral.c:775] qti"..., iov_len=124}], 4) = 149
          getuid()                                = 1001
          writev(6, [{iov_base="l\234\0\351\3\264-", iov_len=7}, {iov_base="\0\264-\274\0054h\324y\3558", iov_len=11}, {iov_base="\6", iov_len=1}, {iov_base="QTI_SDM_INFO\0", iov_len=13}, {iov_base="[qti_rmnet_peripheral.c:775] qti"..., iov_len=124}], 5) = 156
          getuid()                                = 1001
          writev(5, [{iov_base="\0\264-\274\0054h\316\232\2079", iov_len=11}, {iov_base="\6", iov_len=1}, {iov_base="QTI_SDM_INFO\0", iov_len=13}, {iov_base="[qti_rmnet_peripheral.c:832] qti"..., iov_len=125}], 4) = 150
          getuid()                                = 1001
          writev(6, [{iov_base="l\235\0\351\3\264-", iov_len=7}, {iov_base="\0\264-\274\0054h\316\232\2079", iov_len=11}, {iov_base="\6", iov_len=1}, {iov_base="QTI_SDM_INFO\0", iov_len=13}, {iov_base="[qti_rmnet_peripheral.c:832] qti"..., iov_len=125}], 5) = 157
          getuid()                                = 1001
          writev(5, [{iov_base="\0\264-\274\0054h\2\t\3609", iov_len=11}, {iov_base="\6", iov_len=1}, {iov_base="QTI_SDM_INFO\0", iov_len=13}, {iov_base="[qti_main.c:720] main():Failed t"..., iov_len=70}], 4) = 95
          getuid()                                = 1001
          writev(6, [{iov_base="lf\0\351\3\264-", iov_len=7}, {iov_base="\0\264-\274\0054h\2\t\3609", iov_len=11}, {iov_base="\6", iov_len=1}, {iov_base="QTI_SDM_INFO\0", iov_len=13}, {iov_base="[qti_main.c:720] main():Failed t"..., iov_len=70}], 5) = 102
          mprotect(0x7fa8a56000, 4096, PROT_READ|PROT_WRITE) = 0
          mprotect(0x7fa8a56000, 4096, PROT_READ) = 0
          mprotect(0x7fa8a56000, 4096, PROT_READ|PROT_WRITE) = 0
          mprotect(0x7fa8a56000, 4096, PROT_READ) = 0
          mprotect(0x7fa8a56000, 4096, PROT_READ|PROT_WRITE) = 0
          mprotect(0x7fa8a56000, 4096, PROT_READ) = 0
          munmap(0x7fa8a56000, 4096)              = 0
          exit_group(-1)                          = ?
          +++ exited with 255 +++
          

          I think I read about a missing /dev/rmnet_ctrl somewhere causing issues

          1 Reply Last reply Reply Quote 0
          • ikozI Offline
            ikoz @jaxx
            last edited by ikoz

            @jaxx To lower power draw you can change the governor to powersave, see this.

            About the crashing qti service, since the device works properly without it working, I believe it should be safe to disable it (don't have a qualcomm device to test this). I thought UT 20.04 and onwards uses exclusively systemd and not init.rc?

            May the source be with you

            J 1 Reply Last reply Reply Quote 0
            • J Offline
              jaxx @ikoz
              last edited by

              @ikoz

              Hi (again 🙂 )

              Oddly, changing governor didn't help (nor did disabling most cores)

              I did comment out the start vendor.dataqti from the script and rebooted and it didn't help

              the base system is systemd, but it launches the "fake" android (imported from the the original android image) via lxd and tons of bindings between the two spaces ... the android side has it's own historic management system ...

              anyways, I'm trying out postmarketOS, much cleaner systemwise imho, I don't even care the cameras don't work actually (and a modern kernel, but a different approach than piggybacking on android images) just gotta find out why the devices stalls sometimes and LTE doesn't work

              1 Reply Last reply Reply Quote 1
              • E Offline
                Eric H @jaxx
                last edited by

                @jaxx
                About dataqti service, take a look at :
                https://gitlab.com/ubports/porting/community-ports/android10/xiaomi-poco-x3/xiaomi-surya/-/merge_requests/21

                About powersaving, please see :
                https://codeberg.org/EricHeintzmann/UbuntuTouch/issues/24

                Any help will be welcome

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post