Карточки Broadcom BCM43xx Wireless не работают в Ubuntu 11.04

29.05.2011, рубрики: how-to | Теги: , , , | 17 комментариев »

Приехали! Век новых теногологий на дворе, выходят всякие там Thunderbolt, iPad, i7 и прочее, а в новейшей сборке Linux Ubuntu 11.04 не работает из коробки Wi-Fi для карточек Broadcom BCM43xx. Вопрос – как так? Если в версиях 8.04, 8.10, 9.04, 9.10, 10.04, 10.10 эти популярные беспроводные карточки поднимались «на лету» двумя кликами, то ребята из Canonical решили, эту поддержку загубить, что-бы пользователям жизнь мёдом не казалось наверное. И это при том, что все Dell’ы имеют на борту имено продукты фирмы Broadcom, а Ubuntu якобы тесно сотрудничает с Dell, так же, стоит напомнить, что карточки Broadcom это лучшие и наиболее популярные устройства, даже Apple ставят себе на лэптопы именно их продукцию, а вот ребятам из Ubuntu на это наплевать. Ну хрен с ними, ведь в предыдущих релизах работало. Вообще тенденция роста дистрибутива Ubuntu не прогрессивна, а регрессивна, качество дистрибутива теряется с каждым новым релизом, вырезали GDebi, убрали GIMP, забыли про Rhytmbox, выкорчевали aptitude, а теперь ещё и Unity. Товарищи, это регресс!

У вас не работает Wi-Fi на карточке Broadcom BCM43xx?

Тогда вам сюда! Для начала давайте убедимся в том, что стандартный подход вам не помог, найдите у себя в системе прогу которая ставит дополнительные драйвера, в Gnome3 это «Additional Drivers», в Gnome2 это System > Administration > Additional Drivers, в Unity хер знает где. И активируйте тамошний драйвер, после чего перезагрузите компьютер и посмотрите на LED лампочку вашего Wi-Fi, если она всё ещё не подает признаков жизни, и Wi-Fi нет, то вам стоит продолжить читать эту статью.

Вот как было у меня:

BCM43xxx

BCM43xxx

Теперь давайте немного углубимся в тестирование и проверем, что все хорошо. Определим номер модели вашей карты:
Посмотрим вывод команды lspci:

  1. lspci -nn | grep -i broadcom
  2. 03:00.0 Ethernet controller [0200]: Broadcom Corporation BCM4401-B0 100Base-TX [14e4:170c] (rev 02)
  3. 0c:00.0 Network controller [0280]: Broadcom Corporation BCM4311 802.11b/g WLAN [14e4:4311] (rev 01)

Посмотрим вывод команды lshw:

  1. sudo lshw -C network
  2. *-network
  3.        description: Network controller
  4.        product: BCM4311 802.11b/g WLAN
  5.        vendor: Broadcom Corporation
  6.        physical id: 0
  7.        bus info: pci@0000:0c:00.0
  8.        version: 01
  9.        width: 32 bits
  10.        clock: 33MHz
  11.        capabilities: pm msi pciexpress bus_master cap_list
  12.        configuration: driver=b43-pci-bridge latency=0
  13.        resources: irq:17 memory:f9ffc000-f9ffffff
  14.   *-network
  15.        description: Ethernet interface
  16.        product: BCM4401-B0 100Base-TX
  17.        vendor: Broadcom Corporation
  18.        physical id: 0
  19.        bus info: pci@0000:03:00.0
  20.        logical name: eth0
  21.        version: 02
  22.        serial: 00:1c:23:92:8e:35
  23.        size: 10Mbit/s
  24.        capacity: 100Mbit/s
  25.        width: 32 bits
  26.        clock: 33MHz
  27.        capabilities: pm bus_master cap_list ethernet physical mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
  28.        configuration: autonegotiation=on broadcast=yes driver=b44 driverversion=2.0 duplex=half latency=64 link=no multicast=yes port=twisted pair speed=10Mbit/s
  29.        resources: irq:17 memory:f9bfe000-f9bfffff
  30.  802.11bg

Посмотрим какие интерфейсы есть у нас в системе, должны быть eth0, wlan0, lo, но у вас будет только eth0, lo, а после обновления и того меньше, будет только lo.

Посмотрим вывод команды ifconfig:

  1. ifconfig -a
  2. eth0      Link encap:Ethernet  HWaddr 00:0f:b0:74:9e:36
  3.           UP BROADCAST MULTICAST  MTU:1500  Metric:1
  4.           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
  5.           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  6.           collisions:0 txqueuelen:1000
  7.           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
  8.           Interrupt:23
  9.  
  10. lo        Link encap:Local Loopback
  11.           inet addr:127.0.0.1  Mask:255.0.0.0
  12.           inet6 addr: ::1/128 Scope:Host
  13.           UP LOOPBACK RUNNING  MTU:16436  Metric:1
  14.           RX packets:740 errors:0 dropped:0 overruns:0 frame:0
  15.           TX packets:740 errors:0 dropped:0 overruns:0 carrier:0
  16.           collisions:0 txqueuelen:0
  17.           RX bytes:56384 (56.3 KB)  TX bytes:56384 (56.3 KB)

Посмотрим вывод команды iwconfig:

  1. /sbin/iwconfig
  2. lo        no wireless extensions.
  3. eth0      no wireless extensions.

Посмотрим вывод dmesg:

  1. dmesg | grep b43

Как профиксить Broadcom BCM43xx Wireless?

Очевидно, что проблем может быть две, либо драйвер кривой у них, либо модуль драйвера не загрузился в ядро. Начнем по порядку, сначала деактивриуйте Wireless STA драйвер в «Additional Drivers», перезагрузите копьютер. И давайте попробуем поставить все в ручную:

  1. sudo aptitude install b43-fwcutter firmware-b43-installer
  1. sudo aptitude install broadcom-sta-common broadcom-sta-source

Перезагрузите компьютер. Очевидно, что драйвер у вас в системе, однако скорее всего ничего не произойдет, вы не найдете интерфейс wlan0, и ваш LED индикатор гореть не будет, как бЭ сообщая, что Wi-Fi модуль вашего компьютера не активен.

Решение этой проблемы крайне простое, не сложно догодаться, что проблема в том, что модули драйвера, почему то не загружаются в ядро при загрузке компьютера. Это утверждение легко проверить, посмотря какие модули активны:

  1. lsmod
  2. Module                  Size  Used by
  3. binfmt_misc            17565  1
  4. snd_atiixp_modem       19128  5
  5. snd_atiixp             20072  2
  6. snd_ac97_codec        134270  2 snd_atiixp_modem,snd_atiixp
  7. ac97_bus               12730  1 snd_ac97_codec
  8. snd_pcm                96625  5 snd_atiixp_modem,snd_atiixp,snd_ac97_codec
  9. snd_seq_midi           13324  0
  10. pcmcia                 49166  0
  11. snd_rawmidi            30486  1 snd_seq_midi
  12. snd_seq_midi_event     14899  1 snd_seq_midi
  13. joydev                 17606  0
  14. radeon                982197  2
  15. snd_seq                61621  2 snd_seq_midi,snd_seq_midi_event
  16. snd_timer              29602  2 snd_pcm,snd_seq
  17. ttm                    76664  1 radeon
  18. snd_seq_device         14462  3 snd_seq_midi,snd_rawmidi,snd_seq
  19. yenta_socket           27846  0
  20. tifm_7xx1              13042  0
  21. pcmcia_rsrc            18372  1 yenta_socket
  22. tifm_core              15654  1 tifm_7xx1
  23. drm_kms_helper         42136  1 radeon
  24. psmouse                73535  0
  25. hp_wmi                 13706  0
  26. serio_raw              13166  0
  27. video                  19438  0
  28. drm                   227495  4 radeon,ttm,drm_kms_helper
  29. i2c_algo_bit           13400  1 radeon
  30. pcmcia_core            22569  3 pcmcia,yenta_socket,pcmcia_rsrc
  31. edac_core              53845  0
  32. sparse_keymap          13898  1 hp_wmi
  33. ppdev                  17113  0
  34. snd                    67382  20 snd_atiixp_modem,snd_atiixp,snd_ac97_codec,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
  35. parport_pc             36959  1
  36. i2c_piix4              13303  0
  37. edac_mce_amd           23464  0
  38. soundcore              12680  1 snd
  39. snd_page_alloc         18529  3 snd_atiixp_modem,snd_atiixp,snd_pcm
  40. shpchp                 37297  0
  41. k8temp                 13016  0
  42. lp                     17825  0
  43. parport                46458  3 ppdev,parport_pc,lp
  44. usbhid                 46956  0
  45. hid                    91020  1 usbhid
  46. sdhci_pci              13989  0
  47. firewire_ohci          40370  0
  48. sdhci                  27387  1 sdhci_pci
  49. firewire_core          62646  1 firewire_ohci
  50. crc_itu_t              12707  1 firewire_core
  51. tg3                   141750  0
  52. pata_atiixp            13165  3

Если вы внимательно изучите вывод команды lsmod, то вы не найдете там b43 и может даже b44. Тут надо уточнить, b43 это модуль для вашей беспроводной карточки, модуль b44 для вашей проводной карточки.
Давайте загрузим их в ручную:

  1. su root
  2. modprobe --all b43
  3. modprobe --all b44

Вы увидите как ваш LED индикатор Wi-Fi радостно загорелся, а в Network Manager у вас появятся беспроводное и проводное соединение.

Прошлый раз забыл довабить.
Скорее всего, после перезагрузки компьютера у вас снова пропадет сеть, это связано с тем, что либо модули по какой-то причине не подгружается автоматически в ядро Linux, либо по ошибке (тех кто собирал дистрибутив) они находятся в «черном списке» ядра, так называемый blacklist, что и происходит в нашем случае, исправить очень просто, откройте под рутом файл broadcom-sta-common.conf:

  1. sudo nano /etc/modprobe.d/broadcom-sta-common.conf

и закомментируете все строки связанные с b43/b44 модулями:

  1. # wl module from Broadcom conflicts with ssb
  2. # We must blacklist the following modules:
  3. #blacklist b44
  4. #blacklist b43legacy
  5. #blacklist b43
  6. #blacklist ssb

Это все, удачной работы.


