간단히 말해서:
커널 모듈 sht3x(https://www.kernel.org/doc/html/latest/hwmon/sht3x.html)가 표준 데비안 설치에 없는 것 같습니다. 외부 센서를 읽으려면 필요해요. 이 커널 모듈을 어떻게 설치합니까?
전체 이야기
나는 SHT31 온도/습도 센서를 데비안 노트북에 연결하려고 합니다. 이를 위해 ATtiny85 마이크로컨트롤러를 플래시하여i2c-마이크로 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: -- -- -- -- -- -- -- --
하지만 센서 데이터를 읽을 수 없습니다.커널 모듈 sht3x내 (표준 데비안) 시스템에 설치되어 있지 않으며 lsmod
.
질문
데비안 노트북에 sht3x 커널 모듈을 설치하고 사용하는 방법은 무엇입니까?
답변1
나는 당신이 Debian 10을 실행하고 있다고 가정하지만 지침은 이후 버전에서도 비슷합니다. 데비안 10에서 사용되는 커널 버전은 원하는 모듈을 지원하지만 활성화되어 있지 않습니다.
배포판에 커널 소스의 기본 버전을 설치합니다.
sudo apt install linux-source
추출:
cd /usr/src tar xf linux-source-*.tar.xz
(단 하나의
linux-source
tarball만 사용할 수 있다고 가정하며, 이는 여러 패키지를 설치하지 않은 경우에 해당됩니다linux-source
).현재 커널 구성을 복사합니다.
cd linux-source-*/ cp /boot/config-$(uname -r) .config
모듈 구성 활성화
sht3x
:make menuconfig
(컴파일러와 같은 도구가 누락되었다고 불평할 수 있습니다. sudo가
apt install build-essential
문제를 해결해야 합니다.)활성화해야 하는 옵션과 해당 위치를 찾으려면 /"SHT3X"를 누르고 입력하세요.
이는 몇 가지 정보를 제공합니다.
- 이 옵션은
SENSORS_SHT3X
; - "장치 드라이버", "하드웨어 모니터링 지원" 아래에 나열되어 있습니다.
- 의존하는 옵션은 이미 활성화되어 있습니다.
- 하지만 비활성화되어 있습니다.
를 눌러 Enter검색 결과를 종료하고 "장치 드라이버"로 이동하여 을 누른 Enter다음 "하드웨어 모니터링 지원"으로 이동하여 Enter다시 누르고 "SHT3x" 옵션을 찾은 다음 를 눌러 M모듈로 활성화하세요.
저장이 강조 표시될 때까지 를 누른 Tab다음 Enter쓰려는 파일 이름(
.config
)을 확인한 다음 프롬프트로 돌아갈 때까지 종료를 여러 번 선택합니다.- 이 옵션은
마지막으로 모듈을 빌드합니다.
make drivers/hwmon/sht3x.ko
이를 위해서는 최소한
libelf-dev
(libssl-dev
) 이상의 추가 종속성이 필요할 수 있습니다sudo apt install libelf-dev libssl-dev
.drivers/hwmon/sht3x.ko
모든 것이 잘 진행되면 모듈로 로드할 수 있는 파일이 생성됩니다 .