Finepower F1 (finepower-f1)

From postmarketOS Wiki
FinePower F1
FinePower F1
FinePower F1
Manufacturer FinePower
Name F1
Codename finepower-f1
Released 2018
Type feature phone
Hardware
Chipset Spreadtrum SC7731C
CPU 4x1.2Ghz Cortex-A7
GPU Mali-400 MP1
Display 320x480
Storage 4 GB
Memory 512 MB
Architecture armv7
Software
Original software Android
Original version 6.0
postmarketOS
Category testing
Pre-built images no
Features
Flashing
Partial
USB Networking
Works
Internal storage
SD card
Battery
Screen
Partial
Touchscreen
Works
Multimedia
3D Acceleration
Audio
Works
Camera
Camera Flash
Connectivity
WiFi
Bluetooth
GPS
NFC
Modem
Calls
SMS
Mobile data
Miscellaneous
FDE
HDMI/DP
Sensors
Accelerometer
Broken
Magnetometer
Ambient Light
Proximity
Hall Effect
Haptics
Barometer


Contributors

Maintainer(s)

Users owning this device


Current issues

  • Only power button works. Other keys can be enabled in kernel config, but they won't work properly.

The phone uses a proprietary keypad driver called sci-keypad-ext which is an extended version of sci-keypad. In sci-keypad key presses are detected judging by row and column coordinates of the key in keypad matrix. Extended driver adds another variable called gpio-column. One of keypad columns (third) is divided on multiple GPIO columns those can be differentiated only by extended driver. With sci-keypad driver, keys of GPIO columns 2 and 3 repeat value from column 0. GPIO column 1 somehow has something common with power button GPIO, which causes the device to power off. In result: 3 keys (4 with power button) shutdown the device, another 6 keys don't function properly too, repeating the 3 keys from matrix column 2, gpio column 0.

  • Screen doesn't turn off completely.
  • SSH doesn't work, use telnet to connect to device

Hardware

  • LCD panel controller: Sintronix ST7796S (MIPI)
  • Back camera: GalaxyCore GC2385 (mipiraw)
  • Front camera: GalaxyCore GC030
  • Wi-Fi, Bluetooth, GPS: sc2351
  • Keyboard LED: sc2723
  • Touch panel: FocalTech *

How to control brightness

# echo 255 > /sys/class/backlight/sprd_backlight/brightness
# echo 255 > /sys/class/leds/keyboard-backlight/brightness

How to enter flash mode

Press and hold the Power key, then, immediately press and hold VolumeDown. Release both buttons when the logo appears. Using the volume buttons, navigate to the "Reboot to bootloader" option, pressing Power to select it. The phone will reboot in fastboot mode. Another option is to connect the phone to a computer and run

$ adb reboot bootloader

or Another option is to connect the phone to a computer and run

$ sudo fastboot reboot bootloader

Installation

Flashing kernel

Note Backup your boot partition before flashing the kernel. If you have root, you can do this with adb. Connect the phone to your computer, and enable USB debugging in Developer settings. Then run
$ adb shell
$ su
# dd if=/dev/block/mmcblk0p16 of=/sdcard/boot.img
If your phone isn't rooted, use the ResearchDownload tool to create a backup.

Fastboot on this phone doesn't support booting the kernel from an SD card, so it's required to flash the kernel to internal storage with $ pmbootstrap flasher flash_kernel If you have an SD card that is rather fast, consider flashing rootfs onto it instead of the phone's internal storage, which is quite slow (15 Mb/s on read, 9 Mb/s on write).

Partitions layout

major minor  #blocks  name 
 
 253        0     409600 zram0 
 179        0    3817472 mmcblk0 
 179        1       5120 mmcblk0p1 
 179        2       1024 mmcblk0p2 
 179        3      15360 mmcblk0p3 
 179        4       2048 mmcblk0p4 
 179        5       1024 mmcblk0p5 
 179        6       1024 mmcblk0p6 
 179        7       1024 mmcblk0p7 
 179        8       1024 mmcblk0p8 
 179        9       1024 mmcblk0p9 
 179       10       1024 mmcblk0p10 
 179       11       1024 mmcblk0p11 
 179       12       1024 mmcblk0p12 
 179       13       1024 mmcblk0p13 
 179       14       1024 mmcblk0p14 
 179       15       1024 mmcblk0p15 
 179       16      17408 mmcblk0p16 
 179       17    1228800 mmcblk0p17 
 179       18     153600 mmcblk0p18 
 179       19      15360 mmcblk0p19 
 179       20       1024 mmcblk0p20 
 179       21       2048 mmcblk0p21 
 179       22       6144 mmcblk0p22 
 179       23    2357231 mmcblk0p23 
 179       96        512 mmcblk0rpmb 
 179       64       4096 mmcblk0boot1 
 179       32       4096 mmcblk0boot0
boot -> /dev/block/mmcblk0p16
cache -> /dev/block/mmcblk0p18
fbootlogo -> /dev/block/mmcblk0p15
logo -> /dev/block/mmcblk0p14
misc -> /dev/block/mmcblk0p20
miscdata -> /dev/block/mmcblk0p2
persist -> /dev/block/mmcblk0p21
prodnv -> /dev/block/mmcblk0p1
recovery -> /dev/block/mmcblk0p19
sysinfo -> /dev/block/mmcblk0p22
system -> /dev/block/mmcblk0p17
userdata -> /dev/block/mmcblk0p23
wcnfixnv1 -> /dev/block/mmcblk0p10
wcnfixnv2 -> /dev/block/mmcblk0p11
wcnmodem -> /dev/block/mmcblk0p9
wcnruntimenv1 -> /dev/block/mmcblk0p12
wcnruntimenv2 -> /dev/block/mmcblk0p13
wdsp -> /dev/block/mmcblk0p4
wfixnv1 -> /dev/block/mmcblk0p5
wfixnv2 -> /dev/block/mmcblk0p6
wmodem -> /dev/block/mmcblk0p3
wruntimenv1 -> /dev/block/mmcblk0p7
wruntimenv2 -> /dev/block/mmcblk0p8

See also