Jak zainstalować na Linuxie driver z kernela

0

Pierwszy dzień z Linuxem. Próbuję zainstalować driver do karty sieciowej Intel I225, z tego co się dowiedziałem to znajduje się on w kernelu:

https://cateee.net/lkddb/web-lkddb/IGC.html

W jaki sposób go teraz zainstalować? Próbuję wszystkiego co znajdę w Google i ciągle nic ;/

3

Jaka dystrybucja?

Wiele z typowo desktopowych ma już większość sterowników w formie modułów, a podczas startu systemu sobie sprawdza co jest potrzebne i automatycznie ładuje sterowniki.

Tak bez znajomości konkretów dot. twojego systemu - takie dwa główne polecenia to lsmod i modprobe. Rzuć okiem na https://opensource.com/article/18/5/how-load-or-unload-linux-kernel-module

0

Linux ubuntu. Czytałem ten link, widziałem te polecenia, ale nie umiem ich wykorzystać ;/

0

Taka porada - skoro to pierwszy dzień to nie będziesz miał zbyt dużego problemu z przesiadką na Mint. Jakoś bardzo nie lubię Ubuntu i jak mogę do odradzam ;) są duże szanse, że na Mint to pójdzie z automatu. W sumie to jeszcze się nie spotkałem ze sprzętem, którego Mint nie ogarnie z automatu, a korzystam z tego systemu od kilku lat na łącznie kilkunastu maszynach.

A co do głównego pytania - rzuć okiem na https://ubuntuforums.org/showthread.php?t=2445791

0

A to nie zależy od wersji kernela? Jak Mint ma tego samego kernela to pewnie też nie zainstaluje z automatu.

4

Nie mam wypracowanej specjalnej metody debugowania problemów ze sprzętem na Linuxie, więc tylko takie ogólne uwagi. Skoro to Twój pierwszy dzień z Linuxem, pewnie jeszcze nie będziesz umiał ich wykorzystać, ale może przydadzą się na przyszłość.

  1. Czy karta nie działa w ogóle? Czy nie działa tak, jak powinna (i np. włącza się i wyłącza losowo – czyli ogólnie działa)?
  2. Czy system wykrywa kartę w jakikolwiek sposób? (w sensie: różne programy pokażą różne parametry sprzętu)
  3. Czy logi dotyczące raz: systemu, a dwa: karty sieciowej cokolwiek pokazują? Jakbyś szukał informacji na ten temat, to pamiętaj, że to, które pliki przechowują logi, może zależeć od dystrybucji.
  4. Podaj dokładne wersje raz: dystrybucji, a dwa: jądra – może się przydać. Wersję dystrybucji albo już znasz, albo możesz zobaczyć ją w jakichś ustawienia systemu (poszukaj w menu; zakładam, że korzystasz z trybu graficznego). Wersję jądra zobaczysz, wykonując w terminalu polecenie uname -r (w man uname to się nazywa "release", a nie "wersja").

UPDATE

  1. Czy karta jest dobrze podłączona? Czy podłączałeś ją sam, czy ktoś inny? Jeśli podłączałeś cokolwiek w komputerze poza kartą, a ona nie działa w ogóle, to mogło się zdarzyć, że wysunęła się lekko.
2

Wersja jądra to jedna sprawa, ale każda dystrybucja może mieć go inaczej skompilowanego, inne sterowniki wbite na sztywno, a inne w postaci modułów.

Te desktopowe mają jądra bardzo rozbudowane, teraz już coraz mniej osób się bawi w tworzenie własnego jądra, ale dawniej to każdy Rubik takie dopasowane do swojego kompa. Tylko te sterowniki, kryte są potrzebne - czyli do sprzętu, który realnie masz w obudowie.

Różnica była znaczącą - wlasne jądro było kilka(naście) razy mniejsze i zamiast minutę się ładowało kilka sekund. Oczywiście - to były inne czasy, dyski kilka GB talerzowe i 512MB ram, więc takie optymalizacje miały sens.

Aktualnie u mnie na jakimś xeonie E5, 24gb ram i dysku SSD, Mint się odpala dosłownie parę sekund, łącznie z ładowaniem modułów do istniejącego sprzętu.

W każdym razie - sam numerek oznaczający wersję jądra to za mało, żeby przyjąć założenie, że na wszystkich dystrybucjach będzie tak samo.

0

Tak, karta działa.
Nie wiem jak w Linuxie sprawdzić czy Linux ją wykrył.
Tak, są informacje w pliku syslog: Intel(r) 2.5G Ethernet Linux driver - version 0.0.1-k.
Wersja 5.8.0-63-generic.

Jest też takie narzędzie tutaj: Oprogramowanie i aktualizacje, po wejściu w zakładkę Dodatkowe sterowniki pokazuje mi tylko sterowniki do karty Nvidii ;/ Więc w sumie nie wiem czy te drivery tu są czy ich nie ma.

Karta jest dobrze podłączona, jest wbudowana w płytę główną. Na windowsie działała.

0

OK, skoro karta działa, to czemu uważasz, że trzeba zainstalować/włączyć sterownik? Czy zachowuje się w nieoczekiwany sposób?

0

Bo nie działa mi internet w przeglądarce :D Zrobiłem teraz tak: sudo modprobe igc + Enter. Nic się nie wydarzyło, więc zakładam że coś się wykonało pozytywnie. Teraz daję sudo modinfo igc i dostaję informację o filename, version, description itd. Coś jeszcze powinienem wykonać żeby działało? Bo w sumie internetu dalej nie mam.

