PDA

View Full Version : F17 Broadcom 14e4:4365 Dell Wifi 1704 Drivers



jawadjee
5th September 2012, 10:45 AM
My Hardware


I bought Dell Inspiron 15R (5520). It comes with Dell Wireless 1704. The chipset is Broadcom 4365. Following is the output for lscpi -vnn

02:00.0 Network controller [0280]: Broadcom Corporation Device [14e4:4365] (rev 01)
Subsystem: Dell Device [1028:0016]
Flags: bus master, fast devsel, latency 0, IRQ 11
Memory at c0500000 (64-bit, non-prefetchable) [size=32K]
Capabilities: [40] Power Management version 3
Capabilities: [58] Vendor Specific Information: Len=78 <?>
Capabilities: [48] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [d0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [13c] Virtual Channel
Capabilities: [160] Device Serial Number 00-00-85-ff-ff-b8-c0-18
Capabilities: [16c] Power Budgeting <?>

I am using fedora 17 with b43-openfwwf package. It is not detecting the card.
I also tried rpmfusion Broadcom's proprietry Drivers version 5.100.82. They aren't working.
Some internet research tells me that I need Version 6.

Solution


1) Download the file from the link (http://askubuntu.com/questions/178352/broadcom-4365-wireless-driver-on-12-04-with-3-4-3-5-kernel)

2) sudo yum install dpkg

3) mkdir BCM43142

4) dpkg-deb -x Downloads/wireless-bcm43142-dkms-6.20.55.19_amd64.deb BCM43142

5) cd BCM43142/usr/src/wireless-bcm43142-oneiric-dkms-6.20.55.19~bdcom0602.0400.1000.0400/src/wl/sys

6) sudo yum install kernel-devel kernel-headers

7) vi wl_linux.c

8)
around line 46, remove the line
#include <asm/system.h>

9) save the file (:wq)

10) cd ../../..

Install development tools like gcc (yum install gcc) if not already installed.
11) make

Things should work, and you'll have a file called "wl.ko" in the current directory.

12) sudo yum remove broadcom-wl

13) sudo mkdir -p /lib/modules/$(uname -r)/extra/wl

14) sudo cp wl.ko /lib/modules/$(uname -r)/extra/wl

15) sudo depmod -a

16) sudo modprobe wl

Voila! My wireless is working.

lshw -C network output:

================================================== ========
*-network
description: Wireless interface
product: Broadcom Corporation
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:02:00.0
logical name: eth0
version: 01
serial: c0:18:85:b8:2d:1d
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=wl0 driverversion=6.20.55.19 (r300276) ip=192.168.1.110 latency=0 multicast=yes wireless=IEEE 802.11abg
resources: irq:17 memory:c0500000-c0507fff
================================================== =========

Note: Wireless N is not supported in this driver version.

Enjoy!

evilbastard
23rd September 2012, 08:30 PM
OK So I followed your instructions and this is my output of the lshw -C network command. I get no logical name.

*-network
description: Network controller
product: Broadcom Corporation
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: 01
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: driver=wl latency=0
resources: irq:16 memory:d0500000-d0507fff

stevea
23rd September 2012, 09:55 PM
Use 'lspci -nnk' please. Your vnn leaves out important info and includes useless info.

Evilb'
use lsmod to determine if the wl driver is loaded.
You can unload/reload the driver (modprobe -r wl; modprobe wl) and examine the output of 'dmesg' output to see if it claimed the device or not or go an error.

evilbastard
23rd September 2012, 10:07 PM
sudo modprobe -r wl returns:

FATAL: Module wl is in use.

lspci -nnk:

