Sailfish OS port on Xiaomi Redmi 1S WCDMA

News

19 Jul 2017 Deep sleep mode for CPU works for now
            Fixed video recording/playback issues
30 Jun 2017 Backport Bluetooth drivers from kernel 3.10.19 for Bluez 5 (with support for Bluetooth Low Energy devices)
            Ready for OTA-updates using Mer OBS
10 Mar 2017 Update Issues chapter for known problems with current 2.0.5.6 image
03 Mar 2017 Initial support for OTA updates (WIP)
09 Feb 2017 Show charge progress instead of MI logo in charge only mode
08 Feb 2017 Fix remembering bluetooth state during reboot
            DualSIM: enable second modem in ofono configuration
05 Feb 2017 Update current SFOS image for armani to version 2.0.5.6 (not public yet);
            (WIP) Increase battery life, now CPU successfully goes to C2 sleep state;
            Add packages: jolla-settings-networking-multisim for multisim support,
            geoclue-provider-mlsdb for faster GPS, jolla-settings-system-flashlight for flashlight's shortcut,
            jolla-mediaplayer-radio for FM radio support in Mediaplayer application.

Full changelog
Screenshots
Version: 2.0.1.11 (Taalojärvi)
Compatible baseband version: MPSS.TR.2.0-397339f

ROM images

  1. TWRP >= 2.8.7.0
    md5sum: 155409049a2ae1b3a8a6da042933d59b
  2. CyanogenMod 11 R30 20151114 UNOFFICIAL
    md5sum: 88ffb2b541bfdb0ee129395cb6feb396
  3. Sailfish OS 2.0.1.11 alpha3, mirror: Google Drive
    md5sum: 31e04e42bb25841ca8e437d301cef499
  4. MIUI 7.0.5.0 baseband firmware
    md5sum: 8a0a038e5b80706d8a9333616b291cfe

Please read Issues chapter before flashing

Credits

To all Sailfish OS porters on #sailfishos-porters channel at irc.freenode.net, and especially:
jusa_
mal-
monich
sledges
spiiroin
Stskeeps
and others who give me advices.
This port wouldn't exist without their help and assistance.

Thanks to people from armani-dev team for kernel/CyanogenMod

Works

See libhybris-adaptation

Issues

  1. Wrong battery percentage status (2.0.5.6)
  2. Wrong Bluetooth MAC address (2.0.5.6)
  3. Very low voice volume when recording calls (2.0.5.6)
  4. Can't connect to Wi-Fi AP which has WPA EAP Authentication option enabled
    update: see How-To WPA-802.1X (enterprise)

Installation steps

  1. Backup your information
  2. Backup your information
  3. Backup your information
  4. Install TWRP for armani and boot into recovery mode
  5. Flash CyanogenMod 11 R30
  6. Flash Sailfish OS image right after CM11. It can take long time to install, don't worry.
  7. Reboot to system. In case you're getting boot loop - grab MIUI 7.0.5.0 baseband firmware from links above and flash it in TWRP,
    no wipes/ROM reinstalls needed, just flash and reboot.
  8. Skip creation of Jolla Account after startup

Youtube: How to Install Sailfish OS On Redmi 1S

FAQ

Q: Root rights?
A: Yes, in case of
USB connection: telnet 192.168.2.15 2323, you will get root access right after logging in.
fingerterm & SSH: type in terminal: devel-su. You can get your password from Settings -> Developer mode page

Q: How can I get logs?
A: Most used options are

dmesg
/usr/libexec/droid-hybris/system/bin/logcat -d qdhwcomposer:S QCALOG:S WLAN_PSA:S
journalctl -b -e

Q: Can I install applications from official Jolla Store?
A: Not by now, but you can install apps from openrepos.net via Warehouse app, which is included by default in current SFOS image

Q: How about running Android applications?
A: Read about sfdroid (youtube) project. It's not available for Redmi for now, but i hope it will be.

Q: Warehouse shows error "Status: no-distro-upgrade-data"
A: Run in Terminal:

devel-su
[password]
mv /var/cache/pk-zypp-cache /var/cache/.pk-zypp-cache
ln -sf /var/cache/zypp /var/cache/pk-zypp-cache

Sources

GitHub GitHub

Contacts

ping litew at #sailfishos-porters channel at irc.freenode.net