Subject: pppd "write: No buffer space available"
To: None <>
From: Carl Brewer <>
List: netbsd-users
Date: 06/15/2004 14:16:33

I've got a NetBSD 1.6.1 box sitting behind a dialup
line running IP Filter, sendmail & squid, to provide a
firewall and mail routing for a small office.

Every now and then (week or so) they see the following
on the console :

Jun 15 11:59:19 fw pppd[165]: write: No buffer space available

And the link seems to die (I can't confirm link death,
they normally reboot the box, which isn't the right thing to
do ....).  I haven't been onsite when this has happened,
so I can't confirm what's going on at the time.

Has anyone seen this before and have any suggestions?  We're about
to cut them over to a DSL link via an ethernet link, which will
take pppd out of the picture, but I'm curious all the same. The
box is also due for an upgrade to 1.6.2 when they next get me in to
work on it, and I'll apply the TCP patch to the kernel at that time.

dmesg & pppd configs below :



fw: {22} dmesg
NetBSD 1.6.1 (GENERIC) #0: Tue Apr  8 12:05:52 UTC 2003
cpu0: Intel Pentium III (Katmai) (686-class), 451.05 MHz
cpu0: I-cache 16 KB 32b/line 4-way, D-cache 16 KB 32b/line 2-way
cpu0: L2 cache 512 KB 32b/line 4-way
cpu0: features 387f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR>
cpu0: features 387f9ff<PGE,MCA,CMOV,FGPAT,PSE36,PN,MMX>
cpu0: features 387f9ff<FXSR,SSE>
cpu0: serial number 0000-0672-0001-B218-6E92-006F
total memory = 127 MB
avail memory = 111 MB
using 1658 buffers containing 6632 KB of memory
BIOS32 rev. 0 found at 0xfb380
mainbus0 (root)
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82443BX Host Bridge/Controller (rev. 0x03)
agp0 at pchb0: aperture at 0xe0000000, size 0x4000000
ppb0 at pci0 dev 1 function 0: Intel 82443BX AGP Interface (rev. 0x03)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
vga1 at pci1 dev 0 function 0: Intel i740 Graphics Accelerator (rev. 0x21)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
pcib0 at pci0 dev 7 function 0
pcib0: Intel 82371AB PCI-to-ISA Bridge (PIIX4) (rev. 0x02)
pciide0 at pci0 dev 7 function 1: Intel 82371AB IDE controller (PIIX4) 
(rev. 0x01)
pciide0: bus-master DMA support present
pciide0: primary channel wired to compatibility mode
wd0 at pciide0 channel 0 drive 0: <QUANTUM FIREBALLlct20 10>
wd0: drive supports 8-sector PIO transfers, LBA addressing
wd0: 9787 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 20044080 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd1 at pciide0 channel 0 drive 1: <QUANTUM FIREBALL EX3.2A>
wd1: drive supports 16-sector PIO transfers, LBA addressing
wd1: 3079 MB, 6256 cyl, 16 head, 63 sec, 512 bytes/sect x 6306048 sectors
wd1: 32-bit data port
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
pciide0: primary channel interrupting at irq 14
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using 
DMA data transfers)
wd1(pciide0:0:1): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using 
DMA data transfers)
pciide0: secondary channel wired to compatibility mode
atapibus0 at pciide0 channel 1: 2 targets
cd0 at atapibus0 drive 1: <CRD-8400B, 1999/02/23, 1.01> type 5 cdrom 
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2
pciide0: secondary channel interrupting at irq 15
cd0(pciide0:1:1): using PIO mode 4, DMA mode 2 (using DMA data transfers)
uhci0 at pci0 dev 7 function 2: Intel 82371AB USB Host Controller 
(PIIX4) (rev. 0x01)
uhci0: interrupting at irq 10
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
Intel 82371AB Power Management Controller (PIIX4) (miscellaneous bridge, 
revision 0x02) at pci0 dev 7 function 3 not configured
tlp0 at pci0 dev 9 function 0: Lite-On 82C169 Ethernet, pass 2.0
tlp0: interrupting at irq 5
tlp0: Ethernet address 00:a0:cc:d0:3b:85
bmtphy0 at tlp0 phy 1: BCM5201 10/100 media interface, rev. 2
bmtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
lpt0 at isa0 port 0x378-0x37b irq 7
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
isapnp0: no ISA Plug 'n Play devices found
biomask ff45 netmask ff65 ttymask ffe7
Kernelized RAIDframe activated
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
IP Filter: v3.4.29 initialized.  Default = pass all, Logging = enabled
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)

pppd config details :

/etc/ppp contains :

fw: {25} more options

fw: {26} more chat-dialin-connect
OK ATDT123456789
TIMEOUT 10  "sername:--sername:" ******* "ssword:--ssword:" ********

fw: {32} more peers/connect
connect "/usr/sbin/chat -f /etc/ppp/chat-dialin-connect"
mru 1500
lcp-echo-interval 60
lcp-echo-failure 6
asyncmap 0x0

in /etc/rc.local :

if [ -f /etc/ppp/peers/connect ]; then
     echo ' pppd calling connect'
     /usr/sbin/pppd call connect

# give pppd 45 seconds to get connected
echo ' sleeping for 45 seconds while pppd connects'
sleep 45