Tesla Slacker Radio Is Half-Baked
As a tech geek I’m interested in the tech in my Model S. I also am frustrated with the horribly outdated browser and the half-ass integration of my Premium Slacker Radio account with the in-dash Slacker interface. I love both products but Slacker has been doing half-baked secondary features for years now. Tesla got the media interface “good enough for most people”. In the end Tesla Slacker Radio suffers.
I’m not “most people” especially when it comes to my streaming audio. I want more. I’d like to see all my custom stations when I login to my Premium Slacker account in my Tesla. If Slacker didn’t halfway drop the Favorites feature, the icon now appears on the IOS app but does nothing I could use that. According to Slacker the “Favorites” feature to mark any station as a favorite is being dropped. Tesla disagrees as it is a primary feature when bringing up Slacker stations on their interface.
I can create a custom Slacker Station and get it on my Sonos, through Alexa, and on my mobile apps. I CANNOT get it in my Tesla. I can mark Slacker stations as favorite in my Tesla, and they can be set to be “front and center” on the media app, but I cannot get to them anywhere else. In short custom stations are completely off the radar when it comes to accessing them from the Model S.
Tesla Slacker Radio In The Browser
I could bypass the Tesla media interface. Not my favorite choice as the Tesla UX is far superior for driving mode operation than the typically-horrid mobile app put out by Slacker. It is a million times better than the WEB app put out by Slacker especially for a mobile interface. However there are a dozen stations I’ve built with literally thousands of songs curated on each. I’d really like to have those in my car while on a long road trip.
So I decided I’d just bring up Slacker in the browser. The problem is, as anyone that owns a Tesla will attest, is the browser built into the vehicle entertainment system blows. It doesn’t just kind of fall short, it is a 1998 throw back where NOTHING works. Flash is useless. most page loads are horrifically slow. JavaScript support is half-baked and with 90% of the “useful web” driving with JavaScript and REST or other remote polling technologies the browser is basically useless. And no, Slacker WILL NOT run in this browser mostly because they use Flash. Yes, Flash. As in… you’re kidding right? HTML 5 much? Maybe it’s the browser.
Try A Non-Flash UX
Slacker happens to have an embed HTML interface you can get from your account to put Slacker on your own web pages. I threw a page up on this site and hoped that their embedded JavaScript loader, complete with frames within frames within frames about 6 levels deep might use pure JavaScript. Turns out it does. Until somewhere deep in the bowels of that abomination it barfs up a dropped connection an prevents the player from loading. My guess is is is burying Flash 12 levels deep in JavaScript-induced iFrames and barfs up code bits all the way back to the “station trial discontinued” message.
Time For Some Hacking
I’d rather work on my own project, like Store Locator Plus code or some new projects I’m working on with new business partners. But I also like to hack shit, especially software apps when they don’t work. A little investigation.
The Tesla Model S happens to connect to WiFi when I’m home. This allows it to quickly send data to-and-from the “Tesla Mother Ship” and is the only way to get vehicle software updates. M maybe even a new non-shitty browser someday. It also means you can discover it on the network.
Tesla uses Parrot SA technologies for their WiFi hardware. You an look into the devices connected to your WiFi router and look for the MAC address. Better WiFi routers will have tools to easily look at this information. Since ALL WiFi device manufacturers need to register to get a MAC address before the mass product their WiFi chips you can use this info to detect with some degree of certainty what devices are on your network. One of the Parrot SA registered MAC prefixes is 90:03:B7. The last 3 hex pairs are device specific, only the first 3 are needed to determine who makes a network device. I’ve now marked the MAC address as my Tesla Model S and can easily find its IP address on my LAN when it connects.
The Tesla Network
Information that I gleaned from the Internet that I’m sharing here because the architecture is sound. Having worked on robotic production lines, Fortune 500 corporate networks, and doing proposals for places like DARPA on mesh network perimeter security devices I have some clue what kind of tech a car might employ.
The Tesla Model S itself is a self-contained LAN. It uses either their LTE network or your WiFi as a gateway to the rest of the Internet when needed. Internally it has its own network to communicate between the devices. The “Tesla LAN” uses UDP instead of TCP/IP which is a broadcast/receive to all in no specific sequence. This make sense as you want any device to be able to read and react to any other device in real time even if a packet was dropped in between.
The central console , essentially a deconstructed laptop, has the most ports open (22:SSH , 53:Domain, 80:HTTP, 111:RPCBIND, 2049:NFC, 6000X11) and does the most work. The screens have their own subset of ports (22,111,6000) for display management and there is what is most likely a system management device hanging out on a special TCP listener (23:TELNET, 1050:Custom).
As you can imagine, the Model S opens a VPN through whatever gateway it uses to ensure it has a private channel on which to send data to/from the vehicle. Since it is going through your router you can snoop the packets but the best bet is to get on the vehicle LAN. There is an access port where you an connect a device and become part of the LAN. I’ve got better things to do at the moment and I don’t want to break anything, at least not yet; especially since I’m still under warranty.
An interesting learning exercise and now I’ve created some online notes in case I get bored and a bit more adventurous on another weekend.
My Tesla Referral code for those looking for free supercharging and a $1,000 discount:
http://ts.la/lance6549