Python을 사용하여 I2C 버스를 통해 통신하고 싶습니다. 하지만 해당 주소는 이미 다른 운전자가 사용하고 있는 주소이므로 사용할 수 없습니다.
# i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
# i2cget -y 0 0x1b
Error: Could not set address to 0x1b: Device or resource busy
나는 다음의 지침을 따랐습니다.이 답변.
# cat /sys/bus/i2c/devices/0-001b/modalias
wm8731
이 답변의 작성자에 따르면 wm8731은 "이 장치를 계속 사용하게 하는 커널 드라이버의 이름". 모듈을 비활성화해도 효과가 없습니다.
# rmmod wm8731
Error: Module wm8731 is not currently loaded
이 주소에 대한 드라이버를 비활성화하려면 어떻게 해야 합니까?
답변1
커널 구성 파일의 커널 소스 코드에서 드라이버를 비활성화한 후 커널을 다시 빌드해야 합니다.