Jump to content

LG Fx0 (lg-madai): Difference between revisions

From postmarketOS Wiki
Installation: Add note on partition layout
 
(44 intermediate revisions by the same user not shown)
Line 3: Line 3:
| name = Fx0
| name = Fx0
| codename = lg-madai
| codename = lg-madai
| model = LGL25
| image = File:LG-Fx0-xfce4.jpg
| image = File:LG-Fx0-xfce4.jpg
| imagecaption = LG Fx0 running Xfce4
| imagecaption = LG Fx0 running Xfce4
| releaseyear = 2014
| releaseyear = 2014
| category = testing
| originalsoftware = Firefox OS
| originalsoftware = Firefox OS
| originalversion = 2.0
| originalversion = 2.0
| pmoskernel = 3.4.0
| chipset = Qualcomm Snapdragon 400 (MSM8926)
| chipset = Qualcomm Snapdragon 400 (MSM8926)
| cpu = 4x ARM Cortex-A7
| cpu = 4x ARM Cortex-A7
| gpu = Adreno 305
| gpu = Adreno 305
| display = 720x1280 TFT
| storage = 16 GB
| storage = 16 GB
| display = 720x1280 TFT
| memory = 1.5 GB
| memory = 1.5 GB
| architecture = armv7
| architecture = armv7
| type = handset
| whet_dhry = 890.1
<!-- Features -->
<!-- the following status_* questions should be answered with Y for yes, P for partial, N for no, - for N/A or unavailable, or left blank for untested or unknown -->
| status_usbnet = Y
| status_usbnet = Y
| status_flashing = Y
| status_flashing = Y
| status_touch = Y
| status_touch = Y
| status_screen = Y
| status_screen = Y
| status_3d =
| status_fde =
| status_emmc =
| status_wifi = P
| status_wifi = P
| status_xwayland =
| status_mainline =
| status_fde =
| status_mainline =  
| status_battery = Y
| status_battery = Y
| status_3d =
| status_accel =
| status_audio =
| status_audio =
| status_bluetooth =
| status_bluetooth =
Line 33: Line 39:
| status_sms =
| status_sms =
| status_calls =
| status_calls =
| status =
| status_otg =
| status_nfc =
<!-- Sensors -->
| status_accel =
| status_magnet =
| status_light =
| status_proximity =
| status_hall =
| status_barometer =
| status_powersensor = -
<!-- Misc -->
| status_dvb = -
| status_cameraflash =
| status_keyboard = -
| status_touchpad = -
| status_usba = -
| status_sdcard =
| status_hdmidp = -
| status_irtx = -
| status_irrx = -
| status_stylus = -
| status_haptics =
| status_ethernet = -
| status_fossbootloader = N
| booting = yes
| booting = yes
| pmoskernel =
| status_otg =
| status_light =
| status_magnet =
| status_proximity =
| status_hall =
| status_irtx = -
| status_nfc =
}}
}}


LG Fx0, also known as LGL25, is a smartphone manufactured by LG Electronics. Fx0 was originally available only in Japan, sold by KDDI.
LG Fx0, also known as LGL25, is a smartphone manufactured by LG Electronics. Fx0 was originally available only in Japan, sold by KDDI. The hardware is similar to [[LG G2 mini (lg-g2m)]] while [[Firefox OS]] is pre-installed instead of [[Android]].


There are two known versions of Fx0. The original, SIM-locked and non-rooted version was available from the official sales channel. Later, the SIM-free and rooted version appeared in aftermarket. The rooted (SIM-free) version is strongly recommended if you try postmarketOS on Fx0.
There are two known versions of Fx0. The original, SIM-locked and non-rooted version was available from the official sales channel. Later, the SIM-free and rooted version appeared in aftermarket. The rooted (SIM-free) version is strongly recommended if you try postmarketOS on Fx0.
Line 51: Line 72:
== Contributors ==
== Contributors ==
* peremen
* peremen
 
* [[User:MasanoriOgino|MasanoriOgino]]
== Maintainer(s) ==


== Users owning this device ==
== Users owning this device ==
Line 59: Line 79:
== How to enter flash mode ==
== How to enter flash mode ==


