Рейтинг:0

Какой драйвер создал это сообщение dmesg?

флаг de

Обычно к записям dmesg добавляется имя драйвера, который отправляет сообщение в буфер. Это позволяет легко отследить, откуда возникает ошибка и как ее исправить. В моем случае следующее сообщение не имеет метаинформации о нем:

[12208.948242] Контакт 28 недоступен для GPIO

Эта строка (или соответствующие подстроки), похоже, не присутствует в исходных кодах ядра Linux, поэтому должен быть драйвер или что-то еще.

Если не считать поиска по всем источникам, которые я могу найти, которые работают на этой машине, есть ли способ выяснить кто отправил это сообщение, чтобы я мог продолжить диагностику Почему эта конкретная ошибка происходит?

Запись Этот вопрос не обязательно касается этот конкретный сообщение, а общий вопрос о том, как вернуться назад и найти водителя-нарушителя

Martin avatar
флаг kz
вы можете проверить список загруженных модулей, так как он должен исходить от одного из них. Но помимо этого, вы мало что можете сделать, чтобы отследить источник... Но не должно быть много сообщений, которые не добавляют свою идентификацию перед сообщением.
Рейтинг:1
флаг cn

Ну, поиск исходного кода ядра - лучший способ узнать:

bericote [~/src/linux] % git grep -F "недоступно для GPIO"
drivers/gpio/gpio-thunderx.c: WARN_RATELIMIT(!rv, «Контакт %d недоступен для GPIO\n», строка);

Так что ответ, кажется, gpio-thunderx модуль, но я подозреваю, что это не отвечает на вопрос, который вы действительно хотели задать.

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

Brydon Gibson avatar
флаг de
В данном случае - я знаю, кто звонил. Это произошло, когда я попытался экспортировать вывод GPIO.К сожалению, некоторые водители не идентифицируют себя при публикации сообщения.
Рейтинг:0
флаг ca

Кажется, что водитель gpio-thunderx (видеть здесь)

В общем, я не думаю, что вы можете сделать вывод, какой драйвер написал конкретную строку на dmesg если сам драйвер не добавляет свое имя. Вам нужно проверить исходный код.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.