Skip site navigation (1)Skip section navigation (2)
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:   kern/127529: Summary of Nvidia 8200/MCP78S chipset, notably req nfe driver update
Message-ID:  <200809212236.m8LMaTqR053191@www.freebsd.org>
Resent-Message-ID: <200809212240.m8LMe1ds021919@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         127529
>Category:       kern
>Synopsis:       Summary of Nvidia 8200/MCP78S chipset, notably req nfe driver update
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Sep 21 22:40:01 UTC 2008
>Closed-Date:
>Last-Modified:
>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:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809212236.m8LMaTqR053191>