From owner-freebsd-stable Mon Aug 12 0: 7:37 2002 Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5F56B37B400; Mon, 12 Aug 2002 00:07:20 -0700 (PDT) Received: from ns.itga.com.au (ns.itga.com.au [202.53.40.210]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8C75443E6A; Mon, 12 Aug 2002 00:07:18 -0700 (PDT) (envelope-from gnb@itga.com.au) Received: from lightning.itga.com.au (lightning.itga.com.au [192.168.71.20]) by ns.itga.com.au (8.9.3/8.9.3) with ESMTP id RAA15811; Mon, 12 Aug 2002 17:07:16 +1000 (EST) (envelope-from gnb@itga.com.au) Received: from lightning.itga.com.au (localhost [127.0.0.1]) by lightning.itga.com.au (8.9.3/8.9.3) with ESMTP id RAA02637; Mon, 12 Aug 2002 17:07:13 +1000 (EST) Message-Id: <200208120707.RAA02637@lightning.itga.com.au> X-Mailer: exmh version 2.4 05/15/2001 with nmh-1.0.4 From: Gregory Bond To: stable@freebsd.org, luigi@freebsd.org Cc: production@itga.com.au Subject: major problems with recent if_fxp commit Mime-Version: 1.0 Content-Type: multipart/mixed ; boundary="==_Exmh_5854903580" Date: Mon, 12 Aug 2002 17:07:13 +1000 Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG This is a multipart MIME message. --==_Exmh_5854903580 Content-Type: text/plain; charset=us-ascii I have a system with buildworld/installworld last done on about 1 June. It's a pretty plain-jayne HP P4 with an on-board fxp0 interface. Did a cvsup, buildworld and buildkernel and installkernel on RELENG_4 from about 1900 UTC on Satuday 10th. Rebooted before doing installworld (just to make sure). Bloody glad I did, because fxp0 is acting very very strange. If I boot multiuser, then pings from the fxp0 to other hosts work, but pings (and all other network access) from other hosts back to the FreeBSD box with fxp0 work only intermittently if at all. If I run tcpdump in promiscuous mode, then pings (and everything else) from all other hosts work as normal. Kill tcpdump, and it all stops again. Run tcpdump in non-promiscuous mode, and it doesn't work either - it sees incoming ICMP ECHO REQ but no (or only very few) outgoing ICMP ECHO REPLY. It's not a module out of date thing (no modules loaded). It's not an IPFW thing (no hits on the deny rules). We've tried from various remote boxes, including Suns, Ciscos and other FreeBSD boxes. If I revert src/dev/fxp to 2002-08-01 (while the rest of the kernel is still the 2002-08-10 version and userland still on the 06-01 version) and recompile and install /kernel, then everything works fine. If I update src/dev/fxp back to RELENG_4 (there have been no commits since approx 08-08) and reinstall the kernel, it fails again. (This is with the rest of kernel source from approx 08-10 and userland from 06-01.) This _really_ looks like something very strange with the latest fxp commit. Dmesg from a verbose boot (with the failing fxp driver) and config file attached. I'm happy to try random bits of debugging on this box if that's a help to anyone. --==_Exmh_5854903580 Content-Type: text/plain ; name="GROLLO"; charset=us-ascii Content-Description: GROLLO Content-Disposition: attachment; filename="GROLLO" # # $Id: GROLLO,v 1.3 2002/07/23 06:06:29 aaw Exp $ # $Source: /usr/src/sys/i386/conf/RCS/GROLLO,v $ # machine i386 cpu I686_CPU ident GROLLO maxusers 0 options INET #InterNETworking options FFS #Berkeley Fast Filesystem options FFS_ROOT #FFS usable as root device [keep this!] options SOFTUPDATES #Enable FFS soft updates support options UFS_DIRHASH #Improve performance on big directories options MFS #Memory Filesystem options MD_ROOT #MD is a potential root device options NFS #Network Filesystem options NFS_ROOT #NFS usable as root device, NFS required options MSDOSFS #MSDOS Filesystem options CD9660 #ISO 9660 Filesystem options CD9660_ROOT #CD-ROM usable as root, CD9660 required options PROCFS #Process filesystem options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI options UCONSOLE #Allow users to grab the console options USERCONFIG #boot -c editor options VISUAL_USERCONFIG #visual boot -c editor options KTRACE #ktrace(1) support options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options P1003_1B #Posix P1003_1B real-time extensions options _KPOSIX_PRIORITY_SCHEDULING options ICMP_BANDLIM #Rate limit bad replies options KBD_INSTALL_CDEV device isa device pci # Floppy drives device fdc0 at isa? port IO_FD1 irq 6 drq 2 device fd0 at fdc0 drive 0 # ATA and ATAPI devices device ata0 at isa? port IO_WD1 irq 14 device ata1 at isa? port IO_WD2 irq 15 device ata device atadisk # ATA disk drives device atapicd # ATAPI CDROM drives options ATA_STATIC_ID #Static device numbering # SCSI Controllers device ahc # AHA2940 and onboard AIC7xxx devices # SCSI peripherals device scbus # SCSI bus (required) device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct SCSI access) # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc0 at isa? port IO_KBD device atkbd0 at atkbdc? irq 1 flags 0x1 device psm0 at atkbdc? irq 12 device vga0 at isa? # splash screen/screen saver pseudo-device splash # syscons is the default console driver, resembling an SCO console device sc0 at isa? flags 0x100 # Floating point support - do not disable. device npx0 at nexus? port IO_NPX irq 13 # Power management support (see LINT for more options) device apm0 at nexus? disable flags 0x20 # Advanced Power Management # Serial (COM) ports device sio0 at isa? port IO_COM1 flags 0x10 irq 4 device sio1 at isa? port IO_COM2 irq 3 device sio2 at isa? disable port IO_COM3 irq 5 device sio3 at isa? disable port IO_COM4 irq 9 # Parallel port device ppc0 at isa? irq 7 device ppbus # Parallel port bus (required) device lpt # Printer device ppi # Parallel port interface device # Ethernet Cards device miibus # MII bus support device fxp # Intel EtherExpress PRO/100B (82557, 82558) device xl # 3Com 3c90x # Pseudo devices - the number indicates how many units to allocate. pseudo-device loop # Network loopback pseudo-device ether # Ethernet support pseudo-device tun # Packet tunnel. pseudo-device pty # Pseudo-ttys (telnet etc) pseudo-device gif # IPv6 and IPv4 tunneling pseudo-device vn # The `bpf' pseudo-device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! pseudo-device bpf #Berkeley packet filter # USB support device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device usb # USB Bus (required) device ugen # Generic device ukbd # Keyboard device umass # Disks/Mass storage - Requires scbus and da device ums # Mouse # Firewall / Security Stuff options IPFIREWALL options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=1000 options IPDIVERT options IPSEC options IPSEC_ESP # sound - woohoo, an onboard that works !! device pcm # stallion serial cards device stl --==_Exmh_5854903580 Content-Type: text/plain ; name="dmesg.boot"; charset=us-ascii Content-Description: dmesg.boot Content-Disposition: attachment; filename="dmesg.boot" Copyright (c) 1992-2002 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.6-STABLE #9: Mon Aug 12 16:40:09 EST 2002 toor@grollo.itga.com.au:/usr/obj/usr/src/sys/GROLLO Calibrating clock(s) ... TSC clock: 1594119832 Hz, i8254 clock: 1193204 Hz CLK_USE_I8254_CALIBRATION not specified - using default frequency Timecounter "i8254" frequency 1193182 Hz CLK_USE_TSC_CALIBRATION not specified - using old calibration method CPU: Pentium 4 (1594.10-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf12 Stepping = 2 Features=0x3febfbff,ACC> real memory = 536805376 (524224K bytes) Physical memory chunk(s): 0x00001000 - 0x0009efff, 647168 bytes (158 pages) 0x00415000 - 0x1ffe7fff, 532492288 bytes (130003 pages) avail memory = 518299648 (506152K bytes) bios32: Found BIOS32 Service Directory header at 0xc00fda80 bios32: Entry = 0xfda90 (c00fda90) Rev = 0 Len = 1 pcibios: PCI BIOS entry at 0xdab1 pnpbios: Found PnP BIOS data at 0xc00f6ad0 pnpbios: Entry = f0000:5a47 Rev = 1.0 Other BIOS signatures found: ACPI: 000f9e30 Preloaded elf kernel "kernel" at 0xc03ee000. pci_open(1): mode 1 addr port (0x0cf8) is 0x80000090 pci_open(1a): mode1res=0x80000000 (0x80000000) pci_cfgcheck: device 0 [class=060000] [hdr=00] is there (id=1a308086) Using $PIR table, 6 entries at 0xc00f7380 npx0: on motherboard npx0: INT 16 interface pcib0: on motherboard found-> vendor=0x8086, dev=0x1a30, revid=0x03 class=06-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 map[10]: type 1, range 32, base e0000000, size 26 found-> vendor=0x8086, dev=0x1a31, revid=0x03 class=06-04-00, hdrtype=0x01, mfdev=0 subordinatebus=1 secondarybus=1 found-> vendor=0x8086, dev=0x244e, revid=0x12 class=06-04-00, hdrtype=0x01, mfdev=0 subordinatebus=2 secondarybus=2 found-> vendor=0x8086, dev=0x2440, revid=0x12 class=06-01-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 found-> vendor=0x8086, dev=0x244b, revid=0x12 class=01-01-80, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 map[20]: type 1, range 32, base 0000fc00, size 4 found-> vendor=0x8086, dev=0x2442, revid=0x12 class=0c-03-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=d, irq=11 map[20]: type 1, range 32, base 0000d000, size 5 found-> vendor=0x8086, dev=0x2443, revid=0x12 class=0c-05-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=b, irq=0 map[20]: type 1, range 32, base 00000c00, size 4 found-> vendor=0x8086, dev=0x2444, revid=0x12 class=0c-03-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=c, irq=5 map[20]: type 1, range 32, base 0000d400, size 5 found-> vendor=0x8086, dev=0x2445, revid=0x12 class=04-01-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=b, irq=9 map[10]: type 1, range 32, base 0000dc00, size 8 map[14]: type 1, range 32, base 0000d800, size 6 pci0: on pcib0 pcib1: at device 1.0 on pci0 found-> vendor=0x1002, dev=0x5446, revid=0x00 class=03-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=11 map[10]: type 1, range 32, base d8000000, size 26 map[14]: type 1, range 32, base 00007800, size 8 map[18]: type 1, range 32, base dfdfc000, size 14 pci1: on pcib1 pci1: (vendor=0x1002, dev=0x5446) at 0.0 irq 11 pcib2: at device 30.0 on pci0 found-> vendor=0x8086, dev=0x2449, revid=0x03 class=02-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=10 map[10]: type 1, range 32, base dfefe000, size 12 map[14]: type 1, range 32, base 0000a800, size 6 found-> vendor=0x124d, dev=0x0003, revid=0x01 class=07-80-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=10 map[14]: type 1, range 32, base 0000a400, size 7 map[18]: type 1, range 32, base 0000a000, size 7 found-> vendor=0x9004, dev=0x5078, revid=0x03 class=01-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=10 map[10]: type 1, range 32, base 0000ac00, size 8 map[14]: type 1, range 32, base dfeff000, size 12 found-> vendor=0x10b7, dev=0x9200, revid=0x78 class=02-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=9 map[10]: type 1, range 32, base 00009c00, size 7 map[14]: type 1, range 32, base dfefdf80, size 7 pci2: on pcib2 fxp0: port 0xa800-0xa83f mem 0xdfefe000-0xdfefefff irq 10 at device 8.0 on pci2 fxp0: using memory space register mapping fxp0: Ethernet address 00:04:23:06:fd:82 fxp0: PCI IDs: 8086 2449 8086 3013 0003 fxp0: Dynamic Standby mode is disabled inphy0: on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto bpf: fxp0 attached stl0: port 0xa000-0xa07f,0xa400-0xa47f irq 10 at device 9.0 on pci2 using shared irq10. stl0: EasyIO-PCI (driver version 2.0.0) unit=0 nrpanels=1 nrports=8 stl0: driver is using old-style compatibility shims ahc0: port 0xac00-0xacff mem 0xdfeff000-0xdfefffff irq 10 at device 10.0 on pci2 ahc0: Reading SEEPROM...done. ahc0: internal 50 cable not present ahc0: external cable is present ahc0: BIOS eeprom not present ahc0: Low byte termination Enabled ahc0: Downloading Sequencer Program... 447 instructions downloaded aic7850: Single Channel A, SCSI Id=7, 3/253 SCBs xl0: <3Com 3c905C-TX Fast Etherlink XL> port 0x9c00-0x9c7f mem 0xdfefdf80-0xdfefdfff irq 9 at device 11.0 on pci2 xl0: Ethernet address: 00:01:03:45:1d:b1 xl0: media options word: a xl0: found MII/AUTO miibus1: on xl0 ukphy0: on miibus1 ukphy0: OUI 0x00105a, model 0x0000, rev. 0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto bpf: xl0 attached isab0: at device 31.0 on pci0 isa0: on isab0 atapci0: port 0xfc00-0xfc0f at device 31.1 on pci0 ata0: iobase=0x01f0 altiobase=0x03f6 bmaddr=0xfc00 ata0: mask=03 ostat0=50 ostat2=50 ata0-master: ATAPI 00 00 ata0-slave: ATAPI 00 00 ata0: mask=03 stat0=50 stat1=50 ata0-master: ATA 01 a5 ata0-slave: ATA 01 a5 ata0: devices=03 ata0: at 0x1f0 irq 14 on atapci0 ata1: iobase=0x0170 altiobase=0x0376 bmaddr=0xfc08 ata1: mask=03 ostat0=50 ostat2=00 ata1-master: ATAPI 14 eb ata1-slave: ATAPI 00 00 ata1: mask=03 stat0=00 stat1=00 ata1: devices=04 ata1: at 0x170 irq 15 on atapci0 uhci0: port 0xd000-0xd01f irq 11 at device 31.2 on pci0 usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered pci0: (vendor=0x8086, dev=0x2443) at 31.3 irq 0 uhci1: port 0xd400-0xd41f irq 5 at device 31.4 on pci0 usb1: on uhci1 usb1: USB revision 1.0 uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered pcm0: port 0xd800-0xd83f,0xdc00-0xdcff irq 9 at device 31.5 on pci0 using shared irq9. pcm0: ac97 codec id 0x41445360 (Analog Devices AD1885) pcm0: ac97 codec features headphone, 6 bit master volume, Analog Devices Phat Stereo pcm0: ac97 primary codec extended features variable rate PCM pcm0: sndbuf_setmap 34000, 4000; 0xd5d5c000 -> 34000 pcm0: sndbuf_setmap 38000, 4000; 0xd5d60000 -> 38000 ata-: ata0 exists, using next available unit number ata-: ata1 exists, using next available unit number Trying Read_Port at 203 Trying Read_Port at 243 Trying Read_Port at 283 Trying Read_Port at 2c3 Trying Read_Port at 303 Trying Read_Port at 343 Trying Read_Port at 383 Trying Read_Port at 3c3 isa_probe_children: disabling PnP devices isa_probe_children: probing non-PnP devices orm0: