Eu não posso dizer o que deu errado no seu Raspberry Pi (porque eu não tenho um), mas posso dizer-lhe como testar e trabalhar com o driver do dispositivo serial. Tente o seguinte no seu PC principal primeiro.
Carregue um driver de controlador de host virtual (simulado) para dispositivos USB:
sudo modprobe dummy_hcd
Isso funcionará simultaneamente como uma estrutura para os drivers de gadgets e fornecerá a você um novo barramento USB "normal" (verifique com lsusb
) visível para o computador e fará um loopback entre eles.
Agora, carregue o driver do gadget serial:
sudo modprobe g_serial
Você deve ver um novo dispositivo no barramento e também /dev/ttyGS0
do driver do gadget. Ao mesmo tempo, o novo dispositivo faz com que o driver do kernel para clientes seriais seja carregado, assim você também obterá um dispositivo /dev/ttyACM0
.
Você pode simplesmente escrever e ler desses dispositivos e ver se eles se comunicam. Por exemplo. do cat /dev/ttyACM0
em uma janela e echo foo > /dev/ttyGS0
em outra.
Eu suspeito que você terá que colocar o Raspberry Pi no modo cliente USB, e carregar o driver HCD correto para que os drivers do gadget possam se conectar, e se você não tiver feito isso, o gadget o motorista simplesmente não fará nada, como você observou. Mas eu não sei o caminho certo para usar no Raspberry Pi.