[GUIDE][RECOVERY][ROM] Xiaomi/Fengmi/Wemax Mi Led/Laser Projector/TV - Android Software Development

Projectivy Launcher (formerly ProjecTivy Tools) now has its own dedicated thread located here.
Intro
There's so much information here that a new user could probably feel lost without the courage to read everything. So let's keep things simple : as the thread's title says, the primary aimed devices are projectors produced by Xiaomi related brands (xiaomi/fengmi/wemax), though it could probably be useful to other Android Tv models and other brands, so you might want to keep reading until the end of the introduction.
What you can find here :
Full tutorial to Googlize your chinese device with my custom made Google Apps package dedicated to Android Tv 6 (only tested on MiUi Tv, root required)
General FAQ related to these devices [post #2]
Information on how to root xiaomi/wemax/fengmi/vava projectors (and custom made TWRP for many chinese models) [post #2]
Full firmware and OTA for many models [post #2]
Google Apps / Services instructions
Here's a full tutorial to root and install Google services on your Android 6 MiUi device (ie: chinese xiaomi/fengmi/wemax).
This has been tested successfully on all devices where a custom TWRP is available below. If anything goes wrong for you, try to factory reset / clean flash
Except for "AndroidMediaShell" (Google Cast server), most (all?) features are working fine including :
Tv settings
Google Play (to let it install/update apps, please enable the Accessibility Service)
ATV remote service : if you install Google ATV remote on your smartphone, everything (including speech recognition) will work
Google Assistant : with the Accessibility Service enabled, a short press on the mic button on your stock remote control will launch Google Assistant. Then, when it's listening, press and hold the mic button while speaking and release it when done. According you've used More Locale to change to your mother tongue, this will even work in your language.
Installation steps:
root your device (see post #2) (you don't need to flash any firmware)
if not already done, install the latest version of ProjecTivy Launcher and launch it
execute Applications / install 3rd party apps, then install :
Aptoide Tv Store
ATV launcher [optional] (alternative launcher)
Youtube [optional]
MoreLocale [optional] (in case your mother tongue is not english, it will let you choose more than what's listed in Android settings)
Google Apps/services (don't forget it )
execute Applications / Freeze Stock launcher (to disable your stock home screen)
execute Applications / Freeze Stock apps (to disable most Xiaomi apps and services)
execute System / Custom Props override (to pass safetynet checks, enable more stock behavior and fix black screen with non-stock launcher)
execute System / Accessibility Service, enable the service in accessibility settings (to fix "Google Play" ability to install/update apps and to link the stock remote control "Voice recognition" button to Google Assistant as well as many other features)
[Optional] Install magisk module "Nexus Media" to change the stock bootanimation (go to Shortcuts / Magisk Manager to execute it, and then in the left menu, "Downloads" section, just install "Nexus Media")
Reboot and complete the Welcome app to setup your Google account (first and second boot will be longer than usual)
Note that an Android accessibility setting might get enabled after the first reboot when Google Apps have been installed. It'll cause green borders around buttons. Just go to settings / accessibility and disable "talkback".
Launch Google Play to update Google apps and let the update finish before exiting Google Play (if the app's accessibility service is running as it should, it will display a message when launching/exiting Google Play)
[Optional] start MoreLocale to change your language
Disable the "smart update" in the projector settings so that it doesn't try to download and install OTAs (which would just display an "error" message after each boot, when it fails to install it)
Enjoy your Google Tv device !
Important :
Once installed, don't change the device resolution in the Android Tv settings. This is not supported by the video drivers that will then only display a checkerboard. The only known solution as of now is to factory reset and start again.
Engineering Menu App Translation
Here you'll find information about xiaomi's engineering menu app.
After a bit of google translate and reverse engineering, here's a translation of the different menus, along with my own values (1st one is for "rainman", second one for "batman")
Projector information
- Brightness [1541][1610]
- DLP vendor name [APPO][APPO]
- Production Week [1812][1921]
- Contrast ratio [3828][3370]
- Brightness Uniformity [940][856]
- Serial Number
- Color coordinates [r:860 g:860 b:860 x:283 y:302][r:860 g:860 b:860 x:2720 y:2790]
Solid color (android) -> displays a solid color (using android system)
Solid color (projector) -> displays a solid color (native)
Other image test (android) -> displays a gradient (using android system)
Other image test (projector) -> displays a gradient (native)
Color wheel delay -> when incorrectly set, this can lead to posterization issues (gradients become unnatural and tend to display large uniform areas) [490][420]
Save color wheel delay to Android
Image mode: change the screen light intensity
- Standard
- Highlight
- Energy saving
Temperature monitoring
- ambient temperature [31][43]
- color wheel [52][63]
- Laser temperature channel 1 [60][74]
- Laser temperature channel 2 [61][74]
- DMD temperature [-][0]
Model name [MiProjA1][MiProjLAS2]
Human body induction -> enables/disables IR sensor that disable image when coming close to the laser
Save information to projector
DLP version [major:1, minor:2, patch:5][major:7, minor:3, patch:7]
3D (when modified, need to restart to take effect) -> enable/disable 3d support
Devices list
For reference, here's a list of devices where ProjecTivy (and several of its special features) has been tested working fine.
Only models using Android 6 can be rooted yet.
1080p Laser Projectors:
Xiaomi Mi Laser UST Projector 150" (chinese) / MiProjA1 / model: MJJGYY01FM / codename: rainman
Wemax One 7000 / MiProjA1 / model: FMWS01C / codename: rainman (thanks rockpaperscissors)
Wemax One Pro / MiProjA1 / model: FMWS02C / codename: rainman
Xiaomi Mi laser UST Projector 150" (international) / MiProjA1 / model: MJJGYY02FM / codename: anglee (thanks Nathan0121) (no root supported yet)
Xiaomi Mijia ALPD 3.0 (rear throw laser) / model: L185JCN / codename: franky (no feedback concerning twrp yet, try rainman and report if it works)
4k Laser Projectors:
Xiaomi Mi Laser UST Projector 150" 4k (chinese) / MiProjLas2 / model: MJJGTYDS01FM / codename: batman
Xiaomi Mijia 1S 4k (chinese) / MiProjLas2 / model: MJJGTYDS04FM/ codename: batman
Wemax A300 / MiProjLas2 / model: L1668FCF / codename: batman
Fengmi 4K cinema laser / MiProjLas2 / model: L176FCN / codename: batman
probably not released yet / MiProjLas2 / model: L246 / codename: batman
Fengmi 4K cinema pro laser / FMProjA2 / model: L176FCNPro / codename: jerry (no root supported yet)
Fengmi 4K C2 (cinema 2) / ? / model: L166FCN / codename: jerry (no root supported yet)
Fengmi 4k Max / model: L406FCN / codename: jerry (no root supported yet)
Xiaomi Mi 4K laser UST Projector 150" (international) / model: XMJGTYDS01FM / codename: angleeUHD (no root supported yet)
Led projectors:
Xiaomi Mi Home Projector Lite / Mijia DLP Projector Youth edition / MiProjLED1 / model: MJJGTYDS02FM / codename: conan (root using rainman twrp below)
Mi Smart Compact Projector (international) / Mijia DLP Projector Youth Global edition / model: M055MGN / MiProjM05 / SJL4014GL / codename: ?
Fengmi M055FCN / model: M055FCN / MiProjLED1 / codename: doraemon (root using rainman twrp below)
Xiaomi Mijia Mi / ZMiProj / model: TYY01ZM / codename: zodiac
Tvs:
Xiaomi Mi TV 3s / codename: mission impossible
Xiaomi Mi TV 4 / codename: pulpfiction
Xiaomi Mi TV 4a/4c/4s/4x / codename: matrix/xmen
to be completed
More in post #2 below

FAQ and more resources related to these devices
Differences between projector devices
Wemax One / Chinese Xiaomi Mi Laser:
They are (almost ?) the same.
Software-wise :
They are exactly the same (exaclty same codename, firmware, etc...)
Hardware-wise :
Wemax is black, Xiaomi Mi is white
Wemax is described to be 7000 lumens (1688 ansi lumens), Xiaomi mi 5000 lumens (1600 ansi lumens) (not sure if hardware is different or it's only a software parameter that changes its laser power)
Chinese Xiaomi Mi Laser/ International Xiaomi Mi Laser:
Software-wise :
Chinese one comes with android 6.0.1 and MiUI Tv (a Xiaomi UI dedicated to chinese users), International one comes with android 8.1 (more details below)
Hardware-wise :
Chinese one is equipped with DDR3 ram, International version DDR4
Chinese one has Amlogic T968 with onboard Mali T830 gpu, International one has Amlogic T962 with onboard Mali 450 gpu (somewhat less powerful, not sure it has any real world impact)
Also note than more often than not, International version will probably come with a warranty. It might be important, as few people complaining about dead white pixels seem to have a hard time getting their chinese projector repaired.
Pros/Cons of 8.1 international device / firmware (as of 10/10/2018)
This might help people choose between 02 international version and 01/wemax devices. Most of the information below come from this test. This is however subject to change as I believe Xiaomi will probably enhance their drivers in the coming monthes.
Pros
Complete software translations (no more chinese ressources)
Better user interface
Google Play Store availability
Better support of media apps that hardly work on 6.01 (Netflix, Prime Video...)
Better default colorimetry (but less configurable)
Less input lag (75,6 ms vs 126,6 ms) fixed on 1218+ firmwares
Cons
No 3d support
Less options related to display settings (missing RGB levels)
Worse image quality as noise reduction and sharpness seem to be less effective than on the 01 version
Judder and image tearing during media playback
Can devices international firmware be flashed on chinese models
No :
- devices hardware is not exactly the same
- partition layout is different (android 8.x requires a vendor partition)
- we don't have access to any international firmware
Supported video modes
EDID data here for "rainman" (1080p version) : View attachment edid-rainman-report.txt
EDID data here for "batman" (2160p version) : View attachment edid-batman-report.txt
EDID data here for "jerry" (2160p version) : View attachment edid-jerry-report.txt
EDID data extracted with HDMI 2.0 enabled from /sys/devices/hdmirx.28/hdmirx/hdmirx0/edid and analyzed with Advantiv EDID Editor 1.01.0268
Is my 4K device really displaying in 2160p ? Why does YouTube refuse to stream 4k ?
- Yes.
- Blame it on Google. Or AmLogic.
More details here.
Note : more recent devices such as Fengmi Cinema 4k pro (codename Jerry) based on Amlogic T972 soc don't have this limitation (they support VP9 hardware accelerated decoding)(but seem to lack 3D support)
ALR Screens
Interesting post from @servo386 regarding Ambient Light Rejection screens dedicated to UST devices.
Rainbow effect
I see many questions regarding rainbow effect (due to the DLP technology used). What I can say is that I never saw anybody complaining about it on the Mi laser projectors. A previous projector I owned (an Optoma) was also using DLP technology and I could see this rainbow effect from time to time. In the case of rainman/batman, I've never been able to see it.
Input lag
The Mi laser projectors have relatively high input lag (150/175 ms). Firmware updates sometimes help. As of september 2019, the lowest input lag can be obtained on "Monitor" or "Game" mode (approximately 100ms on batman, 75ms on rainman). If your device is rooted and you're using the ProjecTivy Tools, you can also use the "User" mode, and long press the "back" button to get down to the same input lag as "Monitor" mode, with the benefits of keeping your calibration settings.
Dead/black/white pixels
One owner of the chinese version here (french) who had a dead pixel managed to fix it by increasing RGB custom settings above 1500 for some time (don't know how long). When reverting to previous values, the white pixel had disappeared. Didn't work out for another user, but it might be worth a try.
This might change in the future (in this case, please keep me informed), but trying to manually repair by changing the chip is a dead end. It's not the usual Texas Instrument DLP4710FQL, but the DLP4711FQL (source), which is not compatible(source) and can't be bought online.
Display issues with MJJGTYDS01FM (Xiaomi branded 4k model)
Many display issues can affect this device : taking time (minutes) to start displaying something, displaying only half image or white lines/bands... Most issues appear when the device is cold and get fixed when it has heat up.
Seems like a hardware design issue that can be fixed by removing a few screws. More information here. After this, like your projector, you won't be screwed anymore
More details can be found here as well.
HDMI input ports don't work anymore in International devices after upgrade
Install the tools, launch engineering menu and select "HDCP key reset" (thanks @xthing)
Cross platform Remote Control
I also developped a simple web based remote control for MiUI TV (Xiaomi with chinese interface) based android devices (such as projectors, boxes, TVs).
No need to install anything special on your controlled device, this website/webapp communicates with the MiUI TV internal web server to send events to your device.
It should be compatible with anything running a web browser (provided it's quite up to date): Android, iPhone/iPad, PC/Mac computers...
Just head to http://mireco.hopto.org, configure your device local IP address and you're good to go.
More details on GitHub.
Other Tools
MiiInfo from 4PDA user Loly, shows various details concerning your projector.
Firmware updates after rooting and/or installing Google Apps
Firmware updates won't install if files on your system or kernel partition are modified. Using the ProjecTivy Tools and installing the Google apps won't modify existing system files, but rooting with magisk will modify the kernel. So before any update, you have to restore your kernel (aka "boot") partition using TWRP, and then reapply Magisk once update is done.
Google Apps Issues / not yet working
Amazon Prime video : it's been reported that Amazon purposefully blocks the app on projectors. The app loads, but refuses to stream videos. Some previous versions (requiring mouse for some features) work fine though. You can install the most recent compatible one using the ProjecTivy Tools.
Netflix : No recent Tv version seems to work. Some previous versions (requiring mouse for some features) work fine though. You can install the most recent compatible one using the ProjecTivy Tools. Anyway, due to missing full widevine support, full hd / 4k will probably never work.
Chromecast framework (Google Cast Server, aka AndroidMediaShell) isn't supported (devices need to be approved by Google to be supported)
Recovery
To go into recovery, turn off your projector, unplug it, hold down OK and BACK buttons simultaneously (OK and HOME for anglee) on your remote and plug back your projector while still holding them down.
Warning : don't "hot-unplug" it, turn it off before, or it won't work.
If you're looking for TWRP, have a look a few points below
Unroot
Start the Magisk Manager app and select uninstall
OR
Boot Twrp and reflash the Boot (kernel) backup you made just before installing Magisk
Factory Reset
Reflash the full stock firmware available below in this post. This doesn't require any intervention on your part so it should work even if you can't see the display
OR
Boot the stock recovery and select the "reset device" (not sure of the exact terms) option
Root
Note : both methods below work for rainman as well as batman (4k) devices.
Easy Method:
This method doesn't require any special hardware, only the TWRP I made (3.2.2.0, based on stock recovery files), along with another config file.
Thanks to @cr4zyw3ld3r who made a video tutorial based on the following instructions.
For french people, here you can find a tutorial made by Pierre. Thanks to him.
Extract this file View attachment batman_twrp_3.2.2.0b.zip (for "batman" 4k), this file View attachment zodiac_twrp_3.2.2.0.zip (for "zodiac"), or this file View attachment rainman_twrp_3.2.2.0.zip (for "rainman" 1080p and most other devices such as conan) at the root of your (FAT32 formatted) USB drive, where you also place the latest magisk version (magisk 20+ version support has been added on tools v3.5+), and plug it into your projector (I used the right USB port)
I also built (but not tested) a twrp for Vava projectors here : View attachment vava_twrp_3.2.2.0b.zip (please report if it works).
Download ADB for your computer (check here)
Start command line (terminal)
Enable USB debugging in Android settings / developer options (you can access them from the projectivy tools)
Type "adb connect IP_OF_YOUR_DEVICE:5555" to connect through the network
Type "adb reboot update" (This will restart your device and make it boot the TWRP on the USB drive.)
Once in TWRP a mouse will be required. Make backups if you wish (at least "boot" partition that you'll need to restore before applying any OTA update), and then mount SYSTEM, and install magisk in order to root the device (it will be in "/udisk" and will be called Magisk-......zip)
Note : to thank the donors, I also developed an application that installs on your Android smartphone, which automates steps 1 to 6. There is no need for computer or custom command lines in this case. Once the app is connected to your projector, you're only one button click away from TWRP.
Note : if it still boots to stock recovery and not twrp, make sure you extracted the zip and not only copied it to your usb drive. If it's extracted correctly but still doesn't work, try another usb drive, a few people reported that this fixed their issue (some users had to try 3 or 4 usb devices before finding one the works).
Old Method:
With the correct hardware, you can root your device, following this tutorial from @servo386
To simplifiy the rooting process described in the link above :
Extract this file View attachment twrp-files.zip at the root of your USB drive, where you also place the latest magisk version (as of now 19.3), and plug it into your projector
Follow the steps described in the tutorial, up to the point where you have a root console access in recovery
Then, according you've plugged your USB drive before starting your device, just type ". /udisk/twrp.sh" in the root console. This will copy the necessary files and automatically run twrp, reducing the number of steps (and potential mistakes) to root your device.
Once in TWRP, make backups if you wish, and then mount SYSTEM, and install magisk in order to root the device (it will be in "/udisk" and will be called Magisk-.....zip)
Roms / Dumps
Due to issues on the new XDA 2021 website (preventing edition of long posts containing many links), full firmwares and OTA have been (temporarily ?) moved to post #4.
You'll have to scroll down by yourself, I can't even add a link to it

Spocky great work this looks fantastic,
you highlighted that you're not yet rooted and I've tried a few things so far that haven't worked however a few days ago one of the guys on the XDA forums has managed to access command line probably using the jtag points on the board. It's quite likely but this is a good way to get a ADB and then root access, and therefore if uses nandroid type tools he should be able to complete a full dump of the ROM.
I have a Chinese projector with same firmware as your own, but I'm hoping we can load the Android TV launcher interface as in the international version.
Let me know if you need anything specific tested.

Roms / Dumps
Warning: Full roms below can help you recover your device if you're stuck with a non functional projector. However, if your device shipped with a more recent firmware than the one you're trying to flash and has a more recent hardware revision, you might have display issues. So before flashing a full firmware, please try to boot to recovery and use the "wipe all data" option. On MiTv devices, this will basically do the same thing (this will automatically flash the device with the stock shipped firmware, which is present on the /backup partition).
MJJGYY01FM / FMWS01C / FMWS02C (Chinese Xiaomi Mi Projector / Wemax One) [rainman]
Full rom 1.3.63 (6.0.1.935) (thanks to @servo386 and rockpaperscissors)
OTA [user] from 6.0.1.935 to 6.0.1.1074 (1.3.63 to 1.3.74)
OTA [user] from 6.0.1.935 to 6.0.1.1218 (1.3.63 to 1.3.97)
OTA [user] from 6.0.1.935 to 6.0.1.1289 (1.3.63 to 1.3.105)
OTA [user] from 6.0.1.1074 to 6.0.1.1218 (1.3.74 to 1.3.97)
OTA [user] from 6.0.1.1218 to 6.0.1.1289 (1.3.97 to 1.3.105)
OTA [user] from 6.0.1.1289 to 6.0.1.1425 (1.3.105 to 1.3.105)
OTA [user] from 6.0.1.1289 to 6.0.1.1453 (1.3.105 to 1.3.105) (Latest Stable)
MJJGTYDS01FM / L1668FCF / L176FCN / L246 (4k Chinese Xiaomi/Mijia Mi Projector / Wemax A300 / Fengmi Cinema 4k) [batman]
Full rom 1.3.97 (6.0.1.312) ONLY FOR MIJIA
Full rom 1.3.105 (6.0.1.494) Owners of recent fengmi devices, use the rom below
Full rom 1.3.105 (6.0.1.669) Should be working on most recent Fengmi Cinema 4k, with hardware version l176_1. If yours is fm_10, it probably won't work (I still need a /dev/block/backup image of fm_10 hardware version)
Full rom 1.3.105 (6.0.1.724) Extracted from a recent Mijia 1S. Should probably work on most batman devices (people with fengmi 4k fm_10 stuck on a black screen, give it a try)
OTA [user] from 6.0.1.312 to 6.0.1.494 (1.3.97 to 1.3.105)
OTA [user] from 6.0.1.494 to 6.0.1.624 (1.3.105 to 1.3.105) (ONLY FOR MIJIA)
OTA [user] from 6.0.1.494 to 6.0.1.793 (1.3.105 to 1.3.105) (Latest Stable)
MJJGYY02FM (International Xiaomi Mi Projector) [anglee]
Full rom 8.1.0.1317 (OPM8.190205.001.1317)
Full rom 9.0.0.1911 (PQ3B.190705.003.1911)
L176FCNPro / L166FCN / L406FCN (Fengmi 4K cinema pro, 4k Max, C2) [jerry]
Full rom 1.2.1.1689 (only for Cinema Pro, more recent device should use the next one)
Full rom 1.4.6.2378 (use this one for Fengmi C2 and Max 4k. Cinema Pro should work fine too)
MJJGTYDS02FM (Mijia Projector Youth edition) [conan]
Full rom 1.3.97 (6.0.1.304)
Full rom 1.3.123 (6.0.1.519) (Prefer this version as it's probably compatible with most recent devices too)
TYY01ZM (Xiaomi Mijia Mi) [zodiac]
Full rom 1.3.67 (6.0.1.391)
M055FCN (Fengmi M055FCN) [doraemon]
Full rom 1.3.123 (6.0.1.309)
L206FCN-X2 (Fengmi Formovie T1) [nemo]
OTA [user] from 2.0.0.2289 to 3.0.0.3049 (Not final, but stable)
How to flash :
[OTA only] be sure your current firmware version is the same as the "from" version specified above.
Download and extract the zip file to the root of a USB thumb device and follow the procedure to boot into recovery mode. The full firmware or OTA update will be automatically installed (approximately 5 minutes will be necessary). You shouldn't lose any data (well, unless there's a power cut during the update process ). Even after flashing the full firmware, I still had my apps installed. I suppose you need to factory reset if you want a clean install.
Those willing to reinstall from scratch will need to use the "wipe all data" from the recovery menu. If you can't acces it somehow, you can try flashing a full rom (935 for rainman, 312 for batman *mijia* or 494 for batman *fengmi/wemax*), and then flash to the latest available OTA (you might need to chain flash if no direct OTA is available from you stock full rom to the rom you're targeting).
Please note that for a few users, the OTA won't install (it will stop during the update process with a chinese message). It's due to the fact that during installation, a check on the system files and kernel is made and at least one could not pass. This will be the case if you have rooted your device (only kernel is modified then). In that case, if you want to apply the update, you'll need to revert to an unmodified kernel/system. If you didn't modify system partition, restoring kernel partition (boot.img) should be enough (or uninstall Magisk from magisk manager app). If not, try restoring system.img also. If nothing works, reinstall from scratch (see just above)

wemax 7000
Great job !
I will try it tomorrow on my wemax 7000.
Let me know how I can help.
Should I also make a dump of my Chinese rom ?
How did you dump yours ?
I also badly hope to get the android tv rom working with the play store.
Thanks a lot !

Getting a wemax dump would be great indeed !
I did it with adb, connected wirelessly to my computer.
To do the same :
- download adb for your system
- connect wirelessly by using "adb connect IP.OF.YOUR.WEMAX"
- create a folder for the dump on your computer : "mkdir dump"
- go in it : "cd dump"
- pull system files : "adb pull /system"
Then every file that doesn't require root access will be downloaded to your computer. Just make a zip of it and upload it somewhere.
If it feels too complex for you, wait for a few days, I'll probably upload a tool to make an archive and automatically upload it somewhere. I just need to fix a few things before.

Hello, I'm the one who got root via the HDMI->UART diagnostic bridge. All credit goes to @loly though on 4PDA, who is the person who actually figured out this process on his Xiaomi Mi TV 4A, which has a similar chip to this projector so I took a guess that it would work too.
The posts I made on AVSforum are pretty long and lots of pictures and formatting so for now im just gonna link it but hopefully I can easily copy over the posts and make them here too.
https://www.avforums.com/threads/xi...aser-projector.2142037/page-101#post-26580089

Hi,
I installed the app and got a Chinese popup telling me that what I was doing was forbidden to users.
The menu is in Chinese too and I tried translating it with google translate but It's very tedious and I'm not very confident going through the menus.
Thanks a lot for the procedure for the backup.
I will cleanup all the installed apps and maybe reset it completely so that i can share the backup online.
If you're going to prepare a tool to do so, I will wait so I can test it as well.
Let me know if I can help you by sending you more infos.
Cheers
Jerome

Xiaomi Mi Laser Root Procedure
This is a long one. Also it was originally written for an audience who may have not been as familiar with Android/Linux commands so it has lots of explanation that might feel out of place on XDA.
So first and foremost ALL CREDIT BELONGS TO @loly ON THE 4PDA.RU FORUM WHO ACTUALLY DISCOVERED THIS PROCESS
https://4pda.ru/forum/index.php?showtopic=810785&st=3260#entry75802829
I definitely am just a copy cat who guessed that his process would also work on this device since their both Xiaomi TV devices with Amlogic T96* boards.
So if you read his post (which you definitely should in addition to this post in order to get the full picture of how this is done), you'll see that this is quite complicated and a kind of high level hack. I hope I'll be able to explain it enough and walk through it enough for it be fairly accessible for less technically inclined people who want to root their Xiaomi projectors.
What is required:
1. HDMI cable you can chop up or an HDMI breakout cable like this one: https://www.amazon.com/Adapter-signals-Terminal-Breakout-Connector/dp/B01CU9SHOO/
2. UART to USB adapter cable/board like this one: https://www.amazon.com/Adapter-Serial-Converter-Development-Projects/dp/B075N82CDL though there are cheaper options available
3. Cables/wires to connect both things. The USB UART package above comes with some, though you'll have to strip the ends to screw them into the terminals of the HDMI breakout board.
4. A spare USB drive
5. A computer to use the USB to UART adapter and a terminal program, i am using Putty.
So the basic idea behind this is that one of the HDMI ports (HDMI 1 in this case, the one closest to the edge) also serves as a diagnostic/UART port via 3 of the 19 pins of the HDMI. When this HDMI port is properly wired to the UART adapter, and you have a terminal open observing said port, upon boot the machine reads out all its startup stuff and when booting into recovery, gives you a completely liberated UNIX terminal that accepts input from the UART terminal, with full root privileges and busybox! As @loly says in his post, here we thank the people at Xiaomi for not bothering to secure this section and giving us full diagnostic root access with busybox. This is almost surely the way the developers of this machine would interact with this machine and developed for it. So let me try to explain how this works and how we get to TWRP and root.
Steps:
1. We need to properly connect the correct pins on the HDMI cable to the correct pins on the UART.
Here I am going to re-post some of @loly's images from the original thread, so all credit goes to him.
Here we see the pins we need. Pin 14 is our VCC, which in this 5v (the UART adapter im using has a switch for 3.3v or 5v, this switch needs to be set to 5v!) Pin 15 is the receive pin and Pin 16 is the transmit pin
The fourth lead we need is the GND (ground), which in the case of an HDMI cable is usually an un-shielded wire that connects to the the case of the connector itself.
I'm going to stop here for a sec and say this is why it's alot easier to use the HDMI breakout board over trying strip an HDMI cable and finding which wire corresponds to which pin (you need a multi-meter to do that)
its a small investment but it makes everything ALOT easier. On the HDMI breakout board, the ground terminal is pin 20.
the corresponding pins on the UART are pretty straightforward. VCC goes to VCC on the UART, pretty straightforward, on the other hand the RX pin of the HDMI (pin 15) goes on the TX OF THE UART makes sense right? the receiever of the HDMI should be listening to the transmitter of the UART and vice versa, so the TX pin of the HDMI goes on the RX pin of the UART. The GND pin (pin 20 on breakout board) goes to the GND on the UART.
Here's my setup. Sorry for the not very great picture. The terminal blocks on the HDMI breakout board work basically like you were connecting speakers to an amp, you unscrew the terminal till you see a little metal hole and you stick the stripped tip of the cable into the hole and screw the terminal back up till its snuggly holding onto the cable. You can use a multi-meter if you have one to make sure the wire is making contact with the terminal and even test the exact pin with the cable to make sure the connection goes all the way. If you're cable is making contact with the metal of the terminal, it is almost certainly correctly making contact with the actual HDMI pin, barring maybe a badly manufactured breakout board. I used spare MALE end pin connector cables to strip the ends and stick in the terminals, and connected them to the FEMALE connectors that came with the UART adapter. You don't necessarily have to do it this way, you can directly strip one of the female ends of the cable and connect the other female end to the pins on the UART, but you'll have a pretty short cable from HDMI to USB and you'll probably need a USB extension to comfortably use it with a computer.
So now you have you're HDMI diagnostic cable!
2. Setup your computer for UART and Putty.
Connect your UART to USB adapter to your computer. In Windows 10, it should automatically install drivers, but if it doesn't, your device should come with a link or something to download the drivers. I'm not going to get into the specific of how to install drivers on Windows computers but needless to say, you need to get the computer to recognize the device and properly utilize it via the drivers. Once you have it properly installed on the machine, it should show up in your device manager under Ports (COM & LPT) or something similar.
this is important because we need to 1. determine what COM port you're device is on and 2. change the baud setting.
So in the photo you see that it tells you what COM port is, which we need for later.
Now you need to go into the settings of the device and go into Port Settings tab
WE NEED TO SET THE BITS PER SECOND TO 115200!
Very important!
Setting up putty:
Basically open up putty and put the button on Serial, set the speed to 115200 and in the SERIAL LINE put the correct COM port number (COM1, COM2, COM3, ect)
Pressing enter on this should open a big blank black terminal with no activity. Thats good because its working. If it wasn't, you'd get an error about not reaching COM port or something.
3. Testing out our diagnostic cable with UART and Putty
Unplug your projector. Plug your HDMI into HDMI port 1 and connect your USB to computer. Open up a Putty terminal session as outlined above. If you get a big black screen with no errors upon launching the terminal, youre in a good spot.
Plug in the Projector. If you've done everything right you should get a big long readout of text scrolling by as it boots. If you get this, congratulations, you've accessed the diagnostic correctly!
The final step for actually accessing the usable terminal is doing the same but while booting into recovery.
4. Booting into recovery
Turn off your projector. Unplug it. Take your remote and hold down THE OK BUTTON and the BACK BUTTON at the same time. While still holding this, plug in the projector. It should start booting up. You're terminal Putty should be going crazy with text readout like last time. After a few seconds, let go of the buttons. Your projector should eventually end up on the Recovery menu, which is just some big buttons in english and chinese with a black background.
image courtesy of jaberwocky on AVS
After the readout in the terminal has stopped, press enter. It should skip to a new line with
Code:
~#
Tada, root! You're officially in a fully privileged root terminal in the underlying unix system of the projector.
This is the hard part of all this. If you've successfully reached this part, you've won the battle. Everything from here on out is just a couple of commands and some files being downloaded and transferred.
Launching TWRP, making a Nand dump, flashing Magisk, getting Root
So if you indeed have reached the point where, from recovery, you can enter commands into the terminal session, now the question what to with it. The answer is basically anything you want, but let's launch TWRP and go from there.
So here is where you need to download this zip file, also courtesy of @loly from the original russian thread. He went to the trouble of (I'm assuming) compiling his own TWRP for Xiaomi Mi TV 4A which, which as I've mentioned before it's chip (Amlogic T962) is the in the same family as the chip in our projector (Amlogic T968) so it works. That said I would say right now this is not a full TWRP specially made for our projectors, so we aren't going to flash it. We are going to launch it from the terminal (as per @loly's instructions) and use it, but not flash it to our recovery partition. This is for the best right now because a. it's not for our device and b. stock recovery allows us to install OTA updates if they come in the future
View attachment TWRP.zip
my attached version has only the twrp folders, no recovery image, no magisk included.
https://yadi.sk/d/uTUrwdAl3ZyUcN <---- original zip
Download that zip file and unzip its contents right into your USB drive, so that the folder `twrp` (lowercase) is in the root of your drive . This will make it easier to type the commands exactly as they appear later. Ignore the recovery.img, we're not flashing this onto this device.
The magisk included in the TWRP.zip is old by this point. I flashed Magisk 17.1 flashable zip, the latest stable as of this writing. Get it here https://github.com/topjohnwu/Magisk/releases/download/v17.1/Magisk-v17.1.zip and put it on the flash drive.
A quick primer, this terminal instance has Busybox installed. Busybox is a "swiss army knife" of unix command like binaries because it packages all the standard linux commands into one single binary, so instead of calling
Code:
ls
to see the contents of the directory you instead would type
Code:
busybox ls
and it would work.
One last thing before I continue: while doing terminal stuff, I quickly learned that occasionally the terminal would throw up all kinds of gibberish which, as far as I can tell, had no rhyme or reason to it and more important had no discernible effect on what i was doing. Its a weird bug that maybe only ill experience because of my setup, I don't know. It would take two forms, one where it would throw up a bunch of lines of technical sounding text which included references to errors and such, but would ever actually affect anything. the other is when it would randomly spit out something like "hotplug_9" and again, id just press enter to get to the new line and nothing would have been affected. Don't be alarmed.
1. Insert USB drive into projector
Take your USB and plug it in. On your terminal, you should a small flurry of activity and references to a new device located at
Code:
/dev/block/sda1
or
Code:
/dev/block/sda2
take note of this, because this is the physical address of your USB drive thats going to have to be mounted. sda1 is the typical one, in my experience.
2. Mount USB and copy over files
This is just a series of commands, type them in precisely as I have them here, assuming you've maintained the same file structure on your USB stick as I did, unzipped the TWRP.zip straight onto the root of the USB.
Code:
busybox mount /dev/block/sda1 /sdcard
This mounts your USB device to the folder `/sdcard' if you're usb is at a different device location, change it appropriately.
Code:
busybox ls /sdcard
Just do a quick readout of the contents of `/sdcard` to make sure it properly mounted. you should see the contents of your USB drive listed here
Code:
busybox cp -r /sdcard/twrp/twres /
Copy the folder `twres` from the USB to the root of your projector
Code:
busybox cp -r /sdcard/twrp/license /
Copy the folder `license` to the root of your projector
Code:
busybox cp -rf /sdcard/twrp/etc/* /etc
Copy the contents of the folder `etc` to the etc directory on your projector
Code:
busybox cp -rf /sdcard/twrp/sbin/* /sbin
Copy the contents of the folder `sbin` to the sbin directory on your projector
Code:
busybox chmod -R 0750 /sbin
Change the permissions of the sbin folder to its all executable
So thats all the copying, now the moment of truth
3. Launch TWRP
YOU NEED A MOUSE PLUGGED INTO THE PROJECTOR TO NAVIGATE TWRP!
Code:
/sbin/run.sh
after hitting enter on this command, TWRP should boot up on your screen (and a bit of readout in your terminal
IF TWRP DOESN'T LAUNCH, YOU'VE DONE SOMETHING WRONG. GO BACK AND CHECK EVERYTHING.
I hope if you're doing this you're somewhat familiar with TWRP, but I will try to walk through the 2 most important things to do
4. Rom backup
One of the big buttons is BACKUP, go there and you'll see a series of check boxes for each of your partitions (boot, bootloader, recovery, system, ect). Select the ones you want (I selected all but I know for a fact this is unnecessary but I did't want to overlook anything and I didn't want to guess which I could ignore). It should ask you where to save the backup, select either the USB drive or internal memory and pick a folder. Slide over the thing to begin backup. It'll take a bit but eventually it should finish. Tada, you have a backup of your entire device.
5. Flash Magisk (ie get root)
This is the big kahuna, the one that unlocks everything OS-wide. Before trying to flash Magisk, we need to mount the system partition. This was big headache for me cause I didn't know why all the commands in the install scripts for failing and it was because /system/bin contains all the commands/binaries that Magisk installer script uses to do its stuff, so thats why we need to mount it first before trying anything. Go to the big MOUNT button and you should see checks next to USB and INTERNAL MEMORY or something to that effect, i can't remember off the top of my head. Almost certainly SYSTEM does not have a check next to it, meaning its not mounted. Click the check mark next to SYSTEM and that should be it, it is now mounted.
There is a quick way to check this, which is to go to ADVANCED>TERMINAL and in the terminal type
Code:
mount
if you get any sort of read out of device partitions, you're good, that means the mount command is working meaning the /system/bin is being made available to TWRP to execute commands.
With that done, go over to the INSTALL button on the home screen and navigate over to your USB stick and find the Magisk 17.1.zip. Select it. Check the check mark to reboot after install. Slide over the slider to begin the install. Moment of truth, you'll likely get to errors in big red text something like MOUNT -O BIND /SDCARD FAILED or something, thats fine, ignore it. It should go onto to say
Code:
|----Magisk Installer Script 17.1----|
or something like that, that means its doing its thing. Everything should go well and it should ask to reboot.
6. Verify root
Once you boot into the Xiaomi home screen after flashing Magisk, you should get some kind of thing asking to confirm that you want to install the application. That application is the Magisk Manager, which means you did it, Magisk installed successfully!
Go ahead and install some app that you know asks for superuser and it should prompt you for superuser access, grant it. You did it, you're root!
View attachment 4617430

jhordies said:
Hi,
I installed the app and got a Chinese popup telling me that what I was doing was forbidden to users.
The menu is in Chinese too and I tried translating it with google translate but It's very tedious and I'm not very confident going through the menus.
Thanks a lot for the procedure for the backup.
I will cleanup all the installed apps and maybe reset it completely so that i can share the backup online.
If you're going to prepare a tool to do so, I will wait so I can test it as well.
Let me know if I can help you by sending you more infos.
Cheers
Jerome
Click to expand...
Click to collapse
There's really not much this app can break (and not much to change neither). Most interesting thing would be the information page, along with the temperature page.
Concerning the dump, no need to cleanup anything as user data is stored :
- in /sdcard (internal memory) mount
- in app folder which can't be accessed without root
Dumping /system won't access any of them, this will basically only copy files that where part of the last firmware installed on your device.
As for my app, not sure I'll have time to finish it before next week.
servo386 said:
This is a long one. Also it was originally written for an audience who may have not been as familiar with Android/Linux commands so it has lots of explanation that might feel out of place on XDA.
So first and foremost ALL CREDIT BELONGS TO @loly ON THE 4PDA.RU FORUM WHO ACTUALLY DISCOVERED THIS PROCESS
https://4pda.ru/forum/index.php?showtopic=810785&st=3260#entry75802829
I definitely am just a copy cat who guessed that his process would also work on this device since their both Xiaomi TV devices with Amlogic T96* boards.
So if you read his post (which you definitely should in addition to this post in order to get the full picture of how this is done), you'll see that this is quite complicated and a kind of high level hack. I hope I'll be able to explain it enough and walk through it enough for it be fairly accessible for less technically inclined people who want to root their Xiaomi projectors.
What is required:
1. HDMI cable you can chop up or an HDMI breakout cable like this one: https://www.amazon.com/Adapter-signals-Terminal-Breakout-Connector/dp/B01CU9SHOO/
2. UART to USB adapter cable/board like this one: https://www.amazon.com/Adapter-Serial-Converter-Development-Projects/dp/B075N82CDL though there are cheaper options available
3. Cables/wires to connect both things. The USB UART package above comes with some, though you'll have to strip the ends to screw them into the terminals of the HDMI breakout board.
4. A spare USB drive
5. A computer to use the USB to UART adapter and a terminal program, i am using Putty.
So the basic idea behind this is that one of the HDMI ports (HDMI 1 in this case, the one closest to the edge) also serves as a diagnostic/UART port via 3 of the 19 pins of the HDMI. When this HDMI port is properly wired to the UART adapter, and you have a terminal open observing said port, upon boot the machine reads out all its startup stuff and when booting into recovery, gives you a completely liberated UNIX terminal that accepts input from the UART terminal, with full root privileges and busybox! As @loly says in his post, here we thank the people at Xiaomi for not bothering to secure this section and giving us full diagnostic root access with busybox. This is almost surely the way the developers of this machine would interact with this machine and developed for it. So let me try to explain how this works and how we get to TWRP and root.
Steps:
1. We need to properly connect the correct pins on the HDMI cable to the correct pins on the UART.
Here I am going to re-post some of @loly's images from the original thread, so all credit goes to him.
View attachment 4617376
Here we see the pins we need. Pin 14 is our VCC, which in this 5v (the UART adapter im using has a switch for 3.3v or 5v, this switch needs to be set to 5v!) Pin 15 is the receive pin and Pin 16 is the transmit pin
The fourth lead we need is the GND (ground), which in the case of an HDMI cable is usually an un-shielded wire that connects to the the case of the connector itself.
I'm going to stop here for a sec and say this is why it's alot easier to use the HDMI breakout board over trying strip an HDMI cable and finding which wire corresponds to which pin (you need a multi-meter to do that)
its a small investment but it makes everything ALOT easier. On the HDMI breakout board, the ground terminal is pin 20.
the corresponding pins on the UART are pretty straightforward. VCC goes to VCC on the UART, pretty straightforward, on the other hand the RX pin of the HDMI (pin 15) goes on the TX OF THE UART makes sense right? the receiever of the HDMI should be listening to the transmitter of the UART and vice versa, so the TX pin of the HDMI goes on the RX pin of the UART. The GND pin (pin 20 on breakout board) goes to the GND on the UART.
View attachment 4617377
Here's my setup. Sorry for the not very great picture. The terminal blocks on the HDMI breakout board work basically like you were connecting speakers to an amp, you unscrew the terminal till you see a little metal hole and you stick the stripped tip of the cable into the hole and screw the terminal back up till its snuggly holding onto the cable. You can use a multi-meter if you have one to make sure the wire is making contact with the terminal and even test the exact pin with the cable to make sure the connection goes all the way. If you're cable is making contact with the metal of the terminal, it is almost certainly correctly making contact with the actual HDMI pin, barring maybe a badly manufactured breakout board. I used spare MALE end pin connector cables to strip the ends and stick in the terminals, and connected them to the FEMALE connectors that came with the UART adapter. You don't necessarily have to do it this way, you can directly strip one of the female ends of the cable and connect the other female end to the pins on the UART, but you'll have a pretty short cable from HDMI to USB and you'll probably need a USB extension to comfortably use it with a computer.
So now you have you're HDMI diagnostic cable!
2. Setup your computer for UART and Putty.
Connect your UART to USB adapter to your computer. In Windows 10, it should automatically install drivers, but if it doesn't, your device should come with a link or something to download the drivers. I'm not going to get into the specific of how to install drivers on Windows computers but needless to say, you need to get the computer to recognize the device and properly utilize it via the drivers. Once you have it properly installed on the machine, it should show up in your device manager under Ports (COM & LPT) or something similar.
View attachment 4617379
this is important because we need to 1. determine what COM port you're device is on and 2. change the baud setting.
So in the photo you see that it tells you what COM port is, which we need for later.
Now you need to go into the settings of the device and go into Port Settings tab
View attachment 4617381
WE NEED TO SET THE BITS PER SECOND TO 115200!
Very important!
Setting up putty:
View attachment 4617383
Basically open up putty and put the button on Serial, set the speed to 115200 and in the SERIAL LINE put the correct COM port number (COM1, COM2, COM3, ect)
Pressing enter on this should open a big blank black terminal with no activity. Thats good because its working. If it wasn't, you'd get an error about not reaching COM port or something.
3. Testing out our diagnostic cable with UART and Putty
Unplug your projector. Plug your HDMI into HDMI port 1 and connect your USB to computer. Open up a Putty terminal session as outlined above. If you get a big black screen with no errors upon launching the terminal, youre in a good spot.
Plug in the Projector. If you've done everything right you should get a big long readout of text scrolling by as it boots. If you get this, congratulations, you've accessed the diagnostic correctly!
View attachment 4617385
The final step for actually accessing the usable terminal is doing the same but while booting into recovery.
4. Booting into recovery
Turn off your projector. Unplug it. Take your remote and hold down THE OK BUTTON and the BACK BUTTON at the same time. While still holding this, plug in the projector. It should start booting up. You're terminal Putty should be going crazy with text readout like last time. After a few seconds, let go of the buttons. Your projector should eventually end up on the Recovery menu, which is just some big buttons in english and chinese with a black background.
View attachment 4617401
image courtesy of jaberwocky on AVS
After the readout in the terminal has stopped, press enter. It should skip to a new line with
Code:
~#
Tada, root! You're officially in a fully privileged root terminal in the underlying unix system of the projector.
This is the hard part of all this. If you've successfully reached this part, you've won the battle. Everything from here on out is just a couple of commands and some files being downloaded and transferred.
Launching TWRP, making a Nand dump, flashing Magisk, getting Root
So if you indeed have reached the point where, from recovery, you can enter commands into the terminal session, now the question what to with it. The answer is basically anything you want, but let's launch TWRP and go from there.
So here is where you need to download this zip file, also courtesy of @loly from the original russian thread. He went to the trouble of (I'm assuming) compiling his own TWRP for Xiaomi Mi TV 4A which, which as I've mentioned before it's chip (Amlogic T962) is the in the same family as the chip in our projector (Amlogic T968) so it works. That said I would say right now this is not a full TWRP specially made for our projectors, so we aren't going to flash it. We are going to launch it from the terminal (as per @loly's instructions) and use it, but not flash it to our recovery partition. This is for the best right now because a. it's not for our device and b. stock recovery allows us to install OTA updates if they come in the future
View attachment 4617409
my attached version has only the twrp folders, no recovery image, no magisk included.
https://yadi.sk/d/uTUrwdAl3ZyUcN TERMINAL and in the terminal type
Code:
mount
if you get any sort of read out of device partitions, you're good, that means the mount command is working meaning the /system/bin is being made available to TWRP to execute commands.
With that done, go over to the INSTALL button on the home screen and navigate over to your USB stick and find the Magisk 17.1.zip. Select it. Check the check mark to reboot after install. Slide over the slider to begin the install. Moment of truth, you'll likely get to errors in big red text something like MOUNT -O BIND /SDCARD FAILED or something, thats fine, ignore it. It should go onto to say
Code:
|----Magisk Installer Script 17.1----|
or something like that, that means its doing its thing. Everything should go well and it should ask to reboot.
6. Verify root
Once you boot into the Xiaomi home screen after flashing Magisk, you should get some kind of thing asking to confirm that you want to install the application. That application is the Magisk Manager, which means you did it, Magisk installed successfully!
Go ahead and install some app that you know asks for superuser and it should prompt you for superuser access, grant it. You did it, you're root!
View attachment 4617430
Click to expand...
Click to collapse
Thank you for your time adding this post here and for the tests you've made to root this device. That's really cool !
If you have time, don't hesitate to post a full dump of your rom, we might learn a bit more than with mine.
Also I have not read your post from my computer so it might just be a bug, but Tapatalk reports your twrp.zip file as being 5 bytes only.
Edit: nevermind, your twrp is fine

I've ripped the "backup" archive that is a flashable update image of the stock image, used by the machine when you do "system restore" in recovery.
Basically here is the stock rom for the model 01 "rainmain" at last.
https://mega.nz/#!jY40SCQR!2gPjpPxzoDg3c1--pxGBR7qfKHxSyzWqU3eZGUz7kb0

#1 and #2 posts edited, adding many details, roms links...

Hi,
Thanks again guys for the effort you put on this.
I bought the hdmi breakout and a usb ttl and followed the instructions (very clear, thanks again for this) and backed up everything as you did but didn't root the device yet.
Are my .win backup files usefull to anyone (Wemax 7000) or do you need me to root the device to make the dump as spocky12 suggested?
I don't know how interesting my Chinese rom would be to others though...
Anyway it's good to know that we could flash the device with the android 8.1 rom when it will be available.
If you know anyone having the english rom, I would be willing to send him my cable to make a backup of his.
Cheers

jhordies said:
Hi,
Thanks again guys for the effort you put on this.
I bought the hdmi breakout and a usb ttl and followed the instructions (very clear, thanks again for this) and backed up everything as you did but didn't root the device yet.
Are my .win backup files usefull to anyone (Wemax 7000) or do you need me to root the device to make the dump as spocky12 suggested?
I don't know how interesting my Chinese rom would be to others though...
Anyway it's good to know that we could flash the device with the android 8.1 rom when it will be available.
If you know anyone having the english rom, I would be willing to send him my cable to make a backup of his.
Cheers
Click to expand...
Click to collapse
Thank you for your message. Glad you managed to follow @servo386's intructions. If you don't mind, I'd be interested in your .win files, to validate a few assumptions I have.
Concerning the international model, unfortunately, as of now, no owner seems to be willing to take the plunge. Hopefully it'll change soon enough.

For hackers out there, I found a tool that might prove helpful to build customs roms or repack roms using international model paritions (once somebody will dump it).
It's AMLogic Tools 5.5.0 that can be found here. I haven't had time to read the full thread yet. There might be valuable information there.
You can use it with the stock rom (935) from @servo386 that I specifically extracted and repacked with latest (1074) recovery (stock "backup" rom does not ship with recovery, which is needed by AmLogic Tools).
You can use the "customization tool" to easily extract/repack a rom that can be flashed in recovery or with special Amlogic USB flash tool.
There is also a tool that can "convert" a classic recovery to TWRP recovery (but supposedly only works with S905/S912. Might be interesting to check what is needed to make it work on our chip)
Unfortunately, I'm not an expert at building custom roms in Android (the latest custom rom I built was for Windows Mobile 6.1) (Great. I'm feeling old now ). I'm not quite sure what is allowed to be flashed with our bootloader. I haven't tried to flash anything yet, as if I brick the projector, my wife will probably kill me . But I suppose that if the custom built firmware doesn't embed bootloader/recovery, most errors will be recoverable by flashing the stock rom again.
If you want to test, don't forget to call the built rom "update-rainman.zip" and to put it in the root folder of an USB device along with this file.

Hey, it's me again
Some of you might be interested in an update to a more recent (but beta) version for wemax/chinese Mi projector.
I added a link to OTA from 1074 (1.3.74, built on May 4th) to 1189 (1.3.95d, built on Oct 12th) in the second post (yes, it's still Android 6.0.1)
To install it, just extract the zip file to the root of a USB thumb device and follow the procedure to boot into recovery mode. The update will be automatically installed (approximately 5 minutes will be necessary). You won't lose any data (well, unless there's a power cut during the update process ).
I haven't tested much, but here are the changes I've seen :
- most menus (settings) are in english now
- new settings options (the only one still in chinese) : automatic power off after 10 minutes of inactivity (doesn't seem to work, though)
- new volume UI
- Karaoke app added
- new animations during recovery installation
- wmv3 video format support added
As a side note, I've found a reference to an upcoming Xiaomi Laser projector in code, that wasn't there before : MiProjLAS2, codename batman.

spocky12 said:
...
I added a link to OTA from 1074 (1.3.74, built on May 4th) to 1189 (1.3.95d, built on Oct 12th) in the second post (yes, it's still Android 6.0.1)
...
Click to expand...
Click to collapse
Thank you so much for your work.
The file to update to the current beta is only 55Byte in size. Nothing happens when plugging in the USB stick.
===============================
I had two xiaomi laser projectors so far.
Projector 1 had dead pixels after 3 weeks of use. Here are the key figures from the engineering menu.
Here projector number 331 from 2018 calendar week 3:
It had a great contrast: 5382:1
The one complained to gearbest and got an exchange(Projector 2).
Here projector number 1196 from 2018 calendar week 13:
Contrast: 2441:1
Projector 2 unfortunately has too little contrast and is very blurred at the edges. Currently exchange projector 3 is on its way.
.bismarck

Thanks for your message. Comparing data from different projectors is really interesting.
Concerning the link, my bad, I've updated it to the right file, you can download it again if you wish.

Thanks spocky12, just loading the beta
When Projektor3 has arrived, I put the values from the menu here.
Edit: I copied the unzipped archive into the root of the USB stick. But nothing happens when inserting the stick.
.bismarck

You have to follow the procedure to boot into recovery. Either use :
- "ADB reboot recovery" if you have ADB
or
- unplug your projector, keep your remote "ok" and "back" pressed and plug your projector back in. It will boot into recovery and automatically start the update process.
(Your usb thumb drive should be formatted in fat32 and both files placed in its root folder).

Related

[INFO] "New User Guide Terms Android"

we decided to extend this guide in more threads, to give new users the chance to read more easily
Hi! I saw that many (myself initially) fail to understand the discussions of various topics of modding on this and other forums because of certain terms that are now characteristic of speech in any argument.
-Android operating system for mobile devices based on Linux kernel. Android is an open source project developed by the Open Handset Alliance (OHA). Google was the first company to work on Android and HTC has designed and implemented the first Android phone.
-ADB (Android Debugging Bridge): application via command line (command prompt, DOS), is used to flash rom, make changes to the system, backup, install applications (using the command: adb push nomeapp.apk / system / app /), copy files from your device to PC (via the command: adb pull / path / inside / of / Android / filename nome_file_destinazione) and more. ADB is a tool included in the SDK of Android that allows you to manage your phone simply by connecting it via USB. For programmers, ADB is also used to execute commands on a virtual machine Android. detailed instructions.
- Apk (short for Android Package): is the file format used to install the Android software (it works similar, more or less, that is for Windows. Exe). Renaming the extension of this file. Zip you can open it with any operator of compressed files.
-App or Apps: abbreviation of the term application or applications
-App2sd (A2sd): procedure inherent in many Roma coocked, to move applications installed, or install later, the memory card instead of phone memory. to use it you must have an ext2 or ext3 or ext4 on the memory card. part of the application (the Dalvik cache) is still stored in the smartphone does not reduce the speed of execution. app2sd this is not to be confused with the various applications on the market, as those of the market allow the movement or storage of only applications that allow it.
-Bootloader (FASTBOOT): phone mode (while connected to USB mode with usb debug enabled) through which you can do many things, including obtaining root permissions, flash ROM, make backups, pushare files, remove files etc. ... the bootloader mode varies from terminal to terminal, refer to those sections for how to go into bootloader on your device.
-Brick (brickare, brickato): literally (translated in Italian) "BRICK". making the cell like a brick, a something of unusable if not as paperweights.
-Digital compass: The digital compass is able to detect the direction in which the device is pointing. This information can be used together with an appropriate mapping software to assist in navigation to unknown places.
-BusyBox: BusyBox is important because it lets you install it on your Android poteziare with many basic Linux commands. In fact, some powerful programs, such as Titanium backup and others, use busybox to carry out the instructions. In virtually a few kb there are so many beautiful little programs. guide: using titanium or backup.
-Cache: a temporary memory in which data are stored as may be eliminated without compromising the functionality of the system.
-Digital certificate: encrypted code issued to two or more parties by an authorized organization, and used to verify the identity of those parties by exchanging their public keys.
-Cupcake: Android 1.5 or relaise first official operating system pounces April 13, 2009
-Encryption: Procedure for the encoding of a systematic bit stream before transmission, aimed at avoiding that the contents can be decrypted by third parties.
Dalvik-Cache: cache used by the system to increase the execution speed of programs.
USB-Debug: mode of Android that is (turning the feature on your device via menu / settings / apps / Development / Debug USB) to allow the system to undergo special modifications.
Direct-Push Technology: Direct Push technology (push e-mail capabilities), developed by Microsoft, lets you receive new e-mail messages on their device, they are not received by your mailbox Inbox or Exchange Server. Items such as contacts, calendar and tasks are immediately updated on the device if they are changed or added on the Exchange Server.
-Emulator: it is found in the SDK and is a software that allows you to emulate (simulate) an android device. usually serves to developers (developers) to test applications.
-Digital Signature: A digital signature assures the recipient about the identity of the person who sent the file, and the absence of alterations made ​​after signing this.
-Firmware: Software comlpleto the phone, android rom often contains (the only operating system) the radio (software designed to handle all communications) and hboot (the part on the base, and boot management and partition of the phone) . The format depends on the parent company that issues them and shall be flashed through the tool or program.
-Flash (flash, flashed): install, installed.
-G. E. often written or GE (Google Experience): There are those phones that have the OS (see ROM for a definition) fully developed by Google without any addition or customization by the manufacturer that sells the device (for example the number of mobile Nexus is entirely GE). This designation often means that these phones are the first to receive updates of new versions of Android, because there being no additional software, as well as those developed by Google, the release is much quicker.
Another (more common) is that With Google.
Are those phones that despite having some customization software by the manufacturer, are fully compatible with the Google software and services with Android.
-GPRS: GPRS (General Packet Radio Systems - Radio systems for generic packages) is a data service for mobile devices. It is available for the devices that meet the GSM standard.
-GPS: GPS (Global Positioning System - Global Positioning System) is a radio navigation system based on satellites that allows the DENTIFICATION of a geographical position through a triangulation of points. The GPS is used on mobile devices for applications software for navigation.
-GSM: Short for Global System for Mobile communications (Global System for Mobile Communications), is the platform for mobile computing worldwide.
-HSDPA: HSDPA (High-Speed ​​Downlink Packet Access) is a technology for mobile devices that allows higher data speeds than traditional networks. Often referred to as 3.5G for faster downloading.
-HSPA: HSPA (High-Speed ​​Packet Access - High Speed ​​Packet Access) is a technology for mobile devices that improves the speed at which you can send and receive information on their mobile device. HSPA technology is used in 3G networks.
HSUPA: The HSUPA (High-Speed ​​Uplink Packet Access - access to packages for the high-speed) is a technology for mobile devices that provides (along with HSDPA) the possibility of having connections with fast download and upload very high by optimizing use of bandwidth.
-HVGA: The HVGA (Half-size Video Graphics Array) indicates a particular display resolution of 480 x 320 pixels.
-hboot: the part on the basis of partition and boot management and the phone
-Kernel: is the essential part of any operating system. Without going into technicalities, it manages hardware (drivers and other information about the hardware, for example). Android uses a modified Linux kernel and is entirely open source (ie source code is freely available and modifiable).
- Launcher: It 's the software that handles the desktop (icons, widgets, wallpapers etc..) Android operating system. In essence, is what appears when you access the phone after the unlock screen, called Lock Screen (see below) if it is enabled.
Android allows for excellent customization Lacuncher. Although all versions of Android will already have a default, it is possible (when this option is not blocked by the manufacturer) install as many as you want from those in the Market. Launcher The best known of those owners are not ADW Launcher, Launcher Pro, Helix Lancher.
Most producers customize more or less heavily, their phones (as long as they are not GE, see above), and modification of the launcher is usually the most common personalization. Motorola for example sviluppaMotoBlur (non-removable, and includes an additional set of changes including the Launcher), the HTC the Sense (removable; this also includes modifications to the deepest only launcher which also include the framework), Samsung TouchWiz the (removable) etc..
The change of Lacuncher makes it very often no longer available widgets developed for another Launcher.
-Leak Leaked or (escaped): this refers to the ROM or firmware that (strangely) escape to the Mother House, and is circulated on the net. are semi-official, in the sense that they are developed directly from 'manufacturer, but are not officially released (and therefore not fit to restore the guarantee of a device).
Screen-Lock or unlock screen: is the screen that appears after turning on and / or whenever you press the on / off the phone. Used to not press the keys when not using the phone. It requires a combination of specific touches, or gestures to be "removed"
-Nandroid (found in the recovery as amended): application that creates an image of the entire operating system, like norton gost and true image for windows.
-ODEX: type of compression that is used to free up memory and speed up your system. ODEX unzip the file compresses everything and creates a file. ODEX dall'apk deleting the file. dex then you end up with after launcher.apk and launcher.odex (so 'you have saved so much space and improved
the speed reading application). rom the ODEX can not be changed the subject.
-OTA: Over The Air - system that allows applications to receive updates directly from the network or system
Ext2/ext3/ext4-partition: partition on the memory card (which usually can be made using modified recovery) used to install applications on this media instead of filling up the phone memory. the ext is a type of file system used on Linux and is seen as part of the Android smartphone's internal memory. to partition the SD card in the sections and guides for your device.
-Profile A2DP: Advanced Audio Distribution profile (Advanced Audio Distribution) is a specification that refers to how two Bluetooth devices can transmit and receive streaming high quality audio. The A2DP allows the transfer of a unidirectional stream audio in stereo with two channels, such as music from one phone to a headset.
-Pull: used command in command prompt (eg adb pull / path / inside / of / Android / filename nome_file_destinazione) copy to your PC for a file or folder in the Android system.
Radio-or banda or baseband (not the FM radio): software designed to manage all the communications device (phone, wifi, bluetooth, gps, etc. ...
-Recovery: a kind of mini operating system that is used to retrieve the cell from critical situations (brick, malfunction, etc. ....), do nandroid backup, perform the wipe, flash rom coocked and file format. Zip. The Recovery is properly called Recovery Mode and means the recovery mode in which you can perform actions such as, installing updates, format the phone, format and partition the SD and more. Updating the recovery.img (you can also do without the root) with a different and we have modified provisions advanced features without having to do other steps.
-RSS: RSS (Really Simple Syndication - Guild simple): indicates an Internet protocol used to distribute information that is updated frequently, such as a blog on the Internet, audio or video broadcasts or news headlines.
-Rom: the operating system. coocked roms are usually in. zip and go through recovery flashate
Coocked-Rom: cooked rom, created by chefs (who put together parts of rom applications, modifications, patches and so on) composed and enriched with new features
-ROOT (I take verbatim from androidpedia): What is root? In Unix-like operating systems is denoted by the root user with the highest privileges, ie, system administrator, also known as super user or superuser. (Cited in Wikipedia). Android being a linux system, then the user is root, which allows you to have total control of the phone. What a privilege we have to have root permissions? We have TOTAL control of the telephone. rootare the procedure for your device varies from terminal to terminal, consult the relevant sections to find out how to make your root device ..
G-sensor (gyro): The G sensor detects the position and movement of your device. It helps to orient the display to view both vertically or horizontally depending on how you hold the device. The G-sensor can be used in games to control the actions and other applications that require a movement to be able to be activated.
-SDK (software development kit): Software development kit, which we find in the tools folder that contains the file ADB. You can download it from for all platforms (Windows, Linux, Mac OS).
-S.O. (operating system): see ROM. In fact ROM and SO tend to coincide but while the first term is used to indicate the contents of any memory or the memory itself (it is in fact for Read Only Memory), the second indicates more specifically at a very specific piece of software and not any content that a memory can accommodate.
-Streaming: The term indicates the transmission of streaming audio or digital video using the Internet.
-Superboot: method to become the superuser (root-administrator) of your smartphone, with which you can make changes to the system, such as flash ROM, modify system folders etc. ...
-Tap (capped, plugged): equivalent of left-click on PC, then click in, clicked. TAP LONG = equivalent to right click on pc
-Thetering (wifi, bluetooth and usb): Mode is a connection between the phone is another device (mostly PC), through which you can take advantage of the internet's first, and basically use it as a modem, the second ( which as I said before can be a PC or another phone yet). May be predominantly via USB connectivity, bluetooth or wifi phone.
-Tablet is a tablet device that differs from a smartphone to the screen size (usually greater than the 5 "and for its strong propensity to navigation and document management. It usually does not incorporate a module for telephone calls (one exception is the Galaxy Tab), but often have a data connection via 3G or 4G as well as the WIFI.
Google has developed a special version of Android, called HoneyComb (3.X) for release in 2011. Nevertheless, there are Tablet with Froyo.
-VGA The VGA (Video Graphics Array) indicates a resolution of the display of 640 x 480 pixels.
-WCDMA: The WCDMA (Wideband Code Division Multiple Access) is a protocol for the transmission of data in a 3G cellular network.
-WVGA: The WVGA (Wide Video Graphics Array) indicates a display resolution of 480 x 800 pixels.
Wipe Dalvik-CACHE: reset the system cache. amended by recovery takes place.
Wipe-DATE (factory reset): hard reset (reset phone to factory settings, deletes all data and applications in your phone, no memory card). some recovery in the wiping the data format factory, not a complete hard reset, but a reset of all data in your phone, for a complete hard reset you should also wipe the system and boot from the recovery of the advanced settings or proceed with the procedure manual keystroke! how to do the hard reset via keyboard shortcut see the guides in their respective sections of your smartphone.
-ZIPALIGN: A form of compression that is used to speed up execution of applications. zipalign unzip the file and aligns the compressing apk file limit so 4byte 'Android takes up less ram to read and read more' quickly and then recreates the file. apk ^ ^
If you know other terms that do not understand, this thread is yours.
P. S. I hope to be helpful
I know all of this personally but this is a very useful guide for noobs and should be made a sticky.
jonny68 said:
I know all of this personally but this is a very useful guide for noobs and should be made a sticky.
Click to expand...
Click to collapse
+1
Sticky plz
Sorry but:
-Bootloader (FASTBOOT): phone mode (while connected to USB mode with usb debug enabled)
Is wrong. Bootloader and fastboot are not the same. Also USB debugging mode is an android thing, when you are not booted into android (eg into fastboot or bootloader) then usb debugging mode is not used
rootSU said:
Sorry but:
-Bootloader (FASTBOOT): phone mode (while connected to USB mode with usb debug enabled)
Is wrong. Bootloader and fastboot are not the same. Also USB debugging mode is an android thing, when you are not booted into android (eg into fastboot or bootloader) then usb debugging mode is not used
Click to expand...
Click to collapse
This.
And debug has to do with adb not fastboot.
Sent from my GT-I9300 using xda premium
if you have to add terms or tips, write

A Noobs Guide to Verizon Galaxy Note 4 Hardware Repair,Root,Bootloader,Twrp,ROM's

A Noobs guide to Galaxy Note 4 Verizon Motherboard Hardware repair and replacement
and Other Samsung Galaxy Note 4 repair ( Att, Tmobile etc ) starting in thread 2 ( user input welcome ) ​
My Overheat Heat and flash problem issues leading to
OEM Motherboard replacement and acquiring ROOT again​
OP Note : read the whole guide or for that matter any OP​
Thanks to many XDA-Developers forums, if you are not quoted or mentioned here I will add you !!
Device : Samsung Galaxy Note 4 Verizon SM-910V this OP ONLY !!!
Code:
[COLOR=Red][B]Your warranty is now void.[/B][/COLOR]
*most likely you don't have a warranty because you broke it, ROM'd it, its old and past warranty anyway !**
So, There is no warranty anyway, not even if you did anything in this thread to it
We are not responsible for bricked devices, dead SD cards,
thermonuclear war, or your getting fired because the alarm app failed. Please
do some research if you have any concerns about features included in this guide
before flashing it! (thanks @hsbadr)
YOU are choosing to make these modifications, and if
you point the finger at anyone for messing up your device, we will laugh at you
Symptoms : ROMs not flashing/installing , crashing, High heat, low battery life on new battery hardware note working specifically fingerprint.
Problems : digging through many forums 2 years later to root and unlock the bootloader, it took DAYS
Solution: keep track of my progress and make a useful step by step NOOB guide for Everything !
Section 1: Repairs
Then the rest of the sections are for Rooting, Installing TWRP custom recovery, fixing bootloader , and installing ROMS
Section 2: Flashing via ODIN and the correct rootable OEM rom 5.1.1 on a windows PC
section 2a: Flashing via Heimdall on a Linux device --need comments
Section 3: Achieve temporary root to install bootloader fix
Section 4: Use of ADB to (windows and linux ) to copy over bootloader fix
Section 5: install TWRP custom recovery and your first rom
Section 1: Repairs
If you have to replace the motherboard, and you have any other futzy component, might as well order it at this point, your going through pretty much the same process. I am only doing the motherboard, but the cameras and USB board are right there as well on this repair
I have been running a rooted Verizon Galaxy note 4 since Cynogenmod crashed and switched to Lineageos 14 and then 15.
Here is the forum
https://forum.xda-developers.com/no...eo-8-1-0-unofficial-lineage-15-1-rom-t3760969​
After several suggestions and searches, many users hinted I may be getting a Bad internal memory,
which refuses to write anymore.
So I had to go to Walmart and buy a LG Straight talk phone to use as my daily driver,
Then I ordered a new motherboard from China, 29.00 on Aliexpress.
See OP thread #2 below!! It was not fun searching for it, but I saved $20 to $40 from buying on ebay
What I bought may not be available from this seller, but here is the link. Use a desktop browser, it will show "suggested" other devices...
Code:
[URL]https://www.aliexpress.com/item/with-Android-System-Original-unlocked-for-Samsung-Galaxy-Note-4-N910V-Motherboard-Good-Working-Free-Shipping/32802513232.html?spm=a2g0s.9042311.0.0.66e04c4dpohrQm[/URL]
When I received it , it was time to look for a repair procedure on YouTube.
Hardware needed: thin shim and 00 size phillips, AND a blank cheap SD card you don't mind losing. It may be unusable after we are done
Cell Phone repair tool kit really helps save your fingernails !
Complete note 4 teardown video:
Code:
[media=youtube]ZND9Q73wjr8[/media]
Just the Motherboard video
Code:
[media=youtube]5KpT755hNpM[/media]
In the second video, you can see the phone booting up as a test to see if you have all the connections correct.
Because it came from china, its a good idea to setup your user and
download the app CPUz before you put all the screws back in,
and check to see if you have a real or fake chipset.
Yaayyyy mine was real . Thanks Aliexpress.
Button it up and do a factory reset (it booted up set up as a no user) so I wanted a fresh install oem with my user.
Section 2: Installing the Correct rootable OEM rom so we can install Anything else.
FIRST check to see if you have the emmc brickbug or you will BRICK it !!
1. Google play store install eMMC Brickbug
If your long number starts with 15xxxxxxxxxxxxxxxxx, YOU are Golden ! if not STOP, get another board ! or you are going to waste time , and get another board !
The Galaxy Note 4 Verizon had a special custom locked bootloader installed after the 4.4.4 release to 5.0.1 and made it very difficult to get
root access to your device.
I saw the notice
DON'T UPDATE YOUR BOOTLOADER TO ANYTHING AFTER THE LATEST BUILD AS OF 4/19/16
warning about a week to late. So I finished out my 2 year contract and watched the forums.
Seriously noobs, don't update your new motherboard ...
The rom pre-installed on my replacement motherboard was already setup booted to a running 5.0.1 oem rom, I could not root it.. with any method I remember downgrading my 6.x.x to 5.1.1 in one of the many forums listed here at XDA
This one was the one I used back then, and It turned out that is where I started..
Only a Verizon Samsung Galaxy note 4 Developer Edition has the ability to install custom roms, and most likely the motherboard you bought or have is NOT a developer edition
IF you have a eMMC that starts with 15 we can reprogram it a developer edition
Thanks to @hsbadr
Here are most of the downloads we need:
Code:
[URL]https://forum.xda-developers.com/devdb/project/?id=15720#downloads[/URL]
2. Download Odin, Download TWRP, and Samsung_unlock_n4-fix
3. On your windows PC, create a folder c:/Odin and extract the Odin zip file there, and copy the TWRP image there
4. Download the following OEM root able ROM to your c:/Odin folder
Code:
[URL]https://forum.xda-developers.com/devdb/project/dl/?id=18880[/URL]
5. Plug your phone into a USB port on your Windows PC
6. Install the necessary drivers if they don't automatically install from Samsung
Code:
[URL]https://developer.samsung.com/galaxy/others/android-usb-driver-for-windows[/URL]
7. Set up your phone for flashing ROM and communicating
Settings - Security - Unknown sources- : check allow
settings - system -about phone - build number : click several times until you activate developer options
settings - system -about phone - developer options : Android Debugging : enable android debug bridge
settings - security - reactivation lock : Turn OFF or you will brick your device ( may vary where this is at . Important to turn off )
Power Off phone
Enter Download Mode - press and hold in this order <down arrow> <home> <power> until screen comes on. release buttons.
press up arrow to enter download mode
8. Open windows explorer and go to your c:/Odin folder. You should have an odin exe file, and the twrp file, and the large rom file.
a. right click odin exe and open as administrator
b. check to see if your connected to your phone. you should see a blue box in upper left with a com under it.
If you unplug your phone, you should hear the disconnect notice and the com and blue bar will go off, and when you connect, the com and blue bar and reconnect noise should appear.
9. click the AP button box, select the ROM file that you downloaded above.
NOTE : this ROM will disable WIFI so you wont be able to use the play store unless you have cellular connection.
you will have to transfer other files via usb cable !
Click start, do not unplug! until it stops.
10. Device will reboot. Remove cable, and battery before boot completes
11. Enter recovery mode . Press in order ,<volume up><home><power>
wait for the little android dude to do his thing, then there will be a menu. select factory reset, and reset and let it reboot
Set up minimal user or as a new phone with no user and check the settings in step 7
Set up your phone for flashing roms and communicating
Settings - Security - Unknown sources- : check allow
settings - system -about phone - build number : click several times until you activate developer options
settings - system -about phone - developer options : Android Debugging : enable android debug bridge
settings - security - reactivation lock : Turn OFF or you will brick your device ( may vary where this is at . Important to turn off )
Yayy, you now have a rootable device
Section 3 Achieve temporary root to install bootloader fix
In my try to obtain temporary root, I tried every method in all the forums ( go ahead and look and try )
The only 2 programs that reported to work is Kingroot, and Kingoroot. These are APK's that are NOT in the play store
you will have to download them and install them as unknown sources. I was only able to install kingroot . Kingoroot apk would not install
in both my 5.0.1 original on my motherboard, as well as what we just installed 5.1.1 I was unsucessful at obtaining root with these programs
Then I remembered Kingoroot has a windows version that installs on the PC <dangerous dont install yet>
On your PC you will need AVG antivirus to catch the malware ( other antivirus may work but this is what I had ) my PC is windows 7 ultimate
Advanced Users only :Recommend running a virtual machine with windows so as to keep your PC completely malware free. just delete the VM after this process !
This section you will need on your Note 4 from the Play Store : root checker
You will need a throw away SD card
You will need read through section 4 and 5 and get all files and programs there ready to install use and or transfer
0.5 update your AVG
1. With AVG installed on my PC, and my phone connected as a mtp with usb I downloaded and installed Kingoroot for windows.
https://www.kingoapp.com/
NOTE after not being able to install forum recommended kingoroot apk's i dint want wast time install the newest kingoroot apk from the website. Maybe it will work for you. If you do get kingoroot apk to work on your Note 4 let me know.
2. In the install process for kingoroot windows version AVG will quarantine a file.
there will be a couple popups .. close them
when its installed it will open and start talking to your phone.
3. press the root button.
It will take 30 sec to a minute to install some files on your phone and achieve root, there will be a new floating toolbar on the phone. root will disappear after a reboot, but not the resident programs this root is pretty stable, but i was not able to install SuperSUME (paid version ) as recommended in a XDA guide to obtain permanent root for this 5.1.1 rom. If your successful with super SUme with this let me know.
4. Open root checker to verify ! yayy.
5. Cleanup instructions when finished with this guide below
Section 4: Use of ADB to (windows and Linux ) to copy over bootloader fix
1. Your Note4 phone should be running with root, make sure phone is connected
Explanation : ADB is a Google provided tool for the android platform. It communicates with your phones operating system , transfers files , and actuates programs remotely in the background. totally necessary for development of ROM's, TWRP, and programs for every android device
You may or may not know that your android device is running a Linux kernel, with some Linux programs, with custom folders and custom files and settings, and the touch screen is the GUI graphical user interface touch input.
ADB is a command line user interface, when you turned this on in Developer settings, the kernel is listening constantly on the USB com port and some times on the WiFi com port for commands. if you don't need it turn it off, it could be a security hole, but we need it on.
It works great on windows, mac, or Linux varieties
2. Install on your computer
Code:
[URL]https://developer.android.com/studio/releases/platform-tools[/URL]
If you have linux, your distribution may have a package you can install from your distribution. Then it will be in your path as a command
3. Windows users , extract or install into c:/ADB and add that to your PATH variable if you want to use it all the time as a command
4. Open a command prompt window (search command or cmd , right click open as administrator)
5. If you have ADB folder in your path or are running Linux change directories to the folder where you downloaded the Samsung n4 fix file
6. You should still have root
type
Code:
adb devices
The ADB daemon ( little server program ) will start and return some information.
your phone will have a popup screen and should ask for permission, click allow
again type
Code:
adb devices
7. You should see something like this
Code:
List of devices attached
123a12ab device
The 123a12ab is made up. Yours will be specific to your device.
If you see something listed like the above adb is working. Now on to the next command to move the Samsung_unlock_n4-fix to the phone.
type dir ( or ls -al for Linux users ) to verify Samsung_unlock_n4-fix is in your directory
8. Send Unlocker to Phone with adb
Type or copy and paste the following command:
Code:
adb push samsung_unlock_n4-fix /data/local/tmp/
You should see successful output .
If you don't, check your PATH, check if your in the right folder, or make sure samsung_unlock_n4-fix is in your adb folder
9. Activate the unlocker. This requires root and a reboot. After the reboot you have to go and reactivate root in Section 3.3 above
type the following
Code:
adb shell
Congratulations you are now looking at the linux command line interface on your phone . the $ prompt means you are in the shell
10. activate superuser mode ( kind of like administrator in windows but more powerful )
type
Code:
su
then press enter key
YOU SHOUD NOW SEE a # prompt
This means you succeed in root. If you dont see a # you missed a step above somewhere , or your root was unstable and took too long to get to this point,that is why I said read thru this section and get ready..
Ok at this point we have the file we needed transfered, we have root, now we need to upgrade the permissions on the file so #root level of the operating system can use it !
The next command does all that then executes the command to upgrade your phone to developer edition !
Copy and paste the following command series and press enter.the && joins each command
Code:
cd /data/local/tmp/ && chmod 777 samsung_unlock_n4-fix && chown root.root samsung_unlock_n4-fix && ./samsung_unlock_n4-fix
The device will reboot and flash the developer code.
You should see some sort of progress in the window.
When done ,unplug the cable and pull the battery to shut down phone.
11. Make sure you have a cheap throwaway SD card installed !
One More Time to unlock the boot loader !! section 3 and 4 short version
Put the battery and cable back in and turn the phone back on and make sure its plugged in your PC.
Now repeat the kingoroot PC to gain temp root
open a command prompt or shell
type or copy paste the following to verify its connected
Code:
adb devices
transfer the fix
Code:
adb push samsung_unlock_n4-fix /data/local/tmp/ && a
open the shell on your phone
Code:
adb shell
gain super user rights
Code:
su
unlock the boot loader
same command series
Code:
cd /data/local/tmp/ && chmod 777 samsung_unlock_n4-fix && chown root.root samsung_unlock_n4-fix && ./samsung_unlock_n4-fix
You will see your phone do a series of outputs then reboot. when it reboots, disconnect the cable.
If this step is sucessful your phone will keep rebooting. This is NORMAL . after the first or second reboot, pull the battery and pull the sd card, and set the sdcard aside. It will need to be thrown out or repartititioned to be usable. or you can keep it as a memento on your charm bracelet.
Your bootloader is NOW UNLOCKED . keep phone off until you read the next section
Section 5a: install TWRP custom recovery
Currently right now you have 5.1.1 installed with some Chinese malware on your phone and PC,
A custom developer edition and an unlocked boot loader. Lets fix them all.
Turn on phone download mode . <down volume><home><power> then volume up to enter download mode
Open Odin again ( see above )
Connect phone ( look for com and blue bar )
Select AP button, and browse to TWRP file
Press start. when finished phone will restart.
Don't let it boot all the way back up! , pull battery, and install good SD card, and if you read this section you downloaded what you needed for a new ROM onto your sdcard
Turn off the automatic rebooting in the custom tab, DO NOT select the PIT tab
Press start
Once it finishes it will say Success or FAILED
IF it says FAILED start the whole process over! you didn't unlock the bootloader !
If success, Power off the phone with the pull battery method and disconnect your cable
Press and hold these buttons immediately to enter TWRP ,
<volume up> <home> <power>.
Swipe to allow changes in TWRP.
Select backup , change to SD card, You can also plug in a memory device into the USB port. If it sees it you will be able to use that for backup space
BACKUP everything . You now have a custom recovery installed, a unlocked bootloader, and a rootable ROM Backed UP !
If you feel you want to do this all over again if you flash the OEM Samsung ROM via Odin by accident like I did, ha ha skip the next steps
Select the backup button, select all the partitions, select the source, where you want to store it.
Name the backup rooted-backup-everything-5.1.1
Select start and go make some coffee or a sandwich. its about 4 gigabytes compression, so it may take about 5 to 10 minutes
Clean up -
uninstall windows kingoroot PC and do a virus check
check for hidden folders and registry entries
Section 5b. Install your first ROM
Cleanup : After your backup WIPE your phone twice
THIS IS TO guarantee, no Kingoroot or kingroot stuff is in the phone !!!
WIPE IT TWICE !!!
Some guides (listed below ) say to adb sideload over a root file , then install an older rom. I haven tried this. Let me know if you did and are successful.
Whatever ROM you use, please post a success story in the reply's. I am interested in how you all do.
I have tried every note 4 ROM and this is the most succesful for me and most stable
I have been using this ROM for a while, and the lineageos 14 version too
Code:
[URL]https://forum.xda-developers.com/note-4/snapdragon-dev/oreo-8-1-0-unofficial-lineage-15-1-rom-t3760969[/URL]
In most all ROMS, you can update the bootloader (TWRP) by TWRP app if rooted
you can update the modem ( a partition that contains original Samsung code to run the cell and wireless ) via ODIN
Roms and patches and other goodies can be installed via TWRP by downloading to your device or transfering them to your sd card
Oem ROMS must be installed via ODIN, and will WIPE all you just accomplished. so unless your selling your device, or giving it to grandma DONT.
If you copied the rom ( usually a zip file ) and the necessary files, and have upgraded your bootloader and modem to the newest,
Now install your ROM, and after your initial setup, come back to TWRP and do a full backup !
every time you try a new rom, and get it set up, do a backup. that way you can switch and test to your hearts desire till you run out of SD memory.
The cool thing is you can backup to an external memory device ! more room !
Follow the directions in the OP of your ROM to install. Enjoy
All the above info was gleaned from the following pages
Thanks to @beaups for discovering exploit !!!
Thanks to @hsbadr [HOWTO] Bootloader Unlock and Upgrade to Marshmallow [N910VVRU2CQL1]
Code:
[URL]https://forum.xda-developers.com/note-4-verizon/development/howto-bootloader-unlock-upgrade-to-t3398144[/URL]
and his files
Code:
[URL]https://forum.xda-developers.com/devdb/project/?id=15720#downloads[/URL]
Thanks to @ryanbg [Official] Note 4 Verizon Bootloader Unlock
Code:
[URL]https://forum.xda-developers.com/note-4-verizon/general/note-4-verizon-bootloader-unlock-t3358913[/URL]
and @urgodfather
Code:
[URL]https://forum.xda-developers.com/showpost.php?p=66381707&postcount=342[/URL]
Thanks to @chriskader [HOWTO] Converting your Retail Note 4 to a Developer Edition Note 4
and @Mickey387 for discovering how to compile the note 4 32bit hardware drivers into Oreo !!
and @_mone @ripee
for maintaining and working hard on
[ROM][UNOFFICIAL][8.1.0] LineageOS 15.1 [trlte][trlteduos]
Code:
[URL]https://forum.xda-developers.com/note-4/snapdragon-dev/oreo-8-1-0-unofficial-lineage-15-1-rom-t3760969[/URL]
Information Sources: felixtaf, ryanbg, kingroot, twrp, emotion, ibowtoandroid, shimp208, & urgodfather
some of this was also posted on reddit. https://www.reddit.com/r/galaxynote4/comments/4f8cgc/guide_a_noobs_guide_to_permanent_rootunlocked
Update:
Looking for a motherboard for a 910 that's not a v?
Thanks to user @maralexbar I need to update some info
Method 1 use eBay. Find your correct motherboard easily.
Method 2. Save some money use Ali Express ( China )
If you use Ali, and don't find your motherboard on a direct search, keep digging.
I forgot to mention this.
Looking for my Verizon motherboard, I found lots of parts like the USB internal connector etc. But no mobo. I had to go thru the store listing of the seller of the USB connector to find a vendor that had a mobo. Then I tried comparing different vendors. So do some digging. There is a billion people on Ali express selling stuff. Don't give up.
Plus Ali wants happy international buyers. So if you get a bogus item, you get your money back.
reserved #2
reserved #2
reserved #3
Reserved #3
reserved #4
Reserved #4
Thank you very much for this!!! The phone is running beautifully, smooth and fast. I ended up installing this ROM:
https://forum.xda-developers.com/note-4/snapdragon-dev/rom-resurrection-remix-6-0-0-t3768963
BJ
b1ggjoe said:
Thank you very much for this!!! The phone is running beautifully, smooth and fast. I ended up installing this ROM:
https://forum.xda-developers.com/note-4/snapdragon-dev/rom-resurrection-remix-6-0-0-t3768963
BJ
Click to expand...
Click to collapse
Your more than welcome
Announcement:
Thanks to @ripee
The lineage-17.1 thread is up!
[ROM][UNOFFICIAL][10] LineageOS 17.1 [tblte][trlte][trlteduos]
If you don't mind not having a working fingerprint sensor, or audio through the headphone jack, then Q is stable enough for daily use. As always when coming from an older rom version, it is highly recommended not to waste your time dirty flashing and just clean flash.
Q is still a work in progress, so I will still be releasing Pie builds, though maybe not as often. As in years past, once the Q bugs have been fixed up to the current Pie level, I will post about when my last Pie build will be. I will upload it to the Downloads tab located at the top of each page of this thread, and link it in the OP.

[Guide] How to Enable Miracast for Pixel

Introduction
Few weeks ago, I got a Pixel 1 as my backup phone, when I try to connect it to the Microsoft Wireless Display Adapter, it couldn't find the Adapter.
I haven't used Android phones for a long time. In my mind, Android natively supports Miracast. After some searching, I was frightened to find that Google has removed Miracast from Android.
I was really disappointed because I often cast my Windows devices easily by using Miracast. My Projector has only two HDMI ports, one for HDMI cable, and one for Wireless Display Adapter. I can't add a Chromecast unless a HDMI switch is used.
One possible solution is to add a line "persist.debug.wfd.enable=1" in "build.prop" to enable WiFi-Display, but many people say that it doesn't work since Android N, the phone can discover WiFi-Displays but unable to cast.
Since Android framework is open source, I did some searching and found that some WiFi-Display related code still exists. Android 9 still keeps the WifiDisplayAdapter in DisplayManagerService, but removed WifiDisplay from MediaPlayerService, that's why we can discover WiFi-Displays but can't cast.
I recovered some code from AOSP history commits, fixed the build errors, and debugged on my Pixel, finally the Miracast can work on my Pixel.
If you also want Miracast to work on your Google phones, you can follow my steps, but first make sure your ROM is open source so that you can change and rebuild it.
If you have a Pixel 1 running the same version of system, you can simply replace some files in your system with the files I built.
If you have other Google phones or running different versions, you can apply my patch to AOSP, and build it by yourself. I have built the latest version for all Google Pixel phones, but I haven't tested except Pixel 1.
If your ROM is not open source, I will no longer be able to help, since MediaPlayerService may have been changed by your ROM, you may can't replace it with the AOSP version.
Prerequisites
Pixel running Android 9.0.0 build number PQ1A.181205.002.A1 or PQ1A.190105.004.
Bootloader unlocked.
adb and fastboot tools and drivers are working for your device.
Note & Disclaimer
These steps will change files in your system, your Pixel should run the exact same version of system. Pushing files to different versions of system may cause unknown problems.
Please check carefully before running each command, a mistaken operation may result in unable to boot up, or destroy your data, or even damage your phone.
If you are not sure about what these steps are doing, but still want to go ahead, please backup your phone firstly, you may not be able to recover your phone to its original state.
I have only tested on Pixel 1 with build number PQ1A.181205.002.A1 and PQ1A.190105.004, for other phones or versions, you should build and test on your own.
Basic Steps
Flash the same version of factory image for your phone.
Download the prebuilt files from https://github.com/sbjbs/android-wfd-patch
Add this line into "build.prop", without it, we will not be able to enable WiFi-Display:
Code:
persist.debug.wfd.enable=1
Replace some files in system:
Code:
system/lib/libaudioflinger.so
system/lib64/libaudioflinger.so
system/lib/libserviceutility.so
system/lib64/libserviceutility.so
system/lib/libmedia.so
system/lib64/libmedia.so
system/lib/libwilhelm.so
system/lib64/libwilhelm.so
system/lib/libandroid_runtime.so
system/lib64/libandroid_runtime.so
system/lib/libstagefright.so
system/lib64/libstagefright.so
system/lib/libstagefright_wfd.so
system/lib64/libstagefright_wfd.so
system/lib/libmediaplayerservice.so
If you have magisk installed, you can refer to Phoenix Wright's post:
Phoenix Wright said:
using "setprop" to set that property once is enough, no need to touch build.prop; given it's a "persist" property it'll be permanent.
using magisk to overlay them on /system
Click to expand...
Click to collapse
Some extra steps that you may need
Remove dm-verity metadata of system.img
The dm-verity can prevent us from changing the system, and what's more it has a forward-error-correction(FEC) feature, which can detect and correct some corrupted data.
I spend a lot of time on attempting to change the build.prop but fail again and again, it just always correct the file, and I can't enable wifi-display.
I don't know how to disable it. Since the error-correcting info should be stored in the dm-verity metadata, I just removed the dm-verity metadata from the stock system.img, and flash the system.img.
I will list the steps to remove dm-verity metadata, but if you can disable dm-verity entirely, that should work too.
For phones that have a vbmeta partition (like Pixel 2), seems you can flash an special vbmeta.img to disable AVB. You can build the empty vbmeta image by this command, but I don't have a device to test if it works:
Code:
avbtool make_vbmeta_image --flag 2 --padding_size 4096 --output vbmeta.img
For Pixel 1, we need to remove dm-verity metadata that attached to system.img, first convert the sparse system.img to an ext4 image:
Code:
simg2img system.img system.ext4.img
read the block count to calculate the system size:
Code:
od -j 1028 -An -N4 -tu system.ext4.img
for Pixel 1, it should be 516099. You also can read it by a Hex Editor, e.g., WinHEX in Windows, read 4 bytes starting from 1028 bytes, as a little-endian hex value.
so the real system partition size is 516099 * 4096 = 2113941504 bytes.
we need to set the data to zero after that position. It's important to do this, since we need to overwrite the metadata in that area, rather than just truncate the size of system.img.
next get the ext4 image size, for Pixel PQ1A.181205.002.A1, it should be 2147483648.
so we need to write 2147483648 - 2113941504 = 33542144 bytes:
Code:
dd if=/dev/zero of=system.ext4.img seek=2113941504 count=33542144 oflag=seek_bytes iflag=count_bytes
we also can use some other tools to do this, e.g., WinHEX in Windows. Open the file in in-place mode, and jump to 2113941504, and select it as the begin, and jump to the end, and select as the end, and fill the selection with all zero.
after that, flash the changed system.ext4.img to Pixel:
Code:
fastboot flash system system.ext4.img
Test that you can boot up normally. If not, check what's wrong and fix it.
Temporary boot up by TWRP image
We don't have to install TWRP, but just use it to temporary boot up, so that we can mount the system partition for writing. If you have TWRP installed, you can just boot to TWRP.
Download TWRP image for pixel, just need the twrp.img, we won't install the zip file.
boot your device to bootloader:
Code:
adb reboot bootloader
and boot by the twrp.img
Code:
fastboot boot twrp.img
after TWRP booted up, just leave it there, no need to unlock or input password, we will change the system by adb.
Mount system partition for writing.
In the current version of TWRP for Pixel (twrp-3.2.3-1-sailfish.img), its fstab has an entry for system partition, we can directly mount it.
Code:
adb shell mount /system
run mount to check if successfully mounted:
Code:
adb shell mount
you should see an entry like this:
Code:
/dev/block/sda34 on /system type ext4 (rw,seclabel,relatime)
If not, you should stop now, and check the above steps.
after mount, we can use adb to push files into system.
Hey guy,
You helped me a lot to understand why it was not working with Pie. I tried several custom ROMs + the official Pie and it was not working.
There is Wireless display option in quick settings but it' doesn't find my Microsoft Wireless Display Adaptor also.
I so downgrade to Oreo. With Oreo it works without any issue. (there is an option "allow Wireless display" to tick and then your miracast dongle will appear).
You did a great job to make it working on Pie. Congratulations. I will anyway stay on Oreo. I think google will change that (many people already complained i guess).
Jean Michel
jean_michmich said:
Hey guy,
You helped me a lot to understand why it was not working with Pie. I tried several custom ROMs + the official Pie and it was not working.
There is Wireless display option in quick settings but it' doesn't find my Microsoft Wireless Display Adaptor also.
I so downgrade to Oreo. With Oreo it works without any issue. (there is an option "allow Wireless display" to tick and then your miracast dongle will appear).
You did a great job to make it working on Pie. Congratulations. I will anyway stay on Oreo. I think google will change that (many people already complained i guess).
Jean Michel
Click to expand...
Click to collapse
Thanks for your reply!
I have tested on Pie on my Pixel, I often play online games while cast is on, and didn't meet any problems last week.
I also hope that Google will support Miracast again in the future, but it seems unlikely in the near future.
Google has abandoned it since Android 6 (source: Wikipedia), and now they're deleting unused source code related to wifi-display.
I'm more worried about that there will be more build errors and potential issues when we try to enable it for future Android versions.
sbjbs said:
Thanks for your reply!
I have tested on Pie on my Pixel, I often play online games while cast is on, and didn't meet any problems last week.
I also hope that Google will support Miracast again in the future, but it seems unlikely in the near future.
Google has abandoned it since Android 6 (source: Wikipedia), and now they're deleting unused source code related to wifi-display.
I'm more worried about that there will be more build errors and potential issues when we try to enable it for future Android versions.
Click to expand...
Click to collapse
OK it's getting more clear. You are right. Wikipedia says : "but support was dropped with Android 6.0 Marshmallow in 2015 in favor of Google's own proprietary Google Cast protocol.[15] Some manufacturers of Android devices step in and support Miracast through their software"
I'm not an "official android ROM" user.
I always use Pixel Dust custom ROM. For this custom ROM, Miracast was supported for Oreo but not for Pie (not yet).
jean_michmich said:
OK it's getting more clear. You are right. Wikipedia says : "but support was dropped with Android 6.0 Marshmallow in 2015 in favor of Google's own proprietary Google Cast protocol.[15] Some manufacturers of Android devices step in and support Miracast through their software"
I'm not an "official android ROM" user.
I always use Pixel Dust custom ROM. For this custom ROM, Miracast was supported for Oreo but not for Pie (not yet).
Click to expand...
Click to collapse
I used to be a ‘latest official ROM’ user
For custom ROMs, since they may have changed the framework, we can't replace files with AOSP version, but as long as they're open source, we can try to contribute to it.
Adding Miracast support in Android is not difficult, and many manufactures have their own support.
I hope your custom ROM will support Miracast for Pie in the near future.
Tested on Pixel 2 XL and working (for what it's worth, using "setprop" to set that property once is enough, no need to touch build.prop; given it's a "persist" property it'll be permanent). I built the .so files on my local aosp tree and I'm using magisk to overlay them on /system.
Hi @sbjbs
If I understand you right then you have patched the AOSP codebase. Would you mind sharing the repositories/commits on your GitHub? That would be highly appreciated. :good:
Regards
spezi
Sent from my Pixel 3 using XDA Labs
spezi77 said:
Hi @sbjbs
If I understand you right then you have patched the AOSP codebase. Would you mind sharing the repositories/commits on your GitHub? That would be highly appreciated. :good:
Regards
spezi
Sent from my Pixel 3 using XDA Labs
Click to expand...
Click to collapse
There's a link in the OP: https://github.com/sbjbs/android-wfd-patch/tree/master/patches/android-9.0.0
Phoenix Wright said:
Tested on Pixel 2 XL and working (for what it's worth, using "setprop" to set that property once is enough, no need to touch build.prop; given it's a "persist" property it'll be permanent). I built the .so files on my local aosp tree and I'm using magisk to overlay them on /system.
Click to expand...
Click to collapse
Great to hear that!
You method is simpler and more elegant, that's awesome!
Phoenix Wright said:
Tested on Pixel 2 XL and working (for what it's worth, using "setprop" to set that property once is enough, no need to touch build.prop; given it's a "persist" property it'll be permanent). I built the .so files on my local aosp tree and I'm using magisk to overlay them on /system.
Click to expand...
Click to collapse
Can you elaborate how you did use "magisk to overlay them on /system"?
I pushed them using adb as mentioned on github but it is stuck at Google splash screen. I've taimen BTW and am on Pixeldust ROM. It booted while writing this post but the screen was not responding to touch.
Nitin
nitin.chobhe said:
Can you elaborate how you did use "magisk to overlay them on /system"?
I pushed them using adb as mentioned on github but it is stuck at Google splash screen. I've taimen BTW and am on Pixeldust ROM. It booted while writing this post but the screen was not responding to touch.
Nitin
Click to expand...
Click to collapse
I made a module with the .so files I compiled: https://workupload.com/file/pd4EUBdw
Note that I can't vouch for this to work on your ROM, it works on taimen on stock 9.0 with January security patches though.
nitin.chobhe said:
Can you elaborate how you did use "magisk to overlay them on /system"?
I pushed them using adb as mentioned on github but it is stuck at Google splash screen. I've taimen BTW and am on Pixeldust ROM. It booted while writing this post but the screen was not responding to touch.
Nitin
Click to expand...
Click to collapse
Did you build the so files for your ROM from source? the patch has changed the interface of IMediaPlayerService, if anything else in your ROM is using IMediaPlayerService.h, you'd better rebuild and replace them.
that's why I uploaded the libwilhelm.so and libandroid_runtime.so, even though I didn't change the source code of them.
Phoenix Wright said:
I made a module with the .so files I compiled: https://workupload.com/file/pd4EUBdw
Note that I can't vouch for this to work on your ROM, it works on taimen on stock 9.0 with January security patches though.
Click to expand...
Click to collapse
Thanks!
sbjbs said:
Did you build the so files for your ROM from source? the patch has changed the interface of IMediaPlayerService, if anything else in your ROM is using IMediaPlayerService.h, you'd better rebuild and replace them.
that's why I uploaded the libwilhelm.so and libandroid_runtime.so, even though I didn't change the source code of them.
Click to expand...
Click to collapse
I tried building with my ROM but I got build errors related to OMX.h, I need to find a solution for them. Thanks anyways!
Nitin
Someone tries on Pixel 3? Thanks
It works perfectly ! I used the prebuilt files on the march build.
Do you know if we can force the 16/9 ratio ?
Thanks
edit : I will try with second screens !
this works a treat on my Pixel 3 XL (Stock Pie) just overlayed the files from Phoenix Wright using magisk and it works now....sweet thanks, now just need to figure out how to fool sky sports app into letting me cast.....
marshyrob said:
this works a treat on my Pixel 3 XL (Stock Pie) just overlayed the files from Phoenix Wright using magisk and it works now....sweet thanks, now just need to figure out how to fool sky sports app into letting me cast.....
Click to expand...
Click to collapse
Can you explain more how did you do?
Did you just flash the zip from Phoenix Wright in Magisk?
EMJI79 said:
Can you explain more how did you do?
Did you just flash the zip from Phoenix Wright in Magisk?
Click to expand...
Click to collapse
Yes just copied the .zip file from Phoenix Wright's post to my device then used the module install option in Magisk like if you are installing a module found in Magisk (use the plus sign to add your own .zip file instead and browse to the file you just saved) then reboot. Then i went to the cast option in settings - connected devices - connection preferences, there i could tick in the top right corner under the 3 dots "enable wireless display" and it showed my Panasonic TV, chose connected and boom it connected. Needed to enable the mirroring option on my Panasonic but this is a TV setting nothing to do with the phone, you might need to do a similar step based on your TV as they need to be able to see each other.
marshyrob said:
Yes just copied the .zip file from Phoenix Wright's post to my device then used the module install option in Magisk like if you are installing a module found in Magisk (use the plus sign to add your own .zip file instead and browse to the file you just saved) then reboot. Then i went to the cast option in settings - connected devices - connection preferences, there i could tick in the top right corner under the 3 dots "enable wireless display" and it showed my Panasonic TV, chose connected and boom it connected. Needed to enable the mirroring option on my Panasonic but this is a TV setting nothing to do with the phone, you might need to do a similar step based on your TV as they need to be able to see each other.
Click to expand...
Click to collapse
It did work today with my Sony television.
Thanks!
OMG!!! You made my week. Few hiccups tho....
Can anyone else confirm that Hulu and HBO go and Amazon prime . YouTube works.
Hulu and amazon I can log on but when it plays all you get is audio. Haven't tried Netflix I don't sub them.
HBO go as soon as I try to play a video it says this video cannot be played. If I disable the mirror it plays perfectly. Same thing with Hulu and prime. Disable the mirror an it works perfectly on my phone.

[ROM] [ROOT] [TWRP] [GUIDE] YT9216B Chinese Android Head Unit

So... how to root your device?
how to flash twrp?
You can use this pre-rooted firmware, with included twrp.
-Build type is userdebug, means u can enable multi-window mode in dev settings
-Based on latest available firmware
-Root
-Busybox
-TWRP
-HIFI enabled
-UI1 Launcher
-FM Radio with RDS and save manager.
-TPMS (working with cheap chineese usb units)
-DVB-T & SDR (required RTL2832U)
Its backup of system i already have modified for myself.
It means, its branded to Ford Mustang all the way.
U can do this to get rid of that branding:
-choose another bootlogo.
-flash new bootanimation.
-install stock (not modified) UI1 launcher
To get ADB, i recommend this app:
WiFi ADB - Debug Over Air
Download:
YT9216B_00002_V004_20191012_HIFI_V3.zip
Factory settings password: 8888
Important note: Android 8.1 Go is just chineese marketing trick, in reality this head unit has android 6.0 (api lvl 23, not 27 as 8.1 should have).
folowed V4A Rom Inclusion
So, ViPER4Android included in ROM.
credits to ViPER520
ViPER’s Audio Website
ViPER’s Audio XDA Thread
Users, use “Compatible Mode” if you plan to install other sound mods. No other sound mods included in ROM.
Screenshots
Instructions
Prepare:
- download and unzip archive from my first post
- make/buy USB A male to A male cable (for photos see attachments)
- install drivers from SP_Driver folder
Backup:
Just in case make backup (readback in ATC Flash Tool)
I didnt done it, so if u want, search for guide online
Flashing process:
- open flash_tool.exe from ATC_Flash_Tool folder
- select Download-Agent MTK_AllInOne_DA.bin from ATC_Flash_Tool folder
- select Scatter-loading File AC8227L_Android_scatter.txt from Firmware folder
- make sure PRELOADER is not checked. (There isnt any in in my fw. Just in case if u use this guide for some another fw)
- press Download button
- connect your USB A to A cable one side to PC, another one to your head unit. I recommend u to use that 4 pin usb port (that one with smaller plastic end), but shouldnt matter.
- press RST button on your head unit (use some pin, paper clip or toothpick)
-wait until flashing process ends. There should appear green message.
- press RST button again and let yout headunit boot.
- perform factory reset on your head unit to prevent any bugs
Flashing process error:
- happends sometimes
- disconnect your cable
- if possible, disconnect your head unit from electricity for a while
- press download again, connect usb cable back, and press RST button.
- check if your cable is not faulty.
- for homemade cable try to apply some solder on cable ends, check if ends arent shorted, use tape on them, or buy original cable
Reserved
my radio version is yt9216b_00002_v004_20190801 can i install your
Mine is not hifi
tuga_bcl said:
my radio version is yt9216b_00002_v004_20190801 can i install your
Mine is not hifi
Click to expand...
Click to collapse
Sure. Mine is same.
HIFI is just EQUALIZER preset for best result. Included into firmware.
But today i want release update. Its worth to wait.
ok I'm waiting for release update
How can I install stock launcher?
and change the boot logo and animation?
hello already installed this version this top. I detected a bug in the active rear camera but not the image. How much boot animation should give to choose another for those who do not have Ford car. The torque app and tpms should be optional to install. this is my opinion of course you have developed the firmware to your liking to which you are top. If you don't mind you could develop a version with only root busybox twrp and Hifi. unaware of viper audio but it's top. in short I congratulate you
tuga_bcl said:
hello already installed this version this top. I detected a bug in the active rear camera but not the image. How much boot animation should give to choose another for those who do not have Ford car. The torque app and tpms should be optional to install. this is my opinion of course you have developed the firmware to your liking to which you are top. If you don't mind you could develop a version with only root busybox twrp and Hifi. unaware of viper audio but it's top. in short I congratulate you
Click to expand...
Click to collapse
apps can be disabled.
Its more "backup of my unit" than ROM.
It takes space just in system, users which would know how to add something into /system would also remove everything they dont need to get more space.
uploading new version.
bootanimation can be changed in settings.
updated.
what changes did you make?
This top. How can I install another launcher and radio rds?
I wanted to install ui1launcher without modification
tuga_bcl said:
This top. How can I install another launcher and radio rds?
I wanted to install ui1launcher without modification
Click to expand...
Click to collapse
Radio should already support RDS.
Launcher can be pushed into system.
Just wondering if this will be compatible
my system shows i have
android 9.1
XY auto 3.1 (8227L) same as MCU
but yours is showing android 8.1 ?
mine was also android 9.1 "fake" and now after updating with the firmware provided here is 8.1 go
No wonder Android auto doesn't work
quite happy to give this a try but want a failsafe of backing everything up first
anyone know how to do that prior to upgrading
Zdravím, nedaří se mi spojit HU s počítačem, můžu poprosit o pomoc? Děkuji
Would this work if my unit is yt9217b instead of yt9216b? I tried flash TWRP myself but almost got caught in bootloop

Sailfish OS for the Samsung Galaxy S2 (i9100)

Initial post for Sailfish Os for the Samsung Galaxy S2 (i9100) device.
Code:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! W A R N I N G !!
!! !!
!!(Although I am using this on my backup phone)!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Everything you do, !!
!! you do at your own peril and risk. !!
!! !!
!! I do not bear any responsibility !!
!! for your faulty devices. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! !!
!! ROM IS NOT SUITABLE FOR DAILY DRIVE !!
!! ONLY FOR EXPERIMENTAL PURPOSES !!
!! !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Making this port was challenging because Sailfish OS, from version 3, doesn't support kernel version 3.0 which is apparently the kernel on the S2.
Fortunately, the SailfishOS-porter guys do very seriously know their business and they are extremely helpful.
From here I would like to emphasize my gratitude towards them for helping me in this project! Thank you!
Requirements:
Before you start to download anything, please read it carefully.
The first requirement is your device must be rooted and you should be able to install a custom recovery (preferably TWRP) onto it.
For this ROM you can either use the stock partitions or you can re-partition to give more space to /system and /data. It doesn't matter which one you chose, I tried and both worked well.
Or if you scroll down to the New partition layout, you can use a completely unique partition layout which gives the most of the internal storage to Sailfish OS. (I currently use my device with this setup.)
Installation instructions:
1. Download all files, CM12.1 zip, Sailfish OS zip, twrp2.8.7.img and kernel*.img to the external SD card on the phone
2. Reboot into TWRP (hold buttons: Power on + Home + Volume up)
3. Do a factory reset
At this point if you want you can repartition the S2 internal storage. (Later you can put the stock layout back if you want to go back to Android.)​
The steps for repartitioning are:​
​
Download the 'Repartition: System=1GB, Data=14GB, eMMC=8MB, /preload=7MB' or the 'Repartition: System=1GB, Data=4GB, eMMC=7GB, /preload=0.5GB' .zip file and put into the external SD card. (The difference between these two is explained down at the New partition layout section
Then boot into TWRP and flash the zip as any other zip file. The script first will warn you that it cannot do the partitioning with mounted partitions and it also copies the script itself into /tmp. You just simply need to flash the copied version from /tmp and that will do the trick. The script will format the new partitions accordingly, so once it is completed you can go ahead with the next step.
4. Still in recovery, flash the CM12.1 image
5. Still in recovery, flash Sailfish Os image
6. Still in recovery, flash twrp2.8.7.img to recovery partition
7. Still in recovery, flash kernel*.img to boot partition (this step is not required since sfos 4.4, kernel is installed by flashing the zip file)
8. Reboot
9. Enjoy the latest (4.4.0.68) Sailfish OS on your i9100.
You will need patience as the first boot will take for a while. Then you can go through the initial Sailfish OS set up.
This Sailfish OS Android HAL based on CM 12.1.
Downloads:
kernel12_mtp.img for Sailfish OS 3.2.1.20
kernel33016.img for Sailfish OS 3.3.0.16
kernel34024.img for Sailfish OS 3.4.0.24
kernel41024.img for Sailfish OS 4.1.0.24
kernel43015.img for Sailfish OS 4.3.0.15
twrp2.8.7.img for i9100
CM 12.1 for i9100
Sailfish OS 3.2.1.20 for i9100
Sailfish OS 3.3.0.16 for i9100
Sailfish OS 3.4.0.24 for i9100
Sailfish OS 4.1.0.24 for i9100
Sailfish OS 4.3.0.15 for i9100
Sailfish OS 4.4.0.64 for i9100
Sailfish OS 4.4.0.68 for i9100
Sailfish OS 4.4.0.72 for i9100
Odin v1.83
AOSP-LP-Kernel+_25-08-2015_TWRP-2.8.7.0.tar
Repartition: System=1GB, Data=14GB, eMMC=8MB, /preload=7MB
Repartition: System=1GB, Data=4GB, eMMC=7GB, /preload=0.5GB
Stock partition pit file
kernel07_flatpak (kernel with Flatpak support. Flatpak install/usage instructions.)
Some useful tips:
Low power mode aka ambient mode (in Fingerterm):
Code:
mcetool --set-low-power-mode=enabled
Disable lock screen animation (in Fingerterm):
Code:
mcetool --set-lockscreen-animation=disabled
Some useful patches:
Patchmanager 3.0
More folder icons
Operator name at bottom (Stopped working on 3.3.0.16)
Silica mail (transparent background) - Well documented here
Apps from Openrepos
Apart from the Jolla store there are plenty of other, community-made apps in Openrepos. There is a user-friendly app to install/remove apps from this source called Storeman. It can be downloaded and install from this location: Storeman
Debug/login/troubleshooting:
In Ubuntu, connect USB cable. telnet 192.168.2.15 2323 or SSH [email protected].
Notes:
On Sailfish OS, as it is a Linux system, you cannot install/run any android apps.
How to make a backup/restore with TWRP:
Now the old clunky method is no longer needed. Once you flashed the twrp2.8.7.img to the recovery partition you can boot into TWRP with the usual button combination (Hold buttons: Power on + Home + Volume up) and can make backup/restore.
Instructions for Bluetooth (On Sfos 4.3, BT works normally, don't need this magic)
BT works however turning it on/off is not as user friendly as I hoped. Here is a little instruction/troubleshooting.
Turn BT on (It only works from Settings/Bluetooth!!!!! DON'T try from TOP MENU!!):
If BT hasn't turned on since last boot:
go to Settings/Bluetooth
tap on the dot next to the Bluetooth option
If BT has turned on at least once since last boot:
go to Settings/Bluetooth and tap on the dot next to the Bluetooth option
go back to Settings
go to into Settings/Bluetooth again
tap on the dot next to the Bluetooth option (if it is not turned on repeat from Step 2! Eventually, BT should turn on.)
Turning BT off: Go to Settings/Bluetooth and tap on the white dot next to the Bluetooth option.
Notice: Never try to tap on the white dot twice without going back to the main menu of Settings.
Never try to turn BT on from Top Menu.
However, if you accidentally did any of these BT cannot be turned on again unless you:
reboot the device (this is the easiest) or
in a command line as root issue the following command 'systemctl restart bluetooth-rfkill-event.service' (this will restart the bluetooth-rfkill-event service)
I am not sure how pairing works with different devices.
New partition layout
I mentioned that I tried this Sailfish OS installation with the stock partitions and with another what created for Android 7.1.2. With the stock partitions however was a bit more sluggish than the other one. No wonder as in the stock partitions the /system has only 0.5GB and the /data has only 2GB storage and the rest 12GB is the separate internal storage (eMMC). In Sailfish the entire os (rootfs) including all directories (like /home) live on the /data partition so the 2GB was a bit tight. (The OS itself consumes about 1GB so not much left for apps and other stuff.)
With the other partition layout, the picture was a bit better as the /system had 1GB, the /data got 4GB and the rest 9GB remained for the internal storage. But the partition where the OS lives was separated from the 9GB partition. When I installed a few apps and copied some big files into the /home, I felt the limitation very soon.
Although this layout was sufficient for android but not good enough for Sailfish.
Therefore I have created my own partition table where I restructured the sizes accordingly to my need. (The lanchon repit zip file is available in the download section.)
In this new layout I gave 1GB for the /system (the prior 0.5GB was also fine as the CM12.1 base consumed only 400MB which let a 100MB free space, but I thought that might be not enough in the future so I have chosen 1GB here), I gave only 8MB for the internal storage (eMMC which is mounted into /android directory in this rom), and this made me possible to gave all the rest 14GB to the /data partition. So basically the Sailfish apps and /home can utilize the entire internal storage.
As an extra, on the S2 there is a 0.5GB /preload partition which is hidden and unused by default. In my partition setup I set 7MB to this and the rest almost 0.5GB is also added to the /data.
Go back to stock partitions
In case you would like to do this, you can download the stock partition pit file from the download section.
For this use Odin v1.83 which is also in the download section.
The steps are:
Boot the device into download mode and connect to the PC.
Open Odin v1.83 and tick the 'Re-partition' checkbox at the Option.
Then click on the PIT button and select the downloaded stock pit file.
Then click on the PDA button and select the downloaded TWRP (AOSP kernel) file.
Then click on start.
Done. You need to boot into TWRP and wipe all partitions (system, data, emmc) then you can install the stock rom back. (or if you select the stock rom at PDA instead of the AOSP kernel, it will do the repartition and install the stock rom as well. In this case, you don't need to wipe anything and the device will reboot into the stock Android at the end.)
Changelog:
15.02.2022
=========
General advice:
Patience! All (except camera) apps do start and work but they do need time. This is true for websites. When you clicked on something, wait patiently, eventually, it will start/load.
Work:
Same as previously
Improvement: Stock browser stable and works!
Do not work:
The camera app crashes the device into reboot.
03.09.2021
=========
Work:
Same as previously
Bluetooth does work, but once it is off, needs to be toggled a few times in Settings to make it turn on again.
14.06.2020
=========
Work:
Same as previously + Mobile data is fixed! (To make it work: change Protocol to IP in Settings/Mobile network/Data access point.)
Bluetooth doesn't work, it is still WIP
Do not work:
Same as previously
06.05.2020
=========
The latest version of Sailfish OS 3.3.0.16 is available to download. This requires a different kernel. Both of these can be found in the download section.
Note: With the new version the patch that displays the provider logo at the bottom on the lock screen stopped working. This issue is not related to the OS. The owner of the app should fix it.
Update: In openrepos Kodi is fixed for SFOS 3.3.0.16!
29.04.2020
=========
Work:
Screen
Touch
IMEI number is detected
Sensors (GPS, Rotation, Acceleration, Gyroscope, Magnetometer, Light & Proximity)
Wifi
MTP
Bluetooth (instruction is above)
Calls incoming/outgoing
Messages incoming/outgoing
External SD card detected and mounted to /run/media/nemo/_sdcard_name_ (where _sdcard_name_ is name of the sd card when it was formatted like 7C97-785B)
Internal SD card is mounted to /android
Pixel ratio and icons set to 1.00 (Can be changed to 0.82 which is more appropriate for the device's screen. to do this as root run the 'kimmoli-diyicons.sh 0.82' command. It will fail to install imagemagick but will set the ratio to 0.82 and as we have all icons in place it will work.)
Audio is routed to headphone if that presents
Camera front/rear (only for taking pictures)
Jolla store
findutils is installed by default (updatedb and locate commands work out of the box)
Torch
the charging icon does work properly, however, there is a little delay
can boot into TWRP recovery with the usual button combination (hold buttons: Power on + Home + Volume up)
kernel and recovery .img can be flashed from TWRP (no need for PC to flash Sailfish OS, kernel and recovery)
Low Power Mode (AKA "sneak peek" or "ambient display") works (install instruction is in this post)
The softkeys (each side of the home button) work as notification leds
Do not work:
Mobile data (WIP)
Video recording (It doesn't really work in other 3.x versions either. See my test results here.)
There is an extra little issue that is a delay in screen refresh which is related to how vsync is handled in v10 backend in qt5-qpa-hwcomposer-plugin. I managed to improve this but there is a little delay still. Probably this is the reason why we need to jump back to Settings every time before trying to turn BT on, but I am not sure.
04.04.2020
=========
Work:
Same as previously + Softkeys are used as notification leds
Bluetooth doesn't work, it is still WIP
Do not work:
Same as previously
23.03.2020
=========
Work:
Same as previously + with 'kernel12_mtp' the MTP works!
Bluetooth partially works (to switch on BT requires a reboot or issue a command manually, it is still WIP)
Do not work:
Same as previously
25.02.2020
=========
Work:
Same as previously + with 'kernel07_flatpak' the Low Power Mode (AKA "sneak peek" or "ambient display") works! (install instruction is in this post)
Do not work:
Same as previously
23.02.2020
=========
Work:
Same as previously + but from now on you don't need PC and heimdall to flash kernel and twrp
Do not work:
Same as previously
19.02.2020
=========
Work:
The same as listed earlier + with the new kernel (kernel06) I attached you can boot into TWRP with the usual button combination (hold buttons: Power on + Home + Volume up)
Do not work:
Same as previously except the TWRP/Sailfish OS boot which has fixed.
08.02.2020
=========
Work:
Screen
Touch
IMEI number is detected
Sensors (GPS, Rotation, Acceleration, Gyroscope, Magnetometer, Light & Proximity)
Wifi
Calls incoming/outgoing
Messages incoming/outgoing
External SD card detected and mounted to /run/media/nemo/_sdcard_name_
(where _sdcard_name_ is the name of the sd card when it was formatted like 7C97-785B)
Internal SD card is mounted to /android
Pixel ratio and icons set to 1.00 (can be changed, I set 0.82 which is more appropriate for the device's screen resolution see the download section)
Audio is routed to headphone if that presents
Camera front/rear (only for taking pictures)
Jolla store
findutils is installed by default (updatedb and locate commands work out of the box)
Torch
Do not work:
Mobile data
Bluetooth (the bt driver is in the kernel, so in theory, with some config file changes on the device it can work)
MTP
Video recording (It doesn't really work in other devices with CM12.1 base.)
Screen delay in refresh (related to how vsync is handled in v10 backend in qt5-qpa-hwcomposer-plugin)
the charging icon doesn't work properly: when the device is not on charger still shows it's charging (when I unplug the cable the message appears: "Charging..."
cannot boot into TWRP recovery (See Notes above)
Battery life:
In my experience the battery life is good. On standby, it can survive 10 days. (Almost 11.) I have checked once or twice daily during this period.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Pictures:
App drawer
Top menu
Settings
About product
In case somebody missed these I would like to highlight some improvements since day 1:
Now both the kernel and twrp can be flashed as an .img from twrp (no need for PC and heimdall anymore)
Plus I uploaded a kernel with Flatpak support
With kernel07_flatpak, I have installed Flatpak and Angelfish but got an error when started Angelfish.
It looks like this is a limitation of the old kernel, but there might be a workaround.
I'll keep you posted.
With kernel12_mtp, MTP works. (and bluetooth partially)
The soft keys each side of the home button are used as notification leds. As this device doesn't have leds, the softkeys can be re-used as "leds". They do blink if the device is fully charged or there is an unread incoming text message. When the device is on charger they are on, otherwise both of them are off.
Can you post your sources? I'm interested in getting an I9100 as my new phone, and was considering a port and I'm happy to see you've already done all the leg work and then some!
Also about the kernel on this phone, I've been trying to port to a tablet with weird kernel images, can you run "file (path to android base kernel image)" - if it says ForPro FPT or similar I will be very very interested in how you got this phone to boot into rootfs. Very interested in the progress you've made though :3 Thanks for the awesome rom!
Galaxyninja66 said:
Can you post your sources? I'm interested in getting an I9100 as my new phone, and was considering a port and I'm happy to see you've already done all the leg work and then some!
Also about the kernel on this phone, I've been trying to port to a tablet with weird kernel images, can you run "file (path to android base kernel image)" - if it says ForPro FPT or similar I will be very very interested in how you got this phone to boot into rootfs. Very interested in the progress you've made though :3 Thanks for the awesome rom!
Click to expand...
Click to collapse
Sorry for delay in my reply.
The necessary repos in github are:
local manifest
dhd (in here the dhd submodule has to be refreshed from mer-hybris repo upgrade-3.2.1 branch)
droid-hal-i9100
droid-hal-version-i9100
android_device
kernel
The file (path to android base kernel image) command gives me: "Linux kernel ARM boot executable zImage (little-endian)"
A new image has been generated and can be downloaded. This one includes the patch of reusing the two softkeys (each side of the home button) and they do work as a notification leds!
Currently I am working on the mobile data and bluetooth (this latter partially works but is not reliable yet).
You're a g! I just bought an i9100M (different radio ).
I do recall ofono being unfriendly towards older RIL versions, galaxy nexus afaik is unfixable in 2.0+. However, if you have any service that is exciting! I can't wait to setup my environment and play around with this! If i9100M has a different partition layout/mount points (you know how samsung is) I will blow my brains out. How is camera working? Does this image include gstreamer/droidmedia?
You've probably got this sorted way better than I could hope to sort it! I'm shocked this doesn't have more replies.
EDIT: I noticed you have a complex patch for the pixel ratio. Have you tried just setting it in your patterns?
Galaxyninja66 said:
You're a g! I just bought an i9100M (different radio ).
I do recall ofono being unfriendly towards older RIL versions, galaxy nexus afaik is unfixable in 2.0+. However, if you have any service that is exciting! I can't wait to setup my environment and play around with this! If i9100M has a different partition layout/mount points (you know how samsung is) I will blow my brains out. How is camera working? Does this image include gstreamer/droidmedia?
You've probably got this sorted way better than I could hope to sort it! I'm shocked this doesn't have more replies.
EDIT: I noticed you have a complex patch for the pixel ratio. Have you tried just setting it in your patterns?
Click to expand...
Click to collapse
I am not sure what you d understand under 'any service' but except the mobile data, everything else works fine (calls in/out, texts in/out).
I don't know the difference between the i9100 and i9100m but on the internet you probably can find something about it.
One suggestion, before you start porting, install an android onto and boot into that and note the mounting points. This can save a little time when you need to set the fixup_mountpoints in hybris-boot.
The camera works but only for pictures. The video recording doesn't work. I think this is down to the cm12.1 base what I used for my port. I think gstreamer/droidmedia are there but am not sure.
I think the reason why this doesn't get more hype because this is a very old device and except some old fashioned folks like us, not many are using anymore. I don't mind it because this is my hobby. I am going through a to-do list until all I wanted works.
Currently, as the new version 3.3.0.14 is out) I am working on to update my port to 3.3.0.14. Unfortunately currently there is no OTA but hope eventually it will be sorted.
Changing the pixel ratio is not essential as the default 1.0 is ok-ish. I have found the 0.82 better so I included the icons into my image. As the script (kimmoli-diyicons.sh) is also included, we just need to run one command as root. I may try to set the 0.82 out of the box but currently it is not my to priority. As I will need to re-build everything for 3.3.0.14, I will try to set 0.82 in the pattern file.
Please keep me posted with your progress.
edp17 said:
The camera works but only for pictures. The video recording doesn't work. I think this is down to the cm12.1 base what I used for my port. I think gstreamer/droidmedia are there but am not sure.
Click to expand...
Click to collapse
You'd 100% know if you built gstreamer, it's specified in the middleware section iirc and you have to uncomment it from your patterns. I hope it's easier to build nowadays. Also I noticed your port wasn't on the mer-wiki, if I remember my login is it okay if I add it :3 ?
EDIT: https://wiki.merproject.org/wiki/Adaptations/libhybris#Samsung - I added it to the bottom. creditted you in the edit note. you can create an account on the mer bug wiki and use it to edit the tables. I'll also be closely following this and editting it to match your progress. Tell me if you'd like any values changed!
Galaxyninja66 said:
You'd 100% know if you built gstreamer, it's specified in the middleware section iirc and you have to uncomment it from your patterns. I hope it's easier to build nowadays. Also I noticed your port wasn't on the mer-wiki, if I remember my login is it okay if I add it :3 ?
EDIT: https://wiki.merproject.org/wiki/Adaptations/libhybris#Samsung - I added it to the bottom. creditted you in the edit note. you can create an account on the mer bug wiki and use it to edit the tables. I'll also be closely following this and editting it to match your progress. Tell me if you'd like any values changed!
Click to expand...
Click to collapse
I remember that I built gstreamer and un-commented the related stuff in the pattern file. I don't know whether easier to build now because I don't know how difficult it was before. I only can compare this project against my hammerhead one a few months earlier. For the hammerhead I needed to build the image with MIC, now the rpm/dhd/helpers/build_packages.sh command does everything for you. (For this you need to export the RELEASE, EXTRA_NAME values in your .hadk.env)
Unfortunately I still don't have OBS account so I couldn't add this device into the wiki. Thank you for doing that! Unfortunately new account creation on the mer bug wiki is restricted at the moment.
I have checked the wiki you have added and if you don't mind I would like you to amend a few things:
LED works (the two softkeys have repurposed as notification leds)
GPS works
Sensors Gyro and Magnetometer both work
(I need to double check the RTC alarm and USB net.)
I updated the page. I was going to set up my build env but seeing your row in the adaptations page made me realise you're so far along, and there isn't anything I could really do to push things forward by much. Once you get data and camera working this is pretty much one of 2 daily driver stable samsung sfos ports. Congrats :3 !
Galaxyninja66 said:
I updated the page. I was going to set up my build env but seeing your row in the adaptations page made me realise you're so far along, and there isn't anything I could really do to push things forward by much. Once you get data and camera working this is pretty much one of 2 daily driver stable samsung sfos ports. Congrats :3 !
Click to expand...
Click to collapse
Thank you for the update and for the congrats but I think it is only partially my merits. I probably couldn't done this without the help of sailfishos-porter guys.
As I mentioned in the main comment, I am using my S2 with this image on it as a secondary phone already. Mobile data is not crucial as my main phone can be a hotspot and with my S2 I can connect to it via wifi. Of course this doesn't stop me trying to make that work. (The BT was almost done but I then broke something.)
The camera is a different story. Afaik the video recording generally is broken in the CM12.1 base that I chosen for this device. (That doesn't work on my hammerhead which is also using CM12.1 base.) So I think that will remain outstanding unless I try to port with a different android base.
I think will stop with this for while because the new version (3.3) is out soon and would like to upgrade to it first, then continue working on the missing bits.
Video recording works in the latest scm12.1 snapshot (YOG7D). I wish they hadn't tanked the old etherpad faq, I swear I saw something about hybris 12.1 specific video recording stuff.
If I can find another sub 20 USD i9100 I am definitely working on this, but since my i9100m is my daily driver and dualbooting isn't as easy as with other devices (espescially since YOG7D doesn't have isorec committed ). Thanks for getting so much done though, You have no idea how much it means to me that Sailfish OS is available for our device, and so stable too! :laugh:
Galaxyninja66 said:
Video recording works in the latest scm12.1 snapshot (YOG7D). I wish they hadn't tanked the old etherpad faq, I swear I saw something about hybris 12.1 specific video recording stuff.
If I can find another sub 20 USD i9100 I am definitely working on this, but since my i9100m is my daily driver and dualbooting isn't as easy as with other devices (espescially since YOG7D doesn't have isorec committed ). Thanks for getting so much done though, You have no idea how much it means to me that Sailfish OS is available for our device, and so stable too! :laugh:
Click to expand...
Click to collapse
I think the video recording also works in cm12.1 on the android side, but the problem is a, between the android and Sailfish or b, on the Sailfish side. I am not sure but when I tried to fix it on the hammerhead (same cm12.1 base) I was told the recording was broken in general with cm12.1 base. I'll see how it works (what I can do about it) after Sailfish 3.3 is out.
Have you thought about to purchase a cheap android phone to use as daily driver and using the i9100m for your Sailfish project? (You probably can get a decent second hand android phone for sub 20 maybe with better spec than the i900.)
Thanks again for the kind words. This phone (the S2) is my favorite old friend. It is indestructible . I have soft bricked so many times and managed to install many other OS but as couldn't find Sailfish OS, so I though worth a try to port. And with support of the Sailfishos-porters guys, my dream became real :good: .
Sailfish
Wow, great. I installed and the system works! Bluetooth does not work after installing the packages, but bluetooth-rfkill-event- * are not installed (error). There are few programs in the system, however. Especially browsers, the standard one hangs up (maybe there is a third-party?). Slightly slows down, but bearable.
By the way, are you not working with @linusdan? It also seems to be working on the port github com /sailfish-i9100 (link)
Sorry no link rights.
P/s By the way, I saw on the postmarket wiki site for i9100 about working kernels for our device. Available: kernel version 4.2 or mainline kernel
S2UserRU said:
Wow, great. I installed and the system works! Bluetooth does not work after installing the packages, but bluetooth-rfkill-event- * are not installed (error). There are few programs in the system, however. Especially browsers, the standard one hangs up (maybe there is a third-party?). Slightly slows down, but bearable.
By the way, are you not working with @linusdan? It also seems to be working on the port github com /sailfish-i9100 (link)
Sorry no link rights.
P/s By the way, I saw on the postmarket wiki site for i9100 about working kernels for our device. Available: kernel version 4.2 or mainline kernel
Click to expand...
Click to collapse
I am glad you managed to install it. Have you tried to re-partition the internal memory as I advised?
Yeah, the bt and mobile data is still WIP status. Hopefully will have some time to complete them soon.
For the browser, the native one doesn't hang for me. You can try to look for and install one from the openrepos. (I suggest to install the Storeman as you will find more useful apps for Sailfish OS.)
I don't know linusdan but have seen he has checked this post already. Hope he also found it useful.
I am aware of the postmarketos for the S2 and tested it on my S2. At that time (about a year ago) there was no mainline linux kernel option for the S2. Unfortunately the mainline kernel doesn't help with Sailfish because the Samsung proprietary blobs are missing from there. This means Sailfish wouldn't work. It needs the drivers from the Android layer.
S2UserRU said:
Wow, great. I installed and the system works! Bluetooth does not work after installing the packages, but bluetooth-rfkill-event- * are not installed (error). There are few programs in the system, however. Especially browsers, the standard one hangs up (maybe there is a third-party?). Slightly slows down, but bearable.
By the way, are you not working with @linusdan? It also seems to be working on the port github com /sailfish-i9100 (link)
Sorry no link rights.
P/s By the way, I saw on the postmarket wiki site for i9100 about working kernels for our device. Available: kernel version 4.2 or mainline kernel
Click to expand...
Click to collapse
I forgot to mention that there should be a folder '/edp17packages/bluetooth' where you can find the missing packages for the bt. Once you installed it, probably only need to tweak some config files and need to create some scripts. I currently started working on it.

Categories

Resources