Raspberry pi4 / kodi 18.7 leia Upnpクライアントがネットワークで動作しない

Raspberry pi4 / kodi 18.7 leia Upnpクライアントがネットワークで動作しない

私は Raspbian Buster を新規インストールし、Kodi 18.7 Leia を新規インストールしました。RPI と Kodi で UPNP クライアントを起動し、RPI UPNP クライアントを使用して Windows 10 マシン経由でメディアを再生しようとしていました。以前は、Kodi 18.6 Leia を搭載した Raspberry Pi2 で問題なく使用していました。

現在、インストール後の Kodi の最初の起動時にのみ UPNP が機能していましたが、その後 rpi4 を再起動すると Kodi は正常に機能しますが、UPNP クライアントまたはサーバーは機能しません。Kodi では有効になっていることがわかりますが、Windows 10 マシンでは UPNP クライアントが表示されません。

/home/pi/.kodi/userdataとファイルupnpserver.xmlは

<upnpserver>
<UUID></UUID>
<Port>0</Port>
<MaxReturnedItems>0</MaxReturnedItems>
<UUIDRenderer>cb05649b-8f06-35ef-754b-a61361bdaa17</UUIDRenderer>
<PortRenderer>1186</PortRenderer>

ポート1186が開いています

これらのポートはKodiによって開かれます

kodi.bin_  513    pi   33u  IPv4  17450      0t0  TCP *:1186 (LISTEN)
kodi.bin_  513    pi   34u  IPv6  17458      0t0  TCP [::1]:9090 (LISTEN)
kodi.bin_  513    pi   44u  IPv4  17445      0t0  TCP *:1513 (LISTEN)
kodi.bin_  513    pi   51u  IPv4  17459      0t0  TCP 127.0.0.1:9090 (LISTEN)

だから、それは機能しているように見えるが、そうではない

私はWLANを無効にし、eth0とのケーブル接続のみを持っています。Wi-Fiを無効にするには、コマンドを使用していました

rfkill block wifi

今、ifconfigにはeth0とloだけがあります

今のところ、UPNPを再び機能させるために何ができるのか分かりません。KodiにはUPNPに干渉する可能性のあるプラグインはありません。

誰かが助けてくれるかもしれない

検索したらこの奇妙な行動が見つかりました

おそらくスタートシーケンスに関係している

/etc/systemd/system/multi-user.target.wants/kodi.service

[Unit]
Description = Kodi Media Center
After = remote-fs.target network-online.target
Wants = network-online.target

[Service]
User = pi
Group = pi
Type = simple
ExecStart = /usr/bin/kodi-standalone
Restart = on-abort
RestartSec = 5

[Install]
WantedBy = multi-user.target

kodi を終了し、シェルで手動で「kodi」または kodi-standalone と入力して起動すると、upnp が機能し始めます... うーん

kodiによって開かれたポートを確認するときにもう1つ重要なことは、kodiを手動で起動するとupnpポートが2番目の場所になり、upnpが機能していることがわかります。

sudo lsof -i -P -n | grep LISTEN |grep kodi
kodi.bin_ 1101    pi   36u  IPv4  98108      0t0  TCP *:1517 (LISTEN)
kodi.bin_ 1101    pi   45u  IPv4  98115      0t0  TCP *:1857 (LISTEN)
kodi.bin_ 1101    pi   48u  IPv6  98121      0t0  TCP [::1]:9090 (LISTEN)
kodi.bin_ 1101    pi   49u  IPv4  98122      0t0  TCP 127.0.0.1:9090 (LISTEN)

kodiがシステムブートで起動すると、ポート1857(新しいupnpポート)が最初に開かれます。おそらく何かが原因だと思いますが、わかりません。

答え1

これはラズベリーパイ4とラズビアンバスターの起動スクリプトに関連していると思います

/etc/systemd/system/multi-user.target.wants/kodi.service

[Unit]
Description = Kodi Media Center
After = remote-fs.target network-online.target
Wants = network-online.target

[Service]
User = pi
Group = pi
Type = simple
ExecStart = /usr/bin/kodi-standalone
Restart = on-abort
RestartSec = 5

[Install]
WantedBy = multi-user.target

システムがkodiiで起動したらSSH経由でログインして入力します

sudo systemctl stop kodi
sudo systemctl start kodi

sudo lsof -i -P -n | grep LISTEN |grep kodi
kodi.bin_ 1173    pi   34u  IPv4 183733      0t0  TCP *:1432 (LISTEN)
kodi.bin_ 1173    pi   48u  IPv6 183752      0t0  TCP [::1]:9090 (LISTEN)
kodi.bin_ 1173    pi   50u  IPv4 183743      0t0  TCP *:1184 (LISTEN)
kodi.bin_ 1173    pi   53u  IPv4 183753      0t0  TCP 127.0.0.1:9090 (LISTEN)

そして、UPnP の Kodi は再び機能しています。UPnP ポートが異なるため、Kodi がシステムで起動するときに関連しています。この問題の解決方法は汚いと思いますが、機能し、他の人の助けになるかもしれません。

関連情報