17 комментариев на запись “Карточки Broadcom BCM43xx Wireless не работают в Ubuntu 11.04”

  1. 1 Padonak сказала в 14:19, 31.05.2011:

    Сначала Unity впихнули(чем уже испортили систему), теперь популярные карточки не поддерживают, что же будет дальше…
    И кстати, очень жду обещанную статью «Как установить vsftpd сервер», а то что то не получается поднять этот ФТПшник под wordpress, а ваши статьи всегда помогают)

  2. 2 admin сказала в 1:56, 03.06.2011:

    Статья будет, у меня сейчас завал в армии, и некогда особо писать. Я вот только не понял как ты связываешь vsftpd с wordpress? vsftpd – это FTP файловый сервер, и он не связан с WordPress, если ты хочешь установить и настроить http сервер, то тогда тебе стоит обратить внимание на статьи http://www.linuxspace.org/archives/3260 из раздела «Серверы» там есть и apache и ngnix и многое другое.

  3. 3 Padonak сказала в 7:57, 03.06.2011:

    У меня wordpress стоит на локальной машине и для того что б хотя бы изменить тему сайта мне нужен ftp на этой же машине. Попробую ещё наверно ProFTPd вместо vsftpd.

  4. 4 admin сказала в 0:41, 04.06.2011:

    Понятно, но в любом случаем, у тебя еще есть SSH, SFTP, SSHFS и конечно обыкновенный FTP, а про vsftpd я напишу классную и подробную статью ))

  5. 5 vovans сказала в 12:48, 06.06.2011:

    GDebi, Gimp, aptitude и многое прочее вырезали лишь с инсталяционного диска! Только лишь из дефолтной системы! К чему на пустом месте поливать грязью дистрибутив и разработчиков? Не нравится, пользуйте модный Арч.

    Да, плохо, что поломали дрова. Очень плохо. Хотя, если есть опыт, разобраться не проблема. Я за 10 минут всё починил. Но сопли распускать не надо!

    Всё это тестовые релизы Убунты. Не устраивают, можно просто сидеть на LTS.

  6. 6 admin сказала в 18:59, 06.06.2011:

    Привет vovans не пойми меня не правильно, но я высказываю свое личное мнение основанное на 3-ех годах работы со своим любимым дистрибутивом Ubuntu. Однако в действиях разработчиков наблюдается некая иррациональность.

    Они вырезают GDebi, хотя его аналог работает на MacOS Snow Leopard, они убирают aptitude, хотя лично я (как и многие другие) использую apt-get и aptitude получая таким образом необходимый функционал, так сказать 2-а в одном.

    Простой пользователь не знает о программах aptitude и GDebi и не сможет вернуть их в дистрибутив, а они лучше справляются со своими обязанностями чем любая другая.

    Сопли никто не распускает, ты починил всё за 10 минут, это хорошо, я пишу статью людям, давая им возможность исправить баг.

    Помни, всё относительно.

  7. 7 Alex сказала в 20:54, 08.06.2011:

    Буков много, а смысла мало. Достаточно было сказать, что, в связи с лицензионными условиями распространения драйвера Broadcom, firmware необходимый для этого драйвера не входит в дистрибутив, а потому качать его необходимо отдельно и самостоятельно.
    У меня у самого BCM4311 на буке и убунту активно использую начиная с версии 10.04 (затем 10.10 и сейчас 11.04). Так вот никогда ни в одной из указаных мной версий дистрибутива драйвер «из коробки» не подымался. Всегда нужно было сначала «добыть» firmware, и только тогда драйвер подымался. А учитывая, что выход в интернет у меня только через WiFi, проводного нету. Этот вопрос, при переустановке системы, для меня стоит очень остро (потому и хорошо запомнился). Я нашёл выход из этой ситуации такой: однажды скачав нужное firmware (по-простому, папка /lib/firmware/b43), я просто сделал себе локальную копию его в домашнем каталоге. И потом, в случае переустановки системы, просто копирую его в нужное место (/lib/firmware), а затем перегружаю систему (это для очень ленивых как я) и после загрузки получаю работоспособный адаптер, с которым уже можно и в тырнет ломиться. Всё на самом деле просто, а Вы много написали, но до сути не докапались, главный вопрос должен быть – почему не работает? а не что делать? когда ясна причина, сразу будет и понятно – что нужно делать…

  8. 8 admin сказала в 9:59, 09.06.2011:

    Alex, драйвера b43, никогда не занимали место на установочном диске Ubuntu, я этого и не утверждал, зато b43-fwcutter всегда был доступен для загрузки из репозитария Ubuntu через программу «Дополнительные драйверы» я об этом писал, вы не удасужились разобраться в статье, жаль. В первые я установил драйвер для BCM4311 ещё в Ubuntu 6.04 верьте моему опыту.

    Кстати ответ почему не работает? – потому что поломали сборку, лицензия тут не причем, модули не загружаются автоматически в ядро.

    Алекс, в следующий раз, прежде чем что-то написать, прочитайте статью и разберитесь в ней.

  9. 9 Кравцов Дмитрий сказала в 0:04, 30.08.2011:

    Спасибо. Мне помогло…

  10. 10 Squall сказала в 16:48, 02.10.2011:

    Сделал всё как написано, но после перезагрузки, модули так и не грузятся в ядро, приходится вручную это делать…

  11. 11 admin сказала в 17:29, 08.10.2011:

    Посмотри в файле:
    /etc/modprobe.d/blacklist.conf

    Наличие вот такой строчки:
    # replaced by b43 and ssb.
    blacklist bcm43xx

  12. 12 Sergey сказала в 19:21, 12.11.2011:

    Все сделал как написано в посте, карточка заработала, но очень слабый сигнал и низкая скорость работы интернета, плюс ко всему постоянно рвет соединение, что делать?

  13. 13 Дмитрий сказала в 16:26, 05.12.2011:

    Спасибо огромное автору!!! Очень помогла инфа про блеклист, иначе бы и не подумал в ту степь копать

  14. 14 Сергей сказала в 7:33, 18.01.2012:

    не могу настройить Wifi
    на команду su root выводит вот это сообщение:
    serg@ubuntu:~$ su root
    Пароль:
    su: Сбой при проверке подлинности
    serg@ubuntu:~$

  15. 15 Vlad сказала в 11:21, 29.01.2012:

    Вместо su root попробуй sudo su

  16. 16 Анатолий сказала в 11:19, 03.02.2012:

    Огромнешееее спасибо!! очень понятно, доступно, грамотно. все заработало!

  17. 17 Артем сказала в 20:23, 25.03.2012:

    Спасибо большое, все заработало, долго искал решение этой ошибки))


Оставить комментарий

  • Доступные теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code lang=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" extra="">

  • *