# [SOLVED] BCM43142 and broadcom-sta on kernel 3.18

## viniciusbo

Hello,

I've just made my first gentoo install through genkernel, and I'm having lots of trouble to make my wireless to work. When I emerge broadcom-sta, I get the following error:

```

vinicius viniciusbo # emerge --ask broadcom-sta

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild  N    ~] net-wireless/broadcom-sta-6.30.223.248-r3 

Would you like to merge these packages? [Yes/No] yes

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) net-wireless/broadcom-sta-6.30.223.248-r3::gentoo

 * hybrid-v35_64-nodebug-pcoem-6_30_223_248.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ...              [ ok ]

 * README-broadcom-sta-6.30.223.248.txt SHA256 SHA512 WHIRLPOOL size ;-) ...   [ ok ]

 * Determining the location of the kernel source code

 * Found kernel source directory:

 *     /usr/src/linux

 * Found kernel object directory:

 *     /lib/modules/3.18.9-gentoo/build

 * Found sources for kernel version:

 *     3.18.9-gentoo

 * Checking for suitable kernel configuration options...

 *   LIB80211: Please enable it. If you can't find it: enabling the driver for "Intel PRO/Wireless 2100" or "Intel PRO/Wireless 2200BG" (IPW2100 or IPW2200) should suffice.

 *   LIB80211_CRYPT_TKIP: You will need this for WPA.

 * Please check to make sure these options are set correctly.

 * Failure to do so may cause unexpected problems.

 * Once you have satisfied these options, please try merging

 * this package again.

 * ERROR: net-wireless/broadcom-sta-6.30.223.248-r3::gentoo failed (setup phase):

 *   Incorrect kernel configuration options

 * 

 * Call stack:

 *                             ebuild.sh, line  93:  Called pkg_setup

 *   broadcom-sta-6.30.223.248-r3.ebuild, line  54:  Called linux-mod_pkg_setup

 *                      linux-mod.eclass, line 569:  Called linux-info_pkg_setup

 *                     linux-info.eclass, line 914:  Called check_extra_config

 *                     linux-info.eclass, line 808:  Called die

 * The specific snippet of code:

 *         die "Incorrect kernel configuration options"

 * 

 * If you need support, post the output of `emerge --info '=net-wireless/broadcom-sta-6.30.223.248-r3::gentoo'`,

 * the complete build log and the output of `emerge -pqv '=net-wireless/broadcom-sta-6.30.223.248-r3::gentoo'`.

 * The complete build log is located at '/var/tmp/portage/net-wireless/broadcom-sta-6.30.223.248-r3/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/net-wireless/broadcom-sta-6.30.223.248-r3/temp/die.env'.

 * Working directory: '/usr/lib64/python2.7/site-packages'

 * S: '/var/tmp/portage/net-wireless/broadcom-sta-6.30.223.248-r3/work'

>>> Failed to emerge net-wireless/broadcom-sta-6.30.223.248-r3, Log file:

>>>  '/var/tmp/portage/net-wireless/broadcom-sta-6.30.223.248-r3/temp/build.log'

 * Messages for package net-wireless/broadcom-sta-6.30.223.248-r3:

 *   LIB80211: Please enable it. If you can't find it: enabling the driver for "Intel PRO/Wireless 2100" or "Intel PRO/Wireless 2200BG" (IPW2100 or IPW2200) should suffice.

 *   LIB80211_CRYPT_TKIP: You will need this for WPA.

 * Please check to make sure these options are set correctly.

 * Failure to do so may cause unexpected problems.

 * Once you have satisfied these options, please try merging

 * this package again.

 * ERROR: net-wireless/broadcom-sta-6.30.223.248-r3::gentoo failed (setup phase):

 *   Incorrect kernel configuration options

 * 

 * Call stack:

 *                             ebuild.sh, line  93:  Called pkg_setup

 *   broadcom-sta-6.30.223.248-r3.ebuild, line  54:  Called linux-mod_pkg_setup

 *                      linux-mod.eclass, line 569:  Called linux-info_pkg_setup

 *                     linux-info.eclass, line 914:  Called check_extra_config

 *                     linux-info.eclass, line 808:  Called die

 * The specific snippet of code:

 *         die "Incorrect kernel configuration options"

 * 

 * If you need support, post the output of `emerge --info '=net-wireless/broadcom-sta-6.30.223.248-r3::gentoo'`,

 * the complete build log and the output of `emerge -pqv '=net-wireless/broadcom-sta-6.30.223.248-r3::gentoo'`.

 * The complete build log is located at '/var/tmp/portage/net-wireless/broadcom-sta-6.30.223.248-r3/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/net-wireless/broadcom-sta-6.30.223.248-r3/temp/die.env'.

 * Working directory: '/usr/lib64/python2.7/site-packages'

 * S: '/var/tmp/portage/net-wireless/broadcom-sta-6.30.223.248-r3/work'

```

When I try to enable lib80211 by activating Device drivers > Network device support > Wireless Lan > Intel PRO/Wireless 2100 Network Connection in kernel, my ethernet stops working (ifconfig returns no enp14s0, only loopback).

Here is my lspci -k:

```

07:00.0 Network controller: Broadcom Corporation BCM43142 802.11b/g/n (rev 01)

   Subsystem: Foxconn International, Inc. Device e071

08:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)

   Subsystem: Sony Corporation Device 90b8

0e:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)

   Subsystem: Sony Corporation Device 90b8

   Kernel driver in use: r8169

   Kernel modules: r8169

```

Here is my kernel .config: http://pastebin.com/Ly3cLS1D

And here is my dmesg: http://pastebin.com/G1PJ4r7M

Any shots on what might be causing this issue?

Thanks.Last edited by viniciusbo on Tue Mar 31, 2015 1:49 am; edited 1 time in total

----------

## eccerr0r

OK, it's weird the Gentoo devs used the suggestion to use IPW2100 to enable lib80211, but that should work and should not make you lose your Ethernet device.  Despite you having persistent net names enabled, did it change?  If you ifconfig -a is it really gone?  Made sure you're using the right kernel and have the Ethernet driver enabled?

However in this case you should simply enable your Broadcom SoftMAC wifi driver in the kernel, this should also enable lib80211.  Is this the right driver for you wifi adapter in the kernel?  Or are you using an external DKMS?

----------

## viniciusbo

 *eccerr0r wrote:*   

> OK, it's weird the Gentoo devs used the suggestion to use IPW2100 to enable lib80211, but that should work and should not make you lose your Ethernet device.  Despite you having persistent net names enabled, did it change?  If you ifconfig -a is it really gone?  Made sure you're using the right kernel and have the Ethernet driver enabled?
> 
> However in this case you should simply enable your Broadcom SoftMAC wifi driver in the kernel, this should also enable lib80211.  Is this the right driver for you wifi adapter in the kernel?  Or are you using an external DKMS?

 

Ifconfig -a displays loopback only, after enabling IPW2100. I have tried to enable Broadcom SoftMAC, but could not find it using menuconfig search.... Even tried enabling Broadcom IEEE FullMAC, but lib80211 does not load.

Now IPW2100 is enabled and I emerged broadcom-sta. Ethernet is gone, but stills loads kernel module r8169. Lspci -k says that my network controller is using wl kernel module now. But ifconfig doesn't show wlan0.

Have tried ifconfig wlan0 up but it returns device does not exist. And /etc/init.d/net.wlan0 start says interface wlan0 does not exist.

I'm sure Im using the right kernel driver for ethernet, but not sure if some genkernel config might be conflicting with my driver...

----------

## viniciusbo

I've made some progress here.

Made a complete reinstall using default gentoo kernel (not genkernel) and got a much cleaner config. But still have no wireless interface.

I have sucessfuly emerged broadcom-sta and now my lspci -k looks like this:

```

07:00.0 Network controller: Broadcom Corporation BCM43142 802.11b/g/n (rev 01)

   Subsystem: Foxconn International, Inc. Device e071

   Kernel modules: wl

```

