Software » Broadcom BCM4312 rev. 02 + Fedora 8 + HP Pavillion dv6416ca


8 апреля 2008 от RomaZu
В перерыве между подготовкой к разным экзаменам решил поесть и попробовать поднять всё-таки Wireless у себя. В общем после совсем не долгих мучений получилось следующее.

Конфигурация:

1. HP Pavillion dv6416ca: CPU - AMD Turion 64 X2; Wireless - Broadcom BCM4312 rev. 02
2. Fedora 8
3. Livna package repository [не обязательно, если хотите собирать ndiswrapper вручную, в моём случае брать здесь: http://rpm.livna.org/livna-release-8.rpm]
4. Broadcom драйвер для моего dv6416ca под Windows XP (32bit) [скачивается с официального сайта HP, для каждой модели отдельный файл]
5. Ndiswrapper [софт для использования wireless драйверов Windows под Linux, взять либо с официального сайта, либо смотреть ниже]

Ну поехали.

Перво наперво полез в Google, которые мне по запросу "fedora wireless setup hp" выдал кучу результатов. Из этой кучи я поблуждал по нескольким и нашёл то, что мне было нужно: http://www.techtalkz.com/mandriva-linux/82528-broadcom-bcm4321ag-4328-not-work-mandriva-2008-rc1.html и http://www.linuxforums.org/forum/linux-tutorials-howtos-reference-material/94685-wireless-lan-linux.html#post470915. Это два форума, по которым я собственно всё и сделал.

Прочитал, осмыслил и начал выполнять.

1. Решил убедиться, что системные драйвера выгружены и никаких следов от моих предыдущих попыток не осталось. Для этого нужно пойти в system-config-network и удалить всё, что связано с wireless. Теперь следует убедиться, что старые драйвера не загружены. Для этого смотрим вывод команды lsmod. Если есть что-либо вроде b43, bcm43xx, b43legacy, то удаляем это дело либо с помощью: rmmod имя, либо с помощью: modprobe -r имя.

2. Ndiswrapper, который нужен для всего этого дела, я решил слить с помощью: yum install ndiswrapper. Этой командой yum возьмёт последний ndiswrapper из репозитория livna и установит все необходимые зависимости.

3. Как я уже говорил, нужные драйвера нужно скачать с официального сайта HP. Файлы имеют имя следующего вида: sp36684.exe. Распаковать такой файл можно с помощью cabextract. Забираем его: yum install cabextract. Распаковываем файл с помощью: cabextract sp36684.exe. Получаем список файлов, что-то типа этого:

bcm43xx64.cat
bcm43xx.cat
bcmwl564.sys
bcmwl5.inf
bcmwl5.sys
Setup.exe
sp36684.cva

4. Устанавливаем драйвер с помощью: ndiswrapper -i bsmwl5.inf. Если выполнилось без ошибок, то значит всё ровно. Смотрим что говорит: ndiswrapper -l. Вывод должен быть вроде этого:

bcmwl5 : driver installed
device (14E4:4312) present (alternate driver: ssb)

Обратите внимание на надпись (alternate driver: ssb), выполняя следующий пункт.

5. Лучше перестраховаться от загрузки нерабочих драйверов (системных или от предыдущих попыток, в моём случае). Для этого открываем /etc/modprobe.d/blacklist любым текстовым редактором и добавляем что-то вроде:

blacklist имя

Здесь имя будет то, что раньше использовалось вами или системой. Это может быть b43, bcm43xx, b43legacy, ssb. Сюда же лучше запихнуть и альтернативный драйвер, на который указывает ndiswrapper. В моём случае это ssb.

6. Загрузите новый драйвер с помощью: modprobe ndiswrapper. Если выполнилось без ошибок, значит всё нормально.

7. Выполнения iwconfig будет достаточно, чтобы понять, поднялся ли интерфейс. По умолчанию это wlan0. Если индикатор на корпусе ноутбука загорелся синим, значит карта работает. Вывод iwconfig должен быть что-то вроде:

lo no wireless extensions.

eth0 no wireless extensions.

wlan0 IEEE 802.11g ESSID:off/any
Mode:Managed Frequency:2.462 GHz Access Point: Not-Associated
Bit Rate:54 Mb/s Tx-Power:32 dBm
RTS thr:2347 B Fragment thr:2346 B
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

8. Теперь можно идти в NetworkManager и смотреть все доступные беспроводные сети. Поздравляю!

P.S. Оказался весь процесс намного легче, чем я думал. Главное - драйвер нужен для Windows XP, то есть 32 битный. Такие драйвера имеют название bcmwl5.inf, а не bcmwl6.inf в случае Windows Vista.