Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

My adventures in gaining control of my car

This site may earn commission on affiliate links.
The only reason I can think of for rooting would be to unlock better performance for refreshed 60D,70D, 75D and nose cone 70D. Tesla handicaps those models in performance through software.

Really? What performance is that? I thought the reason they couldn't perform as well is that they have fewer cells/less voltage and can't perform at the same level as a 85D/90D.
 
  • Like
Reactions: msnow
I know the ultimate goal for Tesla is to remove car ownership.

The ultimate goal of Tesla is to reverse global warming and save humanity. Space X is to colonize other planets, so if we destroy the Earth, humanity continues. That is why I'm buying a Model S, I don't need one, but I do want to support the foremost company that is trying to save the world, and has a reasonable shot at doing it.
 
I don't know how "right to repair" came into the discussion that is occurring in this thread.

Because Tesla broke OPs car and he wants to repair it. The backend services stopped working on his version of the firmware and the solution Tesla provided was to upgrade the firmware, which he doesn't want to do.

So he wants to repair the firmware to work again and yes, that's a valid "right to repair" issue.

It's actually very unprofessional on Tesla's end. The backend services should be versioned and tied to specific firmware revisions. An older firmware should never stop functioning properly.
 
You can write user space applications with no requirement to release the source code, because you are not extending Linux, you are writing code that runs on the operating system. Just like running Firefix on Windows doesn't make it part of Windows. It is no different whether you are running a desktop application or an embedded application.

Yup, this is 100% correct, but there is a caveat.

Those who have rooted the car confirmed that the car is running on a fairly old version of the Linux kernel. The only reason to do that is if they patched the kernel. If they did that, they have to release the modifications. Those modifications would only be interesting to competitors and to those looking for exploits in the kernel. All the interesting stuff would be in the user space, as you said.
 
  • Informative
Reactions: dhanson865
Because Tesla broke OPs car and he wants to repair it. The backend services stopped working on his version of the firmware and the solution Tesla provided was to upgrade the firmware, which he doesn't want to do.

So he wants to repair the firmware to work again and yes, that's a valid "right to repair" issue.

It's actually very unprofessional on Tesla's end. The backend services should be versioned and tied to specific firmware revisions. An older firmware should never stop functioning properly.

Tesla didn't break it, Google did through a change in their API and how the maps work. Tesla, however, only will fix it through the firmware update.
 
Tesla is legally obliged to provide said information, since Tesla is using GPL-licensed software in their cars. Alternatively, they can pay the fines for criminal copyright infringment. They are quite likely to take the secont option at this point, given that the infringment is wilful, for-profit, and has been ongoing for three years now. The Linux copyright holders would be well within their rights to refer the case to the FBI by now, though as far as I know they haven't done so (out of politeness, I presume).

GPL allows for commercial use. The only requirement is that any changes you would make to the open-source software you are using would have to be released as open-source as well. If they wrote an application that runs on Ubuntu, that is not the same thing as modifying Ubuntu. In the same way I don't give any license to Microsoft when I write an application that runs on windows... No one would develop software that ran on linux if what you said was the case...
 
Those who have rooted the car confirmed that the car is running on a fairly old version of the Linux kernel. The only reason to do that is if they patched the kernel. If they did that, they have to release the modifications. Those modifications would only be interesting to competitors and to those looking for exploits in the kernel. All the interesting stuff would be in the user space, as you said.

Because the entire system is validated, they can't deploy patches to low level components (like the kernel) without revalidating the entire system, which would be very costly. This is a more likely reason for the older version of the kernel.
 
Because the entire system is validated, they can't deploy patches to low level components (like the kernel) without revalidating the entire system, which would be very costly. This is a more likely reason for the older version of the kernel.

I spent a lot of my life working on OS development, and you wouldn't believe how old the tech in most cars is. A newish peripheral is the GPS unit in may cars, and we know how many years behind the GPS units at Costco they are. At a minimum, the big 3 works on 3 year old tech, and often 5 years old, or more. It is sure that Tesla isn't working on this years Linux.
 
One thing I don't understand is how root exploits are able to survive firmware upgrades. Can someone explain this? For instance, I can jailbreak my iPhone but I won't be able to OTA upgrade it. I seems like Tesla could easily replace the password file and reset the permissions with each update to lock out the user.
 
Tesla didn't break it, Google did through a change in their API and how the maps work. Tesla, however, only will fix it through the firmware update.

Ok and what stopped Tesla from releasing a minor version update to the older firmware fixing the issue?

Can you imagine something critical breaking in Windows 7 and Microsoft responded to users by telling them to install Windows 10?

One thing I don't understand is how root exploits are able to survive firmware upgrades. Can someone explain this? For instance, I can jailbreak my iPhone but I won't be able to OTA upgrade it. I seems like Tesla could easily replace the password file and reset the permissions with each update to lock out the user.

