Difference between revisions of "Wileyfox Swift (wileyfox-crackling)"

From postmarketOS
Jump to navigation Jump to search
(→‎Charging: Another runglish fixed, + minor changes)
(GPS works somewhat with https://gitlab.com/postmarketOS/pmaports/-/merge_requests/2039)
 
(12 intermediate revisions by 4 users not shown)
Line 6: Line 6:
 
| imagecaption = Wileyfox Swift running Plasma Mobile
 
| imagecaption = Wileyfox Swift running Plasma Mobile
 
| releaseyear = 2015
 
| releaseyear = 2015
 +
| category = community
 
| originalsoftware = Android 5.1.1
 
| originalsoftware = Android 5.1.1
 
| chipset = Qualcomm MSM8916 Snapdragon 410
 
| chipset = Qualcomm MSM8916 Snapdragon 410
Line 23: Line 24:
 
| status_fde = Y
 
| status_fde = Y
 
| status_mainline = Y
 
| status_mainline = Y
| status_battery = P
+
| status_battery = Y
 
| status_3d = Y
 
| status_3d = Y
 
| status_accel = Y
 
| status_accel = Y
Line 29: Line 30:
 
| status_bluetooth = Y
 
| status_bluetooth = Y
 
| status_camera = <!-- Taking photos and videos works. -->
 
| status_camera = <!-- Taking photos and videos works. -->
| status_gps = <!-- The Global Positioning System sensor works.  -->
+
| status_gps = Y
| status_mobiledata = <!-- Connecting to the Internet via cellular network. -->
+
| status_mobiledata = Y
 
| status_sms = Y
 
| status_sms = Y
| status_calls = P
+
| status_calls = Y
 
| status = <!-- Text displayed in the "not booting" table on the Devices page , e.g "kernel compiles, doesn't boot" -->
 
| status = <!-- Text displayed in the "not booting" table on the Devices page , e.g "kernel compiles, doesn't boot" -->
 
| booting = yes <!-- The device is booting at all, can be yes/no *IMPORTANT* -->
 
| booting = yes <!-- The device is booting at all, can be yes/no *IMPORTANT* -->
Line 44: Line 45:
 
}}
 
}}
  
Fairly popular device based on reference Qualcomm design. Initialy shipped with CyanogenOS.   
+
Fairly popular device based on reference Qualcomm design. Initially shipped with CyanogenOS.   
 
There is also another device called GeneralMobile 4g (Android One device) that is very similar with this one.
 
There is also another device called GeneralMobile 4g (Android One device) that is very similar with this one.
  
Line 68: Line 69:
  
 
== Installation ==
 
== Installation ==
 +
# You need to enable OEM unlocking in the developer settings of your android/cynogen installation. Otherwise, the Cynogen recovery will refuse to boot. However, you are allowed to flash the rootfs. Kernel, Recovery and bootloader not.
 +
# Make sure that you have the latest Cyanogen bootloader. If necessary, you can use the <code>flash-radio.sh</code> script from https://androidfilehost.com/?fid=10763459528675591497.
 
# Install [https://github.com/msm8916-mainline/lk2nd lk2nd] (alternative bootloader that handles certain mainline quirks like setting up the WiFi/BT MAC addresses. Keep in mind that you have to install pmOS components with lk2nd, not original fastboot)
 
# Install [https://github.com/msm8916-mainline/lk2nd lk2nd] (alternative bootloader that handles certain mainline quirks like setting up the WiFi/BT MAC addresses. Keep in mind that you have to install pmOS components with lk2nd, not original fastboot)
# Just follow the [[Installation guide]].
+
# Follow [[Qualcomm_Snapdragon_410/412_(MSM8916)#Installation]].
  
