Debianで蟹チップWi-Fiを使う

先日、愛機 VersaPro VY12M/C-3 に Debian 10 Buster を導入しました。

当機には Wi-Fi が内蔵されておらず、USB ドングルで無線化しています。

ネットワークが使えないと思ったより辛いので、早々に Wi-Fi 導入しました。

目次

環境

Machine

OS

  • Debian 10 Buster x86

Debian インストール

イメージファイル取得

インストール用の ISO イメージをダウンロードします。
Debian はデスクトップ環境毎に分かれていないので、インストール中にデスクトップ環境を選ぶことになります。
※全部で 3枚分ありますが、1枚目だけで足ります。

base on Index of /pub/Linux/debian-cd/current/i386/iso-dvd

debian-10.9.0-i386-DVD-1.iso
debian-10.9.0-i386-DVD-2.iso
debian-10.9.0-i386-DVD-3.iso

敢えて、通常版をダウンロードしたのは、どうも USB ドングルだとファームウェア込み ISO(firmware 版)でも、自動ドライバ導入はできないみたいなので。
(少なくとも、VY12M/C-3WDC-150SU2MBK とのセットではダメでした)。

ちなみに、内蔵 Wi-Fi を使っている別機 VersaPro VK27M/B-G では、firmware 版を使うことでインストール中に自動でドライバが導入されました。

ファームウェア込み ISO(firmware)

インストールメディア作成

当ブログでも何度かご紹介している Etcher を使って USB メモリに書き込みます。

Linux 版は AppImage 形式で配布されているので(ダウンロードして実行権限を付与すれば)すぐに使えます。

base on balenaEtcher - Flash OS images to SD cards & USB drives

ASSET OS ARCH
Etcher for Windows (x86/x64) (Installer) Windows x86/x64
Etcher for Windows (x86/x64) (Portable) Windows x86/x64
Etcher for macOS macOS x64
Etcher for Linux x64 (64-bit) (AppImage) Linux x64
Etcher for Linux x86 (32-bit) (AppImage) Linux x86

Ether で書き込んだ USB メモリから起動して、インストールします。

設定

アップデート

インストール後の設定は、有線 LAN を接続して行います。
※USB ドングル Wi-Fi が使えるようになるまでの経過処置です。

エラー

インストール直後だと、アップデートできません。

# apt update -y
無視:1 cdrom://[Debian GNU/Linux 10.9.0 _Buster_ - Official i386 DVD Binary-1 20210327-10:50] buster InRelease
エラー:2 cdrom://[Debian GNU/Linux 10.9.0 _Buster_ - Official i386 DVD Binary-1 20210327-10:50] buster Release
  この CD-ROM を APT に認識させるには apt-cdrom を使用してください。新しい CD-ROM を追加するために apt-get update は使用できません。
パッケージリストを読み込んでいます... 完了
E: リポジトリ cdrom://[Debian GNU/Linux 10.9.0 _Buster_ - Official i386 DVD Binary-1 20210327-10:50] buster Release には Release ファイルがありません。
N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。
N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。

リポジトリ情報の修正

リポジトリ情報を記載するファイル sources.list をメンテナンスします。

基本的な記述については、公式サイトを参考にします。

base on Debian JP Project - ミラーサイトについて

/etc/apt/sources.list のサーバ指定を次のように設定してください。
ftp.jp.debian.org は cdn.debian.or.jp と同じ実体なので、cdn.debian.or.jp を指定していた場合には変更の必要はありません。

deb http://ftp.jp.debian.org/debian/ buster main contrib non-free
deb http://ftp.jp.debian.org/debian buster-updates main contrib
  • 設定サンプル
# diff -u /root/sources.list /etc/apt/sources.list

 # deb cdrom:[Debian GNU/Linux 10.9.0 _Buster_ - Official i386 DVD Binary-1 20210327-10:50]/ buster contrib main

-deb cdrom:[Debian GNU/Linux 10.9.0 _Buster_ - Official i386 DVD Binary-1 20210327-10:50]/ buster contrib main
+#deb cdrom:[Debian GNU/Linux 10.9.0 _Buster_ - Official i386 DVD Binary-1 20210327-10:50]/ buster contrib main

-#deb http://security.debian.org/debian-security buster/updates main contrib
+deb http://security.debian.org/debian-security buster/updates main contrib non-free
-#deb-src http://security.debian.org/debian-security buster/updates main contrib
+deb-src http://security.debian.org/debian-security buster/updates main contrib non-free

