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:,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?

  • Can you set the interface to promiscuous mode? If so, does that change it's behavior? – draeath Apr 27 '11 at 18:47
  • Have you tried sending it unicast UDP messages at the same time as you're sending the broadcast messages and seeing if they go through? UDP isn't reliable and neither is wireless. – Jeff Apr 27 '11 at 19:23

Steve, this sounds very suspiciously like mismatched netmasks between the devices on the subnet... I would check that Ubuntu's netmask with ip addr show.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.