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?


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.


I got the same issue with my laptop DELL XPS using Linux 5.3.0-42 Ubuntu 18.04.3 LTS. Using ping 8.8.8.8 I get the following error:

ping: sendmsg: No buffer space available

Several sources online suggest to increase the wmem_max using:

echo 83886080 | sudo tee /proc/sys/net/core/wmem_max

But I didn't solve with this, after a while I just changed the Wireless mode in my router into

802.11 b/g/n mixed

Moreover, I disabled the 5 GHz in the router, probably it is overcharged.

All of this fixed my issue.

EDIT: alternatively, if you do not want to disable 5G you can set from the wifi configuration the related wifi channel between 5G or 2.4G, just go to Wifi network settings, select your network and in the "identity" tab change the BSSID, there you should find 2 BSSID one is the 2.4GHZ and the other one is 5G.


Chances are it's a problem with the driver or the hardware itself. It can be temporarily fixed by taking the interface up/down. Basically the output queue is full and unless you are handling some major network traffic or have a ton of hosts on the network you shouldn't see that error, and if you were, you could probably tweak some kernel values to prevent the error.


I had a similar problem with a 3g modem (USB modem). When using a different modem, same brand, the problem disappeared. Whenever I used the defective modem it worked for a while then started to fail with same symptoms, after few days the modem broke completely, I finally replace it, and the problem solved completely.