Closed ivybowman closed 1 year ago
Are you in USB Burn Mode? You can check by running sudo ./superbird_tool.py --find_device
Can you show me the output in your terminal from running that command?
Yep I am
I am having issues with the adb mode in the other tool as well fyi. It would just stay on a logo screen but boot up in the background as normal. https://github.com/frederic/superbird-bulkcmd/issues/14
Hmm, the most likely culprit is some env var got changed and is interfering. Thats going to be difficult to troubleshoot without connecting to the UART console.
In my Readme, i noted that I had some trouble with --boot_adb_kernel
after using --disable_burn_mode
, which messes with the uboot var initargs
.
I haven't figured that one out yet, but I wonder if you're experiencing the same thing
Do you have a near stock emmc dump you could send?
Here is "never booted" and "booted once" https://mega.nz/folder/kdknjb6Q#cgRZxfXogQVlFhqH2WqT1w
Thank you!! I will try this and report back.
I just did some testing on a totally fresh device, and here are my results
# plug in with buttons 1 & 4 held
sudo ./superbird_tool.py --find_device # check that it is in usb mode
sudo ./superbird_tool.py --burn_mode
sudo ./superbird_tool.py --boot_adb_kernel
# result: error, and doesnt work
# plug in with buttons 1 & 4 held
sudo ./superbird_tool.py --find_device # check that it is in usb mode
sudo ./superbird_tool.py --burn_mode
sudo ./superbird_tool.py --enable_burn_mode
# unplug and replug without holding any buttons
sudo ./superbird_tool.py --find_device # check that it is in usb burn mode
sudo ./superbird_tool.py --boot_adb_kernel
# result: no error, blank screen, but adb works
So there is something going on there that I'm missing, I will keep digging
Ok, I found the bug (--boot_adb_kernel
was not sending env.txt contents), and I have pushed an update.
As an example, here are steps to enable persistent adb and usbnet, disable a/b booting, and disable charger check, on a fresh device (I added this to readme too)
# starting from a fresh device
# plug in with buttons 1 & 4 held
sudo ./superbird_tool.py --find_device # check that it is in usb mode
sudo ./superbird_tool.py --burn_mode
sudo ./superbird_tool.py --enable_burn_mode
sudo ./superbird_tool.py --disable_avb2 # disable A/B, lock to A
sudo ./superbird_tool.py --disable_charger_check
# unplug and replug without holding any buttons
sudo ./superbird_tool.py --find_device # check that it is in usb burn mode
sudo ./superbird_tool.py --boot_adb_kernel
# device boots to spotify logo, but app does not launch
adb devices # check that your device shows up in adb
# setup persistent USB Gadget (adb and usbnet)
adb shell mount -o remount,rw /
adb shell umount /etc/init.d/S49usbgadget
adb push S49usbgadget /etc/init.d/
adb shell chmod +x /etc/init.d/S49usbgadget
adb shell mount -o remount,ro / # OK if this step fails
adb shell reboot
# device can take a while to reboot, just watch what the screen does and run --find_device until it shows up
sudo ./superbird_tool.py --find_device # check that it is in usb burn mode
sudo ./superbird_tool.py --disable_burn_mode
# unplug and replug without holding any buttons
# it should boot normally (app should launch), now with adb and usbnet enabled
ip addr # you should see usb0 listed
Thanks! Now sudo ./superbird_tool.py --boot_adb_kernel
does boot fully with the app launching. (After restoring from backup then using the other tool to change the env)
Huzzah! Thanks for testing! Closing this issue, feel free to open another if you find anything else.
This is the command I used
sudo ./superbird_tool.py --boot_adb_kernel
it shows a blank grey screen