V-antena and Tanimoto's page

谷本の備忘録・雑記帳・work

>

月: 2024年6月

MONTHLY ARCHIVE

wake on lanの実現方法の一つ

背景

wake on lan(以降wol)を、機種変前のスマホを使って実現しようとしていたが外出中にスマホがスリープ?してしまい、外出先からwolが出来ない。そこでスマホを使わずraspberry pi(以降raspi)を使う別の方法を考えた。

前提条件 

  • raspiにsylpheedがインストール済み
  • sylpheedから周期的にポーリング受信可能なメールアドレスあり(私の場合自宅サーバー上)
  • raspiにwakeonlanがインストール済み

sylpheedでの設定

sylpheedでメッセージ受信したらコマンド実行 に一般設定で設定する
例:

/home/pi/tools/wolmail.sh

他に、2分ごとにメールをチェックする様にした。自宅サーバーでなければ、5分ごととかもう少し間隔を長めにした方が良いかもしれない。 起動までに時間がかかるが。

メール受信時に実行するシェル

wolmail.shを以下の様にした。試行錯誤で書いたものなので効率の良くないコードではあるが。

#!/bin/bash

ls -trl /home/pi/Mail/inbox | tail -1  >/home/pi/logs/wolsh.log

cat /home/pi/logs/wolsh.log | awk  '{printf("/home/pi/Mail/inbox/%s\n",$9)}' >/home/pi/logs/woltemp
prefile=/home/pi/logs/woltemp

while read filename
do
 cat $filename |awk -f /home/pi/tools/wolmail.awk

done < ${prefile}

wolsh.log、woltempは作業用のファイル

Pathは、念のためフルパスで記述。 sylpheedの受信メールはMail/inboxにあった。最新のものを使用。9番目のフィールドが該当メールのファイル名(数字)であった。

wakeonmailするためのawkスクリプト

awkスクリプトを、wolmail.awkとして下記の様に作成した。

BEGIN{
}
{
if (NF >=2 ) {
  if ($1 == "wolkeyword")  {
   for (i=2;i<=NF;i++) {
      if ($i=="aaaaa") system("/home/pi/tools/wol-aaaaa.sh")
      if ($i=="bbbbb") system("/home/pi/tools/wol-bbbbb.sh")
      if ($i=="ccccc") system("/home/pi/tools/wol-ccccc.sh")
  }

  }
 }
}
END{
  print "wol sent end" > "/home/pi/logs/wol_mail_status"
}

wol-xxxxx.shは、wakeonlanコマンドのためのシェル

また、上記は3台に対応

wol用のメール

subjectもしくは本文内に、wolkeyword xxxxx の様に記述してメールする事で良い

無線lanカードのドライバーを入れていたらwake on lanが使えなくなったので再設定

再度調べて、今回は次のサイトを参考にして対処した。
https://blog.janjan.net/2022/08/10/ubuntu-wake-on-lan-settings

現状確認

sudo ethtool enp5s0 | grep -i wake

Wake-on: d になっていた。
Wake-on: g でないとダメとの事。

設定用ファイル作成

nano mytools/wakeonlan.sh で、下記内容のファイル作成

#!/bin/sh
/sbin/ethtool -s enp5s0 wol g

その後、実行属性を与える

sudo chmod +x mytools/wakeonlan.sh

サービスを登録

登録用ファイル作成

sudo nano /etc/systemd/system/wakeonlan.service


[Unit]
Description=Enable Wake-On-LAN

[Service]
Type=simple
ExecStart=/home/myhomename/mytools/wakeonlan.sh
Restart=always

[Install]
WantedBy=multi-user.target

namename はあなたのlogin名

サービスの登録

sudo systemctl enable wakeonlan.service
sudo systemctl start wakeonlan.service

再起動しておしまい

おまけ web経由で切断

電源onだけでは、RDPか何かを許可しない限り電源を切れない。そこでcockpitをインストール

 sudo apt install cockpit
 sudo systemctl enable cockpit.socket
  
 sudo ufw allow 9090/tcp

これで、webに9090ポートでアクセスするとcockpitが起動しweb経由でいろいろ出来る

ubuntuで、「認証が必要です。システムポリシーによりwi-fiスキャンが阻止されます」が繰り返される。それへの対処

参考にしたサイト

対処

以下の内容を /etc/polkit-1/localauthority/ 配下の pklaファイルとして作成記述

[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manage>
ResultAny=no
ResultInactive=no
ResultActive=yes

[Allow Package Management all Users]
Identity=unix-user:*
Action=org.debian.apt.*;io.snapcraft.*;org.freedesktop.packagekit.*;com.ubuntu.>
ResultAny=yes
ResultInactive=yes
ResultActive=yes


[Allow WiFi Scan all Users]
Identity=unix-user:*
Action=org.freedesktop.NetworkManager.wifi.scan
ResultAny=yes
ResultInactive=yes
ResultActive=yes

私の場合は、まとめて以下で作ってしまった。

sudo nano /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla

反映

sudo systemctl restart NetworkManager

別PCで使っていたIntel dual band wifi AC-7265無線lanカードをubuntuマシンに移す

経緯

別PCで無線lanカードを210NGW機種に交換したので、それまで使っていたAC7265が余った。それで、ubuntu 2204LTSで使っていたPCに装着する事にした。装着して立ち上げたがwifiのSSIDが出てこない。そこで、driverが無いのだと思い以降の事を行った。正しいかどうかはわからないが、とろあえず動いているのでよしとする。

ドライバーのインストール

wget https://wireless.wiki.kernel.org/_media/en/users/drivers/iwlwifi-7265-ucode-25.30.14.0.tgz

tar -xzvf iwlwifi-7265-ucode-25.30.14.0.tgz

sudo cp iwlwifi-7265-ucode-25.30.14.0/iwlwifi-7265-14.ucode /lib/firmware
sudo cp iwlwifi-7265-ucode-25.30.14.0/iwlwifi-7265D-14.ucode /lib/firmware
  
sudo apt install --reinstall linux-firmware
sudo reboot

Miracast出来なかったので対応できた事例

背景

自作及びBTO PCでmiracast動作しなかった。苦戦した結果なんとか動作した例もあるので備忘録として残す

なお、ノートPC,タブレット、スマホからはMiracastは出来ていました。

事例1

 マザボ  ASUS Prime H570-Plus
 CPU    Intel i5-11440
 グラボ  RTX3060
 OS    Windows10 Home

      wifiドングルをTP-LINKの(品名忘れた)Realtek RTL8188EUで苦戦。

      wifiドングルをTP-LINK Archer nano T2U に替えたところ、2.4GHzで成功。
      5GHzでは、ダメ

事例2

 マザボ  ASUS Prime H270-Plus
 CPU    Intel i7-7700
 グラボ   GTX1060
 OS    Windows10 Pro

 wifiはPCIボードにIntel dualband wireless AC-7265を刺している

 Miracastダメ
  Realtek RTL8188EUでもダメ
  T2Uでもダメ

 グラボのdriverを、nvidiaのサイトから最新版をダウンロードし更新した
  (NVIDIA Studio ドライバー ver. 555.85)
  AC7265   ダメ
  RTL8188EU ダメ
  T2u     2.4GHzで成功

結局

  wifiドングルを交換し、グラボのドライバー更新でMiracast出来る場合あり。
  但し、AIやcudnn、tensorなどを使用している場合は、バージョン間の相性があるのでドライバー更新も簡単には出来ないかも

V-antena and Tanimoto's page

あなたはIPv4でアクセスしています