So starten Sie automatisch eine USB-Ethernet-Schnittstelle mit dem smsc95xx-Treiber

0

Ich verwende eine benutzerdefinierte Karte mit einem LAN9514 und dem smsc95xx-Treiber, kann jedoch nicht sicherstellen, dass die Ethernet-Schnittstelle beim Booten automatisch gestartet wird. Sobald das System gestartet ist, kann ich es mit "ifconfig eth1 up" aufrufen, aber ich möchte, dass es automatisch gestartet wird.

Hier ist meine / 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

Ich habe auch "auto eth1" ohne Erfolg versucht.

Kurz nach Abschluss des Startvorgangs werden auf der Konsole die folgenden Meldungen angezeigt:

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

Das Skript /etc/init.d zum Starten des Netzwerks verwendet "/ sbin / ifup -a", um das Starten von automatischen Schnittstellen zu ermöglichen (ifup wird in meinem System von BusyBox verarbeitet).

Ich kann die Schnittstelle automatisch aufrufen, indem ich einen Befehl mit einer Verzögerung in einem init.d-Skript öffne: "sleep 5 && ifconfig eth1 up &", aber das fühlt sich wie ein Trick an, weil ich nicht weiß, wie lange es dauern kann Zu instanziierendes USB-Ethernet-Gerät.

Das Ausführen von ifconfig zeigt die Schnittstellen lo und eth0, aber nicht eth1, bis ich es manuell starte. Was fehlt mir, damit eth1 automatisch startet?

edj
quelle

Antworten:

0

Wenn Sie udevd verwenden, können Sie damit die Schnittstelle aufrufen, sobald sie verfügbar ist. Busybox enthält auch eine udev-Implementierung.

RalfFriedl
quelle
0

Es sieht so aus eth0, als würde es nach einem ifup -a bereits ausgeführten Start angezeigt, da die Initialisierung anscheinend einige Zeit in Anspruch nimmt.

Versuchen Sie also allow-hotplug eth0vorher hinzuzufügen auto eth0, dass ifup / ifdown angeben sollte, dass die Schnittstelle auch nach dem Ausführen aktiviert werden ifup -asoll, wenn der Kernel ein Ereignis generiert, sobald es fertig ist.

dirkt
quelle