regra do udev do linux para carregar o módulo de dispositivo para o driver cliente

5

Estou tendo dificuldade em carregar um módulo de gadget e criar o dispositivo usb0 como uma interface eth. A interface em questão é g_ether para um dispositivo Linux embarcado e conexão a um PC.

Eu imagino que existe uma maneira de ver o evento a partir do plug-in e executar um script com o udev. Quando eu conecto meu dispositivo em um PC, não vejo nenhum evento. Eu tentei diferentes variações do monitor do udevadm e não sei como descobrir o que posso usar como uma regra do udev para modificar um módulo de gadget.

Parte do motivo pelo qual estou tentando carregar o módulo otg é porque estamos usando principalmente o g_ether. Eu quero usar o avahi-autoipd, mas ele está obtendo um endereço IP antes de ser conectado. Se eu usar o allow-hotplug na interface de rede, ele nunca traz automaticamente a interface quando está plugado. Então, em teoria, eu quero conectar dispositivo para um PC, execute avahi-autoipd na nova interface de rede para recuperar um IP e dhcpd para fornecer um ao host.

Como outra pessoa começou a me ajudar no stackoverflow (repostagem aqui), tenho mais algumas informações.

/sys/bus/usb/devices$ ls
1-0:1.0  2-0:1.0  3-0:1.0  3-1  3-1:1.0  usb1  usb2  usb3
[ 4297.515400] g_ether gadget: high speed config #2: RNDIS
[ 4300.379021] g_ether gadget: high speed config #1: CDC Ethernet (ECM)
sys/bus/usb/devices$ ls
1-0:1.0  2-0:1.0  3-0:1.0  3-1  3-1:1.0  usb1  usb2  usb3

Eu tentei rodar

   udevadm monitor --environment
   udevadm monitor --environment --udev 
   udevadm monitor
   udevadm monitor --kernel
   udevadm monitor --kernel --udev

desconectar e conectar o dispositivo não mostra nada. A manpage diz " Escuta os eventos e eventos do kernel enviados por uma regra do udev "e não tenho regras em meu dispositivo. Então, presumo que provavelmente seja por isso que nada é impresso, mesmo se eu tentar fazer algumas coisas com outro hardware?

Estou executando uma distribuição Linux incorporada. Eu imagino que talvez não tenha tudo que uma área de trabalho tem?

Chegou ao meu conhecimento que eu poderia ter um problema com o meu módulo g_ether? Essas saídas nunca mudam. gato / sys / classe / net / usb0 / transportadora cat: read error: argumento inválido cat / sys / class / net / usb0 / operstate para baixo

    
por Kevin 18.04.2014 / 23:14

1 resposta

0

Variáveis específicas de USB para um evento são definidas na função do kernel usb_uevent . Você pode acompanhar se esta função é chamada ou não.

    
por 12.04.2018 / 06:32