DaemonForums  

Go Back   DaemonForums > NetBSD > NetBSD General

NetBSD General Other questions regarding NetBSD which do not fit in any of the categories below.

Reply
 
Thread Tools Display Modes
  #1   (View Single Post)  
Old 9th March 2009
IdOp's Avatar
IdOp IdOp is offline
Too dumb for a smartphone
 
Join Date: May 2008
Location: twisting on the daemon's fork(2)
Posts: 1,027
Question Ethernet UP clobbers PPP

I've been having a bizarre problem with NetBSD i386 4.0.1 -release (and before that on 4.0 -release). After a bunch of trial and error, I found a solution to the problem. That's great insofar as "it works" now, but I still don't understand why the problem was happening, hence this post.

For now I just want to give a concise description of the setup, problem and solution, so that people can quickly see where it's going. Of course, I'd be glad to post more details as needed.

The setup is a box with a single modem and single network card (a Via Rhine II, interface vr0). The modem dials up to "the Internet" and vr0 connects to the local LAN. There is no NAT or IP forwarding going on; things are fairly much out of the box. Connections to the LAN work fine.

This was the problem: When connected with pppd to the Internet (interface ppp0), this connection does not work right when vr0 is UP. If I put vr0 DOWN, the ppp connection soon starts to work right. (This is from the box, not the LAN.) What do I mean by not right? Well, it seems DNS is working, but loading almost any web page will hang up after DNS and the request is sent -- unless maybe it is a very small web page.

Note, the same thing works just fine with Linux and OpenBSD, so it doesn't seem to be a hardware problem.

BTW the routing looks ok:
Code:
# route show | head
default            Remote-IP          UG
10.0.1.0/24        link#1             U
loopback           127.0.0.1          UGR
localhost          127.0.0.1          UH
Remote-Host        Local-IP           UH
(Hostname and IP addresses cloaked by me.)

The problem manifests as errors on the ppp0 interface:
Code:
# ifconfig -v ppp0
ppp0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1450
        input: 44 packets, 16992 bytes, 10 errors
        output: 50 packets, 3523 bytes
        inet Local-IP -> Remote-IP netmask 0xff000000
        inet6 fe80::250:baff:fe26:b0a3%ppp0 ->  prefixlen 64 scopeid 0x3
After a lot of frustration, the solution I found was: In the PPP setup, I'd been using MRU of 1280. Due to some of the symptoms above, I tried increasing it to the max of 1524, and the problem went away! After some experiments it seems that an MRU >= 1500 works, and anything less probably gives the problem. As an aside, the MTU of vr0 is of course 1500.

So the questions are, why on earth would the UP/DOWN state of the ethernet link affect the PPP connection, and only for too small MRU's? Could this cause other problems? Is there a better solution?

I'd be grateful for any insight anyone might have on this. Thank you.

Last edited by IdOp; 9th March 2009 at 02:29 AM.
Reply With Quote
  #2   (View Single Post)  
Old 9th March 2009
IdOp's Avatar
IdOp IdOp is offline
Too dumb for a smartphone
 
Join Date: May 2008
Location: twisting on the daemon's fork(2)
Posts: 1,027
Default

A few more details:

/etc/ifconfig.vr0
Code:
inet 10.0.1.1 netmask 255.255.255.0 media 100baseTX-FDX
pppd command line
# pppd /dev/modem 57600 mru 1280 mtu 1280 kdebug 0 lock modem crtscts noipdefault defaultroute usepeerdns ipv6cp-use-ipaddr ipparam "$IPPARAM" asyncmap 0 0.0.0.0:0.0.0.0 connect /etc/ppp/ppp_chat

The kernel is basically 4.0.1 GENERIC but framebuffer console has been enabled:
dmesg
Code:
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 4.0.1 (XYZ_KERNEL) #0: Tue Feb 24 21:00:48 EST 2009
        XYZ@dumpster:/usr/local/src/NetBSD/4.0.1/source/build/usr/src/sys/arch/i386/compile/obj/XYZ_KERNEL
total memory = 255 MB
rbus: rbus_min_start set to 0x40000000
avail memory = 240 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
BIOS32 rev. 0 found at 0xfb210
mainbus0 (root)
ACPI Error (tbxfroot-0775): No valid RSDP was found [20060217]
ACPI Exception (tbxfroot-0531): AE_NOT_FOUND, RSDP structure not found - Flags=8 [20060217]
ACPI Exception (tbxface-0162): AE_NO_ACPI_TABLES, Could not get the RSDP [20060217]
ACPI Exception (tbxface-0211): AE_NO_ACPI_TABLES, Could not load tables [20060217]
ACPI: unable to load tables: AE_NO_ACPI_TABLES
cpu0 at mainbus0: (uniprocessor)
cpu0: AMD K6-2 (586-class), 501.15 MHz, id 0x58c
cpu0: features 8021bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8>
cpu0: features 8021bf<PGE,MMX>
cpu0: "AMD-K6(tm) 3D processor"
cpu0: I-cache 32 KB 32B/line 2-way, D-cache 32 KB 32B/line 2-way
cpu0: ITLB 64 4 KB entries direct-mapped
cpu0: DTLB 128 4 KB entries 2-way
cpu0: 4 page colors
vesabios0 at mainbus0: version 2.0, ATI Technologies Inc. R128
vesafb0 at vesabios0: VESA frame buffer
vesafb0: fb 1024x768x8 @0xd0000000
vesafb0: VBE/PM 1.0 [standby] [suspend] [off]
wsdisplay0 at vesafb0 kbdmux 1: console (fb, vt100 emulation)
wsmux1: connecting to wsdisplay0
text at vesabios0 not configured
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: VIA Technologies VT82C597 (Apollo VP3) Host-PCI Bridge (rev. 0x04)
agp0 at pchb0: aperture at 0xd6000000, size 0xf000000
ppb0 at pci0 dev 1 function 0: VIA Technologies VT82C598 (Apollo MVP3) CPU-AGP Bridge (rev. 0x00)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
ATI Technologies Rage 128 GL AGP 2x (VGA display) at pci1 dev 0 function 0 not configured
pcib0 at pci0 dev 7 function 0
pcib0: VIA Technologies VT82C586 PCI-ISA Bridge (rev. 0x47)
viaide0 at pci0 dev 7 function 1
viaide0: VIA Technologies VT82C586 (Apollo VP) ATA33 controller
viaide0: bus-master DMA support present
viaide0: primary channel configured to compatibility mode
viaide0: primary channel interrupting at irq 14
atabus0 at viaide0 channel 0
viaide0: secondary channel configured to compatibility mode
viaide0: secondary channel interrupting at irq 15
atabus1 at viaide0 channel 1
uhci0 at pci0 dev 7 function 2: VIA Technologies VT83C572 USB Controller (rev. 0x02)
uhci0: interrupting at irq 10
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: VIA Technologies UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
pchb1 at pci0 dev 7 function 3
pchb1: VIA Technologies VT82C586 Power Management Controller (rev. 0x10)
eap0 at pci0 dev 8 function 0: Ensoniq CT5880 CT5880-E (rev. 0x04)
eap0: interrupting at irq 11
eap0: ac97: EMC40 codec; 18 bit DAC, 18 bit ADC, no 3D stereo
eap0: ac97: ext id 280<AMAP,SDAC>
audio0 at eap0: full duplex, mmap, independent
midi0 at eap0: AudioPCI MIDI UART
vr0 at pci0 dev 9 function 0: VIA VT6102 (Rhine II) 10/100 Ethernet
vr0: interrupting at irq 12
vr0: Ethernet address: 00:50:ba:26:b0:a3
sqphy0 at vr0 phy 8: Seeq 80225 10/100 media interface, rev. 0
sqphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
puc0 at pci0 dev 10 function 0: US Robotics (3Com) 3CP5609 PCI 16550 Modem (com)
com3 at puc0 port 0: interrupting at irq 5
com3: ns16550a, working fifo
isa0 at pcib0
lpt0 at isa0 port 0x378-0x37b irq 7
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
attimer0 at isa0 port 0x40-0x43: AT Timer
pcppi0 at isa0 port 0x61
pcppi0: children must have an explicit unit
midi1 at pcppi0: PC speaker (CPU-intensive output)
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff
npx0: reported by CPUID; using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
pcppi0: attached to attimer0
isapnp0: no ISA Plug 'n Play devices found
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
Kernelized RAIDframe activated
atapibus0 at atabus0: 2 targets
cd0 at atapibus0 drive 0: <LITE-ON LTR-52327S, , QS57> cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
cd0(viaide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA)
wd0 at atabus1 drive 0: <SAMSUNG SP0411N>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 38204 MB, 77622 cyl, 16 head, 63 sec, 512 bytes/sect x 78242976 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd1 at atabus1 drive 1: <IC35L040AVVN07-0>
wd1: drive supports 16-sector PIO transfers, LBA addressing
wd1: 39266 MB, 79780 cyl, 16 head, 63 sec, 512 bytes/sect x 80418240 sectors
wd1: 32-bit data port
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(viaide0:1:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA)
wd1(viaide0:1:1): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA)
uhidev0 at uhub0 port 1 configuration 1 interface 0
uhidev0: APC Back-UPS ES 500 FW:801.e3.D USB FW:e3, rev 1.10/1.06, addr 2, iclass 3/0
uhidev0: 123 report ids
uhid0 at uhidev0 reportid 1: input=0, output=0, feature=1
uhid1 at uhidev0 reportid 2: input=0, output=0, feature=1
uhid2 at uhidev0 reportid 3: input=0, output=0, feature=1
uhid3 at uhidev0 reportid 4: input=0, output=0, feature=1
uhid4 at uhidev0 reportid 5: input=0, output=0, feature=1
uhid5 at uhidev0 reportid 6: input=1, output=0, feature=1
uhid6 at uhidev0 reportid 7: input=0, output=0, feature=2
uhid7 at uhidev0 reportid 8: input=0, output=0, feature=2
uhid8 at uhidev0 reportid 9: input=0, output=0, feature=2
uhid9 at uhidev0 reportid 10: input=0, output=0, feature=1
uhid10 at uhidev0 reportid 11: input=0, output=0, feature=1
uhid11 at uhidev0 reportid 12: input=3, output=0, feature=3
uhid12 at uhidev0 reportid 13: input=0, output=0, feature=1
uhid13 at uhidev0 reportid 14: input=0, output=0, feature=1
uhid14 at uhidev0 reportid 15: input=0, output=0, feature=1
uhid15 at uhidev0 reportid 16: input=0, output=0, feature=1
uhid16 at uhidev0 reportid 17: input=0, output=0, feature=1
uhid17 at uhidev0 reportid 18: input=0, output=0, feature=1
uhid18 at uhidev0 reportid 22: input=4, output=0, feature=4
uhid19 at uhidev0 reportid 23: input=0, output=0, feature=2
uhid20 at uhidev0 reportid 24: input=0, output=0, feature=1
uhid21 at uhidev0 reportid 28: input=0, output=0, feature=3
uhid22 at uhidev0 reportid 32: input=0, output=0, feature=2
uhid23 at uhidev0 reportid 34: input=0, output=0, feature=1
uhid24 at uhidev0 reportid 35: input=0, output=0, feature=2
uhid25 at uhidev0 reportid 36: input=0, output=0, feature=2
uhid26 at uhidev0 reportid 37: input=0, output=0, feature=2
uhid27 at uhidev0 reportid 38: input=0, output=0, feature=2
uhid28 at uhidev0 reportid 39: input=0, output=0, feature=1
uhid29 at uhidev0 reportid 40: input=0, output=0, feature=4
uhid30 at uhidev0 reportid 48: input=0, output=0, feature=1
uhid31 at uhidev0 reportid 49: input=0, output=0, feature=1
uhid32 at uhidev0 reportid 50: input=0, output=0, feature=1
uhid33 at uhidev0 reportid 51: input=0, output=0, feature=1
uhid34 at uhidev0 reportid 52: input=0, output=0, feature=1
uhid35 at uhidev0 reportid 53: input=0, output=0, feature=1
uhid36 at uhidev0 reportid 54: input=0, output=0, feature=1
uhid37 at uhidev0 reportid 64: input=0, output=0, feature=1
uhid38 at uhidev0 reportid 65: input=0, output=0, feature=2
uhid39 at uhidev0 reportid 80: input=0, output=0, feature=1
uhid40 at uhidev0 reportid 81: input=0, output=0, feature=1
uhid41 at uhidev0 reportid 96: input=0, output=0, feature=2
uhid42 at uhidev0 reportid 97: input=0, output=0, feature=1
uhid43 at uhidev0 reportid 98: input=0, output=0, feature=4
uhid44 at uhidev0 reportid 116: input=0, output=0, feature=4
uhid45 at uhidev0 reportid 117: input=0, output=0, feature=1
uhid46 at uhidev0 reportid 120: input=0, output=0, feature=1
uhid47 at uhidev0 reportid 121: input=0, output=0, feature=1
uhid48 at uhidev0 reportid 122: input=0, output=0, feature=4
uhid49 at uhidev0 reportid 123: input=0, output=0, feature=2
uhidev1 at uhub0 port 2 configuration 1 interface 0
uhidev1: vendor 0x15d9 USB Mouse, rev 1.10/1.00, addr 3, iclass 3/1
ums0 at uhidev1: 3 buttons and Z dir.
wsmouse0 at ums0 mux 0
boot device: wd1
root on wd1a dumps on wd1b
root file system type: ffs
wsdisplay0: screen 1 added (fb, vt100 emulation)
wsdisplay0: screen 2 added (fb, vt100 emulation)
wsdisplay0: screen 3 added (fb, vt100 emulation)
wsdisplay0: screen 4 added (fb, vt100 emulation)
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Broadcom BCM5906M 10/100 Ethernet Driver? revzalot Solaris 0 15th June 2009 05:47 PM
My D-Link DFE530TX ethernet adapter isnt found. Help! Quaxo OpenBSD Installation and Upgrading 15 10th February 2009 12:23 AM
broadcom ethernet jaideep_jdof NetBSD General 0 16th November 2008 05:33 PM
Activating/deactivating Ethernet card rex FreeBSD General 9 4th September 2008 07:00 PM
Installing software without Ethernet Card welkin FreeBSD Ports and Packages 2 27th July 2008 12:12 AM


All times are GMT. The time now is 05:13 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick