kern/127529: Summary of Nvidia 8200/MCP78S chipset, notably req nfe driver update

S.C.Sprong s.c.sprong at student.utwente.nl
Sun Sep 21 22:40:01 UTC 2008


>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 at pci0:0:0:0:  class=0x050000 card=0xcb8410de chip=0x075410de rev=0xa2 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = memory
    subclass   = RAM
isab0 at pci0:0:1:0:  class=0x060100 card=0xcb8410de chip=0x075c10de rev=0xa2 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = bridge
    subclass   = PCI-ISA
none1 at pci0:0:1:1:  class=0x0c0500 card=0x01571025 chip=0x075210de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = serial bus
    subclass   = SMBus
none2 at pci0:0:1:2:  class=0x050000 card=0xcb8410de chip=0x075110de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = memory
    subclass   = RAM
none3 at pci0:0:1:3:  class=0x0b4000 card=0x01571025 chip=0x075310de rev=0xa2 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = processor
none4 at pci0:0:1:4:  class=0x050000 card=0x00000000 chip=0x056810de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = memory
    subclass   = RAM
ohci0 at pci0:0:2:0:  class=0x0c0310 card=0xcb8410de chip=0x077b10de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = serial bus
    subclass   = USB
ehci0 at pci0:0:2:1:  class=0x0c0320 card=0xcb8410de chip=0x077c10de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = serial bus
    subclass   = USB
ohci1 at pci0:0:4:0:  class=0x0c0310 card=0xcb8410de chip=0x077d10de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = serial bus
    subclass   = USB
ehci1 at pci0:0:4:1:  class=0x0c0320 card=0xcb8410de chip=0x077e10de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = serial bus
    subclass   = USB
atapci0 at pci0:0:6:0:  class=0x01018a card=0xcb8410de chip=0x075910de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = mass storage
    subclass   = ATA
pcm0 at pci0:0:7:0:  class=0x040300 card=0x01571025 chip=0x077410de rev=0xa1 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = multimedia
pcib1 at pci0:0:8:0:  class=0x060401 card=0xcb8410de chip=0x075a10de rev=0xa1 hdr=0x01
    vendor     = 'Nvidia Corp'
    class      = bridge
    subclass   = PCI-PCI
atapci1 at pci0:0:9:0:  class=0x010601 card=0x01571025 chip=0x0ad410de rev=0xa2 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = mass storage
nfe0 at pci0:0:10:0:  class=0x020000 card=0x01571025 chip=0x076010de rev=0xa2 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = network
    subclass   = ethernet
pcib2 at pci0:0:11:0:  class=0x060400 card=0x000010de chip=0x056910de rev=0xa1 hdr=0x01
    vendor     = 'Nvidia Corp'
    class      = bridge
    subclass   = PCI-PCI
pcib3 at pci0:0:16:0:  class=0x060400 card=0x000010de chip=0x077810de rev=0xa1 hdr=0x01
    vendor     = 'Nvidia Corp'
    class      = bridge
    subclass   = PCI-PCI
pcib4 at pci0:0:18:0:  class=0x060400 card=0x000010de chip=0x075b10de rev=0xa1 hdr=0x01
    vendor     = 'Nvidia Corp'
    class      = bridge
    subclass   = PCI-PCI
pcib5 at pci0:0:19:0:  class=0x060400 card=0x000010de chip=0x077a10de rev=0xa1 hdr=0x01
    vendor     = 'Nvidia Corp'
    class      = bridge
    subclass   = PCI-PCI
hostb0 at 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 at 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 at 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 at 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 at pci0:2:0:0:  class=0x030000 card=0x01571025 chip=0x084b10de rev=0xa2 hdr=0x00
    vendor     = 'Nvidia Corp'
    class      = display
    subclass   = VGA
fwohci0 at 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:


More information about the freebsd-bugs mailing list