Fehlender TUN / TAP-Treiber unter Embedded Linux

592
KateOleneva

Ich bin einen langen Weg gegangen, um auf dieses Problem zu stoßen, daher werden mehrere Sackgassenschritte weggelassen.

Ich habe versucht, eine TAP-Schnittstelle zu erstellen. Der erste Schritt bestand darin, zu überprüfen, ob ich das benötigte Werkzeug habe (was ich scheinbar habe):

root@analog:~# ip tuntap help Usage: ip tuntap { add | del } [ dev PHYS_DEV ]  [ mode { tun | tap } ] [ user USER ] [ group GROUP ] [ one_queue ] [ pi ] [ vnet_hdr ] [ multi_queue ]  Where: USER := { STRING | NUMBER } GROUP := { STRING | NUMBER } 

Ich entschied mich zu prüfen, ob ich das benötigte Kernel-Modul installiert / kompiliert / eingefügt habe, und es stellte sich heraus, dass ich es nicht getan habe

root@analog:~# lsmod | grep tun root@analog:~# 

Die Installation des Moduls erwies sich als problematisch

root@analog:~# modprobe tun modprobe: ERROR: ../libkmod/libkmod.c:556 kmod_search_moddep() could not open moddep file '/lib/modules/4.6.0-ga94cfb9/modules.dep.bin' 

Was mich dazu brachte, mich zu fragen, ob mit Abhängigkeiten und so etwas in Ordnung ist

root@analog:~# depmod depmod: ERROR: could not open directory /lib/modules/4.6.0-ga94cfb9: No such file or directory 

Dies machte das Problem noch komplizierter, da der einzige Ort, an dem ich diese mystische Kombination von Symbolen traf, ist

root@analog:~# uname -a Linux analog 4.6.0-ga94cfb9 #5 SMP Mon Dec 12 10:50:01 GMT 2016 armv7l armv7l armv7l GNU/Linux 

Ich habe ehrlich keine Ahnung, welche Informationen für die Lösung des Problems nützlich sein könnten, aber ich bitte um Ideen, die meine Untersuchung ein wenig weiterbringen könnten

0
Was distro Dass Ihr Kernel keine Modulunterstützung hat, riecht ungewöhnlich. ARM-Linux-Varianten sind in der Regel eher spezialisiert, daher ist es für das Gerät und die Distribution, das ausgeführt wird, von Vorteil. Ich denke, dass Sie das Problem in der Antwort gelesen haben, ist wahrscheinlich richtig Journeyman Geek vor 5 Jahren 0
@JourneymanGeek, [this] (https://github.com/analogdevicesinc/linux/tree/altera_4.6) wäre die genaueste Antwort, die ich Ihnen geben könnte KateOleneva vor 5 Jahren 0

1 Antwort auf die Frage

0
KateOleneva

Weitere Nachforschungen führten mich zu der Antwort auf meine Frage.

Ich weiß sicher, dass einige Treiber auf dem Gerät vorhanden sind, mit dem ich Probleme habe, aber ich konnte sie nicht physisch auf dem Gerät finden (.o / .ko-Dateien scheinen irgendwie zu fehlen).

Es scheint wie das

Treiber werden direkt in den Kernel kompiliert

Kernel hat keine Modulunterstützung

wie von Ulrich Dangel hier erwähnt .

Ich musste den benötigten Treiber in .config einstellen (kann manuell oder mithilfe von durchgeführt werden make menuconfig)

# CONFIG_TUN is not set CONFIG_TUN=y 

kompiliere den Kernel und ersetze old uImage.

Ich überprüfte, ob die benötigten Treiber laufen durch, dmesg | grep tunwo tunsind die benötigten Treibernamen. Jetzt funktioniert alles perfekt