LinuxQuestions.org
Did you know LQ has a Linux Hardware Compatibility List?
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices

Reply
 
Search this Thread
Old 05-28-2012, 08:33 PM   #1
Jdogzz
Member
 
Registered: May 2012
Distribution: slackware
Posts: 40

Rep: Reputation: 5
Compiling broadcom driver


I've been trying to follow this guide for installing the wireless driver for my Broadcom card BCM43224 and when trying to run the SlackBuild for broadcom-sta, it gives me this after the extraction:

Code:
make: Entering directory `/usr/src/linux-3.2.13'
Wireless Extension is the only possible API for this kernel version
Using Wireless Extension API
make: Leaving directory `/usr/src/linux-3.2.13'
make: Entering directory `/usr/src/linux-3.2.13'
Wireless Extension is the only possible API for this kernel version
Using Wireless Extension API
  LD      /tmp/SBo/build-broadcom-sta/built-in.o
  CC [M]  /tmp/SBo/build-broadcom-sta/src/shared/linux_osl.o
  CC [M]  /tmp/SBo/build-broadcom-sta/src/wl/sys/wl_linux.o
/tmp/SBo/build-broadcom-sta/src/wl/sys/wl_linux.c:388:2: error: unknown field 'ndo_set_multicast_list' specified in initializer
/tmp/SBo/build-broadcom-sta/src/wl/sys/wl_linux.c:388:2: warning: initialization from incompatible pointer type [enabled by default]
/tmp/SBo/build-broadcom-sta/src/wl/sys/wl_linux.c:388:2: warning: (near initialization for 'wl_netdev_ops.ndo_validate_addr') [enabled by default]
make[1]: *** [/tmp/SBo/build-broadcom-sta/src/wl/sys/wl_linux.o] Error 1
make: *** [_module_/tmp/SBo/build-broadcom-sta] Error 2
make: Leaving directory `/usr/src/linux-3.2.13'
I've googled bits of this, and it seems that perhaps the package might be outdated? However, I get the same error when trying to compile the driver on my own using the files from the Broadcom webpage:


Code:
root@secondfiddle:/home/jmgg/Downloads/hybrid_wl# make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory `/usr/src/linux-3.2.13'
Wireless Extension is the only possible API for this kernel version
Using Wireless Extension API
  LD      /home/jmgg/Downloads/hybrid_wl/built-in.o
  CC [M]  /home/jmgg/Downloads/hybrid_wl/src/shared/linux_osl.o
  CC [M]  /home/jmgg/Downloads/hybrid_wl/src/wl/sys/wl_linux.o
