debianのOSをインストールした際にコマンドラインでwifiの設定をする機会があったので、 手順をまとめました。

前提条件

インストールしたOSのバージョンは以下の通りです。

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 9.8 (stretch)
Release:        9.8
Codename:       stretch
$ uname -a
Linux debian-server 4.9.0-8-686-pae #1 SMP Debian 4.9.144-3.1 (2019-02-19) i686 GNU/Linux
$ cat /proc/version
Linux version 4.9.0-8-686-pae (debian-kernel@lists.debian.org) (gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) ) #1 SMP Debian 4.9.144-3.1 (2019-02-19)

sourcelistの更新

まずは、non-freeリポジトリからドライバをダウンロードするため、sources.listを更新します。 non-freeって何だろう

$ sudo vim /etc/apt/sources.list

以下のように修正。

deb http://deb.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://deb.debian.org/debian/ stretch-updates main contrib non-free

deb http://ftp.jp.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ stable main contrib non-free

deb http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free

deb http://volatile.debian.org/debian-volatile stable/volatile main contrib non-free
deb-src http://volatile.debian.org/debian-volatile stable/volatile main contrib non-free

無線LANカード情報の取得、ファームウェアの調査

以下のコマンドで使用する無線LANカード情報を調べます。

$ lspci | grep Network
01:00.0 Network controller: Intel Corporation Wireless 3165 (rev 81)
$ lspci -vvnn | grep -A 9 Network | grep Kernel
Kernel modules: iwlwifi

私が使用しているPCだと、「iwlwifi」だと分かりました。

こちらのwikiにも無線LANとそれに対応するドライバ・ファームウェアが記載されていますので参考に。 WifiDocs/WirelessCardsSupported

ファームウェアの検索

ドライバーのリポジトリを追加したので、リポジトリにファームウェアがあるかどうか検索してみます。

$ sudo apt-cache search firmware

ファームウェアのインストール

私の場合は以下の名前でしたので、それをインストールします。

$ sudo apt-get install firmware-iwlwifi

一旦リブート

$ sudo reboot

ファームウェアインストールの確認

ipのコマンドでwifiが追加されていることを確認。

$ ip link show wlp1s0
3: wlp1s0: <no-carrier,broadcast,multicast,up> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000
link/ether 9e:17:a5:3c:08:7b brd ff:ff:ff:ff:ff:ff

wifi設定ファイルの作成・追記

wifiのドライバーのインストールが完了して、認識されているのでwifiの設定をします。

$ wpa_passphrase "Your_SSID" Your_passwd

上記のコマンドで出力された内容を、/etc/wpasupplicant/wpasupplicant.confに追記、または作成します。

おそらくこういう感じで出力されているはず。 セキュリティ上、生のパスワードは削除しておきましょう。(#の部分)

network={
ssid="${your ssid}"
#psk="${your password}"
psk=${key}
}

wifi設定ファイルを登録

$ sudo vi /etc/network/interfaces

この行を追加

auto wlp1s0
iface wlp1s0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

またまたリブート

$ sudo reboot

リブートせずとも、以下のコマンドでもよいかもしれませんが

sudo ifdown wlp1s0
sudo ifup wlp1s0

接続の確認

$ ip address
3: wlp1s0: <broadcast,multicast,up,lower_up> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 20:79:18:91:c6:d4 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.22/24 brd 192.168.11.255 scope global wlp1s0
valid_lft forever preferred_lft forever
inet6 2408:211:140c:6b00:2279:18ff:fe91:c6d4/64 scope global mngtmpaddr dynamic
valid_lft 86397sec preferred_lft 14397sec
inet6 fe80::2279:18ff:fe91:c6d4/64 scope link
valid_lft forever preferred_lft forever

正しく設定できていれば、IPアドレスが割り当てられているはずです。

参考

以下のサイトの情報を参考にさせていただきました、ありがとうございます。