dmesg shows an error for wl module:

```

# dmesg | grep wl

[    5.854440] wl: version magic '3.18.9-gentoo SMP mod_unload ' should be '3.18.9-gentoo SMP preempt mod_unload '

```

I've searched thrgough the internet and found a link (https://ranjiniloveslinux.wordpress.com/2013/07/17/module-insertion-error-version-magic-2-6-35-smp-mod_unload-should-be-2-6-35-smp-preempt-mod_unload/) saying to set CONFIG_PREEMPT=y. I've done it and compiled my kernel with this config:

```

# cat .config | grep CONFIG_PREEMPT

CONFIG_PREEMPT_RCU=y

# CONFIG_PREEMPT_NONE is not set

# CONFIG_PREEMPT_VOLUNTARY is not set

CONFIG_PREEMPT=y

CONFIG_PREEMPT_COUNT=y

# CONFIG_PREEMPT_TRACER is not set

```

Full kernel .config: http://pastebin.com/XbcE38bv

but the same dmesg error is shown.

Here is the output for modprobe wl:

```

# modprobe wl

modprobe: ERROR: could not insert 'wl': Exec format error

```

I guess I'm really close to get wireless working. Any hints?

Edit:

```

$ uname -mvrpo

3.18.9-gentoo #1 SMP PREEMPT Thu Mar 26 16:57:05 BRT 2015 x86_64 Intel(R) Core(TM) i5-3337U CPU @ 1.80GHz GNU/Linux

```

----------

## charles17

 *viniciusbo wrote:*   

> I've made some progress here.
> 
> Made a complete reinstall using default gentoo kernel (not genkernel) and got a much cleaner config. But still have no wireless interface.
> 
> I have sucessfuly emerged broadcom-sta and now my lspci -k looks like this:
> ...

 For the Broadcom Corporation BCM43142, shouldn't you set some of the CONFIG_B43* options as mentioned in the wiki?  And then check dmesg | grep -i 07:00.0

----------

## eccerr0r

 *viniciusbo wrote:*   

> 
> 
> ```
> 
> # dmesg | grep wl
> ...

 

It looks like you're having problems getting versions straight.  Make sure you make modules_install after building modules.  You may want to set "extraversion" in your kernel config so you keep each build straight, each module set you build goes with a specific kernel you build.

Whenever you change kernel options, unless you're really seasoned, you should build modules along with the kernel and reinstall all.  Usually it is possible to make modules without building a new kernel, but it takes some experience to know when you don't also need a new kernel.  But when building a new kernel you should always build new modules.

----------

## viniciusbo

 *eccerr0r wrote:*   

>  *viniciusbo wrote:*   
> 
> ```
> 
> # dmesg | grep wl
> ...

 

I'm not sure what extraversion is. Does it allows me to use a different kernel for a module?

I always compile the kernel using make && make modules_install. Is this that  your saying?

Thanks for your help.

----------

## viniciusbo

 *charles17 wrote:*   

>  *viniciusbo wrote:*   I've made some progress here.
> 
> Made a complete reinstall using default gentoo kernel (not genkernel) and got a much cleaner config. But still have no wireless interface.
> 
> I have sucessfuly emerged broadcom-sta and now my lspci -k looks like this:
> ...

 

I'm giving b43 a shot. Let's see what happens.

----------

## viniciusbo

Here is what happens after config b43 in kernel and emerge b43-firmware. Here are dmesg outputs:

```

viniciusbo@vinicius-gentoo ~ $ dmesg | grep wl

[    5.889271] wl: version magic '3.18.9-gentoo SMP mod_unload ' should be '3.18.9-gentoo SMP preempt mod_unload '

viniciusbo@vinicius-gentoo ~ $ su

Senha:

vinicius-gentoo viniciusbo # modprobe -r wl

vinicius-gentoo viniciusbo # modprobe b43

modprobe: ERROR: could not insert 'b43': Unknown symbol in module, or unknown parameter (see dmesg)

vinicius-gentoo viniciusbo # dmesg | grep b43

[   44.943971] b43: Unknown symbol ssb_pmu_spuravoid_pllupdate (err 0)

[   44.943981] b43: Unknown symbol bcma_core_disable (err 0)

[   44.943984] b43: Unknown symbol ssb_device_is_enabled (err 0)

[   44.943991] b43: Unknown symbol ssb_pmu_set_ldo_paref (err 0)

[   44.943994] b43: Unknown symbol ssb_pcicore_dev_irqvecs_enable (err 0)

[   44.944003] b43: Unknown symbol ssb_bus_may_powerdown (err 0)

[   44.944020] b43: Unknown symbol ssb_set_devtypedata (err 0)

[   44.944026] b43: Unknown symbol bcma_core_pll_ctl (err 0)

[   44.944028] b43: Unknown symbol bcma_driver_unregister (err 0)

[   44.944030] b43: Unknown symbol bcma_core_enable (err 0)

[   44.944032] b43: Unknown symbol ssb_device_disable (err 0)

[   44.944036] b43: Unknown symbol ssb_pmu_set_ldo_voltage (err 0)

[   44.944037] b43: Unknown symbol bcma_core_is_enabled (err 0)

[   44.944039] b43: Unknown symbol bcma_chipco_gpio_control (err 0)

[   44.944052] b43: Unknown symbol __bcma_driver_register (err 0)

[   44.944054] b43: Unknown symbol bcma_core_set_clockmode (err 0)

[   44.944059] b43: Unknown symbol ssb_device_enable (err 0)

[   44.944066] b43: Unknown symbol bcma_core_dma_translation (err 0)

[   44.944068] b43: Unknown symbol bcma_core_pci_up (err 0)

[   44.944069] b43: Unknown symbol ssb_chipco_gpio_control (err 0)

[   44.944071] b43: Unknown symbol ssb_driver_unregister (err 0)

[   44.944081] b43: Unknown symbol __ssb_driver_register (err 0)

[   44.944085] b43: Unknown symbol ssb_bus_powerup (err 0)

[   44.944132] b43: Unknown symbol ssb_commit_settings (err 0)

[   44.944140] b43: Unknown symbol bcma_core_pci_irq_ctl (err 0)

[   44.944152] b43: Unknown symbol bcma_pmu_spuravoid_pllupdate (err 0)

[   44.944162] b43: Unknown symbol ssb_dma_translation (err 0)

[   44.944169] b43: Unknown symbol bcma_core_pci_down (err 0)

[  111.031067] b43: Unknown symbol ssb_pmu_spuravoid_pllupdate (err 0)

[  111.031076] b43: Unknown symbol bcma_core_disable (err 0)

[  111.031094] b43: Unknown symbol ssb_device_is_enabled (err 0)

[  111.031100] b43: Unknown symbol ssb_pmu_set_ldo_paref (err 0)

[  111.031103] b43: Unknown symbol ssb_pcicore_dev_irqvecs_enable (err 0)

[  111.031112] b43: Unknown symbol ssb_bus_may_powerdown (err 0)

[  111.031127] b43: Unknown symbol ssb_set_devtypedata (err 0)

[  111.031133] b43: Unknown symbol bcma_core_pll_ctl (err 0)

[  111.031135] b43: Unknown symbol bcma_driver_unregister (err 0)

[  111.031137] b43: Unknown symbol bcma_core_enable (err 0)

[  111.031139] b43: Unknown symbol ssb_device_disable (err 0)

[  111.031142] b43: Unknown symbol ssb_pmu_set_ldo_voltage (err 0)

[  111.031144] b43: Unknown symbol bcma_core_is_enabled (err 0)

[  111.031146] b43: Unknown symbol bcma_chipco_gpio_control (err 0)

[  111.031157] b43: Unknown symbol __bcma_driver_register (err 0)

[  111.031160] b43: Unknown symbol bcma_core_set_clockmode (err 0)

[  111.031164] b43: Unknown symbol ssb_device_enable (err 0)

[  111.031172] b43: Unknown symbol bcma_core_dma_translation (err 0)

[  111.031173] b43: Unknown symbol bcma_core_pci_up (err 0)

[  111.031175] b43: Unknown symbol ssb_chipco_gpio_control (err 0)

[  111.031177] b43: Unknown symbol ssb_driver_unregister (err 0)

[  111.031187] b43: Unknown symbol __ssb_driver_register (err 0)

[  111.031193] b43: Unknown symbol ssb_bus_powerup (err 0)

[  111.031202] b43: Unknown symbol ssb_commit_settings (err 0)

[  111.031206] b43: Unknown symbol bcma_core_pci_irq_ctl (err 0)

[  111.031212] b43: Unknown symbol bcma_pmu_spuravoid_pllupdate (err 0)

[  111.031217] b43: Unknown symbol ssb_dma_translation (err 0)

[  111.031221] b43: Unknown symbol bcma_core_pci_down (err 0)

[ 1838.860564] b43: Unknown symbol ssb_pmu_spuravoid_pllupdate (err 0)

[ 1838.860576] b43: Unknown symbol bcma_core_disable (err 0)

[ 1838.860580] b43: Unknown symbol ssb_device_is_enabled (err 0)

[ 1838.860609] b43: Unknown symbol ssb_pmu_set_ldo_paref (err 0)

[ 1838.860614] b43: Unknown symbol ssb_pcicore_dev_irqvecs_enable (err 0)

[ 1838.860626] b43: Unknown symbol ssb_bus_may_powerdown (err 0)

[ 1838.860648] b43: Unknown symbol ssb_set_devtypedata (err 0)

[ 1838.860656] b43: Unknown symbol bcma_core_pll_ctl (err 0)

[ 1838.860660] b43: Unknown symbol bcma_driver_unregister (err 0)

[ 1838.860665] b43: Unknown symbol bcma_core_enable (err 0)

[ 1838.860668] b43: Unknown symbol ssb_device_disable (err 0)

[ 1838.860672] b43: Unknown symbol ssb_pmu_set_ldo_voltage (err 0)

[ 1838.860676] b43: Unknown symbol bcma_core_is_enabled (err 0)

[ 1838.860679] b43: Unknown symbol bcma_chipco_gpio_control (err 0)

[ 1838.860694] b43: Unknown symbol __bcma_driver_register (err 0)

[ 1838.860699] b43: Unknown symbol bcma_core_set_clockmode (err 0)

[ 1838.860706] b43: Unknown symbol ssb_device_enable (err 0)

[ 1838.860716] b43: Unknown symbol bcma_core_dma_translation (err 0)

[ 1838.860719] b43: Unknown symbol bcma_core_pci_up (err 0)

[ 1838.860722] b43: Unknown symbol ssb_chipco_gpio_control (err 0)

[ 1838.860726] b43: Unknown symbol ssb_driver_unregister (err 0)

[ 1838.860739] b43: Unknown symbol __ssb_driver_register (err 0)

[ 1838.860745] b43: Unknown symbol ssb_bus_powerup (err 0)

[ 1838.860758] b43: Unknown symbol ssb_commit_settings (err 0)

[ 1838.860765] b43: Unknown symbol bcma_core_pci_irq_ctl (err 0)

[ 1838.860773] b43: Unknown symbol bcma_pmu_spuravoid_pllupdate (err 0)

[ 1838.860781] b43: Unknown symbol ssb_dma_translation (err 0)

[ 1838.860786] b43: Unknown symbol bcma_core_pci_down (err 0)

vinicius-gentoo viniciusbo # dmesg | grep 07:00.0

[    0.572212] pci 0000:07:00.0: [14e4:4365] type 00 class 0x028000

[    0.572256] pci 0000:07:00.0: reg 0x10: [mem 0xc0700000-0xc0707fff 64bit]

[    0.572455] pci 0000:07:00.0: supports D1 D2

[    0.572458] pci 0000:07:00.0: PME# supported from D0 D3hot D3cold

[    0.572673] pci 0000:07:00.0: System wakeup disabled by ACPI

```

