err4o4 / spotify-car-thing-reverse-engineering

411 stars 5 forks source link

Method to switch between boot slots #5

Open lmore377 opened 2 years ago

lmore377 commented 2 years ago

The car thing seems to have a way to fallback to the previous version of the OS if something fails on the latest one, similar to newer android phones and their A/B partition layout.

Switching method:

  1. Plug in car thing
  2. Wait for Spotify logo to appear then wait an additional second
  3. Unplug it, never actually letting it load the OS
  4. Repeat the above steps 8 times
  5. Leave car thing plugged in on the 8th time

This should force it to go back to the previous OS version then if you do the same thing again it'll go to the latest one.

lmore377 commented 2 years ago

The two versions I have on my car thing currently are Latest: App: 0.38.3 OS: 8.0.9

Original: Purchased Sep. 2021 App: 0.24.107 OS: 6.3.29

risograph commented 2 years ago

This should force it to go back to the previous OS version then if you do the same thing again it'll go to the latest one.

Does this fallback to the version installed on arrival or just the previous version?

lmore377 commented 2 years ago

I'm not too sure since I've only had one update since I got the thing but I'm just assuming it goes to the previous version

risograph commented 2 years ago

I'll play with this later, and I'll lyk what my results are. However I am not sure how many updates I've received, do you know if it updates automatically?

lmore377 commented 2 years ago

Yeah if you go to the Spotify settings then car thing it'll tell you the current firmware version and whether it's updating or not. There's no option to manually update or anything but if you go to that page while on older firmware it does attempt to update

risograph commented 2 years ago

Ohh okay, is the solution to that just to unplug or will that end with a spotify-shaped brick.

lmore377 commented 2 years ago

Since it has the two boot slots theoretically the only thing that can normally brick the car thing is if there's some sort of hardware failure. Again, it looks like the update process is a bit similar to Android seamless updates so it won't actually try to switch over to the other firmware version until it's completely done installing in the background.

Edit: unplugging car thing in the middle of an update won't cancel it. I need to test it again but it seems like if you unplug it while the update is transferring from the phone it'll just pick up where it left off next time you plug it back in

risograph commented 2 years ago

Just attempted to perform this. It updated itself in the process.

Initial: App - 0.36.38 OS - 7.3.9

After: App - 0.39.11 OS - 8.1.6

I am ashamed.

everettperiman commented 1 year ago

As a heads up I recently received a from Spotify new device with App Version 0.24.107 and OS version 6.3.29. Shipping date was ~10/8/2022. This info might be useful for the future.