Jump to content

LG Optimus L3 II (lg-vee3e): Difference between revisions

From postmarketOS Wiki
m Add link to MR 2176
m Remove red tint mention
 
(10 intermediate revisions by 6 users not shown)
Line 6: Line 6:
| imagecaption = The device running Weston
| imagecaption = The device running Weston
| releaseyear = 2013
| releaseyear = 2013
| originalsoftware = Android 4.1.2
| originalsoftware = Android
| chipset = Qualcomm MSM7225A Snapdragon S1
| originalversion = 4.1.2
| chipset = Qualcomm Snapdragon S1 (MSM7225A)
| cpu = 1.0 GHz Cortex A5
| cpu = 1.0 GHz Cortex A5
| gpu = Adreno 200
| gpu = Adreno 200
Line 14: Line 15:
| memory = 512 MB
| memory = 512 MB
| architecture = armv7
| architecture = armv7
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) -->
| type = handset
| status_usbnet = Y
| status_usbnet = Y
| status_flashing = P
| status_flashing = P
| status_touch = Y <!-- 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 = Y
| status_wifi = N <!-- Wireless network works? -->
| status_wifi = P
| status_xwayland = Y <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? -->
| status_xwayland = Y  
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? -->
| status_fde =  
| status_mainline = <!-- Instead of a Linux kernel fork, it is possible to run mainline. -->
| status_mainline =  
| status_battery = P <!-- Charging the battery with charging-sdl is possible -->
| status_battery = P  
| status_3d = N <!-- Hardware accelerated 3D graphics (e.g. with freedreno) -->
| status_3d = N  
| status_accel = <!-- The sensor that measures proper acceleration works -->
| status_accel =  
| status_audio = P <!-- Using the device's speakers/headphone jack works -->
| status_audio = P  
| status_bluetooth = N <!-- It's possible to pair and use other devices via the bluetooth protocol -->
| status_bluetooth = N  
| status_camera = N <!-- Taking photos and videos works. -->
| status_camera = N  
| status_gps = <!-- The Global Positioning System sensor works.  -->
| status_gps =  
| status_mobiledata = N <!-- Connecting to the Internet via cellular network. -->
| status_mobiledata = N  
| status_sms = N <!-- Sending and receiving short messages works as intended. -->
| status_sms = N  
| status_calls = N <!-- Talking to other people over the cellular network. -->
| status_calls = N  
| status = <!-- Text displayed in the "not booting" table on the Devices page , e.g "kernel compiles, doesn't boot" -->
| status_nfc = -
| booting = yes <!-- The device is booting at all, can be yes/no *IMPORTANT* -->
| status =  
| booting = yes  


| pmoskernel = 3.4.0
| pmoskernel = 3.4.0
Line 45: Line 47:


== Maintainer(s) ==
== Maintainer(s) ==
<!-- Only if this device doesn't run on linux-postmarketos yet! -->
<!-- This person needs to be willing to answer questions from users of this device -->
* LegoLivesMatter
* LegoLivesMatter


Line 56: Line 56:


== Installation ==
== Installation ==
<!-- add more sections below as necessary, e.g. WiFi, photos, ... -->
Only the boot image can be flashed using fastboot (requires flash:raw instead of flash, otherwise you will get a "Couldn't parse partition size '0x'" error), the rootfs must be flashed using an Android recovery zip.
Only the boot image can be flashed using fastboot (requires flash:raw instead of flash, otherwise you will get a "Couldn't parse partition size '0x'" error), the rootfs must be flashed using an Android recovery zip.


