В прошлом месяце потратил некоторое время на отладку загадочных проблем с протоколами автоматического обнаружения через Wi-Fi: проблема была в старом маршрутизаторе, или, точнее, несовместимости (предположительно глючной) прошивки/чипа Wi-Fi маршрутизатора и чипа Wi-Fi устройства.
Если ваш принтер постоянно подключен к сети (и вы это видите в веб-интерфейсе роутера), но его обнаружение в сети работает только ровно 1 час, 1 день или другое круглое время, попробуйте:
- Проверить маршрутизатор на наличие опции мультикаста и IGMP Snooping
- Сменить режим безопасности Wi-Fi на "WPA-PSK/WPA2-PSK Mixed"
- Отключить смену ключа GTK (группового ключа)
- Создать отдельную (но не изолированную) сеть только для принтера
Протоколы автоматического обнаружения (mDNS/DNS-SD) используют мультикаст, который работает не так тривиально через Wi-Fi по сравнению с проводной сетью.
Wi-Fi использует разные алгоритмы шифрования и разные ключи шифрования для юникаст и широковещательного/мультикаст-трафика: индивидуальные ключи шифрования для каждого клиента для обычного юникаст-трафика (pairwise key) и отдельный общий ключ шифрования для группового трафика (group key) для броадкаст и мультикаст-трафика.
Оказывается, при некоторых условиях могут возникнуть проблемы с многоадресной рассылкой. Драйверы
Intel Wi-Fi в Windows неправильно обрабатывают мультикаст-трафик после отправления компьютера в сон, а точки доступа Ubiquiti
известны неправильной обработкой GTK.
Что касается IGMP Snooping: некоторые точки доступа требуют, чтобы устройство присоединилось к группе многоадресной рассылки mDNS для получения запросов mDNS. Большинство точек доступа пересылают запросы mDNS независимо от того, был ли запрос на присоединение к multicast-группе, или нет, но некоторые этого не делают или обрабатывают multicast неправильно.