Skocz do zawartości

[howto] F7 Ndiswrapper I Karta Broadcom 4310


InIrudeBwoy

Rekomendowane odpowiedzi

Halo.

 

Długo walczyłem z tą kartą. Udało mi się ją ujarzmić i teraz zatańczy prawie zawsze tak jak jej zagram :) Niestety użytkownicy kart opartych o ten chipset zostali na razie pominięci przez ludzi zajmujących się rozwojem bcm43xx. Musimy radzić sobie używając ndiswrappera. Oryginał tekstu dostępny na moim blogu.

 

 

Zakładam, że posiadasz gołą instalację F7, dostęp do internetu przez kabel lub przy użyciu innego komputera czy systemu operacyjnego. Jeśli nie posiadasz dostępu do netu z poziomu Fedory to postępuj według tych kroków:

 

  • Pobierz sterowniki windows sp33008.exe
  • Pobierz pakiet ndiswrapper ze strony Livna ndiswrapper-1.46-1.lvn7.x86_64.rpm dla systemu 64 bit albo ndiswrapper-1.46-1.lvn7.i386.rpm dla systemu 32 bit.
  • Pobierz pakiet kmod-ndiswrapper ze strony Livna odpowiadający wersji kernela. Założyłem, że masz standardową instalację F7 więc musisz pobrać kmod-ndiswrapper-1.46-1.2.6.21_1.3194.fc7.x86_64.rpm dla wersji 64 bit. Dla wersji 32 bit musisz najpierw sprawdzić poleceniem uname -p sprawdzić jaki typ procesora masz a potem pobrać odpowiednią wersję kmod-ndiswrapper z tej stronki.
  • Jeśli robisz to w windowsie to po prostu rozpakowujesz plik exe. W linuksie dodatkowo pobierasz pakiet cabextract-1.1-5.fc6.x86_64.rpm lub cabextract-1.1-5.fc6.i386.rpm. To są pakiety do FC6 ale dadzą radę.
  • Po pobraniu tych pakietów instalujesz je poleceniem rpm -ihv ndiswrapper-1.46-1.lvn7.[typ pakietu].rpm kmod-ndiswrapper-1.46-1.2.6.21_1.3194.fc7.[typ pakietu].rpm oraz rpm -ihv cabextract-1.1-5.fc6.[typ pakietu].rpm i przechodzisz do punktu 6.
