QNX Technical Articles
QNX® Apps and Media Interface for Apple iPod 1.1: Release Notes
Date of this edition: April 23, 2015
Target OS: This package contains software that's compatible with ARMLE-v7 and x86 targets that are running QNX Software Development Platform 6.6 and QNX SDK for Apps and Media 1.1.
Host OS: You can install this package on one of the following development hosts:
- Microsoft Windows 8 Professional 64-bit, Windows 7 Professional 64-bit, or XP Professional SP3
- Red Hat Enterprise Linux 6 64-bit or Ubuntu Workstation LTS 12.04 32- and 64-bit
See also the release notes for the QNX SDK for Apps and Media 1.1.
What's in this release?
The QNX Apps and Media Interface for Apple iPod 1.1 adds support for Apple devices to the QNX SDK for Apps and Media, by providing these components:
- a fileset specification that you can add to the target image to enable iPod support
- drivers for:
- iAP1 and iAP2 protocols
- USB transport
- digital audio streamed from Apple devices
- authentication modules that talk to the i2c interface used by the Apple authentication hardware
- client-side libraries for iAP1 and iAP2, which allow your applications to talk to Apple devices
- synchronizers for uploading media metadata from Apple devices to persistent storage
- documentation explaining how to configure the iPod drivers and use the iAP1 and iAP2 APIs
Supported Apple devices
In this release, the iPod interface supports these Apple protocols and devices:
- iAP1
- This protocol is used by iPod Classic and Nano devices, as well as the iOS family of devices: iPod Touch, iPhone, and iPad.
- iAP2
- This protocol is used by devices with a lightning connector, which include iPod Touch 5G and newer Touch devices as well as iPhone 5 devices.
Known issues
This release contains known issues for the iPod functionality. Not all items listed are bugs or problems.
Some metadata for audio files without ID3 tags isn't synchronized with the database. Only Genre, Artist, Album, and Title are synchronized, and all four fields must be defined for the track information to be uploaded to the database. Other metadata such as duration can't be read from the database, only from the current track.
This is an expected limitation when working with iPods that have operating systems older than iOS 5 or any non-UID iAP1-capable devices. (Ref# 147194, J400539)
Album art isn't synchronized to the database for iPods that have operating systems older than iOS 5 or any non-UID iAP1-capable devices. Artwork is available for the current track, through the iPod library. (Ref# 267838, J392405)
If you want to use libmd to extract album art from Apple devices, uncomment the following lines in the /etc/system/config/md.conf file:
#[plugin] #dll=mm-mdp-ipod.so
You don't need to do any extra steps if you want to read artwork through the iPod library. (Ref# 267751, J400954)
-
If io-usb is started without the -c option, when a device such as an iPod Classic is connected to the target, the device may become unresponsive.
Workaround: Depending on your board, you'll need to do the following:
-
For Baytrail:
- Open your buildfile located here:
base_dir/deployment/infra/product/AnM/boards/baytrail.ext/ifs/baytrail-start-disk-usb.build
- Modify your buildfile to include the -c option:
Change this:
[+script] .script = { io-usb -dxhci & waitfor /dev/io-usb/io-usb 4
to this:
[+script] .script = { io-usb -c -dxhci & waitfor /dev/io-usb/io-usb 4
- Rebuild your IFS.
- Open your buildfile located here:
-
For all other boards:
- Open the following SLM file:
Note: You can make the change in the SLM file on your target or your host system.
base_dir/deployment/target/product/AnM/boards/platform.variant/etc/slm-config-platform.xml
Change your SLM file to include the -c option for the io-usb command.
The arguments for io-usb will be different depending on the board you're using. For example, for i.MX6 SABRE Smart Devices, you'd make the following change:
From this:
<SLM:command>io-usb</SLM:command> <SLM:args>-dehci-mx31 ioport=0x02184300,irq=72,ioport=0x02184100,irq=75</SLM:args>
to this:
<SLM:command>io-usb</SLM:command> <SLM:args>-c -dehci-mx31 ioport=0x02184300,irq=72,ioport=0x02184100,irq=75</SLM:args>
- Open the following SLM file:
(Ref# J828019)
-
- Enabling multiple iPods on the TI OMAP5 uEVM platform:
To play tracks on multiple iPods concurrently on OMAP5, you must set a high enough value for the num_itd option passed to the USB stack (io-usb). For each iPod, you must increase the num_itd value by about 150, on top of its default setting of 256. For example, to support 2 iPods, modify the arguments specified for io-usb in /etc/slm-config-platform.xml as follows:
<SLM:component name="usb"> <SLM:command>io-usb</SLM:command> <SLM:args>-vvv -c -dehci-omap3 ioport=0x4a064c00,irq=109,num_itd=512 -d sevm-omap5-xhci ioport=0x4a030000,irq=124<SLM:args>
(Ref# J502397)
Fixed issues
The following reported issues for QNX Apps and Media Interface for Apple iPod 1.1 have been fixed:
- iPod Playback is no longer choppy. (Ref# J439788)
- When the target is booted with an iPod connected, the iPod now plays music as expected. (Ref# J422442)
- When you're connected to iPod via USB3.0 and playing a DLNA track, you can now switch media sources and play any track. (Ref# J413373)
- When you play a song from a connected iPod, the HMI may display the wrong album art for that song. (Ref# J571196)
Technical support
To obtain technical support for any QNX product, visit the Support area on our website (www.qnx.com). You'll find a wide range of support options, including community forums.
You can also view the forums on our community portal host, Foundry 27, http://community.qnx.com. There are forums for specific topics, including the BlackBerry 10 OS, development tools, networking, Board Support Packages, and so on.
Where can I get more information?
Start with the help docs that accompany your software (Contents pane on the left, you should find the following new entry after you've installed the iPod interface:
). In the- Working with iPods
When you click this entry, you'll see a table in the right pane to guide you through the documentation for the iPod interface.