https://wiki.postmarketos.org/api.php?action=feedcontributions&user=Alikates&feedformat=atompostmarketOS - User contributions [en]2024-03-28T09:53:46ZUser contributionsMediaWiki 1.39.6https://wiki.postmarketos.org/index.php?title=Mainlining&diff=56683Mainlining2024-03-09T14:55:34Z<p>Alikates: Add MSM8953 matrix room</p>
<hr />
<div>[[Category:Socs]]<br />
Mainlining is the process of replacing the kernel provided by the device vendor (the "downstream" kernel), with a version close to the actively developed version released on [https://www.kernel.org kernel.org] (the "mainline" kernel). It involves porting (and most importantly: cleaning up) device-specific code from the downstream kernel to the mainline kernel. For some {{wikipedia|System_on_a_chip|SoCs}}, common support already exists in mainline, so you can focus on device-specific components.<br />
<br />
== Why? ==<br />
Mainlining is a fairly complicated process, especially if you're one of the first to start work on a given SoC. However through community effort there is a growing number of SoCs that have increasingly stable mainline ports (see below). In general it is relatively simple to take your existing Android kernel and boot it without any of the Android blobs, however from that point it can be a lot of working to create a working system and at the end of it you don't receive any security patches or general improvements.<br />
<br />
Apart from purely practical insufficiencies, the cold hard truth is that the downstream code is simply not meant to be maintained or get used outside Android. The code quality is often several magnitudes worse, which makes maintenance rather complicated. Often large parts of the drivers are moved into proprietary parts in Android userspace - which are generally impossible to use without emulating the expected Android environment. At the end, the effort to make such drivers work properly on long term is often as much as rewriting them properly for mainline.<br />
<br />
Successfully mainlining an SoC or device means that you benefit from every improvement the Linux kernel has to offer, you can run a fairly standard Linux distro (in theory even ''any'' Linux distro that has support for your device’s architecture) and benefit from kernel updates and improvements without needing to compile your own kernel or deal with frustrating patches. A notable easy-to-notice benefit of running mainline is minimal-effort-needed GPU support for almost all GPUs (except PowerVR unfortunately), which is needed for using modern phone DEs like Plasma Mobile or Phosh with acceptable performance. Lastly, mainlining is a terrific learning opportunity that you will never regret.<br />
<br />
If your device's SoC is in the list below there's a very decent chance that you can get the same functionality working on your device and eventually upstream your patches to the kernel, helping to build a solid base for other devices too!<br />
<br />
== Overview ==<br />
<br />
=== Supported SoCs ===<br />
Some SoCs are already supported quite well and are used for some devices in postmarketOS. Getting started with one of these might be easier for you, because you can get help from others working with the same SoC. The feature matrix below shows which features are already supported for a particular SoC. The pages for each SoC will provide more information, plus hints how to get started and who you can contact.<br />
<br />
* '''CPU:''' SMP (bring up secondary CPU cores), CPU frequency scaling, CPUidle<br />
* '''Storage:''' eMMC, SD cards, UFS, ...<br />
* '''Video:''' Hardware-accelerated video de/encoding<br />
* '''Modem:''' Calls, SMS, Internet<br />
* '''Suspend:''' Can reach (all) low-power modes of the SoC during suspend (either system suspend or cpuidle).<br />
* Unavailable (-) means that such a feature is not built directly into SoC. For example, WiFi/BT are also often used through SDIO/UART which can be chosen independently from the SoC.<br />
'''Note:''' The statuses displayed below signify if a particular feature was tested on a device by someone in the postmarketOS community - not necessarily the components supported in the mainline kernel.<br />
<br />
{{#cargo_query:<br />
tables=Socs<br />
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=SoC,Arch,Year,StatusUart=UART,StatusUsb=USB,StatusStorage=Storage,StatusDisplay=Display,StatusCpu=CPU,StatusGpu=GPU,StatusPinctrl=Pinctrl,StatusI2c=I²C,StatusAudio=Audio,StatusVideo=Video,StatusThermal=Thermal,StatusWiFi=WiFi,StatusBluetooth=BT,StatusModem=Modem,StatusGps=GPS,StatusCamera=Camera,StatusSuspend=Suspend<br />
|order by=Socs.Manufacturer, Socs.Name<br />
|where=Mainline="1"<br />
|format=table<br />
|limit=9999<br />
|more results text=<br />
}}<br />
<br />
=== Getting help ===<br />
Mainlining related to postmarketOS is primarily discussed in the [[Matrix_and_IRC|#postmarketOS-mainline]] channel. For one of the SoCs above there should be someone around who is able to help you to some extent. Note that you will be on your own for some of the problems - there are often device specific problems or components that no one has experience with yet.<br />
<br />
Below are some more chat channels / mailing list that may be helpful for further help or if you want to work on a SoC that is not listed above (yet!):<br />
<br />
In Matrix, you can browse most of Linux kernel development related channels in [https://matrix.to/#/#linux-kernel-devspace:matrix.org #linux-kernel-devspace]<br />
<br />
{| class="wikitable"<br />
! SoC<br />
! Where to ask for help<br />
|-<br />
|<br />
| [[Matrix_and_IRC|#postmarketOS-mainline]] (SoC-specific questions might be limited to those listed above)<br />
|-<br />
| Allwinner<br />
| #linux-sunxi on [https://www.oftc.net/ OFTC], [https://groups.google.com/g/linux-sunxi/ linux-sunxi@googlegroups.com]<br />
|-<br />
| Amlogic<br />
| #linux-amlogic on [https://libera.chat/ Libera.chat], [https://lore.kernel.org/linux-amlogic/ linux-amlogic@lists.infradead.org]; general information is available at [https://linux-meson.com/ linux-meson.com].<br />
|-<br />
| [[Broadcom Kona]]<br />
| ask [[User:Knuxfanwin8|knuxify]], [https://github.com/bcm-kona-mainline bcm-kona-mainline on GitHub]<br />
|-<br />
| Exynos<br />
| #replicant (with focus on older variants) or #linux-exynos on [https://libera.chat/ Libera.chat] (ask forkbomb, Putti, krzk), [https://lore.kernel.org/linux-samsung-soc/ linux-samsung-soc@vger.kernel.org]<br />
|-<br />
| [[Samsung Exynos 4]]<br />
| Exynos entry + [https://matrix.to/#/#exynos4xxx-mainline:matrix.org #exynos4xxx-mainline:matrix.org] on Matrix<br />
|-<br />
| [[Samsung Exynos 5]]<br />
| Exynos entry + [https://matrix.to/#/#exynos5-mainline:matrix.org #exynos5-mainline:matrix.org] on Matrix<br />
|-<br />
| [[Marvell PXA1908]] (incl. other PXA and MMP)<br />
| [https://matrix.to/#/#pxa1908-mainline:dujemihanovic.xyz #pxa1908-mainline:dujemihanovic.xyz]<br />
|-<br />
| MediaTek<br />
| #linux-mediatek on [https://libera.chat/ Libera.chat], [https://lore.kernel.org/linux-mediatek/ linux-mediatek@lists.infradead.org]<br />
|-<br />
| [[MediaTek MT6735]]<br />
| MediaTek entry + join [https://matrix.to/#/#mt6735-foss:matrix.org #mt6735-foss:matrix.org]<br />
|-<br />
| OMAP3 / OMAP4<br />
| ask [https://gitlab.com/pavelm @pavelm], [https://lore.kernel.org/linux-omap/ linux-omap@vger.kernel.org]<br />
|-<br />
| Qualcomm (msm...)<br />
| #linux-msm on [https://www.oftc.net/ OFTC], [https://lore.kernel.org/linux-arm-msm/ linux-arm-msm@vger.kernel.org]<br />
|-<br />
| [[Qualcomm Snapdragon 400 (MSM8226)]]<br />
| Qualcomm entry + join [https://matrix.to/#/#msm8226-mainline:postmarketos.org #msm8226-mainline:postmarketos.org]<br />
|-<br />
| [[Qualcomm Snapdragon 210 (MSM8909)]]<br />
| Qualcomm entry + join [https://matrix.to/#/#msm8916:postmarketos.org #msm8916:postmarketos.org]<br />
|-<br />
| [[Qualcomm Snapdragon 410/412 (MSM8916)]]<br />
| Qualcomm entry + join [https://matrix.to/#/#msm8916:postmarketos.org #msm8916:postmarketos.org]<br />
|-<br />
| [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
| Qualcomm entry + join [https://matrix.to/#/#msm8953-mainline:matrix.org #msm8953-mainline:matrixorg]<br />
|-<br />
| [[Qualcomm Snapdragon 600 (APQ8064)]] and [[Qualcomm Snapdragon S4 Plus (MSM8960)]]<br />
| Qualcomm entry + join [https://matrix.to/#/#linux-apq8064:matrix.org #linux-apq8064:matrix.org]<br />
|-<br />
| [[Qualcomm Snapdragon 615/616 (MSM8939)]]<br />
| Qualcomm entry + join [https://matrix.to/#/#msm8916:postmarketos.org #msm8916:postmarketos.org]<br />
|-<br />
| [[Qualcomm Snapdragon 730/730G/732G (SM7150)]]<br />
| Qualcomm entry + join [https://matrix.to/#/#sm7150-mainline:matrix.org #sm7150-mainline:matrix.org]<br />
|-<br />
| [[Qualcomm Snapdragon 820/821 (MSM8996)]]<br />
| Qualcomm entry + join [https://matrix.to/#/#msm8996-mainline:matrix.org #msm8996-mainline:matrix.org]<br />
|-<br />
| [[Qualcomm Snapdragon 845 (SDM845)]]<br />
| Qualcomm entry + ask [[User:Kalube|Caleb]] and join [https://matrix.to/#/#sdm845:postmarketos.org #sdm845:postmarketos.org]<br />
|-<br />
| [[Qualcomm Snapdragon 865/865+/870 (SM8250)]]<br />
| Qualcomm entry + join [https://matrix.to/#/#sm8250-mainline:matrix.org #sm8250-mainline:matrix.org]<br />
|-<br />
| [[Nvidia Tegra]]<br />
| [https://matrix.to/#/#postmarketOS-on-transformers:matrix.org matrix.org:#postmarketOS-on-transformers:matrix.org] (initially focused on the Asus Eee Pad Transformer family, now also offers help with other Tegra devices under PMOS), #tegra on [https://libera.chat/ Libera.chat], [https://www.spinics.net/lists/linux-tegra/ linux-tegra@vger.kernel.org]<br />
|-<br />
|}<br />
<br />
== Getting Started ==<br />
* Collect as much information about your device as you can: downstream kernel sources, specifications, schematics (can be sometimes found with your favorite search engine) are all going to prove invaluable when attempting to port a device to mainline.<br />
* [[Serial debugging]] will be helpful especially in the beginning (before USB or network is working). Some devices expose it through the USB port or the audio jack; others have test points available on the mainboard.<br />
* Choose a kernel tree:<br />
** '''Mainline:''' (the last kernel version released by Linus Torvalds) Usually a good compromise of being recent, yet quite stable. [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git torvalds/linux.git]<br />
** '''linux-next:''' A collection of recently merged changes from many subsystems; use this if you are working on a very recent SoC. [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git next/linux-next.git]<br />
** There may be more WIP changes available in Linux kernel trees specific to your SoC.<br />
* [[Compiling kernels with envkernel.sh]] is very useful to integrate kernel development into postmarketOS.<br />
* If you are attempting to port to a SoC listed above, check the SoC wiki page for further help and instructions.<br />
* Do not attempt to copy any code as-is from downstream. In general this won't work, and most importantly: it won't be accepted for inclusion into the mainline kernel upstream.<br />
** Instead, try to understand what the downstream code does, and rewrite it from scratch for mainline by looking at similar code.<br />
<br />
== Materials to look into ==<br />
This section include many useful sources to help you with mainlining as possible.<br />
<br />
Note: Linux architecture regarding to embedded devices moving fast forward, so be aware that some specific information can get outdated in 2 – 3 years.<br />
<br />
'''Books:'''<br />
* Mastering Linux Device Driver Development: Write custom device drivers to support computer peripherals in Linux operating systems (2021, John Madieu) [https://www.packtpub.com/product/mastering-linux-device-driver-development/9781789342048 Packtpub (on SALE for $ 5)]<br />
* Linux Driver Development for Embedded Processors - Second Edition: Learn to develop Linux embedded drivers with kernel 4.9 LTS (2018, Alberto Liberal De Los Ríos) [https://www.amazon.com/Linux-Driver-Development-Embedded-Processors/dp/1729321828 amazon.com]<br />
<br />
'''Intro:'''<br />
* Porting mainline Linux to mobile phones, Luca Weiss, 2022 (40:00) [https://fosdem.org/2022/schedule/event/mobile_kernel_mainline/ FOSDEM]<br />
* Running Mainline Linux on Snapdragon 410, Nikita Travkin, 2022 (40:00) [https://fosdem.org/2022/schedule/event/mobile_kernel_snapdragon_410/ FOSDEM]<br />
* From Android to mainline on the Snapdragon 845, Caleb Connolly, 2022 (30:00) [https://fosdem.org/2022/schedule/event/mobile_kernel_snapdragon_845/ FOSDEM]<br />
* Qualcomm SoC upstreaming adventures in 2020 [https://www.youtube.com/watch?v=xu-3CmRefvc Youtube] [https://odysee.com/@PortingLinuxPhones:5/Qualcomm-SoC-upstreaming-adventures-in-2020-xu-3CmRefvc:9 Odysee]<br />
* Porting Linux to your favorite obscure Arm SoC, 2020 [https://media.ccc.de/v/rc3-80571-porting_linux_to_your_favorite_obscure_arm_soc media.ccc.de] [https://www.youtube.com/watch?v=Ep5Mbz0mQQQ Youtube] [https://odysee.com/@PortingLinuxPhones:5/rc3-r3s-5-eng-Porting_Linux_to_your_favorite_obscure_Arm_SoC_webm-hd:2 Odysee]<br />
* Upstreaming a Qualcomm SoC, 2020 [https://www.youtube.com/watch?v=WLBzl1AyJog YouTube] [https://elinux.org/images/6/66/Qualcomm_Upstreaming_ELCNA20_v2.pdf Slides] ''Overview of porting 2020-era SoC''<br />
* Introduction into how mainlining is done, 2017 (52:37) [https://www.youtube.com/watch?v=77tuFtM4gjA Youtube] [https://odysee.com/@PortingLinuxPhones:5/Forward-Porting-Google-Nexus-5X---6P---Lessons-from-the-Trenches-and-What's-Next---Jeremy-McNicoll:d Odysee]<br />
<br />
'''Basics:'''<br />
* Introduction into ARM architecture, 2017 (46:33) [https://www.youtube.com/watch?v=NNol7fRGo2E Youtube] [https://odysee.com/@PortingLinuxPhones:5/A-tour-of-the-ARM-architecture-and-its-Linux-support,-2017:4 Odysee] [https://bootlin.com/pub/conferences/2017/lca/petazzoni-arm-introduction/petazzoni-arm-introduction.pdf Slides]<br />
* ARM64 SoC Linux Support Check-List, 2017 (42:38) [https://www.youtube.com/watch?v=LPG4EkXK9Us Youtube] [https://odysee.com/@PortingLinuxPhones:5/ARM64-SoC-Linux-Support-Check-List-(2017):7 Odysee] [https://bootlin.com/pub/conferences/2016/elce/clement-arm64-soc-checklist/clement-arm64-soc-checklist.pdf Slides] ''Very useful step-by-step guide what should be done to bring in SoC support''<br />
* Upstreaming ARM64 SoC's easier than before, 2019 (19:03) [https://www.youtube.com/watch?v=RBB6qKLUpd8 Youtube] [https://odysee.com/@PortingLinuxPhones:5/SAN19-219-Upstreaming-ARM64-SoC's-easier-than-before:7 Odysee] [https://static.linaro.org/connect/san19/presentations/san19-219.pdf Slides]<br />
* [https://mainlining.dev/ Mainlining blog] by ichernev<br />
* [https://people.kernel.org/linusw/how-the-arm32-kernel-starts How the ARM32 kernel starts] by [[Special:Contributions/Linusw|Linus Walleij]]<br />
<br />
'''Writing device trees:'''<br />
* Device Tree 101, 2021 (1:54:58) [https://www.youtube.com/watch?v=a9CZ1Uk3OYQ Youtube]<br />
* Device Tree (DT) introduction, 2013 (1:12:14) [https://www.youtube.com/watch?v=m_NyYEBxfn8 Youtube] [https://odysee.com/@PortingLinuxPhones:5/Device-Tree-for-Dummies!---Thomas-Petazzoni,-Free-Electrons:b Odysee] [https://elinux.org/images/f/f9/Petazzoni-device-tree-dummies_0.pdf Slides]<br />
* Device Tree: present, past, future, 2018 (37:28) [https://www.youtube.com/watch?v=PgQezmlst0w Youtube] [https://odysee.com/@PortingLinuxPhones:5/Device-Tree--Past,-Present,-and-Future,-2018:c Odysee] [https://elinux.org/images/0/06/ELCE_2019_DeviceTree_Past_Present_Future.pdf Slides]<br />
* Device tree bindings (i.e. documentation how to specify devices in your device tree) are mandatory for all mainline drivers. You can check those in the <code>Documentation/devicetree/bindings</code> directory to see which options are supported by a particular driver.<br />
* [https://elinux.org/Device_Tree_Usage Device Tree Usage (beginner guide by elinux.org)]<br />
* [https://www.devicetree.org/specifications/ Device Tree Specification]<br />
* [https://elinux.org/Device_Tree_presentations_papers_articles DT Resources on elinux.org]<br />
<br />
'''Clocks:'''<br />
* Common Clock Framework: How To Use It, 2013 (44:50) [https://www.youtube.com/watch?v=Mwr7eZUm1Nw Youtube] [https://odysee.com/@PortingLinuxPhones:5/Embedded-Linux-Conference-2013---Pin-Control-and-GPIO-Update-z4EkzJDGxFo:0 Odysee]''Not so useful, old and only a basic overview''<br />
* What The Clock! - Linux Clock Subsystem Internals, 2020 (33:12) [https://odysee.com/@PortingLinuxPhones:5/Kernel-System-What-The-Clock!-Linux-Clock-Subsystem-Internals:9 Odysee] [https://www.youtube.com/watch?v=bcxrSBIwZVU Youtube] [https://static.sched.com/hosted_files/osseu2020/45/ELC-E%202020_%20What%20The%20Clock%20%21.pdf Slides]<br />
* [https://www.kernel.org/doc/html/latest/timers/timekeeping.html Clock sources, Clock events, sched_clock() and delay timers] at kernel.org<br />
<br />
'''Power Management'''<br />
* SAN19-421 Training: Device power management for idle [https://www.youtube.com/watch?v=wbG1rXibzMY Youtube]<br />
<br />
'''Various topics:'''<br />
* Pin Control and GPIO, 2013 (48:03) [https://www.youtube.com/watch?v=z4EkzJDGxFo Youtube] [https://odysee.com/@PortingLinuxPhones:5/Embedded-Linux-Conference-2013---Pin-Control-and-GPIO-Update:e Odysee] [https://elinux.org/images/b/b6/Pin_Control_Subsystem_Overview.pdf Slides] talk by [[Special:Contributions/Linusw|Linus Walleij]]<br />
* Timekeeping in the Linux Kernel - Stephen Boyd, Qualcomm Innovation Center, 2017 (34:41) [https://www.youtube.com/watch?v=Puv4mW55bF8 Youtube] [https://odysee.com/@PortingLinuxPhones:5/Timekeeping-in-the-Linux-Kernel---Stephen-Boyd,-Qualcomm-Innovation-Center-(2017):1 Odysee] ''About how clocksource works.''<br />
* How Dealing with Modern Interrupt Architectures can Affect Your Sanity [https://www.youtube.com/watch?v=YE8cRHVIM4E Youtube] [https://odysee.com/HowDealingwithModernInterruptArchitecturescanAffectYourSanity:6 Odysee] [https://www.linuxsecrets.com/elinux-wiki/images/8/8c/Zyngier.pdf Slides] ''About interrupt controllers and their relationships''<br />
* Linux Kernel Display Architecture, 2013 (56:53) [https://www.youtube.com/watch?v=l2ZSsOkfnz0 Youtube] [https://odysee.com/@PortingLinuxPhones:5/Common-Clock-Framework--How-To-Use-It:9 Odysee] ''DRM/KMS, MIPI DSI, panels,... slightly old, need something newer.''<br />
* Demystifying Linux MIPI DSI Subsystem - Jagan Teki, 2019 (41:57) [https://www.youtube.com/watch?v=UG7tMZM24UU Youtube] [https://odysee.com/@PortingLinuxPhones:5/Demystifying-Linux-MIPI-DSI-Subsystem---Jagan-Teki,-Amarula-Solutions:b Odysee] ''MIPI DSI, controllers, bridges, panels, DRM/KMS...''<br />
* Power Management Integrated Circuits: Keep the Power in Your Hands, 2017 [https://www.youtube.com/watch?v=GsDWgm0YiaU Youtube] [https://odysee.com/@PortingLinuxPhones:5/Power-Management-Integrated-Circuits--Keep-the-Power-in-Your-Hands:d Odysee] [https://bootlin.com/pub/conferences/2017/elc/schulz-pmics-keep-power-in-your-hands/schulz-pmics-keep-power-in-your-hands.pdf Slides] ''About PMICs, regulators, power supply, fuelgauge, ...''<br />
<br />
'''Development tools'''<br />
* Using Visual Studio Code for Embedded Development - Michael Opdenacker, Bootlin, 2021 (31:37) [https://www.youtube.com/watch?v=YGOZIIOWujc Youtube]<br />
Note: for VSCodium, download extensions from https://marketplace.visualstudio.com/ manually.<br />
<br />
'''Submitting patches:'''<br />
* [https://www.kernel.org/doc/html/latest/process/submitting-patches.html Submitting patches: the essential guide to getting your code into the kernel]<br />
* [https://nickdesaulniers.github.io/blog/2017/05/16/submitting-your-first-patch-to-the-linux-kernel-and-responding-to-feedback/ Submitting Your First Patch to the Linux Kernel and Responding to Feedback]<br />
* [https://git-send-email.io/ Guide for git-send-email]<br />
<br />
== Upstreaming ==<br />
<br />
Upstreaming your mainline efforts is key to reduce the maintenance burden of rebasing your patches on newer version of the Linux kernel.<br />
<br />
Upstreaming patches requires sending to the Linux Kernel Mailing List using <code>git send-email</code>.<br />
For a tutorial on <code>git send-email</code> have a look at https://git-send-email.io/.<br />
<br />
See https://wiki.postmarketos.org/wiki/Submitting_Patches#Linux for a detailed overview for submitting patches upstream.<br />
<br />
== See also ==<br />
* [[Mainlining Guide]] (very generic, parts are slowly incorporated into this page)<br />
* [[MSM8916 Mainlining]] (specific to MSM8916, but might be helpful for similar Qualcomm SoCs)<br />
* [[MSM8996 Mainlining]]<br />
* [[SDM845 Mainlining]]<br />
* [[Mainlining FAQ]]<br />
* [[The Mainline Kernel]]<br />
* [[Qualcomm mainline porting]]<br />
* [[Exynos mainline porting]]<br />
* {{issue|175|pmaports}} Google Galaxy Nexus (samsung-maguro): Mainlining progress (initial tricks with RAM and some sleep calls before the reboots in the code to figure out where it was failing will also be useful for other devices)<br />
* {{issue|153|pmaports}} Google Pixel 3 XL (google-crosshatch): mainlining attempt: progress and questions (useful for newer SoCs, useful info about force-reboot code, stub dtbo partition)</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=47193Xiaomi Mi A2 Lite (xiaomi-daisy)2023-08-03T23:27:38Z<p>Alikates: </p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = Mi A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 6.1.0<br />
| chipset = Qualcomm Snapdragon 625 (MSM8953)<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = Y<br />
| status_xwayland = <br />
| status_fde = Y<br />
| status_mainline = Y<br />
| status_battery = Y<br />
| status_3d = Y<br />
| status_accel = Y<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = N<br />
| status_gps = N<br />
| status_mobiledata = N<br />
| status_sms = N<br />
| status_calls = N<br />
| status = <br />
| booting = Yes<br />
| status_otg = Y<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
<br />
--><br />
}}<br />
<br />
This device is also known as Xiaomi Redmi 6 Pro (sakura). The only difference is that sakura has MIUI preinstalled instead of stock Android One.<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mi A2 Lite (xiaomi-daisy) ====<br />
In order to use the daisy, installing lk2nd is needed. The package <code>lk2nd-msm8953</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add lk2nd-msm8953</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Redmi 6 Pro (xiaomi-sakura) ====<br />
<br />
In order to use the sakura, installing lk2nd is needed. There is no prebuilt version of lk2nd for sakura you need to build yourself.<br />
<br />
Redmi 6 Pro has rollback protection for lk2nd installation first you need<br />
<source lang="shell-session"><br />
$ fastboot boot lk2nd.img<br />
</source><br />
then<br />
<source lang="shell-session"><br />
$ fastboot flash lk2nd lk2nd.img<br />
</source><br />
<br />
==== Install the image ====<br />
To proceed with the installation to internal storage of pmOS, plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| ModemManager needs to see a mobile data device, so IPA support is half-needed for calls and SMS to work. There's partial support for it in a dev branch, the driver probes and configures everything, but mobile data still doesn't work.<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-yes" | Works<br />
| <br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here]. WIP SSC driver [https://github.com/msm8953-mainline/linux/tree/alikates/6.4.7/sensors here].<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-yes" | Works<br />
| Everything works. Speaker works since version 6.4.7. Needs alsa UCM config from [https://gitlab.com/postmarketOS/pmaports/-/merge_requests/4268 this package].<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-partial" | Partial<br />
| Only Focaltech models supported. Models with Goodix GT917D chip [https://github.com/msm8953-mainline/linux/issues/33 not working yet].<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-yes" | Works<br />
| Driver added in 6.1<br />
|<br />
|-<br />
| scope="row"| Panel<br />
| class="feature feature-yes" | Partial<br />
| Only supported hx8933, ili8707 and otm1911 models (not sure if there are any other panels)<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. <del>It detects SIM card and can be unlocked and configured with qmicli.</del><br />
<br />
<del>Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.</del><br />
<br />
==== Mobile data ====<br />
<br />
{{Note| Mobile data is not working in kernel version 5.15 and later. There's an ongoing effort to upstream the driver needed for mobile data to work. A testing branch can be found [https://github.com/msm8953-mainline/linux/tree/ipa-v2-5.15 here].<br />
}}<br />
<br />
<del>Mobile data works now.</del><br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|postmarketos-qcom-msm8953}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=47192Xiaomi Mi A2 Lite (xiaomi-daisy)2023-08-03T23:27:11Z<p>Alikates: Update USB OTG status</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = Mi A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 6.1.0<br />
| chipset = Qualcomm Snapdragon 625 (MSM8953)<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = Y<br />
| status_xwayland = <br />
| status_fde = Y<br />
| status_mainline = Y<br />
| status_battery = Y<br />
| status_3d = Y<br />
| status_accel = Y<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = N<br />
| status_gps = N<br />
| status_mobiledata = N<br />
| status_sms = N<br />
| status_calls = N<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = Y<br />
--><br />
}}<br />
<br />
This device is also known as Xiaomi Redmi 6 Pro (sakura). The only difference is that sakura has MIUI preinstalled instead of stock Android One.<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mi A2 Lite (xiaomi-daisy) ====<br />
In order to use the daisy, installing lk2nd is needed. The package <code>lk2nd-msm8953</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add lk2nd-msm8953</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Redmi 6 Pro (xiaomi-sakura) ====<br />
<br />
In order to use the sakura, installing lk2nd is needed. There is no prebuilt version of lk2nd for sakura you need to build yourself.<br />
<br />
Redmi 6 Pro has rollback protection for lk2nd installation first you need<br />
<source lang="shell-session"><br />
$ fastboot boot lk2nd.img<br />
</source><br />
then<br />
<source lang="shell-session"><br />
$ fastboot flash lk2nd lk2nd.img<br />
</source><br />
<br />
==== Install the image ====<br />
To proceed with the installation to internal storage of pmOS, plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| ModemManager needs to see a mobile data device, so IPA support is half-needed for calls and SMS to work. There's partial support for it in a dev branch, the driver probes and configures everything, but mobile data still doesn't work.<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-yes" | Works<br />
| <br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here]. WIP SSC driver [https://github.com/msm8953-mainline/linux/tree/alikates/6.4.7/sensors here].<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-yes" | Works<br />
| Everything works. Speaker works since version 6.4.7. Needs alsa UCM config from [https://gitlab.com/postmarketOS/pmaports/-/merge_requests/4268 this package].<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-partial" | Partial<br />
| Only Focaltech models supported. Models with Goodix GT917D chip [https://github.com/msm8953-mainline/linux/issues/33 not working yet].<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-yes" | Works<br />
| Driver added in 6.1<br />
|<br />
|-<br />
| scope="row"| Panel<br />
| class="feature feature-yes" | Partial<br />
| Only supported hx8933, ili8707 and otm1911 models (not sure if there are any other panels)<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. <del>It detects SIM card and can be unlocked and configured with qmicli.</del><br />
<br />
<del>Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.</del><br />
<br />
==== Mobile data ====<br />
<br />
{{Note| Mobile data is not working in kernel version 5.15 and later. There's an ongoing effort to upstream the driver needed for mobile data to work. A testing branch can be found [https://github.com/msm8953-mainline/linux/tree/ipa-v2-5.15 here].<br />
}}<br />
<br />
<del>Mobile data works now.</del><br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|postmarketos-qcom-msm8953}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=47186Xiaomi Mi A2 Lite (xiaomi-daisy)2023-08-03T23:06:49Z<p>Alikates: Updated sensors mainline status</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = Mi A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 6.1.0<br />
| chipset = Qualcomm Snapdragon 625 (MSM8953)<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = Y<br />
| status_xwayland = <br />
| status_fde = Y<br />
| status_mainline = Y<br />
| status_battery = Y<br />
| status_3d = Y<br />
| status_accel = Y<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = N<br />
| status_gps = N<br />
| status_mobiledata = N<br />
| status_sms = N<br />
| status_calls = N<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
This device is also known as Xiaomi Redmi 6 Pro (sakura). The only difference is that sakura has MIUI preinstalled instead of stock Android One.<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mi A2 Lite (xiaomi-daisy) ====<br />
In order to use the daisy, installing lk2nd is needed. The package <code>lk2nd-msm8953</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add lk2nd-msm8953</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Redmi 6 Pro (xiaomi-sakura) ====<br />
<br />
In order to use the sakura, installing lk2nd is needed. There is no prebuilt version of lk2nd for sakura you need to build yourself.<br />
<br />
Redmi 6 Pro has rollback protection for lk2nd installation first you need<br />
<source lang="shell-session"><br />
$ fastboot boot lk2nd.img<br />
</source><br />
then<br />
<source lang="shell-session"><br />
$ fastboot flash lk2nd lk2nd.img<br />
</source><br />
<br />
==== Install the image ====<br />
To proceed with the installation to internal storage of pmOS, plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| ModemManager needs to see a mobile data device, so IPA support is half-needed for calls and SMS to work. There's partial support for it in a dev branch, the driver probes and configures everything, but mobile data still doesn't work.<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-yes" | Works<br />
| <br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here]. WIP SSC driver [https://github.com/msm8953-mainline/linux/tree/alikates/6.4.7/sensors here].<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-yes" | Works<br />
| Everything works. Speaker works since version 6.4.7. Needs alsa UCM config from [https://gitlab.com/postmarketOS/pmaports/-/merge_requests/4268 this package].<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-partial" | Partial<br />
| Only Focaltech models supported. Models with Goodix GT917D chip [https://github.com/msm8953-mainline/linux/issues/33 not working yet].<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-yes" | Works<br />
| Driver added in 6.1<br />
|<br />
|-<br />
| scope="row"| Panel<br />
| class="feature feature-yes" | Partial<br />
| Only supported hx8933, ili8707 and otm1911 models (not sure if there are any other panels)<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. <del>It detects SIM card and can be unlocked and configured with qmicli.</del><br />
<br />
<del>Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.</del><br />
<br />
==== Mobile data ====<br />
<br />
{{Note| Mobile data is not working in kernel version 5.15 and later. There's an ongoing effort to upstream the driver needed for mobile data to work. A testing branch can be found [https://github.com/msm8953-mainline/linux/tree/ipa-v2-5.15 here].<br />
}}<br />
<br />
<del>Mobile data works now.</del><br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|postmarketos-qcom-msm8953}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=47102Xiaomi Mi A2 Lite (xiaomi-daisy)2023-08-01T12:42:32Z<p>Alikates: /* Feature table */</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = Mi A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 6.1.0<br />
| chipset = Qualcomm Snapdragon 625 (MSM8953)<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = Y<br />
| status_xwayland = <br />
| status_fde = Y<br />
| status_mainline = Y<br />
| status_battery = Y<br />
| status_3d = Y<br />
| status_accel = Y<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = N<br />
| status_gps = N<br />
| status_mobiledata = N<br />
| status_sms = N<br />
| status_calls = N<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
This device is also known as Xiaomi Redmi 6 Pro (sakura). The only difference is that sakura has MIUI preinstalled instead of stock Android One.<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mi A2 Lite (xiaomi-daisy) ====<br />
In order to use the daisy, installing lk2nd is needed. The package <code>lk2nd-msm8953</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add lk2nd-msm8953</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Redmi 6 Pro (xiaomi-sakura) ====<br />
<br />
In order to use the sakura, installing lk2nd is needed. There is no prebuilt version of lk2nd for sakura you need to build yourself.<br />
<br />
Redmi 6 Pro has rollback protection for lk2nd installation first you need<br />
<source lang="shell-session"><br />
$ fastboot boot lk2nd.img<br />
</source><br />
then<br />
<source lang="shell-session"><br />
$ fastboot flash lk2nd lk2nd.img<br />
</source><br />
<br />
==== Install the image ====<br />
To proceed with the installation to internal storage of pmOS, plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| ModemManager needs to see a mobile data device, so IPA support is half-needed for calls and SMS to work. There's partial support for it in a dev branch, the driver probes and configures everything, but mobile data still doesn't work.<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-yes" | Works<br />
| <br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here], still missing a proper SSC driver<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-yes" | Works<br />
| Everything works. Speaker works since version 6.4.7. Needs alsa UCM config from [https://gitlab.com/postmarketOS/pmaports/-/merge_requests/4268 this package].<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-partial" | Partial<br />
| Only Focaltech models supported. Models with Goodix GT917D chip [https://github.com/msm8953-mainline/linux/issues/33 not working yet].<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-yes" | Works<br />
| Driver added in 6.1<br />
|<br />
|-<br />
| scope="row"| Panel<br />
| class="feature feature-yes" | Partial<br />
| Only supported hx8933, ili8707 and otm1911 models (not sure if there are any other panels)<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. <del>It detects SIM card and can be unlocked and configured with qmicli.</del><br />
<br />
<del>Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.</del><br />
<br />
==== Mobile data ====<br />
<br />
{{Note| Mobile data is not working in kernel version 5.15 and later. There's an ongoing effort to upstream the driver needed for mobile data to work. A testing branch can be found [https://github.com/msm8953-mainline/linux/tree/ipa-v2-5.15 here].<br />
}}<br />
<br />
<del>Mobile data works now.</del><br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|postmarketos-qcom-msm8953}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=47101Xiaomi Mi A2 Lite (xiaomi-daisy)2023-08-01T12:39:09Z<p>Alikates: /* Feature table */</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = Mi A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 6.1.0<br />
| chipset = Qualcomm Snapdragon 625 (MSM8953)<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = Y<br />
| status_xwayland = <br />
| status_fde = Y<br />
| status_mainline = Y<br />
| status_battery = Y<br />
| status_3d = Y<br />
| status_accel = Y<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = N<br />
| status_gps = N<br />
| status_mobiledata = N<br />
| status_sms = N<br />
| status_calls = N<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
This device is also known as Xiaomi Redmi 6 Pro (sakura). The only difference is that sakura has MIUI preinstalled instead of stock Android One.<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mi A2 Lite (xiaomi-daisy) ====<br />
In order to use the daisy, installing lk2nd is needed. The package <code>lk2nd-msm8953</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add lk2nd-msm8953</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Redmi 6 Pro (xiaomi-sakura) ====<br />
<br />
In order to use the sakura, installing lk2nd is needed. There is no prebuilt version of lk2nd for sakura you need to build yourself.<br />
<br />
Redmi 6 Pro has rollback protection for lk2nd installation first you need<br />
<source lang="shell-session"><br />
$ fastboot boot lk2nd.img<br />
</source><br />
then<br />
<source lang="shell-session"><br />
$ fastboot flash lk2nd lk2nd.img<br />
</source><br />
<br />
==== Install the image ====<br />
To proceed with the installation to internal storage of pmOS, plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| Should work with WIP IPA patches, not in msm8953-mainline master branch<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-yes" | Works<br />
| <br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here], still missing a proper SSC driver<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-yes" | Works<br />
| Everything works. Speaker works since version 6.4.7. Needs alsa UCM config from [https://gitlab.com/postmarketOS/pmaports/-/merge_requests/4268 this package].<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-partial" | Partial<br />
| Only Focaltech models supported. Models with Goodix GT917D chip [https://github.com/msm8953-mainline/linux/issues/33 not working yet].<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-yes" | Works<br />
| Driver added in 6.1<br />
|<br />
|-<br />
| scope="row"| Panel<br />
| class="feature feature-yes" | Partial<br />
| Only supported hx8933, ili8707 and otm1911 models (not sure if there are any other panels)<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. <del>It detects SIM card and can be unlocked and configured with qmicli.</del><br />
<br />
<del>Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.</del><br />
<br />
==== Mobile data ====<br />
<br />
{{Note| Mobile data is not working in kernel version 5.15 and later. There's an ongoing effort to upstream the driver needed for mobile data to work. A testing branch can be found [https://github.com/msm8953-mainline/linux/tree/ipa-v2-5.15 here].<br />
}}<br />
<br />
<del>Mobile data works now.</del><br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|postmarketos-qcom-msm8953}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=47100Xiaomi Mi A2 Lite (xiaomi-daisy)2023-08-01T12:38:25Z<p>Alikates: Update maninline status</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = Mi A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 6.1.0<br />
| chipset = Qualcomm Snapdragon 625 (MSM8953)<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = Y<br />
| status_xwayland = <br />
| status_fde = Y<br />
| status_mainline = Y<br />
| status_battery = Y<br />
| status_3d = Y<br />
| status_accel = Y<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = N<br />
| status_gps = N<br />
| status_mobiledata = N<br />
| status_sms = N<br />
| status_calls = N<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
This device is also known as Xiaomi Redmi 6 Pro (sakura). The only difference is that sakura has MIUI preinstalled instead of stock Android One.<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mi A2 Lite (xiaomi-daisy) ====<br />
In order to use the daisy, installing lk2nd is needed. The package <code>lk2nd-msm8953</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add lk2nd-msm8953</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Redmi 6 Pro (xiaomi-sakura) ====<br />
<br />
In order to use the sakura, installing lk2nd is needed. There is no prebuilt version of lk2nd for sakura you need to build yourself.<br />
<br />
Redmi 6 Pro has rollback protection for lk2nd installation first you need<br />
<source lang="shell-session"><br />
$ fastboot boot lk2nd.img<br />
</source><br />
then<br />
<source lang="shell-session"><br />
$ fastboot flash lk2nd lk2nd.img<br />
</source><br />
<br />
==== Install the image ====<br />
To proceed with the installation to internal storage of pmOS, plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| Should work with WIP IPA patches, not in msm8953-mainline master branch<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-yes" | Works<br />
| <br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here], still missing a proper SSC driver<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-yes" | Works<br />
| Everything works. Speaker works since version 6.4.7. Needs alsa UCM config from [https://gitlab.com/postmarketOS/pmaports/-/merge_requests/4268 this package].<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-partial" | Partial<br />
| Only Focaltech models supported. Models with Goodix GT917D chip [https://github.com/msm8953-mainline/linux/issues/33 not working yet].<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-yes" | Works<br />
| Driver added in 6.1<br />
|<br />
|-<br />
| scope="row"| Panel<br />
| class="feature feature-partial" | Partial<br />
| Only supported hx8933, ili8707 and otm1911 models<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. <del>It detects SIM card and can be unlocked and configured with qmicli.</del><br />
<br />
<del>Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.</del><br />
<br />
==== Mobile data ====<br />
<br />
{{Note| Mobile data is not working in kernel version 5.15 and later. There's an ongoing effort to upstream the driver needed for mobile data to work. A testing branch can be found [https://github.com/msm8953-mainline/linux/tree/ipa-v2-5.15 here].<br />
}}<br />
<br />
<del>Mobile data works now.</del><br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|postmarketos-qcom-msm8953}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=35581Xiaomi Mi A2 Lite (xiaomi-daisy)2023-01-11T01:34:07Z<p>Alikates: </p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = Mi A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 6.1.0<br />
| chipset = Qualcomm Snapdragon 625 (MSM8953)<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = Y<br />
| status_xwayland = <br />
| status_fde = Y<br />
| status_mainline = Y<br />
| status_battery = Y<br />
| status_3d = Y<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = N<br />
| status_gps = N<br />
| status_mobiledata = N<br />
| status_sms = N<br />
| status_calls = N<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
This device is also known as Xiaomi Redmi 6 Pro (sakura). The only difference is that sakura has MIUI preinstalled instead of stock Android One.<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mainline kernel ====<br />
In order to use the mainline kernel, installing lk2nd is needed. The package <code>lk2nd-msm8953</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add lk2nd-msm8953</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Downstream kernel ====<br />
If using the downstream kernel, put your device in fastboot mode.<br />
<br />
==== Install the image ====<br />
To proceed with the installation to internal storage of pmOS, plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| Should work with WIP IPA patches, not in msm8953-mainline master branch<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-yes" | Works<br />
| <br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here], still missing a proper SSC driver<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-partial" | Partial<br />
| Works with minimal changes to motorola-ocean UCM config. Still not packaged. Speaker does not work<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-partial" | Partial<br />
| Only Focaltech models supported. Models with Goodix GT917D chip [https://github.com/msm8953-mainline/linux/issues/33 not working yet].<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-yes" | Works<br />
| Driver added in 6.1<br />
|<br />
|-<br />
| scope="row"| Panel<br />
| class="feature feature-partial" | Partial<br />
| Only supported hx8933 and ili8707 models<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. <del>It detects SIM card and can be unlocked and configured with qmicli.</del><br />
<br />
<del>Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.</del><br />
<br />
==== Mobile data ====<br />
<br />
{{Note| Mobile data is not working in kernel version 5.15 and later. There's an ongoing effort to upstream the driver needed for mobile data to work. A testing branch can be found [https://github.com/msm8953-mainline/linux/tree/ipa-v2-5.15 here].<br />
}}<br />
<br />
<del>Mobile data works now.</del><br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]<br />
* [http://deviceinfohw.ru/devices/item.php?item=578336 Device specifications (otm1911plus panel)]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=35580Xiaomi Mi A2 Lite (xiaomi-daisy)2023-01-11T01:33:45Z<p>Alikates: document alternative name</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = Mi A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm Snapdragon 625 (MSM8953)<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = Y<br />
| status_xwayland = <br />
| status_fde = Y<br />
| status_mainline = Y<br />
| status_battery = Y<br />
| status_3d = Y<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = N<br />
| status_gps = N<br />
| status_mobiledata = N<br />
| status_sms = N<br />
| status_calls = N<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
This device is also known as Xiaomi Redmi 6 Pro (sakura). The only difference is that sakura has MIUI preinstalled instead of stock Android One.<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mainline kernel ====<br />
In order to use the mainline kernel, installing lk2nd is needed. The package <code>lk2nd-msm8953</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add lk2nd-msm8953</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Downstream kernel ====<br />
If using the downstream kernel, put your device in fastboot mode.<br />
<br />
==== Install the image ====<br />
To proceed with the installation to internal storage of pmOS, plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| Should work with WIP IPA patches, not in msm8953-mainline master branch<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-yes" | Works<br />
| <br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here], still missing a proper SSC driver<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-partial" | Partial<br />
| Works with minimal changes to motorola-ocean UCM config. Still not packaged. Speaker does not work<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-partial" | Partial<br />
| Only Focaltech models supported. Models with Goodix GT917D chip [https://github.com/msm8953-mainline/linux/issues/33 not working yet].<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-yes" | Works<br />
| Driver added in 6.1<br />
|<br />
|-<br />
| scope="row"| Panel<br />
| class="feature feature-partial" | Partial<br />
| Only supported hx8933 and ili8707 models<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. <del>It detects SIM card and can be unlocked and configured with qmicli.</del><br />
<br />
<del>Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.</del><br />
<br />
==== Mobile data ====<br />
<br />
{{Note| Mobile data is not working in kernel version 5.15 and later. There's an ongoing effort to upstream the driver needed for mobile data to work. A testing branch can be found [https://github.com/msm8953-mainline/linux/tree/ipa-v2-5.15 here].<br />
}}<br />
<br />
<del>Mobile data works now.</del><br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]<br />
* [http://deviceinfohw.ru/devices/item.php?item=578336 Device specifications (otm1911plus panel)]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=35579Xiaomi Mi A2 Lite (xiaomi-daisy)2023-01-11T01:30:14Z<p>Alikates: /* Feature table */</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = Mi A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm Snapdragon 625 (MSM8953)<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = Y<br />
| status_xwayland = <br />
| status_fde = Y<br />
| status_mainline = Y<br />
| status_battery = Y<br />
| status_3d = Y<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = N<br />
| status_gps = N<br />
| status_mobiledata = N<br />
| status_sms = N<br />
| status_calls = N<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mainline kernel ====<br />
In order to use the mainline kernel, installing lk2nd is needed. The package <code>lk2nd-msm8953</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add lk2nd-msm8953</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Downstream kernel ====<br />
If using the downstream kernel, put your device in fastboot mode.<br />
<br />
==== Install the image ====<br />
To proceed with the installation to internal storage of pmOS, plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| Should work with WIP IPA patches, not in msm8953-mainline master branch<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-yes" | Works<br />
| <br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here], still missing a proper SSC driver<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-partial" | Partial<br />
| Works with minimal changes to motorola-ocean UCM config. Still not packaged. Speaker does not work<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-partial" | Partial<br />
| Only Focaltech models supported. Models with Goodix GT917D chip [https://github.com/msm8953-mainline/linux/issues/33 not working yet].<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-yes" | Works<br />
| Driver added in 6.1<br />
|<br />
|-<br />
| scope="row"| Panel<br />
| class="feature feature-partial" | Partial<br />
| Only supported hx8933 and ili8707 models<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. <del>It detects SIM card and can be unlocked and configured with qmicli.</del><br />
<br />
<del>Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.</del><br />
<br />
==== Mobile data ====<br />
<br />
{{Note| Mobile data is not working in kernel version 5.15 and later. There's an ongoing effort to upstream the driver needed for mobile data to work. A testing branch can be found [https://github.com/msm8953-mainline/linux/tree/ipa-v2-5.15 here].<br />
}}<br />
<br />
<del>Mobile data works now.</del><br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]<br />
* [http://deviceinfohw.ru/devices/item.php?item=578336 Device specifications (otm1911plus panel)]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Lk2nd/lk1st&diff=35569Lk2nd/lk1st2023-01-10T15:01:23Z<p>Alikates: Add msm8953 to the supported list</p>
<hr />
<div>{{Infobox bootloader<br />
| name = lk2nd<br />
| image = File:Lk2nd-0.10.0-seed.png<br />
| imagecaption = lk2nd fastboot screen example<br />
| first-stage = ?<br />
| second-stage = yes<br />
| resource = [https://github.com/msm8916-mainline/lk2nd source code]<br />
}}<br />
<br />
{{Lowercase title}}'''lk2nd''' is a bootloader for devices based on Qualcomm system-on-chips (SoCs) and simplifies booting standard operating systems by providing unified boot and flashing interface.<br />
<br />
== Features ==<br />
lk2nd provides automatic device and hardware detection, additional bootloader features like file system boot and [[Dual Booting]] (booting from SD card) and additional firmware features include booting secondary CPU cores and various of debugging commands that allow better understanding of the hardware for research and development purposes.<br />
<br />
== Supported SoCs ==<br />
<br />
* <code>lk2nd-msm8916</code>: [[Qualcomm Snapdragon 410/412 (MSM8916) | APQ8016, MSM8216, MSM8916]], MSM8929, [[Qualcomm Snapdragon 615/616 (MSM8939) | MSM8939]]<br />
* <code>lk2nd-msm8974</code>: [[Qualcomm Snapdragon 800/801 (MSM8974) | MSM8974]]<br />
* <code>lk2nd-msm8226</code>: [[Qualcomm Snapdragon 400 (MSM8226) | APQ8026, MSM8226, MSM8926]]<br />
* <code>lk2nd-msm8953</code>: [[Qualcomm Snapdragon 450/625/626/632 (MSM8953) | MSM8953]]<br />
<br />
== Usage ==<br />
<br />
lk2nd provides the standard Android fastboot protocol for flashing/booting Android boot images.<br />
<br />
Press <code>Volume Down</code> while booting to enter Fastboot mode. Press <code>Volume Up</code> while booting to boot into Recovery mode.<br />
<br />
'''Note:''' If your stock bootloader uses the same key combinations, you need to wait a bit before pressing the volume keys. Usually, waiting until the screen turns on and/or the device vibrates should be enough to make the stock bootloader ignore the keys.<br />
<br />
<code>fastboot flash lk2nd lk2nd.img</code> can be used to update lk2nd directly from its fastboot interface.<br />
<br />
'''Note:''' <code>fastboot flash boot boot.img</code> will flash the actual boot image with 512 KiB offset into the boot partition. This is done to avoid replacing lk2nd (since it is also booted from the boot partition).<br />
<br />
Other fastboot commands work normally.<br />
<br />
== Troubleshooting ==<br />
<br />
If the device shows up via fastboot you can get a log file from lk2nd using <code>fastboot oem lk_log && fastboot get_staged <output-file></code>, where <code><output-file></code> is either some text file to write to (e.g. <code>output.txt</code>) or <code>/dev/stdout</code> to write the log to standard output.<br />
<br />
=== Quirky devices ===<br />
<br />
Some devices have a quirky bootloader, which doesn't boot lk2nd correctly and fallback to stock Fastboot/Odin Download Mode instead.<br />
<br />
==== Common traits on quirky devices ====<br />
* 1 GiB of RAM<br />
* Kitkat 4.4 bootloader with ARM32 only support<br />
* Crash after running <code>fastboot oem readl 0x004a8000</code><ref>[https://github.com/torvalds/linux/commit/4f6e4892ea9a1af23e352628e491e9cbb124bc5f#diff-d5be6e8b9eb729f7f7cbd493a22b184acdbb3814cce67d1e938cf651f7abc9f2R682 arm64: dts: msm8916: Add thermal zones, tsens and qfprom nodes]</ref> in lk2nd<br />
* Kernel panics without tsens workaround<ref>[https://github.com/msm8916-mainline/linux/commit/ee445be2bb7f1385d86211f171bd4ce65ac16264 thermal: qcom: tsens: Add workaround for locked SROT region]</ref><br />
<br />
==== Known quirky devices ====<br />
* [[Acer Iconia Talk S (acer-a1-724)]] (Fixable with secure boot disabled)<br />
* [[Samsung Galaxy Ace 4 (samsung-heatqlte)]]<br />
* [[Samsung Galaxy Core Prime LTE (samsung-coreprimelte)]]<br />
* [[Samsung Galaxy Grand Prime (samsung-gprime)]]<br />
* [[Xiaomi Redmi 2 (xiaomi-wt88047)]] (Fixable with secure boot disabled)<br />
<br />
Current known solution is to flash Lolipop 5.1 or above firmware to get a better bootloader, or flash TZ/HYP [https://releases.linaro.org/96boards/dragonboard410c/qualcomm/firmware/ firmware] from [[Arrow DragonBoard 410c (arrow-db410c) | DragonBoard 410c]], which is '''DANGEROUS'''. Otherwise you will have to comment out unused device trees to avoid that the bootloader gets confused.<br />
<br />
== See also ==<br />
* [[Template:lk2nd]]<br />
* [https://github.com/msm8916-mainline/lk2nd lk2nd] project page.<br />
* [https://github.com/efidroid/projectmanagement/wiki/%5BReference%5D-Chipsets Chipsets] page on the EFIDroid wiki for an exact mapping of LK targets to SoCs.<br />
<br />
== References ==<br />
<references /></div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=33825Xiaomi Mi A2 Lite (xiaomi-daisy)2022-12-01T09:51:53Z<p>Alikates: </p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = Mi A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm Snapdragon 625 (MSM8953)<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = Y<br />
| status_xwayland = <br />
| status_fde = Y<br />
| status_mainline = Y<br />
| status_battery = Y<br />
| status_3d = Y<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = N<br />
| status_gps = N<br />
| status_mobiledata = N<br />
| status_sms = N<br />
| status_calls = N<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mainline kernel ====<br />
In order to use the mainline kernel, installing lk2nd is needed. The package <code>lk2nd-msm8953</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add lk2nd-msm8953</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Downstream kernel ====<br />
If using the downstream kernel, put your device in fastboot mode.<br />
<br />
==== Install the image ====<br />
To proceed with the installation to internal storage of pmOS, plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| Should work with WIP IPA patches, not in msm8953-mainline master branch<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-partial" | Partial<br />
| Sometimes stops working and reconnecting to the WiFi network is needed<br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here], still missing a proper SSC driver<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-partial" | Partial<br />
| Works with minimal changes to motorola-ocean UCM config. Still not packaged. Speaker does not work<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-partial" | Partial<br />
| Only Focaltech models supported. Models with Goodix GT917D chip [https://github.com/msm8953-mainline/linux/issues/33 not working yet].<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-partial" | Partial<br />
| WIP driver [https://github.com/alikates/linux/tree/merge-staging-smbcharger here]<br />
|<br />
|-<br />
| scope="row"| Panel<br />
| class="feature feature-partial" | Partial<br />
| Only supported hx8933 and ili8707 models<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. <del>It detects SIM card and can be unlocked and configured with qmicli.</del><br />
<br />
<del>Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.</del><br />
<br />
==== Mobile data ====<br />
<br />
{{Note| Mobile data is not working in kernel version 5.15 and later. There's an ongoing effort to upstream the driver needed for mobile data to work. A testing branch can be found [https://github.com/msm8953-mainline/linux/tree/ipa-v2-5.15 here].<br />
}}<br />
<br />
<del>Mobile data works now.</del><br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]<br />
* [http://deviceinfohw.ru/devices/item.php?item=578336 Device specifications (otm1911plus panel)]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=31832Xiaomi Mi A2 Lite (xiaomi-daisy)2022-10-20T20:42:30Z<p>Alikates: Update mainline status</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = Mi A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = P<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = Y<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = N<br />
| status_sms = N<br />
| status_calls = N<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mainline kernel ====<br />
In order to use the mainline kernel, installing lk2nd is needed. The package <code>lk2nd-msm8953</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add lk2nd-msm8953</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Downstream kernel ====<br />
If using the downstream kernel, put your device in fastboot mode.<br />
<br />
==== Install the image ====<br />
To proceed with the installation to internal storage of pmOS, plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| Should work with WIP IPA patches, not in msm8953-mainline master branch<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-partial" | Partial<br />
| Sometimes stops working and reconnecting to the WiFi network is needed<br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here], still missing a proper SSC driver<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-partial" | Partial<br />
| Works with minimal changes to motorola-ocean UCM config. Still not packaged. Speaker does not work<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-partial" | Partial<br />
| Only Focaltech models supported. Models with Goodix GT917D chip [https://github.com/msm8953-mainline/linux/issues/33 not working yet].<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-partial" | Partial<br />
| WIP driver [https://github.com/alikates/linux/tree/merge-staging-smbcharger here]<br />
|<br />
|-<br />
| scope="row"| Panel<br />
| class="feature feature-partial" | Partial<br />
| Only supported hx8933 and ili8707 models<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. <del>It detects SIM card and can be unlocked and configured with qmicli.</del><br />
<br />
<del>Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.</del><br />
<br />
==== Mobile data ====<br />
<br />
{{Note| Mobile data is not working in kernel version 5.15 and later. There's an ongoing effort to upstream the driver needed for mobile data to work. A testing branch can be found [https://github.com/msm8953-mainline/linux/tree/ipa-v2-5.15 here].<br />
}}<br />
<br />
<del>Mobile data works now.</del><br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]<br />
* [http://deviceinfohw.ru/devices/item.php?item=578336 Device specifications (otm1911plus panel)]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=29592Xiaomi Mi A2 Lite (xiaomi-daisy)2022-07-24T10:45:49Z<p>Alikates: </p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = Mi A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = P<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = N<br />
| status_sms = N<br />
| status_calls = N<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mainline kernel ====<br />
In order to use the mainline kernel, installing lk2nd is needed. The package <code>lk2nd-msm8953</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add lk2nd-msm8953</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Downstream kernel ====<br />
If using the downstream kernel, put your device in fastboot mode.<br />
<br />
==== Install the image ====<br />
To proceed with the installation to internal storage of pmOS, plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| Should work with WIP IPA patches, not in msm8953-mainline master branch<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-partial" | Partial<br />
| Sometimes stops working and reconnecting to the WiFi network is needed<br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here], still missing a proper SSC driver<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-partial" | Partial<br />
| Works with minimal changes to motorola-ocean UCM config. Still not packaged. Speaker does not work<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-partial" | Partial<br />
| Only Focaltech models supported. Models with Goodix GT917D chip [https://github.com/msm8953-mainline/linux/issues/33 not working yet].<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-partial" | Partial<br />
| WIP driver [https://github.com/alikates/linux/tree/merge-staging-smbcharger here]<br />
|<br />
|-<br />
| scope="row"| Panel<br />
| class="feature feature-partial" | Partial<br />
| Only supported hx8933 and ili8707 models<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. <del>It detects SIM card and can be unlocked and configured with qmicli.</del><br />
<br />
<del>Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.</del><br />
<br />
==== Mobile data ====<br />
<br />
{{Note| Mobile data is not working in kernel version 5.15 and later. There's an ongoing effort to upstream the driver needed for mobile data to work. A testing branch can be found [https://github.com/msm8953-mainline/linux/tree/ipa-v2-5.15 here].<br />
}}<br />
<br />
<del>Mobile data works now.</del><br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]<br />
* [http://deviceinfohw.ru/devices/item.php?item=578336 Device specifications (otm1911plus panel)]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=25833Xiaomi Mi A2 Lite (xiaomi-daisy)2022-02-21T13:53:40Z<p>Alikates: Add mainline supported models</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = Y<br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mainline kernel ====<br />
In order to use the mainline kernel, installing lk2nd is needed. The package <code>lk2nd-msm8953</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, just add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add lk2nd-msm8953</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Downstream kernel ====<br />
If using the downstream kernel, put your device in fastboot mode.<br />
<br />
==== Install the image ====<br />
To proceed with the installation to internal storage of pmOS, plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| Should work with WIP IPA patches, not in msm8953-mainline master branch<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-partial" | Partial<br />
| Sometimes stops working and reconnecting to the WiFi network is needed<br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here], still missing a proper SSC driver<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-partial" | Partial<br />
| Works with minimal changes to motorola-ocean UCM config. Still not packaged. Speaker does not work<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-partial" | Partial<br />
| WIP driver [https://github.com/alikates/linux/tree/merge-staging-smbcharger here]<br />
|<br />
|-<br />
| scope="row"| Panel<br />
| class="feature feature-partial" | Partial<br />
| Only supported hx8933 and ili8707 models<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. <del>It detects SIM card and can be unlocked and configured with qmicli.</del><br />
<br />
<del>Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.</del><br />
<br />
==== Mobile data ====<br />
<br />
{{Note| Mobile data is not working in kernel version 5.15 and later. There's an ongoing effort to upstream the driver needed for mobile data to work. A testing branch can be found [https://github.com/msm8953-mainline/linux/tree/ipa-v2-5.15 here].<br />
}}<br />
<br />
<del>Mobile data works now.</del><br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=24635Xiaomi Mi A2 Lite (xiaomi-daisy)2021-12-31T13:21:44Z<p>Alikates: /* Mainline Kernel */</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = Y<br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mainline kernel ====<br />
In order to use the mainline kernel, installing lk2nd is needed. The package <code>msm8953-lk2nd</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, just add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add msm8953-lkn2d</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Downstream kernel ====<br />
If using the downstream kernel, put your device in fastboot mode.<br />
<br />
==== Install the image ====<br />
To proceed with the installation to internal storage of pmOS, plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| Should work with WIP IPA patches, not in msm8953-mainline master branch<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-partial" | Partial<br />
| Sometimes stops working and reconnecting to the WiFi network is needed<br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here], still missing a proper SSC driver<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-partial" | Partial<br />
| Works with minimal changes to motorola-ocean UCM config. Still not packaged. Speaker does not work<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-partial" | Partial<br />
| WIP driver [https://github.com/alikates/linux/tree/merge-staging-smbcharger here]<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. <del>It detects SIM card and can be unlocked and configured with qmicli.</del><br />
<br />
<del>Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.</del><br />
<br />
==== Mobile data ====<br />
<br />
{{Note| Mobile data is not working in kernel version 5.15 and later. There's an ongoing effort to upstream the driver needed for mobile data to work. A testing branch can be found [https://github.com/msm8953-mainline/linux/tree/ipa-v2-5.15 here].<br />
}}<br />
<br />
<del>Mobile data works now.</del><br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=24576Xiaomi Mi A2 Lite (xiaomi-daisy)2021-12-30T11:57:28Z<p>Alikates: Update mobile data info</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = Y<br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mainline kernel ====<br />
In order to use the mainline kernel, installing lk2nd is needed. The package <code>msm8953-lk2nd</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, just add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add msm8953-lkn2d</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Downstream kernel ====<br />
If using the downstream kernel, put your device in fastboot mode.<br />
<br />
==== Install the image ====<br />
To proceed with the installation to internal storage of pmOS, plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
Reboot device and hold vol. down button after the device unlock warning. Then the lk2nd interface should show up.<br />
From there, follow the normal installation steps.<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| Should work with WIP IPA patches, not in msm8953-mainline master branch<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-partial" | Partial<br />
| Sometimes stops working and reconnecting to the WiFi network is needed<br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here], still missing a proper SSC driver<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-partial" | Partial<br />
| Works with minimal changes to motorola-ocean UCM config. Still not packaged. Speaker does not work<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-partial" | Partial<br />
| WIP driver [https://github.com/alikates/linux/tree/merge-staging-smbcharger here]<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. <del>It detects SIM card and can be unlocked and configured with qmicli.</del><br />
<br />
<del>Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.</del><br />
<br />
==== Mobile data ====<br />
<br />
{{Note| Mobile data is not working in kernel version 5.15 and later. There's an ongoing effort to upstream the driver needed for mobile data to work. A testing branch can be found [https://github.com/msm8953-mainline/linux/tree/ipa-v2-5.15 here].<br />
}}<br />
<br />
<del>Mobile data works now.</del><br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=24563Xiaomi Mi A2 Lite (xiaomi-daisy)2021-12-29T21:32:45Z<p>Alikates: /* Install the image */</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = Y<br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mainline kernel ====<br />
In order to use the mainline kernel, installing lk2nd is needed. The package <code>msm8953-lk2nd</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, just add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add msm8953-lkn2d</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Downstream kernel ====<br />
If using the downstream kernel, put your device in fastboot mode.<br />
<br />
==== Install the image ====<br />
To proceed with the installation to internal storage of pmOS, plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
A prebuilt image can be found here [https://github.com/alikates/lk2nd/releases/tag/0.3.0].<br />
<br />
Flash it with <code>fastboot flash boot lk2nd.img</code><br />
<br />
Reboot device and hold vol. down button after the device unlock warning. Then the lk2nd interface should show up.<br />
From there, follow the normal installation steps.<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| Should work with WIP IPA patches, not in msm8953-mainline master branch<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-partial" | Partial<br />
| Sometimes stops working and reconnecting to the WiFi network is needed<br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here], still missing a proper SSC driver<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-partial" | Partial<br />
| Works with minimal changes to motorola-ocean UCM config. Still not packaged. Speaker does not work<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-partial" | Partial<br />
| WIP driver [https://github.com/alikates/linux/tree/merge-staging-smbcharger here]<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
==== Mobile data ====<br />
Mobile data works now. On kernel version >= 5.14 the following steps are not needed because the port data can be read from sysfs by ModemManger<br />
{{Note|<br />
<strong>This can crash the system and make it totally unresponsive,<strong><br />
}}<br />
<br />
The patches from {{MR|2496|pmaports}} merge request are needed. <br />
<br />
To get mobile data working an interface must be enabled to send packets to the modem.<br />
<br />
The parameters for it are found in the downstream kernel. They are IPA_CLIENT_APPS_LAN_WAN_PROD=4 and IPA_CLIENT_APPS_WAN_CONS=5.<br />
<br />
To get it working:<br />
<br />
* Run: <code># qmicli -d qrtr://0 -p --dpm-open-port="hw-data-ep-type=embedded,hw-data-ep-iface-number=1,hw-data-rx-id=4,hw-data-tx-id=5"</code><br />
<br />
* Restart ModemManager: <code># killall ModemManager</code><br />
<br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=24562Xiaomi Mi A2 Lite (xiaomi-daisy)2021-12-29T21:32:27Z<p>Alikates: /* Install the image */</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = Y<br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mainline kernel ====<br />
In order to use the mainline kernel, installing lk2nd is needed. The package <code>msm8953-lk2nd</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, just add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add msm8953-lkn2d</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Downstream kernel ====<br />
If using the downstream kernel, put your device in fastboot mode.<br />
<br />
==== Install the image ====<br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
To proceed with the installation to internal storage of pmOS, plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
A prebuilt image can be found here [https://github.com/alikates/lk2nd/releases/tag/0.3.0].<br />
<br />
Flash it with <code>fastboot flash boot lk2nd.img</code><br />
<br />
Reboot device and hold vol. down button after the device unlock warning. Then the lk2nd interface should show up.<br />
From there, follow the normal installation steps.<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| Should work with WIP IPA patches, not in msm8953-mainline master branch<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-partial" | Partial<br />
| Sometimes stops working and reconnecting to the WiFi network is needed<br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here], still missing a proper SSC driver<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-partial" | Partial<br />
| Works with minimal changes to motorola-ocean UCM config. Still not packaged. Speaker does not work<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-partial" | Partial<br />
| WIP driver [https://github.com/alikates/linux/tree/merge-staging-smbcharger here]<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
==== Mobile data ====<br />
Mobile data works now. On kernel version >= 5.14 the following steps are not needed because the port data can be read from sysfs by ModemManger<br />
{{Note|<br />
<strong>This can crash the system and make it totally unresponsive,<strong><br />
}}<br />
<br />
The patches from {{MR|2496|pmaports}} merge request are needed. <br />
<br />
To get mobile data working an interface must be enabled to send packets to the modem.<br />
<br />
The parameters for it are found in the downstream kernel. They are IPA_CLIENT_APPS_LAN_WAN_PROD=4 and IPA_CLIENT_APPS_WAN_CONS=5.<br />
<br />
To get it working:<br />
<br />
* Run: <code># qmicli -d qrtr://0 -p --dpm-open-port="hw-data-ep-type=embedded,hw-data-ep-iface-number=1,hw-data-rx-id=4,hw-data-tx-id=5"</code><br />
<br />
* Restart ModemManager: <code># killall ModemManager</code><br />
<br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=24561Xiaomi Mi A2 Lite (xiaomi-daisy)2021-12-29T21:31:38Z<p>Alikates: Add lk2nd to installation instructions</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = Y<br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
==== Build the image ====<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
==== Mainline kernel ====<br />
In order to use the mainline kernel, installing lk2nd is needed. The package <code>msm8953-lk2nd</code> provides a prebuilt version ready to flash to the device.<br />
<br />
To use it, just add it in the init step or instead of running <code>pmbootstrap install</code>, add the package like this: <code>pmbootstrap install --add msm8953-lkn2d</code><br />
<br />
Then put the device in fastboot mode and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_lk2nd<br />
</source><br />
Then reboot the device and press the {{button|Volume Down}} just after the Android logo shows up and hold until the device vibrates and shows <code>START</code> in green at the top left corner of the screen.<br />
<br />
==== Downstream kernel ====<br />
If using the downstream kernel, put your device in fastboot mode.<br />
<br />
==== Install the image ====<br />
{{Note|<br />
If you want to install pmOS to an SD card instead of internal storage, you need to add <code>--sdcard <device path></code> at the end of the install command.<br><br />
I.e. (using lk2nd): <code>pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard></code><br />
}}<br />
To proceed with the installation of pmOS plug the device to the computer with an USB cable and run:<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
A prebuilt image can be found here [https://github.com/alikates/lk2nd/releases/tag/0.3.0].<br />
<br />
Flash it with <code>fastboot flash boot lk2nd.img</code><br />
<br />
Reboot device and hold vol. down button after the device unlock warning. Then the lk2nd interface should show up.<br />
From there, follow the normal installation steps.<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| Should work with WIP IPA patches, not in msm8953-mainline master branch<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-partial" | Partial<br />
| Sometimes stops working and reconnecting to the WiFi network is needed<br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here], still missing a proper SSC driver<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-partial" | Partial<br />
| Works with minimal changes to motorola-ocean UCM config. Still not packaged. Speaker does not work<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-partial" | Partial<br />
| WIP driver [https://github.com/alikates/linux/tree/merge-staging-smbcharger here]<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
==== Mobile data ====<br />
Mobile data works now. On kernel version >= 5.14 the following steps are not needed because the port data can be read from sysfs by ModemManger<br />
{{Note|<br />
<strong>This can crash the system and make it totally unresponsive,<strong><br />
}}<br />
<br />
The patches from {{MR|2496|pmaports}} merge request are needed. <br />
<br />
To get mobile data working an interface must be enabled to send packets to the modem.<br />
<br />
The parameters for it are found in the downstream kernel. They are IPA_CLIENT_APPS_LAN_WAN_PROD=4 and IPA_CLIENT_APPS_WAN_CONS=5.<br />
<br />
To get it working:<br />
<br />
* Run: <code># qmicli -d qrtr://0 -p --dpm-open-port="hw-data-ep-type=embedded,hw-data-ep-iface-number=1,hw-data-rx-id=4,hw-data-tx-id=5"</code><br />
<br />
* Restart ModemManager: <code># killall ModemManager</code><br />
<br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=24389Xiaomi Mi A2 Lite (xiaomi-daisy)2021-12-24T01:05:17Z<p>Alikates: /* Move mainline status to a feature table */</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = Y<br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
A prebuilt image can be found here [https://github.com/alikates/lk2nd/releases/tag/0.3.0].<br />
<br />
Flash it with <code>fastboot flash boot lk2nd.img</code><br />
<br />
Reboot device and hold vol. down button after the device unlock warning. Then the lk2nd interface should show up.<br />
From there, follow the normal installation steps.<br />
<br />
=== Feature table ===<br />
<br />
{| class="wikitable feature-colors"<br />
|-<br />
! scope="col"| Parts<br />
! scope="col"| Status<br />
! scope="col"| Notes<br />
|-<br />
| scope="row"| Modem<br />
| class="feature feature-partial" | Partial<br />
| Should work with WIP IPA patches, not in msm8953-mainline master branch<br />
|-<br />
| scope="row"| WiFi<br />
| class="feature feature-partial" | Partial<br />
| Sometimes stops working and reconnecting to the WiFi network is needed<br />
|-<br />
| scope="row"| Sensors<br />
| class="feature feature-partial" | Partial<br />
| Working with i2c-gpio from [https://github.com/alikates/linux/commit/d497e6461a09d4cc0d260c8defbc3edd701ece5c here], still missing a proper SSC driver<br />
|-<br />
| scope="row"| GPU<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Audio<br />
| class="feature feature-partial" | Partial<br />
| Works with minimal changes to motorola-ocean UCM config. Still not packaged. Speaker does not work<br />
|-<br />
| scope="row"| Touchscreen<br />
| class="feature feature-yes" | Works<br />
|<br />
|-<br />
| scope="row"| Charger<br />
| class="feature feature-partial" | Partial<br />
| WIP driver [https://github.com/alikates/linux/tree/merge-staging-smbcharger here]<br />
|}<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
==== Mobile data ====<br />
Mobile data works now. On kernel version >= 5.14 the following steps are not needed because the port data can be read from sysfs by ModemManger<br />
{{Note|<br />
<strong>This can crash the system and make it totally unresponsive,<strong><br />
}}<br />
<br />
The patches from {{MR|2496|pmaports}} merge request are needed. <br />
<br />
To get mobile data working an interface must be enabled to send packets to the modem.<br />
<br />
The parameters for it are found in the downstream kernel. They are IPA_CLIENT_APPS_LAN_WAN_PROD=4 and IPA_CLIENT_APPS_WAN_CONS=5.<br />
<br />
To get it working:<br />
<br />
* Run: <code># qmicli -d qrtr://0 -p --dpm-open-port="hw-data-ep-type=embedded,hw-data-ep-iface-number=1,hw-data-rx-id=4,hw-data-tx-id=5"</code><br />
<br />
* Restart ModemManager: <code># killall ModemManager</code><br />
<br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=24387Xiaomi Mi A2 Lite (xiaomi-daisy)2021-12-24T00:46:42Z<p>Alikates: /* Update charger info */</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = Y<br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
A prebuilt image can be found here [https://github.com/alikates/lk2nd/releases/tag/0.3.0].<br />
<br />
Flash it with <code>fastboot flash boot lk2nd.img</code><br />
<br />
Reboot device and hold vol. down button after the device unlock warning. Then the lk2nd interface should show up.<br />
From there, follow the normal installation steps.<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
==== Mobile data ====<br />
Mobile data works now. On kernel version >= 5.14 the following steps are not needed because the port data can be read from sysfs by ModemManger<br />
{{Note|<br />
<strong>This can crash the system and make it totally unresponsive,<strong><br />
}}<br />
<br />
The patches from {{MR|2496|pmaports}} merge request are needed. <br />
<br />
To get mobile data working an interface must be enabled to send packets to the modem.<br />
<br />
The parameters for it are found in the downstream kernel. They are IPA_CLIENT_APPS_LAN_WAN_PROD=4 and IPA_CLIENT_APPS_WAN_CONS=5.<br />
<br />
To get it working:<br />
<br />
* Run: <code># qmicli -d qrtr://0 -p --dpm-open-port="hw-data-ep-type=embedded,hw-data-ep-iface-number=1,hw-data-rx-id=4,hw-data-tx-id=5"</code><br />
<br />
* Restart ModemManager: <code># killall ModemManager</code><br />
<br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== FDE ===<br />
FDE works fine, but the touchscreen does not work with the packaged kernel as the driver is enabled as a module.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 is really similar to PMI8994, a WIP driver is being written. Work is uploaded here [https://github.com/alikates/linux/tree/merge-staging-smbcharger here].<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Redmi_3S_(xiaomi-land)&diff=24013Xiaomi Redmi 3S (xiaomi-land)2021-12-03T00:51:34Z<p>Alikates: Add xiaomi-land wiki page</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = Redmi 3S<br />
| codename = xiaomi-land<br />
<!-- TODO<br />
| image = File:CHANGE_ME_TO_DEVICE_CODENAME.jpg<br />
| imagecaption = CHANGE_ME<br />
| releaseyear = CHANGE_ME<br />
--><br />
| originalsoftware = MIUI 9.2 (Android 6.0.1)<br />
| chipset = Qualcomm MSM8937<br />
| cpu = 4 x CortexA53 1.4GHz + 4x Cortex A53 1.1GHz<br />
| gpu = Adreno 505<br />
| storage = 16GB<br />
| display = 720 x 1280 IPS<br />
| memory = 2GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = <!-- USB networking does work? then put Y here and delete this comment --><br />
| status_flashing = <!-- Flashing with "pmbootstrap flasher" works? Put Y here. It works the same for everything coming below. --><br />
| status_touch = <!-- Touch screen is working? You can also answer these questions with P for partially. --><br />
| status_screen = <!-- The display is working? --><br />
| status_wifi = <!-- Wireless network works? --><br />
| status_xwayland = <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? --><br />
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? --><br />
| status_mainline = <!-- Instead of a Linux kernel fork, it is possible to run mainline. --><br />
| status_battery = <!-- Charging the battery with charging-sdl is possible --><br />
| status_3d = <!-- Hardware accelerated 3D graphics (e.g. with freedreno) --><br />
| status_accel = <!-- The sensor that measures proper acceleration works --><br />
| status_audio = <!-- Using the device's speakers/headphone jack works --><br />
| status_bluetooth = <!-- It's possible to pair and use other devices via the bluetooth protocol --><br />
| status_camera = <!-- Taking photos and videos works. --><br />
| status_gps = <!-- The Global Positioning System sensor works. --><br />
| status_mobiledata = <!-- Connecting to the Internet via cellular network. --><br />
| status_sms = <!-- Sending and receiving short messages works as intended. --><br />
| status_calls = <!-- Talking to other people over the cellular network. --><br />
| status = <!-- Text displayed in the "not booting" table on the Devices page , e.g "kernel compiles, doesn't boot" --><br />
| status_otg = <!-- USB-OTG adapters work, e.g. to connect an USB flash drive to the device --><br />
| status_nfc = <!-- Near-Field Communication (NFC) works --><br />
| status_irtx = <!-- Infrared (IR) port works --><br />
| booting = no <!-- The device is booting at all, can be yes/no *IMPORTANT* --><br />
<br />
<!-- you can also use these lines if you need to:<br />
if the device haven't originally ran Android OS, e.g. Nokia N900<br />
| n-android = ✔<br />
Version of the kernel that pmos is running<br />
| pmoskernel = 3.x.x<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
--><br />
}}<br />
<br />
Currently testing if lk2nd works.<br />
<br />
== Contributors ==<br />
* alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<!-- autogenerated, use {{Owns device|devicepage|notes}} on your profile page --><br />
<!-- use _ instead of spaces in device page name, e.g. {{Owns device|HTC_Desire_(htc-bravo)|custom notes}}--><br />
<!-- you may need to purge page cache to see changes (more->purge cache)--><br />
<!-- you can use {{My devices}} on your profile page to show table with all your devices --><br />
<br />
== How to enter flash mode ==<br />
With the phone powered off, hold {{button|Volume Up}} and {{button|Power}} buttons simultaneously. Release when you feel a vibration and the fastboot screen shows up.<br />
<br />
== Installation ==<br />
<!-- add more sections below as necessary, e.g. WiFi, photos, ... --><br />
<br />
== See also ==<br />
<!--<br />
Link to related GitLab issues or merge requests like the following (replace CHANGEME with the ID, e.g. 1234):<br />
* {{MR|CHANGEME|pmaports}} Initial merge request<br />
* {{issue|CHANGEME|pmaports}} Some related issue<br />
You can also add normal web links:<br />
* [https://redmine.replicant.us/projects/replicant/wiki/GalaxyS2I9100 Replicant wiki page]<br />
--><br />
<!--<br />
If you manage to get your device packages merged, uncomment links below and change DEVICE_CODENAME with the actual one.<br />
* {{Device package|DEVICE_CODENAME}}<br />
* {{Kernel package|DEVICE_CODENAME}}<br />
--></div>Alikateshttps://wiki.postmarketos.org/index.php?title=User:Alikates&diff=24012User:Alikates2021-12-03T00:45:46Z<p>Alikates: </p>
<hr />
<div><div style="float: right;"><br />
{{User_main_device|Xiaomi_Redmi_Note_7_(xiaomi-lavender)}}<br />
{{User mainline|1}}<br />
{{User GitLab|alikates}}<br />
{{User GitHub|alikates}}<br />
</div><br />
<br />
{{Owns device|Xiaomi_MI_A2_Lite_(xiaomi-daisy)|Two devices, one with android and the other with pmOS}}<br />
{{Owns device|Xiaomi_Redmi_Note_7_(xiaomi-lavender)}}<br />
{{Owns device|Xiaomi_Redmi_Note_3_(xiaomi-kenzo)|Broken mic and part of screen}}<br />
{{Owns device|Xiaomi_Redmi_3S_(xiaomi-land)}}<br />
{{My devices}}</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=23657Xiaomi Mi A2 Lite (xiaomi-daisy)2021-11-09T16:27:45Z<p>Alikates: </p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = Y<br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
A prebuilt image can be found here [https://github.com/alikates/lk2nd/releases/tag/0.3.0].<br />
<br />
Flash it with <code>fastboot flash boot lk2nd.img</code><br />
<br />
Reboot device and hold vol. down button after the device unlock warning. Then the lk2nd interface should show up.<br />
From there, follow the normal installation steps.<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
==== Mobile data ====<br />
Mobile data works now. On kernel version >= 5.14 the following steps are not needed because the port data can be read from sysfs by ModemManger<br />
{{Note|<br />
<strong>This can crash the system and make it totally unresponsive,<strong><br />
}}<br />
<br />
The patches from {{MR|2496|pmaports}} merge request are needed. <br />
<br />
To get mobile data working an interface must be enabled to send packets to the modem.<br />
<br />
The parameters for it are found in the downstream kernel. They are IPA_CLIENT_APPS_LAN_WAN_PROD=4 and IPA_CLIENT_APPS_WAN_CONS=5.<br />
<br />
To get it working:<br />
<br />
* Run: <code># qmicli -d qrtr://0 -p --dpm-open-port="hw-data-ep-type=embedded,hw-data-ep-iface-number=1,hw-data-rx-id=4,hw-data-tx-id=5"</code><br />
<br />
* Restart ModemManager: <code># killall ModemManager</code><br />
<br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== FDE ===<br />
FDE works fine, but the touchscreen does not work with the packaged kernel as the driver is enabled as a module.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 is really similar to PMI8994, a proper driver could be written to support both PMICs. Work will be uploaded [https://github.com/alikates/linux/tree/smbcharger here].<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
{{note|1: Tx, 2: GND, 3: EDL test-points}}<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=User:Alikates&diff=22999User:Alikates2021-10-15T08:47:59Z<p>Alikates: </p>
<hr />
<div><div style="float: right;"><br />
{{User_main_device|Xiaomi_Redmi_Note_7_(xiaomi-lavender)}}<br />
{{User mainline|1}}<br />
{{User GitLab|alikates}}<br />
{{User GitHub|alikates}}<br />
</div><br />
<br />
{{Owns device|Xiaomi_MI_A2_Lite_(xiaomi-daisy)|Two devices, one with android and the other with pmOS}}<br />
{{Owns device|Xiaomi_Redmi_Note_7_(xiaomi-lavender)}}<br />
{{Owns device|Xiaomi_Redmi_Note_3_(xiaomi-kenzo)|Broken mic and part of screen}}<br />
{{My devices}}</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=22905Xiaomi Mi A2 Lite (xiaomi-daisy)2021-10-09T23:21:30Z<p>Alikates: Add some images and remove touchscreen section as it was wrong</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = Y<br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
A prebuilt image can be found here [https://github.com/alikates/lk2nd/releases/tag/0.3.0].<br />
<br />
Flash it with <code>fastboot flash boot lk2nd.img</code><br />
<br />
Reboot device and hold vol. down button after the device unlock warning. Then the lk2nd interface should show up.<br />
From there, follow the normal installation steps.<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
==== Mobile data ====<br />
Mobile data works now. On kernel version >= 5.14 the following steps are not needed because the port data can be read from sysfs by ModemManger<br />
{{Note|<br />
<strong>This can crash the system and make it totally unresponsive,<strong><br />
}}<br />
<br />
The patches from {{MR|2496|pmaports}} merge request are needed. <br />
<br />
To get mobile data working an interface must be enabled to send packets to the modem.<br />
<br />
The parameters for it are found in the downstream kernel. They are IPA_CLIENT_APPS_LAN_WAN_PROD=4 and IPA_CLIENT_APPS_WAN_CONS=5.<br />
<br />
To get it working:<br />
<br />
* Run: <code># qmicli -d qrtr://0 -p --dpm-open-port="hw-data-ep-type=embedded,hw-data-ep-iface-number=1,hw-data-rx-id=4,hw-data-tx-id=5"</code><br />
<br />
* Restart ModemManager: <code># killall ModemManager</code><br />
<br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== FDE ===<br />
FDE works fine, but the touchscreen does not work with the packaged kernel as the driver is enabled as a module.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 is really similar to PMI8994, a proper driver could be written to support both PMICs. Work will be uploaded [https://github.com/alikates/linux/tree/smbcharger here].<br />
<br />
== Images ==<br />
[[File:Daisy-pcb-testpoints.png|300px]]<br />
[[File:Daisy-phosh-about.png|150px]]<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=File:Daisy-phosh-about.png&diff=22904File:Daisy-phosh-about.png2021-10-09T23:19:31Z<p>Alikates: Xiaomi Mi A2 Lite running Phosh, about page.</p>
<hr />
<div>== Summary ==<br />
Xiaomi Mi A2 Lite running Phosh, about page.<br />
== Licensing ==<br />
{{self|cc-by-4.0}}</div>Alikateshttps://wiki.postmarketos.org/index.php?title=File:Daisy-pcb-testpoints.png&diff=22903File:Daisy-pcb-testpoints.png2021-10-09T23:06:43Z<p>Alikates: </p>
<hr />
<div><br />
== Licensing ==<br />
{{self|cc-by-sa-4.0}}</div>Alikateshttps://wiki.postmarketos.org/index.php?title=User:Alikates&diff=22834User:Alikates2021-10-07T09:15:38Z<p>Alikates: </p>
<hr />
<div><div style="float: right;"><br />
{{User_main_device|Xiaomi_Redmi_Note_7_(xiaomi-lavender)}}<br />
{{User mainline|1}}<br />
{{User GitLab|alikates}}<br />
{{User GitHub|alikates}}<br />
</div><br />
<br />
{{Owns device|Xiaomi_MI_A2_Lite_(xiaomi-daisy)}}<br />
{{Owns device|Xiaomi_Redmi_Note_7_(xiaomi-lavender)}}<br />
{{Owns device|Xiaomi_Redmi_Note_3_(xiaomi-kenzo)|Broken mic and part of screen}}<br />
{{My devices}}</div>Alikateshttps://wiki.postmarketos.org/index.php?title=User:Alikates&diff=22814User:Alikates2021-10-05T17:44:53Z<p>Alikates: </p>
<hr />
<div><div style="float: right;"><br />
{{User_main_device|Xiaomi_Redmi_Note_7_(xiaomi-lavender)}}<br />
{{User mainline|1}}<br />
{{User GitLab|alikates}}<br />
{{User GitHub|alikates}}<br />
</div><br />
<br />
{{Owns device|Xiaomi_MI_A2_Lite_(xiaomi-daisy)}}<br />
{{Owns device|Xiaomi_Redmi_Note_7_(xiaomi-lavender)}}<br />
{{My devices}}</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=22811Xiaomi Mi A2 Lite (xiaomi-daisy)2021-10-05T11:50:30Z<p>Alikates: Added instructions on how to flash lk2nd</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = Y<br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
A prebuilt image can be found here [https://github.com/alikates/lk2nd/releases/tag/0.3.0].<br />
<br />
Flash it with <code>fastboot flash boot lk2nd.img</code><br />
<br />
Reboot device and hold vol. down button after the device unlock warning. Then the lk2nd interface should show up.<br />
From there, follow the normal installation steps.<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
==== Mobile data ====<br />
Mobile data works now. On kernel version >= 5.14 the following steps are not needed because the port data can be read from sysfs by ModemManger<br />
{{Note|<br />
<strong>This can crash the system and make it totally unresponsive,<strong><br />
}}<br />
<br />
The patches from {{MR|2496|pmaports}} merge request are needed. <br />
<br />
To get mobile data working an interface must be enabled to send packets to the modem.<br />
<br />
The parameters for it are found in the downstream kernel. They are IPA_CLIENT_APPS_LAN_WAN_PROD=4 and IPA_CLIENT_APPS_WAN_CONS=5.<br />
<br />
To get it working:<br />
<br />
* Run: <code># qmicli -d qrtr://0 -p --dpm-open-port="hw-data-ep-type=embedded,hw-data-ep-iface-number=1,hw-data-rx-id=4,hw-data-tx-id=5"</code><br />
<br />
* Restart ModemManager: <code># killall ModemManager</code><br />
<br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== FDE ===<br />
FDE works fine, but the touchscreen does not work with the packaged kernel as the driver is enabled as a module.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 is really similar to PMI8994, a proper driver could be written to support both PMICs. Work will be uploaded [https://github.com/alikates/linux/tree/smbcharger here].<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=User:Alikates&diff=22807User:Alikates2021-10-05T11:34:52Z<p>Alikates: </p>
<hr />
<div>{{Owns device|Xiaomi_MI_A2_Lite_(xiaomi-daisy)}}<br />
{{Owns device|Xiaomi_Redmi_Note_7_(xiaomi-lavender)|Daily driver}}<br />
{{My devices}}</div>Alikateshttps://wiki.postmarketos.org/index.php?title=User:Alikates&diff=22806User:Alikates2021-10-05T11:34:40Z<p>Alikates: Add owned devices</p>
<hr />
<div>{{Owns device|Xiaomi_MI_A2_Lite_(xiaomi-daisy)}}<br />
{{Owns device|Xiaomi_Redmi_Note_7_(xiaomi-lavender)|Daily driver}}</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=22805Xiaomi Mi A2 Lite (xiaomi-daisy)2021-10-05T11:34:13Z<p>Alikates: Fix device owners</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = Y<br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
==== Mobile data ====<br />
Mobile data works now. On kernel version >= 5.14 the following steps are not needed because the port data can be read from sysfs by ModemManger<br />
{{Note|<br />
<strong>This can crash the system and make it totally unresponsive,<strong><br />
}}<br />
<br />
The patches from {{MR|2496|pmaports}} merge request are needed. <br />
<br />
To get mobile data working an interface must be enabled to send packets to the modem.<br />
<br />
The parameters for it are found in the downstream kernel. They are IPA_CLIENT_APPS_LAN_WAN_PROD=4 and IPA_CLIENT_APPS_WAN_CONS=5.<br />
<br />
To get it working:<br />
<br />
* Run: <code># qmicli -d qrtr://0 -p --dpm-open-port="hw-data-ep-type=embedded,hw-data-ep-iface-number=1,hw-data-rx-id=4,hw-data-tx-id=5"</code><br />
<br />
* Restart ModemManager: <code># killall ModemManager</code><br />
<br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== FDE ===<br />
FDE works fine, but the touchscreen does not work with the packaged kernel as the driver is enabled as a module.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 is really similar to PMI8994, a proper driver could be written to support both PMICs. Work will be uploaded [https://github.com/alikates/linux/tree/smbcharger here].<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=22795Xiaomi Mi A2 Lite (xiaomi-daisy)2021-10-04T15:00:50Z<p>Alikates: /* Mobile data */</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = Y<br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
* Alikates<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
==== Mobile data ====<br />
Mobile data works now. On kernel version >= 5.14 the following steps are not needed because the port data can be read from sysfs by ModemManger<br />
{{Note|<br />
<strong>This can crash the system and make it totally unresponsive,<strong><br />
}}<br />
<br />
The patches from {{MR|2496|pmaports}} merge request are needed. <br />
<br />
To get mobile data working an interface must be enabled to send packets to the modem.<br />
<br />
The parameters for it are found in the downstream kernel. They are IPA_CLIENT_APPS_LAN_WAN_PROD=4 and IPA_CLIENT_APPS_WAN_CONS=5.<br />
<br />
To get it working:<br />
<br />
* Run: <code># qmicli -d qrtr://0 -p --dpm-open-port="hw-data-ep-type=embedded,hw-data-ep-iface-number=1,hw-data-rx-id=4,hw-data-tx-id=5"</code><br />
<br />
* Restart ModemManager: <code># killall ModemManager</code><br />
<br />
<br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== FDE ===<br />
FDE works fine, but the touchscreen does not work with the packaged kernel as the driver is enabled as a module.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 is really similar to PMI8994, a proper driver could be written to support both PMICs. Work will be uploaded [https://github.com/alikates/linux/tree/smbcharger here].<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=22794Xiaomi Mi A2 Lite (xiaomi-daisy)2021-10-04T13:53:06Z<p>Alikates: Added more info on how to test mobile data</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = Y<br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
* Alikates<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
==== Mobile data ====<br />
Mobile data works now. On kernel version >= 5.14 the following steps are not needed because the port data can be read from sysfs by ModemManger<br />
{{Note|<br />
<strong>This can crash the system and make it totally unresponsive,<strong><br />
}}<br />
<br />
The patches from {{MR|2496|pmaports}} merge request are needed. <br />
<br />
To get mobile data working an interface must be enabled to send packets to the modem.<br />
<br />
The parameters for it are found in the downstream kernel. They are IPA_CLIENT_APPS_LAN_WAN_PROD=4 and IPA_CLIENT_APPS_WAN_CONS=5.<br />
<br />
The actual steps to get it working are:<br />
<code>qmicli -d qrtr://0 -p --dpm-open-port="hw-data-ep-type=embedded,hw-data-ep-iface-number=1,hw-data-rx-id=4,hw-data-tx-id=5"</code><br />
<br />
Now ModemManager must be restarted, for example with <code># killall ModemManager</code><br />
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== FDE ===<br />
FDE works fine, but the touchscreen does not work with the packaged kernel as the driver is enabled as a module.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 is really similar to PMI8994, a proper driver could be written to support both PMICs. Work will be uploaded [https://github.com/alikates/linux/tree/smbcharger here].<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=22445Xiaomi Mi A2 Lite (xiaomi-daisy)2021-09-19T17:23:56Z<p>Alikates: Add info of mobile data support om kernel 5.14 and mark accelerometer/sensors as broken</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 5.13-rc6<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = N<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = Y<br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
* Alikates<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
==== Mobile data ====<br />
Mobile data works now. On kernel version >= 5.14 the following steps are not needed because the port data can be read from sysfs by ModemManger.<br />
{{Note|<br />
<strong>This can crash the system and make it totally unresponsive,<strong><br />
}}<br />
To get mobile data working an interface must be enabled to send packets to the modem.<br />
<br />
The parameters for it are found in the downstream kernel. They are IPA_CLIENT_APPS_LAN_WAN_PROD=4 and IPA_CLIENT_APPS_WAN_CONS=5:<br />
<br />
<code>qmicli -d qrtr://0 -p --dpm-open-port="hw-data-ep-type=embedded,hw-data-ep-iface-number=1,hw-data-rx-id=4,hw-data-tx-id=5"</code><br />
<br />
Now ModemManager must be restarted, for example with <code># killall ModemManager</code><br />
<br />
After that, mmcli can be used to set the operator info:<br />
<br />
<code>mmcli -m 0 --simple-connect="apn=<your apn>"</code><br />
<br />
It is best that instead of using mmcli to set the connection settings, use NetworkManger so it sets up the network interface and IP routing<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== FDE ===<br />
FDE works fine, but the touchscreen does not work with the packaged kernel as the driver is enabled as a module.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 is really similar to PMI8994, a proper driver could be written to support both PMICs. Work will be uploaded [https://github.com/alikates/linux/tree/smbcharger here].<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=21924Xiaomi Mi A2 Lite (xiaomi-daisy)2021-08-28T09:29:39Z<p>Alikates: Some more info about mobile data and how to set it up</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 4.9.220<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = P<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = Y<br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
* Alikates<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
==== Mobile data ====<br />
Mobile data works now.<br />
{{Note|<br />
<strong>This can crash the system and make it totally unresponsive,<strong><br />
}}<br />
To get mobile data working an interface must be enabled to send packets to the modem.<br />
<br />
The parameters for it are found in the downstream kernel. They are IPA_CLIENT_APPS_LAN_WAN_PROD=4 and IPA_CLIENT_APPS_WAN_CONS=5:<br />
<br />
<code>qmicli -d qrtr://0 -p --dpm-open-port="hw-data-ep-type=embedded,hw-data-ep-iface-number=1,hw-data-rx-id=4,hw-data-tx-id=5"</code><br />
<br />
Now ModemManager must be restarted, for example with <code># killall ModemManager</code><br />
<br />
After that, mmcli can be used to set the operator info:<br />
<br />
<code>mmcli -m 0 --simple-connect="apn=<your apn>"</code><br />
<br />
It is best that instead of using mmcli to set the connection settings, use NetworkManger so it sets up the network interface and IP routing<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== FDE ===<br />
FDE works fine, but the touchscreen does not work with the packaged kernel as the driver is enabled as a module.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 is really similar to PMI8994, a proper driver could be written to support both PMICs. Work will be uploaded [https://github.com/alikates/linux/tree/smbcharger here].<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=21917Xiaomi Mi A2 Lite (xiaomi-daisy)2021-08-28T01:22:35Z<p>Alikates: </p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 4.9.220<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = P<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = Y<br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
* Alikates<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
==== Mobile data ====<br />
Mobile data works now.<br />
{{Note|<br />
<strong>This can crash the system and make it totally unresponsive,<strong><br />
}}<br />
To get mobile data working an interface must be enabled to send packets to the modem.<br />
<br />
The parameters for it are found in the downstream kernel. They are IPA_CLIENT_APPS_LAN_WAN_PROD=4 and IPA_CLIENT_APPS_WAN_CONS=5:<br />
<br />
<br />
<code>qmicli -d qrtr://0 -p --dpm-open-port="hw-data-ep-type=embedded,hw-data-ep-iface-number=1,hw-data-rx-id=4,hw-data-tx-id=5"</code><br />
<br />
After that, mmcli can be used to set the operator info:<br />
<br />
<code>mmcli -m 0 --simple-connect="apn=<your apn>"</code><br />
<br />
ModemManager sets up this interface with the mobile operator data and with NetworkManager it even gets an IP, but if some app tries to send traffic through the interface, the system ends up crashing.<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== FDE ===<br />
FDE works fine, but the touchscreen does not work with the packaged kernel as the driver is enabled as a module.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 is really similar to PMI8994, a proper driver could be written to support both PMICs. Work will be uploaded [https://github.com/alikates/linux/tree/smbcharger here].<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=21916Xiaomi Mi A2 Lite (xiaomi-daisy)2021-08-28T01:05:08Z<p>Alikates: Mobile data working</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 4.9.220<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = P<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = <br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
* Alikates<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
==== Mobile data ====<br />
Mobile data works now.<br />
{{Note|<br />
<strong>This can crash the system and make it totally unresponsive,<strong><br />
}}<br />
To get mobile data working an interface must be enabled to send packets to the modem.<br />
<br />
The parameters for it are found in the downstream kernel. They are IPA_CLIENT_APPS_LAN_WAN_PROD=4 and IPA_CLIENT_APPS_WAN_CONS=5:<br />
<br />
<br />
<code>qmicli -d qrtr://0 -p --dpm-open-port="hw-data-ep-type=embedded,hw-data-ep-iface-number=1,hw-data-rx-id=4,hw-data-tx-id=5"</code><br />
<br />
After that, mmcli can be used to set the operator info:<br />
<br />
<code>mmcli -m 0 --simple-connect="apn=<your apn>"</code><br />
<br />
ModemManager sets up this interface with the mobile operator data and with NetworkManager it even gets an IP, but if some app tries to send traffic through the interface, the system ends up crashing.<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== FDE ===<br />
FDE works fine, but the touchscreen does not work with the packaged kernel as the driver is enabled as a module.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 is really similar to PMI8994, a proper driver could be written to support both PMICs. Work will be uploaded [https://github.com/alikates/linux/tree/smbcharger here].<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=21915Xiaomi Mi A2 Lite (xiaomi-daisy)2021-08-28T00:58:14Z<p>Alikates: Update DPM endpoint IDs</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 4.9.220<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = P<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = <br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
* Alikates<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
==== Mobile data ====<br />
Mobile data isn´t working yet but the steps to make it work should be similar to these.<br />
{{Note|<br />
<strong>This can crash the system and make it totally unresponsive,<strong><br />
}}<br />
To get mobile data working an interface must be enabled to send packets to the modem. This command does it but the rx and tx endpoint IDs might be wrong (in downstream they are IPA_CLIENT_APPS_LAN_WAN_PROD=4 and IPA_CLIENT_APPS_WAN_CONS=5):<br />
<br />
<code>qmicli -d qrtr://0 -p --dpm-open-port="hw-data-ep-type=embedded,hw-data-ep-iface-number=1,hw-data-rx-id=4,hw-data-tx-id=5"</code><br />
<br />
After that, mmcli can be used to set the operator info:<br />
<br />
<code>mmcli -m 0 --simple-connect="apn=<your apn>"</code><br />
<br />
ModemManager sets up this interface with the mobile operator data and with NetworkManager it even gets an IP, but if some app tries to send traffic through the interface, the system ends up crashing.<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== FDE ===<br />
FDE works fine, but the touchscreen does not work with the packaged kernel as the driver is enabled as a module.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 is really similar to PMI8994, a proper driver could be written to support both PMICs. Work will be uploaded [https://github.com/alikates/linux/tree/smbcharger here].<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=21896Xiaomi Mi A2 Lite (xiaomi-daisy)2021-08-27T01:31:08Z<p>Alikates: /* Mainline Kernel */</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 4.9.220<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = P<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = <br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
* Alikates<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
==== Mobile data ====<br />
Mobile data isn´t working yet but the steps to make it work should be similar to these.<br />
{{Note|<br />
<strong>This can crash the system and make it totally unresponsive,<strong><br />
}}<br />
To get mobile data working an interface must be enabled to send packets to the modem. This command does it but the rx and tx endpoint IDs might be wrong:<br />
<br />
<code>qmicli -d qrtr://0 -p --dpm-open-port="hw-data-ep-type=embedded,hw-data-ep-iface-number=1,hw-data-rx-id=3,hw-data-tx-id=16"</code><br />
<br />
After that, mmcli can be used to set the operator info:<br />
<br />
<code>mmcli -m 0 --simple-connect="apn=<your apn>"</code><br />
<br />
ModemManager sets up this interface with the mobile operator data and with NetworkManager it even gets an IP, but if some app tries to send traffic through the interface, the system ends up crashing.<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== FDE ===<br />
FDE works fine, but the touchscreen does not work with the packaged kernel as the driver is enabled as a module.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 is really similar to PMI8994, a proper driver could be written to support both PMICs. Work will be uploaded [https://github.com/alikates/linux/tree/smbcharger here].<br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=21895Xiaomi Mi A2 Lite (xiaomi-daisy)2021-08-27T01:06:44Z<p>Alikates: /* FDE */</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 4.9.220<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = P<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = <br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
* Alikates<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== FDE ===<br />
FDE works fine, but the touchscreen does not work with the packaged kernel as the driver is enabled as a module.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 is really similar to PMI8994, a proper driver could be written to support both PMICs. Work will be uploaded [https://github.com/alikates/linux/tree/smbcharger here].<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=21894Xiaomi Mi A2 Lite (xiaomi-daisy)2021-08-27T01:06:09Z<p>Alikates: </p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 4.9.220<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = P<br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = P<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = <br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
* Alikates<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== FDE ===<br />
FDE works fine with drm/msm, but the touchscreen does not work with the packaged kernel as the driver is enabled as a module.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 is really similar to PMI8994, a proper driver could be written to support both PMICs. Work will be uploaded [https://github.com/alikates/linux/tree/smbcharger here].<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=21877Xiaomi Mi A2 Lite (xiaomi-daisy)2021-08-25T22:59:39Z<p>Alikates: </p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 4.9.220<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = <br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = P<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = <br />
| status_sms = Y<br />
| status_calls = Y<br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
* Alikates<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
Calls and SMS work on Phosh by using a modified device-xiaomi-daisy and ModemManager version 1.17.900. The changes for those packages can be found [https://gitlab.com/alikates/pmaports here].<br />
<br />
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 is really similar to PMI8994, a proper driver could be written to support both PMICs. Work will be uploaded [https://github.com/alikates/linux/tree/smbcharger here].<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=21876Xiaomi Mi A2 Lite (xiaomi-daisy)2021-08-25T17:22:20Z<p>Alikates: </p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 4.9.220<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = <br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = P<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = <br />
| status_sms = <br />
| status_calls = <br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
* Alikates<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 is really similar to PMI8994, a proper driver could be written to support both PMICs. Work will be uploaded [https://github.com/alikates/linux/tree/smbcharger here].<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=21875Xiaomi Mi A2 Lite (xiaomi-daisy)2021-08-25T17:21:35Z<p>Alikates: Mainlining updates: working audio and 3d acceleration. Add info about charger and sensors.</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 4.9.220<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = <br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d = P<br />
| status_accel = P<br />
| status_audio = P<br />
| status_bluetooth = P<br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = <br />
| status_sms = <br />
| status_calls = <br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
* Alikates<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
=== Wifi ===<br />
<br />
Driver spams dmesg with <code>wcn36xx: WARNING Bad TX complete indication</code> and there are some crashes<br />
<br />
=== GPU ===<br />
Works fine but there may be a problem with the governor. It's a bit slow when waking up or when screen changes from idle to active graphics but a few seconds after it stabilizes.<br />
<br />
=== Audio ===<br />
Earpiece and headphones work almost with the default msm8916 UCM config fork. Speaker still not working.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working.<br />
<br />
Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it.<br />
<br />
=== Sensors ===<br />
The sensors are managed by the DSP and configuration is made with QMI. Support must be added to libqmi.<br />
<br />
=== Charger ===<br />
Fuel gauge is working on msm8953-mainline. The charger on PMI8950 really similar to PMI8994, a proper driver could be written to support both PMICs. Work will be uploaded [https://github.com/alikates/linux/tree/smbcharger here].<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]<br />
* [https://github.com/alikates/linux/tree/smbcharger Charger driver fork]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=21155Xiaomi Mi A2 Lite (xiaomi-daisy)2021-08-09T15:43:05Z<p>Alikates: </p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 4.9.220<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = <br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d =<br />
| status_accel = P<br />
| status_audio = P<br />
| status_bluetooth = <br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = <br />
| status_sms = <br />
| status_calls = <br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
* Alikates<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
To use it select mainline kernel when running <code>pmbootstrap init</code><br />
<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
=== Wifi ===<br />
<br />
Works but it is very slow. Driver spams dmesg with errors about <code>wcn36xx: WARNING Bad TX complete indication</code><br />
<br />
=== GPU ===<br />
2D and 3D acceleration seems to work. Plasma Mobile works with GPU acceleration but is very slow.<br />
<br />
=== Audio ===<br />
Sound card is found, it still needs an alsa-ucm configuration file.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working. Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it. <br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]</div>Alikateshttps://wiki.postmarketos.org/index.php?title=Xiaomi_Mi_A2_Lite_(xiaomi-daisy)&diff=21154Xiaomi Mi A2 Lite (xiaomi-daisy)2021-08-09T15:41:25Z<p>Alikates: </p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Xiaomi<br />
| name = MI A2 Lite<br />
| codename = xiaomi-daisy<br />
| image = File:xiaomi-daisy.png<br />
| imagecaption = Xiaomi-daisy Booting <br />
| releaseyear = 2018<br />
| originalsoftware = Android 8.1<br />
| pmoskernel = 4.9.220<br />
| chipset = Qualcomm MSM8953 Snapdragon 625<br />
| cpu = 2 GHz 8 Core Cortex-A53 <br />
| gpu = Adreno 506<br />
| storage = 32 GB<br />
| display = 1080 x 2280 IPS<br />
| memory = 3/4 GB<br />
| architecture = aarch64<br />
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --><br />
| status_usbnet = Y<br />
| status_flashing = Y<br />
| status_touch = Y<br />
| status_screen = Y<br />
| status_wifi = P<br />
| status_xwayland = <br />
| status_fde = <br />
| status_mainline = P<br />
| status_battery = Y<br />
| status_3d =<br />
| status_accel = P<br />
| status_audio = P<br />
| status_bluetooth = <br />
| status_camera = <br />
| status_gps = <br />
| status_mobiledata = <br />
| status_sms = <br />
| status_calls = <br />
| status = <br />
| booting = Yes<br />
<br />
<!-- you can also use these lines if you need to:<br />
see Unixbench page on wiki<br />
| whet_dhry = 0.0<br />
Is OTG available, not used in wiki<br />
| status_otg = -<br />
--><br />
}}<br />
<br />
== Contributors ==<br />
* Ash<br />
* Alikates<br />
<br />
== Users owning this device ==<br />
{{Device owners}}<br />
* Alikates<br />
<br />
== Installation ==<br />
=== Fastboot Mode ===<br />
<br />
First make sure to enable USB debugging in Android ([https://technowikis.com/4732/how-to-activate-debug-mode-xiaomi-mi-a2-lite])<br />
Then with device powered off, hold the {{button|Volume Down}} and {{button|Power}} buttons simultaneously for a few seconds, until Fastboot Mode screen appears.<br />
<br />
=== OEM Unlock ===<br />
<br />
Get device into Fastboot Mode, plug in USB cable, then:<br />
<br />
<source lang="shell-session"><br />
$ sudo fastboot oem unlock<br />
</source><br />
<br />
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.<br />
<br />
=== Installation ===<br />
<br />
First build the image:<br />
<source lang="shell-session"><br />
$ pmbootstrap init<br />
$ pmbootstrap install<br />
</source><br />
<br />
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:<br />
<br />
<source lang="shell-session"><br />
$ pmbootstrap flasher flash_rootfs --partition userdata<br />
$ sudo fastboot format system<br />
$ pmbootstrap flasher flash_kernel<br />
</source><br />
<br />
== Mainline Kernel ==<br />
Device tree and panel driver support added on msm8953-mainline ([https://github.com/msm8953-mainline/linux]).<br />
Flashing lk2nd is needed. ([https://github.com/msm8953-mainline/lk2nd]).<br />
The device package also needs to be updated to use linux-postmarketos-qcom-msm8953 package for kernel.<br />
<br />
=== Modem ===<br />
<br />
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli. Need to test Ofono with patches for QRTR support.<br />
<br />
=== Wifi ===<br />
<br />
Works but it is very slow. Driver spams dmesg with errors about <code>wcn36xx: WARNING Bad TX complete indication</code><br />
<br />
=== GPU ===<br />
2D and 3D acceleration seems to work. Plasma Mobile works with GPU acceleration but is very slow.<br />
<br />
=== Audio ===<br />
Sound card is found, it still needs an alsa-ucm configuration file.<br />
<br />
=== Touchscreen ===<br />
It works, but with the focaltech variant there seems to be a bug where the chip firmware is erased if not powered off properly and the touchscreen stops working. Mainline driver lacks support for reflashing the firmware so it is needed to flash stock android to fix it. <br />
<br />
== See also ==<br />
* [[Qualcomm Snapdragon 450/625/626/632 (MSM8953)]]<br />
* {{MR|1687|pmaports}} Initial merge request<br />
* {{MR|2225|pmaports}} Mainline merge request<br />
* {{Device package|xiaomi-daisy}}<br />
* {{Kernel package|xiaomi-daisy}}<br />
* [https://github.com/msm8953-mainline/linux Mainline kernel]<br />
* [https://github.com/msm8953-mainline/lk2nd lk2nd]</div>Alikates