Zaczynam, oto dokładna krok po kroku opisana instalacja w wypadku posiadania dostępu do netu przez kabel bądź jakiś modem.

 

  1. Wszystkie polecenia będziemy wykonywać jako root więc pierwsze wpisujemy su -.
  2. Instalujemy repozytorium Livna w naszym systemie wpisując rpm -ihv http://rpm.livna.org/livna-release-7.rpm.
  3. Instalujemy ndiswrapper poleceniem yum install kmod-ndiswrapper. automatycznie zostanie pobrana odpowiednia wersja kmod-ndiswrapper oraz ndiswrapper.
  4. Instalujemy program dzięki, któremy będziemy mogli rozpakować plik exe yum install cabextract.
  5. Pobieramy sterowniki windows sp33008.exe .
  6. W katalogu gdzie mamy zapisany ten plik wykonujemy cabextract -d [katalog docelowy] sp33008.exe. Wybierz odpowiedni katalog ponieważ po instalacji nie wolno usuwać tych plików.
  7. Jesteśmy gotowi do instalacji sterowników. Jednak pierwsze co musimy zrobić to wyłączyć ładowanie modułów bcm43xx. Edytujemy pliki /etc/modprobe.d/blacklist oraz /etc/modprobe.d/blacklist-compat, do obu dodajemy na samym końcu linijkę blacklist bcm43xx oraz drugą linijkę blacklist bcm43xx-mac80211.

  8. Robimy restart albo jeśli ktoś woli jako root wpisujemy mmod bcm43xx i rmmod bcm43xx-mac80211.
  9. Instalujemy sterowniki w systemie wpisując jako administrator ndiswrapper -i ścieżka do katalogu ze sterownikami/bcmwl5.inf. Powinniśmy zobaczyć informację o instalacji. Błędami nie należy zbytnio się przejmować i postępować dalej wg opisu. Sam miewałem błędy różnego rodzaju a karta i tak działała.
  10. Następnie wpisujemy depmod -a oraz modprobe ndiswrapper co spowoduje załadowanie modułu jądra ndiswrapper. Po wpisaniu dmesg powinniśmy zobaczyć na końcu informację o załadowanym module. Jeśli widzimy tam informację ndiswrapper: driver bcmwl5 (Broadcom,03/23/2006, 4.40.19.0) loaded

    ndiswrapper: using IRQ 19

    usbcore: registered new interface driver ndiswrapper

    to moduł został załadowany poprawnie i możemy przejść dalej w innym wypadku tutaj szukamy swojej karty, pobieramy inne sterowniki windows i zaczynamy od nowa. Po poprawnej instalacji wklepujemy jeszcze ndiswrapper -m aby dodać odpowiedni wpis do pliku konfiguracyjnego.

  11. Mamy załadowany moduł, możemy zabrać się za konfigurację. Wpisujemy iwconfig i widzimy naszą kartę sieciową. Prawdopodobnie jest to wlan0. Aby posunąć się dalej konieczne są wiadomości na temat naszego access pointa. Jego essid oraz sposób zabezpieczeń. Na początek jednak polecam ustawienie zabepieczeń WEP w naszym routerze. WAP są co prawda silniejsze ale uruchamianie ich jest troszkę bardziej skomplikowane. A więc wklepujemy iwconfig wlan0 essid "nazwa essid" key open "klucz". Po tym wpisujemy znów iwconfig i sprawdzamy czy karta przyjęła do wiadomości co jej podaliśmy. Zdarza się czasem, że należy to wpisać po raz drugi aby to zapamiętała.
  12. Jeśli karta ma już podane niezbędne dane dotyczące naszego AP to wpisujemy dhclient wlan0 a potem dla testu pingujemy coś.
  13. W tym momencie powinniśmy mieć dostęp do sieci poprzez wifi !! :)
  14. Teraz należy sobie zapewnić działanie karty po każdym restarcie systemu. Ja proponuję dodać do pliku /etc/rc.local wpisu modprobe ndiswrapper. W moim przypadku nie wiadomo czemu moduł nie chciał się ładować automatycznie po starcie systemu i konieczne było ręczne wywoływanie modułu.
  15. Bardzo, naprawdę bardzo przydatnym programem jest KNetworkManager. Jeśli po uruchomieniu karty odpalimy ten program będziemy mogli skonfigurować sobie połączenie z routerem aby potem dodać ten program do autostartu i mieć po każdym uruchomieniu środowiska graficznego w pełni działające połączenie sieciowe. Polecam skorzystanie, jest również bardzo pomocny podczas wychodzenia z hibernacji gdyż sam pamięta aby odnowić połączenie z routerem.
To wszystko. Mam nadzieję, że poradnik się przyda. Będzie też pomocny dla ludzi z innymi kartami wifi, ale jest skierowany przede wszystkim do tych żyjących w niedoli posiadaczy kart na czipie Broadcom 4310.

 

Pozdrawiam

 

p.s.

 

W wypadku wątpliwośći, pytań lub poprawek proszę komentować. To jest bardzo wczesna wersja howto. Proszę o podpięcie tematu i zmianę działu jeśli źle wsadziłem :). Pokój

 

Zrobione :)

 

Przepraszam też za styl, nigdy nie byłem typem literata.

Edytowane przez InIrudeBwoy
Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 weeks later...
  • Odpowiedzi 33
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Dzięki za świetną robotę.

Walczyłem z instalacją karty Linksys długi czas na FC 6 i nie dałem rady [chociaż czytałem i próbowałem wszystkiego]

Zainstalowałem FC7 i podobnie, pomógł mi dopiero Twój poradnik. Prosty przejżysty i skuteczny nawet dla ostatniego laika. Dzięki

Mam jeszcze prośbę .

Mógłbyś pomyśleć o poradniku jak udostępnić internet. Internet na FC7 po lanie udostępniany po wifi na widowsa, bo skoro już chodzi mi sieć to chciałbym pójść krok dalej . Ale wszystko co czytałem jest mało zrozumiałe , przynajmniej dla mnie.

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 month later...

