It seems that the connection failure occurs when attempting to establish GATT connections with 9 BLE devices simultaneously. However, when connecting fewer than 8 or more than 10 devices, data can be received without issues.
Upon investigation, the following points have been identified:
- This issue does not occur on iPad 10th generation.
- The iPad 9th generation uses Bluetooth 4.2, while the iPad 10th generation uses Bluetooth 5.0, so this difference might be the cause.
- The limitation is 9 devices per device, not per App.
- The issue occurs even when trying to connect 8 BLE devices with App 1 and 1 BLE device with App 2.
- It appears that the 9th device experiencing the connection failure is not receiving the result of the service discovery.
- According to the PacketLogger logs, the connection itself is established, but the service discovery results are not returned.
- When a 10th device is connected, the 9th device also connects successfully.
- Once the 10th device connects, the service discovery results for the 9th device are returned.
The reproduction steps are as follows:
Device:
- iPad 9th generation (iPadOS 17.6.1)
Procedure:
- Prepare 9 BLE devices.
- Connect each BLE device to the iPad one by one.
- Data can be received from devices 1 through 8, but data cannot be received from the 9th device.