== Charging ==
+
== Battery and charging ==
Mainline kernel doesn't have proper charger driver yet. This means that only way to charge the device is to boot downstream kernel. Easiest way to do so is to boot to recovery (at least TWRP known to charge the device properly).
+
Wileyfox Swift uses LBC charger in pm8916. A simple driver was added to the kernel to enable and configure charging. Compared to downstream driver that makes some decisions in software, this driver leaves charging entirely to hardware since, according to documentation, LBC can work on it's own after it was initially configured.
 +
{{note|'''Note:''' As with any device, it's not recommended to leave your phone on charger for prolonged periods of time, leave it unattended or charge it in conditions that may cause overheating. }}
  
To give you at least some information, kernel that this device uses at the moment have simple driver that shows estimated capacity (with error of roughly 10%).
+
This device uses "Voltage Mode BMS" (VM-BMS) to estimate State Of Charge (SOC) of the battery. Compared to other devices that have additional hardware (Fuel Gauge) to measure SOC, VM-BMS is mostly implemented in software. Accurate SOC estimation requires complex math algorithms and, ideally, should be implemented as userspace program. As a temporary solution, vm-bms driver was implemented. It uses simple, less accurate algorithm to estimate SOC. This algorithm works well enough to show approximate SOC in normal use but may fail in some unusual cases.
{{note|'''Note:''' Since driver can't measure capacity precisely, shown percentage directly depends on current that your device consumes (e.g. it will show less if you increase brightness).}}
 
  
 
== Audio ==
 
== Audio ==
Line 92: Line 95:
 
* {{MR|485|pmaports}} Initial merge request
 
* {{MR|485|pmaports}} Initial merge request
  
* [https://gitlab.com/postmarketOS/pmaports/tree/master/device/device-wileyfox-crackling Device package]
+
* [https://gitlab.com/postmarketOS/pmaports/-/tree/master/device/community/device-wileyfox-crackling Device package]
* [https://gitlab.com/postmarketOS/pmaports/tree/master/device/linux-wileyfox-crackling Kernel package]
+
* [https://gitlab.com/postmarketOS/pmaports/-/tree/master/main/linux-postmarketos-qcom-msm8916 msm8916 mainline kernel package]
* [https://github.com/msm8916-mainline/linux Mainline kernel for msm8916 devices]
+
* [https://github.com/msm8916-mainline/linux Mainline kernel tree for msm8916 devices]
  
  

Latest revision as of 15:01, 18 March 2021

Wileyfox Swift
Wileyfox Swift running Plasma Mobile
Wileyfox Swift running Plasma Mobile
Manufacturer Wileyfox
Name Swift
Codename wileyfox-crackling
Released 2015
Category community
Original software Android 5.1.1
postmarketOS kernel Mainline
Hardware
Chipset Qualcomm MSM8916 Snapdragon 410
CPU Quad-core Cortex-A53 1.2 GHz
GPU Adreno 306
Display 1280x720 IPS
Storage 16 GB
Memory 2 GB
Architecture aarch64
Features
USB Networking
Works
Flashing
Works
Touchscreen
Works
Display
Works
WiFi
Works
Xwayland
Works
FDE
Works
Mainline
Works
Battery
Works
3D Acceleration
Works
Accelerometer
Works
Audio
Works
Bluetooth
Works
Camera
GPS
Works
Mobile data
Works
SMS
Works
Calls
Works
USB OTG
Partial



Fairly popular device based on reference Qualcomm design. Initially shipped with CyanogenOS. There is also another device called GeneralMobile 4g (Android One device) that is very similar with this one.

Contributors

Maintainer(s)

Users owning this device


How to enter flash mode

  • Recovery: Power on the device with both Power and Volume Down buttons.
  • Stock fastboot: Power on the device with both Power and Volume Up buttons. You only need this to install lk2nd.
  • lk2nd Fastboot: Power on the device. After it vibrates/the display shows up, hold Volume Down.
Note: Pressing the keys too early will cause the stock bootloader to handle the key combination. You will end up in the wrong Fastboot interface.


Installation

  1. You need to enable OEM unlocking in the developer settings of your android/cynogen installation. Otherwise, the Cynogen recovery will refuse to boot. However, you are allowed to flash the rootfs. Kernel, Recovery and bootloader not.
  2. Make sure that you have the latest Cyanogen bootloader. If necessary, you can use the flash-radio.sh script from https://androidfilehost.com/?fid=10763459528675591497.
  3. Install lk2nd (alternative bootloader that handles certain mainline quirks like setting up the WiFi/BT MAC addresses. Keep in mind that you have to install pmOS components with lk2nd, not original fastboot)
  4. Follow Qualcomm_Snapdragon_410/412_(MSM8916)#Installation.

Battery and charging

Wileyfox Swift uses LBC charger in pm8916. A simple driver was added to the kernel to enable and configure charging. Compared to downstream driver that makes some decisions in software, this driver leaves charging entirely to hardware since, according to documentation, LBC can work on it's own after it was initially configured.

Note: As with any device, it's not recommended to leave your phone on charger for prolonged periods of time, leave it unattended or charge it in conditions that may cause overheating.

This device uses "Voltage Mode BMS" (VM-BMS) to estimate State Of Charge (SOC) of the battery. Compared to other devices that have additional hardware (Fuel Gauge) to measure SOC, VM-BMS is mostly implemented in software. Accurate SOC estimation requires complex math algorithms and, ideally, should be implemented as userspace program. As a temporary solution, vm-bms driver was implemented. It uses simple, less accurate algorithm to estimate SOC. This algorithm works well enough to show approximate SOC in normal use but may fail in some unusual cases.

Audio

See Qualcomm_Snapdragon_410_(MSM8916)#Audio.

Modem

See Qualcomm_Snapdragon_410_(MSM8916)#Modem.

USB Host (OTG)

This device doesn't support OTG so it can't provide power or even detect normal OTG adapters but it is still possible to use USB in host mode. This requires custom adapter that will provide power to your USB device. In order to detect such adapter we abuse the fact that USB ID pin in microUSB is used to force EDL mode but since it is pulled down we can't detect normal OTG adapters with it. (USB_ID on those adapters is connected to ground when we can only detect 5v on this pin) So your custom adapter not only should provide external power but also should provide logical-high signal to USB_ID. This can make such adapter dangerous for other devices so you should avoid plugging it anywhere else. You can put a resistor between 5v and USB ID to make it a bit safer. Please note that device will boot into EDL mode if you leave such adapter in while powering on the device. EDL have no visible indication and you will need to pull battery out in order to reboot.

See also