-
Notifications
You must be signed in to change notification settings - Fork 4
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
Firmware images for the Car Thing #22
Comments
now that you have been able to get a factory FW, is it possible to edit part of the boot scrip and flash the new FW? I am trying to figure out how hard it would be to disable the premium check, so that we can use the regular spotify account. What would we need to do to accomplish that task? when a mobile device is synced with the car thing (for the first time) every new boot starts up at the media screen and then the "need premium account" splash screen takes over. However, the media (whether spotify or other) continues to play in the background. Any thoughts? |
The webapp can be edited on versions that use chromium so we can probably bypass the premium screen like that but I'm not entirely sure if qt-superbird-webapp would respond to commands from it. I'll poke around with that a bit. |
That would be great to know if that will work, I appreciate the reply and for looking into it for me! With my limited knowledge and skill set - I know for a lot of us having a custom firmware we can flash with usb connection to PC with a file would be amazing! It sounds like we might be a ways off from flashing custom FW? |
Thank you! It is all beyond my scope. I am sure someone will get there. I might try and play around with it a bit and see what I can find out. As for the FW dump and the second screen you are working on, are you working on anything specific either app wise or hacking? A few of us on r/carthinghax have been posting some updates (that I have not seen on GitHub) you should come and say Hi! |
Hey that worked! The preset buttons still aren't working but everything else works as expected and even hey spotify listens now. I'll try the playondemand flag to see if that gets presets working |
Oh wow. Let me know if it does. I'll scan the code a bit more and see if I can find the cause for the preset buttons if that's not it |
Didn't work but I just realized that just the canUseCarThing flag lets you pick the song you want to listen to on playlists that normally only allow shuffling (sidenote, i'm finding some good music that my normal spotify account would never play unless i looked for it lmao) |
This method might control presets?
Looks like it says presets enabled when:
It's worth clearing out one or two of them at a time and seeing what happens |
I think if you delete de is there any other functions that call this method ? |
Real quick, do you know of any good ways to clean up js code? The main.js file is just massive and every website I tried just failed when trying to upload it. It even makes the default ubuntu text editor freak out a bit lmao |
You can put it into: That will format it better so it's easier to parse through. Its still going to be compiled in to minified code but at least it will have line breaks and spaces |
I usually use vscode to clear the code, it works pretty well. Can you upload the file you're trying to clean, I don't have access to a car thing as by now. |
It's just main.js. If you want I can forward the websocket from my car thing over ngrok or something so you can play around with the webapp |
That would be great, if you don't mind, or if would be easier to you can send me the webapp folder |
Thank you both for working on this! I figured there would be 1 string of code that has a “true” variable for Spotify premium check. I realized that there are a few hard stops in place. 1 when the device is first booted to get to the tutorial (passed the phone connection) the other one is after the phone has already connected. An interesting finding is that once you have passed the initial connection, after restart it defaults to the media playback before the “need premium” error. |
@williamtcastro The webapp.zip I linked a few comments above is the whole webapp. It just stays blank (and spams websocket connections to the point of crashing a chrome tab) until it connects to a daemon running on the car thing. Just give me a bit ngrok isn't sending my password reset email |
I don’t know if this is relevant (credit to nulld3v on Reddit) created a modified APK for android devices - I am using it on my tablet to connect to car thing works without premium. Here are his notes: For future devs/modders, here are the modifications included in this APK if you want to update this patch for a newer version of Spotify or something: |
@williamtcastro got it to work finally. In main.js just replace ws://127.0.0.1:8890 with ws://8.tcp.ngrok.io:10907 |
Got working here |
For the preset keys its 1,2,3,4, for power/settings menu it's M, enter is select, esc is back and left/right arrows simulate turning the wheel left and right. Let me know if you want me to test hey spotify because that only uses the mics on the device itself |
thank you @lmore377 was able to get things going with your newer image. |
The connection is kinda slow but I've manage to clean the code and reading the functions |
I'll heart some random playlists and stuff so that way there's a bit more to play around with. Feel free to play/pause and adjust the volume. The device it's connected to is muted anyways |
I restarted the daemon on the car thing itself so you can try again. I'm honestly not surprised it died considering its being forwarded multiple times (adb then ngrok). Also I don't think the daemon likes having more than one connection at the same time lol |
Yeah the connection is not working, I'll be heading off for today, but I'll receive my carthing by the next week, and I'll try to tinker with it asap. |
Alright sounds good. I'll poke around a bit more in the js file now that my text editor can actually open it |
I recommend reverse-sourcemap for un-minifying the webapp into multiple files and directories. It won't run since the paths are all messed up and it doesn't generate a package.json, tsconfig.json, etc., but it works nicely for readability |
Looks like spotify might've originally planned to allow non premium users to use car thing. There's functions that check if there's an ad playing and disable playback controls if there is. |
Got presets working! You just need to also delete
"Hey Spotify" will be disabled on every reboot but you can just turn it on in the options menu. Also just pair to it through your phone settings. That'll bypass the premium popup when trying to pair it thru the app settings |
This is amazing! I am excited to get the new firmware flashed. I am using a Mac, is it possible to boot and run ADB using this? What tools/software do I need to get this running? |
I think you should be able to do it on Mac as long as you have libusb installed. Use one of these to put the car thing into burn mode: https://github.com/bishopdynamics/superbird-tool Then just run undump.sh in the folder with the dump. There's also a text file in there with all the changes I've made |
@lmore377 the original repository from frederic won't work - it's a binary compiled for Linux, and macOS, albeit *nix compliant, can't run that. The superbird-tool repo however works perfectly on macOS! |
.... And what about windows? 😅 |
It works on windows too! |
Received mine yesterday and I'm already on track to try some new things. just got a few problems regarding the version, since mine is in 6.39, and trying to update it to the v8 |
Manage to update to v8 using the provided latest firmware from @lmore377 and using @bishopdynamics toolkit in macOS Steps:
|
@lmore377 I've tried to replicate again the non-premium version and I've found out that is easier to change all the I'll soon be creating a repo with a step-by-step process to a non-premium carthing version. |
I've managed to by pass the setup process and create a nonpremium version already setup, I'll soon be posting it here. |
Finally I've created the repo with the installation process: https://github.com/williamtcastro/carthing-non-premium-spotify |
i wonder can we get the websocket binary things ?? maybe can i run it locally without car thing ? |
i try to run the binary but it seems to be broken ???
|
Firmware dumps, OTA updates and premodded images can be found here:
https://mega.nz/folder/NxNXQCaT#-n1zkoXsJuw-5rQ-ZYzRJw
If you have any carthing related files you want to upload, upload them here then make a comment on this issue. You shouldn't need a mega account but if it's giving you issues let me know. It'll also be completely anonymous if that's something you care about.
The text was updated successfully, but these errors were encountered: