If you are doing Bluetooth® application development on an iOS platform, or performing embedded firmware development for an iOS app, this article will tell you how to establish a debug system using your iOS device and a Mac computer, capture Bluetooth packets over the air between an iOS device and a peer device, and provide the logs over the HCI (Host Controller Interface) on this iOS device.       

What You Will Need

  • iOS 13 device and cable
  • Mac computer/laptop
  • Apple Developer Program account

Installing Profiles on Target iOS Device

Copy the below link and paste it in the browser of the target iOS device.

https://developer.apple.com/bug-reporting/profiles-and-logs/?name=bluetooth

The webpage below will be displayed. Now, click Profile (red rectangle) under Bluetooth for iOS.

The browser will ask you to Sign in to Apple Developer. After logging in successfully, the webpage below will appear. Now, click the Allow button.

As shown below, select iPhone to install this profile.

The browser will download the profile file. When the screen below appears, the profile has been downloaded. According to the hint, Review the profile in Settings app if you want to install it, open Settings app on your iOS device.

In the Settings app, click the Profile Downloaded tab as shown below.

Now, click the Install (red rectangle) buttons to install the profile (see image on the right). The profile has now been successfully installed.

Installing Xcode 11

Please visit App Store or this link to install Xcode 11 on your Mac.

Installing the packetLogger

Download the Additional Tools for Xcode 11 via this link. When downloaded successfully, open the Additional_Tools_for_Xcode_11.dmg and access the Hardware folder. The packetLogger is inside of the folder, as shown below  

You can drag the packetLogger and drop it into your Application folder for installation.

Starting Bluetooth Packets Analysis

Open the packetLogger. The main user interface should appear as shown below.

Connect the profile-installed iOS device to your Mac by cable and click on File à New iOS Trace, as shown below.

packetLogger will start to trace all the Bluetooth activity on this profile-installed iOS device. At the left-top corner of this iOS device screen, a pulse icon will be displayed (see image below). This means the trace is ongoing.

According to this session of WWDC 2019, the packetLogger can:

  • Work as a Bluetooth packet analysis application
  • Decode all protocols defined by the Bluetooth Special Interest Group (SIG) and Apple
  • Perform rich filtering options
  • Search by text regex
  • Comment and flag packets
  • Export raw data for analysis

By the way, after real device testing, packetLogger supports Bluetooth BR/EDR and Bluetooth Low Energy.

Summary

Using this method, whether you are an iOS developer or an embedded firmware engineer, can help you debug and trace your application. If you want to debug or trace Bluetooth® mesh packets over the air, you still need to have a professional Bluetooth packet analyzer.

Bluetooth® Mesh Feature Enhancements Summary

This paper summarizes each area of change and provides references to other papers which…

Bluetooth® Mesh Subnet Bridging - Technical Overview

Subnet bridging was introduced in version 1.1 of the Bluetooth® Mesh protocol specification. This…

Bluetooth® Mesh Remote Provisioning - Technical Overview

The remote provisioning feature was introduced in version 1.1 of the Bluetooth® Mesh protocol…

Bluetooth® Mesh Private Beacons - Technical Overview

Private Beacons are a type of beacon that was introduced in Bluetooth® Mesh version…

Bluetooth® Mesh Directed Forwarding - Technical Overview

Directed forwarding was introduced in version 1.1 of the Bluetooth® Mesh protocol specification. To…

Bluetooth® Mesh Device Firmware Update - Technical Overview

Bluetooth® Mesh 1.1 introduced a new set of capabilities which allow the firmware running…

Bluetooth® Mesh Certificate Based Provisioning - Technical Overview

Certificate-based provisioning was introduced in version 1.1 of the Bluetooth® Mesh protocol specification. To…

The Latest in HADM with Bluetooth LE

HADM, or high accuracy distance measurement using Bluetooth does exactly what it says –…

Bluetooth® Certificate-based Provisioning - A Technical Overview

This paper details the capabilities and benefits of certificate-based provisioning. Provisioning is the procedure…

Silicon Labs Bluetooth Low Energy Devices Now Support Bluetooth Core Specification 5.4

The release of Bluetooth® Core Specification Version 5.4 earlier this year was met with…

Mr. Beacon Podcast: Snapdragon Sound with Mike Canevaro

This episode of the Mr. Beacon Podcast explores the revolutionary world of Bluetooth audio.…

The Importance of Commissioning in NLC

With constant technology advancements and growing market awareness, we are all getting more and…

Large Scale Bluetooth Mesh Testing

Reliability and latency are the key parameters to be optimized to achieve a seamless…

Top 10 Auracast™ Resources

It’s been almost a year since the Bluetooth Special Interest Group (SIG) released Auracast™…

Features and Benefits of Bluetooth Mesh 1.1 for Wireless Mesh Networking

Commercial and industrial applications like lighting require large-scale, low-power device networks where thousands of…

Bluetooth ESL – The Global Standard for the Electronic Shelf Label MarketBluetooth ESL – 電子棚札市場のためのグローバル規格

Electronic shelf label (ESL) systems have historically relied on proprietary protocols for wireless communication,…

The Bluetooth® Low Energy Primer

Are you new to Bluetooth Low Energy? Learn about its constituent parts, features, and how it works.

Bluetooth® Technology for Linux Developers

Learn how to use the interprocess communication system D-Bus and the BlueZ APIs to create Bluetooth applications for Linux computers.

Designing and Developing Bluetooth® Internet Gateways

Learn about Bluetooth internet gateways, how to make them secure and scalable, and design and implement your own working prototype gateway and web application for use with either Bluetooth LE Peripherals or with Bluetooth mesh networks.

 Get Help