I'm very unsure if I have to use b43 or broadcom-sta for BCM43142...

----------

## charles17

 *viniciusbo wrote:*   

> I'm very unsure if I have to use b43 or broadcom-sta for BCM43142...

 Sorry, it seems BCM43142 is not supported by b43.  So you'd better stay with broadcom-sta.

----------

## viniciusbo

 *charles17 wrote:*   

>  *viniciusbo wrote:*   I'm very unsure if I have to use b43 or broadcom-sta for BCM43142... Sorry, it seems BCM43142 is not supported by b43.  So you'd better stay with broadcom-sta.

 

No problem at all. Looking at the same errors was driving me crazy anyway.

----------

## eccerr0r

viniciusbo, I still think you have some kernel and module mismatch going on here.  You should not get magic or symbol mismatch errors if you modprobe a module when the device doesn't exist.  Please doublecheck your kernel matches the modules (and try depmod -a), this could cause all sorts of strange errors including the ones you're posting.  If you need help from the kernel directly (in the future), you can also enable checksums on modules and you'll know right away when the module does not match the kernel.

----------

## viniciusbo

 *eccerr0r wrote:*   

> viniciusbo, I still think you have some kernel and module mismatch going on here.  You should not get magic or symbol mismatch errors if you modprobe a module when the device doesn't exist.  Please doublecheck your kernel matches the modules (and try depmod -a), this could cause all sorts of strange errors including the ones you're posting.  If you need help from the kernel directly (in the future), you can also enable checksums on modules and you'll know right away when the module does not match the kernel.

 

