Wie installiere ich bei Ubuntu einen Treiber?
Ich möchte bei Ubuntu (Desktop Version 21.10) einen Netzwerktreiber für meine Netzwerkkarte ("Intel(R) Ethernet Connection (10) I219-V") installieren, weil ich kein Internet habe. Ich habe auf Windows den bei Intel gedownloaded (hier: https://downloadmirror.intel.com/728358/Preboot.tar.gz ) und auf die Platte mit Ubuntu kopiert. Jetzt habe ich die Datei bei Ubuntu und weiß nicht, was ich tun soll. Ich habe im Internet gelesen, dass ich in ein src-Verzeichnis gehen soll (das habe ich getan) und dort dann in der Konsole
sudo make install
ausführen soll. Als ich das probiert habe, bekam ich die Antwort, dass ich das Paket "make" dafür benötige. Ich habe versucht, es zu installieren, aber das ist nicht möglich, weil ich kein Internet habe (und das ja mit dem Treiber ändern will). Kann ich das irgendwie downloaden, dass ich das nicht benötige oder das auf Windows so bearbeiten, dass ich dieses Paket nicht brauche?
Ich hoffe, jemand kann mir helfen.
4 Antworten
Warum selber schreiben, wenn hier 'ne Menge zu finden ist, ggf. selber weiter suchen da drin:
https://wiki.ubuntuusers.de/Zus%C3%A4tzliche_Treiber/
Möglicherweise findest Du auf diese Weise den richtigen Treiber, ohne allzuviel Handarbeit.
Rufe erst mal den Befehl
ip a
auf und zeige den Report.
Ohne das im Einzelnen zu analysieren: Entpacke das Archiv. Du findest im Pfad
Preboot/APPS/BootUtil/Linux_x64
eine Datei namens install. Das ist das Installationsscript. Also:
cd Preboot/APPS/BootUtil/Linux_x64
sudo ./install
Ungetestet.
Ich sehe nicht, wo hier Pakete installiert werden müssten. Das Script findet einen Pfad nicht. Im selben Verzeichnis wie install liegt auch das Archiv iqvlinux.tar.gz. Entpacke das auch mal und probiere es erneut.
Das install script macht das alles automatisiert (habs kurz getestet, ich mag Automagie nicht sonderlich, aber hey)-
So, da alles glatt läuft, kann ich den Fehler nciht nachvollziehen, aber fangen wir oben an:
/bin/bash: Zeile 1: cc: Befehl nicht gefunden
Falls gcc installiert ist, würde hier ein Softlink cc Abhilfe schaffen. (oder ein alias)
Schwerwiegender scheint mir aber das hier:
CONFIG_X86_X32 enabled but no binutils support
Ist das denn ein X64 System, mit X64 Kernel und X32 Userland?
Zum ersten: gcc ist nicht installiert (das meinte ich mit fehlenden Paketen) und da ich keine Internetverbindung habe, kann ich das auch nicht installieren.
Zum zweiten: Ich weiß leider nicht, was damit gemeint ist, also kann ich das leider nicht beantworten.
Ohne Compiler wirst Du definitiv kein Treibermodul kompiliert bekommen.
D.h. entweder DU versorgst den Rechner temporär anderweitig mit Netzwerk, oder Du mußt Dir alle nötigen Pakete beschaffen, auf nen Stick ziehen ud manuell installieren.
Du könntest via Handy über USB Tethering eine Verbindung herstellen.
Habe jetzt über USB-Tethering mit meinem Handy build-essential installiert und die install-Datei ausgeführt, aber ich habe noch immer kein Internet (die Installation verlief fehlerfrei)
Was auch immer der Sinn dahinter war, es hat nicht geklappt:
USERNAME@PCNAME:~$ sudo modprobe -v iqvlinux
insmod /lib/modules/5.13.0-19-generic/kernel/drivers/net/iqvlinux.ko
modprobe: ERROR: could not insert 'iqvlinux': Operation not permitted
USERNAME@PCNAME:~$ sudo ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
Im UEFI habe ich es aktiviert, aber die Option bei der Installation von Ubuntu habe ich nicht aktiviert, weil ich nicht genau wusste, was sie tut
Eine mögliche Ursache für die Fehlermeldung ist aktiviertes Secureboot und nicht signiertes Kernelmodul. Du könntest nochmal ein modprobe -v versuchen und dann auch via dmesg schauen, was genau als Fehler gelogged wird.
Ich vermute ein einfacher Reboot hat nicht gereicht?
Ich finde mich in der Ausgabe von dmesg nicht so wirklich zurecht, aber eins habe ich darin gefunden:
[ 252.380795] Lockdown: modprobe: unsigned module loading is restricted; see man kernel_lockdown.7
Dann entweder SecureBoot ausschalten, oder das Modul signieren.
Hier hat jemand diesen Chip unter Arch zum Laufen gebracht, dürfte unter Ubuntu ähnlich klappen: https://bbs.archlinux.org/viewtopic.php?pid=2000182#p2000182
Habe das versucht, aber das Problem ist, dass ich gar keinen Treiber bisher habe. Und die install Datei ausführen hat auch nicht geholfen, weil ich dafür Pakte installieren muss, die ich nicht habe und nicht installieren kann, weil ich kein Internet habe. Hier die Terminalausgabe:
USERNAME@PCNAME:~/Schreibtisch/help/Preboot/APPS/BootUtil/Linux_x64$ chmod +x bootutil64e
USERNAME@PCNAME:~/Schreibtisch/help/Preboot/APPS/BootUtil/Linux_x64$ sudo ./bootutil64e -NIC=1 -DEFAULTCONFIG
Error: Connection to QV driver failed - please reinstall it!
Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.38.03.6
Copyright (C) 2003-2022 Intel Corporation
ERROR: The adapter (location 0:31.6) cannot be initialized due to inaccessible device memory.
Update the device driver and reboot the system before running this utility again.
Consult the utility documentation for more information.
Port Network Address Location Series WOL Flash Firmware Version
==== =============== ======== ======= === ============================= =======
1 (Cannot initialize adapter)
USERNAME@PCNAME:~/Schreibtisch/help/Preboot/APPS/BootUtil/Linux_x64$ cd DRIVER
USERNAME@PCNAME:~/Schreibtisch/help/Preboot/APPS/BootUtil/Linux_x64/DRIVER$ sudo ./install
Extracting archive..OK!
Compiling the driver...Error: make: Verzeichnis „/home/USERNAME/Schreibtisch/help/Preboot/APPS/BootUtil/Linux_x64/DRIVER/iqvlinux/src/linux/driver“ wird betreten
/bin/bash: Zeile 1: cc: Befehl nicht gefunden
/bin/bash: Zeile 1: [: -lt: Einstelliger (unärer) Operator erwartet.
make ccflags-y=" -I/home/USERNAME/Schreibtisch/help/Preboot/APPS/BootUtil/Linux_x64/DRIVER/iqvlinux/inc -I/home/USERNAME/Schreibtisch/help/Preboot/APPS/BootUtil/Linux_x64/DRIVER/iqvlinux/inc/linux -DNAL_LINUX -DNAL_DRIVER -DNAL_DRIVER_UNSECURE -DLINUX -D__KERNEL__ -DMODULE -O2 -pipe -Wall" -C "/lib/modules/5.13.0-19-generic/build" CONFIG_IQVLINUX=m CONFIG_MODULE_SIG=n CONFIG_MODULE_SIG_ALL= M="/home/USERNAME/Schreibtisch/help/Preboot/APPS/BootUtil/Linux_x64/DRIVER/iqvlinux/src/linux/driver" modules
make[1]: Verzeichnis „/usr/src/linux-headers-5.13.0-19-generic“ wird betreten
arch/x86/Makefile:148: CONFIG_X86_X32 enabled but no binutils support
make[1]: gcc: Datei oder Verzeichnis nicht gefunden
CC [M] /home/USERNAME/Schreibtisch/help/Preboot/APPS/BootUtil/Linux_x64/DRIVER/iqvlinux/src/linux/driver/nalioctldrv.o
/bin/bash: Zeile 1: gcc: Befehl nicht gefunden
make[2]: *** [scripts/Makefile.build:281: /home/USERNAME/Schreibtisch/help/Preboot/APPS/BootUtil/Linux_x64/DRIVER/iqvlinux/src/linux/driver/nalioctldrv.o] Fehler 127
make[1]: *** [Makefile:1874: /home/USERNAME/Schreibtisch/help/Preboot/APPS/BootUtil/Linux_x64/DRIVER/iqvlinux/src/linux/driver] Fehler 2
make[1]: Verzeichnis „/usr/src/linux-headers-5.13.0-19-generic“ wird verlassen
make: *** [Makefile:60: all] Fehler 2
make: Verzeichnis „/home/USERNAME/Schreibtisch/help/Preboot/APPS/BootUtil/Linux_x64/DRIVER/iqvlinux/src/linux/driver“ wird verlassen
Error: unable to find driver file (iqvlinux.ko) in /home/USERNAME/Schreibtisch/help/Preboot/APPS/BootUtil/Linux_x64/DRIVER/iqvlinux/src/linux/driver
Oh je. :) Hier: https://askubuntu.com/questions/334136/how-do-i-install-build-essential-without-an-internet-connection
Wenn das nicht hinhaut, würde ich dir empfehlen, Manjaro auszuprobieren, da sollten Pakete wie gcc oder make bereits vorinstalliert sein.
Das Problem daran ist, dass ich dafür Pakete installieren müsste (aber ja kein Internet habe), hier die Ausgabe des Terminals: