web-dev-qa-db-ja.com

4.15 OR 4.16へのカーネルアップグレード後にwifiがありません

私はUbuntu 16.04にいて、このネットワークカードを持っています: https://www.tp-link.com/uk/products/details/cat-11_Archer-T6E.html

カーネル4.14.xでは、すべてが正常に機能しています。しかし、4.15.xまたは4.16にアップグレードすると、wifi接続が表示されません。ただし、携帯電話のUSBを介して一時的な接続を取得できます。

lspci -knn | grep Net -A2は戻ります

04:00.0 Network controller [0280]: Broadcom Corporation BCM4360 802.11ac Wireless Network Adapter [14e4:43a0] (rev 03)
Subsystem: Broadcom Corporation BCM4360 802.11ac Wireless Network Adapter [14e4:0619]
Kernel modules: bcma

modprobe wlを実行しようとすると

modprobe: FATAL: Module wl not found in directory /lib/modules/4.16.0-041600-generic

bcmwl-kernel-sourceを再インストールしようとしました

Sudo apt purge bcmwl-kernel-source
Sudo apt-get install --reinstall linux-headers-generic
Sudo apt-get install bcmwl-kernel-source

しかし、これは

The following NEW packages will be installed:


bcmwl-kernel-source
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,544 kB of archives.
After this operation, 8,064 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/restricted AMD64 bcmwl-kernel-source AMD64 6.30.223.271+bdcom-0ubuntu1~1.2 [1,544 kB]
Fetched 1,544 kB in 0s (2,774 kB/s)           
Selecting previously unselected package bcmwl-kernel-source.
(Reading database ... 499695 files and directories currently installed.)
Preparing to unpack .../bcmwl-kernel-source_6.30.223.271+bdcom-0ubuntu1~1.2_AMD64.deb ...
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.16.0-041600-generic
Building for architecture x86_64
Building initial module for 4.16.0-041600-generic
ERROR (dkms apport): kernel package linux-headers-4.16.0-041600-generic is not supported
Error! Bad return status for module build on kernel: 4.16.0-041600-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.16.0-041600-generic
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.122ubuntu8.11) ...
update-initramfs: Generating /boot/initrd.img-4.16.0-041600-generic

そして、これは/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/make.logの出力です

https://Pastebin.com/UP4Gm1Td

答えは非常に明白です。 Broadcom独自のドライバーは、最新のカーネル用にはビルドしません。

また、4.15および4.16カーネルはUbuntuによって公式にサポートされていません。

18.04 Ubuntuリリースからドライバーを試すことができます http://mirrors.kernel.org/ubuntu/pool/restricted/b/bcmwl/bcmwl-kernel-source_6.30.223.271+bdcom-0ubuntu4_AMD64.deb

4.15カーネル用にビルドされる場合があります。

7
Pilot6

Ubuntu Xenial 16.04、 Pilot6 answerでテスト済み。 deb-packageをBionicバージョンに置き換えず、代わりに必要なファイル(正確には3ファイル)を抽出します。

T=$(mktemp -d)
dpkg-deb bcmwl-kernel-source_6.30.223.271+bdcom-0ubuntu4_AMD64.deb $T
cd $T
cat << EOF | xargs -i echo Sudo cp -avi {} /{}
usr/src/bcmwl-6.30.223.271+bdcom/patches/0026-add-support-for-Linux-4.15.patch
usr/src/bcmwl-6.30.223.271+bdcom/patches/0025-add-support-for-Linux-4.14.patch
usr/src/bcmwl-6.30.223.271+bdcom/dkms.conf
EOF
# I just echo the "Sudo cp" cmds. Double check and exec manually
# Complete with: rm -Rfv $T

その後、dkmsを再構築します

for k in $(ls /var/lib/initramfs-tools) ; do
for d in $(cd /usr/src; ls -d *-*) ; do
 [[ -f /usr/src/${d}/dkms.conf ]] || continue
 m=$(echo $d | sed -r -e 's/-([0-9]).+//')
 v=$(echo $d | sed -r -e 's/[^0-9]+-([0-9])/\1/')
 Sudo /usr/sbin/dkms install -c /usr/src/$d/dkms.conf -m $m -v $v -k $k
done
done 
0
sehari24jam