I think you're right, this is some kernel mismatch. I'm just not sure if that's related to my kernel config. To emerge broadcom-sta I had to disable b43, ssb and mac80211, the only wireless driver active is IPW2100, and wireless network support CFG80211:

```

cat /usr/src/linux/.config | grep 'IPW\|B43\|SSB\|MAC80211\|CFG80211'

CONFIG_CFG80211=m

# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set

# CONFIG_CFG80211_REG_DEBUG is not set

CONFIG_CFG80211_DEFAULT_PS=y

# CONFIG_CFG80211_DEBUGFS is not set

# CONFIG_CFG80211_INTERNAL_REGDB is not set

CONFIG_CFG80211_WEXT=y

# CONFIG_MAC80211 is not set

CONFIG_IPW2100=m

# CONFIG_IPW2100_MONITOR is not set

# CONFIG_IPW2100_DEBUG is not set

# CONFIG_IPW2200 is not set

CONFIG_LIBIPW=m

CONFIG_LIBIPW_DEBUG=y

# CONFIG_IPWIRELESS is not set

CONFIG_SSB_POSSIBLE=y

# CONFIG_SSB is not set

```

I googled about broadcom-sta on kernel 3.18, and saw lots of complaints and bug tickets:

http://www.gamersonlinux.com/forum/threads/broadcom-wireless.988/

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=777280

https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1292021.html

https://bbs.archlinux.org/viewtopic.php?id=192287&p=4

https://bugs.gentoo.org/show_bug.cgi?id=523326#c24

https://bugs.launchpad.net/ubuntu/+source/broadcom-sta/+bug/1408385

https://github.com/voidlinux/void-packages/issues/994 (kernel 3.19)

There seems to be lots of bugs with broadcom-sta and kernel 3.18. But seems to be already fixed on gentoo.

Now I'm back to the old version magic problem:

```

# modprobe -r wl

# modprobe --force wl

modprobe: ERROR: could not insert 'wl': Exec format error

```

And dmesg:

```

# dmesg | grep 'wl\|07:00'

[    0.170442] pci 0000:07:00.0: [14e4:4365] type 00 class 0x028000

[    0.170478] pci 0000:07:00.0: reg 0x10: [mem 0xc0700000-0xc0707fff 64bit]

[    0.170674] pci 0000:07:00.0: supports D1 D2

[    0.170676] pci 0000:07:00.0: PME# supported from D0 D3hot D3cold

[    0.170895] pci 0000:07:00.0: System wakeup disabled by ACPI

[    6.696292] wl: version magic '3.18.9-gentoo SMP mod_unload modversions ' should be '3.18.9-gentoo SMP preempt mod_unload '

```

The first weird thing is that even with kernel config PREEMPT_NONE=y, the module seems to not recognize that preemption is disabled (even after emerge @module-rebuild).

The second weird thing here is MODULE_FORCE_LOAD=y, but I'm not able to bypass vermagic check:

```

# cat /usr/src/linux/.config | grep MODULE_

CONFIG_MODULE_FORCE_LOAD=y

CONFIG_MODULE_UNLOAD=y

CONFIG_MODULE_FORCE_UNLOAD=y

CONFIG_MODULE_SRCVERSION_ALL=y

# CONFIG_MODULE_SIG is not set

# CONFIG_MODULE_COMPRESS is not set

# CONFIG_DEBUG_SET_MODULE_RONX is not set

```

If I could only modprobe --force wl I think it would work...

----------

## eccerr0r

You should not need to --force either.  If you must use --force, you have a version mismatch problem.  I'd suggest you start over with a fresh kernel and build your modules again, and mark CONFIG_MODULE_SIG - This will give you a signature mismatch if you try to run a kernel and try to load the module from another kernel compile.  This way you'll know for sure you're mixing builds.

----------

## viniciusbo

 *eccerr0r wrote:*   

> You should not need to --force either.  If you must use --force, you have a version mismatch problem.  I'd suggest you start over with a fresh kernel and build your modules again, and mark CONFIG_MODULE_SIG - This will give you a signature mismatch if you try to run a kernel and try to load the module from another kernel compile.  This way you'll know for sure you're mixing builds.

 

But I have only one kernel now, the complete resintall I mentioned was literally. I started gentoo install from stracth. Is it possible to have this problem?

----------

## viniciusbo

I think I'm close to solve this problem. I could compile the driver with proper vermagic. Now my dmesg shows kernel taint because of proprietary driver:

```

[  217.175117] wl: module license 'Mixed/Proprietary' taints kernel.

[  217.177320] wl: Unknown symbol rfkill_unregister (err 0)

[  217.177340] wl: Unknown symbol rfkill_destroy (err 0)

[  217.177359] wl: Unknown symbol rfkill_init_sw_state (err 0)

[  217.177380] wl: Unknown symbol rfkill_set_hw_state (err 0)

[  217.177384] wl: Unknown symbol rfkill_alloc (err 0)

[  217.177399] wl: Unknown symbol rfkill_register (err 0)

```

----------

## viniciusbo

