Raspberry Pi Zero W: Difference between revisions

 
(253 intermediate revisions by the same user not shown)
Line 1: Line 1:
Maker Faire Tokyo 2017 KSY のブースでようやく手に入れた。ちゃんと技適マークが刻印されている。
Maker Faire Tokyo 2017 KSY ブースでようやく手に入れた。ちゃんと技適マークが刻印されている。


いろいろメモメモ
いろいろメモメモ
Line 18: Line 18:


firmware イメージをインストールした SD カードを PC/Mac でマウントして /boot/config.txt に追記。
firmware イメージをインストールした SD カードを PC/Mac でマウントして /boot/config.txt に追記。
もしくは、HDMI にモニター、USB にキーボード を繋げて(これがフツーか) /boot/config.txt に追記。
 
:もしくは、HDMI にモニター、USB にキーボード を繋げて(これがフツーか) /boot/config.txt に追記。
::これをやりたく無いので Serial Console を活性させたいのだ。


<syntaxhighlight lang="text" enclose="div">
<syntaxhighlight lang="text" enclose="div">
Line 27: Line 29:


= First Step =
= First Step =
<syntaxhighlight lang="bash" enclose="div">
# user 'pi' のパスワードを変更しておく事
passwd
# Time Zone を変更する事
echo "Asia/Tokyo" | sudo tee /etc/timezone
sudo dpkg-reconfigure --frontend noninteractive tzdata
</syntaxhighlight>
その他をかえたければ
<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash" enclose="div">
sudo raspi-config
sudo raspi-config
</syntaxhighlight>
</syntaxhighlight>


