| Предыдущий | Следующий |
| kIOReturnNotPermitted | kIOReturnNoMedia |
kIOReturnNoPower
Питание является частью жизненного цикла устройства
kIOReturnNoPower означает, что устройство не находится в состоянии питания, необходимом для операции. Результат может возникнуть при переходе в сон или пробуждении, изменении питания шины, приостановке периферийного устройства, отключённом порте или недоступном бюджете питания. Он не равнозначен отсутствию устройства: система может продолжать перечислять и описывать оборудование, отказывая во вводе-выводе до восстановления питания.
Многократное открытие интерфейса само по себе не подаёт питание. Восстановление должно следовать за владельцем перехода питания — системным управлением питанием, концентратором или контроллером, политикой конкретного устройства либо действием пользователя. После возвращения устройства в рабочее состояние заново проверьте конфигурацию, поскольку некоторые шины сбрасывают её после события питания.
Практические проверки
- Сопоставьте первую ошибку с событиями сна, пробуждения, приостановки USB, питания порта или управления батареей и питанием.
- Проверьте, изменилось ли состояние других функций на том же концентраторе или контроллере.
- После пробуждения выполняйте повторную инициализацию по уведомлению, а не считайте дескрипторы до сна автоматически готовыми.
- Для устройств с внешним питанием проверьте физический путь питания, прежде чем считать проблему только программным ограничением доступа.
Ссылки
- Справочник Apple по IOReturn.h
- Основы Apple IOKit: обзор архитектуры
- USB-IF: спецификация USB 2.0
- Apple: работа с интерфейсами USB-устройств
Нужно найти другой код? Найти другой код состояния или ошибки.