Dopiszę swoją uwagę, bazując na niedawnych doświadczeniach.

 

W przypadku 64-bitowych maszyn, ndiswrapper w wersji 1.46 i wcześniejszych dla kart bcm43xx potrafi zawieszać cały system (ja konkretnie zaobserwowałem to w przypadku kart bcm4318, ale problem jest rozleglejszy).

Na dzień dzisiejsza w repozyturium livna nie ma nowszej wersji ndiswrappera, więc trzeba sobie pobrać i skompilować samemu wersję 1.47 z oficjalnej strony.

Odnośnik do komentarza
Udostępnij na innych stronach

Właśnie co do maszym 64 bitowych - wszystko działało wyśmienicie ale dziś po altualizacji kernela do 2.6.22.2-42 nie widzi mi interface wlan0. Przy ponownym postępowaniu krok po kroku z tego poradnika w punkcie 10 po wpisaniu komendy "modprobe ndiswrapper" na konsoli wyskakuje

root@Fedora share# modprobe ndiswrapper
FATAL: Module ndiswrapper not found.

Dodam, że przy wcześniejszym jądrze wszystko działało i nie było żadnych komunikatów o błędach. Może to wina tego kernela?

Odnośnik do komentarza
Udostępnij na innych stronach

root@Fedora share# modprobe ndiswrapper
FATAL: Module ndiswrapper not found.

Dodam, że przy wcześniejszym jądrze wszystko działało i nie było żadnych komunikatów o błędach. Może to wina tego kernela?

Wpisz w konsoli:

rpm -q kmod-ndiswrapper

Jeśli nic się nie pokaże to znaczy, że instalując nowe jądro nie doinstalowaś paczek z ndiswrapperem (no i szczerze mówiąc nie widzę odpowiednich w livnie). Więc albo musisz sam moduł dobudować, albo poczekać na paczki, albo wrócić na razie to starszego jądra.

 

Edit

Właśnie sobie przypomniałem, że w przypadku używnia ndiswrappera poniższe moduły mogą żyć z nim w niezgodzie, dlatego warto dodać do /etc/modprobe.d/blacklist linie:

# wifi bcm
blacklist bcm43xx
blacklist bcm43xx-mac80211

Odnośnik do komentarza
Udostępnij na innych stronach

Właśnie ukazały się pakiety do aktualiacji kmod-ndiswrapper-1.46-1.2.6.22.2_42.fc6

i pakiety do fglrx, które też padły i grafika nieco szwankowała. Po aktualizacji wszysto wróciło do normy. Wystarczyło coś koło 6 godzin i już brakujące pakiety zostały udostępnione. Dzi ękuję za trud i pomoc...

I love developers...

Odnośnik do komentarza
Udostępnij na innych stronach

Edit

Właśnie sobie przypomniałem, że w przypadku używnia ndiswrappera poniższe moduły mogą żyć z nim w niezgodzie, dlatego warto dodać do /etc/modprobe.d/blacklist linie:

# wifi bcm
blacklist bcm43xx
blacklist bcm43xx-mac80211

Patrz punkt 7 ;)

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 month later...
[*]Mamy załadowany moduł, możemy zabrać się za konfigurację. Wpisujemy iwconfig i widzimy naszą kartę sieciową. Prawdopodobnie jest to wlan0. Aby posunąć się dalej konieczne są wiadomości na temat naszego access pointa. Jego essid oraz sposób zabezpieczeń. Na początek jednak polecam ustawienie zabepieczeń WEP w naszym routerze. WAP są co prawda silniejsze ale uruchamianie ich jest troszkę bardziej skomplikowane. A więc wklepujemy iwconfig wlan0 essid "nazwa essid" key open "klucz". Po tym wpisujemy znów iwconfig i sprawdzamy czy karta przyjęła do wiadomości co jej podaliśmy. Zdarza się czasem, że należy to wpisać po raz drugi aby to zapamiętała.

 

wszystko spoko do tego momentu. a dalej jak pisze

iwconfig wlan0 essid "widok16" key open "klucz"

 

to wywala mi

 

