Điểm:0

Trình điều khiển nào đã tạo thông báo dmesg này?

lá cờ de

Thông thường, các mục nhập dmesg được thêm vào trước tên của trình điều khiển đang đăng thông báo lên bộ đệm. Điều này giúp bạn dễ dàng theo dõi lỗi đến từ đâu và cách khắc phục. Trong trường hợp của tôi, thông báo sau không có thông tin meta về nó:

[12208.948242] Chân 28 không khả dụng cho GPIO

Chuỗi này (hoặc các chuỗi con có liên quan) dường như không có trong các nguồn nhân linux, vì vậy phải có trình điều khiển hoặc thứ gì đó hiện diện.

Không thể tìm hiểu qua tất cả các nguồn mà tôi có thể tìm thấy đang chạy trên máy này, có cách nào để tìm ra không Ai đã gửi tin nhắn này để tôi có thể chẩn đoán thêm tại sao lỗi cụ thể này đang xảy ra?

Ghi chú Câu hỏi này không nhất thiết là về cụ thể này tin nhắn, nhưng một câu hỏi chung về cách theo dõi lại và tìm trình điều khiển vi phạm

Martin avatar
lá cờ kz
bạn có thể kiểm tra danh sách các mô-đun đã tải vì nó phải đến từ một trong số chúng. Nhưng ngoài điều đó ra, bạn không thể làm gì nhiều để truy tìm nguồn gốc... Nhưng không nên có nhiều thư không thêm thông tin nhận dạng trước thư.
Điểm:1
lá cờ cn

Việc tìm hiểu nguồn kernel chính xác là cách tốt nhất để tìm hiểu:

bericote [~/src/linux] % git grep -F "không có sẵn cho GPIO"
driver/gpio/gpio-thunderx.c: WARN_RATELIMIT(!rv, "Ghim %d không khả dụng cho GPIO\n", dòng);

Vì vậy, câu trả lời dường như là gpio-thunderx module nhưng tôi nghi ngờ rằng điều đó không trả lời câu hỏi mà bạn thực sự muốn hỏi.

Điều bạn thực sự muốn biết là nguyên nhân gây ra nó, nhưng mã phát hành nó là một kiểm tra chung được gọi bởi nhiều quy trình khác nhau để thử và truy cập chân GPIO và điều bạn có thể thực sự muốn biết là ai đã gọi quy trình đó - nói cách khác từ phần nào của kernel đang cố truy cập thứ gì đó không phải là GPIO dưới dạng GPIO.

Brydon Gibson avatar
lá cờ de
Trong trường hợp này - tôi biết ai đã gọi nó. Nó xảy ra khi tôi cố gắng xuất mã pin GPIO.Thật đáng tiếc khi một số tài xế không xác định danh tính khi đăng thông báo
Điểm:0
lá cờ ca

Có vẻ như người lái xe là gpio-thunderx (xem đây)

Tổng quát hơn, tôi không nghĩ bạn có thể suy ra trình điều khiển nào đã viết một dòng cụ thể trên dmesg nếu bản thân trình điều khiển không thêm tên của nó. Bạn cần kiểm tra mã nguồn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.