+deb http://deb.debian.org/debian/ buster main contrib non-free
+deb-src http://deb.debian.org/debian/ buster main contrib non-free
+
+deb http://deb.debian.org/debian/ buster/updates main contrib non-free
+deb-src http://deb.debian.org/debian/ buster/updates main contrib non-free
+
+deb http://deb.debian.org/debian/ buster-updates main contrib non-free
+deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free
+
+deb http://ftp.jp.debian.org/debian/ buster-backports main contrib non-free
+deb-src http://ftp.jp.debian.org/debian/ buster-backports main contrib non-free
+
+deb http://www.deb-multimedia.org buster main non-free

問題なくアップデートできれば OK です。

Wi-Fi

ELECOM 製 USB ドングル WDC-150SU2MBK を設定していきます。

コントローラチップの確認

今回は lsusb コマンドで USB デバイスの確認が出来なかったので、dmesg コマンドで確認していきます。

ちなみに、lsusb コマンドだとこんな感じに表示されます。 ※今回とは違う USB ドングルです。

base on ArmbianでWi-Fi設定(成功編) – あららぼ

# lsusb
Bus 005 Device 002: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0789:0168 Logitec Corp. LAN-W150N/U2 Wireless LAN Adapter
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

dmesg で表示されるのは /var/log/dmesg の中身です。
※OS 起動直後からファイルシステムがマウントされるまでのログが保存されています。

蟹チップ(Realtek / リアルテック)は、接頭語に RTL が付くのを逆手に取って確認します。
※RTL8188 が使われている模様。

# dmesg | grep rtl
[   43.691583] r8188eu 2-1:1.0: firmware: failed to load rtlwifi/rtl8188eufw.bin (-2)
[   43.691598] r8188eu 2-1:1.0: Direct firmware load for rtlwifi/rtl8188eufw.bin failed with error -2
[   43.691604] r8188eu 2-1:1.0: Firmware rtlwifi/rtl8188eufw.bin not available

ドライバ導入

リポジトリでドライバ firmware- を検索すると見つかるので、インストールします。

#  apt-cache search firmware-realtek
firmware-realtek - Binary firmware for Realtek wired/wifi/BT adapters

# apt install -y firmware-realtek
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  firmware-realtek
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
505 kB のアーカイブを取得する必要があります。
この操作後に追加で 1,601 kB のディスク容量が消費されます。
取得:1 http://deb.debian.org/debian buster/non-free i386 firmware-realtek all 20190114-2 [505 kB]
505 kB を 0秒 で取得しました (4,184 kB/s)
以前に未選択のパッケージ firmware-realtek を選択しています。
(データベースを読み込んでいます ... 現在 111088 個のファイルとディレクトリがインストールされています。)
.../firmware-realtek_20190114-2_all.deb を展開する準備をしています ...
firmware-realtek (20190114-2) を展開しています...
firmware-realtek (20190114-2) を設定しています ...
update-initramfs: deferring update (trigger activated)
initramfs-tools (0.133+deb10u1) のトリガを処理しています ...
update-initramfs: Generating /boot/initrd.img-4.19.0-16-686-pae
W: Possible missing firmware /lib/firmware/e100/d102e_ucode.bin for module e100
W: Possible missing firmware /lib/firmware/e100/d101s_ucode.bin for module e100
W: Possible missing firmware /lib/firmware/e100/d101m_ucode.bin for module e100
W: Possible missing firmware /lib/firmware/i915/bxt_dmc_ver1_07.bin for module i915
W: Possible missing firmware /lib/firmware/i915/skl_dmc_ver1_27.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1_04.bin for module i915
W: Possible missing firmware /lib/firmware/i915/cnl_dmc_ver1_07.bin for module i915
W: Possible missing firmware /lib/firmware/i915/glk_dmc_ver1_04.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_39.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver9_29.bin for module i915
W: Possible missing firmware /lib/firmware/i915/skl_guc_ver9_33.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_huc_ver02_00_1810.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_huc_ver01_07_1398.bin for module i915
W: Possible missing firmware /lib/firmware/i915/skl_huc_ver01_07_1398.bin for module i915

確認

firmware 導入後にデバイスを抜き差しすると、認識されます。

# wpa_cli
wpa_cli v2.8-devel
Copyright (c) 2004-2019, Jouni Malinen <j@w1.fi> and contributors

This software may be distributed under the terms of the BSD license.
See README for more details.

Selected interface 'wlxbc5c4c4da5b2'

Interactive mode

おまけ

Debian 10 には最初から認証ソフトウェア WPA Supplicant(wpa_supplicant コマンド)が導入済みでした。

# dpkg -l | grep  wpasupplicant
ii  wpasupplicant                         2:2.7+git20190128+0c1e29f-6+deb10u3     i386         client support for WPA and WPA2 (IEEE 802.11i)

なお、firmware 導入前だとデバイスが認識されません。

# iwlist wlan0 scan
wlan0     Interface doesn't support scanning.