00:00.0 Host bridge [0600]: Intel Corporation Ivy Bridge DRAM Controller [8086:0154] (rev 09)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: agpgart-intel
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:0166] (rev 09)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: i915
00:14.0 USB Controller [0c03]: Intel Corporation Panther Point USB xHCI Host Controller [8086:1e31] (rev 04)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: xhci_hcd
00:16.0 Communication controller [0780]: Intel Corporation Panther Point MEI Controller #1 [8086:1e3a] (rev 04)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: mei
00:1a.0 USB Controller [0c03]: Intel Corporation Panther Point USB Enhanced Host Controller #2 [8086:1e2d] (rev 04)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: ehci_hcd
00:1b.0 Audio device [0403]: Intel Corporation Panther Point High Definition Audio Controller [8086:1e20] (rev 04)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: snd_hda_intel
00:1c.0 PCI bridge [0604]: Intel Corporation Panther Point PCI Express Root Port 1 [8086:1e10] (rev c4)
Kernel driver in use: pcieport
00:1c.4 PCI bridge [0604]: Intel Corporation Panther Point PCI Express Root Port 5 [8086:1e18] (rev c4)
Kernel driver in use: pcieport
00:1d.0 USB Controller [0c03]: Intel Corporation Panther Point USB Enhanced Host Controller #1 [8086:1e26] (rev 04)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: ehci_hcd
00:1f.0 ISA bridge [0601]: Intel Corporation Panther Point LPC Controller [8086:1e57] (rev 04)
Subsystem: Dell Device [1028:0564]
00:1f.2 SATA controller [0106]: Intel Corporation Panther Point 6 port SATA AHCI Controller [8086:1e03] (rev 04)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: ahci
00:1f.3 SMBus [0c05]: Intel Corporation Panther Point SMBus Controller [8086:1e22] (rev 04)
Subsystem: Dell Device [1028:0564]
01:00.0 Network controller [0280]: Broadcom Corporation Device [14e4:4365] (rev 01)
Subsystem: Dell Device [1028:0016]
Kernel driver in use: wl
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 05)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: r8169

stevea
23rd September 2012, 10:30 PM
01:00.0 Network controller [0280]: Broadcom Corporation Device [14e4:4365] (rev 01)
Subsystem: Dell Device [1028:0016]
Kernel driver in use: wl

The wl driver did claim the device. You should see it with
ip link.

You can configure it with NetworkManager or manually or ...
May require a restart of NM to see it.

evilbastard
23rd September 2012, 10:37 PM
I think my problem is that it requires you to press fn-f2 to turn the device on. This works in windows, and there is no option to turn it on in the system bios. Pressing FN-F2 under Fedora doesn't work.

ip link returns:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: p4p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 5c:f9:dd:44:ff:73 brd ff:ff:ff:ff:ff:ff

After restarting network manager dmesg now returns:

[ 133.571924] usb 2-1.5: Product: BCM43142A0
[ 133.571927] usb 2-1.5: Manufacturer: Broadcom Corp
[ 133.571930] usb 2-1.5: SerialNumber: C01885C35106
[ 2860.512299] usb 2-1.5: USB disconnect, device number 5
[ 2937.644986] usb 2-1.5: new full-speed USB device number 6 using ehci_hcd
[ 2937.732970] usb 2-1.5: New USB device found, idVendor=0a5c, idProduct=21d7
[ 2937.732976] usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2937.732980] usb 2-1.5: Product: BCM43142A0
[ 2937.732983] usb 2-1.5: Manufacturer: Broadcom Corp
[ 2937.732986] usb 2-1.5: SerialNumber: C01885C35106
[ 2988.275485] Loading kernel module for a network device with CAP_SYS_MODULE (deprecated). Use CAP_NET_ADMIN and alias netdev-wl instead.
[ 2988.289770] Loading kernel module for a network device with CAP_SYS_MODULE (deprecated). Use CAP_NET_ADMIN and alias netdev-wl instead.
[ 3403.805588] usb 2-1.5: USB disconnect, device number 6

jawadjee
24th September 2012, 10:09 AM
Did you remove all b43 and broadcom sta driver older packages. If not following is the list of packages you should remove.

1) b43-openfwwf
2) broadcom-wl (This package is installed through rpmfusion repo)

evilbastard
24th September 2012, 10:57 AM
>>Did you remove all b43 and broadcom sta driver older packages. If not following is the list of packages you >>should remove.

>>1) b43-openfwwf
>>2) broadcom-wl (This package is installed through rpmfusion repo)

OK Did that, the b43-openfwwf was removed, and broadcom-wl was not installed so not removed. Still not seeing the card available in network manager.

jawadjee
24th September 2012, 11:03 AM
Restart the computer.

Run the following commands:
cd BCM43142/usr/src/wireless-bcm43142-oneiric-dkms-6.20.55.19~bdcom0602.0400.1000.0400
make clean

Then redo from step 5.

evilbastard
24th September 2012, 11:30 AM
OK did that, but when I do the modprobe wl, the screen goes black with a bunch of registry text and something about wl_ . Looks like it didn't like the modprobe wl.

