From owner-freebsd-current Fri Jan 29 14:39:31 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id OAA23523 for freebsd-current-outgoing; Fri, 29 Jan 1999 14:39:31 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from cheddar.netmonger.net (cheddar.netmonger.net [209.54.21.140]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id OAA23516; Fri, 29 Jan 1999 14:39:27 -0800 (PST) (envelope-from chris@cheddar.netmonger.net) Received: (from chris@localhost) by cheddar.netmonger.net (8.8.8/8.8.8) id RAA01940; Fri, 29 Jan 1999 17:39:23 -0500 (EST) Message-ID: <19990129173922.A29551@netmonger.net> Date: Fri, 29 Jan 1999 17:39:22 -0500 From: Christopher Masto To: hardware@FreeBSD.ORG Cc: current@FreeBSD.ORG Subject: Network/ARP problem? Maybe pn driver? Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.91.1i Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I hope I'm not just being really stupid, but I think there's a problem somewhere. If it's a configuration error on my part, then I think I'd better take a vacation, considering what my job is supposed to be. Anyway, I have a machine that is exhibiting a weird network problem. My guess is that ARP is not working, or perhaps something that ARP depends on (broadcasts?) is not working. The symptom is, quite simply, that computer A (this new one) is not able to communicate with any other computers.. until those other computers communicate with A. For example, if A tries to ping B, A appears to get no response, saying that B is down. But if B pings A, A is now able to ping B. But A still can't ping C until C pings A as well. All (two dozen) other machines on the network have been working fine, some of them for years. I have ruled out problems with the hub, cabling, etc., by swapping them. I have not swapped out the network card (a PNIC-based NetGear 10/100), but it does work under Windows on this same machine. Here is what the routing table looks like during one of these episodes: Destination Gateway Flags Refs Use Netif Expire default 209.54.21.129 UGSc 0 0 pn0 127.0.0.1 127.0.0.1 UH 0 0 lo0 209.54.21 link#1 UC 0 0 pn0 209.54.21.129 0:e0:b0:e2:bc:79 UHLW 1 0 pn0 970 209.54.21.142 link#1 UHRLW 0 7 pn0 209.54.21.181 link#1 UHRLW 0 7 pn0 209.54.21.199 0:60:97:a3:63:e6 UHLW 1 44 pn0 1159 At this time, it is possible to talk to .129 and .199, but not .142 or .181. Attempts to ping other addresses result in them appearing in the table with "link#1" entries. If I ping A from the other machine, the "link#1" is replaced by the correct hardware address. Here's the ARP table: bertha% arp -n -a ? (209.54.21.129) at 0:e0:b0:e2:bc:79 ? (209.54.21.142) at (incomplete) ? (209.54.21.181) at (incomplete) ? (209.54.21.199) at 0:60:97:a3:63:e6 bertha% arp -n 209.54.21.142 ? (209.54.21.142) at (incomplete) It's as if machine A isn't hearing the ARP responses. Here is part of a tcpdump done from another machine on the same segment during this time: 17:07:06.751678 arp who-has 209.54.21.142 tell 209.54.21.233 17:07:06.751862 arp reply 209.54.21.142 is-at 0:60:97:a3:63:af 17:07:16.767849 arp who-has 209.54.21.142 tell 209.54.21.233 17:07:16.767997 arp reply 209.54.21.142 is-at 0:60:97:a3:63:af 17:07:26.783799 arp who-has 209.54.21.142 tell 209.54.21.233 17:07:26.783928 arp reply 209.54.21.142 is-at 0:60:97:a3:63:af 17:07:46.796125 arp who-has 209.54.21.142 tell 209.54.21.233 17:07:46.796279 arp reply 209.54.21.142 is-at 0:60:97:a3:63:af The ARP is being sent out, and so is the response, but it's not being picked up for some reason. Here's a boot -v from the machine (at least, the part that fit in the dmesg buffer): 06-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 chip0: rev 0x01 on pci0.0.0 found-> vendor=0x8086, dev=0x7000, revid=0x00 class=06-01-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 chip1: rev 0x00 on pci0.7.0 I/O Recovery Timing: 8-bit 3 clocks, 16-bit 2 clocks Extended BIOS: enabled Lower BIOS: disabled Coprocessor IRQ13: enabled Mouse IRQ12: disabled Interrupt Routing: A: IRQ9, B: IRQ12, C: disabled, D: IRQ11 MB0: IRQ15, MB1: found-> vendor=0x8086, dev=0x7010, revid=0x00 class=01-01-80, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 map[0]: type 4, range 32, base 00009000, size 4 ide_pci0: rev 0x00 on pci0.7.1 intel_piix_status: primary master/slave sample = 3, master/slave recovery = 1 intel_piix_status: primary master fastDMAonly disabled, pre/post enabled, intel_piix_status: IORDY sampling enabled, intel_piix_status: fast PIO enabled intel_piix_status: primary master/slave sample = 3, master/slave recovery = 1 intel_piix_status: primary slave fastDMAonly disabled, pre/post disabled, intel_piix_status: IORDY sampling disabled, intel_piix_status: fast PIO disabled ide_pci: busmaster 0 status: 04 from port: 00009002 intel_piix_status: secondary master/slave sample = 3, master/slave recovery = 3 intel_piix_status: secondary master fastDMAonly disabled, pre/post enabled, intel_piix_status: IORDY sampling enabled, intel_piix_status: fast PIO enabled intel_piix_status: secondary master/slave sample = 3, master/slave recovery = 3 intel_piix_status: secondary slave fastDMAonly disabled, pre/post disabled, intel_piix_status: IORDY sampling disabled, intel_piix_status: fast PIO disabled ide_pci: busmaster 1 status: 04 from port: 0000900a found-> vendor=0x8086, dev=0x7020, revid=0x00 class=0c-03-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=d, irq=11 map[0]: type 4, range 32, base 00006000, size 5 found-> vendor=0x5333, dev=0x8811, revid=0x40 class=03-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=9 map[0]: type 1, range 32, base e0000000, size 26 vga0: rev 0x40 int a irq 9 on pci0.17.0 found-> vendor=0x11ad, dev=0x0002, revid=0x21 class=02-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=12 map[0]: type 4, range 32, base 00006100, size 8 map[1]: type 1, range 32, base e4000000, size 8 pn0: <82c168/82c169 PNIC 10/100BaseTX> rev 0x21 int a irq 12 on pci0.18.0 pn0: Ethernet address: 00:a0:cc:3b:66:51 pn0: probing for a PHY pn0: checking address: 0 pn0: checking address: 1 pn0: found PHY at address 1, vendor id: 7810 device id: 0 pn0: PHY type: pn0: PHY status word: 7809 pn0: 10Mbps half-duplex mode supported pn0: 10Mbps full-duplex mode supported pn0: 100Mbps half-duplex mode supported pn0: 100Mbps full-duplex mode supported pn0: autoneg supported pn0: autoneg complete, link status good (half-duplex, 10Mbps) bpf: pn0 attached Initializing PnP override table Probing for PnP devices: Trying Read_Port at 203 Trying Read_Port at 243 PnP: CSN 1 COMP_DEVICE_ID = 0x0006d041 CSN 1 Vendor ID: CTL0044 [0x44008c0e] Serial 0x000ca45a Comp ID: PNP0600 [0x0006d041] Called nullpnp_probe with tag 0x00000001, type 0x44008c0e Called nullpnp_probe with tag 0x00000001, type 0x0006d041 Probing for devices on the ISA bus: atkbd: the current kbd controller command byte 0047 atkbd: keyboard ID 0x41ab (2) kbdc: RESET_KBD return code:00fa kbdc: RESET_KBD status:00aa sc0 on isa sc0: fb0 kbd0 sc0: VGA color <16 virtual consoles, flags=0x0> atkbdc0 at 0x60-0x6f on motherboard atkbd0 irq 1 on isa kbd0: atkbd0, AT 101/102 (2), config:0x10000, flags:0x3d0000 psm0: current command byte:0047 kbdc: TEST_AUX_PORT status:0000 kbdc: RESET_AUX return code:00fe kbdc: RESET_AUX return code:00fe kbdc: RESET_AUX return code:00fe kbdc: DIAGNOSE status:0055 kbdc: TEST_KBD_PORT status:0000 psm0: failed to reset the aux device. psm0 not found sio0: irq maps: 0x1 0x11 0x1 0x1 sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa sio0: type 16550A sio1: irq maps: 0x1 0x9 0x1 0x1 sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A ppc: parallel port found at 0x3bc ppc0: ECP SPP ECP+EPP SPP ppc0 at 0x3bc irq 7 on isa ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/14 bytes threshold nlpt0: on ppbus 0 nlpt0: Interrupt-driven port ppi0: on ppbus 0 plip: irq 7 plip0: on ppbus 0 bpf: lp0 attached fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa fdc0: FIFO enabled, 8 bytes threshold fd0: 1.44MB 3.5in wdc0 at 0x1f0-0x1f7 irq 14 flags 0xa0ffa0ff on isa intel_piix_dmainit: setting multiword DMA mode 2 wd0: wdsetmode() setting transfer mode to 22 intel_piix_status: primary master sample = 3, master recovery = 1 intel_piix_status: primary master fastDMAonly disabled, pre/post enabled, intel_piix_status: IORDY sampling enabled, intel_piix_status: fast PIO enabled wdc0: unit 0 (wd0): , DMA, 32-bit, multi-block-16 wd0: 6149MB (12594960 sectors), 13328 cyls, 15 heads, 63 S/T, 512 B/S wd0: ATA INQUIRE valid = 0007, dmamword = 0407, apio = 0003, udma = 0007 wdc1 at 0x170-0x177 irq 15 flags 0xa0ffa0ff on isa wdc1: unit 0 (atapi): , removable, intr, dma, iordis acd0: drive speed 1033KB/sec, 256KB cache acd0: supported read types: acd0: Audio: play, 255 volume levels acd0: Mechanism: ejectable tray acd0: Medium: no/blank disc inside, unlocked wdc1: unit 1 (atapi): , removable, intr, iordis vga0 at 0x3b0-0x3df maddr 0xa0000 msize 131072 on isa fb0: vga0, vga, type:VGA (5), flags:0x7007f fb0: port:0x3b0-0x3df, crtc:0x3d4, mem:0xa0000 0x20000 fb0: init mode:24, bios mode:3, current mode:24 fb0: window:0xf00b8000 size:32k gran:32k, buf:0x0 size:0k VGA parameters upon power-up 50 18 10 00 00 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0e 0f 00 00 07 80 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff VGA parameters in BIOS for mode 24 50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff EGA/VGA parameters to be used for mode 24 50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff npx0 on motherboard npx0: INT 16 interface apm0 flags 0x31 on isa apm: found APM BIOS version 1.1 sb0 at 0x220 irq 5 drq 1 on isa snd0: sbxvi0 at drq 5 on isa snd0: sbmidi0 at 0x330 on isa snd0: imasks: bio c008c040, tty c007109a, net c007109a BIOS Geometries: 0:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 1:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 2:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 3:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 4:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 5:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 6:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 7:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 0 accounted for Device configuration finished. IP packet filtering initialized, divert enabled, rule-based forwarding enabled, logging limited to 100 packets/entry bpf: tun0 attached bpf: sl0 attached bpf: ppp0 attached new masks: bio c008c040, tty c007109a, net c007109a bpf: lo0 attached IP Filter: initialized. Default = pass all, Logging = enabled Considering MFS root f/s. No MFS image available as root f/s. Considering FFS root f/s. changing root device to wd0s2a wd0s1: type 0xb, start 63, end = 8193149, size 8193087 : OK wd0s2: type 0xa5, start 8193150, end = 12594959, size 4401810 : OK ffs_mountfs: superblock updated for soft updates ffs_mountfs: superblock updated for soft updates ffs_mountfs: superblock updated for soft updates By the way, it's running: FreeBSD 4.0-CURRENT #1: Sun Jan 24 23:39:56 EST 1999 But I had the same problems with a 3.0-CURRENT snapshot (I upgraded it in case this problem had already been fixed). This machine is not mine; I will only have access to it for another week or so, but during that time I will be able to do any testing or diagnostics needed. I'd appreciate any ideas or suggestions. -- Christopher Masto Director of Operations NetMonger Communications chris@netmonger.net info@netmonger.net http://www.netmonger.net "Good tools allow users to do stupid things." -- Clay Shirky To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message