Accessory Test System
Accessory Test System
User Guide
Version 5.15
Contents
1. Introduction 5
1.1 Purpose of This Specification 5
1.2 Requirements, Recommendations, and Permissions 5
1.3 Developer Preview 5
1.4 Manufacturer Preview 6
1.5 Terminology 6
1.5.1 Accessory, Device, and Product 6
2
Contents
2.5.2 Categories 39
2.5.3 iAP Packets and iAP2 Control Session Categories 40
2.5.4 CarPlay 42
2.5.5 AirPlay 2 42
2.5.6 Copying Trace Data 43
2.5.7 Error Reporting 43
2.5.8 iAP2 File Transfer Session Category 44
2.5.9 iAP2 External Accessory Session Category 44
2.5.10 Measurements Category 44
2.5.11 Hardware Category 45
2.5.12 Summary Category 47
2.5.13 Preferences 50
2.6 USB Vbus Load Test 53
2.7 Accessory Certification Assistant 55
2.7.1 Creating a New Certification Configuration 57
2.7.2 Testing Your Accessory and Submitting Results 60
2.7.3 Reviewing Past Submissions 61
2.8 ATS Utility 63
2.8.1 Software Installation 64
2.8.2 Bluetooth Link Keys 65
2.8.3 CarPlay Performance Tests 66
2.9 Known Issues 78
2.10 Technical Notes 80
2.10.1 About iAP-Over-UART Baud Rates 80
3
Figures and Tables
4
1. Introduction
The absence of requirements, recommendations, or permissions for a specific accessory design in this
specification must not be interpreted as implied approval of that design. Developers are strongly encouraged
to ask Apple for feedback on accessory designs that are not explicitly mentioned in this specification.
5
1. Introduction
1.4 Manufacturer Preview
1.5 Terminology
Statements that explicitly mention iOS, watchOS, tvOS, or macOS / OS X apply only to products running those
operating systems.
6
2. Accessory Test System
This document describes the configuration and use of Apple's Accessory Test System (ATS). ATS consists of:
● A set of real-time tools for diagnosing and debugging the hardware-layer and iAP protocol performance
of accessories.
● A set of automated validation tools for ensuring that new accessories more fully comply with the MFi
specifications.
● Various hardware components for connecting to various types of MFi accessories.
2.1 Overview
ATS is designed to analyze iAP traffic delivered over UART, USB, and Bluetooth transports, CarPlay traffic over
USB and Wi-Fi, and AirPlay 2 over Wi-Fi.
Note: The 30-pin connector is deprecated for new product plans and support will be removed from
ATS in the future along with availability of the ATS 30-pin Box and MFi 30-pin Breakout.
The MFi Portal contains links to Authorized Distributors to purchase the following:
7
2. Accessory Test System
2.1 Overview
A powered USB hub may also be useful to centralize connections for all equipment.
If you do not already have ATS, download it from the MFi Portal (https://mfi.apple.com) or contact your MFi
Representative.
8
2. Accessory Test System
2.1 Overview
For more information, see ATS Smart Connector Box (page 84).
For more information, see ATS Lightning Audio Box (page 83).
9
2. Accessory Test System
2.2 Quick Start
ATS only provides a solution for capturing and validating iAP-over-Bluetooth. For full visibility into
the entire Bluetooth stack, Frontline offers the USB-powered ComProbe BPA 600 analyzer, a tool for
the development of robust and interoperable Classic, low energy and dual-mode Bluetooth products.
For more information about the ComProbe BPA 600 analyzer, see http://www.fte.com/getbpa600.
● If your accessory sends iAP data over the UART transport, it is an iAP-over-UART accessory.
● If your accessory sends iAP data over the USB transport, it is an iAP-over-USB accessory.
● If your accessory sends both iAP and CarPlay data over the USB transport, it is a CarPlay-over-USB accessory.
● If your accessory sends iAP data over the Bluetooth transport, it is an iAP-over-Bluetooth accessory.
● If your accessory sends iAP data over the Smart Connector transport, it is an iAP-over-Smart Connector
accessory.
● If your accessory sends iAP data over the Lightning Audio transport, it is an iAP-over-Lightning Audio
accessory.
● If your accessory does not send iAP data it is a Non-iAP accessory.
10
2. Accessory Test System
2.2 Quick Start
1. Connect an ATS Box to your Mac as shown. For 30-pin accessories, use an ATS 30-pin Box. For Lightning
accessories, use an ATS Lightning Box. For Smart Connector accessories, use an ATS Smart Connector Box.
iOS device
AC/DC plug
Mac
Accessory
11
2. Accessory Test System
2.2 Quick Start
4. For Smart Connector, click Start Capture to begin sniffing traffic. For other connectors, Click Continue.
5. Select the UART transport.
12
2. Accessory Test System
2.2 Quick Start
6. Click Continue.
7. Select the accessory's supported protocol (Lightning connector only).
13
2. Accessory Test System
2.2 Quick Start
iOS device
AC/DC plug
Mac
Accessory
14
2. Accessory Test System
2.2 Quick Start
You may now start using ATS. For more detailed information, see the following sections of this document.
15
2. Accessory Test System
2.2 Quick Start
iOS device
AC/DC plug
Mac
A
Beagle USB 480 Accessory
B
Note: The Beagle USB 480 analyzer must be connected to Port A of the ATS Lightning Box. Port
B must remain empty and is reserved for future use.
16
2. Accessory Test System
2.2 Quick Start
3. Click Continue.
4. Select the "USB"transport.
17
2. Accessory Test System
2.2 Quick Start
5. Click Continue.
6. Specify the role of the Apple device as USB Host or USB Device.
18
2. Accessory Test System
2.2 Quick Start
7. Click Continue.
8. Select a Beagle USB 480 analyzer from the menu.
19
2. Accessory Test System
2.2 Quick Start
9. Click Continue.
10. Select the accessory's supported protocol.
20
2. Accessory Test System
2.2 Quick Start
Note: In order to capture CarPlay traffic, the "CarPlay control session"checkbox must be selected.
You may now start using ATS. For more detailed information, see the following sections of this document.
21
2. Accessory Test System
2.2 Quick Start
iOS device
AC/DC plug
Mac
A
Beagle USB 480 Accessory
B
2. Configure the Advanced Capture Configuration window by specifying the USB transport, the Apple device's
USB role (host or device), the version of iAP your accessory supports, and the ATS 30-pin Box and Beagle
USB 480 analyzer to use.
You may now start using ATS. For more detailed information, see the following sections of this document.
22
2. Accessory Test System
2.2 Quick Start
2.2.6 iAP-over-Bluetooth
1. Configure the equipment as shown.
To Mac ComProbe
3. Click Continue.
4. Select the "New Bluetooth capture configuration"option. Alternatively, you may select "Use a saved Bluetooth
capture configuration"if you have previously started a capture and would like to use the same configuration.
23
2. Accessory Test System
2.2 Quick Start
5. Click Continue.
6. Select which Apple device you would like to capture Bluetooth data from. Click Start Inquiry if the Apple
device is not in the list.
24
2. Accessory Test System
2.2 Quick Start
7. Click Continue.
8. Select the accessory you would like to capture Bluetooth data from. Click Start Inquiry if the accessory is
not in the list.
25
2. Accessory Test System
2.2 Quick Start
9. Click Continue.
10. Follow the instructions on screen and enter the Bluetooth link key in the field.
26
2. Accessory Test System
2.2 Quick Start
27
2. Accessory Test System
2.2 Quick Start
28
2. Accessory Test System
2.2 Quick Start
You may now start using ATS. For more detailed information, see the following sections of this document.
All wireless CarPlay and AirPlay 2 sessions are encrypted. Use ATS Utility to "Enable Traffic Decryption"which
will install the AirPlay Diagnostic Mode configuration profile —that will remain installed for up to six months
—prior to capturing Wi-Fi traffic in ATS.
29
2. Accessory Test System
2.2 Quick Start
In order to capture an encrypted CarPlay over USB session, you must follow the instructions from
Enabling Traffic Decryption (page 29).
ATS can be configured to capture CarPlay over USB using either the Total Phase Beagle USB 480 analyzer alone
or with the ATS Lightning Box. To capture with only the Beagle USB 480 analyzer, use the Advanced Capture
Configuration and disable the "Use ATS Box"option.
In order to capture a wireless CarPlay or AirPlay 2 session, you must be using OS X El Capitan or later.
All wireless sessions are encrypted, so you must follow the instructions from Enabling Traffic
Decryption (page 29). Xcode must be installed and opened at least once before starting a capture.
Xcode can be downloaded from https://developer.apple.com/xcode. Make sure you've chosen to
trust the attached computer on the Apple device before starting a capture.
30
2. Accessory Test System
2.3 Hardware Considerations
ATS can capture CarPlay or AirPlay 2 traffic over Wi-Fi using just your Apple device, a Mac, and an MFi-certified
Lightning cable. To begin a Wi-Fi capture, first ensure you meet the requirements described above. Connect
your Apple device to the Mac with a Lightning cable and select File >New >Advanced Capture. Select the
"Wi-Fi"tab and choose your Apple device from the list.
31
2. Accessory Test System
2.3 Hardware Considerations
Adapters may only be used in Sniffer mode and are not allowed during certification.
Accessory Accessory
32
2. Accessory Test System
2.3 Hardware Considerations
The ATS Lightning Box Lightning connector must be plugged directly into the Apple device. Once
inserted, do not torque the Lightning connector. Improper use may result in the breakage of the
ATS Lightning Box or Apple device.
Due to the inherent nature of capturing data wirelessly, ATS may not be able to always correctly capture the
communication between the Apple device and accessory. If there is too much RF interference, or the Apple
device and accessory are placed incorrectly with respect to the ComProbe BPA analyzer you may see missing
Bluetooth data in the ATS trace. To help alleviate these issues make sure that the ComProbe BPA analyzer,
Apple device, and accessory are placed to form an equilateral triangle during capture. You should also make
sure that the RF environment is free of noise by turning off other devices or equipment that may use the 2.4
GHz frequency range for features such as Wi-Fi and Bluetooth.
If excessive RF noise is interfering with ATS's ability to capture iAP traffic, consider using RF shielding
cloth to protect your test environment.
33
2. Accessory Test System
2.4 Installation and Updates
ATS only supports one active ComProbe BPA analyzer capture at a time. Starting a second ComProbe
BPA analyzer capture before stopping the first one may result in unexpected behavior.
ATS relies on seeing a Service Discovery Protocol (SDP) exchange during the capture in order to
determine which RFCOMM channel contains iAP. If SDP is not seen, an info message will be posted
when an RFCOMM channel opens informing you that ATS may be ignoring an iAP channel. This is
not an indication of bad behavior, but rather a technical limitation of the capture environment.
Download the .zip bundle containing the latest ATS application from the MFi Portal. For more information
about connecting to the MFi Portal, contact your MFi Representative. Unzip the bundle then copy the ATS
application to your "Applications"folder.
You will be required to login with your Apple ID and password before updating ATS. You must use an Apple
ID that's configured as an ATS user in the MFi portal.
For accessories that send iAP-over-USB, also connect the MFi 30-pin Breakout board and Beagle USB 480
analyzer.
34
2. Accessory Test System
2.4 Installation and Updates
The Total Phase Beagle USB 480 analyzer has three connections: one for the ATS host computer, and
two for MFi 30-pin Breakout board or the ATS Lightning Box. Never connect the Beagle USB 480
analyzer ATS host connection to the same USB bus on which the Apple device and accessory
communicate. If you do so, the Beagle USB 480 analyzer will recursively capture its own data and
ATS performance will dramatically suffer.
For accessories that send iAP-over-Bluetooth, connect the ComProbe BPA analyzer to the Mac running the ATS
application.
35
2. Accessory Test System
2.4 Installation and Updates
This step should only be necessary once per application / firmware update.
36
2. Accessory Test System
2.5 ATS User Interface
Analysis begins immediately after the document is created through the Capture Configuration Assistant. A
new Capture Document can also be created using the Advanced Capture Configuration window under File
>New >Advanced Capture… , or by pressing Command-Option-N.
37
2. Accessory Test System
2.5 ATS User Interface
There's a quick and convenient way of starting a capture. Either select the "Quick Capture"item under
the "Capture"menu, or press Command-Shift-N. A new Capture Document will be created and
automatically connect to the first available capture device(s) using your previous capture settings.
The "Time"field serves two purposes. First, it indicates the timestamp of the currently selected event in the
current traffic category. Second, it allows you to enter a timestamp, which causes ATS to automatically select
the event nearest the entered timestamp.
The ATS Box and the Total Phase Beagle USB 480 analyzer have separate, unrelated clocks. ATS does
not synchronize timestamps between the ATS Box and the Beagle USB 480 analyzer. Timestamps
from any of the ATS Box categories cannot be reliably correlated with timestamps from any of the
Beagle USB 480 analyzer categories. For example, you cannot reliably correlate the arrival of an
"Accessory Detect"event in the iAP Packets over UART category with the arrival of an iAP packet in
the iAP Packets over USB HID view.
The "Clear"button clears information from all categories. Note: when saving a trace, all data will be saved, even
data that has been cleared.
The "Categories"button can be used to toggle the display of the pane that allows selection of various categories.
Consider hiding this pane when using a small screen, or screen area is otherwise scarce.
The "Details"button enables display of additional information for the currently selected event.
The filter gives you the ability to limit information displayed in any of the traffic categories. For example, if
you're only interested in seeing all occurrences of the word "ContextButtonStatus,"simply type
"ContextButtonStatus"in the filter field. The traffic category will only show rows that include the word
"ContextButtonStatus."The filter will match strings across any of the fields. So if you type the word "Extended,"it
will match "Extended Interface"in the Lingo column, "EnterExtendedInterfaceMode"in the command column,
and any occurrences of the word "Extended"in the Description column.
Clicking the filter's magnifying glass allows you to exclude information from the traffic categories. This can be
useful if there are less-relevant rows making it difficult to see important information in the trace.
38
2. Accessory Test System
2.5 ATS User Interface
To aid in the analysis of ATS traces, you may insert separators or annotations directly in the ATS trace. This is
helpful to bring attention to certain information. To insert a separator or annotation, select a row, right click,
then choose one of the available options. Alternatively, you may insert separators or annotations by choosing
one of the "Insert Annotation"options under the Capture menu. Similarly, if you have already added an
annotation or separator and would like to remove it, select the row, right click, then choose remove.
2.5.2 Categories
Once a capture has begun, a list of categories will be displayed along the left side of the capture document.
These enable you to review the behavior of your accessory in different ways. Some categories will only be
displayed under certain circumstances. For example, the "iAP Packets over USB HID"category is only available
when capturing that type of traffic. Possible categories include:
39
2. Accessory Test System
2.5 ATS User Interface
● NCM
● iAP2 Link Packets over USB HID
● USB HID Reports for iAP
● USB Transfers
● USB Transactions
● USB Packets
● iAP2 Link Packets over Lightning Audio
● Lightning Audio HID
● Lightning Audio External Accessory Session
● iAP2 Link Packets over Smart Connector
● Smart Connector Native HID
● Smart Connector External Accessory Session
● Measurements
● iAP Summary
● Hardware Summary
● Network Summary
The list of categories may be hidden by clicking on the "Categories"button in the toolbar.
When using iAP2 the following message categories may also be available:
The primary purpose of these categories is to display iAP packets, iAP2 messages, errors and warnings. Depending
on your configuration you may see connection information as well. For example, in the iAP Packets over UART
category, you may see Apple device or accessory connection information. In iAP Packets over USB, you may
see USB reset information.
40
2. Accessory Test System
2.5 ATS User Interface
ATS does not thoroughly validate USB level information. It only captures enough USB information
to assemble iAP packets. If you expect to see iAP over the USB transport but see none, check whether
ATS displays error messages in any of the USB categories. If so, exit ATS and use the Total Phase Data
Center application to debug your accessory's USB communication.
The "Timestamp"field provides an absolute timestamp for each event. (Review the warning about timestamps
above.)
The "Status"field can indicate whether a problem occurred with each particular event.
The "Source"field describes the source of the traffic. For iAP2 traffic, this will be either "Apple device"or
"accessory"depending on which device sent the packet. For hardware-level notifications, such as those alerting
the ATS application that a device has been attached or removed, the source will read "ATS Lightning Box".
The "Name", and "Description"fields provide a human-readable description of the contents of each iAP2 message
or hardware-level event.
The "Timestamp"field provides an absolute timestamp for each event. (Review the warning about timestamps
above.)
The "Status"field can indicate whether a problem occurred with each particular event.
The "Source"field describes the source of the traffic. For iAP traffic, this will be either "Apple device"or
"accessory"depending on which device sent the packet. For hardware-level notifications, such as those alerting
the ATS application that a device has been attached or removed, the source will read "ATS".
The "Lingo", "Command", and "Description"fields provide a human-readable description of the contents of
each iAP packet or hardware-level event.
By default, any extra-packet 0xFF sync bytes (used to wake the Apple device or otherwise) do not
appear in the packet view. You may configure ATS to display these bytes in the ATS preferences.
41
2. Accessory Test System
2.5 ATS User Interface
2.5.4 CarPlay
● CarPlay Session
● HTTP Control
● TCP
● Bonjour Services
● UDP
● Network
● NCM (CarPlay-over-USB only)
2.5.5 AirPlay 2
● HTTP Control
● PTP Messages
● TCP
● Bonjour Services
● UDP
● Network
42
2. Accessory Test System
2.5 ATS User Interface
The bottom right corner of the Capture Document will also provide a count of all the errors and warnings in
the trace.
43
2. Accessory Test System
2.5 ATS User Interface
ATS does not capture External Accessory Native Transport (USB Host Mode) data, and therefore the
External Accessory Session category will remain blank in this configuration. ATS will, however, validate
the accessory's configuration with this setup.
44
2. Accessory Test System
2.5 ATS User Interface
The Measurements category provides a graphical area that shows various pin states over time. Below the
graphical area is a summary of each pin state, their minimum, maximum and average values. The value of each
pin at a particular time can be shown by clicking any point within the graphical area.
The "Clear"button affects the Measurements category in the same manner as the traffic categories.
High impedance is displayed in the Measurements view as "inf kΩ ,"an abbreviation for "infinite
kilo-ohms."
45
2. Accessory Test System
2.5 ATS User Interface
The "accessory detect"section counts the number of rising and falling edges on pin 20 of the 30-pin connector.
This information may help detect failures or inconsistencies in how an accessory drives this pin, which should
typically be grounded.
The "ID resistor"section reports the accessory ID resistor value on pin 10 measured by the ATS 30-pin Box, and
also displays how close the value is to the nominal value for a given accessory type. Due to measurement
resolution, the exact numerical value that is displayed may differ slightly from what is in the circuit.
The "accessory power"section shows the average accessory current consumption during the most recent one
second. Individual current samples are taken at a rate of approximately 500 Hz.
46
2. Accessory Test System
2.5 ATS User Interface
The "pin voltages"section reports the voltages present on the FireWire, USB Vbus, USB D+ and USB D- pins.
Non-zero FireWire voltages are displayed in red as a reminder that FireWire-based charging is no longer allowed
for new accessory designs. If the three USB voltages are all within specification for a 500 mA, 1 A, or 2.1 A
charging accessory, this fact will be noted below the voltages. For USB D+ and D- voltage measurements to
be made, no Apple device may be connected. This ensures that if an iAP-over-USB accessory happens to be
connected to the ATS 30-pin Box, it will not have its USB signal integrity affected by attempts by the ATS 30-pin
Box to measure its USB D+ and D- voltages as though it were a USB charging accessory.
The "Tx-to-iPod (pin 18)"field reports the voltage on the accessory serial transmit pin. Voltages outside of the
legal range for the marking-high/idle state will be shown in red.
The "Reserved (pin 14)"and "Reserved (pin 17)"fields report whether the accessory incorrectly drives or correctly
leaves as floating the two 30-pin connector pins marked as reserved for future use.
The "Nominal baud rate"field is determined by looking for standard baud rates in the vicinity of the actual
baud rates measured for iAP traffic from the accessory. Only 19200 bps and 57600 bps are allowed for new
accessory designs, so rates other than these will be shown in red.
The two "Max baud rate error"fields latch the highest observed deviations from the nominal baud rate, according
to both the 0xFF (start-bit) and 0x55 methods. A worst-case deviation between 2% and 3% is shown in yellow.
A worst-case deviation beyond 3% is shown in red. Significant deviation of these values from nominal typically
indicates firmware and/or hardware problems with an accessory.
All fields in the Summary category sections can be reset with the "Clear"toolbar button.
47
2. Accessory Test System
2.5 ATS User Interface
48
2. Accessory Test System
2.5 ATS User Interface
The "Lingoes used"field provides a bit-field summarizing all lingoes for which the accessory has sent at least
one packet.
The "Lingoes ACK'd"field provides a bit field summarizing all lingoes for which the Apple device has sent a
positive (successful) acknowledgement back to the accessory. Because not all lingoes include ACK commands,
these two fields will not, in general, be the same. (Each offers a particular kind of iAP traffic summary, which
may or may not be relevant to the problem at hand.)
The "iPod SW"field shows the version information sent by the Apple device in response to
GetiPodSoftwareVersion.
The "Bundle Seed ID"field shows the application ID provided by the accessory.
The "EA protocol"shows the reverse domain name protocol name representing the External Accessory framework
protocol that the accessory supports.
The transaction ID state represents whether ATS expects to see transaction IDs.
The "Accessory info"fields provide human-readable description of all information returned by the accessory
via RetAccessoryInfo iAP packets.
The Lingo usage table indicates whether each lingo has been identified for and its version information sent
by the Apple device in response to RequestLingoProtocolVersion.
49
2. Accessory Test System
2.5 ATS User Interface
2.5.13 Preferences
The ATS preferences pane provides the ability to customize ATS's behavior. The preferences are accessible
under the ATS menu.
The "Timestamp units"setting gives you the ability to change the format of the timestamps shown in any of
the traffic categories. The available options are:
Option Description
s display the time expressed in number of seconds
m:s.ms.us.ns display the time in units separated into minutes : seconds . milliseconds . microseconds . nanoseconds
ns display the time expressed in number of nanoseconds
The "System time format"preference allows you to change the format of the System Time column in all of the
traffic categories. The available options are:
Option Description
HH:mm:ss.SSS display the system time
50
2. Accessory Test System
2.5 ATS User Interface
Option Description
MMM dd HH:mm:ss.SSS display the system date and time
yyyy-MM-dd HH:mm:ss.SSS z display the system date and time in GMT timezone format
The "Traffic Colors"preference allows you to change the color of iAP and CarPlay packets shown in any of the
traffic categories based upon their source.
The "Set Font… "button allows you to change the font, size and styling of the text used in the traffic categories.
The Default button reverts this setting back to its original state.
The "Bluetooth Devices"table displays all of the stored Bluetooth devices that have been seen during device
inquiry. You can delete unwanted Bluetooth devices by selecting them in the table and clicking the "-"button
below the table.
The "Bluetooth Devices Configuration"table displays all of the stored Bluetooth capture configurations. You
can delete unwanted configurations by selecting them in the table and clicking the "-"button below the table.
51
2. Accessory Test System
2.5 ATS User Interface
The specification can be loaded in ATS by selecting an error in the ATS capture, or by clicking the "+"button
in the ATS preferences pane, see Preferences (page 50). Similarly, the specification can be removed by clicking
the "-"button below the table.
At this time this feature can be used to look up references for only iAP2 and CarPlay specification violations.
1. In an ATS capture, double-click on a row of traffic that contains an error. This will reveal the Details sidebar.
2. In the Details sidebar, locate section "Spec Reference". If you have not yet loaded a specification, you will
see the text "You have not loaded any specs yet". Click the "Import specs… "link.
3. ATS Preferences will open. Click the "+"button at the bottom of the window.
4. Use the resulting Finder window to select your PDF copy of Accessory Interface Specification.
1. Return to the ATS capture window and double-click on a row of traffic that contains an error. This will
reveal the Details sidebar.
52
2. Accessory Test System
2.6 USB Vbus Load Test
2. In the Details sidebar, you will now see links to sections of the specification. Clicking links will open the
relevant specification reference in new ATS window.
53
2. Accessory Test System
2.6 USB Vbus Load Test
The USB Vbus Load Test is run inside of an existing Capture Document. After the test has completed, check
the trace for any errors that were thrown during the test. When using the ATS Lightning Box, a voltage summary
will be displayed when the test completes.
54
2. Accessory Test System
2.7 Accessory Certification Assistant
Note: Disclaimer
The Accessory Certification Assistant is your guide for running MFi self-certification tests. You can access it via
the Accessory Certification Assistant menu item in the Certification menu. Before running the assistant, make
sure your computer is connected to the Internet.
55
2. Accessory Test System
2.7 Accessory Certification Assistant
The assistant will guide you through the process of configuring and running certification tests for your accessory.
The first step is authentication.
You must be connected to the Internet to use the Certification Assistant. If you are not connected to the
Internet, you will not be able to run any tests. The Certification Assistant connects to the ATS server over an
SSL-encrypted secure connection. Make sure your firewall settings allow you to access the ATS server at:
Note that ATS is not compatible with SSL proxies or virus scan systems that intercept the secure communication
between ATS and ATS's backend systems.
56
2. Accessory Test System
2.7 Accessory Certification Assistant
Use your Apple ID credentials that were registered with the MFi program to access the Certification Assistant.
For help registering your Apple ID, contact your MFi Representative.
Once you have logged in, you can create a new certificaton configuration, resume an existing one, or view the
results from a past submission.
If you have previously submitted self-certification test results with ATS 5.6 or earlier, those submissions
will not be visible in the ATS 5.7 Accessory Certification Assistant.
57
2. Accessory Test System
2.7 Accessory Certification Assistant
In order to validate the behavior of your accessory, ATS needs to know how it connects to Apple devices and
what features it uses or supports. ATS will ask you to specify all of the accessory's connectors.
58
2. Accessory Test System
2.7 Accessory Certification Assistant
When ATS has collected all of the information it needs, it will present you with a review screen showing all of
the details you specified. If you need to change any of the details, click "Go Back"one or more times to get to
the configuration that you need to change. When everything is correct, click Continue to save your configuration
and start testing.
59
2. Accessory Test System
2.7 Accessory Certification Assistant
Every time you complete a test, ATS will return you to the Test Center. When you have completed all tests, the
Test Center will present a button allowing you to submit your results to Apple.
60
2. Accessory Test System
2.7 Accessory Certification Assistant
61
2. Accessory Test System
2.7 Accessory Certification Assistant
ATS will present a Submission Test Results window summarizing the contents of the submission. You can see
individual test results in more detail by clicking on one of the View Trace buttons.
62
2. Accessory Test System
2.8 ATS Utility
63
2. Accessory Test System
2.8 ATS Utility
If you see an "Untrusted Enterprise App"alert, verify that you've followed the procedure described above to
trust the provisioning profile.
64
2. Accessory Test System
2.8 ATS Utility
ATS Utility provides a table of Bluetooth accessories that the Apple device has been paired with. The accessory's
name is shown at the top of the row and the link key associated with that accessory is shown at the bottom.
The table will only show accessories that advertise support for iAP (accessory includes the Service Class UUID
for the iAP protocol in its Extended Inquiry Response packet). Double tapping on a row will bring up the
accessory's MAC address.
Use this functionality of ATS Utility in ATS's Capture Configuration Assistant when you are prompted to enter
the Bluetooth link key.
65
2. Accessory Test System
2.8 ATS Utility
In order to support performance tests, the CarPlay accessory must have Iperf 2.0.5 installed locally,
and it must be capable of invoking Iperf in the manner described in the following sections.
66
2. Accessory Test System
2.8 ATS Utility
When running IPv6 client, make sure to replace network interface with CarPlay IPv6 interface after
'%'sign in Iperf client command.
67
2. Accessory Test System
2.8 ATS Utility
Upon succeessful test completion 'Test Passed'will be presented on the Apple device. Use the share option to
share the results, and upload 'WiredTestSummary.txt'and 'WiredTestSummary.sig'files for verification.
68
2. Accessory Test System
2.8 ATS Utility
69
2. Accessory Test System
2.8 ATS Utility
Use the CarPlay Tests screen to enter the details of the Iperf servers running on the CarPlay accessory (such as
IP Address, TCP DL Port, and UDP DL Port). When connected to a CarPlay accessory, ATS Utility automatically
populates the details of the Iperf servers running on the Apple device (such as IP Address, TCP DL Port, and
UDP DL Port). Wireless CarPlay tests use IPv4 when connected to the CarPlay accessory via Wi-Fi.
70
2. Accessory Test System
2.8 ATS Utility
71
2. Accessory Test System
2.8 ATS Utility
Enter the test environment parameters that will be included along with the test results.
72
2. Accessory Test System
2.8 ATS Utility
Tap on 'Run Test'to start the performance test. Each test will guide you through the required steps and show
the Iperf client and server commands that should be invoked on the CarPlay accessory.
For the wireless tests to work, Iperf clients and servers must be running on the CarPlay accessory.
The Iperf commands to be invoked on the CarPlay accessory will be presented on-screen during the
test.
The following Iperf client flags are supported by ATS Utility for wireless tests:
Option Value
-i, --interval 1
73
2. Accessory Test System
2.8 ATS Utility
Option Value
-w, --window 2M
-t, --time <varies per test, in seconds>
-p, --port <configurable>
Option Value
-i, --interval 1
-w, --window 2M
-t, --time <varies per test, in seconds>
-p, --port <configurable>
-b, --bandwidth <varies per test>
-d, --dualtest <bidirectional test run simultaneously>
The following Iperf server flags are supported by ATS Utility for wireless tests:
Option Value
-i, --interval 1
-w, --window 2M
-p, --port <configurable>
Option Value
-i, --interval 1
-w, --window 2M
-p, --port <configurable>
Tap on 'Verify Connectivity'to verify that the CarPlay accessory IP address and ports are configured
correctly. Follow the test instructions carefully to be able to confirm a valid test setup and for
assistance in troubleshooting configuration issues.
74
2. Accessory Test System
2.8 ATS Utility
Use the Client Configuration screen to enter the IP address and port of an Iperf server running on the CarPlay
accessory. When connected to a CarPlay accessory, ATS Utility automatically populates the accessory IP address
field with the appropriate address. Wired Iperf client tests use IPv6 when connected to the CarPlay accessory
via USB.
For the Iperf client test to work, an Iperf server must be running on the CarPlay accessory. The server
should be invoked as follows:
The following Iperf client flags are supported by ATS Utility for wired tests:
75
2. Accessory Test System
2.8 ATS Utility
Option Value
-i, --interval 1
-w, --window 128k
-t, --time 10
-p, --port <configurable>
-V, --ipv6_domain <IPv6 domain>
Option Value
-i, --interval 1
-w, --window 128k
-t, --time 10
-l, --len 1448
-p, --port <configurable>
-V, --ipv6_domain <IPv6 domain>
-b, --bandwidth <varies per test>
76
2. Accessory Test System
2.8 ATS Utility
ATS Utility automatically starts the Iperf IPv6 & IPv4 servers on the Apple device when you navigate to the
Server Details screen, and it keeps the servers running until you tap the Back button. Server Details screen will
display the addresses when connected to the accessory that can assign Apple device IP.
For the Iperf server test to work, an Iperf client must be running on the CarPlay accessory. The client
should be invoked as follows:
The following Iperf server flags are supported by ATS Utility for wired tests:
77
2. Accessory Test System
2.9 Known Issues
Option Value
-i, --interval 1
-w, --window 128k
-p, --port 5001
-V, --ipv6_domain <IPv6 domain>
Option Value
-i, --interval 1
-w, --window 128k
-l, --len 1448
-p, --port 5001
-V, --ipv6_domain <IPv6 domain>
For USB D+ and D- voltage measurements to be made using an ATS Lightning Box, no Total Phase Beagle USB
480 analyzer may be attached. USB Brick Detect will fail if a Beagle USB 480 analyzer is connected even when
it is not configured in ATS.
For the 30-pin connector, if an accessory happens to use only one of the five available DGND pins, and this
pin happens to be pin 30, then a number of side effects may be caused by the introduction of ATS into the
system. For example, ATS will not properly measure the ID resistor for such an accessory. Because pin 30 is the
recommended pin by which the accessory can detect the presence of Apple device, the ATS 30-pin Box treats
this signal as more than just a basic DGND, so an accessory that relies exclusively on pin 30 for its DGND
connection may behave in unexpected ways. However, an accessory should be designed to use all available
DGND pins as possible.
For the 30-pin connector, ATS keeps Pin 30 grounded at all times, regardless of whether an Apple device is
attached. For this reason you must always connect an Apple device before connecting your accessory. If you
do not, your accessory may attempt to interact with ATS even though no Apple device is connected.
78
2. Accessory Test System
2.9 Known Issues
When running ATS with an accessory that transmits iAP-over-UART at baud rates other than 57600, the first
accessory byte immediately after power-cycling the ATS hardware box may be preceded by a report of a single
phantom unrecognized byte.
For accessories that transmit iAP-over-UART, if sync (0xFF) bytes are not transmitted with iAP packets, then
the ATS autobauder may fail to lock to the serial traffic successfully. In such a case, the likely outcome is a series
of unrecognized bytes in the iAP Packets over UART category.
The ATS autobauder is bounds-checked to a maximum possible reported baud rate. A very narrow glitch in
the serial signal (immediately after accessory start-up, for example) may cause a series of unrecognized bytes
in the iAP traffic category as the autobauder attempts to lock to the serial traffic.
The USB Vbus connection in the 30-pin extender cable has a DC resistance in the range of 200 mΩ to 250 mΩ
. If the extender cable is placed between the accessory under test and the ATS hardware unit, the reported
USB Vbus measurement may be artificially low, especially when the accessory is supplying a full 1 A or 2.1 A
of charging current to Apple device.
For the 30-pin connector, accessories that selectively ground pin 20 based on the state of pin 13 may fail to
be detected during the setup phase of the Certification Assistant tests. Additionally, the accessory is in violation
of the MFi Accessories hardware specification and should be corrected.
When connecting an Apple device to the ATS Box, the Apple device may display a message that states, "This
accessory is not made to work with iPhone."This is caused by the fact that the ATS Box itself is not an accessory.
When using ATS, this message may be ignored. However, you should make sure your accessory does not trigger
this message when connected directly to the Apple device without an ATS Box.
For the 30-pin connector, while running the Certification Assistant, if the Apple device bounces Accessory
Power (pin 13), the Certification Assistant may misinterpret that as a disconnection of the accessory. If this
occurs, you should disconnect your accessory from ATS, dismiss the Certification Assistant's disconnection
dialog, then reattach your accessory. You should then be able to complete the test successfully. If the problem
persists, contact your MFi Representative for additional support.
The Certification Assistant detects connections and disconnections of the accessory. Both physical and
programmatic disconnections are handled in the same way. If your accessory emulates a physical disconnection
by manipulating pin states, it should only do so when the Certification Assistant instructs to disconnect the
accessory. An emulated disconnection at any other time may prematurely terminate the test and cause an
error.
In certain situations, the thresholds of Vbus and device power warnings and errors may change. This is due to
the fact that ATS cannot positively identify the accessory's charging capabilities at all times. For example, ATS
is unable to positively identify the accessory's charging capabilities whenever an Apple device is connected
to the ATS box. These thresholds may change at any time without prior notice. You must satisfy whichever
threshold is described in the MFi specifications for your accessory.
79
2. Accessory Test System
2.10 Technical Notes
If a ComProbe BPA analyzer is attached before the Frontline driver is installed, the Mac's internal Bluetooth
module may become disabled. If this happens, disconnect the ComProbe BPA analyzer from the Mac, install
the Frontline driver, and reboot the Mac. You may connect the ComProbe BPA analyzer after the Mac has
rebooted.
For example, the following two oscilloscope traces show the start bit for an accessory operating at the deprecated
legacy rate of 38400 bps. The vertical cursors have been set to mark the start and the end of a start-of-packet
0xFF bit, and the display format has been inverted to use units of Hertz instead of seconds.
The first trace shows that the actual transmitted bit rate is approximately 38800 bps. This is a deviation of only
1.0% from nominal and is entirely acceptable.
Because the Apple device's serial receiver expects digital signals, however, it will not actually register a
falling-edge transition until the accessory's serial Tx signal drops below a particular voltage threshold. (The
value of this threshold will depend on the generation of Apple device hardware and other factors.)
80
2. Accessory Test System
2.10 Technical Notes
The following scope trace shows what may occur as a result. Because the falling edge of the accessory's serial
Tx signal is relatively slow, the measured low-time of the start bit by Apple device may correspond to 41700
bps instead of 38800 bps. Such an 8.5% deviation from the nominal rate is unacceptable.
In addition to reporting the results of 0xFF start-bit autobauding, ATS also measures the bit time implied by
the time taken for the accessory to transmit the eight data bits of the 0x55 byte that follows each start-of-packet
0xFF byte. It is possible for this alternate measurement method to be affected by the same rise-time and
fall-time problems that affect the start-bit method, but the bit-time error should be reduced by a factor of
roughly eight, given the measurement of eight bits instead of one.
Even though the Apple device does not do 0x55-based autobauding, ATS reports the results from both
measurement methods because large differences between the two are generally indicative of hardware errors,
firmware errors, or both. If the rate from 0x55-based autobauding closely matches the intended rate, then the
accessory firmware is probably using the right crystal and UART clock divisor. If the rate from 0xFF start-bit-based
autobauding shows large errors, however, potential problems with the accessory's serial Tx signal should be
investigated further via an oscilloscope.
81
3. ATS Lightning Box
Some test procedures in this specification require the use of the Accessory Test System (ATS) Lightning box.
This box requires associated ATS software to function; this software may be downloaded from the MFi Portal.
Self-certification activities must always use the most recent version of the ATS software.
● Total Phase Beagle USB 480 analyzer, required to capture iAP2 over USB traffic.
● Frontline ComProbe BPA 100 analyzer, required to capture iAP2 over Bluetooth traffic.
● Lightning Connector Extension Cable
82
4. ATS Lightning Audio Box
Some test procedures in this specification require the use of the Accessory Test System (ATS) Lightning Audio
box. This box requires associated ATS software to function; this software may be downloaded from the MFi
Portal. Self-certification activities must always use the most recent version of the ATS software.
83
5. ATS Smart Connector Box
Some test procedures in this specification require the use of the Accessory Test System (ATS) Smart Connector
box. This box requires associated ATS software to function; this software may be downloaded from the MFi
Portal. Self-certification activities must always use the most recent version of the ATS software.
84
Apple Inc.
Copyright © 2018 Apple Inc.
All rights reserved.