Broadcom kernel module failed to build [error: macro "alloc_netdev" requires 4 arguments, but only 3 given]

Bug #1358966 reported by Thomas H St.Clair on 2014-08-19
200
This bug affects 36 people
Affects Status Importance Assigned to Milestone
bcmwl (Ubuntu)
Medium
Alberto Milone
Nominated for Trusty by Mathew Hodson
Trusty
Medium
Unassigned
broadcom-sta (Ubuntu)
Medium
Unassigned
Nominated for Trusty by Mathew Hodson

Bug Description

bcmwl-kernel-source 6.30.223.248+bdcom-0ubuntu1 will not build with linux-3.17-rc1 from Ubuntu kernel ppa (Mainline). Tried custom kernel as well from kernel archives 3.17-rc1. APPORT ERROR

ProblemType: Package
DistroRelease: Ubuntu 14.10
Package: bcmwl-kernel-source 6.30.223.248+bdcom-0ubuntu1
Uname: Linux 3.16.1-custom x86_64
NonfreeKernelModules: nvidia wl
ApportVersion: 2.14.6-0ubuntu1
Architecture: amd64
DKMSKernelVersion: 3.17.0-031700rc1-generic
Date: Tue Aug 19 19:42:02 2014
DuplicateSignature: dkms:bcmwl-kernel-source:6.30.223.248+bdcom-0ubuntu1:/var/lib/dkms/bcmwl/6.30.223.248+bdcom/build/src/wl/sys/wl_linux.c:1316:64: error: macro "alloc_netdev" requires 4 arguments, but only 3 given
InstallationDate: Installed on 2014-07-05 (45 days ago)
InstallationMedia: Ubuntu "Utopic" - Build amd64 LIVE Binary 20140703-15:52
PackageVersion: 6.30.223.248+bdcom-0ubuntu1
SourcePackage: bcmwl
Title: bcmwl-kernel-source 6.30.223.248+bdcom-0ubuntu1: bcmwl kernel module failed to build
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Thomas H St.Clair (thstclair) wrote :
tags: removed: need-duplicate-check

Sorry, it will usually take time for 3rd party drivers like bcmwl to catch up with the latest kernels. You should roll back to a kernel that the driver does support for now.

summary: bcmwl-kernel-source 6.30.223.248+bdcom-0ubuntu1: bcmwl kernel module
- failed to build
+ failed to build [error: macro "alloc_netdev" requires 4 arguments, but
+ only 3 given]
Changed in bcmwl (Ubuntu):
importance: Undecided → Medium
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in bcmwl (Ubuntu):
status: New → Confirmed

A little grepping through the changes for 3.17, and it looks like there are a few simple changes to apply.

1. The nvidia wrapper driver should drop #include <acpi/acpi.h> from its buildfix_kernel_3.14.patch; <acpi/acpi.h> was never intended to included directly for external modules

2. There's a small update for the kernel's alloc_netdev() API

I have patches for both which I'll upload here. I'm not sure how to update Ubuntu's dkms packages for bcmwl and nvidia-331, so we'll see if the Ubuntu devs will pick this up eventually...

The attachment "nvidia DKMS patch fix for 3.17 kernel" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Thomas H St.Clair (thstclair) wrote :

Brian- thanks for the patch. I had seen that elsewhere but had never known how to use it. Looked at it again today and tried something else and finally got it to build.

1-copy/save the patch(###)
2-mv to /usr/src/bcmwl-6.30.223.248+bdcom/patches/(###)
3-edit /usr/src/bcmwl-6.30.223.248+bdcom/dkms.conf adding (###)
4-sudo dkms build -m bcmwl/6.30.223.248+bdcom -k (OUTPUT OF UNAME -R)
5-sudo dkms install -m bcmwl/6.30.223.248+bdcom -k (OUTPUT OF UNAME -R)
6-sudo modprobe wl

Tom

rozwell (rozwell69) wrote :

@Thomas H St.Clair: thanks for the instructions, works fine on Trusty too :)

Changed in bcmwl (Ubuntu):
assignee: nobody → Alberto Milone (albertomilone)
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package bcmwl - 6.30.223.248+bdcom-0ubuntu2

---------------
bcmwl (6.30.223.248+bdcom-0ubuntu2) vivid; urgency=medium

  * debian/dkms.conf.in,
    debian/patches/0014-add-support-for-Linux-3.17.patch,
    debian/patches/0015-add-support-for-Linux-3.18.patch:
    - Add support for Linux 3.17 (LP: #1358966).
      Credit for the patch goes to Brian Norris.
    - Add support for Linux 3.18 (LP: #1358966).
      Credit for the patch goes to Krzysztof Kolasa.
 -- Alberto Milone <email address hidden> Thu, 06 Nov 2014 18:43:27 +0100

Changed in bcmwl (Ubuntu):
status: Confirmed → Fix Released
Aldo (zorba-) wrote :

When this patch will be avaible on Ubuntu 14.10?
I need to use kernel 3.7 to have full support for the touchpad of my acer TMB115.
Now if I use kernel 3.7 Wifi doesn't work.

Honza Novak (jan-novak) wrote :

@Aldo Yes, you can fix it even on 14.04. You can download this new package from http://packages.ubuntu.com/vivid/bcmwl-kernel-source and install it directly typing: dpkg -i bcmwl-kernel-source_6.30.223.248+bdcom-0ubuntu2_amd64.deb and then it should be ok. Package has not any other dependencies therefore there shouldnt be any risk to your system.

I have tried it for myself and it solved me the kernel 3.17 installation problem od Ubuntu 14.04

I ran into this problem when running with an upstream kernel - installing above bcmwl-kernel-source disables my WLAN (bug 1385059). Thus I prefer the WLAN and life with the 'System problem detected'-popup upon each startup.

Lenovo S10e running 14.10 and
3.19.0-031900.201502091451 upstream kernel.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in broadcom-sta (Ubuntu):
status: New → Confirmed
Changed in broadcom-sta (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Triaged
summary: - bcmwl-kernel-source 6.30.223.248+bdcom-0ubuntu1: bcmwl kernel module
- failed to build [error: macro "alloc_netdev" requires 4 arguments, but
- only 3 given]
+ Broadcom kernel module failed to build [error: macro "alloc_netdev"
+ requires 4 arguments, but only 3 given]

@HugoHirsch: unfortunately, we couldn't get this fix into 14.10. (I'm just a community contributor, and I don't know that much about Ubuntu's release processes work (or don't), but it seems to me like it's really hard to fix things in the current release.)

But fortunately for you, there are three releases (14.04, 15.04 and 15.10) that already have the fix! I just double-checked 14.04's repository, and it has the updated package:

bcmwl-kernel-source (6.30.223.248+bdcom-0ubuntu0.1)
http://packages.ubuntu.com/trusty-updates/admin/bcmwl-kernel-source
http://packages.ubuntu.com/vivid/admin/bcmwl-kernel-source
http://packages.ubuntu.com/wily/admin/bcmwl-kernel-source

So, I think you can either use one of these releases, or just download and install the deb package directly from the above URL.

(And now I realize your comment was several months ago, and it's only the robots that decided to change things. But others have apparently been reporting this on old package versions, so the info is still useful.)

This has nothing to do with broadcom-sta package. Only bcmwl, which is already fixed in all supported releases.

Changed in broadcom-sta (Ubuntu):
status: Triaged → Invalid
Daniel van Vugt (vanvugt) wrote :

Confirmed in broadcom-sta via duplicate bugs. AFAIK it shares common source with bcmwl so of course will have the same bugs.

Changed in broadcom-sta (Ubuntu):
status: Invalid → Confirmed
Iain Lane (laney) wrote :

I tried broadcom-sta on xenial

> Setting up broadcom-sta-dkms (6.30.223.271-1) ...
> Loading new broadcom-sta-6.30.223.271 DKMS files...
> First Installation: checking all kernels...
> Building for 4.2.0-19-generic and 4.3.0-2-generic
> Building initial module for 4.2.0-19-generic
> Done.
>
> wl:
> Running module version sanity check.
> - Original module
> - No original module exists within this kernel
> - Installation
> - Installing to /lib/modules/4.2.0-19-generic/updates/dkms/
>
> depmod....
>
> Backing up initrd.img-4.2.0-19-generic to /boot/initrd.img-4.2.0-19-generic.old-dkms
> Making new initrd.img-4.2.0-19-generic
> (If next boot fails, revert to initrd.img-4.2.0-19-generic.old-dkms image)
> update-initramfs....
>
> DKMS: install completed.
> Building initial module for 4.3.0-2-generic
> Done.
>
> wl:
> Running module version sanity check.
> - Original module
> - No original module exists within this kernel
> - Installation
> - Installing to /lib/modules/4.3.0-2-generic/updates/dkms/
>
> depmod....
>
> Backing up initrd.img-4.3.0-2-generic to /boot/initrd.img-4.3.0-2-generic.old-dkms
> Making new initrd.img-4.3.0-2-generic
> (If next boot fails, revert to initrd.img-4.3.0-2-generic.old-dkms image)
> update-initramfs....
>
> DKMS: install completed.

and 14.04

> Loading new broadcom-sta-6.30.223.141 DKMS files...
> First Installation: checking all kernels...
> Building for 3.13.0-68-generic and 3.13.0-71-generic
> Building initial module for 3.13.0-68-generic
> Done.
>
> wl:
> Running module version sanity check.
> - Original module
> - No original module exists within this kernel
> - Installation
> - Installing to /lib/modules/3.13.0-68-generic/updates/dkms/
>
> depmod.....
>
> Backing up initrd.img-3.13.0-68-generic to /boot/initrd.img-3.13.0-68-generic.old-dkms
> Making new initrd.img-3.13.0-68-generic
> (If next boot fails, revert to initrd.img-3.13.0-68-generic.old-dkms image)
> update-initramfs....
>
> DKMS: install completed.
> Building initial module for 3.13.0-71-generic
> Done.
>
> wl:
> Running module version sanity check.
> - Original module
> - No original module exists within this kernel
> - Installation
> - Installing to /lib/modules/3.13.0-71-generic/updates/dkms/
>
> depmod....
>
> Backing up initrd.img-3.13.0-71-generic to /boot/initrd.img-3.13.0-71-generic.old-dkms
> Making new initrd.img-3.13.0-71-generic
> (If next boot fails, revert to initrd.img-3.13.0-71-generic.old-dkms image)
> update-initramfs....
>
> DKMS: install completed.

so I don't understand what this bug is about. Can someone give reproduction
steps for -sta please?

Changed in broadcom-sta (Ubuntu):
status: Confirmed → Incomplete
Daniel van Vugt (vanvugt) wrote :

Iain, check the duplicates where users are having the same issue with broadcom-sta...

Iain Lane (laney) wrote :

I showed my build logs. If you want me to help, I'm happy to, I just need better steps.

Are you saying that broadcom-sta doesn't work for anyone? If that's right, what am I doing wrong?

(I've unsubscribed ubuntu-sponsors since this is on the list and there is nothing to sponsor ATM, given my questions. Please re-subscribe them when there is.)

Iain,

1. Apparently, I was wrong about the STA driver; it has the same problem, but it was never patched up
2. For your 14.04 build, you're using the older 3.13 line of kernels:

Building for 3.13.0-68-generic and 3.13.0-71-generic

I believe the later "point" releases (e.g., 14.04.3) are using a newer line of kernels, for newer hardware support [1]. See this bug, where the user has kernel 3.19.0-33:

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

So this is still a valid bug.

[1] https://wiki.ubuntu.com/Kernel/LTSEnablementStack

Changed in broadcom-sta (Ubuntu):
status: Incomplete → Confirmed
Reinhard Katzmann (suamor) wrote :

This issue is also still valid for the 4.2.0-35-generic Kernel, but is working for the older 3.13.0-85 for me. However on this specific kernel there seems to be an alternative driver working fine.

Reinhard Katzmann (suamor) wrote :

Still fails to build with 4.2.0-41.

Hello Thomas, or anyone else affected,

Accepted bcmwl into trusty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/bcmwl/6.30.223.271+bdcom-0ubuntu1~0.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in bcmwl (Ubuntu Trusty):
status: New → Fix Committed
tags: added: verification-needed
Changed in bcmwl (Ubuntu Trusty):
importance: Undecided → Medium

The fix for this bug has been awaiting testing feedback in the -proposed repository for trusty for more than 90 days. Please test this fix and update the bug appropriately with the results. In the event that the fix for this bug is still not verified 15 days from now, the package will be removed from the -proposed repository.

tags: added: removal-candidate
Daniel van Vugt (vanvugt) wrote :

Now tracking the same problem in xenial in bug 1699569. Because the Fix Released status here means the same fix should still exist in xenial. So if it doesn't then that's a new bug.

As part of a recent change in the Stable Release Update verification policy we would like to inform that for a bug to be considered verified for a given release a verification-done-$RELEASE tag needs to be added to the bug where $RELEASE is the name of the series the package that was tested (e.g. verification-done-xenial). Please note that the global 'verification-done' tag can no longer be used for this purpose.

Thank you!

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers