Я пытаюсь отладить проблему с конкретным ноутбуком, на котором установлена Ubuntu. У нас есть служба, которая использует широковещательные UDP-сообщения, и этот ноутбук не получает их через свой беспроводной интерфейс, за исключением случаев.
Я свел проблему к примеру, используя netcat
и socat
демонстрировать. Я временно использую беспроводной маршрутизатор с диапазоном адресов 192.168.0.X.
На одном компьютере бегаю
$ nc -lu 7570
А на другом компьютере я запускаю
$ echo "hello" | socat - UDP-DATAGRAM:192.168.0.255:7570,broadcast
Это отображается на всех компьютерах, подключенных по беспроводной сети, кроме рассматриваемого. Если я сбегу socat
на «плохом» компьютере сообщение видят все компьютеры, в том числе и он сам.
Как ни странно, все остальное в этом компьютере кажется прекрасным. Он может использовать беспроводную связь для просмотра сети и передачи файлов без проблем. Он только не будет получать широковещательные сообщения UDP. Если я помещу «socat» в цикл, он будет получать сообщение примерно каждые 100 раз. Кроме того, похоже, что это нормально работает с проводным подключением. Значит, это проблема с r8192se_pci
драйвер, который он использует для своего беспроводного набора микросхем. Однако я никогда не слышал о такой проблеме, при которой весь трафик работает нормально. Кроме для широковещательных сообщений. Может ли кто-нибудь подумать, как я могу исправить или лучше диагностировать проблему?
Стив, это звучит очень подозрительно, как несоответствие сетевых масок устройств в подсети ... Я бы проверил, что сетевая маска Ubuntu с ip addr show
.