== WiFi ==
== WiFi ==
Firmware has been extracted from an unofficial CM11 ROM, and the files are the following:
Firmware can be found [https://github.com/TeamVee/android_device_lge_msm7x27a-common/tree/cm-13.0/wlan/firmware here]. It should be put in <code>/lib/firmware/postmarketos/wlan/volans</code>.
* WCN1314_cfg.dat
* WCN1314_qcom_cfg.ini
* WCN1314_qcom_fw.bin
* WCN1314_qcom_wlan_nv.bin


<s>However, the drivers (librasdioif.ko and wlan.ko) are compiled as modules which don't get copied to the rootfs (can be found in the out directory though), and when copied and loaded the following errors are found in dmesg:
The steps to get it working manually are roughly:


[  102.967091] wlan: module is from the staging directory, the quality is unknown, you have been warned.
* Make sure network services like NetworkManager and wpa_supplicant are disabled (doesn't work with them)
[  102.967323] wlan: module license 'Proprietary' taints kernel.
* Write <code>1</code> to <code>/sys/devices/platform/msm_sdcc.2/polling</code>
[  102.983053] wlan: Unknown symbol libra_sdiocmd52 (err 0)
* Modprobe the <code>wlan</code> module
[  102.983083] wlan: Unknown symbol libra_sdio_configure_suspend_resume (err 0)
* Write <code>0</code> to <code>/sys/devices/platform/msm_sdcc.2/polling</code> (this might not be strictly necessary, but the Android init.rc script does that)
[  102.983094] wlan: Unknown symbol libra_sdio_memcpy_toio (err 0)
* Create config for <code>wpa_supplicant</code> and run it
[  102.983181] wlan: Unknown symbol libra_sdio_register_shutdown_hdlr (err 0)
* Run <code>dhclient wlan0</code> (<code>dhcpcd doesn't work</code>)
[  102.983193] wlan: Unknown symbol libra_getsdio_funcdev (err 0)
[  102.983204] wlan: Unknown symbol libra_sdio_writesb (err 0)
[  102.983224] wlan: Unknown symbol libra_claim_host (err 0)
[  102.983319] wlan: Unknown symbol gCard_rem_event_var (err 0)
[  102.983394] wlan: Unknown symbol libra_enable_sdio_irq (err 0)
[  102.983441] wlan: Unknown symbol libra_disable_sdio_irq_capability (err 0)
[  102.983488] wlan: Unknown symbol libra_sdio_readsb (err 0)
[  102.983604] wlan: Unknown symbol libra_sdio_setprivdata (err 0)
[  102.983629] wlan: Unknown symbol libra_detect_card_change (err 0)
[  102.983754] wlan: Unknown symbol libra_sdio_set_clock (err 0)
[  102.983819] wlan: Unknown symbol libra_sdio_getprivdata (err 0)
[  102.983931] wlan: Unknown symbol gShutdown_event_var (err 0)
[  102.983948] wlan: Unknown symbol libra_sdio_configure (err 0)
[  102.983971] wlan: Unknown symbol libra_release_host (err 0)
[  102.984001] wlan: Unknown symbol libra_sdio_notify_card_removal (err 0)
[  102.984059] wlan: Unknown symbol libra_sdio_memcpy_fromio (err 0)
[  102.984089] wlan: Unknown symbol libra_sdio_get_card_id (err 0)
[  102.984154] wlan: Unknown symbol libra_sdio_deconfigure (err 0)
[  102.984174] wlan: Unknown symbol chip_power_qrf6285 (err 0)
[  102.984199] wlan: Unknown symbol libra_enable_sdio_irq_in_chip (err 0)
[  122.173208] librasdioif: unknown relocation: 3
</s>


UPDATE 5/11/2021: The unknown relocation 3 error is caused by a too recent GCC version, when the kernel is compiled with GCC 4 the modules still don't get copied to the initramfs by default, although librasdioif loads fine. However, wlan still fails to load, showing these errors:
The support is not packaged yet. Also, it would be nice to get it working with NetworkManager (currently it goes into a connect-disconnect loop).
 
[  77.909841] wlan: module is from the staging directory, the quality is unknown, you
have been warned.
[  77.909899] wlan: module license 'Proprietary' taints kernel.
[  77.984461] wlan: loading driver v0.2.2.644
[  77.984569] smps3: Failed to create debugfs directory
[  77.988609] [2516:F :HDD] hdd_module_init: Libra WLAN not detected yet.
[  78.240728] [2516:F :HDD] hdd_module_init: Libra WLAN not detected yet.
[  78.500074] [2516:F :HDD] hdd_module_init: Libra WLAN not detected yet.
[  78.760519] [2516:F :HDD] hdd_module_init: Libra WLAN not detected yet.
[  79.020583] [2516:F :HDD] hdd_module_init: Libra WLAN not detected yet.
[  79.280994] [2516:F :HDD] hdd_module_init: Libra WLAN not detected yet.
[  79.540316] [2516:F :HDD] hdd_module_init: Libra WLAN not detected yet.
[  79.540386] [2516:F :VOS] vos_chipPowerDown: Libra WLAN sdio device is NULL
[  79.540416] exiting
[  80.564869] [2516:F :HDD] hdd_module_init: Retry Libra WLAN not detected yet.
[  81.570809] [2516:F :HDD] hdd_module_init: Retry Libra WLAN not detected yet.
[  81.574083] [2516:F :HDD] hdd_module_init: Libra WLAN not found!!
[  81.575864] [2516:F :VOS] vos_chipPowerDown: Libra WLAN sdio device is NULL
[  81.575983] exiting
[  81.599071] wlan: driver load failure
 
According to Caleb on Matrix, this driver requires some configuration to work, which is yet to be researched.


== Modem ==
== Modem ==
Firmware has been extracted from an unofficial CM11 ROM, and the files are the following:
<strike>Firmware has been extracted from an unofficial CM11 ROM, and the files are the following:


* yamato_pm4.fw
* yamato_pm4.fw
* yamato_pfp.fw
* yamato_pfp.fw
</strike> These firmware files appear to be kgsl/downstream 3D related, at least according to GNUtoo on #replicant. This entire section might be invalid.


When tested with oFono, the following worked:
When tested with oFono, the following worked:
Line 138: Line 90:


== Known issues ==
== Known issues ==
* Xorg triggers a lot of "FBIOPUTCMAP: Invalid argument" errors, reason is still unknown. Only use Wayland compositors for now. (XWayland does work)
* Xorg triggers a lot of <code>FBIOPUTCMAP: Invalid argument</code> errors, reason is still unknown. Xfce crashes the system when started by LightDM, but works when started with <code>startxfce4</code>. MATE and Sxmo can be started by LightDM/TinyDM without any issues, except the <code>FBIOPUTCMAP: Invalid argument</code> spam.
* <strike>Screen has a red tint.</strike> UPDATE 5/16/2021: will be fixed in {{MR|2176|pmaports}}


== See also ==
== See also ==

Latest revision as of 15:21, 15 November 2024

LG Optimus L3 II
The device running Weston
The device running Weston
Manufacturer LG
Name Optimus L3 II
Codename lg-vee3e
Released 2013
Type handset
Hardware
Chipset Qualcomm Snapdragon S1 (MSM7225A)
CPU 1.0 GHz Cortex A5
GPU Adreno 200
Display 240x320 3.2" IPS
Storage 4 GB
Memory 512 MB
Architecture armv7
Software
Original software Android
Original version 4.1.2
postmarketOS
Category testing
Pre-built images no
postmarketOS kernel 3.4.0
Unixbench Whet/Dhry score 170.3
Features
Flashing
Partial
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
Partial
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
Broken
Audio
Partial
Camera
Broken
Camera Flash
No data
Connectivity
WiFi
Partial
Bluetooth
Broken
GPS
No data
Modem
Calls
Broken
SMS
Broken
Mobile data
Broken
Miscellaneous
FDE
No data
HDMI/DP
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


Contributors

  • LegoLivesMatter

Maintainer(s)

  • LegoLivesMatter

Users owning this device


How to enter flash mode

While the device is off, hold Volume Up (for fastboot) / Volume Down (for recovery) + Home + Power until the screen turns on. When it turns on, release the power button, but keep pressing the other buttons until the device boots into fastboot (it will stay on the LG splashscreen, but will be visible with "fastboot devices") or recovery (will be obvious).

Installation

Only the boot image can be flashed using fastboot (requires flash:raw instead of flash, otherwise you will get a "Couldn't parse partition size '0x'" error), the rootfs must be flashed using an Android recovery zip.

WiFi

Firmware can be found here. It should be put in /lib/firmware/postmarketos/wlan/volans.

The steps to get it working manually are roughly:

  • Make sure network services like NetworkManager and wpa_supplicant are disabled (doesn't work with them)
  • Write 1 to /sys/devices/platform/msm_sdcc.2/polling
  • Modprobe the wlan module
  • Write 0 to /sys/devices/platform/msm_sdcc.2/polling (this might not be strictly necessary, but the Android init.rc script does that)
  • Create config for wpa_supplicant and run it
  • Run dhclient wlan0 (dhcpcd doesn't work)

The support is not packaged yet. Also, it would be nice to get it working with NetworkManager (currently it goes into a connect-disconnect loop).

Modem

Firmware has been extracted from an unofficial CM11 ROM, and the files are the following:

  • yamato_pm4.fw
  • yamato_pfp.fw

These firmware files appear to be kgsl/downstream 3D related, at least according to GNUtoo on #replicant. This entire section might be invalid.

When tested with oFono, the following worked:

  • Enabling and setting modem online
  • Detecting and configuring SIM card
  • Scanning for operators
  • Sending USSD codes (I tested the one for balance)

However, SMSes initially do seem to work, but the receiving party never gets the SMS. Judging by the balance, the SMS never got sent in the first place or it failed to send. If you successfully send an SMS, please contact me on GitLab or Matrix and make sure to include the exact procedure you used to send the SMS (including whether or not you added/removed one or more firmware files or perhaps used another modem service, such as ModemManager.

Known issues

  • Xorg triggers a lot of FBIOPUTCMAP: Invalid argument errors, reason is still unknown. Xfce crashes the system when started by LightDM, but works when started with startxfce4. MATE and Sxmo can be started by LightDM/TinyDM without any issues, except the FBIOPUTCMAP: Invalid argument spam.

See also