# [erledigt] broadcom-sta (wieder einmal)

## schmidicom

Gerade eben bei meinem Lenovo Laptop auf Kernel 4.8.0 gewechselt und wie so oft zickt wieder einmal der verdammte Broadcom Treiber herum nur diesmal gleich richtig.   :Evil or Very Mad: 

Sobald Gentoo versucht das Modul "wl" zu landen passiert das folgende und das Gerät wird schlicht unbenutzbar (hangt sich einfach auf):

```
Okt 05 13:59:46 slap kernel: BUG: unable to handle kernel NULL pointer dereference at           (null)

Okt 05 13:59:46 slap kernel: IP: [<ffffffffa01ca11f>] cfg80211_scan_done+0x2f/0x100 [cfg80211]

Okt 05 13:59:46 slap kernel: PGD 0 

Okt 05 13:59:46 slap kernel: Oops: 0000 [#1] SMP

Okt 05 13:59:46 slap kernel: Modules linked in: joydev uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core videodev media kvm_amd kvm irqbypass crct10dif_pclmul 

Okt 05 13:59:46 slap kernel: CPU: 2 PID: 208 Comm: wl_event_handle Tainted: P           O    4.8.0-gentoo #1

Okt 05 13:59:46 slap kernel: Hardware name: LENOVO 20B2000KMZ/20B2000KMZ, BIOS HRET26WW (1.14) 04/28/2016

Okt 05 13:59:46 slap kernel: task: ffff880215458000 task.stack: ffff880212608000

Okt 05 13:59:46 slap kernel: RIP: 0010:[<ffffffffa01ca11f>]  [<ffffffffa01ca11f>] cfg80211_scan_done+0x2f/0x100 [cfg80211]

Okt 05 13:59:46 slap kernel: RSP: 0018:ffff88021260be28  EFLAGS: 00010246

Okt 05 13:59:46 slap kernel: RAX: ffffea00084edf20 RBX: ffff880210940700 RCX: ffffea00084eef20

Okt 05 13:59:46 slap kernel: RDX: ffff8802109402a0 RSI: 0000000000000000 RDI: ffff88020b6c7000

Okt 05 13:59:46 slap kernel: RBP: ffff88021260be40 R08: 0000000000000068 R09: 00000000000003bc

Okt 05 13:59:46 slap kernel: R10: ffffea00084eef00 R11: ffff880213bbc6c0 R12: ffff88020b6c7000

Okt 05 13:59:46 slap kernel: R13: 0000000000000000 R14: 0000000000000006 R15: ffff880213bbc00c

Okt 05 13:59:46 slap kernel: FS:  0000000000000000(0000) GS:ffff88021ed00000(0000) knlGS:0000000000000000

Okt 05 13:59:46 slap kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033

Okt 05 13:59:46 slap kernel: CR2: 0000000000000000 CR3: 0000000213966000 CR4: 00000000000406e0

Okt 05 13:59:46 slap kernel: Stack:

Okt 05 13:59:46 slap kernel:  ffff880210940700 ffff880213bbc834 0000000000000000 ffff88021260be90

Okt 05 13:59:46 slap kernel:  ffffffffa0562218 ffff880210940700 0000000110940700 0000000000000001

Okt 05 13:59:46 slap kernel:  ffff880211971780 ffff880210940700 ffff880210940f20 ffff880210940af8

Okt 05 13:59:46 slap kernel: Call Trace:

Okt 05 13:59:46 slap kernel:  [<ffffffffa0562218>] wl_pcie_bar1+0x1678/0x56c0 [wl]

Okt 05 13:59:46 slap kernel:  [<ffffffffa0560d2b>] wl_pcie_bar1+0x18b/0x56c0 [wl]

Okt 05 13:59:46 slap kernel:  [<ffffffffa0560cd0>] ? wl_pcie_bar1+0x130/0x56c0 [wl]

Okt 05 13:59:46 slap kernel:  [<ffffffff81076da4>] kthread+0xc4/0xe0

Okt 05 13:59:46 slap kernel:  [<ffffffff8167d13f>] ret_from_fork+0x1f/0x40

Okt 05 13:59:46 slap kernel:  [<ffffffff81076ce0>] ? kthread_worker_fn+0x160/0x160

Okt 05 13:59:46 slap kernel: Code: 41 55 49 89 f5 41 54 49 89 fc 53 0f 1f 44 00 00 49 8b 54 24 60 48 85 d2 0f 84 94 00 00 00 4c 3b a2 78 fe ff ff 0f 85 89 00 00 00 <49> 8b 45 00 49 89

Okt 05 13:59:46 slap kernel: RIP  [<ffffffffa01ca11f>] cfg80211_scan_done+0x2f/0x100 [cfg80211]

Okt 05 13:59:46 slap kernel:  RSP <ffff88021260be28>

Okt 05 13:59:46 slap kernel: CR2: 0000000000000000

Okt 05 13:59:46 slap kernel: ---[ end trace cc2ca572434a1b6f ]---

Okt 05 13:59:46 slap kernel: BUG: unable to handle kernel NULL pointer dereference at 0000000000000009

Okt 05 13:59:46 slap kernel: IP: [<ffffffff810986a6>] __wake_up_common+0x26/0x80

Okt 05 13:59:46 slap kernel: PGD 0 

Okt 05 13:59:46 slap kernel: Oops: 0000 [#2] SMP

Okt 05 13:59:46 slap kernel: Modules linked in: joydev uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core videodev media kvm_amd kvm irqbypass crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel amdkfd amd_iommu_v2 efi_pstore aesni_intel aes_x86_64 lrw glue_helper ablk_helper cryptd radeon efivars psmouse input_leds serio_raw wl(PO) i2c_algo_bit ttm drm_kms_helper cfbfillrect syscopyarea cfbimgblt sysfillrect sysimgblt fb_sys_fops ohci_pci cfbcopyarea drm sr_mod agpgart cdrom snd_hda_codec_hdmi r8169 cfg80211 mii xhci_pci ehci_pci ohci_hcd xhci_hcd ehci_hcd tpm_tis tpm_tis_core tpm sch_fq_codel efivarfs ipv6

Okt 05 13:59:46 slap kernel: CPU: 2 PID: 208 Comm: wl_event_handle Tainted: P      D    O    4.8.0-gentoo #1

Okt 05 13:59:46 slap kernel: Hardware name: LENOVO 20B2000KMZ/20B2000KMZ, BIOS HRET26WW (1.14) 04/28/2016

Okt 05 13:59:46 slap kernel: task: ffff880215458000 task.stack: ffff880212608000

Okt 05 13:59:46 slap kernel: RIP: 0010:[<ffffffff810986a6>]  [<ffffffff810986a6>] __wake_up_common+0x26/0x80

Okt 05 13:59:46 slap kernel: RSP: 0018:ffff88021260be48  EFLAGS: 00010096

Okt 05 13:59:46 slap kernel: RAX: 0000000000000286 RBX: ffff88021260bf18 RCX: 0000000000000000

Okt 05 13:59:46 slap kernel: RDX: 0000000000000009 RSI: 0000000000000003 RDI: ffff88021260bf18

Okt 05 13:59:46 slap kernel: RBP: ffff88021260be80 R08: 0000000000000000 R09: 0000000000000000

Okt 05 13:59:46 slap kernel: R10: 0000000000000001 R11: 00000000000003b1 R12: ffff88021260bf20

Okt 05 13:59:46 slap kernel: R13: 0000000000000286 R14: 0000000000000046 R15: 0000000000000003

Okt 05 13:59:46 slap kernel: FS:  0000000000000000(0000) GS:ffff88021ed00000(0000) knlGS:0000000000000000

Okt 05 13:59:46 slap kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033

Okt 05 13:59:46 slap kernel: CR2: 0000000000000009 CR3: 0000000213966000 CR4: 00000000000406e0

Okt 05 13:59:46 slap kernel: Stack:

Okt 05 13:59:46 slap kernel:  00000001000003b1 0000000000000000 ffff88021260bf18 ffff88021260bf10

Okt 05 13:59:46 slap kernel:  0000000000000286 0000000000000046 0000000000000000 ffff88021260be90

Okt 05 13:59:46 slap kernel:  ffffffff8109876e ffff88021260beb8 ffffffff810991bc 0000000000000000

Okt 05 13:59:46 slap kernel: Call Trace:

Okt 05 13:59:46 slap kernel:  [<ffffffff8109876e>] __wake_up_locked+0xe/0x10

Okt 05 13:59:46 slap kernel:  [<ffffffff810991bc>] complete+0x3c/0x60

Okt 05 13:59:46 slap kernel:  [<ffffffff81056605>] mm_release+0xb5/0x140

Okt 05 13:59:46 slap kernel:  [<ffffffff8105c699>] do_exit+0x139/0xb10

Okt 05 13:59:46 slap kernel:  [<ffffffff8167ef37>] rewind_stack_do_exit+0x17/0x20

Okt 05 13:59:46 slap kernel:  [<ffffffff81076ce0>] ? kthread_worker_fn+0x160/0x160

Okt 05 13:59:46 slap kernel: Code: 0f 1f 44 00 00 55 48 89 e5 41 57 41 89 f7 41 56 41 55 41 54 4c 8d 67 08 53 48 83 ec 10 89 55 cc 48 8b 57 08 4c 89 45 d0 49 39 d4 <48> 8b 32 74 44 41 89 ce 48 8d 42 e8 4c 8d 6e e8 eb 03 49 89 d5

Okt 05 13:59:46 slap kernel: RIP  [<ffffffff810986a6>] __wake_up_common+0x26/0x80

Okt 05 13:59:46 slap kernel:  RSP <ffff88021260be48>

Okt 05 13:59:46 slap kernel: CR2: 0000000000000009

Okt 05 13:59:46 slap kernel: ---[ end trace cc2ca572434a1b70 ]---

Okt 05 13:59:46 slap kernel: Fixing recursive fault but reboot is needed!
```

