18.04.2009
В прошлом году Broadcom выпустил «приоткрытые» драйвера для некоторых своих беспроводных чипов. Для поддержки беспроводки на моём старом Dell Inspiron 2200, мне довелось перепробовать все возможные варианты: ndiswrapper, bcm43xx, b43. Купив недавно новый Dell Inspiron 1525, решил, что раз уж его BCM4312 в списке подерживаемых родным драйвером, то нужно пробовать.
Вообще было бы здорово, если бы всё это работало через module-assistant, но пока, к сожалению только так.
Система сборки там не очевидная, но не сложная. Разобрался по мурзилке. Последовательность действий для Debian Squeeze (не вижу причин, почему не должно работать на Lenny или на недревней Ubuntu, но делал именно на Squeeze):
$ sudo aptitude install build-essential kernel-headers wget
$ mkdir /usr/src/hybrid_wl && cd /usr/src/hybrid_wl
$ wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-v5_10_79_10.tar.gz
$ tar -xzf linux_sta/hybrid-portsrc-x86_32-v5_10_79_10.tar.gz
$ make -C /usr/src/linux M=`pwd`
$ sudo cp wl.ko /lib/modules/$(uname -r)/kernel/
$ sudo depmod && sudo modprobe wl
Комментарии:
Возможно кому-то придётся ещё добавить в блэклист модули b43 и/или bcm43xx:
$ echo "blacklist b43" | tee -a /etc/modprobe.d/blacklist_local
$ echo "blacklist bcm43xx" | tee -a /etc/modprobe.d/blacklist_local
После этого зажило и работало тихо и незаметно, пока в голову не пришла светлая идея проапгрейдить ядро до 2.6.29 (было 2.6.26). Собираться тем же путём не захотело. Нашёлся набор патчей, который фиксит некоторые проблемы, (с которыми я, честно говоря, не сталкивался) и делает исходник собирабельным под 2.6.29:
$ wget -O broadcom-sta-5.10.79.10-hidden-essid.patch http://bugs.gentoo.org/attachment.cgi?id=184151
$ wget -O broadcom-sta-5.10.79.10-linux-2.6.29.patch http://bugs.gentoo.org/attachment.cgi?id=184152
$ wget -O broadcom-sta-5.10.79.10-wl_iw_v2.patch http://bugs.gentoo.org/attachment.cgi?id=187456
$ for fn in $(ls *.patch); do patch -p1 < $fn; done
Не зажило. Точнее зажило, но к точке доступа не прицепилось. И не цеплялось, пока я не нашёл вот это пост.
Драйвер теперь оказывается самостоятельно не подгружает модуль, необходимый для поддержки шифрования. Нужно добавить его в
/etc/modules. Без перезагрузки можно сделать вот так:
sudo rmmod wl
sudo modprobe lib80211_crypt_tkip
sudo modprobe wl
Лирическое заключение. Боже, храни пользователей rolling-релизов! Патчи я нашёл в жуколовке Gentoo, подсказку насчёт модуля шифрования на форуме Arch.
Вышла новая версия драйвера. Старые патчи для неё не работают. Новые есть здесь. Порядок сборки можно посмотреть здесь. Хорошо, что когда-то я нашёл время ознакомиться с Arch’ем и его пакетной системой.
18.04.09 16:58 Peter Lemenkov комментирует:
18.04.09 18:36 uptimebox комментирует:
28.04.09 18:18 cub-uanic комментирует:
1) какой именно у вас BCM4312 - rev01 или rev02, какой у него pciid?
2) Оживает ли Bluetooth при использовании этого драйвера?
Сам делал по вот этой доке: https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx/Feisty_No-Fluff
В результате на Dell Studio 1535: Bluetooth не пашет, но сетка живет (правда, не всегда работает после выхода из sleep/hibernate - помогает rmmod/modprobe ndiswrapper)
И еще вопрос, но немного не в тему: каким образом настраивались multimedia-keys? После установки Debian/Lenny-5.0.1 они почему-то автоматом не подхватились.
06.05.09 12:14 uptimebox комментирует:
06.05.09 12:18 uptimebox комментирует:
03.06.09 05:51 uptimebox комментирует: