2

I have a 2011 MacBook Air with Linux Mint Xia based on Ubuntu 24.04. I checked the adapter - 14e4:43a0 - and confirmed via this guide to install bcmwl-kernel-source. I downloaded the driver on another device from the Noble repo and attempted to install; I got the following error: installed bcmwl-kernel-source package post-installation script subprocess returned error exit status 10. I checked the make log that it pointed me to and it looks like there are some implicit function declarations which I just don't know what to do with at my level. I'm assuming I'm missing some other dependency, but without internet connection apt can't really check into those for me. What can I do about this?

The relevant log lines:

/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c: In function ‘wl_proc_read’:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:3307:26: error: implicit declaration of function ‘PDE_DATA’; did you mean ‘NODE_DATA’? [-Werror=implicit-function-declaration]
 3307 |         wl_info_t * wl = PDE_DATA(file_inode(filp));
      |                          ^~~~~~~~
      |                          NODE_DATA
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:3307:26: warning: initialization of ‘wl_info_t *’ {aka ‘struct wl_info *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c: In function ‘wl_proc_write’:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:3364:26: warning: initialization of ‘wl_info_t *’ {aka ‘struct wl_info *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
 3364 |         wl_info_t * wl = PDE_DATA(file_inode(filp));
      |                          ^~~~~~~~
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c: In function ‘osl_dma_alloc_consistent’:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:603:14: error: implicit declaration of function ‘pci_alloc_consistent’; did you mean ‘osl_dma_alloc_consistent’? [-Werror=implicit-function-declaration]
  603 |         va = pci_alloc_consistent(osh->pdev, size, (dma_addr_t*)pap);
      |              ^~~~~~~~~~~~~~~~~~~~
      |              osl_dma_alloc_consistent
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:603:12: warning: assignment to ‘void *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  603 |         va = pci_alloc_consistent(osh->pdev, size, (dma_addr_t*)pap);
      |            ^
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:1793:20: error: initialization of ‘int (*)(struct wiphy *, struct net_device *, int,  u8,  bool,  const u8 *, struct key_params *)’ {aka ‘int (*)(struct wiphy *, struct net_device *, int,  unsigned char,  _Bool,  const unsigned char *, struct key_params *)’} from incompatible pointer type ‘s32 (*)(struct wiphy *, struct net_device *, u8,  bool,  const u8 *, struct key_params *)’ {aka ‘int (*)(struct wiphy *, struct net_device *, unsigned char,  _Bool,  const unsigned char *, struct key_params *)’} [-Werror=incompatible-pointer-types]
 1793 |         .add_key = wl_cfg80211_add_key,
      |                    ^~~~~~~~~~~~~~~~~~~
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:1793:20: note: (near initialization for ‘wl_cfg80211_ops.add_key’)
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:1794:20: error: initialization of ‘int (*)(struct wiphy *, struct net_device *, int,  u8,  bool,  const u8 *)’ {aka ‘int (*)(struct wiphy *, struct net_device *, int,  unsigned char,  _Bool,  const unsigned char *)’} from incompatible pointer type ‘s32 (*)(struct wiphy *, struct net_device *, u8,  bool,  const u8 *)’ {aka ‘int (*)(struct wiphy *, struct net_device *, unsigned char,  _Bool,  const unsigned char *)’} [-Werror=incompatible-pointer-types]
 1794 |         .del_key = wl_cfg80211_del_key,
      |                    ^~~~~~~~~~~~~~~~~~~
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:1794:20: note: (near initialization for ‘wl_cfg80211_ops.del_key’)
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:1795:20: error: initialization of ‘int (*)(struct wiphy *, struct net_device *, int,  u8,  bool,  const u8 *, void *, void (*)(void *, struct key_params *))’ {aka ‘int (*)(struct wiphy *, struct net_device *, int,  unsigned char,  _Bool,  const unsigned char *, void *, void (*)(void *, struct key_params *))’} from incompatible pointer type ‘s32 (*)(struct wiphy *, struct net_device *, u8,  bool,  const u8 *, void *, void (*)(void *, struct key_params *))’ {aka ‘int (*)(struct wiphy *, struct net_device *, unsigned char,  _Bool,  const unsigned char *, void *, void (*)(void *, struct key_params *))’} [-Werror=incompatible-pointer-types]
 1795 |         .get_key = wl_cfg80211_get_key,
      |                    ^~~~~~~~~~~~~~~~~~~
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:1795:20: note: (near initialization for ‘wl_cfg80211_ops.get_key’)
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:1796:28: error: initialization of ‘int (*)(struct wiphy *, struct net_device *, int,  u8,  bool,  bool)’ {aka ‘int (*)(struct wiphy *, struct net_device *, int,  unsigned char,  _Bool,  _Bool)’} from incompatible pointer type ‘s32 (*)(struct wiphy *, struct net_device *, u8,  bool,  bool)’ {aka ‘int (*)(struct wiphy *, struct net_device *, unsigned char,  _Bool,  _Bool)’} [-Werror=incompatible-pointer-types]
 1796 |         .set_default_key = wl_cfg80211_config_default_key,
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:1796:28: note: (near initialization for ‘wl_cfg80211_ops.set_default_key’)
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_bss_roaming_done’:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:2370:18: error: ‘struct cfg80211_roam_info’ has no member named ‘channel’
 2370 |         roam_info.channel = &wl->conf->channel;
      |                  ^
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:2371:18: error: ‘struct cfg80211_roam_info’ has no member named ‘bssid’
 2371 |         roam_info.bssid = (u8 *)&wl->bssid;
      |                  ^
In file included from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:40:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_set_auth_type’:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.h:52:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
   52 |         if (wl_dbg_level & WL_DBG_DBG) {                        \
      |            ^
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:794:17: note: in expansion of macro ‘WL_DBG’
  794 |                 WL_DBG(("network eap\n"));
      |                 ^~~~~~
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:795:9: note: here
  795 |         default:
      |         ^~~~~~~
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c: In function ‘osl_dma_free_consistent’:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:616:9: error: implicit declaration of function ‘pci_free_consistent’; did you mean ‘osl_dma_free_consistent’? [-Werror=implicit-function-declaration]
  616 |         pci_free_consistent(osh->pdev, size, va, (dma_addr_t)pa);
      |         ^~~~~~~~~~~~~~~~~~~
      |         osl_dma_free_consistent
In file included from ./include/linux/srcu.h:21,
                 from ./include/linux/notifier.h:16,
                 from ./arch/x86/include/asm/uprobes.h:13,
                 from ./include/linux/uprobes.h:49,
                 from ./include/linux/mm_types.h:16,
                 from ./include/linux/mmzone.h:22,
                 from ./include/linux/gfp.h:7,
                 from ./include/linux/umh.h:4,
                 from ./include/linux/kmod.h:9,
                 from ./include/linux/module.h:17:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c: In function ‘wl_down’:
./include/linux/workqueue.h:628:9: warning: call to ‘__warn_flushing_systemwide_wq’ declared with attribute warning: Please avoid flushing system-wide workqueues. [-Wattribute-warning]
  628 |         __warn_flushing_systemwide_wq();                                \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:1490:25: note: in expansion of macro ‘flush_scheduled_work’
 1490 |                         flush_scheduled_work();
      |                         ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c: In function ‘osl_dma_map’:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:626:38: error: ‘PCI_DMA_TODEVICE’ undeclared (first use in this function); did you mean ‘DMA_TO_DEVICE’?
  626 |         dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE;
      |                                      ^~~~~~~~~~~~~~~~
      |                                      DMA_TO_DEVICE
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:626:38: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:626:56: error: ‘PCI_DMA_FROMDEVICE’ undeclared (first use in this function); did you mean ‘DMA_FROM_DEVICE’?
  626 |         dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE;
      |                                                        ^~~~~~~~~~~~~~~~~~
      |                                                        DMA_FROM_DEVICE
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:659:17: error: implicit declaration of function ‘pci_map_single’; did you mean ‘dma_map_single’? [-Werror=implicit-function-declaration]
  659 |         return (pci_map_single(osh->pdev, va, size, dir));
      |                 ^~~~~~~~~~~~~~
      |                 dma_map_single
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c: In function ‘osl_dma_unmap’:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:668:38: error: ‘PCI_DMA_TODEVICE’ undeclared (first use in this function); did you mean ‘DMA_TO_DEVICE’?
  668 |         dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE;
      |                                      ^~~~~~~~~~~~~~~~
      |                                      DMA_TO_DEVICE
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.o] Error 1
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:668:56: error: ‘PCI_DMA_FROMDEVICE’ undeclared (first use in this function); did you mean ‘DMA_FROM_DEVICE’?
  668 |         dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE;
      |                                                        ^~~~~~~~~~~~~~~~~~
      |                                                        DMA_FROM_DEVICE
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:669:9: error: implicit declaration of function ‘pci_unmap_single’; did you mean ‘dma_unmap_single’? [-Werror=implicit-function-declaration]
  669 |         pci_unmap_single(osh->pdev, (uint32)pa, size, dir);
      |         ^~~~~~~~~~~~~~~~
      |         dma_unmap_single
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.o] Error 1
make[1]: *** [/usr/src/linux-headers-6.8.0-51-generic/Makefile:1925: /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build] Error 2
make: *** [Makefile:240: __sub-make] Error 2
make: Leaving directory '/usr/src/linux-headers-6.8.0-51-generic'
2
  • 1
    Did you try installing the driver from "Additional Drivers" or "Driver Manager"? Commented Aug 21 at 14:42
  • 2
    You don't mention how you attempted to install the package; if you didn't use a method that automatically downloads dependencies then you may be missing the broadcom-sta-dkms package Commented Aug 22 at 0:30

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.