私は 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 がシステムで起動するときに関連しています。この問題の解決方法は汚いと思いますが、機能し、他の人の助けになるかもしれません。