Yeah, you can pretty much kiss painless OTA updates goodbye. You would need to capture the update and update things piecemeal to make sure you don't get locked out. Anyway, it would be a huge pain. IMHO, only worth it if you enjoy this sort of thing.
 
Can you imagine something critical breaking in Windows 7 and Microsoft responded to users by telling them to install Windows 10?

Not quite the same thing. There are a number of times that Microsoft has fixed something in Windows 7 that either breaks, or removes, a different feature in Windows 7. Which I see as exactly the same thing that is happening here. Something is broken, not necessarily that Tesla has control over, the Google API for example, and they have fixed it in the most recent version. I see no need for them to fix the same thing in an old version creating another branch for them to maintain.

I wouldn't be surprised if he ends up getting forced to upgrade as part of a warranty issue. A door handle will fail, or maybe the DU will need replaced, and Tesla's procedures require upgrading the firmware to the current version. Is it possible to fix either of those issues without a firmware upgrade, probably, but I think Tesla has said an upgrade is the only way they do it. (I'm pretty sure that we saw someone that wanted to stay on 6.x get upgraded because of this.)
 
Isn't that exactly what MS does when the support period ends for an OS? The only difference here is that Tesla's support period is much shorter.

Microsoft clearly communicates when that is scheduled to happen. It is a minimum of 5 years. Even after that period, they put out emergency fixes to keep the OS functional and secure.

https://support.microsoft.com/en-us/help/13853/windows-lifecycle-fact-sheet

If Tesla wants to create an end-of-life schedule for versions and clearly communicates that, then it's perfectly fine. You can plan for that. But if you don't publish something like that, the expectation is that software will continue to work as expected for the life of the car.
 
All I want to say is: DMCA.
Nowadays, farmers can't even alter modern John Deere tractors. Large automakers have resorted to say that ownership of the car is separate from owning the code that runs the car. Owning the car gives the owner lifetime license to use the code that's in the car, which means the owner cannot alter or copy the code in the car. OP can technically get into a lot of trouble if he really finds a way in and releases the information to the public, if Tesla chooses to pursuit.
TL;DR: Technically owning the hardware is separate from owning the software that comes with the hardware. Be careful with making any of the information public.
 
Well, exactly as I knew would happen, nobody was capable of even reading my first post in this thread. To the person who helpfully suggested I start another thread with only the technical bits, and leave this one for all the complaining and whining, I would, but I know from experience that the new "technical" thread would quickly be over-run exactly the same way.

The ONLY possible way to make a thread on how to tweak your car without all the haters over-running it is with the help of a moderator or admin, and I don't expect that to happen.

Now, on to my progress update:

Today I did what I previously outlined in "step 1":
I disassembled the dash enough to get at the ethernet connector behind the instrument cluster, and from there I extended jacks down to a more easily accessible location. I now have the ability at any time to connect a computer to either the instrument cluster or centre stack without disassembling the dash again. I didn't time myself doing it, and I was doing some other work while I was out there, but it took less time than I expected, I'd say maybe just over an hour to do enough disassembly, hook up all my new wiring, and re-assemble everything.

I also hooked up my computer and did some quick snooping, there's tons of traffic on the network (as I expected from previous threads) and I've proven "step 1" to be a complete success.

I also did a bit more research, and am getting close to ready to try the next step which is to send the appropriate data on the network to gain access to factory/developer mode. I'll admit that this is the step that's most outside of my comfort zone, I have a fair amount of IT experience, but "hacking" has never been my forte (despite what my high school principal had to say....)

Stay tuned (and I apologize to those who are actually interested in following the technical parts of this thread that they'll have to wade through all the garbage, there's really nothing I can do about it)
 
@green1 please share all the bits and bytes you can. I would love to know how much of the operating system is able to be modified. There are so many things I would like to change about how my Model S operates. And then, when the Model 3 comes out, I hope a lot of this will transfer to it to peak its performance to the max.
 
  • Like
Reactions: hiroshiy
Stay tuned (and I apologize to those who are actually interested in following the technical parts of this thread that they'll have to wade through all the garbage, there's really nothing I can do about it)

We were actually hating on @maratd, but I (for one) am rooting you on.

I think hacking it yourself is a brilliant solution, and can't wait till the next episode ::Getting a large diet coke, some popcorn and getting comfy on the couch in preparation::
 
  • Like
Reactions: Zybd1201
One thing I don't understand is how root exploits are able to survive firmware upgrades. Can someone explain this? For instance, I can jailbreak my iPhone but I won't be able to OTA upgrade it. I seems like Tesla could easily replace the password file and reset the permissions with each update to lock out the user.
The one person we know who could answer that question ain't talking about it.
 
Last edited: