Introduction
An earlier post about over the air updates via the smartphone discussed the need for in-vehicle systems to open a secure connection to the cloud, via the smartphone, to verify the integrity and authenticity of software updates. This post examines how to achieve the same result with a USB connection, describes the standard USB connectivity options between smartphone and in-vehicle head-units, and discusses the difficulties of obtaining internet connectivity out of the box with those approaches.
Built-in Modems are not Ubiquitous
As previously established, built-in modems are far from ubiquitous and are likely to remain so for the foreseeable future. Car manufacturers often balk at the added cost of new hardware , as certifying the modem hardware is not cheap and each modem requires a data plan. Consumers don’t want to pay yet another monthly cost when they already have a powerful, always-on device in their pocket. While some automakers will offer a free tier of connectivity that can be used for telematics services, vehicle diagnostics, etc., that pipe would likely be narrow, allowing only essential functionality.
Additionally, the modem itself risks obsolescence as cellular technology evolves over the life of the car. Today’s sparkling and shiny 4G modem will quickly lose its luster when 5G becomes the new standard, not to mention 6G and 7G and on and on ad infinitum.
Connectivity is Needed
When a vehicle doesn’t have a modem, or cannot provide full bandwidth, smartphone connectivity is the best option. Smartphone connectivity can provide internet access to the head-unit for infotainment purposes, such as internet radio streaming, live data (traffic, parking, weather) for the on-board navigation systems, etc. The phone can also collect vehicle data and upload it securely to the cloud for vehicle diagnostics, faster problem detection and reducing vehicle recalls. The smartphone can also be used for updating the software in the car through the “store and forward” model, in which updates are first downloaded on the phone via WiFi and then downloaded to the vehicle when the user brings the phone inside the car. Via secure connection to the internet, the head-unit can verify the updates, and after applying them can report the status to the back-end system.
The high-level requirements for such smartphone-based connectivity are:
-
Any in-vehicle application or a web browser that can connect to the cloud
-
Allows the in-vehicle system to connect to the internet using smartphone’s data plan
-
Supports secure (end to end) connections (TLS/ HTTPS) to the cloud
-
No need for a special data tethering plan
-
No jailbreak / root of the phone
Smartphone Tethering Issues
Both iOS and Android come with data tethering options that allow the user to share the phone’s data with a connected device, requiring the user to switch the phone into data tethering mode. For USB tethering, the user must explicitly switch into data tethering mode every time they connect the phone to the head-unit. For iPhones, the USB tethering is done via iTunes, which needs to be present on the connected device (e.g. PC). In-vehicle systems are obviously not PCs and don’t run iTunes, which is why Apple’s official and approved method to connect the phone with another device uses External Accessory Protocol (EAP).
Even if consumers and automakers were willing to put up with these cumbersome issues, data tethering may turn out to be disabled on the phone by the carrier unless the end user purchases a special data tethering option. In the U.S. it typically costs $10 to $20 extra per month for data tethering. Users can bypass this requirement by jailbreaking/rooting their phone, but that would hardly work as a requirement for official, certified in-vehicle systems.
EAP/AOA/CP/AA are not Enough
The official USB connectivity methods between the phone and the head-unit are External Accessory Protocol (EAP) for iOS and Android Open Accessory (AOA) for Android. It is possible that a given head-unit will also support CarPlay (CP) or Android Auto (AA) screen projection functionality. EAP and CP are the connectivity methods required by Apple for iOS certification.
iOS provides EAP as the main connectivity mechanism with external devices such as head-units. EAP provides the basic peer to peer communication infrastructure, but lacks the components to enable head-unit to achieve internet connectivity (secure or not) via the smartphone. When CarPlay is running, the situation is similar. CarPlay allows for applications to open parallel EAP channels, but without additional components on the phone and the head-unit TCP/IP connection to the internet cannot be established.
Android, on the other hand, defines AOA protocol for USB connections. Like iOS, AOA provides only basic infrastructure but none of the high-level communication stacks (e.g. TCP/IP) needed for internet connectivity. When Android Auto is running, the AOA channel is disabled, and the applications communicate using Google Vendor Extensions parallel channel. AA does not provide internet connectivity via the phone.
Additional Connectivity Solution is Needed
If standard data tethering is not an option and the vehicle doesn’t have a built-in modem has limited bandwidth, the car maker needs to provide an alternative solution for connectivity via the smartphone. This can be done through a smartphone companion application that can act as a gateway to the in-vehicle system and provide access to the internet using the smartphone’s data plan.
Many car makers already offer their customers companion apps for various services including access to the owner’s manual, maintenance reminders, service scheduling, etc. These apps become more valuable to consumers and car makers if they also provide internet connectivity to unconnected cars.
Abalta’s SmartLink is allows companion apps to provide internet access to in-vehicle systems without the need to jailbreak the user’s phone or purchase a special data tethering plan. Our recent whitepaper describes in detail the challenges facing standard USB connectivity options and illustrates how SmartLink provides the missing link to solve these problems.