Gibt es da echt keine bessere Alternative als dieses elende in proprietärem Code verewigtes Stück Scheisse?   :Crying or Very sad: Last edited by schmidicom on Mon Oct 17, 2016 12:37 pm; edited 1 time in total

----------

## Randy Andy

Hi Schmidicom,

hab in der vor ca. zwei Wochen ein Lenovo Laptop eines Nachbarn mit Linux bestücken wollen, das war vielleicht ne Odyssey und alles nur wegen eines besonders störrischen Broadcom Wlan Chipsatzes.

Zuerst hab ich darauf ca. 7 verschiedenen aktuelle Mainstream Distributionen getestet, doch obwohl die meisten davon das Wlan soweit unterstützen, dass man damit die WLan Sender sehen konnte, das Wlan also funktional schien, so konnte man sich doch zu keiner dieser Wlan Sender erfolgreich verbinden. Wenn es dann doch mal geklappt hatte, so tröpfelten die Daten gaaanz langsam über die Verbindung und brach spätestens nach 3 Minuten wieder zusammen. Danach war die zuletzt genutzte Verbindung nicht mehr sichtbar, andere Sender dagegen schon - sehr kurios das ganze.

Daher entschloss ich mich dann doch Gentoo zu installieren, da ich das Ding eh vollständig supporten werde müssen.

War aber anfangs auch nicht wirklich viel besser - Verbindung war zwar dann irgendwann stabil, aber grottig langsam.

Hätte schon fast aufgegeben, besonders da dessen WLan PCI Chipsatz (BCM4313) mit der ID 14e4:4727 hier als nicht unterstützt gelistet wird:

http://linuxwireless.org/en/users/Drivers/b43/

Gut dass ich mich davon nicht hab ins Boxhorn jagen lassen.

Abhängig von meiner Kernel-Konfiguration tauche irgendwann im dmesg log ein Hinweis auf  *Quote:*   

> b43.allhwsupport=1

  zu verwenden auf und was soll ich Dir sagen, wenn man das als kernel command line übergibt, funktioniert das WLAN tadellos, also performant und stabil zugleich.

Als kernel hab ich dort den 4.7.5er verwendet, aber ich schätze mit dem Parameter würde das Ding mit vielen verschiedenen kernels und Distros klaglos funktionieren, nur drauf gekommen wäre ich gerne schneller.

Na ja, lange Rede kurzer Sinn. Weiß ja nicht welchen Chipsatz Du konkret verwendest und ob es dafür diesen oder eine anderen Parameter gibt, aber vielleicht gibt es ja Hoffnung, wenn Du mal ganz genau recherchierst.

