BCM 4331 / Macbook Pro 8.1 / CALL TRACE

Hi,
I’m new in the community, and i’m requesting your help with my first message :shame:
So I’m macbook pro 8.1 owner, and i just installed opensuse 12.2 in my macbook, with an efi boot (via refind)
The probleme i’m facing on is that i can’t have the wireless working.
I’ve got a bcm 4331 wireless card, and as described in linuxwireless.org, i tried to install the driver with the command

sudo /usr/sbin/install_bcm43xx_firmware

included in the package b43-firmware.
The result is that call trace :

  301.403064] BUG: unable to handle kernel NULL pointer dereference at 00000000000000c0
  301.403115] IP: <ffffffff8105b9dd>] drain_workqueue+0x1d/0x1c0
  301.403153] PGD 16883c067 PUD 168397067 PMD 0 
  301.403182] Oops: 0000 #1] PREEMPT SMP 
  301.403202] CPU 0 
  301.403211] Modules linked in: af_packet xt_LOG xt_tcpudp xt_limit xt_pkttype rfcomm bnep vmsync(O) vmblock(O) nf_conntrack_ipv6 nf_defrag_ipv6 ip6t_REJECT ipt_REJECT ip6table_raw xt_NOTRACK iptable_raw iptable_filter ip6table_mangle nf_conntrack_netbios_ns nf_conntrack_broadcast nf_conntrack_ipv4 nf_defrag_ipv4 ip_tables xt_conntrack nf_conntrack ip6table_filter ip6_tables x_tables cpufreq_conservative cpufreq_userspace cpufreq_powersave snd_hda_codec_hdmi snd_hda_codec_cirrus uvcvideo videobuf2_core bcm5974 videodev btusb videobuf2_vmalloc videobuf2_memops bluetooth snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_seq snd_timer snd_seq_device snd b43(-) mac80211 acpi_cpufreq mperf coretemp crc32c_intel ghash_clmulni_intel aesni_intel cfg80211 firewire_ohci firewire_core joydev rfkill sr_mod cdrom i2c_i801 mei(C) tg3 crc_itu_t sdhci_pci sdhci ssb mmc_core pcmcia pcmcia_core sg bcma iTCO_wdt applesmc pcspkr input_polldev cryptd soundcore apple_gmux iTCO_vendor_support aes_x86_64 snd_page_alloc battery apple_bl ac microcode autofs4 i915 drm_kms_helper drm i2c_algo_bit video button processor thermal_sys scsi_dh_hp_sw scsi_dh_alua scsi_dh_rdac scsi_dh_emc scsi_dh
  301.403690] 
  301.403698] Pid: 2039, comm: modprobe Tainted: G         C O 3.4.6-2.10-desktop #1 Apple Inc. MacBookPro8,1/Mac-94245B3640C91C81
  301.403740] RIP: 0010:<ffffffff8105b9dd>]  <ffffffff8105b9dd>] drain_workqueue+0x1d/0x1c0
  301.403770] RSP: 0018:ffff880162923de8  EFLAGS: 00010246
  301.403789] RAX: 0000000000250025 RBX: ffff8801632e0560 RCX: 0000000000000000
  301.403813] RDX: 0000000000000025 RSI: 0000000000000296 RDI: ffffffff81c35900
  301.403836] RBP: ffff880166337800 R08: ffffffff81aa59c0 R09: 0000000000000200
  301.403860] R10: 000000000000000f R11: 0000000000000000 R12: 0000000000000000
  301.403883] R13: 00000000006f4080 R14: 00000000006f4978 R15: 00007fffe127c8e0
  301.403907] FS:  00007fd37d8ed700(0000) GS:ffff88016fa00000(0000) knlGS:0000000000000000
  301.403934] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
  301.404905] CR2: 00000000000000c0 CR3: 0000000160f1e000 CR4: 00000000000407f0
  301.405851] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
  301.406808] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
  301.407765] Process modprobe (pid: 2039, threadinfo ffff880162922000, task ffff88013a692840)
  301.408731] Stack:
  301.409726]  ffff8801633937b8 ffff8801632e0560 ffff880166337800 0000000000000000
  301.410881]  00000000006f4080 00000000006f4978 00007fffe127c8e0 ffffffff8105bd12
  301.411930]  ffff8801632e0770 ffff8801632e0560 ffff880166337800 ffff8801650ca070
  301.412987] Call Trace:
  301.414094]  <ffffffff8105bd12>] destroy_workqueue+0x12/0x180
  301.415167]  <ffffffffa031419c>] ieee80211_unregister_hw+0xdc/0x110 [mac80211]
  301.416281]  <ffffffffa03c0c5a>] b43_bcma_remove+0x3a/0x60 [b43]
  301.417375]  <ffffffffa018e12d>] bcma_device_remove+0x1d/0x30 [bcma]
  301.418391]  <ffffffff81399af6>] __device_release_driver+0x76/0xe0
  301.419441]  <ffffffff8139a378>] driver_detach+0xa8/0xb0
  301.420475]  <ffffffff81399691>] bus_remove_driver+0x81/0xf0
  301.421493]  <ffffffffa03e8626>] b43_exit+0x1a/0x30 [b43]
  301.422517]  <ffffffff8109c92f>] sys_delete_module+0x16f/0x2c0
  301.423531]  <ffffffff815927bd>] system_call_fastpath+0x1a/0x1f
  301.424544]  <00007fd37d2117b7>] 0x7fd37d2117b6
  301.425544] Code: 3d b9 a0 a4 00 e9 74 fc ff ff 0f 1f 40 00 41 57 41 56 41 55 41 54 49 89 fc 48 c7 c7 00 59 c3 81 55 53 48 83 ec 08 e8 d3 02 53 00 <41> 8b 84 24 c0 00 00 00 8d 50 01 85 c0 41 89 94 24 c0 00 00 00 
  301.427802] RIP  <ffffffff8105b9dd>] drain_workqueue+0x1d/0x1c0
  301.428898]  RSP <ffff880162923de8>
  301.430026] CR2: 00000000000000c0
  301.486771] --- end trace 4b22ffa2437fa3e1 ]---
  302.497069] note: modprobe[2039] exited with preempt_count 1
  302.497081] BUG: scheduling while atomic: modprobe/2039/0x10000002
  302.497082] Modules linked in: af_packet xt_LOG xt_tcpudp xt_limit xt_pkttype rfcomm bnep vmsync(O) vmblock(O) nf_conntrack_ipv6 nf_defrag_ipv6 ip6t_REJECT ipt_REJECT ip6table_raw xt_NOTRACK iptable_raw iptable_filter ip6table_mangle nf_conntrack_netbios_ns nf_conntrack_broadcast nf_conntrack_ipv4 nf_defrag_ipv4 ip_tables xt_conntrack nf_conntrack ip6table_filter ip6_tables x_tables cpufreq_conservative cpufreq_userspace cpufreq_powersave snd_hda_codec_hdmi snd_hda_codec_cirrus uvcvideo videobuf2_core bcm5974 videodev btusb videobuf2_vmalloc videobuf2_memops bluetooth snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_seq snd_timer snd_seq_device snd b43(-) mac80211 acpi_cpufreq mperf coretemp crc32c_intel ghash_clmulni_intel aesni_intel cfg80211 firewire_ohci firewire_core joydev rfkill sr_mod cdrom i2c_i801 mei(C) tg3 crc_itu_t sdhci_pci sdhci ssb mmc_core pcmcia pcmcia_core sg bcma iTCO_wdt applesmc pcspkr input_polldev cryptd soundcore apple_gmux iTCO_vendor_support aes_x86_64 snd_page_alloc battery apple_bl ac microcode autofs4 i915 drm_kms_helper drm i2c_algo_bit video button processor thermal_sys scsi_dh_hp_sw scsi_dh_alua scsi_dh_rdac scsi_dh_emc scsi_dh
  302.497143] Pid: 2039, comm: modprobe Tainted: G      D  C O 3.4.6-2.10-desktop #1
  302.497145] Call Trace:
  302.497154]  <ffffffff81004648>] dump_trace+0x88/0x300
  302.497159]  <ffffffff8157faae>] dump_stack+0x69/0x6f
  302.497164]  <ffffffff8158a630>] thread_return+0x383/0x453
  302.497169]  <ffffffff8106ebd5>] __cond_resched+0x25/0x40
  302.497173]  <ffffffff8158a77a>] _cond_resched+0x2a/0x40
  302.497177]  <ffffffff81125754>] unmap_page_range+0x3c4/0x780
  302.497181]  <ffffffff811264a5>] unmap_vmas+0x55/0xb0
  302.497185]  <ffffffff8112dc76>] exit_mmap+0x96/0x140
  302.497189]  <ffffffff8103d121>] mmput+0x51/0x100
  302.497193]  <ffffffff81043f2b>] exit_mm+0x10b/0x130
  302.497196]  <ffffffff810440b6>] do_exit+0x166/0x950
  302.497199]  <ffffffff8158cc89>] oops_end+0x99/0xe0
  302.497203]  <ffffffff81580d58>] no_context+0x24e/0x279
  302.497206]  <ffffffff8158ef05>] do_page_fault+0x3d5/0x490
  302.497209]  <ffffffff8158c0b5>] page_fault+0x25/0x30
  302.497216]  <ffffffff8105b9dd>] drain_workqueue+0x1d/0x1c0
  302.497219]  <ffffffff8105bd12>] destroy_workqueue+0x12/0x180
  302.497229]  <ffffffffa031419c>] ieee80211_unregister_hw+0xdc/0x110 [mac80211]
  302.497240]  <ffffffffa03c0c5a>] b43_bcma_remove+0x3a/0x60 [b43]
  302.497249]  <ffffffffa018e12d>] bcma_device_remove+0x1d/0x30 [bcma]
  302.497253]  <ffffffff81399af6>] __device_release_driver+0x76/0xe0
  302.497257]  <ffffffff8139a378>] driver_detach+0xa8/0xb0
  302.497261]  <ffffffff81399691>] bus_remove_driver+0x81/0xf0
  302.497268]  <ffffffffa03e8626>] b43_exit+0x1a/0x30 [b43]
  302.497276]  <ffffffff8109c92f>] sys_delete_module+0x16f/0x2c0
  302.497280]  <ffffffff815927bd>] system_call_fastpath+0x1a/0x1f
  302.497285]  <00007fd37d2117b7>] 0x7fd37d2117b6


Is anybody can help me?
Thanks !!!

PS : I’m not new in the linux world. I tried yet to install the firmware manually (No call trace, but still not working. The command is hanging in the terminal). I also tried to install compat-wireless drivers for the kernel. Still not working
So I don’t understand where the problem is.

(sorry for my english)

On 09/06/2012 09:16 PM, ed0c wrote:
>
> Hi,
> I’m new in the community, and i’m requesting your help with my first
> message :shame:
> So I’m macbook pro 8.1 owner, and i just installed opensuse 12.2 in my
> macbook, with an efi boot (via refind)
> The probleme i’m facing on is that i can’t have the wireless working.
> I’ve got a bcm 4331 wireless card, and as described in
> linuxwireless.org, i tried to install the driver with the command
> Code:
> --------------------
> sudo /usr/sbin/install_bcm43xx_firmware
> --------------------
> included in the package b43-firmware.
> The result is that call trace :

That does not install a driver. It loads the firmware for b43.

> Code:
> --------------------
> 301.403064] BUG: unable to handle kernel NULL pointer dereference at 00000000000000c0
> 301.403115] IP: <ffffffff8105b9dd>] drain_workqueue+0x1d/0x1c0
> 301.403153] PGD 16883c067 PUD 168397067 PMD 0
> 301.403182] Oops: 0000 #1] PREEMPT SMP
> 301.403202] CPU 0
> 301.403211] Modules linked in: af_packet xt_LOG xt_tcpudp xt_limit xt_pkttype rfcomm bnep vmsync(O) vmblock(O) nf_conntrack_ipv6 nf_defrag_ipv6 ip6t_REJECT ipt_REJECT ip6table_raw xt_NOTRACK iptable_raw iptable_filter ip6table_mangle nf_conntrack_netbios_ns nf_conntrack_broadcast nf_conntrack_ipv4 nf_defrag_ipv4 ip_tables xt_conntrack nf_conntrack ip6table_filter ip6_tables x_tables cpufreq_conservative cpufreq_userspace cpufreq_powersave snd_hda_codec_hdmi snd_hda_codec_cirrus uvcvideo videobuf2_core bcm5974 videodev btusb videobuf2_vmalloc videobuf2_memops bluetooth snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_seq snd_timer snd_seq_device snd b43(-) mac80211 acpi_cpufreq mperf coretemp crc32c_intel ghash_clmulni_intel aesni_intel cfg80211 firewire_ohci firewire_core joydev rfkill sr_mod cdrom i2c_i801 mei(C) tg3 crc_itu_t sdhci_pci sdhci ssb mmc_core pcmcia pcmcia_core sg bcma iTCO_wdt applesmc pcspkr input_polldev cryptd soundcore apple_gmux iTCO_vendor_support aes_x86
_64 snd_page_alloc battery apple_bl ac microcode autofs4 i915 drm_kms_helper drm i2c_algo_bit video button processor thermal_sys scsi_dh_hp_sw scsi_dh_alua scsi_dh_rdac scsi_dh_emc scsi_dh
> 301.403690]
> 301.403698] Pid: 2039, comm: modprobe Tainted: G C O 3.4.6-2.10-desktop #1 Apple Inc. MacBookPro8,1/Mac-94245B3640C91C81
> 301.403740] RIP: 0010:<ffffffff8105b9dd>] <ffffffff8105b9dd>] drain_workqueue+0x1d/0x1c0
> 301.403770] RSP: 0018:ffff880162923de8 EFLAGS: 00010246
> 301.403789] RAX: 0000000000250025 RBX: ffff8801632e0560 RCX: 0000000000000000
> 301.403813] RDX: 0000000000000025 RSI: 0000000000000296 RDI: ffffffff81c35900
> 301.403836] RBP: ffff880166337800 R08: ffffffff81aa59c0 R09: 0000000000000200
> 301.403860] R10: 000000000000000f R11: 0000000000000000 R12: 0000000000000000
> 301.403883] R13: 00000000006f4080 R14: 00000000006f4978 R15: 00007fffe127c8e0
> 301.403907] FS: 00007fd37d8ed700(0000) GS:ffff88016fa00000(0000) knlGS:0000000000000000
> 301.403934] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> 301.404905] CR2: 00000000000000c0 CR3: 0000000160f1e000 CR4: 00000000000407f0
> 301.405851] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> 301.406808] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> 301.407765] Process modprobe (pid: 2039, threadinfo ffff880162922000, task ffff88013a692840)
> 301.408731] Stack:
> 301.409726] ffff8801633937b8 ffff8801632e0560 ffff880166337800 0000000000000000
> 301.410881] 00000000006f4080 00000000006f4978 00007fffe127c8e0 ffffffff8105bd12
> 301.411930] ffff8801632e0770 ffff8801632e0560 ffff880166337800 ffff8801650ca070
> 301.412987] Call Trace:
> 301.414094] <ffffffff8105bd12>] destroy_workqueue+0x12/0x180
> 301.415167] <ffffffffa031419c>] ieee80211_unregister_hw+0xdc/0x110 [mac80211]
> 301.416281] <ffffffffa03c0c5a>] b43_bcma_remove+0x3a/0x60 [b43]
> 301.417375] <ffffffffa018e12d>] bcma_device_remove+0x1d/0x30 [bcma]
> 301.418391] <ffffffff81399af6>] __device_release_driver+0x76/0xe0
> 301.419441] <ffffffff8139a378>] driver_detach+0xa8/0xb0
> 301.420475] <ffffffff81399691>] bus_remove_driver+0x81/0xf0
> 301.421493] <ffffffffa03e8626>] b43_exit+0x1a/0x30 [b43]
> 301.422517] <ffffffff8109c92f>] sys_delete_module+0x16f/0x2c0
> 301.423531] <ffffffff815927bd>] system_call_fastpath+0x1a/0x1f
> 301.424544] <00007fd37d2117b7>] 0x7fd37d2117b6
> 301.425544] Code: 3d b9 a0 a4 00 e9 74 fc ff ff 0f 1f 40 00 41 57 41 56 41 55 41 54 49 89 fc 48 c7 c7 00 59 c3 81 55 53 48 83 ec 08 e8 d3 02 53 00 <41> 8b 84 24 c0 00 00 00 8d 50 01 85 c0 41 89 94 24 c0 00 00 00
> 301.427802] RIP <ffffffff8105b9dd>] drain_workqueue+0x1d/0x1c0
> 301.428898] RSP <ffff880162923de8>
> 301.430026] CR2: 00000000000000c0
> 301.486771] — end trace 4b22ffa2437fa3e1 ]—
> 302.497069] note: modprobe[2039] exited with preempt_count 1
> 302.497081] BUG: scheduling while atomic: modprobe/2039/0x10000002
> 302.497082] Modules linked in: af_packet xt_LOG xt_tcpudp xt_limit xt_pkttype rfcomm bnep vmsync(O) vmblock(O) nf_conntrack_ipv6 nf_defrag_ipv6 ip6t_REJECT ipt_REJECT ip6table_raw xt_NOTRACK iptable_raw iptable_filter ip6table_mangle nf_conntrack_netbios_ns nf_conntrack_broadcast nf_conntrack_ipv4 nf_defrag_ipv4 ip_tables xt_conntrack nf_conntrack ip6table_filter ip6_tables x_tables cpufreq_conservative cpufreq_userspace cpufreq_powersave snd_hda_codec_hdmi snd_hda_codec_cirrus uvcvideo videobuf2_core bcm5974 videodev btusb videobuf2_vmalloc videobuf2_memops bluetooth snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_seq snd_timer snd_seq_device snd b43(-) mac80211 acpi_cpufreq mperf coretemp crc32c_intel ghash_clmulni_intel aesni_intel cfg80211 firewire_ohci firewire_core joydev rfkill sr_mod cdrom i2c_i801 mei(C) tg3 crc_itu_t sdhci_pci sdhci ssb mmc_core pcmcia pcmcia_core sg bcma iTCO_wdt applesmc pcspkr input_polldev cryptd soundcore apple_gmux iTCO_vendor_support aes_x86
_64 snd_page_alloc battery apple_bl ac microcode autofs4 i915 drm_kms_helper drm i2c_algo_bit video button processor thermal_sys scsi_dh_hp_sw scsi_dh_alua scsi_dh_rdac scsi_dh_emc scsi_dh
> 302.497143] Pid: 2039, comm: modprobe Tainted: G D C O 3.4.6-2.10-desktop #1
> 302.497145] Call Trace:
> 302.497154] <ffffffff81004648>] dump_trace+0x88/0x300
> 302.497159] <ffffffff8157faae>] dump_stack+0x69/0x6f
> 302.497164] <ffffffff8158a630>] thread_return+0x383/0x453
> 302.497169] <ffffffff8106ebd5>] __cond_resched+0x25/0x40
> 302.497173] <ffffffff8158a77a>] _cond_resched+0x2a/0x40
> 302.497177] <ffffffff81125754>] unmap_page_range+0x3c4/0x780
> 302.497181] <ffffffff811264a5>] unmap_vmas+0x55/0xb0
> 302.497185] <ffffffff8112dc76>] exit_mmap+0x96/0x140
> 302.497189] <ffffffff8103d121>] mmput+0x51/0x100
> 302.497193] <ffffffff81043f2b>] exit_mm+0x10b/0x130
> 302.497196] <ffffffff810440b6>] do_exit+0x166/0x950
> 302.497199] <ffffffff8158cc89>] oops_end+0x99/0xe0
> 302.497203] <ffffffff81580d58>] no_context+0x24e/0x279
> 302.497206] <ffffffff8158ef05>] do_page_fault+0x3d5/0x490
> 302.497209] <ffffffff8158c0b5>] page_fault+0x25/0x30
> 302.497216] <ffffffff8105b9dd>] drain_workqueue+0x1d/0x1c0
> 302.497219] <ffffffff8105bd12>] destroy_workqueue+0x12/0x180
> 302.497229] <ffffffffa031419c>] ieee80211_unregister_hw+0xdc/0x110 [mac80211]
> 302.497240] <ffffffffa03c0c5a>] b43_bcma_remove+0x3a/0x60 [b43]
> 302.497249] <ffffffffa018e12d>] bcma_device_remove+0x1d/0x30 [bcma]
> 302.497253] <ffffffff81399af6>] __device_release_driver+0x76/0xe0
> 302.497257] <ffffffff8139a378>] driver_detach+0xa8/0xb0
> 302.497261] <ffffffff81399691>] bus_remove_driver+0x81/0xf0
> 302.497268] <ffffffffa03e8626>] b43_exit+0x1a/0x30 [b43]
> 302.497276] <ffffffff8109c92f>] sys_delete_module+0x16f/0x2c0
> 302.497280] <ffffffff815927bd>] system_call_fastpath+0x1a/0x1f
> 302.497285] <00007fd37d2117b7>] 0x7fd37d2117b6
>
>
> --------------------
>
>
> Is anybody can help me?
> Thanks !!!
>
> PS : I’m not new in the linux world. I tried yet to install the
> firmware manually (No call trace, but still not working. The command is
> hanging in the terminal). I also tried to install compat-wireless
> drivers for the kernel. Still not working
> So I don’t understand where the problem is.
>
> (sorry for my english)

