In the spirit of right to repair, self-hosting, giving a second life to old devices, and limiting data collection by car companies:
What are some considerations?
Are there any projects worth keeping an eye on?
An example that came to mind was Valetudo, which is a cloud replacement for vacuum robots enabling local-only operation. Some robot vacuums are easy to install this on, and others require more invasive modifications.
What I've found so far:
FreedomEV, a project that was presented at FOSSDEM 2019 but doesn't have recent activity
TeslaMate, which is a popular and active selfhosted data logger for Teslas, but not necessarily a replacement for the software
Depends what you want to do. They don't require a network connection to operate as a vehicle. So if you don't care about the remote app features (local ones such as lock/unlock still work over BLE), live traffic, streaming music or updates, then a network connection isn't necessary.
If you do want any of those features, then you would need to either get root access to the gateway and infotainment systems to modify the endpoints or take over the C&C server (formerly named "mothership") domains and certificates.
The right to repair. It's going to require the ability to make changes to the software on the vehicle. At a minimum the ability to replace the public encryption keys used to communicate with the servers. The bootloader and software is probably locked behind signing keys; so you need to be able to disable or add your own keys. I doubt anyone has access to the full protocols used to communicate with the servers. So, the full technical standard need to be released (which is never going to happen) or reversed engineered through unencrypted traffic analysis and reverse engineering the software.
A good right to repair law could require some of that be releasable while the company is still active or all if the company goes belly up. IIRC there was a smaller EV company that went bankrupt and there was a concern that once the servers were shutdown the vehicles would be bricked. Not sure what happened in the end. In any case, cars as IOT is the stupidest idea ever created.
Assuming that Tesla goes bankrupt, actually shuts down forever, and shuts its servers down…
At a minimum someone would have to find out where the software sends and receives data from. Then you’d have to reverse engineer the software to control the vehicles.
Then you’d have to reprogram the software to send to your C&C server. I don’t think it would really take all that much to host that… it’s getting there that’s difficult.
If I had a Tesla and someone smart enough to hack into I wouldn't doubt I could probably figure out how they build their dashboards and reverse engineer them, they're most likely browser based or qt or something like it. It'd be too costly to do it in anything else and Id bet many spacex dashes are the same tech. But I ain't rich enough to get one of those things so someone else has to. There's only so many ways to draw pixels on a screen in the name of profit
Yeah it'd be a LOT of constant wireshark and reverse engineering to figure out every API it calls. Then probably something in the middle to sit on the host, need to figure out https certs since you'd be spoofing the host, and of course making sure you get the responses absolutely correct.
Not impossible, but it's not trivial anymore either.
Something else that people don’t think about besides the backend server is the connectivity. A lot of these cars use LTE with eSIMs that can’t be replaced, and getting an internet package for it will be next to impossible since Tesla gets them at bulk rates. Once upon a time cars did allow “bring your own SIM cards” but not anymore. Also as cars get older the cell networks get shut down. Some companies did offer upgrades but that was few and far between. Most just said “sorry, you’re SOL”.
So even if you could hack your car, your car won’t have any way of talking to a custom endpoint.
I mean, what’s the alternative? It’s not like it has to have internet. Anything internet connected is mainly quality of life:
Traffic
Remote (app) features
Music
Except maybe Teslas, damned if I know what they do. But they’re nice to have things that generally require realtime updates but the car functions just fine as a car without it.
I think I mentioned it in another post but Schwaticars are a bit different. Though I’d assume they’d have to have some basic functionality in the event of an outage. “Always on” hasn’t come to cars… yet
probabaly full replacement of the motor controller and user facing hardware. basically a diy ev conversion using tesla motors but converting the tesla itself. you would lose features but they would be lost regardless.
You or anybody, even huge masses of people, have zero impact on the stick, zero point several hundreds of zeroes of impact. Even if all magahats invested at the exact same time. The institutions, mainly brokers, have full control of bundling all investments and settling outside of the market. What the stick does is what very wealthy hedgies decide it should.
An initial goal would be to use the vehicle without it phoning home. Would the TeslaMate project be sufficient for that?
Long term, would it be possible to replace the software running on the car's console? Or would it be better to tear out the console and replace it with something else?
Alternatively, what would a recycling/conversion program look like?
First, second and third most important point is :
Tesla needs to allow the connection to an alternative server.
The fourth should be access to the api and data that are exchanged.
You shouldn't mess with the FW of your own car even for some innocent feature like this one, you don't know/understand the interactions that may happen between different Sw components and the hw layer, you can not provide a similar of level of testing, including some worst case scenarios, that can make your car unsafe during some problems or unforeseen conditions. And perhaps also, the car could loose its license for driving....
If tesla allows that, then we can start speaking about it. But last time I check on that was not possible
That mentality is how we got here in the first place. A person should have a right to understand and repair/modify everything happening in devices they own. Because they don't, we get stuck in the shitty situation where Elon Musk can unlock any Tesla he pleases and I can't refuse to send my data to him. Or any other car manufacturer. Or tractor manufacturer. Or IoT manufacturer.
Mixed feelings on this. Yeah, you buy it you should own it. But if your ability to fuck with a two-ton rolling death machine puts my ass at risk, we've got a fucking problem.
Yeah, the potential for real hazard to life and limb is very high here. This isn't like fucking around with your IOT lightbulbs. This could kill somebody.
Open source "hacks" need a big pool of people who want something to seed a few brilliant souls to develop it in their free time. It has to be at least proportional to the problem.
This kinda makes sense for robot vacuums: a lot of people have them, and the cloud service is annoying, simpler, and not life critical.
Teslas are a whole different deal. They are very expensive, and fewer people own them. Replicating even part of the cloud API calls is a completely different scope. The pool of Tesla owners willing to dedicate their time to that is just… smaller.
Also, I think buying a Tesla, for many, was a vote of implicit trust in the company and its software. It’s harder for someone cynical of its cloud dependence to end up with an entire luxury automobile.
That connection I expect to be secured by using signature keys that are private and would need to be released by Tesla to allow anybody connect its car to a different back end.
And remove the need for keys to exchanged and suddenly the impossible is possible. Access to the hardware can always beat any software, it just needs wits. It has to communicate over some sort of NIC or other chip that can be desoldered and replaced with a custom firmware. Or its pins might have a Linux socket connection. Who knows how many insecure holes are there once you have access to the boards. Once you get there it, and enough people care to do it, it can be as easy as an ifixit guide away with an open source board or something, or hopefully just a flash of firmware away.