Debian

debian jessie backports wifi 和藍牙

  • October 31, 2015

我正在執行 debian 8,我需要更新 bluez 和 debian 核心。Bluez 需要高於 5.23 才能使帶有 LE 的藍牙或智能藍牙設備工作。

我在 Mac 上,我需要安裝 Broadcom 無線驅動程序才能讓我的 wifi 正常工作。

如果我避免在反向移植中將核心更新到 4.2.0,我可以按照此處列出的步驟進行操作,然後我的 wifi 工作正常,但我的藍牙設備無法工作。

如果我升級到最新核心,我的藍牙設備將無法工作。當我將它與 bluetoothctl 配對並將其連接時,它可以工作,但是一旦我停止移動滑鼠,它就會取消配對並死掉。我必須重新配對/重新連接。有了新核心,這個問題就消失了。

所以我想嘗試修復我的wifi。

我按照維基的步驟

當我嘗試執行時,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

似乎我不是唯一一個面臨這個問題的人。

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

重啟

引用自:https://unix.stackexchange.com/questions/239890