Difference between revisions of "Finepower F1 (finepower-f1)"

From postmarketOS
Jump to: navigation, search
(Tags: Mobile edit, Mobile web edit)
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{Infobox device
 
{{Infobox device
 
| manufacturer = FinePower
 
| manufacturer = FinePower
| name = F1
+
| name = F1
 
| codename = finepower-f1
 
| codename = finepower-f1
 
| image = File:finepower-f1.jpg
 
| image = File:finepower-f1.jpg
Line 14: Line 14:
 
| memory = 512 MB
 
| memory = 512 MB
 
| architecture = armv7
 
| architecture = armv7
| status_usbnet = N <!-- USB networking does work? then put Y here and delete this comment -->
+
| status_usbnet = Y
| status_flashing = P <!-- Flashing with "pmbootstrap flasher" works? Put Y here. It works the same for everything coming below. -->
+
| status_flashing = P
| status_touch = N <!-- Touch screen is working? You can also answer these questions with P for partially. -->
+
| status_touch = Y
| status_screen = P <!-- The display is working? -->
+
| status_screen = P
 
| status_wifi = <!-- Wireless network works? -->
 
| status_wifi = <!-- Wireless network works? -->
| status_xwayland = <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? -->
+
| status_xwayland = Y <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? -->
 
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? -->
 
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? -->
 
| status_mainline = <!-- Instead of a Linux kernel fork, it is possible to run mainline. -->
 
| status_mainline = <!-- Instead of a Linux kernel fork, it is possible to run mainline. -->
 
| status_battery = <!-- Charging the battery with charging-sdl is possible -->
 
| status_battery = <!-- Charging the battery with charging-sdl is possible -->
 
| status_3d = <!-- Hardware accelerated 3D graphics (e.g. with freedreno) -->
 
| status_3d = <!-- Hardware accelerated 3D graphics (e.g. with freedreno) -->
| status_accel = <!-- The sensor that measures proper acceleration works -->
+
| status_accel = N
| status_audio = <!-- Using the device's speakers/headphone jack works -->
+
| status_audio = P
 
| status_bluetooth = <!-- It's possible to pair and use other devices via the bluetooth protocol -->
 
| status_bluetooth = <!-- It's possible to pair and use other devices via the bluetooth protocol -->
 
| status_camera = <!-- Taking photos and videos works. -->
 
| status_camera = <!-- Taking photos and videos works. -->
Line 32: Line 32:
 
| status_sms = <!-- Sending and receiving short messages works as intended. -->
 
| status_sms = <!-- Sending and receiving short messages works as intended. -->
 
| status_calls = <!-- Talking to other people over the cellular network. -->
 
| status_calls = <!-- Talking to other people over the cellular network. -->
| status = boots, kernel config needs to be adjusted
+
| status = boots, framebuffer needs to be fixed
 
| status_otg = -
 
| status_otg = -
| booting = 0
+
| booting = yes
 
| pmos_kernel = 3.10.65
 
| pmos_kernel = 3.10.65
 +
| unixbench = 874.6
 
}}
 
}}
  
Line 51: Line 52:
 
{{Device owners}}
 
{{Device owners}}
  
== What works ==
+
== Current issues ==
Flashing kernel (flashing rootfs and twrp-recovery-zip are not tested).
+
* Framebuffer has red and blue channels swapped.
 +
* X11 environments don't start.
 +
* Keyboard is not detected: only the power button works. Probably needs a driver.
 +
* Sound input doesn't work as expected.
 +
 
 +
== 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 ===
 +
<code>echo 255 > /sys/class/backlight/sprd_backlight/brightness</code>
 +
<code>echo 255 > /sys/class/leds/keyboard-backlight/brightness</code>
 +
 
 
== How to enter flash mode ==
 
== How to enter flash mode ==
Hold Power key and Vol- just after that. Release buttons when logo appears. Navigate to "Reboot to bootloader" option with volume keys and press Power to choose. The phone will reboot in fastboot 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 phone to computer and run
+
Another option is to connect the phone to a computer and run
 
<source>$ adb reboot bootloader</source>
 
<source>$ adb reboot bootloader</source>
 
or
 
or
Line 62: Line 79:
 
== Installation ==
 
== Installation ==
 
=== Flashing kernel ===
 
=== Flashing kernel ===
{{note|'''Backup your boot partition before flashing kernel.''' If you have root, you can do it with adb. Connect phone to computer, enable USB debugging in Developer mode. Then
+
{{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
 
<source>$ adb shell
 
<source>$ adb shell
 
$ su
 
$ su
 
# dd if=/dev/block/mmcblk0p16 of=/sdcard/boot.img</source>
 
# dd if=/dev/block/mmcblk0p16 of=/sdcard/boot.img</source>
If the phone isn't rooted, use ResearchDownload tool for backup.}}
+
If your phone isn't rooted, use the ResearchDownload tool to create a backup.}}
  
Fastboot on this phone doesn't support booting kernel from SD card, so it's required to flash kernel with <code>$ pmbootstrap flasher flash_kernel</code>
+
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 <code>$ pmbootstrap flasher flash_kernel</code>
If you have SD card that is rather fast, consider to not flash rootfs on the phone, because its memory is probably slower (15 Mb/s on read, 9 Mb/s on write).
+
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 ===
 
=== Partitions layout ===
Line 132: Line 149:
  
 
== See also ==
 
== See also ==
* {{issue|239|pmaports}} - Describing porting process here
+
* {{issue|239|pmaports}} porting process
* [https://github.com/myst33d/spreadtrum-kernel-common Generic kernel for Spreadtrum SC8830 platform]
+
* {{MR|645|pmaports}} initial merge request
* [https://github.com/Naimur9800/Sc7731-Sc8830-Kernel_Source Another kernel]
+
* [https://github.com/jedld/kernel_7730 Generic kernel for Spreadtrum]
 +
* [https://gitlab.com/postmarketOS/pmaports/tree/master/device/device-finepower-f1 Device package]
 +
* [https://gitlab.com/postmarketOS/pmaports/tree/master/device/linux-finepower-f1 Kernel package]

Latest revision as of 14:27, 12 October 2019

FinePower F1
FinePower F1
FinePower F1
Manufacturer FinePower
Name F1
Codename finepower-f1
Released 2018
Original software Android 6.0
Hardware
Chipset Spreadtrum SC7731C
CPU 4x1.2Ghz Cortex-A7
GPU Mali-400 MP1
Display 320x480
Storage 4 GB
Memory 512 MB
Architecture armv7
Features
USB Networking
Works
Flashing
Partial
Touchscreen
Works
Display
Partial
WiFi
Xwayland
Works
FDE
Mainline
Battery
3D Acceleration
Accelerometer
Broken
Audio
Partial
Bluetooth
Camera
GPS
Mobile data
SMS
Calls
USB OTG
Unavailable



Contributors

Maintainer(s)

Users owning this device


Current issues

  • Framebuffer has red and blue channels swapped.
  • X11 environments don't start.
  • Keyboard is not detected: only the power button works. Probably needs a driver.
  • Sound input doesn't work as expected.

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

$ sudo fastboot reboot bootloader

Installation

Flashing kernel

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