Что означает код возврата ядра macOS 0xE0020001 (kIOBluetoothDeviceResetError)?

 
Предыдущий Следующий
kIOFWMessageTopologyChanged kIOBluetoothConnectionAlreadyExists

kIOBluetoothDeviceResetError

Сброс контроллера сделал контекст выполнявшейся операции недействительным

kIOBluetoothDeviceResetError — возвращаемое значение IOBluetooth, запись AllStat для которого указывает, что сброс устройства прервал ожидающую операцию. Существенной границей является сброс: состояние команд, соединений, обнаружения и поставленного в очередь ввода-вывода на стороне хоста может больше не описывать текущее состояние контроллера.

Это не то же самое, что ошибка ATT от периферийного устройства. Результат возникает на уровне контроллера Bluetooth macOS, прежде чем приложение сможет безопасно делать выводы из ожидаемого завершения предыдущей операции. Сброс также может быть частью восстановления транспорта HCI при потере синхронизации между хостом и контроллером.

Что проверить

  • Запишите идентификатор контроллера, тип операции, состояние ожидающей команды или соединения, время сброса либо аппаратного события и все переходы сна, пробуждения или транспорта USB.
  • После восстановления работоспособности контроллера заново перечислите или проверьте его состояние и соединения, прежде чем продолжать работу GATT, RFCOMM или другого верхнего уровня.
  • Повторяйте только те операции, для которых семантика протокола делает повтор безопасным; сам результат сброса не доказывает, видел ли удалённый узел предыдущую команду.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.