Você realmente precisa carregar o módulo de driver GPIO correto para o seu hardware. Você também pode precisar carregá-lo manualmente (nomeando-o em / etc / modules) se ele não for carregado automaticamente (alguns não porque não são "plug-and-play").
A falta de módulos GPIO carregados no seu kernel em execução é a razão pela qual você não tem um diretório /sys/class/gpio
.
Das mensagens de inicialização citadas, o módulo correto provavelmente é gpio_ich
. Mas somente os testes dirão com certeza.
Eu uso o módulo gpio_ich
, portanto, para fins de comparação, aqui estão alguns detalhes do meu sistema. Eu não testei meus pinos do GPIO, mas meu sistema está definitivamente mais perto de funcionar do que o seu, então isso deve aproximá-lo.
$ modinfo gpio_ich
ERROR: Module gpio_ich not found.
Isso porque meu gpio_ich está estaticamente ligado ao meu kernel, para uma inicialização um pouco mais rápida. Eu recomendo que você o construa como um módulo, caso em que o comando acima será bem-sucedido (diferentemente do meu caso) e mostrará os parâmetros do módulo, se houver algum.
$ ls -l /sys/class/gpio/
total 0
--w------- 1 root root 4096 Jul 14 16:12 export
lrwxrwxrwx 1 root root 0 Jul 14 16:12 gpiochip195 -> ../../devices/pci0000:00/0000:00:1f.0/gpio_ich/gpio/gpiochip195
--w------- 1 root root 4096 Jul 14 16:12 unexport
$ dmesg|fgrep -i gpio
gpio_ich: GPIO from 195 to 255 on gpio_ich
lpc_ich: Resource conflict(s) found affecting gpio_ich
it87: VID is disabled (pins used for GPIO)
A primeira mensagem é o módulo inicializando. A falta disso é um show-stopper. Eu não sei se o Resource conflict(s)
indicado na segunda linha é um problema ou não (eu suspeito que eles são devido à reutilização de pinos declarados na terceira linha, então não são um problema).
Boa sorte!