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 的有线连接。要禁用 wifi,我使用命令

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 并在 shell 中手动输入“kodi”或 kodi-standalone 时,它​​就会启动,并且 upnp 开始工作...嗯

还有一件重要的事情,当我检查 kodi 打开的端口时,我发现 upnp 端口在手动启动 kodi 时排在第二位,并且 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

我认为它与 raspberry pi 4 和 raspbian buster 的启动脚本有关

/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)

kodi 和 upnp 又可以正常工作了,upnp 端口不同,所以当 kodi 随系统启动时,它就相关了。我认为这是解决这个问题的肮脏方法,但它确实有效,也许可以帮助其他人

相关内容