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

Successful connection on the Model S internal Ethernet network

This site may earn commission on affiliate links.
I captured a lot of frame with tcpdump, but now I want to write my own receive program because it's easiest for me to try to understand the data format, convert it and print it in real time after program compilation.

Here are some frame data sent by the center console :

VehiclePowerStatus
VehicleVolatile2
Vehicle
VehicleStateBasics
RADIOText
VehicleConfig
HOMELINKData
RADIOData
RADIODiag
RADIOVersions
RADIOAMFM
RADIOEU
RADIOXM
RADIODAB
RADIOTrafic
ScheduleData
VehicleLowLatencyIndicator
RlsData
VehicleIndicators
AudioState
AudioBasicEqualizerGain
AudioLevels
NetStatus
CellStatus (it's not cell from pack but 3G cell, ie modem internet connection status)
CellStatusExtended (same)
CellDateTime
LinkStatus
GUIMapSessionTesting
GUIOptions
GUIData
GUIChargeSession
GUIShadowForIC
GUIScheduledCharging
GUIScheduledManager
GUIMedia
GUIRunState
CenterDisplayRadioStats
CenterDisplayNetStats
MediaServerInfo
MediaServerStatus
ParrotInfo
WifiStatusMessage
WifiLatchedStatusMessage
BluetoothState
PhoneInfo
EVRecentWHPM
EVTripData
BrowserNetStats
MediaSettings
MediaServerNetStats
NetStatus
PowerState
PowerRequests
ParrotPowerState
DVSM_VehicleVolatileBasics
CANSignalData
 
looks like you can indeed get power state. We've seen before in the diagnostic screens that more information about battery state is available. As mentioned, would help in the various "capacity" discussions here.
 
@chris that would require replacing the application currently running on the touchscreen/cluster with a custom designed one, which would be a challenge if the filesystem is static/readonly like I've been led to believe.

As for warranties, isn't their a clause in most of them which only voids the particular warranty, in this case, on the touchscreen/cluster, if you FUBAR them. Rather than the whole car, that is.
 
Can you post a Wireshark/tcpdump capture of the data for others to take a look? We could write a wireshark dissector to decode it instead of having to write an application to do it.
This. ^^ Just reuse existing tech.
... Although I understand just wanting to use your own program; you then know you aren't missing anything and it is the first step on a custom diagnostic screen anyhow.
 
Very nice. Do you have a pinout for the adapter you made? Wouldn't mind tinkering myself. :)

Pinout :

20140222_164339.jpg


it seems there is no auto MDX, if pair are inverted the ethernet link doesn't work.

- - - Updated - - -

Can you post a Wireshark/tcpdump capture of the data for others to take a look? We could write a wireshark dissector to decode it instead of having to write an application to do it.

There are personal data in some frame, in doubt I prefer to not post a capture here. Or just this frame, I think there is nothing personal :

PHP:
17:40:57.937350 IP 192.168.90.100.36639 > 192.168.90.255.4031: UDP, length 1202
    0x0000:  4500 04ce 0000 4000 4011 ff6a c0a8 5a64  E.....@[email protected]
    0x0010:  c0a8 5aff 8f1f 0fbf 04ba 47b7 0000 0000  ..Z.......G.....
    0x0020:  0000 0090 0000 000a 0000 0000 2200 5600  ............".V.
    0x0030:  6500 6800 6900 6300 6c00 6500 4900 6e00  e.h.i.c.l.e.I.n.
    0x0040:  6400 6900 6300 6100 7400 6f00 7200 7300  d.i.c.a.t.o.r.s.
    0x0050:  0000 0a00 0000 0010 0036 0032 0037 0064  .........6.3.7.e
    0x0060:  0038 0063 0032 0065 0000 0002 0000 0000  .5.c.2.e........
    0x0070:  0000 0000 0100 0000 0000 0200 0000 0000  ................
    0x0080:  0000 0001 0000 0000 0002 0000 0000 0000  ................
    0x0090:  0000 0100 0100 0000 0100 0100 0000 0600  ................
    0x00a0:  402a 0000 0000 0000 0000 0006 0040 2b7b  @*...........@+{
    0x00b0:  7b80 0000 0000 0000 0100 0000 0000 0001  {...............
    0x00c0:  ffff ffff 0000 0000 01ff ffff ff00 0000  ................
    0x00d0:  0001 ffff ffff 0000 0000 01ff ffff ff00  ................
    0x00e0:  0000 0001 ffff ffff 0000 0000 01ff ffff  ................
    0x00f0:  ff00 0000 0001 ffff ffff 0000 0000 01ff  ................
    0x0100:  ffff ff00 0000 0001 ffff ffff 0000 0000  ................
    0x0110:  01ff ffff ff00 0000 0001 ffff ffff 0000  ................
    0x0120:  0000 01ff ffff ff00 0000 0001 ffff ffff  ................
    0x0130:  0000 0000 01ff ffff ff00 0000 0001 ffff  ................
    0x0140:  ffff 0000 0001 0000 0000 0002 0000 0000  ................
    0x0150:  0000 0000 0200 0000 0002 0000 0002 0000  ................
    0x0160:  0000 0300 0000 0100 0000 0000 0100 0000  ................
    0x0170:  0000 0100 0000 0000 0100 0000 0000 0100  ................
    0x0180:  0000 0000 0100 0000 0000 0100 0000 0000  ................
    0x0190:  0100 0000 0000 0100 0000 0000 0100 0000  ................
    0x01a0:  0000 0200 0000 0000 0000 0001 0000 0000  ................
    0x01b0:  0001 0000 0000 0002 0000 0000 0000 0000  ................
    0x01c0:  0200 0000 0000 0000 0002 0000 0000 0000  ................
    0x01d0:  0000 0100 0000 0000 0100 0000 0000 0001  ................
    0x01e0:  ffff ffff 0000 0000 01ff ffff ff00 0000  ................
    0x01f0:  0100 0000 0000 0100 0000 0000 0100 0000  ................
    0x0200:  0000 0100 0000 0000 0100 0000 0000 0100  ................
    0x0210:  0000 0000 0100 0000 0000 0200 0000 0000  ................
    0x0220:  0000 0000 01ff ffff ff00 0000 0001 ffff  ................
    0x0230:  ffff 0000 0001 0000 0000 0001 0000 0000  ................
    0x0240:  0002 0000 0000 0000 0000 0200 0000 0000  ................
    0x0250:  0000 0002 0000 0000 0000 0000 0200 0000  ................
    0x0260:  0000 0000 0002 0000 0000 0100 0000 0200  ................
    0x0270:  0000 0001 0000 0002 0000 0000 0000 0000  ................
    0x0280:  0200 0000 0000 0000 0002 0000 0000 0000  ................
    0x0290:  0000 0200 0000 0000 0000 0002 0000 0000  ................
    0x02a0:  0000 0000 0200 0000 0000 0000 0002 0000  ................
    0x02b0:  0000 0000 0000 0200 0000 0000 0000 0002  ................
    0x02c0:  0000 0000 0000 0000 0200 0000 0000 0000  ................
    0x02d0:  0002 0000 0000 0000 0000 0200 0000 0000  ................
    0x02e0:  0000 0002 0000 0000 0000 0000 0200 0000  ................
    0x02f0:  0000 0000 0002 0000 0000 0000 0000 0200  ................
    0x0300:  0000 0000 0000 0002 0000 0000 0000 0000  ................
    0x0310:  0200 0000 0000 0000 0002 0000 0000 0000  ................
    0x0320:  0000 0200 0000 0000 0000 0001 0001 0000  ................
    0x0330:  0002 0000 0000 0000 0000 0200 0000 0000  ................
    0x0340:  0000 0001 0000 0000 0001 0000 0000 0001  ................
    0x0350:  0000 0000 0001 0000 0000 0001 0000 0000  ................
    0x0360:  0002 0000 0000 0000 0000 0100 0000 0000  ................
    0x0370:  0100 0000 0000 0100 0000 0000 0200 0000  ................
    0x0380:  0000 0000 0001 0000 0000 0000 01ff ffff  ................
    0x0390:  ff00 0000 0001 ffff ffff 0000 0000 01ff  ................
    0x03a0:  ffff ff00 0000 0001 ffff ffff 0000 0000  ................
    0x03b0:  01ff ffff ff00 0000 0001 ffff ffff 0000  ................
    0x03c0:  0000 01ff ffff ff00 0000 0001            ......

- - - Updated - - -

This is very cool, but also scary. Does this void any warranty???
Just reading data will not because there is no modification of the car to do

Lets say perhaps you created a new layout of the dashboard or touch screen - is that possible to upload it via the port?
Cannot answer, don't know what we can do through the ethernet port. Without SSH login/password it is impossible to get a console and enter the system.
 
This is nice! Hooking in here :) Have you tried to list the nfs mounts on the server? Maybe there is some data in there?

Yeah people! This is great. Hack into the car and spread the news!
Can't wait till someone will use that data to break into my car, attach a little electronic box, disable all tracking abilities and drive away!.... Great work! Thanks in advance.
 
Yeah people! This is great. Hack into the car and spread the news!
Can't wait till someone will use that data to break into my car, attach a little electronic box, disable all tracking abilities and drive away!.... Great work! Thanks in advance.
You don't get the point. We do this in public to gather data, somebody else will do this in private to try to steal the car.

If I find a serious security issue I'll report it to Tesla. I'm not trying to break the car, just trying to learn what we can find and report back to Tesla if something serious is found.
I know they can do a firmware upgrade through ethernet, thus I tnink they send the file by mounting the NFS. I tried to mount the disk but it doesn't work, need a valid login/password...
So it was NFSv4 with Kerberos? Have you tried NFSv3?

What was the mountpoint on which server?