In an attempt to help the clueless users that did not know enough to
unload/reload the driver or reboot after installing the firmware, the
install_bcm43xx_firmware script was modified to unload and reload the driver so
that the firmware was indeed loaded into the driver. Unfortunately, the current
driver generates these BUG messages if the firmware was not found. Reboot and
they should be gone. If not, please report back.

I experienced the same as the op when I tried to install the firmware on 12.2.
It didn’t work even restarting it. Running dmesg got the same error.
I tried using the advance boot option in grub2 and choose the one with recovery
and tried installing the firmware again and it worked. Now wireless i s working using using bcma module.
For reference about my network card see this link.
http://forums.opensuse.org/english/get-technical-help-here/network-internet/477271-problem-connecting-net-hp-pavillion-h8-1213-w-attansic-ethernet-controller.html
The link above has the recommendation also of loading alx stated in the last post, in 12.1 alx was installed without the problem and I was able to use the wired connection
but in 12.2 I have to use the latest compat package 3.5 and have to install it using the advance boot option in grub2 to be able to load the modules. Now wired and wireless
is working here.

Not sure, but isn’t this issue caused by install_bcm43xx_firmware script itself, which uses firmware version for older kernel, linuxwireless.org talks about it.

b43 - Linux Wireless

Original script:

firmware for b43

URL1=Index of /b43-firmware
FILE1=broadcom-wl-5.10.144.3.tar.bz2
FIRMWARE1=broadcom-wl-5.10.144.3/linux/wl_apsta.o

Changed to:

firmware for b43

URL1=Index of /b43-firmware
FILE1=broadcom-wl-5.100.138.tar.bz2
FIRMWARE1=broadcom-wl-5.100.138/linux/wl_apsta.o

For me it works fine now, though, modprobe -r b43 still crashes, but after restart everythings fine.