Re: Panic caused by nVidia MPC61 Ethernet adapter.

2011-01-09 Thread Travis King
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.

2011-01-08 Thread Mark Kettenis
 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.

2011-01-07 Thread Travis King
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 @