Bug 2146 - Wireless connection does not work on a laptop DELL Vostro 1400.
: Wireless connection does not work on a laptop DELL Vostro 1400.
Status: RESOLVED FIXED
Product: Desktop Bugs
Classification: ROSA Desktop
Component: Main Packages
: Fresh
: i586 Linux
: Normal normal
: ---
Assigned To: Eugene Shatokhin
: ROSA Linux Bugs
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-06-05 09:34 MSD by Wjacheslaw
Modified: 2013-10-25 16:02 MSD (History)
2 users (show)

See Also:
RPM Package: dkms-broadcom-wl
ISO-related:
Bad POT generating:
Upstream:


Attachments
dmesg.txt (63.19 KB, text/plain)
2013-06-05 12:12 MSD, Wjacheslaw
Details
The monitor screen at the time of freezing. (475.73 KB, image/jpeg)
2013-06-05 13:20 MSD, Wjacheslaw
Details
The first part of the screen shots (2.78 MB, application/x-gzip)
2013-06-19 17:39 MSD, Wjacheslaw
Details
second part of the screen shots (2.06 MB, application/x-gzip)
2013-06-19 17:40 MSD, Wjacheslaw
Details
the log file (355.52 KB, application/octet-stream)
2013-06-19 20:20 MSD, Wjacheslaw
Details
The new system log for today (705.81 KB, application/octet-stream)
2013-06-20 15:25 MSD, Wjacheslaw
Details
syslog (824.44 KB, application/octet-stream)
2013-06-20 15:45 MSD, Wjacheslaw
Details
The last peep (84.27 KB, text/x-log)
2013-06-20 16:37 MSD, Wjacheslaw
Details
d1.png (172.88 KB, image/png)
2013-06-21 03:15 MSD, Postnikov Dmitry
Details
d2.png (351.66 KB, image/png)
2013-06-21 03:18 MSD, Postnikov Dmitry
Details
d3.png (104.45 KB, image/png)
2013-06-21 03:19 MSD, Postnikov Dmitry
Details
d4.png (389.21 KB, image/png)
2013-06-21 03:27 MSD, Postnikov Dmitry
Details
d6.png (205.03 KB, image/png)
2013-06-21 03:33 MSD, Postnikov Dmitry
Details
Location in the binary code where the crash happened (235.16 KB, image/jpeg)
2013-08-19 11:39 MSD, Eugene Shatokhin
Details
The full backtrace of the triggered BUG_ON() (242.69 KB, image/jpeg)
2013-08-19 11:49 MSD, Eugene Shatokhin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Wjacheslaw 2013-06-05 09:34:13 MSD
Description of problem:
Does not work wirelessly, does not see the point of access. The last working version of the driver was broadcom-wl-5.10.56.27.3. To work with Wi-Fi has its install more.

Version-Release number of selected component (if applicable):
Network Card Wi-Fi - BCM 4311 802.11 b / g

How reproducible:
Every time I attempt to login.

Steps to Reproduce:
1.Turn on the Notebook
2.turn on a wireless
3.see the rejection
Comment 1 Eugene Shatokhin 2013-06-05 10:50:25 MSD
Which version of dkms-broadcom-wl rpm package is installed on that machine?

Could you also explain it a bit more: the system sees no access points after login at all or it does not see the particular access point but sees the other ones? Or the access point is visible but when you attempt to connect to it, it is rejected?

Which driver the NetworkManager shows that is used for the wireless connection?

