TechLife devBlog

Karta sieciowa Attansic L2 i jądro 2.6.23

Linux, ArchLinux, Techblog 2 listopada 2007 00:58

Jak już pisałem ostatnio po aktualizacji jądra do wersji 2.6.23 całkowicie wysypała mi się karta sieciowa Attansic L2. Kompilacja sterowników zatrzymywała się na błędzie informującym o nieznanej funkcji eth_copy_and_sum. Z pomocą przyszedł jednak rlblaster i chociaż trafił na notkę pewnie przypadkiem i zupełnie nie miał pojęcia o języku polskim to jednak podpowiedział jak rozwiązać błąd. Wyżej wymieniona funkcja została pewnie usunięta z nowej wersji jądra, dlatego musimy napisać ją sami. A wygląda to mniej więcej tak:

Około linii 243 w pliku at_main.c dopisujemy taką oto funkcję:
void eth_copy_and_sum(struct sk_buff *dest, unsigned char *src, int length, int base)
{ memcpy(dest->data, src, length);
}

Dzięki temu zabiegowi błąd z nieznaną funkcją zostaje zażegnany. Pozostaje co prawda problem z dwiema innymi funkcjami ale jak przeczytałem na jednym z blogów wystarczy zakomentować wnętrze tych funkcji pozostawiając tylko komendę return.

Tak załatany sterownik zaczął działać, ale szybko zauważyłem, że zamiast przepustowości rzędu 2000 kbps wyciąga około 50 kbps. Wróciłem więc do kodu sterownika i zacząłem grzebać dalej. Okazało się, że w nowym jądrze zmianie uległa też nazwa innej funkcji. Rozwiązaniem było zastąpienie odwołań do:

vlgrp->vlan_devices[vid]

na:

vlgrp->vlan_devices_arrays[vid]

zamiast komentować ciała funkcji które zawierają te linie.

Teraz sieciówka działa już pełną parą.

Wersja dla leniwych: atl2.tar

Po rozpakowaniu wchodzimy do /src/ i wydajemy komendy

# make && make install

A później ładujemy sterownik

# modprobe atl2

Komentarze z jogger.pl

radmen 02 listopada 2007 / 09:50

hmm gdzieś na launchpad Ubuntu był patch do tych sterowników dla jądra 2.6.23. Miałem dokładnie ten sam problem na moim laptopie, zaraz po upgradzie jajka.

Szukałem ponad 2 godziny, ale się opłaciło ;-)

Zan 18 listopada 2007 / 11:49

Thanks!!!!!!!!!!!!!1

I find your entry in the Planet Gentoo blog _

Anonim 07 stycznia 2008 / 21:17

thanx:) It works, but upload is very slow…about 750kbps… what’s going wrong?

DarkCraft 22 stycznia 2008 / 10:04

Thanks you very much, it’s very helpful for me and it works! Good job :)



Komentarze