i2c 주소를 소유한 모듈 드라이버를 찾는 방법은 무엇입니까?

i2c 주소를 소유한 모듈 드라이버를 찾는 방법은 무엇입니까?

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

커널 구성 파일의 커널 소스 코드에서 드라이버를 비활성화한 후 커널을 다시 빌드해야 합니다.

관련 정보