jawadjee
26th September 2012, 03:17 PM
Just for my confirmation. Are you doing the step 12 to step 16 as root user.

Please also paste the output of lsmod and lspci -nnk before doing the above steps.

evilbastard
26th September 2012, 11:32 PM
Just for my confirmation. Are you doing the step 12 to step 16 as root user.

Please also paste the output of lsmod and lspci -nnk before doing the above steps.

I did run all the steps as root

[root@bakapc log]# lsmod
Module Size Used by
vfat 17461 0
fat 60397 1 vfat
usb_storage 56353 0
ndiswrapper 278456 0
nls_utf8 12557 1
fuse 77952 3
bnep 19584 2
bluetooth 298929 7 bnep
rfkill 21384 3 bluetooth
ip6t_REJECT 12939 2
nf_conntrack_ipv4 14744 2
nf_defrag_ipv4 12673 1 nf_conntrack_ipv4
nf_conntrack_ipv6 14341 3
nf_defrag_ipv6 18177 1 nf_conntrack_ipv6
xt_state 12578 5
nf_conntrack 83563 3 xt_state,nf_conntrack_ipv4,nf_conntrack_ipv6
ip6table_filter 12815 1
ip6_tables 26942 1 ip6table_filter
snd_hda_codec_hdmi 36103 1
snd_hda_codec_idt 70209 1
snd_hda_intel 37587 2
snd_hda_codec 126728 3 snd_hda_codec_hdmi,snd_hda_codec_idt,snd_hda_intel
snd_hwdep 17650 1 snd_hda_codec
snd_pcm 97292 3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel
snd_page_alloc 18101 2 snd_pcm,snd_hda_intel
snd_timer 28690 1 snd_pcm
snd 79242 11 snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_hda_cod ec_idt,snd_pcm,snd_hda_codec,snd_hda_intel
soundcore 14491 1 snd
uvcvideo 76826 0
videobuf2_vmalloc 12967 1 uvcvideo
videobuf2_memops 13354 1 videobuf2_vmalloc
videobuf2_core 31992 1 uvcvideo
videodev 116207 2 uvcvideo,videobuf2_core
coretemp 13480 0
r8169 61608 0
mei 75591 0
lpc_ich 17061 0
kvm_intel 132543 0
media 20444 2 uvcvideo,videodev
mfd_core 13145 1 lpc_ich
mii 13527 1 r8169
i2c_i801 17779 0
dell_wmi 12681 0
sparse_keymap 13526 1 dell_wmi
kvm 412517 1 kvm_intel
microcode 23435 0
dell_laptop 17369 0
dcdbas 14828 1 dell_laptop
uinput 17673 0
binfmt_misc 17463 1
crc32c_intel 12901 0
ghash_clmulni_intel 13180 0
wmi 18697 1 dell_wmi
i915 510726 3
video 18936 1 i915
i2c_algo_bit 13257 1 i915
drm_kms_helper 40253 1 i915
drm 259168 4 i915,drm_kms_helper
i2c_core 38177 6 drm,i915,i2c_i801,drm_kms_helper,i2c_algo_bit,vide odev

[root@bakapc log]# lspci -nnk
00:00.0 Host bridge [0600]: Intel Corporation Ivy Bridge DRAM Controller [8086:0154] (rev 09)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: agpgart-intel
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:0166] (rev 09)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: i915
00:14.0 USB Controller [0c03]: Intel Corporation Panther Point USB xHCI Host Controller [8086:1e31] (rev 04)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: xhci_hcd
00:16.0 Communication controller [0780]: Intel Corporation Panther Point MEI Controller #1 [8086:1e3a] (rev 04)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: mei
00:1a.0 USB Controller [0c03]: Intel Corporation Panther Point USB Enhanced Host Controller #2 [8086:1e2d] (rev 04)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: ehci_hcd
00:1b.0 Audio device [0403]: Intel Corporation Panther Point High Definition Audio Controller [8086:1e20] (rev 04)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: snd_hda_intel
00:1c.0 PCI bridge [0604]: Intel Corporation Panther Point PCI Express Root Port 1 [8086:1e10] (rev c4)
Kernel driver in use: pcieport
00:1c.4 PCI bridge [0604]: Intel Corporation Panther Point PCI Express Root Port 5 [8086:1e18] (rev c4)
Kernel driver in use: pcieport
00:1d.0 USB Controller [0c03]: Intel Corporation Panther Point USB Enhanced Host Controller #1 [8086:1e26] (rev 04)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: ehci_hcd
00:1f.0 ISA bridge [0601]: Intel Corporation Panther Point LPC Controller [8086:1e57] (rev 04)
Subsystem: Dell Device [1028:0564]
00:1f.2 SATA controller [0106]: Intel Corporation Panther Point 6 port SATA AHCI Controller [8086:1e03] (rev 04)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: ahci
00:1f.3 SMBus [0c05]: Intel Corporation Panther Point SMBus Controller [8086:1e22] (rev 04)
Subsystem: Dell Device [1028:0564]
01:00.0 Network controller [0280]: Broadcom Corporation Device [14e4:4365] (rev 01)
Subsystem: Dell Device [1028:0016]
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 05)
Subsystem: Dell Device [1028:0564]
Kernel driver in use: r8169
[root@bakapc log]#

