Reply
Thread Tools
edp17's Avatar
Posts: 592 | Thanked: 706 times | Joined on Jul 2019 @ UK
#51
OTA update to 4.4 is ready. (4.4.0.58)

Because 4.3 is a stop release, as the first step, we need to OTA to 4.3, then move over to 4.4.

The problem with wifi (keeps forgetting the password after every boot) remains. There is a workaround below.

Here is the instruction on what to do:

OTA 4.2 to 4.3
!IMPORTANT!
If you are on the kernel with waydroid support (hybris-boot-sfos42-06-waydroid.img), first you must flash the original cm14.1 kernel (hybris-boot-sfos42-01.img) otherwise the OTA update will break the system!
  1. Unapply and remove all patches
  2. Uninstall patchmanager
  3. Reboot (this is required after patchmanager is removed, otherwise you will need to restart lots of services)
  4. Boot into sfos, enable developer mode and set a password
  5. Connect the phone to a wifi network (for downloading packages)
    From this point, we will work on the PC, leave the phone connected.
  6. Connect the phone to a PC, open a console and on the PC run (enter the password when you are prompted):
    Code:
    ssh nemo@192.168.2.15
  7. Switch user to root (enter the password when you are prompted):
    Code:
    devel-su
  8. Check repos:
    Code:
    ssu lr
  9. Disable all repos, except: apps, hotfixes, jolla:
    Code:
    ssu dr <repo_name>
  10. Add/modify adaptation-community-common repo:
    Code:
    ssu ar adaptation-community-common https://repo.merproject.org/obs/nemo:/testing:/hw:/common/sailfishos_4.3.0.15/
  11. Add/modify adaptation-community-treltexx repo:
    Code:
    ssu ar adaptation-community-treltexx https://repo.merproject.org/obs/nemo:/testing:/hw:/samsung:/treltexx/sailfishos_4.3.0.15/
  12. In case you have the mousetracker repo, disable it as can be added after the update
    Code:
    ssu dr mousetracker
  13. if you have waydroid installed and chum repo added, disable the chum repo because its waydroid packages will interfere with the installed ones. (The new waydroid packages will be updated from the chum repo and will break the waydroid installation.)
    Code:
    ssu dr chum
  14. make sure that both adaptation-community-common and adaptation-community-treltexx are enabled and you do not have duplications (command 'ssu er <name>' enables the given repo)
    the adaptation-community-common should point to
    Code:
    https://repo.merproject.org/obs/nemo:/testing:/hw:/common/sailfishos_4.3.0.15/
  15. make sure adaptation-common is there and points to
    Code:
    https://releases.jolla.com/releases/4.3.0.15/jolla-hw/adaptation-common/armv7hl/
  16. Put the device in release mode:
    Code:
    ssu release 4.3.0.15
  17. Refresh packages: (use zypper now)
    Code:
    zypper ref
  18. Upgrade the system:
    Code:
    zypper dup --details
  19. IMPORTANT!: Before the reboot amend these two files:
    /usr/lib/systemd/system/dsme.service : set PrivateNetwork=true to PrivateNetwork=false
    /usr/lib/systemd/system/systemd-hostnamed.service : remove or comment out PrivateNetwork=true
  20. Then reboot:
    Code:
    reboot

Once rebooted you can stay on 4.3 or go to 4.4.

