Ubuntu – What does “ping: sendmsg: No buffer space available” mean


I had an intermittent issue (which resolves itself spontaneously, after using a different connection for a while) that caused Internet requests to fail, with one particular wireless network. After about 5 requests after associating with an AP, ping would report the error

ping: sendmsg: No buffer space available

just as in Wifi connected but no data transfer: "ping: sendmsg: No buffer space available".

In case it's relevant, I'm seeing with a Centrino Ultimate-N 6300 [8086:4238] wireless interface on a Thinkpad X201. Bug #836250 is possibly related.

While I can work around this issue, I was wondering: What does this error message mean? In particular, what buffer is it talking about?

Best Answer

It means you reached a maximum value for a system parameter. Probably /proc/sys/net/core/wmem_max (but this might need some investigating on a system that shows this error). This setting is the maximum amount "receive socket memory".

It is likely that the cause is a broken NIC -or- a NIC that is not 100% supported if the system is not stressed out. Broadcom bcm4313 is one that seems to show this error.

In case anyone wants to know: the file where these are stored is /etc/sysctl.conf and you can alter them from a root(!) prompt. Some examples can be found here (also includes the parameter shown at the beginning of this answer). But this should only be done if replacing the NIC itself does not solve it.