Se você usar o udevd, poderá usá-lo para exibir a interface assim que estiver disponível. O Busybox também contém uma implementação do udev.
Estou usando uma placa personalizada com um LAN9514 e o driver smsc95xx, mas não consigo fazer com que a interface ethernet apareça automaticamente no momento da inicialização. Quando o sistema for iniciado, posso usar o "ifconfig eth1 up" para ativá-lo, mas quero que ele seja iniciado automaticamente.
Aqui está meu / etc / network / interfaces:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
allow-hotplug eth1
iface eth1 inet static
address 192.168.2.1
netmask 255.255.255.0
Eu também tentei "auto eth1" sem sucesso.
Logo após o término da inicialização, vejo essas mensagens no console:
usb 1-1.1: new high-speed USB device number 3 using ci_hdrc
smsc95xx v1.0.6
smsc95xx 1-1.1:1.0 eth1: register 'smsc95xx' at usb-ci_hdrc.0-1.1, smsc95xx USB 2.0 Ethernet, b2:6c:a9:0e:67:34
macb e000b000.ethernet eth0: link up (1000/Full)
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
O script /etc/init.d para iniciar a rede usa "/ sbin / ifup -a" para ativar a inicialização de interfaces automáticas (o ifup é manipulado como BusyBox no meu sistema).
Eu posso trazer a interface automaticamente gerando um comando com um atraso em um script init.d: "dormir 5 & ifconfig eth1 up &", mas isso parece um kludge porque não sei quanto tempo leva para o dispositivo ethernet USB ser instanciado.
A execução do ifconfig mostra as interfaces lo e eth0, mas não a eth1, até que eu a inicie manualmente. O que eu sinto falta de ter o eth1 iniciado automaticamente?
Se você usar o udevd, poderá usá-lo para exibir a interface assim que estiver disponível. O Busybox também contém uma implementação do udev.
Parece que eth0
aparece depois que ifup -a
já foi executado, porque aparentemente demora algum tempo para inicializá-lo.
Portanto, tente adicionar allow-hotplug eth0
antes de auto eth0
, que deve informar ifup / ifdown para ativar também a interface após ifup -a
já ter sido executado, quando o kernel gerar um evento assim que estiver pronto.