У меня DD-WRT работает в режиме шлюза на DIR-615 I1. Я обновил до последней доступной сборки.
Chromecast - это беспроводное устройство для незнакомых людей. Устройство было настроено и работает нормально с использованием беспроводных устройств, связанных с маршрутизатором, но проводные устройства Ethernet не могут обмениваться данными с Chromecast. В частности, плагин Chrome говорит: «Устройства Cast Cast не найдены».
Изоляция точки доступа отключена.
Я перехватывал пакеты между ноутбуком по проводным и беспроводным соединениям и через Chromecast, и вот что я нашел:
Есть пакеты IGMP, TCP, UDP между Chromecast и беспроводным интерфейсом на ноутбуке.
Существуют IGMP и TCP, но между Chromecast и проводным интерфейсом Ethernet на одном и том же ноутбуке происходит обмен нулевыми пакетами UDP.
В частности, проводной интерфейс получает следующий пакет IGMP от Chromecast:
1062 55.011807 192.168.1.145 239.255.255.250 IGMP 60 V2 Membership Report / Join group 239.255.255.250
... что также наблюдается на беспроводном интерфейсе. Некоторые пакеты в проводном интерфейсе Ethernet помечены как имеющие неверную контрольную сумму заголовка 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>
Это явно недостаточно для функционирования, и отсутствие пакетов UDP, идущих в направлении ath0 -> eth1 (интерфейсы WLAN и LAN на маршрутизаторе DD-WRT), является подозрительным. Может ли кто-нибудь пролить свет на то, что может происходить? Настройки моста и маршрута на DD-WRT - все по умолчанию.