上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
PC/RaspberryPi/Linuxを動かしてみる/オンボードWiFiが切れないようにする
をテンプレートにして作成
資料室
PC/RaspberryPi/Linuxを動かしてみる/オンボードWiFiが切れないようにする をテンプレートにして作成
[
差分
|
バックアップ
|
リロード
]
[ ]
開始行:
* オンボードWiFiが切れないようにする
Rspberry Pi Zero Wが1日程度経つとWiFiでの接続が出来なくな...
なぜ通信ができなくなるのかわかっていなかったので,しょう...
5 4 * * * /sbin/reboot
しかし,この対策ではこの時間前に通信ができなくなると,朝...
なので,なぜWiFi通信が出来なくなるのか考えてみた。~
- WiFi内蔵WiFiインターフェースのwlan0が省電力設定のため一...
- 環境による理由で無線LANアクセスポイントとの接続が切断し...
これらの事が考えられたので,それぞれに対して対策を行って...
** 内蔵WiFiインターフェースのwlan0が省電力設定のため一定...
iwconfigで確認してみたところ,
# iwconfig wlan0
wlan0 IEEE 802.11 ESSID:"marin"
Mode:Managed Frequency:2.427 GHz Access Poin...
Bit Rate=72.2 Mb/s Tx-Power=31 dBm
Retry short limit:7 RTS thr:off Fragment t...
Encryption key:off
Power Management:on
Link Quality=60/70 Signal level=-50 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx inva...
Tx excessive retries:0 Invalid misc:0 Misse...
# iw dev wlan0 get power_save
Power save: on
Power Management:onになっていて,これだと一定時間が経過す...
この対策をしてみる。(どちらでも良い)~
- iwconfigでパワーマネージメントを無効にする~
''/etc/dhcpcd.exit-hook''ファイルを以下の内容で作成した。~
#code(text,,nonumber){{
[ -n ${disable_pm} ] || return 0
if [ “${interface}” = “wlan0” ]; then
case ${reason} in
CARRIER | NOCARRIER) iwconfig ${interfac...
STOP | STOPPED) iwconfig ${interface} pow...
esac
fi
}}
これで,reboot後もPower Management:offになった。~
これは,dhcpcdのフック機能を利用している。~
- systemdでパワーマネージメントを無効にする~
systemdを使ってもパワーマネージメントを無効にする事ができ...
この場合,まず''services/rpiwlan0poweroff''ディレクトリを...
# cd ~
# mkdir -p services/rpiwlan0poweroff
# cd services/rpiwlan0poweroff
''wlan0poweroff.sh''スクリプトファイルを以下の内容で''ser...
#code(bash,,nonumber){{
#!/bin/bash
LOG_FILE="/var/log/wlan0poweroff.log"
echo "Setting wlan0 power management off in 5 sec..." > $...
echo "Current wlan0 power management configuration" >> $L...
iwconfig wlan0|grep Power\ Management >> $LOG_FILE
sleep 5
echo "Setting wlan0 power management off..." >> $LOG_FILE
iwconfig wlan0 power off
iwconfig wlan0|grep Power\ Management >> $LOG_FILE
}}
''wlan0poweroff.sh''のパーミッションに実行権限を追加する。~
# chmod +x wlan0poweroff.sh
''wlan0poweroff.service''ファイルを作成する。~
#code(text,,nonumber){{
[Unit]
Description=wlan0 power management disable service
After=network.target
[Service]
ExecStart=/root/services/rpiwlan0poweroff/wlan0poweroff.sh
[Install]
WantedBy=multi-user.target
}}
''wlan0poweroff.service''を''/etc/systemd/system/''にコピ...
# cp wlan0poweroff.service /etc/systemd/system/
その後,サービスを有効に設定する。~
# systemctl enable wlan0poweroff.service
これで,reboot後systemdによりパワーマネージメントを無効に...
~
何らかの理由でパワーマネージメントを有効にしたい場合は,
# systemctl disable wlan0poweroff.service
とする。~
** 環境による理由で無線LANアクセスポイントとの接続が切断...
今住んでいるところが6階建てのマンション(各階6部屋)なの...
これが2G帯しか対応しないWiFiルーターで電波が混信しまくっ...
このため,自前の無線LAN環境でのWiFi接続が不安定になり接続...
なので,この対策を行った。~
''/root/reconnect_wifi''ファイルを以下のような内容で作成...
#code(bash,,nonumber){{
#!/bin/sh
OSVER=`grep VERSION_ID /etc/os-release | awk -F '"' '{pri...
ping -c 1 `ip route | grep default | awk '{print $3;}'` >...
if [ $? != 0 ]
then
logger "wifi connection error was occured. trying rec...
case $OSVER in
"8")
sudo sh -c "ifdown wlan0 && ifup wlan0" ;;
"9")
sudo systemctl restart dhcpcd ;;
"10")
sudo systemctl restart dhcpcd ;;
esac
sleep 10
if [ `ip route | grep default | wc -l ` -eq 0 ]
then
logger "wifi is not connected."
else
logger "wifi is connected."
fi
fi
}}
実行パーミッションを設定する。~
# chmod 755 /root/reconnect_wifi
それで,cronで毎分このスクリプトを実行するようにする。~
*/1 * * * * /root/reconnect_wifi
これで,もしWiFi接続が切れても自動で再接続してくれるよう...
この対策後はWiFi接続が切れることが無くなった。~
終了行:
* オンボードWiFiが切れないようにする
Rspberry Pi Zero Wが1日程度経つとWiFiでの接続が出来なくな...
なぜ通信ができなくなるのかわかっていなかったので,しょう...
5 4 * * * /sbin/reboot
しかし,この対策ではこの時間前に通信ができなくなると,朝...
なので,なぜWiFi通信が出来なくなるのか考えてみた。~
- WiFi内蔵WiFiインターフェースのwlan0が省電力設定のため一...
- 環境による理由で無線LANアクセスポイントとの接続が切断し...
これらの事が考えられたので,それぞれに対して対策を行って...
** 内蔵WiFiインターフェースのwlan0が省電力設定のため一定...
iwconfigで確認してみたところ,
# iwconfig wlan0
wlan0 IEEE 802.11 ESSID:"marin"
Mode:Managed Frequency:2.427 GHz Access Poin...
Bit Rate=72.2 Mb/s Tx-Power=31 dBm
Retry short limit:7 RTS thr:off Fragment t...
Encryption key:off
Power Management:on
Link Quality=60/70 Signal level=-50 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx inva...
Tx excessive retries:0 Invalid misc:0 Misse...
# iw dev wlan0 get power_save
Power save: on
Power Management:onになっていて,これだと一定時間が経過す...
この対策をしてみる。(どちらでも良い)~
- iwconfigでパワーマネージメントを無効にする~
''/etc/dhcpcd.exit-hook''ファイルを以下の内容で作成した。~
#code(text,,nonumber){{
[ -n ${disable_pm} ] || return 0
if [ “${interface}” = “wlan0” ]; then
case ${reason} in
CARRIER | NOCARRIER) iwconfig ${interfac...
STOP | STOPPED) iwconfig ${interface} pow...
esac
fi
}}
これで,reboot後もPower Management:offになった。~
これは,dhcpcdのフック機能を利用している。~
- systemdでパワーマネージメントを無効にする~
systemdを使ってもパワーマネージメントを無効にする事ができ...
この場合,まず''services/rpiwlan0poweroff''ディレクトリを...
# cd ~
# mkdir -p services/rpiwlan0poweroff
# cd services/rpiwlan0poweroff
''wlan0poweroff.sh''スクリプトファイルを以下の内容で''ser...
#code(bash,,nonumber){{
#!/bin/bash
LOG_FILE="/var/log/wlan0poweroff.log"
echo "Setting wlan0 power management off in 5 sec..." > $...
echo "Current wlan0 power management configuration" >> $L...
iwconfig wlan0|grep Power\ Management >> $LOG_FILE
sleep 5
echo "Setting wlan0 power management off..." >> $LOG_FILE
iwconfig wlan0 power off
iwconfig wlan0|grep Power\ Management >> $LOG_FILE
}}
''wlan0poweroff.sh''のパーミッションに実行権限を追加する。~
# chmod +x wlan0poweroff.sh
''wlan0poweroff.service''ファイルを作成する。~
#code(text,,nonumber){{
[Unit]
Description=wlan0 power management disable service
After=network.target
[Service]
ExecStart=/root/services/rpiwlan0poweroff/wlan0poweroff.sh
[Install]
WantedBy=multi-user.target
}}
''wlan0poweroff.service''を''/etc/systemd/system/''にコピ...
# cp wlan0poweroff.service /etc/systemd/system/
その後,サービスを有効に設定する。~
# systemctl enable wlan0poweroff.service
これで,reboot後systemdによりパワーマネージメントを無効に...
~
何らかの理由でパワーマネージメントを有効にしたい場合は,
# systemctl disable wlan0poweroff.service
とする。~
** 環境による理由で無線LANアクセスポイントとの接続が切断...
今住んでいるところが6階建てのマンション(各階6部屋)なの...
これが2G帯しか対応しないWiFiルーターで電波が混信しまくっ...
このため,自前の無線LAN環境でのWiFi接続が不安定になり接続...
なので,この対策を行った。~
''/root/reconnect_wifi''ファイルを以下のような内容で作成...
#code(bash,,nonumber){{
#!/bin/sh
OSVER=`grep VERSION_ID /etc/os-release | awk -F '"' '{pri...
ping -c 1 `ip route | grep default | awk '{print $3;}'` >...
if [ $? != 0 ]
then
logger "wifi connection error was occured. trying rec...
case $OSVER in
"8")
sudo sh -c "ifdown wlan0 && ifup wlan0" ;;
"9")
sudo systemctl restart dhcpcd ;;
"10")
sudo systemctl restart dhcpcd ;;
esac
sleep 10
if [ `ip route | grep default | wc -l ` -eq 0 ]
then
logger "wifi is not connected."
else
logger "wifi is connected."
fi
fi
}}
実行パーミッションを設定する。~
# chmod 755 /root/reconnect_wifi
それで,cronで毎分このスクリプトを実行するようにする。~
*/1 * * * * /root/reconnect_wifi
これで,もしWiFi接続が切れても自動で再接続してくれるよう...
この対策後はWiFi接続が切れることが無くなった。~
ページ名:
Counter: 0, today: 0, yesterday: 0
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
フォーラム
お問い合わせ