Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 404187 - Stabilize net-wireless/broadcom-sta-5.100.82.112-r2
Summary: Stabilize net-wireless/broadcom-sta-5.100.82.112-r2
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Keywording and Stabilization (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: MATSUU Takuto (RETIRED)
URL:
Whiteboard:
Keywords: STABLEREQ
Depends on:
Blocks:
 
Reported: 2012-02-16 20:57 UTC by Evan Teran
Modified: 2012-04-22 16:42 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Evan Teran 2012-02-16 20:57:57 UTC
As stated in the summary, net-wireless/broadcom-sta-5.100.82.38-r1 fails to build against gentoo-sources-3.2.1-r2.

The relevant error seems to be:

/var/tmp/portage/net-wireless/broadcom-sta-5.100.82.38-r1/work/src/wl/sys/wl_linux.c:328:2: error: unknown field 'ndo_set_multicast_list' specified in initializer

It seems that the net_device_ops structure no longer has an ndo_set_multicast_list member.

Unfortunately, I don't know enough about this part of the kernel to produce a patch. I have no idea how critical the wl_set_multicast_list function is to the correct function of the device :-(.

Simply removing that initializer from the code makes things compile (so this is the only issue that needs addressing), but as I mentioned, I don't know if this is critical functionality or not.

Reproducible: Always




 * Package:    net-wireless/broadcom-sta-5.100.82.38-r1
 * Repository: gentoo
 * Maintainer: matsuu@gentoo.org
 * USE:        amd64 elibc_glibc kernel_linux multilib userland_GNU
 * FEATURES:   preserve-libs sandbox splitdebug
 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux
 * Found sources for kernel version:
 *     3.2.1-gentoo-r2
 * Checking for suitable kernel configuration options...                                                                     [ ok ]
>>> Unpacking source...
>>> Unpacking hybrid-portsrc_x86_64-v5_100_82_38.tar.gz to /var/tmp/portage/net-wireless/broadcom-sta-5.100.82.38-r1/work
>>> Source unpacked in /var/tmp/portage/net-wireless/broadcom-sta-5.100.82.38-r1/work
>>> Preparing source in /var/tmp/portage/net-wireless/broadcom-sta-5.100.82.38-r1/work ...
 * Applying broadcom-sta-5.10.91.9-license.patch ...                                                                         [ ok ]
 * Applying broadcom-sta-5.100.82.38-gcc.patch ...                                                                           [ ok ]
 * Applying broadcom-sta-5.100.82.38-linux-2.6.37.patch ...                                                                  [ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/net-wireless/broadcom-sta-5.100.82.38-r1/work ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/net-wireless/broadcom-sta-5.100.82.38-r1/work ...
ln: failed to create symbolic link `Module.symvers': File exists
 * Preparing wl module
make -j5 HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- 'LDFLAGS=-m elf_x86_64' -C /usr/src/linux M=/var/tmp/portage/net-wireless/broadcom-sta-5.100.82.38-r1/work wl.ko 
make: Entering directory `/usr/src/linux-3.2.1-gentoo-r2'
  CC [M]  /var/tmp/portage/net-wireless/broadcom-sta-5.100.82.38-r1/work/src/shared/linux_osl.o
  CC [M]  /var/tmp/portage/net-wireless/broadcom-sta-5.100.82.38-r1/work/src/wl/sys/wl_linux.o
  CC [M]  /var/tmp/portage/net-wireless/broadcom-sta-5.100.82.38-r1/work/src/wl/sys/wl_iw.o
/var/tmp/portage/net-wireless/broadcom-sta-5.100.82.38-r1/work/src/wl/sys/wl_linux.c:328:2: error: unknown field 'ndo_set_multicast_list' specified in initializer
/var/tmp/portage/net-wireless/broadcom-sta-5.100.82.38-r1/work/src/wl/sys/wl_linux.c:328:2: warning: initialization from incompatible pointer type
make[1]: *** [/var/tmp/portage/net-wireless/broadcom-sta-5.100.82.38-r1/work/src/wl/sys/wl_linux.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [wl.ko] Error 2
make: Leaving directory `/usr/src/linux-3.2.1-gentoo-r2'
emake failed
 * ERROR: net-wireless/broadcom-sta-5.100.82.38-r1 failed (compile phase):
 *   Unable to emake HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS=-m elf_x86_64  -C /usr/src/linux M=/var/tmp/portage/net-wireless/broadcom-sta-5.100.82.38-r1/work wl.ko
 * 
 * Call stack:
 *     ebuild.sh, line   85:  Called src_compile
 *   environment, line 3178:  Called linux-mod_src_compile
 *   environment, line 2398:  Called die
 * The specific snippet of code:
 *               eval "emake HOSTCC=\"$(tc-getBUILD_CC)\"                                               CROSS_COMPILE=${CHOST}-                                                 LDFLAGS=\"$(get_abi_LDFLAGS)\"                                                ${BUILD_FIXES}                                          ${BUILD_PARAMS}                                                 ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";
 * 
 * If you need support, post the output of 'emerge --info =net-wireless/broadcom-sta-5.100.82.38-r1',
 * the complete build log and the output of 'emerge -pqv =net-wireless/broadcom-sta-5.100.82.38-r1'.
 * The complete build log is located at '/var/tmp/portage/net-wireless/broadcom-sta-5.100.82.38-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-wireless/broadcom-sta-5.100.82.38-r1/temp/environment'.
 * S: '/var/tmp/portage/net-wireless/broadcom-sta-5.100.82.38-r1/work'
Comment 1 Evan Teran 2012-02-16 20:59:51 UTC
As a follow up, according to this site (http://www.broadcom.com/support/802.11/linux_sta.php) the latest version of the driver is 5.100.82.112. I haven't downloaded it yet, but it may be an already fixed problem.

I'll try compiling it and see. This may end up just needing to be a version bump request.
Comment 2 Evan Teran 2012-02-16 21:04:02 UTC
unfortunately, the same issue occurs with 5.100.82.112.
Comment 3 Marcel Sondaar 2012-03-06 13:45:51 UTC
I encountered the same bug when upgrading from my somewhat outdated 2.6 kernel to 3.2.1-r2 and can confirm its existance.

I also managed to workaround the issue locally by finding and reverting the offending change in the linux kernel, which allowed broadcom-sta to compile and result in a working wireless driver: http://patchwork.ozlabs.org/patch/110211/

The entire fix in steps:
1: Download patch at http://patchwork.ozlabs.org/patch/110211/raw/
2: (un)patch the kernel: 
   cd /usr/src/linux
   patch -u -p1 -R -i /path/to/net-next-2.6-3-3-net-remove-ndo_set_multicast_list-callback.patch
3: rebuild the kernel and modules
4: rebuild broadcom-sta
   (also rebuild all other kernel-dependent drivers)
5: install the new kernel binary
6: reboot for profit
Comment 4 David King 2012-03-10 12:07:41 UTC
This is fixed in bug 390627 for net-wireless/broadcom-sta-5.100.82.112-r2.
Comment 5 Pacho Ramos gentoo-dev 2012-04-14 10:54:16 UTC
(In reply to comment #4)
> This is fixed in bug 390627 for net-wireless/broadcom-sta-5.100.82.112-r2.

We need to get a newer stable version then
Comment 6 Markus Meier gentoo-dev 2012-04-14 15:13:01 UTC
x86 stable
Comment 7 Maurizio Camisaschi (amd64 AT) 2012-04-21 10:55:50 UTC
amd64 ok
Comment 8 Agostino Sarubbo gentoo-dev 2012-04-22 16:42:27 UTC
amd64 stable. Last arch, closing.