起動されているサービスを確認する
<syntaxhighlight lang="text" enclose="div">
<syntaxhighlight lang="bash" enclose="div">
1 Change User Password Change password for the default user
systemctl list-unit-files | fgrep enabled
2 Hostname            Set the visible name for this Pi on a network
systemctl | fgrep running
4 Localisation Options Set up language and regional settings to match your location
5 Interfacing Options  Configure connections to peripherals
</syntaxhighlight>
</syntaxhighlight>
:必ず上記を確認して必要なら変更を行う。
::ユーザ pi のパスワードは必ず変更する事
::ホスト名は必要なら変更
::ロケーション、特に '''I4 Change Wi-fi Country''' は '''JP''' にする事。技適に関わる。
:::CLI でのみ使うので、ロケールは ja_JP にはしたくない。とはいってもわざわざ en_US する必要も無いので 女王陛下に敬意を評して GB のままにしておく;)
:::Serial Console や SSH でしか触らないので keyboard layout は気にしない。
:::時刻は UTC ではしんどいのでローカルタイム JST-9 にする。もちろん hardware clock は UTC のまま。
::インターフェースは必要な物を有効にする。たぶん SPI, I2C, {Serial は、すでに設定済みのはず} ぐらい。
:[https://github.com/RPi-Distro/raspi-config/blob/master/raspi-config github raspi-config]


= WiFi Settings =
== WiFi Settings ==
WPA2-PSK:AES
WPA2-PSK:AES


<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash" enclose="div">
wpa_passphrase [YOUR_SSID] [YOUR_ACCESS_KEY]
wpa_passphrase "YOUR_SSID" "YOUR_ACCESS_KEY"
</syntaxhighlight>
</syntaxhighlight>


Line 71: Line 74:
:電波法を遵守するために "country=JP" は忘れずに
:電波法を遵守するために "country=JP" は忘れずに


wpa-supplicant が自動的に wlan0 を UP する。もし UP しなければ下記のコマンドを使う
<syntaxhighlight lang="bash" enclose="div">
sudo wpa_cli reconfigure
</syntaxhighlight>
== OS Settings ==
パッケージの更新
<syntaxhighlight lang="bash" enclose="div">
sudo apt-get update
sudo apt-get upgrade
</syntaxhighlight>
どうも ssh host key が不審なので、再生成する
<syntaxhighlight lang="bash" enclose="div">
sudo rm /etc/ssh/ssh_host_* && sudo dpkg-reconfigure openssh-server
</syntaxhighlight>
起動されているサービスを確認する
<syntaxhighlight lang="bash" enclose="div">
systemctl list-unit-files | fgrep enabled
systemctl | fgrep running
</syntaxhighlight>
systemd のログを確認
<syntaxhighlight lang="bash" enclose="div">
sudo journalctl --no-pager
</syntaxhighlight>
オプショナル: unstable, testing kernel への更新
<syntaxhighlight lang="bash" enclose="div">
sudo rpi-update
</syntaxhighlight>
:[https://github.com/Hexxeh/rpi-update github rpi-update]
:[https://github.com/raspberrypi/firmware https://github.com/raspberrypi/firmware]
オプショナル: 必要なら他のパッケージを削除しながらインストール済みパッケージの候補バージョンをインストール
<syntaxhighlight lang="bash" enclose="div">
sudo apt-get dist-upgrade
</syntaxhighlight>
いったん再起動
<syntaxhighlight lang="bash" enclose="div">
sudo shutdown -r now
</syntaxhighlight>
おまけ : (ネットワークが無い環境で)最低限の初期設定をコマンドラインで実行するには
<syntaxhighlight lang="bash" enclose="div">
passwd
echo "Asia/Tokyo" | sudo tee /etc/timezone
sudo dpkg-reconfigure --frontend noninteractive tzdata
sudo systemctl restart rsyslog
sudo systemctl restart cron
sudo sed -i --follow-symlinks "s/^country=.*/country=JP/g" /etc/wpa_supplicant/wpa_supplicant.conf
sudo rm /etc/ssh/ssh_host_* && sudo dpkg-reconfigure openssh-server
sudo shutdown -r now
</syntaxhighlight>
= UART =
Zero W の UART は BROADCOM BCM2835 SoC に実装されている PL011 と mini-UART がある。
PL011 は ARM core 実装の UART。 mini-UART は低スループットの第2番目の UART という位置付け。
[https://www.raspberrypi.org/documentation/configuration/uart.md The Raspberry Pi UARTs]
<syntaxhighlight lang="text" enclose="div">
uart-pl011 (PL011)
bcm2835-aux-uart (mini UART)
</syntaxhighlight>
= Over Clock =
<syntaxhighlight lang="text" enclose="div">
bcm2835-cpufreq: min=700000 max=1000000
</syntaxhighlight>
<syntaxhighlight lang="bash" enclose="div">
pi@raspberrypi:/boot $ vcgencmd measure_clock arm
frequency(45)=700000000
</syntaxhighlight>
Zero W で Over Clock が出来るか試してみた。raspi-config では "This Pi cannot be overclocked." と弾かれる。
/boot/config.txt で
<syntaxhighlight lang="text" enclose="div">
arm_freq=1000
</syntaxhighlight>
としてみたが変化なし。 Zero W では Over Clock はできないっぽい。
おおぉ
<syntaxhighlight lang="bash" enclose="div">
pi@raspberrypi:~ $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
1000000
  |
pi@raspberrypi:~ $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
700000
</syntaxhighlight>
なるほど 動的に変更してるようだ。
デフォルトが
<syntaxhighlight lang="text" enclose="div">
arm_freq=1000
</syntaxhighlight>
だった。
[https://www.raspberrypi.org/documentation/configuration/config-txt/overclocking.md config.txt - Overclocking options]
<syntaxhighlight lang="text" enclose="div">
force_turbo=1
</syntaxhighlight>
にしたら常時 1GHz になるとおもわれるが無駄なので標準のままにする。逆に arm_freq_min を下げてもいいぐらいだ。
= Devise Tree =
Devise Tree を動的に変更するツールがある (Dynamic Device Tree)
<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash" enclose="div">
sudo ifdown wlan0
dtoverlay
sudo ifup wlan0
dtparam
</syntaxhighlight>
</syntaxhighlight>
:詳しくは [https://www.raspberrypi.org/documentation/configuration/device-tree.md これ] の下の方を読む
とはいえ動的更新せずに /boot/config.txt に書くのが良い。
<syntaxhighlight lang="text" enclose="div">
dtparam=i2c_arm=on
dtparam=spi=on
enable_uart=1
</syntaxhighlight>
:これだけは /boot/config.txt に書いておく。
::/boot/overlays/README も確認する
:::memo : dtoverlay=i2c-rtc,ds1307
raspi-config は /boot/config.txt を書き換えつつ、現状の設定を Dynamic に書き換えている。
:reboot したら Dynamic な設定は消え、 /boot/config.txt にしたがい設定される。
::どーも modprobe i2c_dev で書き換えた /etc/modules は消えないようだ
= I2C =
<syntaxhighlight lang="bash" enclose="div">
sudo apt-get install i2c-tools
</syntaxhighlight>
:MAKEDEV のエラーは無視してよい /dev/i2c-1 がすでにあるはず。


= CPU Temperature =
= CPU Temperature =
Line 98: Line 234:
<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash" enclose="div">
cd /opt
cd /opt
sudo wget https://nodejs.org/dist/v6.11.2/node-v6.11.2-linux-armv6l.tar.xz
sudo wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-armv6l.tar.xz
sudo tar xfJ node-v6.11.2-linux-armv6l.tar.xz
sudo tar xfJ node-v10.16.0-linux-armv6l.tar.xz
sudo ln -s /opt/node-v6.11.2-linux-armv6l /opt/node
sudo chown -R root: node-v10.16.0-linux-armv6l
sudo ln -s /opt/node-v10.16.0-linux-armv6l /opt/node
sudo ln -s /opt/node/bin/* /usr/bin/
sudo ln -s /opt/node/bin/* /usr/bin/
sudo ln -s /opt/node/include/* /usr/include/
sudo ln -s /opt/node/include/* /usr/include/
sudo ln -s /opt/node/lib/* /usr/lib/
sudo ln -s /opt/node/lib/* /usr/lib/
</syntaxhighlight>
</syntaxhighlight>
n とか nvm とか使うのが良いそうだ


<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash" enclose="div">
sudo aptitude -y install libavahi-compat-libdnssd-dev
sudo npm install -g --unsafe-perm homebridge
sudo npm install -g --unsafe-perm homebridge
sudo npm install -g homebridge-cmdswitch2
sudo npm install -g --unsafe-perm homebridge-config-ui-x
</syntaxhighlight>
'''libavahi-compat-libdnssd-dev'''は不要になった。(node.js module が mdns から bonjour-hap に変わった)
n
<syntaxhighlight lang="bash" enclose="div">
n list
n lts
systemctl stop homebridge
n prune
systemctl start homebridge
</syntaxhighlight>
= HomeBridge with iOS11 =
[https://github.com/nfarina/homebridge/issues/1501 Not working with IOS11]
* Upgrade homebridge to newest version: npm install -g homebridge
* Stop homebridge service
* rm -rf ~/.homebridge/persist
* rm -rf ~/.homebridge/accessories
* Under ~/.homebridge/config.json, change your "username": "11:22:33:44:55:66" to something else
* Start homebridge service
* Delete homebridge accessory from home app
* Add homebridge accessory to home app and enter pin etc
= HomeBridge, HomeKit, Home Hub, Apple TV =
Multicast 攻撃で、自宅のホームルータが死ぬ。ルータ再起動で復活はする。Apple AirMac にするのがよさそう。原因がうっすら判明。
IGMP 系が関連ありそうなので調べた結果、家の環境では、IGMP querier (IGMP クエリア機能) を投げる機器がないのが問題らしい。
https://bitbucket.org/marc_culler/querierd/
この設定で様子を見る。今の所問題なし。解決といっていい。
あとは
<syntaxhighlight lang="text" enclose="div">
net.ipv4.icmp_echo_ignore_broadcasts=0
</syntaxhighlight>
これは必要らしい。
:セキュリティ的には DoS の可能性があるのだが許容した。
= Home.app で頻繁に "Apple TVが応答しません。" がでる =
Raspiで wlan0 のパワーセービング機能をオフになっていることを確認。
<syntaxhighlight lang="bash" enclose="div">
sudo iw wlan0 set power_save off
</syntaxhighlight>
brcmfmac: power management disabled
:boot 時にメッセージが出ていたらOK
結局、いろいろ考察した結果、Apple TV の Home hub と iCloud のコネクションが落ちているのが原因ぽいので、デバイスの状態を iCloud に通知すればイケるかもしれないで、(ダミーの) device の'''状態を変化させて'''定期的に送信する処理を homebridge-cmdswitch2 の polling 機能で実装した。
以前よりはマシになった(気がする)が、やはり「応答しません」は出る。
<syntaxhighlight lang="text" enclose="div">
        {
            "name": "DUMMY-STATUS",
            "on_cmd": "/bin/true",
            "off_cmd": "/bin/true",
            "state_cmd": "/usr/local/bin/status-toggle.sh",
            "polling": true,
            "interval": 600
        }
</syntaxhighlight>
ステータスをトグルさせて返すスクリプト (/usr/local/bin/status-toggle.sh)
<syntaxhighlight lang="bash" enclose="div">
#!/bin/bash
LOCKFILE=/tmp/status-toggle.lock
STATUSFILE=/tmp/status-toggle.dat
(
    flock -n 201 || exit 1
    status=$((`cat ${STATUSFILE}`==0))
    echo ${status} > ${STATUSFILE}
    exit ${status}
) 201>"${LOCKFILE}"
</syntaxhighlight>
</syntaxhighlight>


[http://www.omiya-giken.com/?page_id=837 irMagician] 買うぞ!
"Apple TVが応答しません。" の場合に mDNS でサービスをブラウズしたら、IP address が IPv6 を返していた。これが怪しい。当面定期的の AppleTV の IP に IPv4 アドレスで定期的に arp + icmp を送って様子みる。
 
"Apple TVが応答しません。" 問題は解決不能として諦める。
 
 
Raspberry Pi 3 B+ に変えて、有線接続にしたら解消しました。まーそーだろーなー
 
= disable IPv6 =
業界的にはよろしくないが、IPv6 を殺した。インターネットの接続先プロバイダーが IPv4 Only なので...
 
/boot/cmdline.txt に追加
<syntaxhighlight lang="text" enclose="div">
ipv6.disable=1
</syntaxhighlight>
 
パラノイアならw
 
/etc/sysctl.conf
<syntaxhighlight lang="text" enclose="div">
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
net.ipv6.conf.wlan0.disable_ipv6=1
</syntaxhighlight>
 
/etc/modprobe.d/ipv6.conf
<syntaxhighlight lang="text" enclose="div">
alias net-pf-10 off
alias ipv6 off
options ipv6 disable_ipv6=1
blacklist ipv6
</syntaxhighlight>
 
= irMagician =
[http://www.omiya-giken.com/?page_id=837 irMagician] 買うぞ!。。。買った :)
 
[http://www.omiya-giken.com/?page_id=2100 irMagicianをSiriから使う | 大宮技研 合同会社]
[https://itdecoboconikki.com/2017/05/01/raspberry-pi-irmagician/ raspberry piとirMagicianを使って赤外線で家電を操作]
[http://qiita.com/PonDad/items/a17d8b7d0be59f4c7f18 iOS10「ホーム」アプリと「Raspberry Pi + irMagician」でお手軽家電操作。]
[http://yosuke403.hatenablog.com/entry/2017/01/07/220619 irMagician + Raspberry Pi + HomeKitで家電を遠隔&音声制御する - YSNHatenaBlog]
[http://netbuffalo.doorblog.jp/archives/4872290.html 小型赤外線(IR)リモコン irMagician ファースト・インプレッション]
[https://pondad.net/iot/2016/09/10/siri-irmagician.html Siriさんに電気をつけてもらう。 - ポンダッドの日記]
[http://www.omiya-giken.com/?page_id=1344 赤外線リモコンデータ | 大宮技研 合同会社]
[http://blog.maripara.org/entry/2017/02/14/012619 赤外線リモコン irMagician を組み立てました - まりぱらおーぐ]
 
ダイキンのエアコンの操作は単純には成功しなかった。(リモコン型番 ARC446A3)
 
[http://blog.fchiba.net/archives/172484.html Raspberry Piでエアコンを操作できる赤外線リモコンを作った]
:ここ↑が一番役にたった。
 
<syntaxhighlight lang="text" enclose="div">
1) “bit 0”×5回+ストップ信号+ギャップスペース
2) リーダー信号+データ信号(64bit)+ストップ信号+ギャップスペース
3) リーダー信号+データ信号(64bit)+ストップ信号+ギャップスペース
4) リーダー信号+データ信号(152bit)+ストップ信号
</syntaxhighlight>
どうも 2, 3 のストップ信号のあとの長いギャップ(赤外線を照射していない部分)が正しくキャプチャーできていないようだ。その部分を修正したら動くようになる。
 
 
どうもキャプチャーで桁あふれか変換ミスをしてるっぽい。いろいろ調べた結果 unsigned char に収まらないのが原因。オーバーフローしてもエラーとして扱っていないのでわからないのも問題。
 
 
K (Set Post scaler) を 255 に設定してから キャプチャー すれば ダイキン エアコン の問題点はクリアできた。
 
 
[http://akizukidenshi.com/download/k4174_format.pdf ■家電協フォーマット■]
 
HomeKit の Home Hub としての Apple TV が欲しくなってきた...
 
[https://github.com/zasf/IRdaikinARC466 https://github.com/zasf/IRdaikinARC466]
[http://www.mcmajan.com/mcmajanwpr/blog/2013/10/21/ir-daikin-decodificare-protocolli-infrarossi-complessi/ IR Daikin: decodificare protocolli infrarossi complessi. | McMajan]
:フォーマットがわかってきたので発見できた情報
 
 
homebridge-cmd 等で呼び出す場合は、ちゃんと排他処理しましょう。
 
次は [https://github.com/luisiam/homebridge-cmdswitch2 homebridge-cmdswitch2] というのを試そう。
:homebridge-cmdswitch2 の方が出来が良いので書き換えた。


= FileBeat =
= FileBeat =
Line 118: Line 421:
本家スタティックリンク版発見
本家スタティックリンク版発見
  [https://beats-nightlies.s3.amazonaws.com/index.html?prefix=jenkins/filebeat/ https://beats-nightlies.s3.amazonaws.com/index.html?prefix=jenkins/filebeat/]
  [https://beats-nightlies.s3.amazonaws.com/index.html?prefix=jenkins/filebeat/ https://beats-nightlies.s3.amazonaws.com/index.html?prefix=jenkins/filebeat/]
:filebeat-linux-arm がそれだが、完全に HEAD の build だった
INFO Setup Beat: filebeat; Version: 7.0.0-alpha1-git23d9fe6
:動いてはいる ;)
memo
git clone https://github.com/tsg/go-daemon.git
cd go-daemon
make
mv god filebeat-god


dpkg-deb -x filebeat-5.5.1-amd64.deb ./
  #$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
  #$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
= ssh tunnel =
python supervisord で管理する。
<syntaxhighlight lang="text" enclose="div">
apt-get -y install supervisor
</syntaxhighlight>
= I2C RTC DS1307 =
手元に Adafruit の DS1307 Real Time Clock breakout board kit があったので、以下の手順で導入した。
[https://learn.adafruit.com/adding-a-real-time-clock-to-raspberry-pi/overview Adding a Real Time Clock to Raspberry Pi]
さっくり動いた。
<syntaxhighlight lang="text" enclose="div">
[  11.054531] rtc-ds1307 1-0068: rtc core: registered ds1307 as rtc0
[  11.054577] rtc-ds1307 1-0068: 56 bytes nvram
</syntaxhighlight>
<syntaxhighlight lang="text" enclose="div">
pi@raspberrypi:~ $ sudo hwclock -D -r
hwclock from util-linux 2.25.2
Using the /dev interface to the clock.
Last drift adjustment done at 1502281575 seconds after 1969
Last calibration done at 1502281575 seconds after 1969
Hardware clock is on UTC time
Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
/dev/rtc does not have interrupt functions. Waiting in loop for time from /dev/rtc to change
...got clock tick
Time read from Hardware Clock: 2017/08/10 00:33:36
Hw clock time : 2017/08/10 00:33:36 = 1502325216 seconds since 1969
Thu 10 Aug 2017 09:33:36 JST  -0.290283 seconds
</syntaxhighlight>
= AirPlay =
[https://github.com/mikebrady/shairport-sync https://github.com/mikebrady/shairport-sync]
= AirPlay video streaming =
[https://osmc.tv/ https://osmc.tv/]
iOS10 ではダメだそうだ (中古の AppleTV 買うか...)
= HDMI & CEC =
consoleblank=0
echo "scan" | cec-client -d 1 -s
http://www.cec-o-matic.com/
cec-client -m -d 8 -b -r
= 純正ケース問題 =
純正ケースをつかっていると、コネクター類が深くささらない。どうも掃除とかで意図せずうごかして HDMI-CEC の信号が突然来なくなる事象がふえたので、結局これを買った。(在庫切れかもしれず)
https://www.amazon.co.jp/Goliton%C2%AE-FPV-HDTV%E3%83%9E%E3%83%AB%E3%83%81%E3%82%AB%E3%83%A1%E3%83%A9%E7%A9%BA%E4%B8%AD%E6%92%AE%E5%BD%B1%E7%94%A8-20cm-%E3%83%95%E3%83%A9%E3%83%83%E3%83%88%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB-%E4%B8%8A%E5%90%91%E3%81%8D-90%E5%BA%A6-FPV-Mini-FPC-%E5%A4%89%E6%8F%9B%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB/dp/B075GT2MGJ
この L 型コネクターはしっかりささる。ボッタクリの値段がついたのももあるので注意すること。千円前後ならOK
= らずぱい怪談 =
誰もいない部屋のテレビがついた。しかも入力切替までしてラズパイの画面が出ていた...
<syntaxhighlight lang="text" enclose="div">
hdmi_ignore_cec_init=1
</syntaxhighlight>
:この呪文を /boot/config.txt に書くと治るらしいwww
この機能があるなら、IR 経由でなくても homebridge で TV がコントロールできそうだ。
<syntaxhighlight lang="bash" enclose="div">
sudo apt-get install cec-utils
</syntaxhighlight>
homebridge-cec-accessory, homebridge-cec, homebridge-platform-cec, homebridge-hdmi 等
[http://tsaitoh.net/~t-saitoh/mt/2016/11/cec-client-homebridge.php cec-clientをhomebridgeから制御 - T-Saitoh's Diary]
[https://www.npmjs.com/package/homebridge-cec-accessory homebridge-cec-accessory]
:これを使ってみる
::[http://libcec.pulse-eight.com/Vendor/Support メーカーにより使える機能に制限がある]のでけっしてバラ色ではない。
= Raspbian Jessie to Raspbian 9 Stretch =
[https://www.raspberrypi.org/blog/raspbian-stretch/ Raspbian Stretch has arrived for Raspberry Pi]
なぬ。メジャーバージョンアップだ。すでにラズパイの download page も新しいのを推してる
[https://linuxconfig.org/raspbian-gnu-linux-upgrade-from-jessie-to-raspbian-stretch-9 Raspbian GNU/Linux upgrade from Jessie to Raspbian Stretch 9]
[https://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.ja.html 第4章 Debian 8 (jessie) からのアップグレード]
/etc/network/interfaces
<syntaxhighlight lang="diff" enclose="div">
--- interfaces.dpkg-old 2017-07-05 19:55:26.182496782 +0900
+++ interfaces 2017-09-01 22:30:58.645695819 +0900
@@ -5,16 +5,3 @@
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
-
-auto lo
-iface lo inet loopback
-
-iface eth0 inet manual
-
-allow-hotplug wlan0
-iface wlan0 inet manual
-    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
-
-allow-hotplug wlan1
-iface wlan1 inet manual
-    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
</syntaxhighlight>
かといって /etc/network/interfaces.d/ には何もない。