(TL;DR and update at the bottom)
Running a rooted (Magisk Delta) LineageOS 21 (ver. from 27 Sep) on a Motorola Edge 30 (dubai).
Managed to brick it by simply activating the “Invert colours” option in the settings. After doing so the screen has turned off and is unresponsive. Bootloader and recovery work fine. Booting into the actual OS shows the lock screen for a split second before the invert module activates and turns the screen off again.
Even though the touchscreen is unresponsive, the physical buttons/functions still work just fine (long pressing POWER toggles the flashlight as per my settings, and shaking the phone also toggled the flashlight before I rebooted the system). Upon connecting the phone to my laptop via USB, it shows up in lsusb
, but of course doesn’t mount itself since I’d have to open the USB connection settings window in the phone to mount it.
I did some digging and it turns out that this is a relatively common issue. My first instinct was to just go into recovery, connect via ADB and modify the settings file via adb push
or adb shell settings
, but my laptop is not authorised, so I can’t do anything with ADB on it. Trying to authorize the laptop without the screen seems impossible. This, this, and this post, among many others, didn’t work. Anything related to ADB might very well be out of the question, because even though adbd
is running as root I still don’t have access to any important parts of the file system without authorization (for reference, the /data
, /sdcard
, /mnt/system/sdcard
, and /system
directories, among many others, are empty). Editing prop.default
or default.prop
ADB properties to enable insecure ADB also doesn’t work as upon rebooting the properties return to their initial state.
Screen duplication and remote input programs like scrcpy
also don’t work as they require ADB authorization to perform inputs.
I tried booting TWRP, but I couldn’t find an image that could boot on the phone. Some got stuck on the boot logo, while some bootlooped ad infinitum.
I’d really like to repair this phone ASAP, as quite a few things depend on it and I was stupid enough not to make a proper backup, with my only one being my old phone containing data up to early September that I haven’t wiped yet.
If I won’t be able to do anything this week, I might be able to do something on the weekend when I get back home and hopefully use adb via my main PC, which should still hopefully be authorized. If it’s not, I could try plugging an external display into the phone and/or a keyboard/mouse in order to authorize ADB.
I know posting this on Lemmy is a bit stupid considering how small the communities here are, but I figured it’d be worth a shot. If this doesn’t work out I’ll post it on XDA or StackExchange
TL;DR:
- Turning on “Invert colors” option in LineageOS 21 for the Motorola Edge 30 (dubai) turns the screen off and makes the touchscreen unresponsive while the phone is in the OS. Bootloader and recovery work fine.
- My laptop is not authorized to use ADB, and as such, I cannot access the file system to modify settings and/or recover data via ADB
- TWRP is not an option as there doesn’t seem to be a valid image for my device
- Screen duplicating programs (ones that I know of at least) cannot work without ADB authorization
- I might be able to authorize the ADB connection by plugging an external monitor and mouse/keyboard into the phone when I get back home
I’m looking for a way to either revert “Invert colors” entirely or at least recover data from the device before I wipe it.
In order to do that I would have to:
- find a compatible TWRP image, OR
- bypass ADB authorization/enable insecure ADB, OR
- plug in an external input device and hope that it works (a keyboard would be the best bet)
Any advice is very appreciated
Update, 12 Oct 2024:
Unfortunately the ADB authorization on my main PC expired, and the phone didn’t support video out via raw USB to HDMI, so I had to just wipe it. Thankfully at least I didn’t lose everything because of my old phone that I haven’t wiped yet, but still.
I did some testing after I wiped the phone and it turns out that the touchscreen is functional, it’s just extremely hard to get any signs of life when you can’t see fuckall. Likewise, the screen isn’t completely turned off, just EXTREMELY darkened. At full brightness the bright blue header of the setup notification was visible with the setting turned on, which was enough to let me navigate back to the setting without much hassle.
If you’re having the same problem, then genuinely try to feel your way back to the setting, this will be even easier if you happen to have a second phone with LineageOS (or any modern Android, really) on you that you can use as a reference. And of course make backups regularly unlike my silly ass. In fact, go do one right now. Just do it. You might thank yourself later. I know I would have.
If your device supports USB-C video, you might have luck with a USB-C dock that has video output; from there, either disable invert colors directly and see if that fixes it and also authorize your current PC’s ADB while you’ve got access. The dock is also useful there since you an use a keyboard and mouse to work the UI.
Beyond that, without ADB being authorized, I can’t think of any solution that would not involve wiping the device’s user/data partition via factory reset in Lineage recovery. Unfortunately, Lineage’s recovery can’t mount the encrypted user partition like TWRP can, and if there’s no TWRP build for it, then you may be out of luck.
I was going to suggest using Lineage’s recovery, enabling ADB (which works independent of the main OS’s ADB authorization), and pulling an image of the encrypted user partition. However, I believe the encryption keys for those are bound to the hardware, so you won’t be able to do anything with the encrypted partition image.
Was also going to suggest trying to boot into safe mode, but I don’t even know if that’s a thing on current Android. What I can find of it is old (2013) and seems to require being able to long-press the power button from the OS. I tried the steps with the physical buttons, but that puts my phone into EDL mode. May still be worth a shot. Note, I don’t know if that will work since it seems to just disable certain 3rd party things rather than an OS setting like invert colors.
- Press and hold the power button, then choose Power Off.
- Turn your phone back on with the power button, and hold the power button until you see an animated logo appear.
- Hold the Volume Down button once you see the animated logo appear.
- Continue holding Volume Down until your device boots.
Typically, when I have a device that’s in the “unbricking” phase, the data on it is already considered lost.
Thanks for the write-up! Seems like I’ll have to indeed resort to externals or to my home PC like u/catloaf said.
I also tried booting into safe mode, and after I modified the process you listed a bit I was able to get into safe mode (judging by the brief lock screen flash with Safe mode in the bottom left), but unfortunately it didn’t overwrite the OS setting, so that option is out of the question as well. I could also check if USB/ADB connectivity changes at all in safe mode, but I’m afraid it will not.
Yeah, the home PC or the external devices are going to be your best bet.
Android does have a safe mode, maybe that will skip the invert colors? https://support.google.com/pixelphone/answer/2852139?hl=en
Just fyi, adb authorization resets like every 7 days by default. So if you hope to use your home PC to fix this you should not wait to long
For the future maybe get Termux, make it boot with your system, give it root access and setup ssh in there
And also please, for the love of good never download random TWRP images and install them to your phone. Same goes for Magisk and pretty much anything you do with root/in fastboot/in your recovery. This could open up a HUGE vulnerability in your phone which will not be fixable for you unless you’re willing to spend a lot of time
Okay, so looking it up, seem like the Edge 30 supports ‘Ready For’, which is basically Motorola’s DeX Clone, but I’m assuming your device would need to be unlocked for it to work.
So what I would try is plugging in a keyboard. In my testing hitting the space bar is enough to bring up the pin input on the lockscreen, type your pin in, plug in a external display and hope ready for starts up.
Is it possible by any chance to input a pattern with a keyboard? From what I managed to look up it doesn’t seem like it, but I couldn’t find a definite answer.
Oh god, pattern lock is gonna make this even more complicated 😵💫
From my testing, no you can’t. The pattern lock doesn’t react to the arrow keys or even the tab key at all.
You used to be able to change your pass with Google’s Find My Device, but looking it up now, it seems they removed the option.So now your only real choices are plugging the external display and hoping Ready For shows a auth screen or even starts mirroing the display directly.
Outside of that, the remaining option will be trying to draw the pattern blind with a mouse 😵💫Eh, I’ve done more daunting things before so if all fails I guess I’ll just be mousing away at the phone until i get it. Thanks for the help!
Why don’t you just reflash the LOS image? You can get into bootloader, right? If you are there, just
fastboot flash
the LOS image: https://wiki.lineageos.org/devices/dubai/install/#flashing-additional-partitionsThan you should get to the LOS recovery, from there you can wipe? Or do you need authorization for fastboot as well like for adb?
Or is it a requirement that you need data from the phone?
I need the data, yes. If I didn’t I would’ve wiped it from the start.