Ubuntu 12.04, carregando i801 I2C driver

4

Eu tenho um dispositivo conectado ao seguinte barramento (vou discutir isso uma vez que explico o que estou tentando alcançar), e estou tentando depurar o próprio driver (geralmente ele estava trabalhando para especificações anteriores e versões do ubuntu e estou tentando atualizar o driver para trabalhar na especificação mais recente, para fazer isso eu preciso fazê-lo funcionar em uma versão mais nova do Ubuntu e, assim que tiver a infra-estrutura, vou começar a desenvolver) - Estou tentando carregar o driver i2c driver de barramento i801 para nenhum sucesso. Não há / dev / i2c-x disponível, eu tentei compilá-lo como um módulo interno, bem como um módulo - nenhum parece torná-lo disponível, talvez não devesse estar lá? Eu vejo "algo", que é / sys / modules / i2c_i801 / drivers / pci: i801_smbus.

A placa-mãe que eu uso é a DB75EN da Intel. Quando eu verifico o barramento com escopo eu posso ver uma vez em alguns segundos um acesso ao dispositivo em 44h. Estou usando o último kernel do Torvalds (3.14).

Qualquer conselho sobre como eu carrego o driver e como os drivers de barramento são selecionados e carregados?

Obrigado!

    
por Shahal 17.04.2014 / 17:41

1 resposta

3

Bem, parece que o meu principal problema foi que houve alguma colisão entre endereços nos quais eu não olhei. O acpi_check_address_range () de osl.c encontrou uma colisão. Isso fez com que a chamada de acpi_check_resource_conflict () do probe i2c-i801 falhasse. Eu comentei e compilei e funcionou. Para registrar meu driver eu também tive que enviar seu endereço explicitamente por: sudo su echo > / sys / bus / i2c / dispositivos / i2c-0 / new_device (i2c0 é i801)

Acho que outra maneira de resolvê-lo é undef ENFORCE_RESOURCES_STRICT que o acpi_check_resource_conflict () em osl.c verifica antes de decidir falhar.

P.S

Agora vejo o dispositivo 44h quando executo o i2cdetect.

    
por Shahal 24.04.2014 / 18:27