Ansonsten, lief es denn mit deinem vorigen Kernel besser, warum dann nicht wieder diesen verwenden?

Good luck, Andy.

----------

## schmidicom

 *Randy Andy wrote:*   

> Abhängig von meiner Kernel-Konfiguration tauche irgendwann im dmesg log ein Hinweis auf  *Quote:*   b43.allhwsupport=1  zu verwenden auf und was soll ich Dir sagen, wenn man das als kernel command line übergibt, funktioniert das WLAN tadellos, also performant und stabil zugleich.

 

Wenn es in meinem Fall nur auch so einfach gewesen wäre aber leider ist dem nicht so, es war mal geplant ab Kernel 4.6 meinen Chip zumindest experimentell zu unterstützen aber bis jetzt ist nichts daraus geworden. Und "net-wireless/broadcom-sta" ist so weit ich herausfinden konnte der einzige Treiber mit dem das Teil wenigstens rudimentär (es funktioniert meistens aber selbst wenn man direkt neben dem AP sitzt erreicht die Signalqualität gerade mal 60-70% und das trotz im Gehäuse gut verlegter Antenne) zum laufen gebracht werden kann.

 *Randy Andy wrote:*   

> Weiß ja nicht welchen Chipsatz Du konkret verwendest und ob es dafür diesen oder eine anderen Parameter gibt, aber vielleicht gibt es ja Hoffnung, wenn Du mal ganz genau recherchierst.

 

Es ist ein BCM43142A0 der sich dank Whitelist im BIOS (Fuck you Lenovo) nicht einmal durch etwas anderes ersetzen lasst.

 *Randy Andy wrote:*   

> Ansonsten, lief es denn mit deinem vorigen Kernel besser, warum dann nicht wieder diesen verwenden?

 

Klar könnte ich wieder zum alten Kernel zurück aber das löst das Grundproblem nicht, bei JEDEM verdammten Kernel-Upgrade muss ich damit rechnen das wieder irgendetwas schief geht und das ist einfach kein akzeptabler Zustand.

PS: Der Leidensdruck ist mir jetzt endgültig zu groß geworden und ich habe das Teil an jemanden verschenkt der da eh nie was anderes drauf schmeißt als Windoof und dort geht mir die Treiberqualität am A vorbei.

----------

## Randy Andy

Schmidicom,

damit hat sich die Sache dann ja wohl endgültig erledigt.

Ich schätze, dass aufgrund dieses Ereignisses und auch dieses Artikels nebst deiner Kommentare zu dem Thema, Lenovo fortan ein Hersteller ist, der für Dich wohl nicht mehr in Betracht kommen dürfte, gelle.   :Wink: 

http://www.pro-linux.de/news/1/23999/kein-linux-auf-lenovo-laptops.html

Gruß, Andy.

----------

## Josef.95

 *schmidicom wrote:*   

> Der Leidensdruck ist mir jetzt endgültig zu groß geworden und ich habe das Teil an jemanden verschenkt

 

Magst dann den Thread bitte noch auf [erledigt] setzen?! :)

----------

## schmidicom

 *Randy Andy wrote:*   

> Ich schätze, dass aufgrund dieses Ereignisses und auch dieses Artikels nebst deiner Kommentare zu dem Thema, Lenovo fortan ein Hersteller ist, der für Dich wohl nicht mehr in Betracht kommen dürfte, gelle.

 

Angeblich sollen die viel zu teuren Business-Modelle etwas Linuxfreundlicher sein aber für mich persönlich ist dieser Laden jetzt endgültig gestorben.

 *Josef.95 wrote:*   

> Magst dann den Thread bitte noch auf [erledigt] setzen?

 

Ist gemacht.

----------

