Profile picture
, 17 tweets, 6 min read Read on Twitter
So as requested, here's a thread on some AP internals. I lost it twice already trying to paste some pics, so refer to a more expanded version on reddit at: reddit.com/r/teslamotors/…

#Tesla #Autopilot @annerajb 1/
Software is based on Linux Buildroot ][ 2016.05: buildroot.org
they use runit as their init replacement: smarden.org/runit

Of the two nodes the one does absolutely nothing.

here's a pstree: pastebin.com/Nut11kWy 2/
People on prod cars miss a bunch of funcitonality. They miss on real dashcam that lets them annotatte the records and record any camera or combination to a much faster ssd you can just plug into a USB-C on the side instead of slow usb2 in console: imgur.com/a/xcRbn3t 3/
You also miss on AP node current load status, control over which HD maps to use and some localizer behavior.

(also did you notice the C2C maps in the list of maps? that appeared in like Dec 2017 when the failed C2C run happened, that Tesla also failed to disclose to CA DMV) 4/
of the interesting in process tree: the process that does the dashcam is called "backup-camera" - it's totally obvious of course, right? ;)

you'll also see a nice logger error captured in the ps output as one of the arguments (screams code quality) 5/
speaking of code quality, there's this ape-updater process that does updates, it's totally homegrown and quality is absolute shit, a copy of it is present in every Linux node in the car (to ease your rooting attempts j/k) and it has been the most popular attack vector ever! 6/
This is how I and others gained our first entry into this system too. See a tally here (for tech minded): i.blackhat.com/us-18/Thu-Augu…

Anyway, the code apparently was judged "beyond repair" and today it's not allowed to talk even to the internal in-car network! 7/
Instead there's now updater-proxy process that sits between real updater and the network, and performs heavy filtering and validation of all commands and their arguments. Like many new processes, it's written in Go lang and has much better security, (new team hired to do it all?)
Also there's no difference between HW 2.0 and HW2.5 compute nodes, but the reason you cannot get dashcam is because hw2.0 uses RCCC camera filter, so it's a lot harder to get color output from it (or Tesla is too lazy to bother). hw2.5 uses RCCB. 8/
I don't even know what the excuse is not to do the stupid sentry mode on hw2.0 cars! Just because they can't be bothered to write their own color interpolator? Hint, you can do B&W image trivially (and people would still be super grateful because B&W video beats no video any day)
Or they can buy a ready interpolator from people that implemented it already (hint! hint!) After all when HW2.5 was first discovered (by me), Electrek got this clarification from Tesla:
electrek.co/2017/08/09/tes… 10/
oh, while we are at it, people said there's not enough internal storage for stuff. Actually there's 32G of storage on the autopilot node. 10G of it is reserved for the HD maps (hardly any space is used though, at least outside of California), and 10G for snapshots. 11/
So in reality quite a bit of stuff could be stored. In my experiments I can easily store about 25 minutes of (compressed) footage from all cameras + all the detection metadata and canbus logs on internal storage 12/
And on another note - if you ever wondered why cars behind you often don't show on the detections display - this is because the backup cam is SUPER glitchy and the feed often dies down, and when that happens - autopilot just gives up and never retries. 13/
Similar thing happened with IC freeze frame teslamotorsclub.com/tmc/threads/da… but it was fixed relatively quickly due to high visibility. Now apparently the fact that the autopilot often cannot use backup camera is totally unimportant if people cannot notice it, right? 14/
In fact if any OTHER camera feed fails - autopilot wood reboot to regain the feed (you will loose ~2 minutes of AP functionality in process), but the backup cam is unimportant enough (or glitches too often?) to do that? 15/
Well, here's a hint: you do NOT need to reboot entire autopilot node to regain the camera feed, just redo the entire handshake and you should be good. Entertainment node can do it so you on the AP node can do it too!

FIN/
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to green
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!