it-swarm.com.de

Wie kann ich den Broadcom-Treiber Wifi mit dem Kernel 4.15.0-xx unter Ubuntu 16.04 reparieren?

Ich habe einen Treiber für den Broadcom-Netzwerkadapter unter Windows neu installiert und danach funktionierte mein WLAN unter Ubuntu (16.04) nicht mehr vollständig.

Ich habe versucht, die Treiber mit den folgenden Befehlen neu zu installieren:

1. Sudo apt-get purge bcmwl-kernel-source
2. Sudo apt-get install bcmwl-kernel-source

Aber es hat nicht geholfen

Ausgabe des zweiten Kommandos (install bcmwl-kernel-source):

Unpacking bcmwl-kernel-source (6.30.223.271+bdcom-0ubuntu1~1.2) ...
Setting up bcmwl-kernel-source (6.30.223.271+bdcom-0ubuntu1~1.2) ...
Loading new bcmwl-6.30.223.271+bdcom DKMS files...
First Installation: checking all kernels...
Building only for 4.15.0-24-generic
Building for architecture x86_64
Building initial module for 4.15.0-24-generic
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/bcmwl-kernel-source.0.crash'
Error! Bad return status for module build on kernel: 4.15.0-24-generic (x86_64)
Consult /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/make.log for more information.
modprobe: FATAL: Module wl not found in directory /lib/modules/4.15.0-24-generic
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.122ubuntu8.11) ...
update-initramfs: Generating /boot/initrd.img-4.15.0-24-generic
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915
[email protected]:~# apt-get install bcmwl-kernel-source
Reading package lists... Done
Building dependency tree       
Reading state information... Done
bcmwl-kernel-source is already the newest version (6.30.223.271+bdcom-0ubuntu1~1.2).

Dieser Befehl lspci -nn -d 14e4 gibt Folgendes aus:

08:00.0 Network controller [0280]: Broadcom Limited BCM43142 802.11b/g/n [14e4:4365] (rev 01)

Können Sie mir sagen, wie ich mein Problem beheben kann?

/ var/crash/bcmwl-kernel-source.0.crash

ProblemType: Package
DKMSBuildLog:
 DKMS make.log for bcmwl-6.30.223.271+bdcom for kernel 4.15.0-24-generic (x86_64)
 Вт июл  3 16:26:40 MSK 2018
 make: Entering directory '/usr/src/linux-headers-4.15.0-24-generic'
 Makefile:976: "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel"
 CFG80211 API is prefered for this kernel version
 Using CFG80211 API
   CC [M]  /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.o
 /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c: In function ‘osl_os_get_image_block’:
 /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:1083:26: warning: passing argument 2 of ‘kernel_read’ makes pointer from integer without a cast [-Wint-conversion]
   rdlen = kernel_read(fp, fp->f_pos, buf, len);
                           ^
 In file included from ./include/linux/huge_mm.h:7:0,
                  from ./include/linux/mm.h:463,
                  from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/include/linuxver.h:65,
                  from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:25:
 ./include/linux/fs.h:2858:16: note: expected ‘void *’ but argument is of type ‘loff_t {aka long long int}’
  extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
                 ^
 /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:1083:37: warning: passing argument 3 of ‘kernel_read’ makes integer from pointer without a cast [-Wint-conversion]
   rdlen = kernel_read(fp, fp->f_pos, buf, len);
                                      ^
 In file included from ./include/linux/huge_mm.h:7:0,
                  from ./include/linux/mm.h:463,
                  from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/include/linuxver.h:65,
                  from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:25:
 ./include/linux/fs.h:2858:16: note: expected ‘size_t {aka long unsigned int}’ but argument is of type ‘char *’
  extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
                 ^
 /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:1083:42: warning: passing argument 4 of ‘kernel_read’ makes pointer from integer without a cast [-Wint-conversion]
   rdlen = kernel_read(fp, fp->f_pos, buf, len);
                                           ^
 In file included from ./include/linux/huge_mm.h:7:0,
                  from ./include/linux/mm.h:463,
                  from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/include/linuxver.h:65,
                  from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:25:
 ./include/linux/fs.h:2858:16: note: expected ‘loff_t * {aka long long int *}’ but argument is of type ‘int’
  extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
                 ^
   CC [M]  /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.o
 /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c: In function ‘wl_init_timer’:
 /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:2359:2: error: implicit declaration of function ‘init_timer’ [-Werror=implicit-function-declaration]
   init_timer(&t->timer);
   ^
 /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:2360:10: error: ‘struct timer_list’ has no member named ‘data’
   t->timer.data = (ulong) t;
           ^
 /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:2361:20: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
   t->timer.function = wl_timer;
                     ^
 cc1: some warnings being treated as errors
 scripts/Makefile.build:332: recipe for target '/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.o' failed
 make[1]: *** [/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.o] Error 1
 Makefile:1552: recipe for target '_module_/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build' failed
 make: *** [_module_/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build] Error 2
 make: Leaving directory '/usr/src/linux-headers-4.15.0-24-generic'
DKMSKernelVersion: 4.15.0-24-generic
Date: Tue Jul  3 16:26:46 2018
DuplicateSignature: dkms:bcmwl-kernel-source:6.30.223.271+bdcom-0ubuntu1~1.2:/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:2359:2: error: implicit declaration of function ‘init_timer’ [-Werror=implicit-function-declaration]
Package: bcmwl-kernel-source 6.30.223.271+bdcom-0ubuntu1~1.2
PackageVersion: 6.30.223.271+bdcom-0ubuntu1~1.2
SourcePackage: bcmwl
Title: bcmwl-kernel-source 6.30.223.271+bdcom-0ubuntu1~1.2: bcmwl kernel module failed to build

/ var/lib/dkms/bcmwl/6.30.223.271 + bdcom/build/make.log

DKMS make.log for bcmwl-6.30.223.271+bdcom for kernel 4.15.0-24-generic (x86_64)
Чт июл  5 16:26:16 MSK 2018
make: Entering directory '/usr/src/linux-headers-4.15.0-24-generic'
Makefile:976: "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel"
CFG80211 API is prefered for this kernel version
Using CFG80211 API
  CC [M]  /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.o
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c: In function ‘osl_os_get_image_block’:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:1083:26: warning: passing argument 2 of ‘kernel_read’ makes pointer from integer without a cast [-Wint-conversion]
  rdlen = kernel_read(fp, fp->f_pos, buf, len);
                          ^
In file included from ./include/linux/huge_mm.h:7:0,
                 from ./include/linux/mm.h:463,
                 from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/include/linuxver.h:65,
                 from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:25:
./include/linux/fs.h:2858:16: note: expected ‘void *’ but argument is of type ‘loff_t {aka long long int}’
 extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
                ^
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:1083:37: warning: passing argument 3 of ‘kernel_read’ makes integer from pointer without a cast [-Wint-conversion]
  rdlen = kernel_read(fp, fp->f_pos, buf, len);
                                     ^
In file included from ./include/linux/huge_mm.h:7:0,
                 from ./include/linux/mm.h:463,
                 from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/include/linuxver.h:65,
                 from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:25:
./include/linux/fs.h:2858:16: note: expected ‘size_t {aka long unsigned int}’ but argument is of type ‘char *’
 extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
                ^
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:1083:42: warning: passing argument 4 of ‘kernel_read’ makes pointer from integer without a cast [-Wint-conversion]
  rdlen = kernel_read(fp, fp->f_pos, buf, len);
                                          ^
In file included from ./include/linux/huge_mm.h:7:0,
                 from ./include/linux/mm.h:463,
                 from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/include/linuxver.h:65,
                 from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:25:
./include/linux/fs.h:2858:16: note: expected ‘loff_t * {aka long long int *}’ but argument is of type ‘int’
 extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
                ^
  CC [M]  /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.o
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c: In function ‘wl_init_timer’:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:2359:2: error: implicit declaration of function ‘init_timer’ [-Werror=implicit-function-declaration]
  init_timer(&t->timer);
  ^
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:2360:10: error: ‘struct timer_list’ has no member named ‘data’
  t->timer.data = (ulong) t;
          ^
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:2361:20: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
  t->timer.function = wl_timer;
                    ^
cc1: some warnings being treated as errors
scripts/Makefile.build:332: recipe for target '/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.o' failed
make[1]: *** [/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.o] Error 1
Makefile:1552: recipe for target '_module_/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build' failed
make: *** [_module_/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build] Error 2
make: Leaving directory '/usr/src/linux-headers-4.15.0-24-generic'
24
John Kent

Canonical hat den HWE-Stack für Ubuntu 16.04 auf den Kernel 4.15 aktualisiert. Sie haben jedoch vergessen, den Broadcom Wireless-Treiber zu aktualisieren, damit er erstellt werden kann. Es ist ein kritischer und sehr dummer Fehler, der vielen Leuten, die das LTS benutzen, Probleme bereiten wird.

Jetzt wird das Problem behoben und eine kompatible Treiberversion wurde erstellt

Dieses Problem kann behoben werden, indem eine kompatible Version von bcmwl-kernel-source installiert wird, die auf den 4.15-Kerneln aufbauen sollte.

Laden Sie http://archive.ubuntu.com/ubuntu/pool/restricted/b/bcmwl/bcmwl-kernel-source_6.30.223.271+bdcom-0ubuntu1~1.3_AMD64.deb herunter

und installieren Sie es mit dkpg.

Dies kann erfolgen durch

wget http://archive.ubuntu.com/ubuntu/pool/restricted/b/bcmwl/bcmwl-kernel-source_6.30.223.271+bdcom-0ubuntu1~1.3_AMD64.deb
Sudo dpkg -i bcmwl-kernel-source_6.30.223.271+bdcom-0ubuntu1~1.3_AMD64.deb

Windows ist überhaupt nicht verwandt.

Das Problem ist, dass Sie einen Kernel haben, der nicht mit dem Treiber kompatibel ist.

Wichtig: Wenn Sie keine andere Netzwerkverbindung als das Broadcom Wi-Fi haben, können Sie mit einem vorherigen Kernel über das Grub-Menü booten und das installieren Treiber. Es sollte für alle Kernel erstellt werden.

31
Pilot6

Apropos zu Pilot6's Nice Antwort auf diese Frage, es sieht aus wie ein offizieller Fix für xenial (dh es muss kein Paket von bionic installiert werden) wurde veröffentlicht (wenn Sie das Paket broadcom-sta verwenden) oder anderweitig festgeschrieben (wenn Sie das Paket bcmwl verwenden, das bcmwl-kernel-source bereitstellt).

Weitere Informationen finden Sie unter:

broadcom-sta: https://bugs.launchpad.net/ubuntu/+source/broadcom-sta/+bug/1777444

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

5
user847003