UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login
    1. Home
    2. janmv
    J
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 3
    • Posts 17
    • Groups 0

    janmv

    @janmv

    4
    Reputation
    3
    Profile views
    17
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    janmv Unfollow Follow

    Best posts made by janmv

    • RE: How I'm now using Signal on UT

      Just to follow-up on the original post (@Moem, @danfro): the Signal bridge bot at tchncs.de currently works again 🙂 . They managed to block the spam.

      A single addition. The Signal bridge bot replies with a QR-code and a sgnl://-URL. My primary Signal device had some trouble scanning the QR-code - it got picked up as I was just about to give up.
      I suppose the URL can also be used for linking the devices, so if anyone has done that successfully, it may be worth posting here.

      posted in General
      J
      janmv
    • RE: FP4 idle battery use varies a lot depending on 2G, 3G or 4G setting. Why?

      Some progress to mention:

      • As far as I can tell from the sources, setting FastDormancy should work, but I'm not sure I am looking at the right sources (gitlab ubports development core ofono-ubports)
        For a check:
      phablet@ubuntu-phablet:/usr/sbin$ ./ofonod --version
      1.29
      

      and

      phablet@ubuntu-phablet:/usr/lib/systemd/system$ dpkg -l | grep ofono
      ...
      ii  ofono-sailfish 1.29+git8-0ubports1~20240527210340.1~66073d0+ubports20.04                        arm64        Mobile telephony stack (daemon)
      ...
      
      • If I run testscript set-fast-dormancy (location mentioned above, from subdirectory test), it responds
      phablet@ubuntu-phablet:~/.local/bin$ set-fast-dormancy 1
      Setting fast dormancy for modem /ril_0...
      Traceback (most recent call last):
        File "/home/phablet/.local/bin/set-fast-dormancy", line 26, in <module>
          radiosettings.SetProperty("FastDormancy", dbus.Boolean(enable));
        File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 72, in __call__
          return self._proxy_method(*args, **keywords)
        File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 141, in __call__
          return self._connection.call_blocking(self._named_service,
        File "/usr/lib/python3/dist-packages/dbus/connection.py", line 652, in call_blocking
          reply_message = self.send_message_with_reply_and_block(
      dbus.exceptions.DBusException: org.ofono.Error.NotImplemented: Implementation not provided
      
      • Testscript get-tech-preference returns:
      phablet@ubuntu-phablet:~/.local/bin$ get-tech-preference
      Technology preference: umts
      

      and this value changes correctly if I switch to 2G or to 2G/3G/4G

      • I added two lines to this script slightly to return all radiosettings:
      for p in properties:
          print(p)
      

      It shows:

      phablet@ubuntu-phablet:~/.local/bin$ get-radiosettings
      TechnologyPreference
      AvailableTechnologies
      

      So it seems that my current ofono implementation does not have a FastDormancy setting. @lduboeuf You suggest the reason might be the component in between the modem and ofono. What component is that?

      posted in Support
      J
      janmv
    • RE: FP4 idle battery use varies a lot depending on 2G, 3G or 4G setting. Why?

      @lduboeuf I'll formulate a question for next Q&A-session. There is probably more to know and to consider than just a driver which could be implemented more completely.
      I can still bring up the issue in the ofono-binder-plugin repository later.
      Thanks!

      posted in Support
      J
      janmv
    • RE: FP4 idle battery use varies a lot depending on 2G, 3G or 4G setting. Why?

      It appears that the RIL-modem-software has no implementation of setting fast dormancy.

      The FP4 has five plugins installed in folder /usr/lib/aarch64-linux-gnu/ofono-sailfish/plugins:

      -rw-r--r-- 1 root root  19176 Aug 23  2023 apndbplugin.so
      -rw-r--r-- 1 root root 367264 Oct  7  2024 binderplugin.so
      -rw-r--r-- 1 root root  70592 Sep 25  2024 mtkbinderpluginext.so
      -rw-r--r-- 1 root root   6096 Nov 19  2023 rilbinderplugin.so
      -rw-r--r-- 1 root root 320424 Aug 23  2023 rilplugin.so
      

      The packaging information in gitlab/ubports/development/core/packaging says that sources of binderplugin, rilbinderplugin and rilplugin are available at mer-hybris at github. (I suppose the other two plugins are not related to setting fast dormancy.)

      An ofono plugin initializes driver methods when it is registered. Radio settings are initialized in this struct (defined in sailfishos/ofono/.../ofono/include/radio-settings.h):

      struct ofono_radio_settings_driver {
         (...)
         void (*query_fast_dormancy)(...)
         void (*set_fast_dormancy)(...)
         (...)
      }
      

      In the mer-hybris binderplugin this structure is initialized (ofono-binder-plugin/src/binder_radio_settings.c line 234):

      binder_radio_settings_init() {
         ofono_radio_settings_driver_register(&binder_radio_settings_driver);
      }
      

      but binder_radio_settings_driver does not provide fast dormancy methods (line 224). It only sets:

      static const struct ofono_radio_settings_driver binder_radio_settings_driver = {
      	.name                 = BINDER_DRIVER,
      	.probe                = binder_radio_settings_probe,
      	.remove               = binder_radio_settings_remove,
      	.query_rat_mode       = binder_radio_settings_query_rat_mode,
      	.set_rat_mode         = binder_radio_settings_set_rat_mode,
      	.query_available_rats = binder_radio_settings_query_available_rats
      };
      

      As a result, radio_set_property_handler() in ofono/src/radio-settings.c (line 658) returns "Not implemented":

      if (rs->driver->set_fast_dormancy == NULL)
      	return __ofono_error_not_implemented(msg);
      

      There are other repositories on github with the same code, but none of them provide fast dormancy methods.

      Now what could be next? Of course I could be overlooking things. Is my conclusion right (RIL modem software does not implement fast dormancy)? If so, is it worth fixing? I'd say yes, as the difference in battery usage is large and 2G/3G are being phased out. And if it is worth fixing, then where? The ofono-binder-plugin repository is active. Would this be the place to ask? @lduboeuf can I have your advice once more?

      posted in Support
      J
      janmv
    • RE: How I'm now using Signal on UT

      @danfro Yes I am tryng the tchncs.de bridge. And from a German perspective I am foreign as well, and new. So this may well be the reason. How can I follow the developments?

      posted in General
      J
      janmv

    Latest posts made by janmv

    • RE: How I'm now using Signal on UT

      Just to follow-up on the original post (@Moem, @danfro): the Signal bridge bot at tchncs.de currently works again 🙂 . They managed to block the spam.

      A single addition. The Signal bridge bot replies with a QR-code and a sgnl://-URL. My primary Signal device had some trouble scanning the QR-code - it got picked up as I was just about to give up.
      I suppose the URL can also be used for linking the devices, so if anyone has done that successfully, it may be worth posting here.

      posted in General
      J
      janmv
    • RE: Ubuntu Touch Q&A 170 call for questions

      Could you give me some general context regarding 4G (lte) and battery usage?

      As a newcomer, I posted a question on the forum because I noted the large standby power consumption of my FP4: it is larger than 2G and 3G, it is larger than comparable devices on Android and it appears to affect other brands as well. I'm not the first one to note; there is even a battery Saver app which explicitly switches off 4G when there is no use for it.

      Digging into the code, I found out about a so-called 'fast dormancy' setting, which (at least on FP4) is 'Not Implemented'. My first reaction, as I am willing to contribute to UT, was to see if I could provide an implementation. But the context is complicated and it is confusing to me. I'll try to list (and correct me if I'm wrong):

      • In the FP4-UT Telegram chat, Flohack mentioned that an implementation already did get proposed (https://github.com/ubports/ofono/pull/38), but it never found its way into the code.
      • The 'fast dormancy' setting (a simple yes/no) has developed into a more fine-grained setting in Android, but this seems unexplored territory, also because information on modem APIs is limited; not all modems may be able to handle this new version.
      • In order to work, something called MCE (Mode Control Entity) needs to provide information on the device state. The code is in the libmce-glib-repowerd-stub repository, which does not sound very final 😉
      • The repositories in which much of the code resides, are not maintained by UBports (but by Sailfish). I suppose these communities are in touch?

      I suppose 4G-battery-use is sufficiently serious to pay attention to. So what is the bigger picture here? What is UT working towards to? And if I wish to do more than just an occasional post in the forum and the Telegram channels, what do you suggest me to pick up?

      posted in News
      J
      janmv
    • RE: FP4 idle battery use varies a lot depending on 2G, 3G or 4G setting. Why?

      @lduboeuf Thank you Lionel. I was already following the discussion in the UT-FP4 Telegram group on the same topic, but I was not aware of this one in Core Dev. Same contributors 😉

      posted in Support
      J
      janmv
    • RE: FP4 idle battery use varies a lot depending on 2G, 3G or 4G setting. Why?

      @lduboeuf I'll formulate a question for next Q&A-session. There is probably more to know and to consider than just a driver which could be implemented more completely.
      I can still bring up the issue in the ofono-binder-plugin repository later.
      Thanks!

      posted in Support
      J
      janmv
    • RE: FP4 idle battery use varies a lot depending on 2G, 3G or 4G setting. Why?

      It appears that the RIL-modem-software has no implementation of setting fast dormancy.

      The FP4 has five plugins installed in folder /usr/lib/aarch64-linux-gnu/ofono-sailfish/plugins:

      -rw-r--r-- 1 root root  19176 Aug 23  2023 apndbplugin.so
      -rw-r--r-- 1 root root 367264 Oct  7  2024 binderplugin.so
      -rw-r--r-- 1 root root  70592 Sep 25  2024 mtkbinderpluginext.so
      -rw-r--r-- 1 root root   6096 Nov 19  2023 rilbinderplugin.so
      -rw-r--r-- 1 root root 320424 Aug 23  2023 rilplugin.so
      

      The packaging information in gitlab/ubports/development/core/packaging says that sources of binderplugin, rilbinderplugin and rilplugin are available at mer-hybris at github. (I suppose the other two plugins are not related to setting fast dormancy.)

      An ofono plugin initializes driver methods when it is registered. Radio settings are initialized in this struct (defined in sailfishos/ofono/.../ofono/include/radio-settings.h):

      struct ofono_radio_settings_driver {
         (...)
         void (*query_fast_dormancy)(...)
         void (*set_fast_dormancy)(...)
         (...)
      }
      

      In the mer-hybris binderplugin this structure is initialized (ofono-binder-plugin/src/binder_radio_settings.c line 234):

      binder_radio_settings_init() {
         ofono_radio_settings_driver_register(&binder_radio_settings_driver);
      }
      

      but binder_radio_settings_driver does not provide fast dormancy methods (line 224). It only sets:

      static const struct ofono_radio_settings_driver binder_radio_settings_driver = {
      	.name                 = BINDER_DRIVER,
      	.probe                = binder_radio_settings_probe,
      	.remove               = binder_radio_settings_remove,
      	.query_rat_mode       = binder_radio_settings_query_rat_mode,
      	.set_rat_mode         = binder_radio_settings_set_rat_mode,
      	.query_available_rats = binder_radio_settings_query_available_rats
      };
      

      As a result, radio_set_property_handler() in ofono/src/radio-settings.c (line 658) returns "Not implemented":

      if (rs->driver->set_fast_dormancy == NULL)
      	return __ofono_error_not_implemented(msg);
      

      There are other repositories on github with the same code, but none of them provide fast dormancy methods.

      Now what could be next? Of course I could be overlooking things. Is my conclusion right (RIL modem software does not implement fast dormancy)? If so, is it worth fixing? I'd say yes, as the difference in battery usage is large and 2G/3G are being phased out. And if it is worth fixing, then where? The ofono-binder-plugin repository is active. Would this be the place to ask? @lduboeuf can I have your advice once more?

      posted in Support
      J
      janmv
    • RE: FP4 idle battery use varies a lot depending on 2G, 3G or 4G setting. Why?

      Thanks. I'll check there if I can find why FastDormancy does not seem to be implemented.

      posted in Support
      J
      janmv
    • RE: FP4 idle battery use varies a lot depending on 2G, 3G or 4G setting. Why?

      Some progress to mention:

      • As far as I can tell from the sources, setting FastDormancy should work, but I'm not sure I am looking at the right sources (gitlab ubports development core ofono-ubports)
        For a check:
      phablet@ubuntu-phablet:/usr/sbin$ ./ofonod --version
      1.29
      

      and

      phablet@ubuntu-phablet:/usr/lib/systemd/system$ dpkg -l | grep ofono
      ...
      ii  ofono-sailfish 1.29+git8-0ubports1~20240527210340.1~66073d0+ubports20.04                        arm64        Mobile telephony stack (daemon)
      ...
      
      • If I run testscript set-fast-dormancy (location mentioned above, from subdirectory test), it responds
      phablet@ubuntu-phablet:~/.local/bin$ set-fast-dormancy 1
      Setting fast dormancy for modem /ril_0...
      Traceback (most recent call last):
        File "/home/phablet/.local/bin/set-fast-dormancy", line 26, in <module>
          radiosettings.SetProperty("FastDormancy", dbus.Boolean(enable));
        File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 72, in __call__
          return self._proxy_method(*args, **keywords)
        File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 141, in __call__
          return self._connection.call_blocking(self._named_service,
        File "/usr/lib/python3/dist-packages/dbus/connection.py", line 652, in call_blocking
          reply_message = self.send_message_with_reply_and_block(
      dbus.exceptions.DBusException: org.ofono.Error.NotImplemented: Implementation not provided
      
      • Testscript get-tech-preference returns:
      phablet@ubuntu-phablet:~/.local/bin$ get-tech-preference
      Technology preference: umts
      

      and this value changes correctly if I switch to 2G or to 2G/3G/4G

      • I added two lines to this script slightly to return all radiosettings:
      for p in properties:
          print(p)
      

      It shows:

      phablet@ubuntu-phablet:~/.local/bin$ get-radiosettings
      TechnologyPreference
      AvailableTechnologies
      

      So it seems that my current ofono implementation does not have a FastDormancy setting. @lduboeuf You suggest the reason might be the component in between the modem and ofono. What component is that?

      posted in Support
      J
      janmv
    • RE: FP4 idle battery use varies a lot depending on 2G, 3G or 4G setting. Why?

      Thanks for this reaction. Looking at the repowerd source explains why I did not find more hits for "FastDormancy": most of the time, it is "fast_dormancy", with an underscore 😞 . I'll check if this brings me any further.

      posted in Support
      J
      janmv
    • FP4 idle battery use varies a lot depending on 2G, 3G or 4G setting. Why?

      One of the topics on my UT-on-Fairphone4-wishlist is to understand what I can do to use the phone's battery optimally. In the past half year I have seen large differences in battery use when the phone is off, so screen off and no active apps (nothing shows if you swipe from the right). The phone used to need a recharge every 3 or 4 days, but currently it is just 1 day, while my daily usage pattern is roughly the same.

      I probably changed settings, not knowing this would be the effect. I have now been checking more structurally. What I find is that setting Mobile Connection type to "2G only" or "2G/3G" instead of "2G/3G/4G" causes the full difference. I could have known, as the first options says 'saves battery'. The effect is like what I read in an old post (topic 6211), but that is a different phone (Xiaomi mi A2), and in my case it does not matter whether I turn data on or off. (I have a phone-only SIM-card, no reason to turn data on. Still I checked.)

      From the system settings sources (Sim.qml) I see that the options are used to set a property 'technologyPreference' of an OfonoRadioSettings QML component, where '2G only' is 'gsm', '2G/3G' is 'umts', and '2G/3G/4G' is 'lte. In the ofono documentation I also find a Dbus radio-settings API (radio-settings-api.txt), where there is a FastDormancy property which is described as 'a major power-saving feature for mobile devices'. It seems as if this parameter is never explicitly being set in UT: searching the UBports core respositories does not result in hits. But this looks as a possible source of the differences.

      I checked if the the modem might be limited, but from what I find on the internet, the FP4 is built on the Qualcomm Snapdragon 750G processor, which includes a modem called X52. This modem does not seem to pose a hardware limitation.

      I also find a modem-manager package which might allow me to experiment with the modem. I tried to install it and run it in Libertine container, but from within the container, I do not have access to the Dbus.

      So there are my questions: * What is the phone doing in the "2G/3G/4G"-setting that it does not do in the other two settings? * If it is related to the FastDormancy-setting, where is this setting use? Where should I look? Is there a way to experiment with that? * How to get modem-manager (mmcli) to run?

      (I'm sorry for not posting links, apparently not enough reputation to do that.)

      Thanks!

      posted in Support
      J
      janmv
    • RE: How I'm now using Signal on UT

      @danfro Yes I am tryng the tchncs.de bridge. And from a German perspective I am foreign as well, and new. So this may well be the reason. How can I follow the developments?

      posted in General
      J
      janmv