jawadjee
28th September 2012, 09:19 AM
I dont see any problem here. I have a bad experience with ndiswrapper. Can you try removing ndiswrapper and then try.
Can you confirm me your kernel version?
Are you trying it on Fedora 17?

evilbastard
28th September 2012, 03:33 PM
[/COLOR]OK So I wasn't able to get modprobe wl to work, but insmod wl gave me some results. Now I can see the device in Network Manager, IWCONFIG shows it as eth0

iwconfig eth0
eth0 IEEE 802.11abg ESSID:off/any
Mode:Managed Access Point: Not-Associated
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:off

ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: p4p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 5c:f9:dd:44:ff:73 brd ff:ff:ff:ff:ff:ff
4: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DORMANT mode DORMANT qlen 1000
link/ether c0:18:85:c3:51:05 brd ff:ff:ff:ff:ff:ff
[mulder@bakapc wireless-bcm43142-oneiric-dkms-6.20.55.19~bdcom0602.0400.1000.0400]$


Now how can I get it to connect to my wireless network? I don't have a wireless network manager option.

Edit - I know can turn the card on and off with the F2-FN keys. I think I am almost there.

Finally have the card connected to my network. Much thanks to all the help provided here!

evilbastard
9th February 2013, 01:30 AM
OK So I updated to Fedora 18, and am trying to get the card working with that kernel. 3.6.10-4.fc18.x86_64. I make sure to do a make clean before the make. Then when I get to the modprobe wl it hangs the system. And upon reboot it still hangs. Only way out is to use an older kernel and remove the wl.ko file from the /lib/modules/(uname -r)/extra/wl

insmod wl.ko does the same thing.

Any ideas on why it would hang?

Edit:

Got it working Initially I was using the package wireless-bcm43142-dkms-6.20.55.19_amd64.deb to build from source. I found a newer one named wireless-bcm43142-dkms-6.20.55.19-1_amd64.deb and when I compiled and installed from that, it worked.

PabloTwo
11th February 2013, 03:32 PM
Got it working Initially I was using the package wireless-bcm43142-dkms-6.20.55.19_amd64.deb to build from source. I found a newer one named wireless-bcm43142-dkms-6.20.55.19-1_amd64.deb and when I compiled and installed from that, it worked.
Too bad you weren't kind enough to post a link to the updated version that works with F18 when following the guide. I was able to track down one download source for the updated version of the .deb file.

wget http://jas.gemnetworks.com/debian/pool/main/w/wireless-bcm43142/wireless-bcm43142-dkms_6.20.55.19-1_amd64.deb
With the updated deb package, the directory structure to "cd" into the sub-directory where you edit the wl_linux.c file in the guide has changed.
Using the updated package linked to above, it should be:

cd BCM43142/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys

evilbastard
20th February 2013, 11:16 AM
Weill it looks like not only the new source code provide Wireless N access, it also fixed my bluetooth problem, which now works.

sczlittle
21st February 2013, 12:28 AM
Thanks Guys....

I got My suse 12.2 working on 17" Dell laptop with the broadcom 4365.

Adjusted some things..

My Dell 17" with Broadcom 4365 problems.......

Followed this link>>F17 Broadcom 14e4:4365 Dell Wifi 1704 Drivers - FedoraForum.org

Used the newest driver and adjusted using the following.


1) Download the file from the link

2) Yast install dpkg

3) mkdir BCM43142

