I would start the story once again.
When I got the Poco (Start of December) and started development work, I noticed that it worked very badly with the USB ports on the front of my PC. I continued using USB passthrough from my keyboard, but at some point I forgot about this problem and flashed the xiaomi.eu fastboot ROM to test OrangeFox, like I would normally do.
This time, flashing critical bootloader partitions (for some reason, that's what the script will flash first) failed due to bad USB connections.
Unfortunately, fastboot seems to have crashed. You can crash your fastboot if you overload it with requests, so I wasn't able to start the process again without rebooting.
Obviously, the reboot was the last thing this poor Poco was able to do.
Now, as it was in a hard bricked state (no reaction on keys,power, or USB), the only way is to flash using EDL by triggering the test points.
On Xiaomi, unfortunately, you have to use the service center account to do this or pay for shady services.
So in time, I opened my phone, and I also broke the key cable. I broke cables, but I was able to short the test points to start the EDL.
EDL flashing went successfully, even though I couldn't turn the phone on as I didn't have buttons, but the "Poco" splash appeared with battery animation.
I was sadly happy and ordered a new button PCB from Aliexpress.
(more to come...)
When I got the Poco (Start of December) and started development work, I noticed that it worked very badly with the USB ports on the front of my PC. I continued using USB passthrough from my keyboard, but at some point I forgot about this problem and flashed the xiaomi.eu fastboot ROM to test OrangeFox, like I would normally do.
This time, flashing critical bootloader partitions (for some reason, that's what the script will flash first) failed due to bad USB connections.
Unfortunately, fastboot seems to have crashed. You can crash your fastboot if you overload it with requests, so I wasn't able to start the process again without rebooting.
Obviously, the reboot was the last thing this poor Poco was able to do.
Now, as it was in a hard bricked state (no reaction on keys,power, or USB), the only way is to flash using EDL by triggering the test points.
On Xiaomi, unfortunately, you have to use the service center account to do this or pay for shady services.
So in time, I opened my phone, and I also broke the key cable. I broke cables, but I was able to short the test points to start the EDL.
EDL flashing went successfully, even though I couldn't turn the phone on as I didn't have buttons, but the "Poco" splash appeared with battery animation.
I was sadly happy and ordered a new button PCB from Aliexpress.
(more to come...)
💩2😁1
A week later, I resumed development of crDroid, built a very new version, and asked the community if someone could test it.
I got a reply from @Luisrosso, saying that he bricked his phone by flashing xiaomi.eu, but he used EDL test points, flashed MIUI back, and can test my crDroid version.
The very next thing he says is that my crDroid hard-bricked his phone again.
(more to come...)
I got a reply from @Luisrosso, saying that he bricked his phone by flashing xiaomi.eu, but he used EDL test points, flashed MIUI back, and can test my crDroid version.
The very next thing he says is that my crDroid hard-bricked his phone again.
(more to come...)
💩2❤1
A few days later, once he had trigged test points and flashed MIUI once again, he decided to try DerpFest, which hard-bricked his phone in a third time.
This was hilarious, and I didn't believe him. As it's essentially impossible to brick your phone by this, all current ROMs don't flash anything critical at all!
(more to come...)
This was hilarious, and I didn't believe him. As it's essentially impossible to brick your phone by this, all current ROMs don't flash anything critical at all!
(more to come...)
💩2
Yesterday I received my buttons, finally turned my phone back, and the first thing I did was install the same crDroid.
It did brick my phone once again.
(more to come...)
It did brick my phone once again.
(more to come...)
💩1
At this point, I was very amazed, because that would mean that everything that said @Luisrosso was true, and he hard bricked his phone four times in total, three times with ROMs that I had already installed and played around with.
After the whole evening of experiments, code review, and thinking, I was able to solve this puzzle.
(more to come...)
After the whole evening of experiments, code review, and thinking, I was able to solve this puzzle.
(more to come...)
💩1
xiaomi.eu's fastboot script flashes all images to both slots; this is a very clever move by them, so you won't end up accidentally switching slots by flashing Magisk and getting back to the old ROM you had.
The problem is that this Poco has a few bootloader images in the A/B layout, meaning you can have two different bootloaders (simplified, there are many bootloader-related partitions).
Now, every single time (6 times in total), we flashed thought EDL and didn't realize that MiFlash actually flashes only A-Slots and sets them active.
That's why we were able to restore devices as we booted into Slot A after flashing, and that's why every single ROM bricked our device.
(more to come...)
The problem is that this Poco has a few bootloader images in the A/B layout, meaning you can have two different bootloaders (simplified, there are many bootloader-related partitions).
Now, every single time (6 times in total), we flashed thought EDL and didn't realize that MiFlash actually flashes only A-Slots and sets them active.
That's why we were able to restore devices as we booted into Slot A after flashing, and that's why every single ROM bricked our device.
(more to come...)
xiaomi.eu's flash script for both of us flashed garbage into bootloader partitions; hence, that's why it broke our phones.
And MiFlash flashed only A slots, leaving broken bootloader partitions in B.
Every single time we flashed custom ROMs, they unpacked themselves into B-slots and made them active.
(more to come...)
And MiFlash flashed only A slots, leaving broken bootloader partitions in B.
Every single time we flashed custom ROMs, they unpacked themselves into B-slots and made them active.
(more to come...)
What could we do to fix it immediately?
After the first EDL flash, we could flash xiaomi.eu once again, so it'd write working images to both slots, but as we were scared, we didn't do this.
Or we could flash Lineage's copy-partitions zip to duplicate active slots (A) and inactive slots (B).
What can I do as a maintainer of the ROM?
Include flashing firmware into the ROM itself; it should be safer than running Fastboot and would protect from mismatched or broken partitions in the inactive slots.
You also won't need to care about which firmware version you should use with this ROM.
---
Arian, the LineageOS maintainer for this Poco, helped me a lot, and it was essentially his idea about slots that impacted all this.
After the first EDL flash, we could flash xiaomi.eu once again, so it'd write working images to both slots, but as we were scared, we didn't do this.
Or we could flash Lineage's copy-partitions zip to duplicate active slots (A) and inactive slots (B).
What can I do as a maintainer of the ROM?
Include flashing firmware into the ROM itself; it should be safer than running Fastboot and would protect from mismatched or broken partitions in the inactive slots.
You also won't need to care about which firmware version you should use with this ROM.
---
Arian, the LineageOS maintainer for this Poco, helped me a lot, and it was essentially his idea about slots that impacted all this.
Forwarded from opennet.ru
Эксперимент с созданием NPM-пакета, зависимого от всех пакетов в репозитории https://opennet.ru/60392/
www.opennet.ru
Эксперимент с созданием NPM-пакета, зависящего от всех пакетов в репозитории
Один из разработчиков JavaScript-пакетов провёл эксперимент с созданием и размещением в репозитории NPM пакета "everything", который охватывает зависимостями все существующие пакеты в репозитории. Для реализации подобной возможности пакет "everything" связан…
😁1
Forwarded from lean meme xtreme team: paper straw enjoyer edition (🇧 🇪 🇪)
This media is not supported in your browser
VIEW IN TELEGRAM
🔥2❤1🤣1
Forwarded from OrangeFox Recovery Stable Updates
OrangeFox Recovery stable release
Device: Xiaomi Poco F5 Pro (
Version: R11.1_1
Date: Jan 10, 2024, 8:52:00 PM
Changelog:
- Promote to Stable
- Touchscreen fixes for HyperOS firmware
Device: Xiaomi Poco F5 Pro (
mondrian)Version: R11.1_1
Date: Jan 10, 2024, 8:52:00 PM
Changelog:
- Promote to Stable
- Touchscreen fixes for HyperOS firmware
Forwarded from yachu
crDroidAndroid v10.1 Unofficial Alpha QPR1 (Android 14)
for POCO F5 Pro / Redmi K60 (mondrian)
Changelog
* Initial Alpha release
* crDroid 10.1 (https://crdroid.net/blog/2024-01-11-crDroid-10.1-released)
* Android January 2024 Security Update
* Kernel 5.10.189
* Moto Dolby
* EROFS, except for the system partition (remains ext4)
Known problems
* Random stuterrings in the system, would like to get more feedback and logs
* AOD is working only on charging
* FOD icon overlaps bottom text
* FOD enrollment feedback could have visual issues, but it works nevertheless
* More expected to be in Alpha
Telegram group
https://t.me/+REIrxabqqBExOGNi
Download link
https://drive.google.com/file/d/1JSs3Y_5Xi9P9691pVzO922YgMExqbHM1/view?usp=sharing
for POCO F5 Pro / Redmi K60 (mondrian)
Changelog
* Initial Alpha release
* crDroid 10.1 (https://crdroid.net/blog/2024-01-11-crDroid-10.1-released)
* Android January 2024 Security Update
* Kernel 5.10.189
* Moto Dolby
* EROFS, except for the system partition (remains ext4)
Known problems
* Random stuterrings in the system, would like to get more feedback and logs
* AOD is working only on charging
* FOD icon overlaps bottom text
* FOD enrollment feedback could have visual issues, but it works nevertheless
* More expected to be in Alpha
Telegram group
https://t.me/+REIrxabqqBExOGNi
Download link
https://drive.google.com/file/d/1JSs3Y_5Xi9P9691pVzO922YgMExqbHM1/view?usp=sharing
Please write the most adequate question you'd ask IKEA about this instruction
I'd be happy to hear them all
I'd be happy to hear them all