寻求帮助解决我丢失的 UDP 多播问题。
一些背景...所以我终于得到了一个 Amazon Echo 并且正在玩仿莫在我的 PiZero 上查看 Alexa 是否可以找到我的设备,但她找不到。 :(
我启动了 Wireshark(在我的 Windows 机器上)并观察 Alexa 通过我的 wifi 网络发送 upnp (239.255.255.250:1900 UDP) 多播数据包。
伟大的!我在 PiZero ( sudo tcpdump -ni wlan0 udp and port 1900 -A
) 上尝试了 tcpdump 但什么也没看到。甚至连我的 Windows 盒子上的常规广播也没有。
因为我也有一个 Model B Pi,所以我尝试了一下。一切都很好。它看到的广播很好。不幸的是,这些设备有不同版本的操作系统......
PiZero - Raspbian 8.0 with Linux 4.9.70+ #1068 Mon Dec 18 21:54:13 GMT 2017 armv6l GNU/Linux
Mobel B PI - Raspbian 7.11 with Linux 4.4.38+ #938 Thu Dec 15 15:17:54 GMT 2016 armv6l GNU/Linux
F/W 已关闭。我检查了两个 Pi 设备之间的 sysctl 设置,但似乎没有什么不同。好像没有登录任何东西/var/log/*
。我尝试更改/禁用的所有内容都不允许 PiZero 查看简单的 UDP 多播。
更新:我相信多播已启用并正在获取数据包...
> ip -s link
wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DORMANT group default qlen 1000
link/ether b8:27:eb:d5:48:fe brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
5777796 38893 0 0 0 29604
> sudo netstat -g
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 all-systems.mcast.net
wlan0 1 224.0.0.251
wlan0 1 all-systems.mcast.net
lo 1 ip6-allnodes
lo 1 ff01::1
wlan0 1 ff02::fb
wlan0 1 ff02::1:ff83:6345
wlan0 1 ip6-allnodes
wlan0 1 ff01::1
我能找到的唯一区别(Pi 之间)/proc/sys/net/ipv4/conf/wlan0
是promote_secondaries
设置为 (1)。我在 (0) 处尝试过,但这没有什么区别。
有什么想法我接下来应该检查什么吗?