4) dpkg-deb -x wireless-bcm43142-dkms_6.20.55.19-1_amd64.deb BCM43142

5) cd BCM43142/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys

6) YAST install kernel-devel kernel-headers


7) vi wl_linux.c

8)>> I USED KWRITE<<
around line 46, remove the line
#include <asm/system.h>

9) save the file (:wq)

10) cd ../../..

Install development tools like gcc (Yast install gcc) if not already installed.
11) make

Things should work, and you'll have a file called "wl.ko" in the ov directory.

12) sudo yum remove broadcom-wl

13) sudo mkdir -p /lib/modules/$(uname -r)/extra/wl

14) sudo cp wl.ko /lib/modules/$(uname -r)/extra/wl

15) sudo depmod -a

16) sudo modprobe wl
Works perfect..
I have not tested blue tooth yet...


Thanks again..:rolleyes:

AlphaWolf
3rd March 2013, 09:18 AM
FYI, this driver breaks with F18's update to kernel 3.8.x. There are a few changes needed to wl_cfg80211.c.

I'm not a C programmer (but I am a programmer), but I managed to figure out what needed to be done by reading the compiler errors. It worked, but ABRT was popping up errors from the kernel. I refined my changes based on the code I found here (https://gist.github.com/relu/5019430) and the errors seem to have gone away.

If someone has a place to upload the source I will do so. It seems kinda silly that people have to download the .deb and then modify it... I'm thinking I could just zip the necessary files only, and save people a lot of extra work. The tar.gz is 1.3M so I can't upload it here. I can, however, paste a link to the modified wl_cfg80211.c, so I will do so :-)

http://pastebin.com/phkiZLXk

Just to reiterate -- I am NOT a C programmer! You use this updated version at your own risk! It would be a good idea for someone else to look over my changes and make sure I didn't break anything. Just look for the lines that start with:


#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)

There previously were no if/else blocks for 3.8, so all such blocks contain my changes.

:cool:

evilbastard
3rd March 2013, 04:27 PM
Well I fell into the trap of the udpated kernel and non working wireless. I tried using the modified file from the link you provided, but when I compile I get

KBUILD_NOPEDANTIC=1 make -C /lib/modules/3.8.1-201.fc18.x86_64/build M=/home/mulder/Downloads/BCM43142/usr/src/wireless-bcm43142-6.20.55.19
make[1]: Entering directory `/usr/src/kernels/3.8.1-201.fc18.x86_64'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
CC [M] /home/mulder/Downloads/BCM43142/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.o
/home/mulder/Downloads/BCM43142/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c: In function ‘wl_cfg80211_join_ibss’:
/home/mulder/Downloads/BCM43142/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c:714:26: error: ‘struct cfg80211_ibss_params’ has no member named ‘channel’
/home/mulder/Downloads/BCM43142/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c: At top level:
/home/mulder/Downloads/BCM43142/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c:1575:2: warning: initialization from incompatible pointer type [enabled by default]
/home/mulder/Downloads/BCM43142/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c:1575:2: warning: (near initialization for ‘wl_cfg80211_ops.set_tx_power’) [enabled by default]
/home/mulder/Downloads/BCM43142/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c:1576:2: warning: initialization from incompatible pointer type [enabled by default]
/home/mulder/Downloads/BCM43142/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c:1576:2: warning: (near initialization for ‘wl_cfg80211_ops.get_tx_power’) [enabled by default]
/home/mulder/Downloads/BCM43142/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c: In function ‘wl_update_bss_info’:
/home/mulder/Downloads/BCM43142/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c:2001:11: error: ‘struct cfg80211_bss’ has no member named ‘information_elements’
/home/mulder/Downloads/BCM43142/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c:2002:15: error: ‘struct cfg80211_bss’ has no member named ‘len_information_elements’
make[2]: *** [/home/mulder/Downloads/BCM43142/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.o] Error 1
make[1]: *** [_module_/home/mulder/Downloads/BCM43142/usr/src/wireless-bcm43142-6.20.55.19] Error 2
make[1]: Leaving directory `/usr/src/kernels/3.8.1-201.fc18.x86_64'
make: *** [all] Error 2

Guess I will go back to the old kernel until I can find a fix.

AlphaWolf
3rd March 2013, 09:25 PM
Hi Evil,

Did you use the file I pasted in pastebin? Those errors are exactly the errors my update fixed. In case it wasn't clear, you need to replace all the code in the file @

