hwmon:添加缺少的核心模組
**TL;DR:**標準 debian 安裝中似乎缺少
核心模組 sht3x ( https://www.kernel.org/doc/html/latest/hwmon/sht3x.html )。我需要它來讀取外部感測器。如何安裝此核心模組?
整個故事
我嘗試將 SHT31 溫度/濕度感測器連接到我的 Debian 筆記型電腦。為此,我刷了一個 ATTiny85 微控制器作為i2c-tiny-usb介面。
我讓這部分工作 -
lsusb
將設備列為Bus 003 Device 003: ID 0403:c631 Future Technology Devices International, Ltd i2c-tiny-usb interface
我也得到了有希望的回應
i2cdetect
$ sudo i2cdetect -l i2c-3 i2c i915 gmbus dpc I2C adapter i2c-1 i2c i915 gmbus vga I2C adapter i2c-8 i2c i2c-tiny-usb at bus 001 device 017 I2C adapter i2c-6 i2c AUX B/port B I2C adapter i2c-4 i2c i915 gmbus dpb I2C adapter i2c-2 i2c i915 gmbus panel I2C adapter i2c-0 i2c i915 gmbus ssc I2C adapter i2c-7 i2c AUX D/port D I2C adapter i2c-5 i2c i915 gmbus dpd I2C adapter $ sudo i2cdetect 8 WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-8. I will probe address range 0x08-0x77. Continue? [Y/n] Y 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- 45 -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
但是,我無法讀取感測器數據,因為我的(標準 Debian)系統上沒有安裝核心模組 sht3x
lsmod
,並且沒有在.問題
如何在我的 Debian 筆記本上安裝和使用 sht3x 核心模組?
我假設您正在執行 Debian 10,但後續版本的說明類似。Debian 10 中使用的核心版本支持您所使用的模組,但未啟用;讓我們解決這個問題。
- 在您的發行版中安裝預設版本的核心原始碼:
sudo apt install linux-source
- 提取它:
cd /usr/src tar xf linux-source-*.tar.xz
(假設只有一個
linux-source
tarball 可用,除非您安裝了多個linux-source
軟體包,否則會出現這種情況)。 3. 複製目前核心配置:cd linux-source-*/ cp /boot/config-$(uname -r) .config
- 啟用
sht3x
模組的配置:make menuconfig
(這可能會抱怨缺少工具,例如編譯器; sudo
apt install build-essential
應該可以解決問題)。要查找需要啟用的選項及其位置,請按
/
並輸入“SHT3X”:這提供了許多資訊:
- 該選項被呼叫
SENSORS_SHT3X
;- 它列在“設備驅動程序”、“硬體監控支持”下;
- 它所依賴的選項已經啟用;
- 但它被禁用。按
Enter
退出搜尋結果,下到“Device Drivers”,按Enter
,再下到“Hardware Monitoring Support”,再按Enter
一次,找到“SHT3x”選項,按M
將其作為模組啟用。按
Tab
直到突出顯示“保存”,然後Enter
,確認要寫入的文件的名稱 (.config
),然後多次選擇“退出”,直到您返回提示。 5. 最後,建構模組:make drivers/hwmon/sht3x.ko
這可能需要額外的依賴,至少
libelf-dev
和libssl-dev
(sudo apt install libelf-dev libssl-dev
)。如果一切順利,您最終會得到一個
drivers/hwmon/sht3x.ko
可以作為模組載入的文件。