Besides that, please post the output of dmesg here, it will be easier to see what is going on this way.
Comment 2 Wjacheslaw 2013-06-05 11:07:14 MSD
Система не видит точек доступа вообще ни одной. Если зайти в управление соединением, то закладка "Беспроводные" не доступна(не выделена цветом).
Сказать какая версия dkms установлена сложно, т.к. все последние версии драйвера не устанавливаются командой urpmi --auto-update. Чтобы работать с Wi-Fi, я ставлю одну из старых версий драйверов, а именно broadcom-wl-5.10.56.27.3 и работаю, а все остальные версии драйверов у меня не работают.
Comment 3 Eugene Shatokhin 2013-06-05 11:52:51 MSD
(In reply to comment #2)
> Сказать какая версия dkms установлена сложно, т.к. все последние версии
> драйвера не устанавливаются командой urpmi --auto-update. 

rpm -qa | grep dkms-broadcom-wl

What does it output?

The proprietary drivers for BCM4311 are currently not installed automatically.

> я ставлю одну из старых версий драйверов, а именно
> broadcom-wl-5.10.56.27.3 и работаю, а все остальные версии драйверов у меня
> не работают.

So, if I understand you correctly, you install the driver manually. 
Perhaps the in-kernel b43 driver for BCM4311 could mess the things up (it usually does if it is not blacklisted). This would also explain why you need to reinstall the driver each time.

Does 'lsmod | grep b43' show anything?

You can try to remove broadcom-wl-5.10.56.27.3, reboot and then install the latest package:

urpmi dkms-broadcom-wl

Reboot again and check if WiFi is working. If it does not, please describe the symptoms here and attach the output of dmesg.
Comment 4 Wjacheslaw 2013-06-05 12:11:15 MSD
Переставил ROSA Fresh R1. Обновил. Установил командой urpmi dkms-broadcom-wl драйвер для ВСМ 4311. Вывел dmesg. Посмотрел в виджет NM, беспроводной сети нет.
Перезапустил ноутбук. Завис на голубом экране ROSA с крутящимся плимутом.
Comment 5 Wjacheslaw 2013-06-05 12:12:50 MSD
Created attachment 1496 [details]
dmesg.txt
Comment 6 Alexander Burmashev 2013-06-05 12:14:11 MSD
This is what you have in dmesg
[   19.962308] Broadcom 43xx driver loaded [ Features: PMNLS ]
[   19.965338] b43-phy0 ERROR: Firmware file "b43/ucode5.fw" not found
[   19.965344] b43-phy0 ERROR: Firmware file "b43-open/ucode5.fw" not found
[   19.965347] b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.
Comment 7 Eugene Shatokhin 2013-06-05 12:30:14 MSD
(In reply to comment #6)
> This is what you have in dmesg
> [   19.962308] Broadcom 43xx driver loaded [ Features: PMNLS ]
> [   19.965338] b43-phy0 ERROR: Firmware file "b43/ucode5.fw" not found
> [   19.965344] b43-phy0 ERROR: Firmware file "b43-open/ucode5.fw" not found
> [   19.965347] b43-phy0 ERROR: You must go to
> http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download
> the correct firmware for this driver version. Please carefully read all
> instructions on this website.

This was before the reboot, that is before the new broadcom-wl could start working, so it was expected. As I thought, b43 was to blame. 

Now to find out why boot failed. Please press esc at the Plymouth screen and see when it hangs.

mandriva-everytime.service again, may be?

And yes, another option would be not to install the proprietary driver but to provide the needed firmware for b43 and use that. Haven't tries this myself
Comment 8 Wjacheslaw 2013-06-05 12:59:07 MSD
By esc stops rotating Plymouth and all.
Comment 9 Alexander Burmashev 2013-06-05 13:02:54 MSD
You can modify your default boot option in grub by pressing E, remove logo.nologo splash=silent options, then press f10 - this will let you boot without a plymouth.

What can also help you, as well as removing "logo.nologo splash=silent" you can add "single" there and press f10. You will be booted to root prompt and from it you can remove dkms-broadcom-wl
Comment 10 Postnikov Dmitry 2013-06-05 13:03:14 MSD
(In reply to comment #8)
> By esc stops rotating Plymouth and all.

EN: Vyacheslav, I told you already. In Grub2 menu, take away splash=silent and logo.nologo. And look at what stops downloading.


RU: Вячеслав, я тебе уже говорил. В Grub2 меню убери splash=silent и logo.nologo. И посмотри на чем останавливается загрузка.
Comment 11 Wjacheslaw 2013-06-05 13:20:16 MSD
Created attachment 1497 [details]
The monitor screen at the time of freezing.
Comment 12 Alexander Burmashev 2013-06-05 13:23:16 MSD
Ok, in such case i would suggest booting with "single" option added, saving dmesg, syslog, messages logs and removing dkms-broadcom-wl
Comment 13 Wjacheslaw 2013-06-05 13:29:48 MSD
I started the download with the "single", but then the place where he was staying, I can not go.
Comment 14 Eugene Shatokhin 2013-06-05 13:34:56 MSD
From the screenshot, it seems it is indeed that mandriva-everytime.service again. Once you make the system boot, you may also temporarily disable that service:

systemctl disable mandriva-everytime.service

Not sure why it hangs though, needs investigation.
Comment 15 Postnikov Dmitry 2013-06-05 13:36:53 MSD
(In reply to comment #13)
> I started the download with the "single", but then the place where he was
> staying, I can not go.

 	
EN:Vyacheslav, you added menus Grub2 single option? Accurately? Check again, add boot options in Grub 2 single word.

RU:Вячеслав, ты добавлял в меню Grub2 опцию single? Точно? Проверь еще раз, добавь в опции загрузки в Grub2 слово single.
Comment 16 Alexander Burmashev 2013-06-05 13:40:52 MSD
Добавлять нужно ровно в той же строчке, где ранее удалялись splash=silent и logo.nologo
Comment 17 Wjacheslaw 2013-06-05 13:44:32 MSD
Я удаляю  
logo.nologo и splash=silent без первой буквы s, к которой дописываю до слова single.
Comment 18 Wjacheslaw 2013-06-05 13:48:14 MSD
Download stopped at the same place.
Comment 19 Alexander Burmashev 2013-06-05 13:50:04 MSD
single без точки ?
Comment 20 Wjacheslaw 2013-06-05 13:52:12 MSD
single без точки ? Да, без точки.
Comment 21 Eugene Shatokhin 2013-06-19 15:48:43 MSD
EN: Wjacheslaw, сould you try to boot the system again and when it freezes, press ctrl-alt-f2 and see if you can log in as root. Not sure if that may succeed at that point but if it is OK, run 'journalctl -a > system.log' and attach system.log here. It may contain the info needed to find what caused the problem.

The same problem seems to affect other users' systems with BCM4311 card. No such thing with BCM4322 though.

RU: Вячеслав, можете попробовать ещё раз воспроизвести этот баг с зависанием при загрузке? Когда зависнет, нажмите ctrl-alt-f2, возможно, удастся переключиться в соотв. вирт. консоль и залогиниться как root там. Не факт, что получится, но если получится, запустите там 'journalctl -a > system.log' и выложите system.log сюда. Может помочь разобраться, в чём проблема.

Похоже, этот же баг проявился и у других наших пользователей, у кого в ноутбуках стоит WiFi-адаптер BCM4311. На BCM4322 воспроизвести не удалось.
Comment 22 Wjacheslaw 2013-06-19 16:45:09 MSD
Войти в систему не получается никак. Есть возможность сфотографировать экран.
Может мне отдельные пинги  экранов вам сделать.
Comment 23 Wjacheslaw 2013-06-19 17:39:51 MSD
Created attachment 1552 [details]
The first part of the screen shots
Comment 24 Wjacheslaw 2013-06-19 17:40:44 MSD
Created attachment 1553 [details]
second part of the screen shots
Comment 25 Eugene Shatokhin 2013-06-19 17:59:56 MSD
En:
I see. Something seems to have happened in wl kernel module at least. The backtrace on 7.jpg is hardly readable and incomplete, so the system log is needed anyway.

You can try booting the system in Live mode from, say, a USB stick or installation DVD with ROSA Fresh and mounting the root partition on the HDD somewhere, e.g. to /mnt/root_part. Then get /mnt/root_part/var/log/messages, this should be the system.log of your installed system.

Ru: 
Ясно. 
Похоже, что-то всё-таки произошло в самом драйвере wl, как минимум. Backtrace на снимке 7.jpg понять сложно (видимо, быстро пролетело это по экрану), так что лучше достать всё-таки системный лог.

Можно попробовать загрузиться в Live mode с установочной флэшки или DVD с ROSA Fresh и подмонтировать (напр. в /mnt/root_part) раздел жёсткого диска, на котором находится корневой каталог (/) установленной системы. Тогда /mnt/root_part/var/log/messages - это и будет нужный лог.
Comment 26 Wjacheslaw 2013-06-19 20:20:31 MSD
Created attachment 1554 [details]
the log file
Comment 27 Eugene Shatokhin 2013-06-20 13:23:34 MSD
En:
Thanks. Unfortunately the log seems to be incomplete, it does not contain the info about the problems in wl module that I saw at the photos. Perhaps systemd-journald did not save that data to that log.

OK, let us now try the following.

1. Boot in Live mode and mount the root partition of the HDD as before, for example, to /mnt/root_part.

2. Check if /mnt/root_part/var/log/journal/ exists. If it does not, create it (as root). By default, the journal service keeps the logs in /run/log/journal/, that is, they are in memory only until flushed to HDD and therefore are lost when you turn off or reboot the system. If /var/log/journal/ exists, however, the service will store the logs there instead and we might be able to retrieve them later.

3. Now boot to the installed OS, wait till the boot process hangs. Then, just in case, wait a couple of minutes more. The system should have saved the logs by this time.

4. Boot in Live mode again, mount the root partition as before, then execute the following as root:
    journalctl -a -D /mnt/root_part/var/log/journal/ > system.log

This will collect the logs from the installed OS and save them to system.log in a human-readable format.

5. Post system.log here.

Ru:
Спасибо. К сожалению, лог, похоже, неполный. Там, как минимум, нет данных о тех проблемах в драйвере wl, что видны по снимкам экрана. Вероятно, systemd-journald не сохранил эту часть лога в messages-файле.

Можно сделать так:

1. Загрузитесь в Live-режиме и подмонтируйте корневой раздел HDD, как и раньше. Допустим, - в /mnt/root_part/.

2. Проверьте, существует ли каталог /mnt/root_part/var/log/journal/. Если его нет, создайте его (от имени root). Служба journald по умолчанию хранит логи в /run/log/journal/, т.е. всё это лежит в памяти пока не будет сохранено на диск и поэтому может быть потеряно при перезагрузке системы. Если же /var/log/journal/ существует, логи будут сохраняться туда, есть шанс потом их достать.

3. Теперь перезагрузите систему, дождитесь пока загрузка установленной системы повиснет, как раньше. Затем лучше на всякий случай подождать ещё пару минут. Есть шанс, что система при этом сохранит логи хотя бы в /var/log/journal/.

4. Опять загрузите Live mode и подмонтируйте корневой раздел HDD, как и раньше. Выполните затем такую команду:
    journalctl -a -D /mnt/root_part/var/log/journal/ > system.log

Эта команда соберёт доступные логи с установленной системы и выведет их в текстовом формате в файл system.log.

5. Выложите system.log сюда. Возможно, в нём будет больше информации, чем в /var/log/messages.
Comment 28 Wjacheslaw 2013-06-20 15:25:23 MSD
Created attachment 1560 [details]
The new system log for today
Comment 29 Wjacheslaw 2013-06-20 15:29:21 MSD
В system.log , который сделал по инструкции, один мусор.
А в messages информации побольше чем вчера, поэтому высылаю последний.
Но если надо что посмотреть, live система поверх зависшей ожидает
указаний от вас.
Comment 30 Wjacheslaw 2013-06-20 15:43:01 MSD
Рядом с messages находится файл syslog, сравнил их, с виду одинаковые и начало и конец,
но второй имеет больший размер. Высылаю.
Comment 31 Eugene Shatokhin 2013-06-20 15:44:57 MSD
(In reply to comment #29)
> В system.log , который сделал по инструкции, один мусор.
> А в messages информации побольше чем вчера, поэтому высылаю последний.
> Но если надо что посмотреть, live система поверх зависшей ожидает
> указаний от вас.

В messages-файле и в /var/log/syslog просто добавилась часть данных от последней загрузки системы (в /var/log/messages данные накапливаются). К сожалению, новой информации, связанной с этим багом, там не видно, видимо не сохранились

Странно, что в том system.log'е мусор. В Live-системе какие-то подкаталоги есть в /mnt/root_part/var/log/journal/ ?
Comment 32 Wjacheslaw 2013-06-20 15:45:52 MSD
Created attachment 1561 [details]
syslog
Comment 33 Wjacheslaw 2013-06-20 15:53:13 MSD
Есть предложение связаться через irc.rosalab.ru:9090
канал #rosa-qa
Будете руководить каждым моим действием.
Comment 34 Wjacheslaw 2013-06-20 16:37:44 MSD
Created attachment 1562 [details]
The last peep
Comment 35 Eugene Shatokhin 2013-06-20 16:55:17 MSD
Looks like the driver (wl) has triggered a kernel BUG():
    kernel BUG at include/net/cfg80211.h:2632

We are not the only ones to encounter it:
https://retrace.fedoraproject.org/faf/problems/703777/
https://retrace.fedoraproject.org/faf/problems/499248/

Digging in further...
Comment 36 Postnikov Dmitry 2013-06-21 03:15:11 MSD
Created attachment 1564 [details]
d1.png

Я попробовал проинсталлировать dkms-broadcom (хотя у меня нет такой карты).
Скрин прилагаю.
И перегрузился. Все ОК.
Comment 37 Postnikov Dmitry 2013-06-21 03:18:03 MSD
Created attachment 1565 [details]
d2.png

Драйвера так же как у вас ругнулись на прошивку. И где она должна быть.
Похоже ее просто нету.
Тут два варианта:
1. Если у вас НЕТ подключения к Интернету (по кабелю) тогда может быть в этом все и дело!
2. Если есть покдлючение по кабелю, тогда попробуйте установить пакет b43-firmware-install и перегрузиться.
Comment 38 Postnikov Dmitry 2013-06-21 03:19:45 MSD
Created attachment 1566 [details]
d3.png

И после этого у меня в логах много чего повыскакивало.
Глваное, что после всех инсталляций нужна перезагрузка.
Comment 39 Postnikov Dmitry 2013-06-21 03:27:33 MSD
Created attachment 1567 [details]
d4.png

Даже после инсталляции b43-firmware-install что-то я не нашел ничего из файлов прошивки.

Есть еще вариант. Как обычно, старый метод должен помочь.
В консоли от root'а и при ВКЛЮченном кабельном Интернете.

export FIRMWARE_INSTALL_DIR="/lib/firmware"
wget http://www.lwfinger.com/b43-firmware/broadcom-wl-5.100.138.tar.bz2
tar xjf broadcom-wl-5.100.138.tar.bz2
b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" broadcom-wl-5.100.138/linux/wl_apsta.o

В принципе у меня есть аж 2 карты Broadcom на ноуте, но там Win8 лицензия + UEFI +GPT. Если удасться сегодня, попробую в LiveCD режиме посмотреть что-нибудь.

Виснет у вас комп явно не из-за Broadcom. Пробуйте чистую систему, после установки ДВА РАЗА перезагурзиться. Потом уже пробовать ставить драйвера.
Comment 40 Postnikov Dmitry 2013-06-21 03:33:34 MSD
Created attachment 1568 [details]
d6.png

А вот кстати и firmware. (Скрин)
Дрова реально появились после установки пакета b43-firmware-install.
Так то пробуйте. Но без подключения к Интернету этот пакет НЕ поставить. У вас должно все получиться.
Comment 41 Eugene Shatokhin 2013-06-21 11:53:16 MSD
En:
To avoid possible confusion: one can use two options with Broadcom BCM43xx WiFi adapters:

1. The free open-source drivers included into the kernel (b43 or brcmsmac). For some models of the adapter (BCM4311, for example), b43 driver needs firmware from the proprietary driver to work properly.

The way suggested by Dmitry Postnikov is exactly that: you do not install the proprietary driver, just use fwcutter to extract the firmware from it and use b43 driver (the default one) with that. Should work.

2. Alternatively, you can install and use the proprietary driver (broadcom-wl, packaged as dkms-broadcom-wl). This is what has been done here so far. When you install dkms-broadcom-wl package, it will disable the default drivers (b43 and brcmsmac) and will make sure wl driver will be used instead.

Apparently, wl driver has a bug that has lead to the kernel crash on boot on Dell Vostro 1400. In my experiments, in did not reproduce on the systems with different Broadcom cards, namely BCM4313 and BCM4322, the driver installed and worked just fine there (even better than b43 on BCM4313 in terms of connection stability and speed).

However, another our user with Dell Inspiron 1520 encountered the same problem with the proprietary driver,  including the kernel crash at the same point.

So far I could not find a fix on the Net although at least the users of Fedora 18 and of the systems based on Ubuntu 12.04 faced that problem too.

This problem may be not the only one that appeared on Dell laptops but still it needs to be fixed.

I am currently investigating the source code of the driver. If I find the cause of the problem, it will be easier to get it fixed.

Ru:
Поясню немного, чтобы избежать путаницы у наших пользователей. При работе с WiFi-адаптерами Broadcom есть два варианта.

1. Использовать free open-source драйверы, поставляемые вместе с ядром (b43 или brcmsmac, в зависимости от модели адаптера). Для некоторых моделей (напр., того же BCM4311) драйверу b43 нужна прошивка (firmware) из проприетарного драйвера от Broadcom.

Дмитрий Постников предлагает как раз такой вариант: вы НЕ ставите проприетарный драйвер, просто скачиваете его, а fwcutter извлекает из него всё необходимое для работы стандартного драйвера b43. После этого b43 работает нормально.

2. Или, вместо b43 можно установить и использовать проприетарный драйвер (broadcom-wl, который у нас поставляется в пакете dkms-broadcom-wl). О нём я в своих предыдущих комментариях и говорил. Когда устанавливается пакет dkms-broadcom-wl, он отключает драйверы b43 и brcmsmac и настраивает систему так, чтобы она использовала драйвер wl из этого пакета.

Судя по всему, в этом проприетарном драйвере есть баг, из-за которого ядро падает при загрузке на некоторых Dell'овских системах. Баг не проявился в моих экспериментах на системах с другими моделями WiFi-адаптера Broadcom, а именно BCM4313 и BCM4322. Драйвер wl там работал нормально (кстати, в плане стабильности и скорости соединения он оказался лучше, чем b43 на одной из систем с адаптером BCM4313).

Тем не менее, у ещё одного нашего пользователя баг проявился при использовании проприетарного драйвера broadcom-wl на Dell Inspiron 1520. Cимптомы те же, включая kernel BUG() при загрузке, в том же самом месте.

Пока в Сети мне не удалось найти патчей, исправляющих эту ошибку, хотя пользователи Fedora 18 и систем на основе Ubuntu 12.04 с ней тоже столкнулись некоторое время тому назад.

Это, возможно, не единственная проблема с WiFi на Dell'овских ноутбуках, но в любом случае её стоит исправить.

Я сейчас разбираюсь по коду драйвера broadcom-wl, из-за чего произошло то падение, почему wdev_priv() была вызвана с некорректным аргументом. Если пойму, в чём дело, проще будет это исправить.
Comment 42 Wjacheslaw 2013-06-21 12:25:18 MSD
Скачал драйвер broadcom-wl-5.100.138 и используя совет Д.Постникова
запустил fwcutter. Теперь система работает с беспроводной сетью и не зависает при перезапусках.
Comment 43 Eugene Shatokhin 2013-06-21 12:31:25 MSD
(In reply to comment #42)
> Скачал драйвер broadcom-wl-5.100.138 и используя совет Д.Постникова
> запустил fwcutter. Теперь система работает с беспроводной сетью и не
> зависает при перезапусках.

Это хорошо. Стандартный драйвер b43, действительно, надёжнее, хотя иногда и медленнее работает. С проприетарным разберёмся и починим.
Comment 44 Eugene Shatokhin 2013-06-21 17:24:32 MSD
Well, looks like there are 2 bugs in the proprietary driver. 

The crash itself happened due to an incorrect error handling in wl_attach() (broadcom-wl-5.100.82.112/src/wl/sys/wl_linux.c). wlc_attach() reported an error and then wl_free() was called, which, in turn, called wl_cfg80211_detach() for an object which was not properly initialized.

The second problem seems to be in wlc_attach() function, which does not handle BCM4311 chip correctly for some reason on the recent kernels. Unfortunately, the function is in the binary-only part of the module, there is no source code available for it. I will report this problem to Broadcom.

The bottom line: 
For the systems with BCM4311 adapter, b43 driver with the appropriate firmware should be used as suggested by Alexander Burmashev and Postnikov Dmitry here.
Comment 45 Eugene Shatokhin 2013-08-19 11:39:22 MSD
Created attachment 1790 [details]
Location in the binary code where the crash happened

I have recently observed a similar problem on my netbook with BCM4313.
Comment 46 Eugene Shatokhin 2013-08-19 11:49:05 MSD
Created attachment 1791 [details]
The full backtrace of the triggered BUG_ON()

The driver crashes at the same place as it did for BCM4311 (BUG_ON() triggers in wdev_priv() when NULL is passed there) but as the backtrace shows, it gets there via a different path.

Namely, some code in the binary-only part sets a timer and when it triggers, the following chain of function calls happens:

* wl_timer
* wlc_eventq_test_ind
* wlc_detach
* wl_event
* wl_cfg80211_event
* wdev_priv - crashes because the network device structures are not fully initialized yet.

The problem happens occasionally at boot. I observed that on kernel 3.10.6-nrj-desktop.

Although it is hard to fix the binary-only part of the driver, I will try to patch the open-source part to avoid calling wdev_priv() for NULL. Let us see if it helps...
Comment 47 Eugene Shatokhin 2013-10-25 16:02:11 MSD
dkms-broadcom-wl packages from our official repositories have this problem fixed. Closing.