Wileyfox Swift (wileyfox-crackling)

From postmarketOS
Jump to navigation Jump to search
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
NFC
Unavailable


This device is based on Snapdragon 410.
See the SoC page for common tips, guides and troubleshooting steps

Wileyfox Swift is a fairly popular device that was initially shipped with CyanogenOS. It is based on Qualcomm Snapdragon 410 SoC which has great mainline Linux support.

This device, as well as multiple other devices under a common name "Google Android One 2nd Gen (google-seed)" all use same "Longcheer l8150" design, so all of those devices are supported with this port.


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 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.
Note Note: google-seed devices have opposite functions for keys in stock bootloader, Hold Volume Down for fastboot. The device may not have any visible indication for fastboot mode.

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. You may need to unlock the bootloader with fastboot oem unlock-go. (This may be the only step required on seed devices before you can flash lk2nd)
  3. 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.
  4. 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)
  5. 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 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.

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