I am trying to debug a problem with a particular laptop which is running Ubuntu. We have a service which uses broadcast UDP messages, and this laptop is not receiving them on its wireless interface, except occasionally.
I have boiled the problem down to an example using netcat
and socat
to demonstrate. I am temporarily using a wireless router with 192.168.0.X address range.
On one computer I run
$ nc -lu 7570
And on the other computer I run
$ echo "hello" | socat - UDP-DATAGRAM:192.168.0.255:7570,broadcast
This shows up on all computers connected via wireless except the one in question. If I run socat
on the "bad" computer all computers see the message including itself.
Oddly, everything else about this computer seems fine. It is able to use wireless to browse the net and transfer files with no problems. It only won't receive UDP broadcast messages. If I put the "socat" in a loop, it will receive the message once every 100 times or so. Also, it seems to work fine on the wired connection. So it must be a problem with the r8192se_pci
driver which it uses for its wireless chipset. However, I've never heard of such a problem where all traffic works fine except for broadcast messages. Can anyone think of how I might fix or better-diagnose the problem?