If you decide to upgrade to 4.4 (I recommend that), here is the instruction on what to do. Some steps will be hacky but until I found another solution, this is the way.
OTA 4.3 to 4.4
(You can stay on the kernel that came with 4.3)
  1. In TWRP, do a full backup of your 4.3 system just in case something goes wrong during the upgrade
  2. Unapply and remove all patches and uninstall patchmanager (these shouldn't be there if you go to 4.4 without using 4.3)
  3. mask lipstick (this disables the GUI for the upgrade): devel-su systemctl-user mask lipstick
  4. reboot (from this point, this will be a bit tricky as there is no GUI and no wifi available) important to leave the cable in before booting, otherwise, there won't be ssh
  5. As there is no internet and wifi cannot be started, you need to use your host linux's internet, do the following:
    on host linux: run these two commands as root:
    Code:
    iptables -t nat -A POSTROUTING -o wlpxxxx -j MASQUERADE
    echo 1 > /proc/sys/net/ipv4/ip_forward
    where wlpxxxx is the host wlan name
    on the device: run these as root:
    Code:
    route add default gw 192.168.2.x
    echo 'nameserver 208.67.222.222' > /etc/resolv.conf
    where 192.168.2.x is the ip address of the device on host
  6. now you should have an internet connection on the device, so we can do the actual upgrade
  7. Switch user to root (enter the password when you are prompted):
    Code:
    devel-su
  8. Check repos:
    Code:
    ssu lr
  9. Disable all repos, except: apps, hotfixes, jolla:
    Code:
    ssu dr <repo_name>
  10. Add/modify adaptation-community-common repo:
    Code:
    ssu ar adaptation-community-common https://repo.merproject.org/obs/nemo:/testing:/hw:/common/sailfishos_4.4.0.58/
  11. Add/modify adaptation-community-treltexx repo:
    Code:
    ssu ar adaptation-community-treltexx https://repo.merproject.org/obs/nemo:/testing:/hw:/samsung:/treltexx/sailfishos_4.4.0.58/
  12. In case you have the mousetracker repo, disable it as can be added after the update
    Code:
    ssu dr mousetracker
  13. if you have waydroid installed and chum repo added, disable the chum repo because its waydroid packages will interfere with the installed ones. (The new waydroid packages will be updated from the chum repo and will break the waydroid installation.)
    Code:
    ssu dr chum
  14. make sure that both adaptation-community-common and adaptation-community-treltexx are enabled and you do not have duplications (command 'ssu er <name>' enables the given repo)
    the adaptation-community-common should point to
    Code:
    https://repo.merproject.org/obs/nemo:/testing:/hw:/common/sailfishos_4.3.0.15/
  15. make sure adaptation-common is there and points to
    Code:
    https://releases.jolla.com/releases/4.4.0.58/jolla-hw/adaptation-common/armv7hl/
  16. Put the device in release mode:
    Code:
    ssu release 4.4.0.58
  17. Refresh packages: (use zypper now)
    Code:
    zypper ref
  18. Upgrade the system:
    Code:
    zypper dup --details
  19. IMPORTANT!: Before the reboot amend these two files (they were overwritten by the upgrade):
    /usr/lib/systemd/system/dsme.service : set PrivateNetwork=true to PrivateNetwork=false
    /usr/lib/systemd/system/systemd-hostnamed.service : remove or comment out PrivateNetwork=true
  20. don't forget to unmask lipstick: devel-su systemctl-user unmask lipstick
  21. Then reboot:
    Code:
    reboot

Once the device is booted into the new system try all functions and reboot at least once to try if it still starts the system correctly. If everything is okay, you can add back the chum and mousetracker repos:
  • Code:
    ssu ar chum https://repo.sailfishos.org/obs/sailfishos:/chum/4.4.0.58_armv7hl/
  • Code:
    ssu er chum
  • Code:
    ssu ar mousetracker https://repo.merproject.org/obs/home:/elros34:/sailfishapps/sailfishos_4.4.0.58/
  • Code:
    ssu er mousetracker

GPS and Bluetooth (and waydroid if installed) should work out of the box. Plus you don't need to flash the kernel either.

Workaround for the wifi issue:
This is a bit hacky but you need to do the hacky bit only once.
There is a script provided to turn wifi manually on/off from a command line or Shellex. The script is located in /usr/bin/droid/wifi-on.sh It has one parameter on or off (e.g.: wifi-on.sh on)
To make it work you need to enter your home network name, password and last IP address into the /usr/bin/droid/wifi-conf file.
In addition (and this is the hacky part) you need to do the following (only once):
  1. turn wifi on and connect to the home network
  2. turn wifi off
  3. as root, go into ~/.local/share/system/privileged/connman
  4. if you have multiple wifi_*_*_managed_psk folders in the, keep only one and delete the rest
  5. rename the kept wifi_*_*_managed_psk folder to tmp_wifi
  6. go into the tmp_wifi folder and edit the settings file
  7. Its first line will be the same as the original file name was like [wifi_*_*_managed_psk]
  8. rename the text in [] to match with the new name, so needs to be [tmp_wifi] (in the file you'll see the network name, password and last IP address that you need to add into the wifi.conf file)
  9. Done. From now if you call the `wifi-on.sh on` script as root, it will connect to the network defined in wifi.conf (you don't need to toggle the wifi button from the menu)

Waydroid potential problem
After the upgrade I got this error reported into in waydroid log : "dnsmasq: failed to create listening socket for 192.168.250.1: Address already in use"
The solution was: to check and kill the running dnsmasq, then restart waydroid-container. Then you can start the session and UI as normal.

Spen problem
The other thing I spotted is a typo in the /usr/bin/droid/sailfishpen-daemon.sh. Because of that, the device doesn't detect when the Spen is pulled out/put back.
Solution: In /usr/bin/droid/sailfishpen-daemon.sh, change the evtest path to /usr/bin/evtest. (The wrong is /usr/bin/droid/evtest)

If you have any issues, give me a shout.
Good luck!

Last edited by edp17; 2022-05-31 at 12:34.
 

The Following User Says Thank You to edp17 For This Useful Post:
Posts: 330 | Thanked: 860 times | Joined on May 2011
#52
This is a nicely step by step how-to.
I have no Samsung but almost would like to get one just to try!
__________________
Toshiba Libretto 70ct -> Psion -> Palm -> Openmoko Freerunner -> gta02 -> gta04 -> n900 n900 n900 n900
...recycled devices, hack, arduino...
 
edp17's Avatar
Posts: 592 | Thanked: 706 times | Joined on Jul 2019 @ UK
#53
Originally Posted by ric9K View Post
This is a nicely step by step how-to.
I have no Samsung but almost would like to get one just to try!
Thanks. I hope the next OTA update will be easier for users just like the previous ones. This one is a bit hacky, but at least everything remains working.
 
edp17's Avatar
Posts: 592 | Thanked: 706 times | Joined on Jul 2019 @ UK
#54
If somebody would like to install 4.4 directly, I've uploaded the zip file to the first post.

Also updated the waydroid installation steps.
 

The Following User Says Thank You to edp17 For This Useful Post:
edp17's Avatar
Posts: 592 | Thanked: 706 times | Joined on Jul 2019 @ UK
#55
OTA from 4.4.0.58 to 4.4.0.64 is ready

Code:
  • devel-su
  • cp /usr/bin/droid/wifi.conf /usr/bin/droid/wifi.conf.backup
  • ssu release 4.4.0.64
  • ssu ar adaptation-common https://releases.jolla.com/releases/4.4.0.64/jolla-hw/adaptation-common/armv7hl/
  • ssu ar adaptation-community-common https://repo.merproject.org/obs/nemo:/testing:/hw:/common/sailfishos_4.4.0.64/
  • ssu ar adaptation-community-treltexx https://repo.merproject.org/obs/nemo:/testing:/hw:/samsung:/treltexx/sailfishos_4.4.0.64/
  • ssu ur
  • zypper ref
  • zypper dup --details
The device will will reboot when installing: "voicecall-ui-jolla-1.14.38.1-1.6.1.jolla.armv7hl"
just leave it connected and wait until it boots up, then ssh in and continue the update:
Code:
  • devel-su
  • zypper dup --details
  • cp /usr/bin/droid/wifi.conf.backup /usr/bin/droid/wifi.conf
  • reboot

Last edited by edp17; 2022-07-13 at 22:17.
 

The Following User Says Thank You to edp17 For This Useful Post:
edp17's Avatar
Posts: 592 | Thanked: 706 times | Joined on Jul 2019 @ UK
#56
OTA from 4.4.0.64 to 4.4.0.68 is ready

Code:
  • devel-su
  • cp /usr/bin/droid/wifi.conf /usr/bin/droid/wifi.conf.backup
  • disable all openrepos
  • if installed, unapply and remove all patches
  • if installed, uninstall patchmanager
  • if used, ssu dr mousetracker
  • if used, ssu dr chum
  • if used, ssu dr sailfishos-chum
  • ssu release 4.4.0.68
  • ssu ar adaptation-common https://releases.jolla.com/releases/4.4.0.68/jolla-hw/adaptation-common/armv7hl/
  • ssu ar adaptation-community-common https://repo.merproject.org/obs/nemo:/testing:/hw:/common/sailfishos_4.4.0.68/
  • ssu ar adaptation-community-treltexx https://repo.merproject.org/obs/nemo:/testing:/hw:/samsung:/treltexx/sailfishos_4.4.0.68/
  • ssu ur
  • zypper ref
  • zypper dup --details
  • double-check dsme and systemd-hostname services in '/usr/lib/systemd/system/dsme.service' the 'PrivateNetwork' must be set to 'false' in ;/usr/lib/systemd/system/systemd-hostnamed.service' the 'PrivateNetwork=true' must be commented out or deleted
  • cp /usr/bin/droid/wifi.conf.backup /usr/bin/droid/wifi.conf
  • reboot
 
Posts: 2 | Thanked: 0 times | Joined on Sep 2022 @ México
#57
Originally Posted by edp17 View Post

Once the device is updated to 4.0 boot into TWRP and flash this kernel: 02-hybris-boot-firejail-enhanced.img
Then boot into SFOS and install these two packages:Then amend /etc/bluez5/bluetooth/main.conf file and at [GATT] section, set Channels = 1. Like
Code:
# Number of ATT channels
# Possible values: 1-5 (1 disables EATT)
# Default to 3
Channels = 1
Reboot again and after this, all apps and Bluetooth should work as before.
Should I need to do these steps even I did a fresh install of your 4.4.0.58 zip file?
* I already updated to 4.4.0.68, witch patches do I need apply. Remember is a cleen install only did the updates

Last edited by CrazyCyber; 2022-09-13 at 23:43. Reason: Add another question
 
Posts: 2 | Thanked: 0 times | Joined on Sep 2022 @ México
#58
Originally Posted by edp17 View Post
OTA from 4.4.0.64 to 4.4.0.68 is ready

Code:
  • double-check dsme and systemd-hostname services in '/usr/lib/systemd/system/dsme.service' the 'PrivateNetwork' must be set to 'false' in ;/usr/lib/systemd/system/systemd-hostnamed.service' the 'PrivateNetwork=true' must be commented out or deleted
How can I check-edit these files?
*Remember is a fresh install 4.4.0.58 with bootloop after updated to 4.4.0.68 (using windows 10 Powershell) whithout an a Jolla account and no apps installed.

Last edited by CrazyCyber; 2022-09-14 at 02:30. Reason: Question updated
 
edp17's Avatar
Posts: 592 | Thanked: 706 times | Joined on Jul 2019 @ UK
#59
Originally Posted by CrazyCyber View Post
Should I need to do these steps even I did a fresh install of your 4.4.0.58 zip file?
* I already updated to 4.4.0.68, witch patches do I need apply. Remember is a cleen install only did the updates
No, this is not required if you clean install a newer zip file. They do already include this change. That step was only for when the sfos was OTA updated from 3.4 to 4.0.
 
edp17's Avatar
Posts: 592 | Thanked: 706 times | Joined on Jul 2019 @ UK
#60
Originally Posted by CrazyCyber View Post
How can I check-edit these files?
*Remember is a fresh install 4.4.0.58 with bootloop after updated to 4.4.0.68 (using windows 10 Powershell) whithout an a Jolla account and no apps installed.
You need to ssh in to the device and display the content of these two services, like:
cat /usr/lib/systemd/system/dsme.service
PrivateNetwork should be false like: PrivateNetwork=false

then
cat /usr/lib/systemd/system/systemd-hostnamed.service
PrivateNetwork should be commented out like: #PrivateNetwork=true

If you'd like to edit, you can do it with vi (as root) like
devel-su vi /usr/lib/systemd/system/dsme.service
(I recommend to check the manual of vi before trying to use it.)
I usually use this way: once issued that command, I press SHIFT+I, then edit the wanted line, then press ESC, then type :qw! and press enter

I think this is only required if you OTA upgrade from an older sfos to a newer one. This change is already incorporated into the zip file. So, if you have bootloop issue, that should be related to something else.
 
Reply

Tags
note 4, samsung, sm-n910c, treltexx


 
Forum Jump


All times are GMT. The time now is 07:46.