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
カーネル構成ファイルのカーネルソースコードでドライバを無効にした後、カーネルを再構築する必要があります。