debian jessie 向后移植 wifi 和蓝牙

debian jessie 向后移植 wifi 和蓝牙

我正在运行 debian 8,我需要更新 bluez 和 debian 内核。 Bluez 需要高于 5.23 才能使具有 LE 的蓝牙或智能蓝牙设备正常工作。

我使用的是 Mac,我需要安装 Broadcom 无线驱动程序才能使我的 WiFi 正常工作。

如果我避免在向后移植中将内核更新到 4.2.0,我可以按照概述的步骤操作这里然后我的 wifi 工作正常,但我的蓝牙设备无法工作。

如果我升级到最新的内核,我的蓝牙设备将无法工作。当我将其与 bluetoothctl 配对并连接时它可以工作,但是一旦我停止移动鼠标,它就会取消配对并死亡。我必须再次重新配对/重新连接。新内核解决了这个问题。

所以我想尝试修复我的无线网络。

我按照以下步骤操作维基百科

当我尝试运行时,sudo modprobe wl 我得到 modprobe: FATAL: Module wl not found。

uname -r 4.2.0-0.bpo.1-amd64



cat /var/lib/dkms/broadcom-sta/6.30.223.248/build/make.log 

返回此值并显示存在一些构建错误:

sudo apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') broadcom-sta-dkms
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  broadcom-sta-dkms linux-headers-amd64
0 upgraded, 2 newly installed, 0 to remove and 29 not upgraded.
Need to get 0 B/2,175 kB of archives.
After this operation, 14.5 MB of additional disk space will be used.
Selecting previously unselected package broadcom-sta-dkms.
(Reading database ... 171210 files and directories currently installed.)
Preparing to unpack .../broadcom-sta-dkms_6.30.223.248-3_all.deb ...
Unpacking broadcom-sta-dkms (6.30.223.248-3) ...
Selecting previously unselected package linux-headers-amd64.
Preparing to unpack .../linux-headers-amd64_3.16+63_amd64.deb ...
Unpacking linux-headers-amd64 (3.16+63) ...
Setting up broadcom-sta-dkms (6.30.223.248-3) ...
Loading new broadcom-sta-6.30.223.248 DKMS files...
First Installation: checking all kernels...
Building only for 4.2.0-0.bpo.1-amd64
Building initial module for 4.2.0-0.bpo.1-amd64
Error! Bad return status for module build on kernel: 4.2.0-0.bpo.1-amd64 (x86_64)
Consult /var/lib/dkms/broadcom-sta/6.30.223.248/build/make.log for more information.
Setting up linux-headers-amd64 (3.16+63) ...
blubee@naibed:~$ vi /var/lib/dkms/broadcom-sta/6.30.223.248/build/make.log 
blubee@naibed:~$ cat /var/lib/dkms/broadcom-sta/6.30.223.248/build/make.log 
DKMS make.log for broadcom-sta-6.30.223.248 for kernel 4.2.0-0.bpo.1-amd64 (x86_64)
Sat Oct 31 10:52:17 CST 2015
/bin/sh: 1: [: Illegal number: 
/bin/sh: 1: [: Illegal number: 
Wireless Extension is the only possible API for this kernel version
Using Wireless Extension API
KBUILD_NOPEDANTIC=1 make -C /lib/modules/4.2.0-0.bpo.1-amd64/build M=`pwd`
make[1]: Entering directory '/usr/src/linux-headers-4.2.0-0.bpo.1-amd64'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
Kernel architecture is X86_64
  LD      /var/lib/dkms/broadcom-sta/6.30.223.248/build/built-in.o
  CC [M]  /var/lib/dkms/broadcom-sta/6.30.223.248/build/src/shared/linux_osl.o
  CC [M]  /var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_linux.o
  CC [M]  /var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_iw.o
  CC [M]  /var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.o
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_cfg80211_get_key’:
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:1390:9: warning: passing argument 1 of ‘memcpy’ discards ‘const’ qualifier from pointer target type
  memcpy(params.key, key.data, params.key_len);
         ^
In file included from /usr/src/linux-headers-4.2.0-0.bpo.1-common/arch/x86/include/asm/string.h:4:0,
                 from /usr/src/linux-headers-4.2.0-0.bpo.1-common/include/linux/string.h:17,
                 from /usr/src/linux-headers-4.2.0-0.bpo.1-common/include/linux/bitmap.h:8,
                 from /usr/src/linux-headers-4.2.0-0.bpo.1-common/include/linux/cpumask.h:11,
                 from /usr/src/linux-headers-4.2.0-0.bpo.1-common/arch/x86/include/asm/cpumask.h:4,
                 from /usr/src/linux-headers-4.2.0-0.bpo.1-common/arch/x86/include/asm/msr.h:10,
                 from /usr/src/linux-headers-4.2.0-0.bpo.1-common/arch/x86/include/asm/processor.h:20,
                 from /usr/src/linux-headers-4.2.0-0.bpo.1-common/arch/x86/include/asm/thread_info.h:49,
                 from /usr/src/linux-headers-4.2.0-0.bpo.1-common/include/linux/thread_info.h:54,
                 from /usr/src/linux-headers-4.2.0-0.bpo.1-common/arch/x86/include/asm/preempt.h:6,
                 from /usr/src/linux-headers-4.2.0-0.bpo.1-common/include/linux/preempt.h:64,
                 from /usr/src/linux-headers-4.2.0-0.bpo.1-common/include/linux/spinlock.h:50,
                 from /usr/src/linux-headers-4.2.0-0.bpo.1-common/include/linux/seqlock.h:35,
                 from /usr/src/linux-headers-4.2.0-0.bpo.1-common/include/linux/time.h:5,
                 from /usr/src/linux-headers-4.2.0-0.bpo.1-common/include/linux/stat.h:18,
                 from /usr/src/linux-headers-4.2.0-0.bpo.1-common/include/linux/module.h:10,
                 from /var/lib/dkms/broadcom-sta/6.30.223.248/build/src/include/linuxver.h:40,
                 from /var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:26:
/usr/src/linux-headers-4.2.0-0.bpo.1-common/arch/x86/include/asm/string_64.h:34:14: note: expected ‘void *’ but argument is of type ‘const u8 *’
 extern void *memcpy(void *to, const void *from, size_t len);
              ^
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_cfg80211_get_station’:
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:1444:20: error: ‘STATION_INFO_TX_BITRATE’ undeclared (first use in this function)
   sinfo->filled |= STATION_INFO_TX_BITRATE;
                    ^
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:1444:20: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:1457:20: error: ‘STATION_INFO_SIGNAL’ undeclared (first use in this function)
   sinfo->filled |= STATION_INFO_SIGNAL;
                    ^
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c: At top level:
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:1778:2: warning: initialization from incompatible pointer type
  .get_station = wl_cfg80211_get_station,
  ^
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:1778:2: warning: (near initialization for ‘wl_cfg80211_ops.get_station’)
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_inform_single_bss’:
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:2013:9: error: incompatible type for argument 3 of ‘cfg80211_inform_bss’
  cbss = cfg80211_inform_bss(wiphy, channel, (const u8 *)(bi->BSSID.octet),
         ^
In file included from /var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:33:0:
/usr/src/linux-headers-4.2.0-0.bpo.1-common/include/net/cfg80211.h:4029:1: note: expected ‘enum cfg80211_bss_frame_type’ but argument is of type ‘const u8 *’
 cfg80211_inform_bss(struct wiphy *wiphy,
 ^
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:2015:3: warning: passing argument 7 of ‘cfg80211_inform_bss’ makes integer from pointer without a cast
   (const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
   ^
In file included from /var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:33:0:
/usr/src/linux-headers-4.2.0-0.bpo.1-common/include/net/cfg80211.h:4029:1: note: expected ‘u16’ but argument is of type ‘const u8 *’
 cfg80211_inform_bss(struct wiphy *wiphy,
 ^
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:2015:26: warning: passing argument 8 of ‘cfg80211_inform_bss’ makes pointer from integer without a cast
   (const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
                          ^
In file included from /var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:33:0:
/usr/src/linux-headers-4.2.0-0.bpo.1-common/include/net/cfg80211.h:4029:1: note: expected ‘const u8 *’ but argument is of type ‘size_t’
 cfg80211_inform_bss(struct wiphy *wiphy,
 ^
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:2013:9: error: too few arguments to function ‘cfg80211_inform_bss’
  cbss = cfg80211_inform_bss(wiphy, channel, (const u8 *)(bi->BSSID.octet),
         ^
In file included from /var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:33:0:
/usr/src/linux-headers-4.2.0-0.bpo.1-common/include/net/cfg80211.h:4029:1: note: declared here
 cfg80211_inform_bss(struct wiphy *wiphy,
 ^
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_notify_connect_status’:
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:2050:4: error: too few arguments to function ‘cfg80211_disconnected’
    cfg80211_disconnected(ndev, 0, NULL, 0, GFP_KERNEL);
    ^
In file included from /var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:33:0:
/usr/src/linux-headers-4.2.0-0.bpo.1-common/include/net/cfg80211.h:4584:6: note: declared here
 void cfg80211_disconnected(struct net_device *dev, u16 reason,
      ^
/usr/src/linux-headers-4.2.0-0.bpo.1-common/scripts/Makefile.build:263: recipe for target '/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.o' failed
make[4]: *** [/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.o] Error 1
/usr/src/linux-headers-4.2.0-0.bpo.1-common/Makefile:1403: recipe for target '_module_/var/lib/dkms/broadcom-sta/6.30.223.248/build' failed
make[3]: *** [_module_/var/lib/dkms/broadcom-sta/6.30.223.248/build] Error 2
Makefile:146: recipe for target 'sub-make' failed
make[2]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.2.0-0.bpo.1-amd64'
Makefile:158: recipe for target 'all' failed
make: *** [all] Error 2

这就是构建日志。有没有什么合理的方法可以让我也拥有 wifi 和蓝牙 LE?

我在 ubuntu 错误跟踪器上发现了这个错误列表:https://bugs.launchpad.net/ubuntu/+source/broadcom-sta/+bug/1504975

看来我不是唯一面临这个问题的人。

答案1

https://launchpad.net/~longsleep/+archive/ubuntu/bcmwl 应该修一下wifi

你应该能够安装它

sudo add-apt-repository ppa:longsleep/bcmwl
sudo apt-get update
sudo apt-get install bcmwl-kernel-source

重启

相关内容