New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Random car thing findings #20
Comments
Extra little tidbit, I tried to use the swu file linked in the readme but just got an error. I just pushed it over adb Edit: it likely failed because avb was disabled
|
It seems like spotify actually tries pretty hard to update car thing. Reset it and almost immediately after pairing it to my phone it started downloading the update (figured this out by watching /var/log/superbird.info while connecting) but it fails when avb is disabled. OTAs are stored in /var/cache/ota while downloading and I managed to get the file for the latest version (8.1.6 as of Oct 29). It takes about 6 minutes total for the OTA to download. I'll double check tomorrow but I think the download process can be interrupted and it'll resume where it left off next time bluetooth connects. |
Managed to get an OTA flashed manually. You just need to use the upload-kernel.sh script to boot with adb without disabling avb, push the update over adb then run swupdate-client. |
Can you share the changes you made to the upload-kernel.sh script to boot with adb without disabling avb? |
I didn't make any changes. Disabling AVB is only necessary if you want to permanently enable ADB like with the uart script. Since upload-kernel.sh uploads a modified kernel and boots it from ram it pretty much completely bypasses the AVB verification step. I was planning on modifying the kernel/initramfs of the latest version of the firmware because the one in the other repository is from the factory firmware and doesn't work well with car things that have been updated |
Do you have to do anything to get the update to persist across reboots? I booted using upload-kernel.sh, copied over superbird-os_8.1.6-release_c47e1676f88ebf61796f940713d0423f.swu using adb, ran swupdate-client and got the same output that you shared. After rebooting I'm back to the factory OS Version + Model Number. |
Nope it updated perfectly fine for me. Try doing this to manually switch the active boot slot. I'm thinking it didn't automatically switch for whatever reason #5 |
Got it. Had to change my env.txt from |
We should figure out if there's a way to pull the active boot slot from u-boot instead of having it hardcoded like that. It'll be one less thing to worry about when messing with this stuff |
Managed to find a fw_printenv/fw_setenv that runs on the device and also figured out the config needed for it. This should make it way easier to edit uboot variables. The two binaries were extracted from an older u-boot-tools debian package. I'll link it later when I'm back at my computer |
Can't you just use the |
.....I didn't know that was a command lmao |
I came up with a better command for step 6 in the superbird-bulkcmd repo
This will only put the car thing into usb burning mode when you hold down preset button 4 while plugging in usb. For some reason when trying to set this with only one setenv command the update utility just randomly drops a letter from the command, making it fail and causing the thing to not boot at all:
|
If you pull /usr/share/qt-superbird-app/webapp/, run I feel like qt-superbird-app could possibly run on a raspberry pi and/or other arm devices. It doesn't seem to have any special dependencies and bluetooth seems to just be standard bluez. No practical reason for this it's just for fun tbh |
So I managed to get it running a bit. I can connect the gui to it and it can pair to my phone but immediately after getting song info it just crashes with no obvious reason Edit: Giving up on this for now. I don't want to waste that much time on it |
Great work! did you remove the cover for the wheel button? |
Yeah it's because chrome complains when you run it with --no-sandbox (which is required bc root) and I couldn't reach the little x to close the warning without taking it off. It comes off really easy just pull it off the edge that sticks out a bit then carefully pull forward |
@lmore377 Seems like
|
You need to update your firmware. Earlier versions don't have the web app as a separate folder Edit: give me a bit I'm just going to upload a dump with the updated firmware |
I do have it, it seems to have downloaded it on it's own. For the record, this is with the "adb kernel" booted, haven't done anything to the partitions yet.
|
swupdate is really picky about whether or not it'll allow an update so it could be a number of different things keeping you from updating. I'm just double checking the dump and I'm about to upload it. It'll be ready in ~15mins |
@nervous-inhuman Sorry that took so long my internet was slower than usual. I put it here #22 |
the chromium out of the box doesnt seem to be able to handle ssl correctly. I was able to work around it for my needs by adding |
I'll just be logging random stuff I figure out here lol
Older firmware versions seem to use a very stripped down chromium thing for it's UI but newer versions (not sure when they made the switch) use a much more fully featured copy of chromium that has a new tab page and everything. Easiest way to access it is to edit /etc/supervisord.conf and remove the kiosk and webapp flags from the chrome command.
If you dump the fw from a brand new car thing you can essentially treat that dump like a factory image. A bit more info and a script to flash it are here: frederic/superbird-bulkcmd#12
The text was updated successfully, but these errors were encountered: