■動くには動くけど、エラーログが結構でるので無線LANドライバを入れ替えてみる[未解決] ※結果的に何も変わらなかった Debian bookwormで無線LANを使用する https://labunix.hateblo.jp/entry/20231021/1697881875 ■対象はdebian bookworm 12.2 $ cat /etc/*release PRETTY_NAME="Debian GNU/Linux 12 (bookworm)" NAME="Debian GNU/Linux" VERSION_ID="12" VERSION="12 (bookworm)" VERSION_CODENAME=bookworm ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/" $ lsb_release -d No LSB modules are available. Description: Debian GNU/Linux 12 (bookworm) $ dpkg -l | awk '$3 ~ /deb1[0-2]u/&&$2 ~ /^base/ && $1 ~ /ii/' ii base-files 12.4+deb12u2 amd64 Debian base system miscellaneous files ■通常はアーカイブエリアにあるnon-free-firmwareを使用する https://www.debian.org/releases/bookworm/amd64/release-notes/ch-whats-new.ja.html#archive-areas ■2ヶ月前にいくつかのエラーが修正されていそうなところを見つけたので入れ替えてみる rtw8852b.c https://github.com/lwfinger/rtw89/commit/0437ffbfb9093a263817e56db7f1378ef508880a ■無線LANドライバの入れ替え 「make」前には「rtw_8852be.ko」が存在しないので、既存との比較は「make」後 $ git clone https://github.com/lwfinger/rtw89.git $ cd rtw89 $ grep 8852be Makefile obj-m += rtw_8852be.o rtw_8852be-y := rtw8852be.o @$(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der rtw_8852be.ko $ make $ cmp ~/temp/rtw89/rtw_8852be.ko /usr/lib/modules/6.1.0-13-amd64/kernel/drivers/net/wireless/realtek/rtw89/rtw_8852be.ko /home/labunix/temp/rtw89/rtw_8852be.ko /usr/lib/modules/6.1.0-13-amd64/kernel/drivers/net/wireless/realtek/rtw89/rtw_8852be.ko 異なります: バイト 41、行 1 $ sudo make install make -C /lib/modules/6.1.0-13-amd64/build M=/home/labunix/temp/rtw89 modules make[1]: ディレクトリ '/usr/src/linux-headers-6.1.0-13-amd64' に入ります make[1]: ディレクトリ '/usr/src/linux-headers-6.1.0-13-amd64' から出ます Install rtw89 SUCCESS $ sudo modinfo rtw_8852be filename: /lib/modules/6.1.0-13-amd64/kernel/drivers/net/wireless/realtek/rtw89/rtw_8852be.ko license: Dual BSD/GPL description: Realtek 802.11ax wireless 8852BE driver author: Realtek Corporation alias: pci:v000010ECd0000B85Bsv*sd*bc*sc*i* alias: pci:v000010ECd0000B852sv*sd*bc*sc*i* depends: rtw89pci,rtw_8852b retpoline: Y name: rtw_8852be vermagic: 6.1.0-13-amd64 SMP preempt mod_unload modversions ■システムの再起動でKernelの読み直し $ sudo shutdown -r now && exit ■結局変わらなかった、エラーの内容 まあ、気持ち悪いけど動くからいいか。。 $ sudo awk '$5 ~ /rtw89_8852be/{if(/ERR/){a[substr($1,1,10)"E"]+=$1}else{a[substr($1,1,10)"I"]+=$1}}END{for(n in a){print n,a[n] | "sort -V -k 1"}}' /var/log/syslog{,.1} 2023-10-25E 4938143 2023-10-25I 3542273 2023-10-26E 3398640 2023-10-26I 2427600 2023-10-27E 1019592 2023-10-27I 728280 2023-10-28E 6004264 2023-10-28I 4288760 2023-10-29E 6004264 2023-10-29I 4288760 ■kernelが以下の形式で出すエラー。最後の8方の16進数を4桁(0x含めて6文字)にまとめて集計してみる $ sudo awk '/\[ERR\]fw PC = 0xb89f/{for(a=3;a<=NF;a++){printf "%s ",$a}}END{printf "\n"}' /var/log/syslog{,.1} kernel: [153012.136396] rtw89_8852be 0000:03:00.0: [ERR]fw PC = 0xb89ff3e9 $ echo -n "b89ff3e9" | wc -c 8 $ sudo awk '/\[ERR\]fw PC = 0x/{a[substr($NF,1,6)]+=1}END{for(n in a){print n,a[n] | "sort -V"}}' /var/log/syslog{,.1} 0xb89a 1410 0xb89b 2 0xb89f 1 0xb890 186 0xb892 136 0xb893 1092 0xb897 195 0xb898 5954 0xb899 8 0xbfc0 1 ■以下は件数の違いがあるだけで、毎回出ているエラー $ sudo awk -v hostname=$(hostname -s) \ '($5 ~ /rtw89_8852be/&& $0 ~ /ERR/){gsub(hostname".*rtw89_8852be","",$0);a[substr($1,1,10)" "substr($0,35)]+=1}END{for(n in a){print n,a[n] | "sort -V"}}' /var/log/syslog{,.1} | \ awk '{a=$0;gsub($1" ","",a);print "echo \042"a"\042 >> "$1}' | sort -V | sh $ sdiff 2023-10-2{5,6} | grep -v "\[ERR\]" $ sdiff 2023-10-2{7,8} | grep -v "\[ERR\]" $ sdiff 2023-10-{29,30} | grep -v "\[ERR\]" 0000:03:00.0: R_AX_CMAC_ERR_IMR [0]=0x00000000 44 | 0000:03:00.0: R_AX_CMAC_ERR_IMR [0]=0x00000000 30 0000:03:00.0: R_AX_CMAC_ERR_ISR [0]=0x00000000 44 | 0000:03:00.0: R_AX_CMAC_ERR_ISR [0]=0x00000000 30 0000:03:00.0: R_AX_DBG_ERR_FLAG=0x00000000 44 | 0000:03:00.0: R_AX_DBG_ERR_FLAG=0x00000000 30 0000:03:00.0: R_AX_DMAC_ERR_IMR=0x00000000 43 | 0000:03:00.0: R_AX_DMAC_ERR_IMR=0x00000000 30 0000:03:00.0: R_AX_DMAC_ERR_ISR=0x00000040 43 | 0000:03:00.0: R_AX_DMAC_ERR_ISR=0x00000040 30 0000:03:00.0: R_AX_PLE_ERR_FLAG_CFG=0x83190000 43 | 0000:03:00.0: R_AX_PLE_ERR_FLAG_CFG=0x83190000 30 0000:03:00.0: R_AX_PLE_ERR_FLAG_ISR=0x02000000 43 | 0000:03:00.0: R_AX_PLE_ERR_FLAG_ISR=0x02000000 30 0000:03:00.0: R_AX_PLE_ERR_IMR=0xffffffdf 43 | 0000:03:00.0: R_AX_PLE_ERR_IMR=0xffffffdf 30 0000:03:00.0: R_AX_WDE_ERR_FLAG_CFG=0x00000000 43 | 0000:03:00.0: R_AX_WDE_ERR_FLAG_CFG=0x00000000 30 0000:03:00.0: R_AX_WDE_ERR_IMR=0xffffffff 43 | 0000:03:00.0: R_AX_WDE_ERR_IMR=0xffffffff 30 0000:03:00.0: R_AX_WDE_ERR_ISR=0x00000000 43 | 0000:03:00.0: R_AX_WDE_ERR_ISR=0x00000000 30