Você tem que reconstruir seu kernel depois de desabilitar o driver do código-fonte do kernel que está no arquivo de configuração do kernel
Eu quero me comunicar por um barramento I2C usando o Python. Mas o endereço não pode ser usado porque é usado por outro driver.
# 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
Eu segui as instruções em esta resposta .
# cat /sys/bus/i2c/devices/0-001b/modalias
wm8731
De acordo com o autor dessa resposta, wm8731 é " o nome do driver do kernel que está mantendo este dispositivo ocupado ". Desativar este módulo não funciona:
# rmmod wm8731
Error: Module wm8731 is not currently loaded
Como desabilito o driver para esse endereço?
Você tem que reconstruir seu kernel depois de desabilitar o driver do código-fonte do kernel que está no arquivo de configuração do kernel
Tags kernel-modules