I am stopping work on begonia(in). As much as I want to work on it and play around, this is straight up annoying. Also, in 2 days, I won't even have a service center near me.
I'd be happy to help out anyone else making an effort. Most of my work is now public on my GitHub.
So I didn't share a lot of my journey here, medium article maybe? xD
So headphones don't work, but bluetooth works and it plays it on the BT headset AND speaker. Lovely.
So it seems as if the leaked factory firmware for begonia allows preloader to expose its serial connection in case something goes wrong.
(Again, could be wrong on specifics but this is what I've read from leaks and heard from people)
Why is this a good thing? Preloader runs after BROM is done doing its security config. This includes SLA and/or DAA. This allows us to use SP Flash Tools to write partitions! Normally, on the stock MIUI Preloader and LK, preloader wouldn't enable serial at all. The only way to restore the device was by holding volume up and entering BROM download.
(Huge thanks to Nikolay for finding this out, and Sagar & Harshit for trying to brick the device with this firmware!)
(Again, could be wrong on specifics but this is what I've read from leaks and heard from people)
Why is this a good thing? Preloader runs after BROM is done doing its security config. This includes SLA and/or DAA. This allows us to use SP Flash Tools to write partitions! Normally, on the stock MIUI Preloader and LK, preloader wouldn't enable serial at all. The only way to restore the device was by holding volume up and entering BROM download.
(Huge thanks to Nikolay for finding this out, and Sagar & Harshit for trying to brick the device with this firmware!)
Some interesting kernel behaviour with the engineering LK and Preloader:
Forwarded from Harshit J.
Connect the cable and that's the serial output of bootloader & kernel via type C
Forwarded from Harshit J.
Bootloader sets debug props that fuck with kernel drivers to make it behave that way to cmdline
So, Xiaomi's r16p0 Mali driver had changes weirdly knit in from r18 and r20. Thankfully, it wasn't too hard to port and get r20 working, thus :D