Error for wireless request "Set Encode" (8B2A)
SET failed on device wlan0; Invalid argument.

 

router mam na WPA ustwiony

proszę o pomoc

 

pozdrawiam

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 5 months later...

swietny tutorial

ale nie wiem czemu jak robie wszystko zgodnie z nim i nawet sie instaluje ndiswrapper to jak wpisuje ndiswrapper -i sciezka do sterownika

to mi pokazje ze nie ma takiej komendy

wczesniej podczas instalacji dostalem jeszcze ten komunikat

warning: ndiswrapper-1.46-1.lvn7.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID a109b1ec

ale instalacja przebiegla pomyslnie

pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Witam,

podrecznik rzeczywiscie daje rade, choc bez problemow obejsc sie nie da:/

oto moj problem:

[root@usr_3565 ~]# modprobe ndiswrapper
FATAL: Error inserting ndiswrapper (/lib/modules/2.6.21-2950.fc8xen/extra/ndiswrapper.ko): Unknown symbol in module, or unknown parameter (see dmesg)

no to potem dmesg:

[root@usr_3565 ~]# dmesg |grep ndiswrapper
ndiswrapper: no version for "struct_module" found: kernel tainted.
ndiswrapper: Unknown symbol strcpy
ndiswrapper: Unknown symbol call_usermodehelper_setup
ndiswrapper: Unknown symbol pv_irq_ops
ndiswrapper: Unknown symbol strrchr
ndiswrapper: Unknown symbol per_cpu__this_cpu_off
ndiswrapper: Unknown symbol strcat
ndiswrapper: Unknown symbol init_net
ndiswrapper: Unknown symbol __create_workqueue_key
ndiswrapper: Unknown symbol memchr
ndiswrapper: Unknown symbol strncmp
ndiswrapper: Unknown symbol strncpy
ndiswrapper: Unknown symbol strncat
ndiswrapper: Unknown symbol movable_zone
ndiswrapper: Unknown symbol alloc_etherdev_mq
ndiswrapper: Unknown symbol per_cpu__cpu_number
ndiswrapper: Unknown symbol strcmp
ndiswrapper: Unknown symbol strlen
ndiswrapper: Unknown symbol strchr
ndiswrapper: Unknown symbol call_usermodehelper_exec
ndiswrapper: Unknown symbol kmalloc_caches
ndiswrapper: Unknown symbol per_cpu__current_task
ndiswrapper: Unknown symbol strcpy
ndiswrapper: Unknown symbol call_usermodehelper_setup
ndiswrapper: Unknown symbol pv_irq_ops
ndiswrapper: Unknown symbol strrchr
ndiswrapper: Unknown symbol per_cpu__this_cpu_off
ndiswrapper: Unknown symbol strcat
ndiswrapper: Unknown symbol init_net
ndiswrapper: Unknown symbol __create_workqueue_key
ndiswrapper: Unknown symbol memchr
ndiswrapper: Unknown symbol strncmp
ndiswrapper: Unknown symbol strncpy
ndiswrapper: Unknown symbol strncat
ndiswrapper: Unknown symbol movable_zone
ndiswrapper: Unknown symbol alloc_etherdev_mq
ndiswrapper: Unknown symbol per_cpu__cpu_number
ndiswrapper: Unknown symbol strcmp
ndiswrapper: Unknown symbol strlen
ndiswrapper: Unknown symbol strchr
ndiswrapper: Unknown symbol call_usermodehelper_exec
ndiswrapper: Unknown symbol kmalloc_caches
ndiswrapper: Unknown symbol per_cpu__current_task
ndiswrapper: Unknown symbol strcpy
ndiswrapper: Unknown symbol call_usermodehelper_setup
ndiswrapper: Unknown symbol pv_irq_ops
ndiswrapper: Unknown symbol strrchr
ndiswrapper: Unknown symbol per_cpu__this_cpu_off
ndiswrapper: Unknown symbol strcat
ndiswrapper: Unknown symbol init_net
ndiswrapper: Unknown symbol __create_workqueue_key
ndiswrapper: Unknown symbol memchr
ndiswrapper: Unknown symbol strncmp
ndiswrapper: Unknown symbol strncpy
ndiswrapper: Unknown symbol strncat
ndiswrapper: Unknown symbol movable_zone
ndiswrapper: Unknown symbol alloc_etherdev_mq
ndiswrapper: Unknown symbol per_cpu__cpu_number
ndiswrapper: Unknown symbol strcmp
ndiswrapper: Unknown symbol strlen
ndiswrapper: Unknown symbol strchr
ndiswrapper: Unknown symbol call_usermodehelper_exec
ndiswrapper: Unknown symbol kmalloc_caches
ndiswrapper: Unknown symbol per_cpu__current_task
ndiswrapper: Unknown symbol strcpy
ndiswrapper: Unknown symbol call_usermodehelper_setup
ndiswrapper: Unknown symbol pv_irq_ops
ndiswrapper: Unknown symbol strrchr
ndiswrapper: Unknown symbol per_cpu__this_cpu_off
ndiswrapper: Unknown symbol strcat
ndiswrapper: Unknown symbol init_net
ndiswrapper: Unknown symbol __create_workqueue_key
ndiswrapper: Unknown symbol memchr
ndiswrapper: Unknown symbol strncmp
ndiswrapper: Unknown symbol strncpy
ndiswrapper: Unknown symbol strncat
ndiswrapper: Unknown symbol movable_zone
ndiswrapper: Unknown symbol alloc_etherdev_mq
ndiswrapper: Unknown symbol per_cpu__cpu_number
ndiswrapper: Unknown symbol strcmp
ndiswrapper: Unknown symbol strlen
ndiswrapper: Unknown symbol strchr
ndiswrapper: Unknown symbol call_usermodehelper_exec
ndiswrapper: Unknown symbol kmalloc_caches
ndiswrapper: Unknown symbol per_cpu__current_task
ndiswrapper: Unknown symbol strcpy
ndiswrapper: Unknown symbol call_usermodehelper_setup
ndiswrapper: Unknown symbol pv_irq_ops
ndiswrapper: Unknown symbol strrchr
ndiswrapper: Unknown symbol per_cpu__this_cpu_off
ndiswrapper: Unknown symbol strcat
ndiswrapper: Unknown symbol init_net
ndiswrapper: Unknown symbol __create_workqueue_key
ndiswrapper: Unknown symbol memchr
ndiswrapper: Unknown symbol strncmp
ndiswrapper: Unknown symbol strncpy
ndiswrapper: Unknown symbol strncat
ndiswrapper: Unknown symbol movable_zone
ndiswrapper: Unknown symbol alloc_etherdev_mq
ndiswrapper: Unknown symbol per_cpu__cpu_number
ndiswrapper: Unknown symbol strcmp
ndiswrapper: Unknown symbol strlen
ndiswrapper: Unknown symbol strchr
ndiswrapper: Unknown symbol call_usermodehelper_exec
ndiswrapper: Unknown symbol kmalloc_caches
ndiswrapper: Unknown symbol per_cpu__current_task

troche tego jest, oczywiscie nie mam pojecia z czym to zjesc:/ generalnie na googlach znalazlem kilka ciekawych opisow konfiguracji wifi, wczesniej polecenie modprobe ndiswrapper odpowiadalo "module ndiswrapper not found", gdzies kazali przekopiowac plik ndiswrapper.ko do katalogu w /lib/modules/[jądro]/misc i tak zrobilem i teraz mam te co mam komunikaty, ndiswrappera instalowalem "yum install ndiswrapper", co dalej??

z gory dziekuje za poswiecony mi czas

Edytowane przez InIrudeBwoy
Dłuższe rzeczy w Codebox należy wsadzać
Odnośnik do komentarza
Udostępnij na innych stronach

Właśnie, a Twój błąd wskazuje ścieżkę do kernela-xen. Upewnij się że używasz odpowiedniego jądra czyli 2.6.24.4-64.fc8. Zobacz czy przypadkiem nie masz w /etc/modprobe.d/blacklist ndiswrappera.

Jeśli wszystko się będzie zgadzać to spróbuj jeszcze raz modprobe ndiswrapper. Jeśli będą błędy to usuń co skopiowałeś, ndiswrapper.ko.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

×
×
  • Dodaj nową pozycję...