insmod: BŁĄD: nie można wstawić modułu 8188eu.ko: Niepoprawny format modułu

9

Próbuję użyć TL-WN725N jako adaptera Wi-Fi USB w Fedorze 20.

Postępowałem zgodnie z tymi instrukcjami i adapter działał dobrze, a nawet przetrwał dwie aktualizacje w ciągu ostatnich kilku tygodni.

Potem zrobiłem yum updatedzisiaj i nadal działało dobrze, dopóki nie uruchomiłem ponownie komputera. Próbowałem ponownie załadować moduł i dostałem insmod: ERROR: could not insert module 8188eu.ko: Invalid module format.

Dowiedziałem się, że moje jądro i nagłówki jądra w module nie są już takie same i że musiałem zaktualizować jądro, więc zrobiłem to i otrzymałem

sudo yum install kernel-headers
Loaded plugins: langpacks, refresh-packagekit
Package kernel-headers-3.17.3-200.fc20.x86_64 already installed and latest version
Nothing to do

Teraz zastanawiam się, jak poprawnie załadować moduł. Czy ktoś ma jakiś pomysł?

Merlin
źródło

Odpowiedzi:

18

Twój moduł został zbudowany dla wcześniejszego jądra (tego, które właśnie zostało zaktualizowane).

Upewnij się, że zrestartowałeś się, aby korzystać z najnowszego jądra.

Sprawdź, czy działające jądro i zainstalowana wersja kernel-headerssą takie same.

Teraz musisz ponownie skompilować moduł dla bieżącego jądra:

cd rtl8188eu
make clean
make all
make install
modprobe -r 8188eu
modprobe 8188eu

Niestety będziesz musiał to robić za każdym razem, gdy aktualizujesz jądro, dopóki sterownik nie znajdzie się w głównym pakiecie jądra.

Istnieje funkcja o nazwie Dynamiczna obsługa modułów jądra, która może automatycznie budować moduły nienależące do drzewa, takie jak twoje, za każdym razem, gdy jądro jest aktualizowane (na przykład sterowniki VirtualBox go używają), ale będzie wymagało sporo dodatkowej pracy do skonfigurowania. Może się okazać, że to więcej wysiłku niż jest warte.

To jest minus życia w najnowocześniejszej technologii ;-)

garethTheRed
źródło
Zmieniłem kroki od make allzaładowania modułu, ale nadal pojawia się ten sam błąd, więc ponowna kompilacja nie wydaje się wykonać zadania?
Merlin
Eh ... nie ... Spróbuję wtedy.
Merlin
@Merlin - cieszę się, że to działa. Zredagowałem odpowiedź, aby wyjaśnić.
garethTheRed