DD-WRT 和 Chromecast:默认 WLAN 到 LAN 桥接器会阻止 UDP?

DD-WRT 和 Chromecast:默认 WLAN 到 LAN 桥接器会阻止 UDP?

我在 DIR-615 I1 上以网关模式运行 DD-WRT。我已更新到最新可用版本。

对于不熟悉 Chromecast 的人来说,Chromecast 是一款仅支持无线的设备。该设备已设置完毕,可使用与路由器关联的无线设备正常运行,但有线以太网设备无法与 Chromecast 通信。具体来说,Chrome 插件显示“未找到 Cast 设备”。

AP 隔离已禁用。

我通过有线和无线连接嗅探了笔记本电脑与 Chromecast 之间的数据包,发现了以下情况:

Chromecast 和笔记本电脑上的无线接口之间有 IGMP、TCP、UDP 数据包。

同一台笔记本电脑上的 Chromecast 和有线以太网接口之间有 IGMP 和 TCP,但没有交换 UDP 数据包。

具体来说,有线接口确实从 Chromecast 接收到以下 IGMP 数据包:

1062    55.011807   192.168.1.145   239.255.255.250 IGMP    60  V2 Membership Report / Join group 239.255.255.250

... 这在无线接口上也是可以观察到的。有线以太网接口上的一些数据包被标记为具有错误的 ipv4 报头校验和 (0x0000),但据我所知,这是由于 NIC 上的校验和卸载造成的。

以下是有线接口上可观察到的 TCP 流(已编辑):

GET /ssdp/device-desc.xml HTTP/1.1
Host: 192.168.1.145:8008
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.49 Safari/537.36
DNT: 1
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8,fr;q=0.6

HTTP/1.1 200 OK
Application-URL: http://192.168.1.145:8008/apps/
Content-Type: application/xml
Content-Length: 1078


<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
  <specVersion>
    <major>1</major>
    <minor>0</minor>
  </specVersion>
  <URLBase>http://192.168.1.145:8008</URLBase>
  <device>
    <deviceType>urn:dial-multiscreen-org:device:dial:1</deviceType>
    <friendlyName>Bedroom TV</friendlyName>
    <manufacturer>Google Inc.</manufacturer>
    <modelName>Eureka Dongle</modelName>
    <UDN>uuid:XXXXXXXXXXXXXXXXXXXXXXXXXXXXX</UDN>
    <iconList>
      <icon>
        <mimetype>image/png</mimetype>
        <width>98</width>
        <height>55</height>
        <depth>32</depth>
        <url>/setup/icon.png</url>
      </icon>
    </iconList>
    <serviceList>
      <service>
        <serviceType>urn:dial-multiscreen-org:service:dial:1</serviceType>
        <serviceId>urn:dial-multiscreen-org:serviceId:dial</serviceId>
        <controlURL>/ssdp/notfound</controlURL>
        <eventSubURL>/ssdp/notfound</eventSubURL>
        <SCPDURL>/ssdp/notfound</SCPDURL>
      </service>
    </serviceList>
  </device>
</root>

这显然不足以发挥作用,而且 ath0 --> eth1(DD-WRT 路由器上的 WLAN 和 LAN 接口)方向缺少 UDP 数据包,这很可疑。有人能解释一下可能发生了什么吗?DD-WRT 上的桥接和路由设置基本上都是默认的。

答案1

刚刚遇到了这个问题。其他报告说禁用 NAT,连接 Chromecast,然后重新启用即可。

为此,请转到设置>高级路由>操作模式并更改为路由器模式,然后连接 chromecast,然后切换回网关。

不确定为什么这有效,但对我来说有效。

答案2

遇到了同样的问题。我已经在路由器模式下操作了(我仅将 DD-WRT 盒用作 WAP),因此上述情况不适用。 尝试在 DD-WRT 固件中启用 IPv6 支持。

 Administration --> Management Tab
      IPv6 Support... IPv6 -> enable

一些使用 DD-WRT 的设备需要这个才能让 Chomecast 正常运行。对我来说很有用。

My setup:

Chromecast
  v
DD-WRT as WAP
  v
Cisco SG300-10 > Gateway Router
  v
Wired PC

相关内容