[Решено] Не работает Wi-Fi на ноутбуке HP 625

Автор amdir, 20 мая 2013, 00:20:53

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

amdir

Добрый день!

Почему-то на моём ноутбуке HP 625 в свежеустановленном Debian 7.0 упорно отказывается работать Wi-Fi, хотя во время установки системы инсталлятор его распознал и установил пакет firmware-brcm80211 с приготовленной мною флэшки (работал ли Wi-Fi во время установки системы, - к сожалению, сказать не могу, поскольку был подключён проводной Интернет). Попробовал установить драйвер, загруженный с сайта Broadcom, которым успешно пользовался в Debian 6.0 (на винчестере уцелел каталог с исходниками и сгенерированными на их основе бинарниками, зашёл в этот каталог и сделал оттуда make install, затем depmod), - не помогло. Попробовал перекомпилировать этот драйвер - не компилируется:

Цитироватьmmm@podarochek:~/Драйверы/WiFi-драйвер$ ls                                                                                                                                                     
built-in.o  lib  Makefile  modules.order  Module.symvers  src  wl.ko  wl.mod.c  wl.mod.o  wl.o                                                                                                 
mmm@podarochek:~/Драйверы/WiFi-драйвер$ make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory `/usr/src/linux-headers-3.2.0-4-amd64'
  CC [M]  /home/mmm/Драйверы/WiFi-драйвер/src/wl/sys/wl_linux.o
/home/mmm/Драйверы/WiFi-драйвер/src/wl/sys/wl_linux.c:326:2: error: unknown field 'ndo_set_multicast_list' specified in initializer
/home/mmm/Драйверы/WiFi-драйвер/src/wl/sys/wl_linux.c:326:2: warning: initialization from incompatible pointer type [enabled by default]
/home/mmm/Драйверы/WiFi-драйвер/src/wl/sys/wl_linux.c:326:2: warning: (near initialization for 'wl_netdev_ops.ndo_validate_addr') [enabled by default]
/home/mmm/Драйверы/WiFi-драйвер/src/wl/sys/wl_linux.c: In function 'wl_attach':
/home/mmm/Драйверы/WiFi-драйвер/src/wl/sys/wl_linux.c:485:3: error: implicit declaration of function 'init_MUTEX' [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[4]: *** [/home/mmm/Драйверы/WiFi-драйвер/src/wl/sys/wl_linux.o] Ошибка 1
make[3]: *** [_module_/home/mmm/Драйверы/WiFi-драйвер] Ошибка 2
make[2]: *** [sub-make] Ошибка 2
make[1]: *** [all] Ошибка 2
make[1]: Leaving directory `/usr/src/linux-headers-3.2.0-4-amd64'
make: *** [all] Ошибка 2
mmm@podarochek:~/Драйверы/WiFi-драйвер$

Загрузил с сайта Broadcom новую версию драйвера - тоже не компилируется:

Цитироватьmmm@podarochek:~/Драйверы/hybrid-portsrc_x86_64-v5_100_82_112$ ls
lib  Makefile  src
mmm@podarochek:~/Драйверы/hybrid-portsrc_x86_64-v5_100_82_112$ make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory `/usr/src/linux-headers-3.2.0-4-amd64'
Wireless Extension is the only possible API for this kernel version
Using Wireless Extension API
  LD      /home/mmm/Драйверы/hybrid-portsrc_x86_64-v5_100_82_112/built-in.o
  CC [M]  /home/mmm/Драйверы/hybrid-portsrc_x86_64-v5_100_82_112/src/wl/sys/wl_linux.o
/home/mmm/Драйверы/hybrid-portsrc_x86_64-v5_100_82_112/src/wl/sys/wl_linux.c:388:2: error: unknown field 'ndo_set_multicast_list' specified in initializer
/home/mmm/Драйверы/hybrid-portsrc_x86_64-v5_100_82_112/src/wl/sys/wl_linux.c:388:2: warning: initialization from incompatible pointer type [enabled by default]
/home/mmm/Драйверы/hybrid-portsrc_x86_64-v5_100_82_112/src/wl/sys/wl_linux.c:388:2: warning: (near initialization for 'wl_netdev_ops.ndo_validate_addr') [enabled by default]
make[4]: *** [/home/mmm/Драйверы/hybrid-portsrc_x86_64-v5_100_82_112/src/wl/sys/wl_linux.o] Ошибка 1
make[3]: *** [_module_/home/mmm/Драйверы/hybrid-portsrc_x86_64-v5_100_82_112] Ошибка 2
make[2]: *** [sub-make] Ошибка 2
make[1]: *** [all] Ошибка 2
make[1]: Leaving directory `/usr/src/linux-headers-3.2.0-4-amd64'
make: *** [all] Ошибка 2
mmm@podarochek:~/Драйверы/hybrid-portsrc_x86_64-v5_100_82_112$

Не подскажет ли кто-нибудь, как это можно исправить?

Спасибо :-)

РЕШЕНИЕ: Как случайно выяснилось, нужно было всего лишь установить штатный пакет broadcom-sta-dkms из non-free - тот самый, который не работал в Debian 6.0. Ещё раз спасибо всем за советы; прошу прощения, что отнял у вас время :-)

На всякий случай, если ещё кто-нибудь будет искать: на этом ноутбуке используется адаптер Broadcom BCM4313 802.11b/g/n, для него имеется фирменный несвободный драйвер. Чтобы он заработал, нужно перед инсталляцией системы приготовить флэшку или другой сменный носитель, создать на нём каталог firmware и поместить в этот каталог пакеты firmware-*, архив с ними можно загрузить, например, отсюда: http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/ (в пакетах содержатся несвободные микропрограммы для ряда устройств). В процессе установки Wheezy инсталлятор попросит у вас этот носитель и подгрузит с него микропрограмму. После того, как установка системы будет завершена, нужно вручную доустановить пакеты wireless-tools, пакеты linux-headers-*, соответствующие используемой версии ядра, и пакет broadcom-sta-dkms (для последнего нужно подключить репозиторий non-free). Остальные пакеты должны установиться автоматически. Кроме того, у вас должен быть установлен пакет firmware-brcm80211 с микропрограммой. В Debian 6.0 этот рецепт не работал, в версии 7.0 работает.

qupl

Установить пакет linux-headers-*-* ?

amdir

Основные пакеты вроде установлены (linux-headers-3.2.0-4-all, linux-headers-3.2.0-4-all-amd64, linux-headers-3.2.0-4-amd64, linux-headers-3.2.0-4-common, linux-headers-3.2.0-4-common-rt, linux-headers-3.2.0-4-rt-amd64).

qupl

Тогда гуглить "wl_linux.c:388:2: error: unknown field 'ndo_set_multicast_list' specified in initializer"

amdir

Кажется, что-то нашлось, попробую разобраться :-) Кстати, а такие проблемы возникают с любыми адаптерами Wi-Fi или только со встроенными? Имеет смысл в качестве радикального решения купить внешний адаптер с подключением по USB, или будет всё то же самое?

qupl