BCM43142/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c

With the code I pasted here:

http://pastebin.com/raw.php?i=phkiZLXk

I gave a link to the "raw" version this time just to save you a step

Just open wl_cfg80211.c in your favorite text editor, delete all the contents, and paste in the new code. Let me know if that still doesn't work for you.

evilbastard
4th March 2013, 12:22 AM
I'm pretty sure I used the code you linked too. But will try with the link you just posted.

Guess I didn't have the proper code. Used the link above and as you can see my wireless is now working with the newer kernel. Thanks :)

tmarikle
6th March 2013, 03:02 AM
FYI, this driver breaks with F18's update to kernel 3.8.x. There are a few changes needed to wl_cfg80211.c.

I'm not a C programmer (but I am a programmer), but I managed to figure out what needed to be done by reading the compiler errors. It worked, but ABRT was popping up errors from the kernel. I refined my changes based on the code I found here (https://gist.github.com/relu/5019430) and the errors seem to have gone away.

If someone has a place to upload the source I will do so. It seems kinda silly that people have to download the .deb and then modify it... I'm thinking I could just zip the necessary files only, and save people a lot of extra work. The tar.gz is 1.3M so I can't upload it here. I can, however, paste a link to the modified wl_cfg80211.c, so I will do so :-)

http://pastebin.com/phkiZLXk

Just to reiterate -- I am NOT a C programmer! You use this updated version at your own risk! It would be a good idea for someone else to look over my changes and make sure I didn't break anything. Just look for the lines that start with:


#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)

There previously were no if/else blocks for 3.8, so all such blocks contain my changes.

:cool:

Nice job; this worked for me! Thanks! :cool:

kernelkun
27th May 2013, 09:51 PM
Hi folks,

I was following the thread and it's imposible to me to make work the wireless.

I have a Lestrovo 17 with a BCM43142 and Fedora 18. I tried to follow the steps but when I do the "make" step, terminal throw me a lot of errors. The only way to pass is making "make API=WEXT", I saw that in a script from other forum. I see now wifi networks but I can't connect.

The errors when I run the make steps ("Descargas" means "Downloads" in spanish):

[travis@localhost wireless-bcm43142-6.20.55.19]$ make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/3.9.4-200.fc18.x86_64/build M=/home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19
make[1]: Entering directory `/usr/src/kernels/3.9.4-200.fc18.x86_64'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
LD /home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/built-in.o
CC [M] /home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/src/shared/linux_osl.o
CC [M] /home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_linux.o
CC [M] /home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_iw.o
CC [M] /home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.o
/home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c:1579:2: warning: initialization from incompatible pointer type [enabled by default]
/home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c:1579:2: warning: (near initialization for ‘wl_cfg80211_ops.set_tx_power’) [enabled by default]
/home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c:1580:2: warning: initialization from incompatible pointer type [enabled by default]
/home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c:1580:2: warning: (near initialization for ‘wl_cfg80211_ops.get_tx_power’) [enabled by default]
/home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c: In function ‘wl_update_bss_info’:
/home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c:2023:3: warning: passing argument 1 of ‘cfg80211_put_bss’ from incompatible pointer type [enabled by default]
In file included from /home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c:33:0:
include/net/cfg80211.h:3302:6: note: expected ‘struct wiphy *’ but argument is of type ‘struct cfg80211_bss *’
/home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c:2023:3: error: too few arguments to function ‘cfg80211_put_bss’
In file included from /home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c:33:0:
include/net/cfg80211.h:3302:6: note: declared here
/home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c:2026:2: warning: passing argument 1 of ‘bcm_parse_tlvs’ discards ‘const’ qualifier from pointer target type [enabled by default]
In file included from /home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.c:36:0:
/home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/src/include/bcmutils.h:217:19: note: expected ‘void *’ but argument is of type ‘const u8 *’
make[2]: *** [/home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19/src/wl/sys/wl_cfg80211.o] Error 1
make[1]: *** [_module_/home/travis/Descargas/43142-1/usr/src/wireless-bcm43142-6.20.55.19] Error 2
make[1]: Leaving directory `/usr/src/kernels/3.9.4-200.fc18.x86_64'
make: *** [all] Error 2

I'm using the the file AlphaWolf pasted in pastebin WTB.

Thanks for your help.

