fancypants' experiments
206 subscribers
124 photos
4 videos
37 links
stuff
Download Telegram
There was some way to keep adb enabled on the first firmware, but unfortunately for me, my unit updated as soon as I connected to wifi (you must realise i had no idea about what this orange contraption was). There are still references in the RabbitLauncher code to enable a factory mode that grants adb but I'm sure this is stripped out.
fancypants' experiments
oh no cringe
Coming to unlocking the bootloader. You can simply unlock it using mtkclient's seccfg commands. But for some reason, I quite often was left with dm-verity issues when using seccfg directly. Don't get me wrong, it did work most of the times, but I wanted a more reliable way to unlock. I opted for pulling partition frp, flipping the last byte, and writing it back to the device. Then booting to fastboot using meta bootcmd/sequence, and issuing fastboot flashing unlock. Since there are no volume keys, it automatically selects "Yes". If frp was updated correctly, the bootloader unlocks normally.
Now, my first plan of action was to just try a GSI. After all, I have no kernel source, and this was not a certified device. Would be interesting to see what a GSI would do, would it even boot?
πŸ‘3
Forwarded from Kshitij Gupta
bootloader unlocked
Forwarded from Kshitij Gupta
Forwarded from Kshitij Gupta
Forwarded from Kshitij Gupta
It does boot, but there's constant crashes, mostly with launcher3. Looking at the logs and some sifting through AOSP, I realised, vendor doesn't have handheld_core_hardware.xml and other standard handheld smartphone permission files & configs.
πŸ”₯4
I copied over the GSI target from AOSP and started working on that, adding what was missing, initial IMS port and figuring out what to do with the keys and camera. For keys, you have 2 approaches:
1. framework keyhandler
2. keylayout
I have both on my tree, but I'm actively using only the framework keyhandler approach, since it lets me retain default behaviour for when someone manages to port a simple rabbitlauncher apk.
πŸ”₯1
That brings us to reversing the rabbit launcher that actually teaches us quite a bit!
πŸ”₯1
step_motor_ms35774 -> camera orientation step motor
och1970_holl_key -> scroll wheel
πŸ”₯1
Further, the most annoying bit of the device is that long pressing power DOES NOT hard reset the device, unless you are talking to preloader or brom, and something has disabled its watchdog.
Forwarded from Kshitij Gupta
was looking at ifixit’s photos and noticed the button (next to the 2 unmarked golden pads)
In the sim tray, theres a very tiny button, if you press this, it hard resets the soc
😱4
The second most annoying thing of this device: the prebuilt kernel. The kernel does not for the love-of-god let you go permissive
good luck auditing denials here :))))
Process to install magisk is much like any other device, I wont dive into it here.
The kernel is a not-yet-open(?) linux kernel:
Linux version 4.19.191-g9f720735273f
Which from what i gather it mtk's last 4.19 release for 6765. Should be pretty easy to rewrite the kernel, but it could take some time to redo ms35774 and och1970 from data sheets.
Adding google services inevitably makes GMS yell at me from every single Google app it has in its arsenal on the device, I'll bother with this later too
https://github.com/RabbitHoleEscapeR1/r1_escape
Here's a (hopefully) all in one script that should automate the unlocking and flashing process on both linux and windows. If someone can help me get mtkclient working on macOS, I'd be happy to add macOS support too.