/home/jmgg/Downloads/hybrid_wl/src/wl/sys/wl_linux.c:388:2: error: unknown field 'ndo_set_multicast_list' specified in initializer
/home/jmgg/Downloads/hybrid_wl/src/wl/sys/wl_linux.c:388:2: warning: initialization from incompatible pointer type [enabled by default]
/home/jmgg/Downloads/hybrid_wl/src/wl/sys/wl_linux.c:388:2: warning: (near initialization for 'wl_netdev_ops.ndo_validate_addr') [enabled by default]
make[2]: *** [/home/jmgg/Downloads/hybrid_wl/src/wl/sys/wl_linux.o] Error 1
make[1]: *** [_module_/home/jmgg/Downloads/hybrid_wl] Error 2
make[1]: Leaving directory `/usr/src/linux-3.2.13'
make: *** [all] Error 2
Could anyone give me an pointer as to how to fix this?
 
Click here to see the post LQ members have rated as the most helpful post in this thread.
Old 05-28-2012, 08:45 PM   #2
frankbell
Guru
 
Registered: Jan 2006
Location: Virginia, USA
Distribution: Slackware, Debian, Mageia, Mint
Posts: 7,422

Rep: Reputation: 1406Reputation: 1406Reputation: 1406Reputation: 1406Reputation: 1406Reputation: 1406Reputation: 1406Reputation: 1406Reputation: 1406Reputation: 1406
I had problems myself. This thread might help.

http://www.linuxquestions.org/questi...oblems-749958/

You need the firmware, the firmware cutter, and the driver. When I tried, I had the cutter and the driver, but didn't have the firmware--that was the third leg of the stool. It took helpful members from LQ to help me fill in that blank.

They are all available at Slackbuilds.org.
 
Old 05-28-2012, 09:47 PM   #3
hotchili
Member
 
Registered: Sep 2009
Location: Germany
Distribution: slackware64-current
Posts: 69

Rep: Reputation: 17
Hello,

pretty sure that you need to apply this patch:

Code:
--- a/src/wl/sys/wl_linux.c     2011-10-22 18:56:55.000000000 +0200
+++ b/src/wl/sys/wl_linux.c     2012-05-25 05:57:43.136026717 +0200
@@ -385,7 +385,7 @@ static const struct net_device_ops wl_ne
 #endif
        .ndo_get_stats = wl_get_stats,
        .ndo_set_mac_address = wl_set_mac_address,
-       .ndo_set_multicast_list = wl_set_multicast_list,
+       .ndo_set_rx_mode = wl_set_multicast_list,
        .ndo_do_ioctl = wl_ioctl
 };
Greetings
 
2 members found this post helpful.
Old 05-29-2012, 12:27 AM   #4
Jdogzz
Member
 
Registered: May 2012
Distribution: slackware
Posts: 40

Original Poster
Rep: Reputation: 5
@frankbell Not sure if it might have been something I did wrong, but installing the firmware and the cutter didn't seem to fix the issue. Though I'm sure somehow it helped solve it in the end Thank you for your help

@hotchili Your patch was what seemed to do the trick. I opened up the file in vim, made the adjustment (I didn't quite understand how to apply the patch other than manually making the change, perhaps you could explain here for future reference?) and tried to make the module again. Worked perfectly Thank you very much for your help.
 
Old 05-29-2012, 06:59 PM   #5
frankbell
Guru
 
Registered: Jan 2006
Location: Virginia, USA
Distribution: Slackware, Debian, Mageia, Mint
Posts: 7,422

Rep: Reputation: 1406Reputation: 1406Reputation: 1406Reputation: 1406Reputation: 1406Reputation: 1406Reputation: 1406Reputation: 1406Reputation: 1406Reputation: 1406
Glad you are running. Thanks for the update.
 
Old 05-30-2012, 06:14 PM   #6
hotchili
Member
 
Registered: Sep 2009
Location: Germany
Distribution: slackware64-current
Posts: 69

Rep: Reputation: 17
Hello,

Quote:
Originally Posted by Jdogzz View Post
@hotchili Your patch was what seemed to do the trick. I opened up the file in vim, made the adjustment (I didn't quite understand how to apply the patch other than manually making the change, perhaps you could explain here for future reference?) and tried to make the module again. Worked perfectly Thank you very much for your help.
Sure. What I have posted is the output of the command "diff", it compares files and prints the difference.
This could be put into a file lets say fix-multicast.diff and then another utility "patch" can use this file.
In this case I have added to the broadcom-sta.SlackBuild, after the package gets extracted:

Code:
patch -p1 < $CWD/fix-multicast.diff
Now the Slackbuild fixes the file itself so that the compilation works.
 
1 members found this post helpful.
Old 06-07-2013, 09:03 AM   #7
m3t3or
LQ Newbie
 
Registered: Jun 2013
Posts: 8

Rep: Reputation: Disabled
as well worked for me

Thanks alot for the patch, it as well worked for me!
( Broadcom BCM43228 802.11a/b/g/n on a debian7, kernel 3.2.0-4 )
 
Old 06-10-2013, 10:15 PM   #8
unicandun
LQ Newbie
 
Registered: Jun 2013
Location: Hermosillo Sonora México
Distribution: Trisquel gnu/linux
Posts: 2

Rep: Reputation: Disabled
@hotchili Thank you so much for this info! I am using the wifi to write this!

Every day that goes by I realise just how lucky I am to be part of gnu/linux.

Thank you all!

Sistem: instipiron N4050

lspci output:

00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 (rev b5)
00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b5)
00:1c.7 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 8 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation HM67 Express Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 05)
09:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01)
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
error compiling Broadcom driver wjtaylor Linux - Networking 1 10-26-2011 08:48 PM
Broadcom 802.11 Linux STA driver (broadcom-wl) - Problems (Fed15) Rian79 Linux - Wireless Networking 1 08-09-2011 10:10 AM
Broadcom drivers. Errors when compiling DiBosco Linux - Software 5 09-15-2010 01:17 PM
Compiling Broadcom driver (No such file or dir error) Dralnu Linux - Software 12 04-12-2010 08:25 PM
Compiling a driver for OSol (Sol) for a broadcom Wireless NIC Alexvader Solaris / OpenSolaris 1 01-26-2010 09:37 AM


All times are GMT -5. The time now is 06:58 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration