From nobody@FreeBSD.org  Sun Sep 21 22:36:29 2008
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id D68FC106566C
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 21 Sep 2008 22:36:29 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id C317F8FC1A
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 21 Sep 2008 22:36:29 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id m8LMaTYr053192
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 21 Sep 2008 22:36:29 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id m8LMaTqR053191;
	Sun, 21 Sep 2008 22:36:29 GMT
	(envelope-from nobody)
Message-Id: <200809212236.m8LMaTqR053191@www.freebsd.org>
Date: Sun, 21 Sep 2008 22:36:29 GMT
From: "S.C.Sprong" <s.c.sprong@student.utwente.nl>
To: freebsd-gnats-submit@FreeBSD.org
Subject: Summary of Nvidia 8200/MCP78S chipset, notably req nfe driver update
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         127529
>Category:       kern
>Synopsis:       [nfe] [patch] Summary of Nvidia 8200/MCP78S chipset, notably req nfe driver update
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    yongari
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Sep 21 22:40:01 UTC 2008
>Closed-Date:    Mon Oct 06 01:04:29 UTC 2008
>Last-Modified:  Mon Oct 06 01:04:29 UTC 2008
>Originator:     S.C.Sprong
>Release:        FreeBSD 7.0R amd64
>Organization:
>Environment:
El-cheapo Acer Aspire X3200 HTPC, Dutch/European(?) edition, which is build around an AthlonX2 and the embedded Geforce 8200/MCP78S chipset
>Description:
I installed FreeBSD on a newish Acer Aspire X3200 HTPC and its GeFOrce
8200 /nForce MCP78S chipset is as of yet not fully supported. Notably
the NIC doesn't work and I get tons of USB hub errors and related boot
panics if a USB keyboard is attached at boot time.

See attachment for pciconf -vl and a quick'n dirty NFE driver patch.

I am available for feedback and testing (req. by email)
>How-To-Repeat:
Intentionally left blank
>Fix:
Intentionally left blank.

Patch attached with submission follows:

8<-
Output pciconf -vl:

none0@pci0:0:0:0:  class=0x050000 card=0xcb8410de chip=0x075410de rev=0xa2 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = memory
    subclass   = RAM
isab0@pci0:0:1:0:  class=0x060100 card=0xcb8410de chip=0x075c10de rev=0xa2 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = bridge
    subclass   = PCI-ISA
none1@pci0:0:1:1:  class=0x0c0500 card=0x01571025 chip=0x075210de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = serial bus
    subclass   = SMBus
none2@pci0:0:1:2:  class=0x050000 card=0xcb8410de chip=0x075110de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = memory
    subclass   = RAM
none3@pci0:0:1:3:  class=0x0b4000 card=0x01571025 chip=0x075310de rev=0xa2 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = processor
none4@pci0:0:1:4:  class=0x050000 card=0x00000000 chip=0x056810de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = memory
    subclass   = RAM
ohci0@pci0:0:2:0:  class=0x0c0310 card=0xcb8410de chip=0x077b10de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = serial bus
    subclass   = USB
ehci0@pci0:0:2:1:  class=0x0c0320 card=0xcb8410de chip=0x077c10de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = serial bus
    subclass   = USB
ohci1@pci0:0:4:0:  class=0x0c0310 card=0xcb8410de chip=0x077d10de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = serial bus
    subclass   = USB
ehci1@pci0:0:4:1:  class=0x0c0320 card=0xcb8410de chip=0x077e10de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = serial bus
    subclass   = USB
atapci0@pci0:0:6:0:  class=0x01018a card=0xcb8410de chip=0x075910de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = mass storage
    subclass   = ATA
pcm0@pci0:0:7:0:  class=0x040300 card=0x01571025 chip=0x077410de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = multimedia
pcib1@pci0:0:8:0:  class=0x060401 card=0xcb8410de chip=0x075a10de rev=0xa1 hdr=0x01
    vendor     = 'Nvidia Corp'
    class      = bridge
    subclass   = PCI-PCI
atapci1@pci0:0:9:0:  class=0x010601 card=0x01571025 chip=0x0ad410de rev=0xa2 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = mass storage
nfe0@pci0:0:10:0:  class=0x020000 card=0x01571025 chip=0x076010de rev=0xa2 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = network
    subclass   = ethernet
pcib2@pci0:0:11:0:  class=0x060400 card=0x000010de chip=0x056910de rev=0xa1 hdr=0x01
    vendor     = 'Nvidia Corp'
    class      = bridge
    subclass   = PCI-PCI
pcib3@pci0:0:16:0:  class=0x060400 card=0x000010de chip=0x077810de rev=0xa1 hdr=0x01
    vendor     = 'Nvidia Corp'
    class      = bridge
    subclass   = PCI-PCI
pcib4@pci0:0:18:0:  class=0x060400 card=0x000010de chip=0x075b10de rev=0xa1 hdr=0x01
    vendor     = 'Nvidia Corp'
    class      = bridge
    subclass   = PCI-PCI
pcib5@pci0:0:19:0:  class=0x060400 card=0x000010de chip=0x077a10de rev=0xa1 hdr=0x01
    vendor     = 'Nvidia Corp'
    class      = bridge
    subclass   = PCI-PCI
hostb0@pci0:0:24:0:  class=0x060000 card=0x00000000 chip=0x11001022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices (AMD)'
    device     = '(K8) Athlon 64/Opteron HyperTransport Technology Configuration'
    class      = bridge
    subclass   = HOST-PCI
hostb1@pci0:0:24:1:  class=0x060000 card=0x00000000 chip=0x11011022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices (AMD)'
    device     = '(K8) Athlon 64/Opteron Address Map'
    class      = bridge
    subclass   = HOST-PCI
hostb2@pci0:0:24:2:  class=0x060000 card=0x00000000 chip=0x11021022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices (AMD)'
    device     = '(K8) Athlon 64/Opteron DRAM Controller'
    class      = bridge
    subclass   = HOST-PCI
hostb3@pci0:0:24:3:  class=0x060000 card=0x00000000 chip=0x11031022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices (AMD)'
    device     = '(K8) Athlon 64/Opteron Miscellaneous Control'
    class      = bridge
    subclass   = HOST-PCI
vgapci0@pci0:2:0:0:  class=0x030000 card=0x01571025 chip=0x084b10de rev=0xa2 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = display
    subclass   = VGA
fwohci0@pci0:5:0:0:  class=0x0c0010 card=0x01571025 chip=0x34031106 rev=0x00 hdr=0x00
    vendor     = 'VIA Technologies Inc'
    class      = serial bus
    subclass   = FireWire

8<--
Quick 'n dirty if_nfe driver patch:

--- if_nfe.c.orig       2007-12-06 04:05:56.000000000 +0000
+++ if_nfe.c    2008-09-19 22:45:26.000000000 +0000

@@ -243,6 +243,8 @@
            "NVIDIA nForce MCP67 Networking Adapter"},
        {PCI_VENDOR_NVIDIA, PCI_PRODUCT_NVIDIA_MCP67_LAN4,
            "NVIDIA nForce MCP67 Networking Adapter"},
+       {PCI_VENDOR_NVIDIA, PCI_PRODUCT_NVIDIA_MCP78S_LAN1,
+           "NVIDIA nForce MCP78S Networking Adapter"},
        {0, 0, NULL}
 };

@@ -461,6 +463,9 @@
        case PCI_PRODUCT_NVIDIA_MCP67_LAN2:
        case PCI_PRODUCT_NVIDIA_MCP67_LAN3:
        case PCI_PRODUCT_NVIDIA_MCP67_LAN4:
+       /* XXX */
+       case PCI_PRODUCT_NVIDIA_MCP78S_LAN1:
+       /* XXX */
                sc->nfe_flags |= NFE_40BIT_ADDR | NFE_PWR_MGMT |
                    NFE_CORRECT_MACADDR | NFE_TX_FLOW_CTRL;
                break;

--- if_nfereg.h.orig    2007-06-12 10:51:47.000000000 +0000
+++ if_nfereg.h 2008-09-19 22:45:51.000000000 +0000
@@ -300,6 +300,7 @@
 #define        PCI_PRODUCT_NVIDIA_MCP67_LAN2           0x054d
 #define        PCI_PRODUCT_NVIDIA_MCP67_LAN3           0x054e
 #define        PCI_PRODUCT_NVIDIA_MCP67_LAN4           0x054f
+#define        PCI_PRODUCT_NVIDIA_MCP78S_LAN1          0x0760

 #define        PCI_PRODUCT_NVIDIA_NFORCE3_LAN2 



>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->freebsd-net 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Mon Sep 22 04:24:43 UTC 2008 
Responsible-Changed-Why:  
Over to maintainer(s). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=127529 
State-Changed-From-To: open->feedback 
State-Changed-By: yongari 
State-Changed-When: Mon Sep 22 06:25:38 UTC 2008 
State-Changed-Why:  
Would you try patch at the followng URL? 
http://people.freebsd.org/~yongari/nfe/nfe.mcp77_79.patch 


Responsible-Changed-From-To: freebsd-net->yongari 
Responsible-Changed-By: yongari 
Responsible-Changed-When: Mon Sep 22 06:25:38 UTC 2008 
Responsible-Changed-Why:  
Grab. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=127529 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/127529: commit references a PR
Date: Wed,  1 Oct 2008 00:18:23 +0000 (UTC)

 yongari     2008-10-01 00:17:54 UTC
 
   FreeBSD src repository
 
   Modified files:
     sys/dev/nfe          if_nfe.c if_nfereg.h 
   Log:
   SVN rev 183509 on 2008-10-01 00:17:54Z by yongari
   
   Add device ids for MCP77/79 and set appropriate support flags.
   
   Obtained from:  OpenBSD
   PR:             kern/127529
   
   Revision  Changes    Path
   1.29      +32 -0     src/sys/dev/nfe/if_nfe.c
   1.13      +8 -0      src/sys/dev/nfe/if_nfereg.h
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: feedback->patched 
State-Changed-By: yongari 
State-Changed-When: Wed Oct 1 00:22:33 UTC 2008 
State-Changed-Why:  
Feedback received, patch committed. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=127529 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/127529: commit references a PR
Date: Mon,  6 Oct 2008 00:28:59 +0000 (UTC)

 yongari     2008-10-06 00:28:34 UTC
 
   FreeBSD src repository
 
   Modified files:        (Branch: RELENG_7)
     sys/dev/nfe          if_nfe.c if_nfereg.h 
   Log:
   SVN rev 183637 on 2008-10-06 00:28:34Z by yongari
   
   MFC r183509:
     Add device ids for MCP77/79 and set appropriate support flags.
   
     Obtained from:  OpenBSD
     PR:             kern/127529
   Approved by:    re (kensmith)
   
   Revision  Changes    Path
   1.21.2.7  +32 -0     src/sys/dev/nfe/if_nfe.c
   1.10.2.3  +8 -0      src/sys/dev/nfe/if_nfereg.h
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: patched->closed 
State-Changed-By: yongari 
State-Changed-When: Mon Oct 6 01:03:14 UTC 2008 
State-Changed-Why:  
MFC to stable/7 done. 
Thanks a lot for your testing/report! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=127529 
>Unformatted:
