升级内核从 3.0.8 到 3.9.4 时出现错误(dkms apport)

升级内核从 3.0.8 到 3.9.4 时出现错误(dkms apport)

我在使用 Ubuntu 13.04,遇到了很多问题,例如:

  • 从挂起状态唤醒时崩溃
  • 退出会话时崩溃
  • Unity 中随机崩溃(i3wm 中没有)
  • 启动缓慢
  • 启动过程中出现一些错误

我已经研究这个问题有一段时间了,有人认为这一定是某种低级错误,并告诉我在提交错误报告之前尝试更新内核。

但是,当我尝试从 kernel.ubuntu.com 更新到主线内核时,在安装 headers-generic-amd64 文件时出现此错误:

martinux@g580:~/Downloads$ sudo dpkg -i linux-headers-3.9.4-030904-generic_3.9.4-030904.201305241545_amd64.deb 
(Reading database ... 226254 files and directories currently installed.)
Preparing to replace linux-headers-3.9.4-030904-generic 3.9.4-030904.201305241545 (using linux-headers-3.9.4-030904-generic_3.9.4-030904.201305241545_amd64.deb) ...
Unpacking replacement linux-headers-3.9.4-030904-generic ...
Setting up linux-headers-3.9.4-030904-generic (3.9.4-030904.201305241545) ...
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 3.9.4-030904-generic /boot/vmlinuz-3.9.4-030904-generic
ERROR (dkms apport): kernel package linux-headers-3.9.4-030904-generic is not supported
Error! Bad return status for module build on kernel: 3.9.4-030904-generic (x86_64)
Consult /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/make.log for more information.

这是 make.log

DKMS make.log for bcmwl-6.20.155.1+bdcom for kernel 3.9.4-030904-generic (x86_64)
sø. 02. juni 16:18:29 +0200 2013
make: Entering directory `/usr/src/linux-headers-3.9.4-030904-generic'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
  LD      /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/built-in.o
  CC [M]  /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/shared/linux_osl.o
  CC [M]  /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_linux.o
  CC [M]  /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_iw.o
  CC [M]  /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.o
/var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c:1578:2: warning: initialization from incompatible pointer type [enabled by default]
/var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c:1578:2: warning: (near initialization for ‘wl_cfg80211_ops.set_tx_power’) [enabled by default]
/var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c:1579:2: warning: initialization from incompatible pointer type [enabled by default]
/var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c:1579:2: warning: (near initialization for ‘wl_cfg80211_ops.get_tx_power’) [enabled by default]
/var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c: In function ‘wl_update_bss_info’:
/var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c:2025:3: warning: passing argument 1 of ‘cfg80211_put_bss’ from incompatible pointer type [enabled by default]
In file included from /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c:33:0:
include/net/cfg80211.h:3302:6: note: expected ‘struct wiphy *’ but argument is of type ‘struct cfg80211_bss *’
/var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c:2025:3: error: too few arguments to function ‘cfg80211_put_bss’
In file included from /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c:33:0:
include/net/cfg80211.h:3302:6: note: declared here
make[1]: *** [/var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.o] Error 1
make: *** [_module_/var/lib/dkms/bcmwl/6.20.155.1+bdcom/build] Error 2
make: Leaving directory `/usr/src/linux-headers-3.9.4-030904-generic'

我在使用联想 g580,想知道是否有可能修复此问题,或者我是否应该提交错误报告并安装 12.10。

答案1

bcmwl 包中有一个未解决的错误:

https://bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/1157880

因此,如果您有 Broadcom 无线网卡,则需要降级到 3.8.0 才能构建无线驱动程序。

答案2

事实证明,尽管我遇到了错误,但新内核确实已经安装。

我还被建议(我没有尝试过)尝试一下

 sudo apt-get purge bcmwl-kernel-source

以避免错误。

相关内容