Made a little step (hope I'm not heading to void).

Could get wl module to load. Now dmesg returns a creepy bug message:

```

[    6.519470] BUG: unable to handle kernel paging request at 0000000100000001

[    6.520590] IP: [<ffffffffa061d59f>] wl_pci_probe+0x517/0x7cd [wl]

[    6.521678] PGD 0 

[    6.522733] Oops: 0002 [#1] PREEMPT SMP 

[    6.523798] Modules linked in: wl(PO+) rfkill x86_pkg_temp_thermal

[    6.524889] CPU: 1 PID: 1568 Comm: systemd-udevd Tainted: P           O   3.18.9-gentoo #1

[    6.525987] Hardware name: Sony Corporation SVF15213CBB/VAIO, BIOS R0200DA 03/26/2013

[    6.527114] task: ffff880245507500 ti: ffff8802447b4000 task.ti: ffff8802447b4000

[    6.528236] RIP: 0010:[<ffffffffa061d59f>]  [<ffffffffa061d59f>] wl_pci_probe+0x517/0x7cd [wl]

[    6.529409] RSP: 0018:ffff8802447b7b18  EFLAGS: 00010292

[    6.530613] RAX: 0000000100000001 RBX: ffff880245131000 RCX: 00000000fddc840c

[    6.531767] RDX: ffff88024470b400 RSI: 0000000000000000 RDI: ffffffffa04a7b5a

[    6.532918] RBP: ffff8802447b7bc8 R08: 0000000000014800 R09: ffff8802447b7734

[    6.534056] R10: 00000000e6000000 R11: 0000000000000000 R12: ffff88024459b800

[    6.535178] R13: 0000000000000000 R14: ffff88024470bc00 R15: 0000000000004365

[    6.536293] FS:  00007f6b95afc7c0(0000) GS:ffff88024f240000(0000) knlGS:0000000000000000

[    6.537429] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033

[    6.538624] CR2: 0000000100000001 CR3: 0000000244493000 CR4: 00000000001407e0

[    6.539761] Stack:

[    6.540889]  ffffc900056a8000 ffff880200000001 ffff880245131000 ffff8802447b7b74

[    6.542053]  ffff8802447b7b58 0000000000000000 00000000c0700000 00000010436514e4

[    6.543214]  ffff8802446de000 ffff88024477e000 0000000000000001 00000000ce035801

[    6.544364] Call Trace:

[    6.545497]  [<ffffffff81070b35>] ? preempt_count_add+0x55/0xb0

[    6.546644]  [<ffffffff813ef29f>] local_pci_probe+0x1f/0x60

[    6.547827]  [<ffffffff813f0549>] pci_device_probe+0xc9/0x120

[    6.548966]  [<ffffffff81552faf>] really_probe+0x5f/0x220

[    6.550086]  [<ffffffff81553259>] __driver_attach+0x99/0xa0

[    6.551205]  [<ffffffff815531c0>] ? __device_attach+0x50/0x50

[    6.552333]  [<ffffffff815512b3>] bus_for_each_dev+0x63/0xa0

[    6.553468]  [<ffffffff81552b69>] driver_attach+0x19/0x20

[    6.554596]  [<ffffffff815527e0>] bus_add_driver+0x170/0x220

[    6.555742]  [<ffffffffa061d000>] ? 0xffffffffa061d000

[    6.556933]  [<ffffffff81553a8f>] driver_register+0x5f/0xf0

[    6.558066]  [<ffffffff813eee76>] __pci_register_driver+0x46/0x50

[    6.559193]  [<ffffffffa061d086>] init_module+0x86/0x88 [wl]

[    6.560315]  [<ffffffff810002c4>] do_one_initcall+0x84/0x1c0

[    6.561452]  [<ffffffff81144e94>] ? __vunmap+0x94/0x100

[    6.562598]  [<ffffffff81144f6e>] ? vfree+0x2e/0x80

[    6.563728]  [<ffffffff810bae91>] load_module+0x1b91/0x21c0

[    6.564847]  [<ffffffff810b7ad0>] ? m_show+0x1b0/0x1b0

[    6.565974]  [<ffffffff810bb5f6>] SyS_finit_module+0x76/0x80

[    6.567106]  [<ffffffff818aef12>] system_call_fastpath+0x12/0x17

[    6.568243] Code: 7b 4a a0 e8 3e bd a3 ff 49 8b 56 08 49 8b 84 24 e8 02 00 00 44 89 ee 48 c7 c7 5a 7b 4a a0 c7 05 94 d2 fd ff 01 00 00 00 8b 4a 08 <89> 08 66 8b 52 0c 66 89 50 04 ba 01 00 00 00 31 c0 e8 2d 40 28 

[    6.570983] RIP  [<ffffffffa061d59f>] wl_pci_probe+0x517/0x7cd [wl]

[    6.572308]  RSP <ffff8802447b7b18>

[    6.573579] CR2: 0000000100000001

[    6.574842] ---[ end trace 0e777454b461e574 ]---

```

I think the only way to make this driver to work is kernel downgrade. What do you think?

----------

## viniciusbo

Downgrading to kernel 3.17.8-r1 makes BCM43142 to work out-of-the-box with broadcom-sta.

Just had to set CONFIG_CFG80211_WEXT=y.

Thanks everyone!

----------

## Atmmac

I got this working on 3.18.9 I dont know that downgrading was totally necessary. Glad you got it working though!

----------