2

Internetu możesz nie mieć z wielu różnych względów. Dobrze, że pomyślałeś o sterownikach do karty, mnie też to się wydaje możliwą przyczyną. Ale może jednak to co innego.

W Linuxie, w terminalu brak tekstu na wyjściu zazwyczaj oznacza sukces, tak; szczególnie programy "starsze" tak mają (np. mv czy cp). Nie polecam wykonywać modprobe kilka razy pod rząd, ale – zakładając, że w Ubuntu domyślną powłoką jest Bash i z takiej korzystasz – możesz za to inne polecenia wykonywać, dodając w tej samej linii co dane polecenie średnik, spację, a za nim ciąg znaków echo $?. Pokaże Ci wtedy liczbę, która oznacza exit status tego polecenia. Zero oznacza ogólnie rozumiany sukces (mogą być wyjątki). Sukces polecenia jednak nie oznacza, że zrobiło ono dokładnie to, czego od niego oczekiwałeś; może dla danego polecenia "sukces" to jest niezrobienie niczego w przypadku błędu (wtedy najlepiej sprawdzić jakieś logi).

Wracając do internetu:

  1. Czy łączysz się z internetem tym samym kablem i tym samym portem, co w Windowsie?
  2. Czy zmieniałeś ustawienia przeglądarki w stosunku do domyślnych? Jaka to przeglądarka?
  3. Czy podczas instalacji Ubuntu konfigurowałeś jakiekolwiek ustawienia związane z siecią? Jeśli tak, to czy pamiętasz, jakie?
1
  1. Tak, wszystko jest tak samo.
  2. Nie, domyślny firefox.
  3. Nic, wszystko domyślne.

Kwestia tych sterowników jeszcze, bo normalnie dostaję przy modinfo informacje o nim, o lokalizacji na dysku itd. Muszę to jeszcze doinstalować jakoś z tej ścieżki?

3

Ok, ale sprawdzanie czy sieć działa w oparciu o przeglądarkę to trochę słabo ;)

Zobacz, czy w opcjach karty masz ustawione automatyczne pobieranie adresu oraz (jeśli tak) to czy jakkolwiek adres dostajesz z DHCP.

Jakbys dostał to zobacz, czy da się pingować router oraz DNS Google czyli 8.8.8.8.

Jeśli nie dostaniesz to możesz spróbować ustawić adres IP statycznie i wtedy zobacz, czy coś się poprawiło.

0

Sprawdziłem też polecenie ping wp.pl, nie działa. Nie mogę znaleźć nawet opcji karty na tym linuxie, wpisuję "sieć" w wyszukiwarce systemowej, ale przenosi mnie tylko do ustawień VPN, trochę słabo, to jedyna opcja związana z siecią, którą mogę skonfigurować.

Dzięki za chęć pomocy, ale wracam do Windowsa, zmarnowałem całą niedzielę na instalację jednego drivera. Postanowiłem spróbować Ubuntu, bo na Windowsie miałem pewien problem, ale ostatecznie stwierdzam, że wolę wrócić i próbować go tam rozwiązać niż tutaj instalować driver 3 dni. Nie mówię, że to zły system, ale widocznie nie dla każdego.

3

Zapytanie o sterownik interfejsu sieciowego to ethtool -i nazwa_interfejsu (nazwy pobiera się ip link list), np.

$ ethtool -i eno1 
driver: r8169
version: 
firmware-version: rtl8168h-2_0.0.2 02/26/15
expansion-rom-version: 
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

Żeby sprawdzić czy sterownik działa, możesz spróbować zamigać diodą swojego interfejsu poleceniem ethtool -p nazwa_interfejsu.

Jak sterownik działa to jakaś konfiguracja może nie działać. U mnie na przykład kiedyś przy połączeniu ethernetowym musiałem zmieniać domyślne ustawienie na full-duplex (bieżace i możliwe ustawienia wyświetla się poleceniem ethtool nazwa_interfejsu, lepiej to zapisać zanim się zmieni jawnie).

$ ethtool –s eth0 speed 100 duplex full

Aczkolwiek nie musi to być akurat to ¯_(ツ)_/¯

PS: ja akurat wtedy ustawiałem rodzaj połączenia innym programem, mii-tool, poleceniem sudo mii-tool eth0 -F 100baseTx-FD, ale jest już on deprecated na rzecz ethtool i przykładu powyżej

0

Nie znajduje mi polecenia ethtool. Jak próbuję sudo apt-get install ehtool to dostaję info, że tymczasowy błąd przy tłumaczeniu pl.archive.ubuntu.com.

1

@anckor: Pokaż wynik poleceń:

ifconfig -a
route -n
cat /etc/resolv.conf
ping 8.8.8.8

0

Znamienne. Kolega już skasował Linuxa, a wy dalej się produkujecie, pomimo że już wcześniej stwierdził że szkoda czasu.

Zresztą, kombinował i tak od d**y strony, zamiast najpierw zobaczyć czy chociaż dostał ip z routera, chciał instalować jakiś sterownik, który jak się okazało, już jest. A prawda jest taka, że jak sterownika by nie było w kernelu, to znaczy że w ogóle nie istnieje żaden sterownik, jeżeli jest to jest w kernelu. Czasem tylko może nie działać, bo potrzebuje np firmware które jest zamknięte i z tego powodu nie dołączone do dystrybucji domyślnie.

Lepiej czasem używać czegoś, co się zna.

1 użytkowników online, w tym zalogowanych: 0, gości: 1