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

重啟

相關內容