簡體   English   中英

lm75內核模塊在用戶空間中可用

[英]lm75 kernel module available in userspace

我正在使用lm75內核模塊與自定義板上的傳感器進行交互。 一切正常,我將設備安裝在/ sys / bus / i2c / devices / 5-0048中。 但是我想讓用戶設置最大溫度滯后,換句話說,就是讓用戶寫入temp_max_hyst文件。 該文件的權限是只讀的,root用戶除外

我的問題是,有什么方法可以在/ dev中掛載設備?

在這里安裝不是正確的術語,因此您將找不到任何搜索內容。 具有文件系統的塊設備安裝在目錄上,然后成為安裝點

此處,設備5-0048 綁定到驅動程序lm75。 假設lm75驅動程序是否存在,您就會發現該設備在那兒,假設它出現在設備樹或主板信息中。 如果並且當lm75驅動程序綁定到設備時,它將創建類hwmon的新設備。 您感興趣的是具有temp_max_hyst屬性的設備。

您在/ dev中看到的被稱為設備節點 盡管許多設備一旦綁定到驅動程序,就會創建一個設備節點來與該設備進行交互,但這並不一定要發生。 /sys/class/regulator/sys/class/net中可能出現一堆設備,在/dev中沒有與之關聯的節點。

hwmon類型的驅動程序(例如lm75)通常不會創建任何設備節點來為硬件提供char設備或塊設備用戶空間接口。 因此,此設備的開發人員中沒有任何內容。 您將獲得hwmon設備的屬性。

但是您的問題有一個簡單的解決方案。 作為root用戶,只需chmod a+w temp_max_hystchown user_account temp_max_hyst或(可能最好) chmod g+w temp_max_hyst ; chgrp hw_access_group temp_max_hyst chmod g+w temp_max_hyst ; chgrp hw_access_group temp_max_hyst並將用戶添加到組hw_access_group中。 您可以使用現有的組,可能有一個名為wheeladm名稱可用於此類操作,或者僅創建一個用於hwmon訪問的名稱。

當然,由於sysfs不是磁盤上的真實文件系統,因此重啟后這種情況不會持續。 為了使更改持久,最好的方法是創建一個udev規則,該規則會在chmod / chown檢測到hwmon設備時自動生效。 這里是您關心的hwmon設備,而不是i2c設備。 嘗試運行udevadm info -a /sys/class/hwmon/hwmon0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM