Wsparcie dla kart 802.11n w sterowniku b43

  • Home
  • /
  • Blog
  • /
  • Wsparcie dla kart 802.11n w sterowniku b43

Data: 7 grudnia, 2010

Linuksowy sterownik b43 istnieje od dawna i wspiera praktycznie wszystkie karty ze standardów 802.11b/g. Powszechne stały się już jednak karty 802.11n, które do tej pory obsługiwał jedynie zamknięty sterownik wl (inaczej znany również jako linux_sta lub hybrid). Na szczęście wszystko wskazuje na to, że niedługo nie będzie on już nam potrzebny.

3 miesiące temu Broadcom opublikował sterownik brcm80211 obsługujący karty 802.11n. Okazało się jednak, że jest on przeznaczony tylko dla najnowszych kart, w których producent zrezygnował z bazowania na kartach SSB. W tej sytuacji znaleźliśmy się w sytuacji gdzie:

  • b43 jest całkiem dojrzałym sterownikiem z obsługą kart bazujących na SSB, ale z niedokończoną obsługą N-PHY
  • brcm80211 obsługuje N-PHY, ale tylko na kartach bez SSB i brakuje części funkcjonalności które są już w b43

Powstało więc pytanie: czy łatwiej dokończyć obsługę N-PHY w b43, czy dodać obsługę urządzeń SSB w brcm80211.

Rafał Miłecki, programista który rok temu zaczął pracę nad obsługą N-PHY w b43 postanowił wrócić do prac nad rozwojem b43 i przez ostatnie miesące zaczął znowu dodawać brakujące elementy sterownika b43. W efekcie dzisiajszych poprawek karta oparta na chipsecie BCM4328 wreszcie zaczęła odbierać pierwsze sygnały, a po chwili udało się również połączyć z otwartą siecią.

Ostatnie patche zostały właśnie opublikowane na liście linux-wireless i powinny wkrótce znlaźć się w drzewie wireless-testing, a finalnie w jądrze 2.6.38.

Cała praca została wykonana na podstawie specyfikacji stworzonych przez Larrego Fingera jako wynik przeprowadzonego przez niego reverse engineering na zamkniętych sterownikach. Pomocny był również Francesco Gringoli, który udostępnił po ssh maszynę z kartą Broadcomu.

Mile widziany byłby podarunek karty 802.11n bazujące na SSB z PHY w wersji 3 lub nowszej. Zainteresowany mieszka w Polsce, więc koszt przesyłki nie byłby wysoki, a taki prezent pozwoli zaimplementować obsługę również nowszych kart (z serii tych bazujących na SSB).

Podobne wpisy

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone


  1. Rafał Miłecki pisze:

    Może to tak na dwa razy chwalić się swoimi wyczynami, ale to już innym pozostawiam wykopywanie 🙂 Newsa starałem się jak najbardziej napisać "newsowo", a nie "blogowo".

    Mocno się nad b43 napracowałem, więc stwierdziłem że jednak wolno mi spróbować się pochwalić trochę 🙂

    1. 😉 szacun i respekt dla Ciebie i Twoich ziomali.

      Dzięki bardzo. I nie tyle co wolno Ci pochwalić się trochę… to Twój obowiązek! 😉

    2. Jacek pisze:

      Możesz podać listę kart (najlepiej konkretne modele), które pomogłyby w pisaniu sterownika?

      1. mario pisze:

        Dołączam się do prośby o podanie jakiegoś konkretnego modelu, bo sam słabo orientuję się w sprzęcie. Chętnie taką kartę kupię i Ci wyślę.

      2. Rafał Miłecki pisze:

        Kłopot jest właśnie w zakupie. Na opakowaniu nie znajdziesz informacji o wersji PHY, więc trzeba byłoby kupować w ciemno aż do skutku 😐

        Jeśli macie już kartę, to po włączeniu przy kompilacji kernela opcji DEBUG dla b43 w dmesg znajdziecie taką linijkę:
        b43-phyX debug: Found PHY: Analog 5, Type 4, Revision 2
        U mnie revision jest 2, a potrzebuję kart z 3 i wyższymi.

  2. Dreadlish pisze:

    Napisze tak jak na twoim blogu: Wypisz listę kart, które chciałbyś dostać pod choinkę. Mam ostatnio dużo do czynienia z kartami broadcoma, więc prawdopodobnie będę miał którąś z tej listy.

    1. Dreadlish pisze:

      Sorry za drugi post, ale uznałem, że fajnie by było jeszcze połączyć brcma z b43, bo narazie w oficjalnych wydaniach dystrybucji znalazłem jedną, która ma na pokładzie w kernelu moduł brcm80211. A jest to jakże uwielbiany Debian (Sid).

  3. linux_user pisze:

    Witam 🙂
    Dzięki za wkład i poświęcony czas na opracowanie nowej wersji sterownika b43 dla Autora i Pomocników 🙂

    Mam pytanko dotyczące obsługi karty BCM4328, czy z nowym sterownikiem będzie można ustawić tryb "monitor mode" dla tej karty?

    Pozdrawiam

    1. Rafał Miłecki pisze:

      Chyba jeszcze nikt nie spróbował, ale powinno być to możliwe, chyba nawet już teraz.

  4. Bartłomiej Krawczyk pisze:

    Gratuluję i trzymam kciuki, chociaż mnie to już nie dotyczy, bo od jakiegoś czasu kupuję laptopy z kartami Atherosa.

  5. kljljklj pisze:

    > Mocno się nad b43 napracowałem, więc stwierdziłem że jednak wolno mi spróbować się pochwalić trochę.

    Zrobiłeś kawał dobrej roboty! Niby czemu masz być skromny?

    Jak Richard Feynman dostał nagrodę Nobla za swoje diagramy to wymalował sobie jeden duży na swojej furgonetce.

    Tzw. skromność to _problem_ psychologiczny polegający na tym, że człowiek w nie radzi sobie z zainteresowaniem wobec swojej osoby wykazywanym przez otoczenie.

    Pie_przyć skromność niech żyją wynalazcy!

  6. umlaut pisze:

    Może to i głupie, ale czy firma broadcom nie może dać Tobie egzemplarza skoro za nich odwalasz robotę? Tak czy inaczej szacun, tym bardziej, że sam kiedyś czekałem, aż ktoś napisze sterownik do mojej karty bcm.

    1. Rafał Miłecki pisze:

      Próbowałem rozmawiać z ludźmi którzy są odpowiedzialni za brcm80211 w sprawie firmware. Najpierw mnie ignorowali, potem jak zacząłem publicznie się ostrzej dopominać to odpowiedzieli nie pisząc nic sensownego. Gdyby im zależało, to opublikowaliby po prostu dokumentację kart, albo przyłożyli się do b43 zamiast pisać nowy sterownik w wielu miejscach duplikując istniejące rozwiązania.

      Trochę też w wyniku ich podejścia zdecydowałem się dalej pracować nad b43, niż brcm80211.

      1. Bartłomiej Krawczyk pisze:

        O niechęci współpracy Broadcom też czytałem – dlatego stracili klienta 🙂

      2. pandy pisze:

        Brodcom to jedna z tych ktore prowadza bardzo scisla i restrykcyjna polityke dostepu do dokumentacji, nie bedzie to pocieszeniem ze nawet po podpisaniu NDA do pewnych obszarow ich ukladow nie ma zadnego dostepu a dostarczana dokumentacja opisuje funkcjonalnosc w sposob powierzchowny i niejasny. Co gorsza niechetnie przyznja sie do bledow ktore maja w swoim kodzie i bardzo niechetnie je naprawiaja.

  7. dave pisze:

    to w ktorej wersji Ubuntu bedzie n-ka dzialac od reki z kazdą karta wifi ? (pewnie jak wejdzie kolejny standard 802.11-X, a n-ka bedzie juz przeżytkiem 🙂

  8. krzabr pisze:

    Ktoś może mi podać bezpośredni link do kodu z tym odnośnikiem lub podać jego licencje ? 🙂

    1. Rafał Miłecki pisze:

      Em, link do kodu z odnośnikiem? Nie rozumiem.

      Zmiany trafiły już do wireless-testing: http://git.kernel.org/?p=linux/kernel/git/linvill…
      Tam też będą trafiały dalsze poprawki.

      Kod zostanie "zpullowany" do Linusa w kolejnym merge window, będzie więc miał go "każdy" wraz z 2.6.38-rc1.

      A tu np. właściwy commit: http://git.kernel.org/?p=linux/kernel/git/linvill…

  9. Marcin pisze:

    To może łaskawie by ktoś napisał jakie konkretne modele kart są potrzebne… skąd niby zwykły szary użytkownik ma wiedzieć czy jego karta w standardzie "n" jest oparta o SSB a która nie??????????????????????

    1. pandy pisze:

      http://linuxnews.pl/wsparcie-dla-kart-802-11n-w-sterowniku-b43/#comment-5415432

    2. Rafał Miłecki pisze:

      Wepnij kartę i sprawdź w konsoli wynik komendy: "dmesg | grep ssb". Jeśli będziesz miał tam jakiś wynik, wymienione "cores", to znaczy że masz kartę opartą na SSB.

      "Jeśli ktoś chciałby pomóc, to mając kartę Broadcomu 802.11n można sprawdzić wersję PHY na dwa sposoby:
      1) Skompilować dowolnie stare jądro z opcją "DEBUG" dla b43. W dmesg znajdziecie:
      b43-phy0 debug: Found PHY: Analog 5, Type 4, Revision 2
      jeśli macie liczę większą niż 2, to jest to karta jakiej potrzebuję
      2) Skompilować wireless-testing w obsługą PHY_N. jeśli w dmesg znajdziecie:
      b43-phy0 ERROR: FOUND UNSUPPORTED PHY (Analog 8, Type 4, Revision 4)
      to oznacza, że taka karta również byłaby mi przydatna"

      1. mlepicki pisze:

        A mógłbyś jeszcze napisać to, jakie karty najbardziej by Ci pasowały – do laptopa? Do komputera stacjonarnego? USB? 🙂
        Może masz jakieś podejrzane modele "na oku", na które można zwrócić szczególną uwagę?

        1. Rafał Miłecki pisze:

          Karty Broadcoma 802.11n z SSB są chyba tylko na miniPCI Express. Nie wiem jak wygląda z kartami bez SSB, tymi obśługiwanymi przez brcm80211. Możesz rzucić okiem na http://zajec.net/donate

  10. trol pisze:

    Numer konta bankowego? Łatwiej wpłacić kilka złotych niż oddać karte.

    1. Rafał Miłecki pisze:

      http://zajec.net/donate

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Newsletter OSnews raz w tygodniu. Bez reklam.