Re: Panic caused by nVidia MPC61 Ethernet adapter.
On Sat, 8 Jan 2011 11:39:09 +0100 (CET) Mark Kettenis mark.kette...@xs4all.nl wrote: Date: Fri, 7 Jan 2011 18:25:08 -0700 From: Travis King ona...@lavabit.com nfe0 at pci0 dev 7 function 0 NVIDIA MCP61 LAN rev 0xa2: apic 1 int 5 (irq 5), address 40:61:86:cc:1c:eb rlphy0 at nfe0 phy 0: RTL8201L 10/100 PHY, rev. 1 rlphy1 at nfe0 phy 1: RTL8201L 10/100 PHY, rev. 1 rlphy2 at nfe0 phy 2: RTL8201L 10/100 PHY, rev. 1 Looks like the PHY on that interface is a bit messed up and responds to all addresses on the MII bus. Does the attached diff help? Index: if_nfe.c === RCS file: /cvs/src/sys/dev/pci/if_nfe.c,v retrieving revision 1.96 diff -u -p -r1.96 if_nfe.c --- if_nfe.c 7 Sep 2010 16:21:45 - 1.96 +++ if_nfe.c 8 Jan 2011 10:30:26 - @@ -368,8 +368,7 @@ nfe_attach(struct device *parent, struct ifmedia_init(sc-sc_mii.mii_media, 0, nfe_ifmedia_upd, nfe_ifmedia_sts); - mii_attach(self, sc-sc_mii, 0x, MII_PHY_ANY, - MII_OFFSET_ANY, 0); + mii_attach(self, sc-sc_mii, 0x, MII_PHY_ANY, 0, 0); if (LIST_FIRST(sc-sc_mii.mii_phys) == NULL) { printf(%s: no PHY found!\n, sc-sc_dev.dv_xname); ifmedia_add(sc-sc_mii.mii_media, IFM_ETHER | IFM_MANUAL, This works great. No freezing with ifconfig: nfe0: flags=8843UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST mtu 1500 lladdr 40:61:86:cc:1c:eb priority: 0 groups: egress media: Ethernet autoselect (100baseTX full-duplex) status: active inet6 fe80::4261:86ff:fecc:1ceb%nfe0 prefixlen 64 scopeid 0x2 inet 10.10.4.12 netmask 0xff00 broadcast 10.10.4.255 Here is the new dmesg: OpenBSD 4.8 (GENERIC) #0: Sun Jan 9 20:24:24 MST 2011 r...@fubar.what.thehell:/usr/src/sys/arch/i386/compile/GENERIC cpu0: AMD Sempron(tm) 145 Processor (AuthenticAMD 686-class, 1024KB L2 cache) 2.82 GHz cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,MWAIT,CX16,POPCNT real mem = 2113433600 (2015MB) avail mem = 2068897792 (1973MB) mainbus0 at root bios0 at mainbus0: AT/286+ BIOS, date 12/10/09, BIOS32 rev. 0 @ 0xf0010, SMBIOS rev. 2.6 @ 0xfce30 (47 entries) bios0: vendor American Megatrends Inc. version V2.3 date 12/10/2009 bios0: MSI MS-7309 acpi at bios0 function 0x0 not configured mpbios0 at bios0: Intel MP Specification 1.4 cpu0 at mainbus0: apid 0 (boot processor) cpu0: apic clock running at 200MHz mpbios0: bus 0 is type PCI mpbios0: bus 1 is type PCI mpbios0: bus 2 is type PCI mpbios0: bus 3 is type PCI mpbios0: bus 4 is type PCI mpbios0: bus 5 is type ISA ioapic0 at mainbus0: apid 1 pa 0xfec0, version 11, 24 pins pcibios0 at bios0: rev 3.0 @ 0xf/0x1 pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xf4bb0/256 (14 entries) pcibios0: no compatible PCI ICU found: ICU vendor 0x10de product 0x03e0 pcibios0: Warning, unable to fix up PCI interrupt routing pcibios0: PCI bus #4 is the last bus bios0: ROM list: 0xc/0xf000 pci0 at mainbus0 bus 0: configuration mode 1 (bios) NVIDIA MCP61 Memory rev 0xa1 at pci0 dev 0 function 0 not configured pcib0 at pci0 dev 1 function 0 NVIDIA MCP61 ISA rev 0xa2 nviic0 at pci0 dev 1 function 1 NVIDIA MCP61 SMBus rev 0xa2 iic0 at nviic0 spdmem0 at iic0 addr 0x50: 1GB DDR2 SDRAM non-parity PC2-5300CL5 spdmem1 at iic0 addr 0x51: 1GB DDR2 SDRAM non-parity PC2-5300CL5 iic1 at nviic0 NVIDIA MCP61 Memory rev 0xa2 at pci0 dev 1 function 2 not configured ohci0 at pci0 dev 2 function 0 NVIDIA MCP61 USB rev 0xa3: apic 1 int 7 (irq 7), version 1.0, legacy support ehci0 at pci0 dev 2 function 1 NVIDIA MPC61 USB rev 0xa3: apic 1 int 10 (irq 10) usb0 at ehci0: USB revision 2.0 uhub0 at usb0 NVIDIA EHCI root hub rev 2.00/1.00 addr 1 ppb0 at pci0 dev 4 function 0 NVIDIA MCP61 rev 0xa1 pci1 at ppb0 bus 1 xl0 at pci1 dev 10 function 0 3Com 3c905B 100Base-TX rev 0x30pci_intr_map: bus 1 dev 10 func 0 pin 1; line 11 pci_intr_map: no MP mapping found : irq 11, address 00:10:5a:0a:d7:3a exphy0 at xl0 phy 24: 3Com internal media interface azalia0 at pci0 dev 5 function 0 NVIDIA MCP61 HD Audio rev 0xa2: apic 1 int 11 (irq 11) azalia0: codecs: Realtek ALC888 audio0 at azalia0 pciide0 at pci0 dev 6 function 0 NVIDIA MCP61 IDE rev 0xa2: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility atapiscsi0 at pciide0 channel 0 drive 0 scsibus0 at atapiscsi0: 2 targets cd0 at scsibus0 targ 0 lun 0: TSSTcorp, CDDVDW SH-S222A, SB02 ATAPI 5/cdrom removable cd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 4 pciide0: channel 1 ignored (disabled) nfe0 at pci0 dev 7 function 0 NVIDIA MCP61 LAN rev 0xa2: apic 1 int 5 (irq 5), address 40:61:86:cc:1c:eb rlphy0 at nfe0 phy 0: RTL8201L 10/100 PHY, rev. 1 pciide1 at pci0 dev 8 function 0 NVIDIA MCP61 SATA rev 0xa2: DMA pciide1: using apic 1 int 10 (irq 10) for native-PCI interrupt wd0 at pciide1
Re: Panic caused by nVidia MPC61 Ethernet adapter.
Date: Fri, 7 Jan 2011 18:25:08 -0700 From: Travis King ona...@lavabit.com nfe0 at pci0 dev 7 function 0 NVIDIA MCP61 LAN rev 0xa2: apic 1 int 5 (irq 5), address 40:61:86:cc:1c:eb rlphy0 at nfe0 phy 0: RTL8201L 10/100 PHY, rev. 1 rlphy1 at nfe0 phy 1: RTL8201L 10/100 PHY, rev. 1 rlphy2 at nfe0 phy 2: RTL8201L 10/100 PHY, rev. 1 Looks like the PHY on that interface is a bit messed up and responds to all addresses on the MII bus. Does the attached diff help? Index: if_nfe.c === RCS file: /cvs/src/sys/dev/pci/if_nfe.c,v retrieving revision 1.96 diff -u -p -r1.96 if_nfe.c --- if_nfe.c7 Sep 2010 16:21:45 - 1.96 +++ if_nfe.c8 Jan 2011 10:30:26 - @@ -368,8 +368,7 @@ nfe_attach(struct device *parent, struct ifmedia_init(sc-sc_mii.mii_media, 0, nfe_ifmedia_upd, nfe_ifmedia_sts); - mii_attach(self, sc-sc_mii, 0x, MII_PHY_ANY, - MII_OFFSET_ANY, 0); + mii_attach(self, sc-sc_mii, 0x, MII_PHY_ANY, 0, 0); if (LIST_FIRST(sc-sc_mii.mii_phys) == NULL) { printf(%s: no PHY found!\n, sc-sc_dev.dv_xname); ifmedia_add(sc-sc_mii.mii_media, IFM_ETHER | IFM_MANUAL,
Panic caused by nVidia MPC61 Ethernet adapter.
I installed 4.8-release for i386 via install48.iso found on the FTPs. However, to finish the install I had to disable my onboard ethernet LAN in BIOS to get past the network setup phase - otherwise the machine would completely lock up. This is the first time I've installed OpenBSD on this machine. I know nVidia isn't that great of company. After re-enabling it in BIOS it boots normally and the machine functions until I issue 'ifconfig' with no arguments - it locks up completely just like during the install. When booting it 'enables' networking but does not freeze and I'm able to do other things like start X and format disks/etc. I don't have any ethernet cables attached during any of this. When invoking reboot while the LAN via BIOS was enabled the machine panicked: # reboot panic: rlphy_service: attempt to isolate phy Stopped at Debugger+0x4: popl%ebp RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC! DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION! ddb Noticing the all caps, I followed orders. ddb trace Debugger(d08bb89c,de256cd8,d08c0128,de256cd8,0) at Debugger+0x4 panic(d08c0128,d2f34f00,de256d0c,d05170a5,d09be940) at panic+0x5d rlphy_service(d2eba400,d2da52b0,3,d06c39ec,d2da5000) at rlphy_service +0x13d mii_pollstat(d2da52b0,de256e8c,de256e8c,d8a86c60,100) at nfe_ifmedia_sts+0x2 2 ifmedia_ioctl(d2da5030,de256e8c,d2da52b0,c0286936,d2da5060) at ifmedia_ioctl+0x 87 nfe_ioctl(d2da5030,c0286936,de256e8c,d2da5030,d2da5030) at nfe_ioctl +0xad ifioctl(d8aa2358,c0286936,de256e8c,d8a873c0,28) at ifioctl+0x3b7 sys_ioctl(d8a873c0,de256f64,de256f84,de256fa8,d8a873c0) at sys_ioctl +0x1b8 syscall() at syscall+0x2f0 --- syscall (number 11) --- 0x2: ddb ps PID PPID PGRPUID S FLAGS WAITCOMMAND 31868 2375 2375 0 2 0 sh *29447 2375 2375 0 7 0x4000 ifconfig 2375 15715 2375 0 3 0x4080 pause sh 15715 7650 15715 0 3 0x4080 waitreboot 15117 16997 15117 1000 3 0x4080 ttyin ksh 6158 30378 9637 1000 3 0x4080 select FvwmPager 30378 9637 9637 1000 3 0x4080 select fvwm 16997 9637 9637 1000 30x44180 select xterm 9637 12228 9637 1000 3 0x4080 pause sh 4513 1 14772 35 3 0x180 pollxconsole 24126 1 14772 0 3 0x80 netio xconsole 12228 23925 12228 0 3 0x80 waitxdm 14863 18634 18634 0 30x40180 netio Xorg 18634 23925 18634 35 30x44180 select Xorg 25565 1 25565 0 3 0x4080 ttyin getty 18390 1 18390 0 3 0x4080 ttyin getty 19425 1 19425 0 3 0x4080 ttyin getty 11911 1 11911 0 3 0x4080 ttyin getty 7650 1 7650 0 3 0x4080 pause ksh 23925 1 23925 0 3 0x80 pause xdm 27132 1 27132 0 30x40180 select sendmail 16474 1 16474 0 3 0x80 select cron 13751 1 13751 0 3 0x180 select inetd 12754 25203 25203 74 3 0x180 bpf pflogd 26203 1 26203 0 3 0x80 netio pflogd 23062 12058 12058 73 3 0x180 pollsyslogd 12058 1 12058 0 3 0x88 netio syslogd 14 0 0 0 3 0x100200 bored crypto 13 0 0 0 3 0x100200 aiodonedaiodoned 12 0 0 0 3 0x100200 syncer update 11 0 0 0 3 0x100200 cleaner cleaner 10 0 0 0 3 0x100200 reaper reaper 9 0 0 0 3 0x100200 pgdaemonpagedaemon 8 0 0 0 3 0x100200 pftmpfpurge 7 0 0 0 3 0x100200 usbevt usb1 6 0 0 0 3 0x100200 usbtsk usbtask 5 0 0 0 3 0x100200 usbevt usb0 4 0 0 0 3 0x100200 bored syswq 3 0 0 0 3 0x40100200 idle0 2 0 0 0 3 0x100200 kmalloc kmthread 1 0 1 0 3 0x4080 waitinit 0 -1 0 0 30x80200 scheduler swapper Here is a dmesg, what stood out to me is that it repeats rlphy{0..31} at nfe0 phy {0..31}: RTL8201L 10/100 PHY, rev. 1 : OpenBSD 4.8 (GENERIC) #136: Mon Aug 16 09:06:23 MDT 2010 dera...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC cpu0: AMD Sempron(tm) 145 Processor (AuthenticAMD 686-class, 1024KB L2 cache) 2.82 GHz cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,MWAIT,CX16,POPCNT real mem = 2113433600 (2015MB) avail mem = 2068897792 (1973MB) mainbus0 at root bios0 at mainbus0: AT/286+ BIOS, date 12/10/09, BIOS32 rev. 0 @