我想使用 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
在从内核配置文件中的内核源代码禁用该驱动程序后,您必须重建内核