Finepower F1 (finepower-f1): Difference between revisions
HenriDellal (talk | contribs) mNo edit summary |
m source -> syntaxhighlight |
||
(12 intermediate revisions by 8 users not shown) | |||
Line 6: | Line 6: | ||
| imagecaption = FinePower F1 | | imagecaption = FinePower F1 | ||
| releaseyear = 2018 | | releaseyear = 2018 | ||
| originalsoftware = Android 6.0 | | originalsoftware = Android | ||
| originalversion = 6.0 | |||
| chipset = Spreadtrum SC7731C | | chipset = Spreadtrum SC7731C | ||
| cpu = 4x1.2Ghz Cortex-A7 | | cpu = 4x1.2Ghz Cortex-A7 | ||
Line 14: | Line 15: | ||
| memory = 512 MB | | memory = 512 MB | ||
| architecture = armv7 | | architecture = armv7 | ||
| type = Feature Phone | |||
| status_usbnet = Y | | status_usbnet = Y | ||
| status_flashing = P | | status_flashing = P | ||
Line 24: | Line 26: | ||
| 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 = | | status_accel = N | ||
| status_audio = | | status_audio = Y | ||
| 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 34: | ||
| 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 | | status = boots | ||
| status_otg = - | | status_otg = - | ||
| booting = yes | | booting = yes | ||
Line 53: | Line 55: | ||
== Current issues == | == 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 == | == Hardware == | ||
LCD panel controller: Sintronix ST7796S (MIPI) | * LCD panel controller: Sintronix ST7796S (MIPI) | ||
Back camera: GalaxyCore GC2385 (mipiraw) | * Back camera: GalaxyCore GC2385 (mipiraw) | ||
Front camera: GalaxyCore GC030 | * Front camera: GalaxyCore GC030 | ||
Wi-Fi, Bluetooth, GPS: sc2351 | * Wi-Fi, Bluetooth, GPS: sc2351 | ||
Keyboard LED: sc2723 | * Keyboard LED: sc2723 | ||
Touch panel: FocalTech * | * Touch panel: FocalTech * | ||
=== How to control brightness === | === How to control brightness === | ||
< | <syntaxhighlight lang="shell-session"> | ||
# echo 255 > /sys/class/backlight/sprd_backlight/brightness | |||
# echo 255 > /sys/class/leds/keyboard-backlight/brightness | |||
</syntaxhighlight> | |||
== How to enter flash mode == | == 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 phone to computer and run | Another option is to connect the phone to a computer and run | ||
< | <syntaxhighlight lang="shell-session">$ adb reboot bootloader</syntaxhighlight> | ||
or | or | ||
< | Another option is to connect the phone to a computer and run | ||
<syntaxhighlight lang="shell-session">$ sudo fastboot reboot bootloader</syntaxhighlight> | |||
== Installation == | == Installation == | ||
=== Flashing kernel === | === Flashing kernel === | ||
{{note|'''Backup your boot partition before flashing kernel.''' If you have root, you can do | {{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 | ||
< | <syntaxhighlight lang="shell-session">$ adb shell | ||
$ su | $ su | ||
# dd if=/dev/block/mmcblk0p16 of=/sdcard/boot.img</ | # dd if=/dev/block/mmcblk0p16 of=/sdcard/boot.img</syntaxhighlight> | ||
If | 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 | 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 === | ||
< | <syntaxhighlight lang="text"> | ||
major minor #blocks name | major minor #blocks name | ||
Line 119: | Line 128: | ||
179 64 4096 mmcblk0boot1 | 179 64 4096 mmcblk0boot1 | ||
179 32 4096 mmcblk0boot0 | 179 32 4096 mmcblk0boot0 | ||
</ | </syntaxhighlight> | ||
< | <syntaxhighlight lang="text"> | ||
boot -> /dev/block/mmcblk0p16 | boot -> /dev/block/mmcblk0p16 | ||
cache -> /dev/block/mmcblk0p18 | cache -> /dev/block/mmcblk0p18 | ||
Line 145: | Line 154: | ||
wruntimenv1 -> /dev/block/mmcblk0p7 | wruntimenv1 -> /dev/block/mmcblk0p7 | ||
wruntimenv2 -> /dev/block/mmcblk0p8 | wruntimenv2 -> /dev/block/mmcblk0p8 | ||
</ | </syntaxhighlight> | ||
== See also == | == See also == | ||
* {{issue|239|pmaports}} | * {{issue|239|pmaports}} porting process | ||
* {{MR|645|pmaports}} initial merge request | |||
* [https://github.com/jedld/kernel_7730 Generic kernel for Spreadtrum] | * [https://github.com/jedld/kernel_7730 Generic kernel for Spreadtrum] | ||
* {{Device package|finepower-f1}} | |||
* {{Kernel package|finepower-f1}} |
Latest revision as of 22:00, 4 September 2024
![]() 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 |
Flashing |
Partial |
---|---|
USB Networking |
Works |
Internal storage |
No data |
SD card |
No data |
Battery |
No data |
Screen |
Partial |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
No data |
Audio |
Works |
Camera |
No data |
Camera Flash |
No data |
Connectivity | |
WiFi |
No data |
Bluetooth |
No data |
GPS |
No data |
NFC |
No data |
Modem | |
Calls |
No data |
SMS |
No data |
Mobile data |
No data |
Miscellaneous | |
FDE |
No data |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
Broken |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
No data |
Barometer |
No data |
Contributors
- HenriDellal
- ollieparanoid
- drebrez
- asriel-danctnix
- and other guys from Matrix/IRC chat
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
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
|
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
- pmaports#239 porting process
- pmaports!645 initial merge request
- Generic kernel for Spreadtrum
- Device package
- Kernel package