Как обернуть список завершения zsh фиксированной строкой текста до и после?

Файлы в sysfs и procfs являются интерфейсами к ядру. Чтение и запись в эти файлы вызывает код драйвера в ядре. Если вы получаете сообщение об ошибке «отказано в доступе» (EACCESS ), это происходит из-за прав доступа к файлу. Но если вы получаете ошибку, такую ​​как «недопустимый аргумент» (EINVAL ), это означает, что драйвер отправил этот ответ.

Самая очевидная причина «недопустимого аргумента» заключается в том, что вы пытаетесь записать недопустимое значение. Например, запись чего-либо, не являющегося числом, для изменения числового параметра или запись числа, выходящего за пределы допустимого диапазона.

Учитывая, что чтение возвращает строку , на тот момент на вашей машине драйвер думал, что ваше оборудование не поддерживает эту функцию. Поскольку раньше это работало, это указывает либо на ошибку в драйвере, либо на аппаратный сбой.


Вы указали, что теперь он снова работает. Так что это была временная проблема, которую исправила перезагрузка. Остальная часть моего ответа - это совет для людей, которые только что столкнулись с подобной проблемой.

Если вы недавно обновили ядро, попробуйте вернуться к предыдущей версии.

Поскольку проблема заключается в ядре или, по крайней мере, между ядром и оборудованием, вам нужно покопаться в журналах ядра, чтобы найти дополнительную информацию. В достаточно новой системе с systemd запустите sudo journalctl -k, чтобы просмотреть журналы ядра. Кроме того, посмотрите /var/log/kern*, который включает старые сохраненные журналы.

Поиск правильного сообщения журнала может быть затруднен. Если вы можете найти приблизительное время начала работы, поищите сообщения журнала примерно в это время. Попробуйте получить доступ к файлу в /sysсейчас, это может генерировать или не генерировать новое сообщение журнала каждый раз в зависимости от того, как работает драйвер.

Если у вас произошел какой-либо аппаратный сбой и вы перезагрузились,некоторые микропрограммы (, работающие на одном из вспомогательных чипов компьютера ), могут по-прежнему иметь неверные данные. Чтобы полностью сбросить все микропрограммы до состояния питания -, необходимо полностью отключить питание системы. На ноутбуке иногда даже необходимо полностью отключить питание (вытащить вилку из сети и аккумулятор, потом вставить обратно ).

4
23.12.2016, 06:11
0 ответов

Теги

Похожие вопросы