- How do I install a network driver on Linux?
- 3 Answers 3
- Подключение и настройка сетевой карты в Linux Ubuntu
- Как в Linux установить пакет (драйвер) если нет Интернет-подключения
- 1. Использование проводного соединения
- 2.Подключить USB адаптер для которого драйвера присутствуют в ядре Linux
- 3. Офлайн установка пакетов
- 4. Установка пакетов с Live или установочного диска
How do I install a network driver on Linux?
I want to use eth0 driver, but my network card is UNCLAIMED. I use Killer e2200 Gigabit Ethernet controller. Please tell me how to install the Networkdriver and how to use eth0 .
3 Answers 3
If you have installed OS and you want to run Network Card as new hardware, you must ask the vendor for network drivers. Usually network drivers come with source pakage of kernel modules. You must compile driver module for you kernel.
- install «build essential» utilites
$ sudo apt-get install build-essential
$ ./configure $ make $ sudo make install
After installation you can load just compiled module by enter command:
$ sudo insmod your_module.so $ ifconfig eth0 up
The latest network devices usually take a while to work their way into the Linux kernel. All drivers are usually built into big distributions like Debian (or Ubuntu) and Centos.
The other answer answers here give great detail on how to compile the driver module and insert it — if you look at the Linux source code, you can «grep» your device name in the /drivers/net directory eg.
grep -ri e2200 /usr/src/linux*/drivers/net/
grep -ri killer /usr/src/linux*/drivers/net/
It might yield something like:
drivers/net/dsa/Kconfig: tristate "Qualcomm Atheros QCA8K Ethernet switch family support" drivers/net/dsa/Kconfig: This enables support for the Qualcomm Atheros QCA8K Ethernet drivers/net/ethernet/atheros/Makefile:# Makefile for the Atheros network device drivers. drivers/net/ethernet/atheros/Kconfig:# Atheros device configuration drivers/net/ethernet/atheros/Kconfig:config NET_VENDOR_ATHEROS drivers/net/ethernet/atheros/alx/Makefile:obj-$(CONFIG_ALX) += alx.o drivers/net/ethernet/atheros/alx/Makefile:alx-objs := main.o ethtool.o hw.o drivers/net/ethernet/qualcomm/Kconfig: This enables support for the Qualcomm Atheros QCA7000. drivers/net/ethernet/qualcomm/Kconfig: tristate "Qualcomm Atheros QCA7000 SPI support" drivers/net/wireless/ath/ath9k/Kconfig: bool "Atheros bluetooth coexistence support" drivers/net/wireless/ath/ath9k/Kconfig: tristate "Atheros 802.11n wireless cards support" drivers/net/wireless/ath/ath9k/Kconfig: Atheros IEEE 802.11n AR5008, AR9001 and scan support" drivers/net/wireless/ath/Kconfig: bool "Atheros/Qualcomm devices" drivers/net/wireless/ath/Kconfig: For information on all Atheros wireless drivers visit: drivers/net/wireless/ath/ar5523/Kconfig: tristate "Atheros AR5523 wireless driver support" drivers/net/wireless/ath/carl9170/Kconfig: This is the mainline driver for the Atheros "otus" 802.11n USB devices. drivers/net/wireless/ath/ath10k/Kconfig: tristate "Atheros 802.11ac wireless cards support" drivers/net/wireless/ath/ath10k/Kconfig: Atheros IEEE 802.11ac family of chipsets. drivers/net/wireless/ath/ath6kl/Makefile:# Copyright (c) 2004-2011 Atheros Communications Inc. drivers/net/wireless/ath/ath6kl/Makefile:# Copyright (c) 2011-2012 Qualcomm Atheros, Inc. drivers/net/wireless/ath/wcn36xx/Kconfig: Qualcomm Atheros WCN3660 and WCN3680 mobile chipsets. drivers/net/wireless/ath/ath5k/Kconfig: bool "Atheros 5xxx AHB bus support" drivers/net/wireless/ath/ath5k/Kconfig: This adds support for WiSoC type chipsets of the 5xxx Atheros drivers/net/wireless/ath/ath5k/Kconfig: bool "Atheros 5xxx PCI bus support" drivers/net/wireless/ath/ath5k/Kconfig: This adds support for PCI type chipsets of the 5xxx Atheros
I’ve trimmed some lines for brevity. But the module names are the same as the directory before Kconfig, so you can check if it is active with lsmod:
Sometimes my intel drivers for my onboard Wi-Fi dies, then I have to remove and re-add it:
rmmod iwlmvm modprobe iwlmvm
Then magically it works again. I still need to contribute this fix to the NetworkManager project.
If this returns «alx», then the driver is already loaded:
If not, you’re out of luck. You can manage the interface with the «ifconfig» or «ip link» commands:
Newer Linuxes don’t use «eth» as interface names any more.
So I grepped my kernel tree for «killer» and «e2200» and couldn’t find anything. Then I did a web search, and found out that is is an Atheros device, and similar to the «alx» driver. Someone updated the driver to work with your card, lucky you. If there are enough cards like that out in the world, or he upstreamed it, all you have to do is to update Linux and it will just work.
Welcome to Linux! No go out and buy some older hardware that someone has already made free drivers for. 🙂
Подключение и настройка сетевой карты в Linux Ubuntu
Первый шаг — вы вставляете сетевую карту в соответствующий слот и включаете компьютер. Чтобы проверить, как сетевая карта подключена в Linux Ubuntu, какие параметры ей назначены, необходимо:
sudo apt install ethtool lshw pciutil net-tools
Эта команда определит, какие именно интерфейсы подсоединены к шине PCI. Если там есть Ваши устройства, значит всё в порядке, их драйвера присутствуют в ядре Linux.
- После этого можно просмотреть детальную информацию о каждой плате (интерфейсе). Для этого нужно подать команду:
Из предыдущего вывода можно узнать слот PCI латы, который в новом выводе будет обозначаться как bus info :
Найдя по номеру гнезда плату, можно будет определить:
- логический номер интерфейса: ( logocal name: ). Не факт, что он будет стандартным eth0 , eth1 и т.д.;
- мак адрес сетевой карты (физический) ( serial: );
- ip-адрес карты: ( configuration: . ip =x.x.x.x . )
Примечание: если карта не настроена, iр=адрес может и не отображаться. А вот имя интерфейса и мак адрес карты должны отображаться всегда!
Этих данных, плюс данных, полученных при планировании сети, вполне достаточно, чтобы дальше настраивать сетевые интерфейсы в ручном режиме, правкой файлов конфигураций или через программу webmin.
Какие существуют файлы конфигурации для настройки сетевых интерфейсов Ubuntu?
Для правильного функционирования сети необходимо внести изменения в следующие файлы конфигурации системы:
Содержимое последних трёх файлов будет обсуждаться в разделах, посвящённых IP протоколам.
Примеры настройки файла /etc/network/interfaces
Ниже приводятся фрагменты настройки Ethernet карт с пояснениями.
Вначале нужно настроить закольцованный интерфейс, если по каким-то причинам он отсутствует:
This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback
Минимальные настройки для интерфейса eth0 по dhcp :
# The primary network interface allow-hotplug eth0 iface eth0 inet static address 192.168.1.1 netmask 255.255.255.0 gateway 192.168.1.254 broadcast 192.168.1.255 dns-nameservers 192.168.1.254 8.8.8.8
- address – ip адрес компьютера
- netmask – его сетевая маска
- gateway – основной шлюз сети
- broadcast – широковещательный адрес. Обычно заканчивается на .255, что означает все адреса компьютеров в сети
- dns-nameservers – адреса первичного и вторичного DNS серверов
Для Wi-fi карты типовые настройки будут следующими:
# The primary WLAN interface iface wlan0 inet dhcp wpa-driver wext wpa-ssid wpa-ap-scan 1 wpa-proto RSN wpa-pairwise CCMP wpa-group CCMP wpa-key-mgmt WPA-PSK wpa-psk auto wlan0
Значения параметров следующие:
- iface wlan0 inet dhcp — конфигурация для DHCP
- iface wlan0 — имя нашего интерфейса (wlan0, eth1, rausb0, ra0, и т.д.)
- wpa-driver — это wpa-driver для нашей карты (‘wext’ — общий драйвер для Linux, работающий с «ndiswrapper»). Рекомендуется оставить как есть.
- hostap = Host AP driver (Intersil Prism2/2.5/3) atmel = ATMEL AT76C5XXx (USB, PCMCIA) wext = Linux wireless extensions (generic) madwifi = Atheros
- wired = wpa_supplicant wired Ethernet driver
- wpa-ssid — имя нашей точки доступа (ESSID). Без кавычек.
- wpa-ap-scan — параметр вещания точкой доступа её имени. «1» = ESSID вещается всем. «2» = ESSID скрыт.
- wpa-proto — протокол «RSN» = WPA(2) «WPA» = WPA(1)
- wpa-pairwise и wpagroup — «CCMP» = AES-шифрователь (как часть стандарта WPA(2)) «TKIP» = TKIP-шифрователь (как часть стандарта WPA(1))
- wpa-key-mgmt — «WPA-PSK» = Аутентификация через ключевую фразу (см. ‘Создание ключей’) «WPA-EAP» = Аутентификация при помощи сервера аутентификаций.
- auto wlan0 — автоматическое включение wlan0 при загрузке/перезагрузке сети.
Как генерировать шестнадцатеричные ключи для Wi—fi?
Теперь нам нужно сконвертировать нашу ключевую фразу (WPA ASCII) в hex-ключ:
Результат будет примерно таким:
network= ssid="test" #psk="12345678" psk=fe727aa8b64ac9b3f54c72432da14faed933ea511ecab1 5bbc6c52e7522f709a
hex-ключ это все символы после » psk= «.
Нужно его скопировать в буфер обмена и вставить в файл /etc/network/interfaces в поле wpa-psk .
Теперь можно сохранить файл и перезагрузить сеть. Должно установиться соединение. Однако иногда этого сразу не происходит. Если это так — перезагружаем машину.
Как в Linux установить пакет (драйвер) если нет Интернет-подключения
В настоящее время при работе с операционными системами подразумевается, что она всегда подключена к Интернету. Поэтому диски с драйверами сетевых карт больше не входят в комплект при продаже. И может возникнуть ситуация, что невозможно установить драйвер устройства, поскольку нет сетевого соединения, а сетевого соединения нет, потому что невозможно установить драйвер устройства. Рассмотрим несколько способов, как вырваться из этого замкнутого круга.
1. Использование проводного соединения
Если вы не можете настроить Wi-Fi подключение, то соедините компьютер с роутером проводом. Обычно Ethernet кабели уже входят в комплект роутеров. Есть высокий шанс, что ваш Linux поддерживает чипсет Ethernet гнезда и он работает без дополнительных пакетов. Обычно проводные соединения не требуют особой настройки.
2.Подключить USB адаптер для которого драйвера присутствуют в ядре Linux
Подойдёт практически любой USB адаптер кроме самых экзотических — в ядре Linux есть драйвера практически для всего. То есть вы получите Интернет и сможете сделать обычную установку.
3. Офлайн установка пакетов
На Linux с Интернетом вы можете скачать пакеты вручную:
apt download ПАКЕТ1 ПАКЕТ2
А затем установить их на компьютере без Интернета:
В теории это всего две команды, но на практике возможны следующие проблемы:
Чтобы пакеты подошли, дистрибутив, на котором вы скачиваете должен быть таким же и такой же версии, где вы затем будете устанавливать пакеты. Иначе вам нужно искать ссылки для каждого пакета для вашего дистрибутива и скачивать вручную
У каждого из этих пакетов могут быть зависимости, а у тех зависимостей могут быть другие зависимости…
В общем, посмотреть зависимости можно командой:
Или вариант попроще, запустите команду (делать установку необязательно):
sudo apt install ПАКЕТ1 ПАКЕТ2
и посмотрите, какие пакеты будут предложены для установки. Скопируйте названия этих пакетов и загрузите с помощью «apt download».
4. Установка пакетов с Live или установочного диска
В репозиториях в качестве источника пакетов нужно прописать CD диск.
Для этого выполните команду:
Если, например, вы добавляете образ Wheezy, будет сгенерирован следующий результат:
Использование /media/cdrom/ в качестве точки монтирования CD-ROM Идентификация… [7385c987a0f703941cb384c339b8ca1e-2] Поиск индексных файлов на диске… Найдено 1 индексов двоичных пакетов, 0 индексов пакетов с исходным кодом, 1 индексов переводов и 0 подписей Этот диск найден: 'Debian GNU/Linux 7.5.0 _Wheezy_ - Official amd64 CD Binary-1 20140426-13:37' Чтение индексов двоичных пакетов. Сделано Чтение индексов переводов. Сделано Запись нового списка источников Запись списка источников для этого диска: deb cdrom:[Debian GNU/Linux 7.5.0 _Wheezy_ - Official amd64 CD Binary-1 20140426-13:37]/ wheezy main
И будет добавлена следующая строка:
deb cdrom:[Debian GNU/Linux 7.5.0 _Wheezy_ - Official amd64 CD Binary-1 20140426-13:37]/ wheezy main
в ваш файл /etc/apt/sources.list.