SnoopyLane
15th July 2013, 05:39 AM
I'm having similar problems. Have you found a solution for this?


Hi folks,

I was following the thread and it's imposible to me to make work the wireless.

I have a Lestrovo 17 with a BCM43142 and Fedora 18. I tried to follow the steps but when I do the "make" step, terminal throw me a lot of errors. The only way to pass is making "make API=WEXT", I saw that in a script from other forum. I see now wifi networks but I can't connect.

<snip -- make output omitted from quote>

Thanks for your help.

evilbastard
16th August 2013, 05:08 PM
Did some upgrades to get my built in SD card working, which now it does (Installed kmod-staging) but now the Wireless stopped working. When I compile with the updated wl_cfg80211.c as stated above I get the following error(s).

KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory `/usr/src/kernels/3.10.6-100.fc18.x86_64'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
CC [M] /home/mulder/BCM/usr/src/bcmwl-6.20.155.1+bdcom/src/wl/sys/wl_linux.o
/home/mulder/BCM/usr/src/bcmwl-6.20.155.1+bdcom/src/wl/sys/wl_linux.c:336:2: error: unknown field ‘ndo_set_multicast_list’ specified in initializer
/home/mulder/BCM/usr/src/bcmwl-6.20.155.1+bdcom/src/wl/sys/wl_linux.c:336:2: warning: initialization from incompatible pointer type [enabled by default]
/home/mulder/BCM/usr/src/bcmwl-6.20.155.1+bdcom/src/wl/sys/wl_linux.c:336:2: warning: (near initialization for ‘wl_netdev_ops.ndo_validate_addr’) [enabled by default]
/home/mulder/BCM/usr/src/bcmwl-6.20.155.1+bdcom/src/wl/sys/wl_linux.c: In function ‘wl_tkip_printstats’:
/home/mulder/BCM/usr/src/bcmwl-6.20.155.1+bdcom/src/wl/sys/wl_linux.c:2691:7: warning: passing argument 1 of ‘wl->tkipmodops->print_stats’ from incompatible pointer type [enabled by default]
/home/mulder/BCM/usr/src/bcmwl-6.20.155.1+bdcom/src/wl/sys/wl_linux.c:2691:7: note: expected ‘struct seq_file *’ but argument is of type ‘char *’
/home/mulder/BCM/usr/src/bcmwl-6.20.155.1+bdcom/src/wl/sys/wl_linux.c:2694:4: warning: passing argument 1 of ‘wl->tkipmodops->print_stats’ from incompatible pointer type [enabled by default]
/home/mulder/BCM/usr/src/bcmwl-6.20.155.1+bdcom/src/wl/sys/wl_linux.c:2694:4: note: expected ‘struct seq_file *’ but argument is of type ‘char *’
/home/mulder/BCM/usr/src/bcmwl-6.20.155.1+bdcom/src/wl/sys/wl_linux.c: In function ‘wl_reg_proc_entry’:
/home/mulder/BCM/usr/src/bcmwl-6.20.155.1+bdcom/src/wl/sys/wl_linux.c:2904:2: error: implicit declaration of function ‘create_proc_entry’ [-Werror=implicit-function-declaration]
/home/mulder/BCM/usr/src/bcmwl-6.20.155.1+bdcom/src/wl/sys/wl_linux.c:2904:22: warning: assignment makes pointer from integer without a cast [enabled by default]
/home/mulder/BCM/usr/src/bcmwl-6.20.155.1+bdcom/src/wl/sys/wl_linux.c:2909:16: error: dereferencing pointer to incomplete type
/home/mulder/BCM/usr/src/bcmwl-6.20.155.1+bdcom/src/wl/sys/wl_linux.c:2910:16: error: dereferencing pointer to incomplete type
/home/mulder/BCM/usr/src/bcmwl-6.20.155.1+bdcom/src/wl/sys/wl_linux.c:2911:16: error: dereferencing pointer to incomplete type
cc1: some warnings being treated as errors
make[2]: *** [/home/mulder/BCM/usr/src/bcmwl-6.20.155.1+bdcom/src/wl/sys/wl_linux.o] Error 1
make[1]: *** [_module_/home/mulder/BCM/usr/src/bcmwl-6.20.155.1+bdcom] Error 2
make[1]: Leaving directory `/usr/src/kernels/3.10.6-100.fc18.x86_64'
make: *** [all] Error 2