Marvel wifiモジュールの不具合

最近のSamsung ChromeBookのArchlinuxのアップデートでWifiの問題が発生したので調べてみました。

journalctl -xf

すると、次のようなエラーがありました。

...
WLAN FW is active
CMD_RESP: cmd 0x242 error, result=0x2
...

調べてみると過去数年に渡ってこの問題が繰り返しおこっており、カーネルを正常に動作していた前バージョンに戻すよりほかはありません。

Archlinuxはローリング・リリースを採用していて、過去のパッケージは残らないようになっているので注意が必要です。/var/cache/pacman/pkgにダウンロードしたパッケージが置かれており、それを使ってダウングレードします。

linux-armv7-5.2.10-2-armv7h.pkg.tar.xz
linux-armv7-chromebook-5.2.10-2-armv7h.pkg.tar.xz

pacman -U <pkg name>でダウングレードします。

カーネルのinitramfsもアップデートする必要があります。

mkinitcpio -k 5.2.10-2-ARCH -g /boot/initramfs-linux.img
==> Starting build: 5.2.10-2-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [encrypt]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
==> Image generation successful

これでカーネルパッケージのダウングレードは完了します。

pacmanの設定

ダウングレードができたらカーネルを更新しないように設定します。

/etc/pacman.conf

IgnorePkg   = linux-armv7 linux-armv7-chromebook