Como posso encontrar qual driver de módulo contém o endereço i2c?

2

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?

    
por OrangeTux 06.12.2014 / 16:25

1 resposta

1

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

    
por 17.10.2016 / 07:55