* Hold {{Button|Power}} + {{Button|Volume Down}}: LG Recovery (only factory reset)
{{notice|The LG download mode is disabled by default. See the [[LG_Fx0_(lg-madai)#Installation|Installation]] section below for enabling it.}}
* <code>adb reboot recovery</code> on adb shell: AOSP recovery
 
* Hold {{Button|Volume Up}} while connecting to the USB: LG download mode/fastboot (if laf partition is zeroed)
To enter the LG download mode, unplug the device from the USB, power off, and hold {{Button|Volume Up}} while connecting to the USB [https://www.reddit.com/r/FireFoxOS/comments/3uf92h/fx0_lgl25_fastboot_access_and_information/]. You will see the <code>DOWNLOAD MODE</code> line if succeeded.
* Source: [https://www.reddit.com/r/FireFoxOS/comments/3uf92h/fx0_lgl25_fastboot_access_and_information/]
 
If [[lk2nd]] is installed, hold {{Button|Volume Down}} while booting to enter fastboot mode. Note that you can enter the LG download mode even if lk2nd is installed.


== Installation ==
== Installation ==


To use fastboot you need to remove the laf on the Firefox OS. Given that there is no kdz or tot file for this device available, it does not make sense to keep laf for flashing.
You need to erase the LAF partition to enable the LG download mode. Given that there is no KDZ or TOT file for this device available, it does not make sense to keep the LAF partition for flashing.
 
To backup the LAF partition, you need a working <code>su</code> on the device. On <code>adb shell</code>:
 
<syntaxhighlight lang="shell-session">
$ su
# dd if=/dev/block/platform/msm_sdcc.1/by-name/laf of=/sdcard/laf.img
# dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/laf
</syntaxhighlight>
 
Then, on the host:
 
<syntaxhighlight lang="shell-session">
$ adb pull /sdcard/laf.img
</syntaxhighlight>
 
Now, you can enter the LG download mode. While it provides some fastboot commands, it is unstable and lacks important features. lk2nd provides a more stable and full-fledged fastboot implementation. Download <code>lk2nd-msm8226.img</code> from [https://github.com/msm8916-mainline/lk2nd/releases/latest the latest release of lk2nd].
 
We recommend to backup the boot partition before installing lk2nd.
 
<syntaxhighlight lang="shell-session">
$ # On adb shell:
$ su
# dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=/sdcard/boot.img
$ # On the host:
$ adb pull /sdcard/boot.img
</syntaxhighlight>
 
Then, enter the LG download mode and flash lk2nd.
 
<syntaxhighlight lang="shell-session">
$ fastboot flash boot lk2nd-msm8226.img
$ fastboot reboot
</syntaxhighlight>


<pre>
You should backup the system and userdata partitions, at least.
# Backup your LAF partition - on adb shell
su
dd if=/dev/block/platform/msm_sdcc.1/by-name/laf of=/sdcard/laf.img
dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/laf
# On the host
adb pull /sdcard/laf.img
</pre>


There are three partitions: system (1 GiB ext4, mmcblk0p35), userdata (4 GiB ext4, mmcblk0p37), and sdcard (~8.5 GiB vfat, mmcblk0p38). Do not ZERO out the userdata partition, as this partition contains some firmware files (audio and Wi-Fi) customized to the device.
<syntaxhighlight lang="shell-session">
$ fastboot fetch system system.img
$ fastboot fetch userdata userdata.img
</syntaxhighlight>


{{notice|Rooted Fx0 may have a different partition layout. For instance, [[User:MasanoriOgino|omasanori]] got a device with ~9.7 GiB userdata partition and it boots CyanogenMod instead of Firefox OS. We recommend to backup all relevant partitions before installing postmarketOS if possible.}}
Read and follow the general [[Installation|installation guide]] to continue installation.


== Components ==
== Components ==
Line 88: Line 138:


== See also ==
== See also ==
<!--* {{Device package|lg-madai}}
* {{Device package|lg-madai}}
* {{Kernel package|lg-madai}} -->
* {{Kernel package|lg-madai}}
* [https://github.com/peremen/android-kernel-lg-madai/ Kernel source] (mirrored from LG OSS Center when it was alive)
* [https://github.com/peremen/android-kernel-lg-madai/ Kernel source] (mirrored from LG OSS Center when it was alive)

Latest revision as of 06:27, 14 September 2024

LG Fx0
LG Fx0 running Xfce4
LG Fx0 running Xfce4
Manufacturer LG
Name Fx0
Codename lg-madai
Model LGL25
Released 2014
Type handset
Hardware
Chipset Qualcomm Snapdragon 400 (MSM8926)
CPU 4x ARM Cortex-A7
GPU Adreno 305
Display 720x1280 TFT
Storage 16 GB
Memory 1.5 GB
Architecture armv7
Software
Original software Firefox OS
Original version 2.0
FOSS bootloader no
postmarketOS
Category testing
Pre-built images no
postmarketOS kernel 3.4.0
Unixbench Whet/Dhry score 890.1
Features
Flashing
Works
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
Works
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
No data
Audio
No data
Camera
No data
Camera Flash
No data
Connectivity
WiFi
Partial
Bluetooth
No data
GPS
No data
NFC
No data
Modem
Calls
No data
SMS
No data
Mobile data
No data
Miscellaneous
FDE
No data
USB OTG
No data
Sensors
Accelerometer
No data
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
No data
Barometer
No data


LG Fx0, also known as LGL25, is a smartphone manufactured by LG Electronics. Fx0 was originally available only in Japan, sold by KDDI. The hardware is similar to LG G2 mini (lg-g2m) while Firefox OS is pre-installed instead of Android.

There are two known versions of Fx0. The original, SIM-locked and non-rooted version was available from the official sales channel. Later, the SIM-free and rooted version appeared in aftermarket. The rooted (SIM-free) version is strongly recommended if you try postmarketOS on Fx0.

Contributors

Users owning this device


How to enter flash mode

Notice The LG download mode is disabled by default. See the Installation section below for enabling it.

To enter the LG download mode, unplug the device from the USB, power off, and hold Volume Up while connecting to the USB [1]. You will see the DOWNLOAD MODE line if succeeded.

If lk2nd is installed, hold Volume Down while booting to enter fastboot mode. Note that you can enter the LG download mode even if lk2nd is installed.

Installation

You need to erase the LAF partition to enable the LG download mode. Given that there is no KDZ or TOT file for this device available, it does not make sense to keep the LAF partition for flashing.

To backup the LAF partition, you need a working su on the device. On adb shell:

$ su
# dd if=/dev/block/platform/msm_sdcc.1/by-name/laf of=/sdcard/laf.img
# dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/laf

Then, on the host:

$ adb pull /sdcard/laf.img

Now, you can enter the LG download mode. While it provides some fastboot commands, it is unstable and lacks important features. lk2nd provides a more stable and full-fledged fastboot implementation. Download lk2nd-msm8226.img from the latest release of lk2nd.

We recommend to backup the boot partition before installing lk2nd.

$ # On adb shell:
$ su
# dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=/sdcard/boot.img
$ # On the host:
$ adb pull /sdcard/boot.img

Then, enter the LG download mode and flash lk2nd.

$ fastboot flash boot lk2nd-msm8226.img
$ fastboot reboot

You should backup the system and userdata partitions, at least.

$ fastboot fetch system system.img
$ fastboot fetch userdata userdata.img

Read and follow the general installation guide to continue installation.

Components

  • UART: According to service manual UART is provided as a part of JTAG connector, unpopulated by default and only accessible after opening the case. The Pin 14 (lower right, bigger pad than others) is MSM_UART_TX, which needs to be hooked up to the RX of the UART adapter.
  • Wi-Fi: Qualcomm WCNSS. Note that the LG source code archive lacks the prima driver, which is used in Firefox OS. According to dmesg in Firefox OS, it is version v3.2.3.172. Porting the prima driver from LineageOS kernel makes Wi-Fi work, but it seems that NetworkManager seems not like this configuration.
  • Display: no backlight adjustment yet, also had to change the visual to RGB565 to get a working Xfce4.
  • Given the sorry quality and lower version of stock LG kernel, maybe mainlining could be worth?

See also