Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Attempt to Add a New Tulip PNIC2 82C115 NIC Not Working



All,

I have a Kingston KNE111TX fast ethernet card installed in an Intel BX chipset motherboard. The card is detected, but initially it comes up as an unknown WYSE card:

Aug 29 19:47:14 p2 /netbsd: [   1.0084227] WYSE Technology product c115 (ethernet network, revision 0x25) at pci0 dev 10 function 0 not configured

I checked, and it is being recognised as PCI ID 102d:c115:

$ lspci -nn | grep c115
00:0a.0 Ethernet controller [0200]: Wyse Technology Inc. Device [102d:c115] (rev 25)

Since vendor ID 102d is indeed WYSE, and not Kingston, I left it alone. I did, however, add new entries to the PCI devices database for the card, based on the very similar Lite-On PNIC II card:

$ diff sys/dev/pci/if_tlp_pci.c sys.new/dev/pci/if_tlp_pci.c
139c139,140
<
---
> { .id = PCI_ID_CODE(PCI_VENDOR_WYSE, PCI_PRODUCT_WYSE_82C115),
>  .value = TULIP_CHIP_82C115 },
151d151
<
$ diff sys/dev/pci/pcidevs.h sys.new/dev/pci/pcidevs.h  
7743a7744,7746
> /* WYSE products */
> #define PCI_PRODUCT_WYSE_82C115 0xc115 /* 82C115 (PNIC II) 10/100 Ethernet */
>
$ diff sys/dev/pci/pcidevs_data.h sys.new/dev/pci/pcidevs_data.h
18634a18635,18636
>    PCI_VENDOR_WYSE, PCI_PRODUCT_WYSE_82C115,
>    32706, 32713, 32719, 5819, 5717, 0,

That got the card to be recognised, but not configured properly:

Aug 29 21:13:52 p2 /netbsd: [   1.0086791] tlp0 at pci0 dev 10 function 0: Lite-On 82C115 Ethernet, pass 2.5
Aug 29 21:13:52 p2 /netbsd: [   1.0086791] tlp0: autoconfiguration error: unable to map device registers

I am completely unskilled in the addition of devices, so my addition was a 100% clone of the Lite-On, based on device information from:

https://linux-hardware.org/?id=pci:11ad-c115-2646-000b
and
https://bsd-hardware.info/?id=pci:11ad-c115-2646-000b&dev_class=02-00&dev_type=network&dev_vendor=Lite-On+Communications&dev_name=LNE100TX+%5BLinksys+EtherFast+10%2F100%5D&dev_ident=2d5c7

Gathering more information, based on old PRs, here are the card details, and that of the PCI bridge chip:

$ sudo pcictl pci0 dump -d 10
PCI configuration registers:
  Common header:
    0x00: 0x00000000 0x82900004 0x00000000 0x00004008

    Vendor ID: 0x0000
    Device ID: 0x0000
    Command register: 0x0004
      I/O space accesses: off
      Memory space accesses: off
      Bus mastering: on
      Special cycles: off
      MWI transactions: off
      Palette snooping: off
      Parity error checking: off
      Address/data stepping: off
      System error (SERR): off
      Fast back-to-back transactions: off
      Interrupt disable: off
    Status register: 0x8290
      Immediate Readiness: off
      Interrupt status: inactive
      Capability List support: on
      66 MHz capable: off
      User Definable Features (UDF) support: off
      Fast back-to-back capable: on
      Data parity error detected: off
      DEVSEL timing: medium (0x1)
      Slave signaled Target Abort: off
      Master received Target Abort: off
      Master received Master Abort: off
      Asserted System Error (SERR): off
      Parity error detected: on
    Class Name: prehistoric (0x00)
    Subclass Name: miscellaneous (0x00)
    Interface: 0x00
    Revision ID: 0x00
    BIST: 0x00
    Header Type: 0x00 (0x00)
    Latency Timer: 0x40
    Cache Line Size: 32bytes (0x08)

  Type 0 ("normal" device) header:
    0x10: 0x00000001 0xef000000 0x00000000 0x00000000
    0x20: 0x00000000 0x00000000 0x00000000 0x000b2646
    0x30: 0x00000000 0x00000044 0x00000000 0x3808007f

    Base address register at 0x10
      type: I/O
      base: 0x00000000, disabled
    Base address register at 0x14
      type: 32-bit nonprefetchable memory
      base: 0xef000000, disabled
    Base address register at 0x18
      not implemented
    Base address register at 0x1c
      not implemented
    Base address register at 0x20
      not implemented
    Base address register at 0x24
      not implemented
    Cardbus CIS Pointer: 0x00000000
    Subsystem vendor ID: 0x2646
    Subsystem ID: 0x000b
    Expansion ROM Base Address Register: 0x00000000
      base: 0x00000000
      Expansion ROM Enable: off
      Validation Status: Validation not supported
      Validation Details: 0x0
    Capability list pointer: 0x44
    Reserved @ 0x38: 0x00000000
    Maximum Latency: 0x38
    Minimum Grant: 0x08
    Interrupt pin: 0x00 (none)
    Interrupt line: 0x7f

  Capability register at 0x44
    type: 0x01 (Power Management)

  PCI Power Management Capabilities Register
    Capabilities register: 0xf601
      Version: 1.0
      PME# clock: off
      Device specific initialization: off
      3.3V auxiliary current: self-powered
      D1 power management state support: on
      D2 power management state support: on
      PME# support D0: off
      PME# support D1: on
      PME# support D2: on
      PME# support D3 hot: on
      PME# support D3 cold: on
    Control/status register: 0x00000000
      Power state: D0
      PCI Express reserved: off
      No soft reset: off
      PME# assertion: disabled
      Data Select: 0
      Data Scale: 0
      PME# status: off
    Bridge Support Extensions register: 0x00
      B2/B3 support: off
      Bus Power/Clock Control Enable: off
    Data register: 0x00

  Device-dependent header:
    0x40: 0x00000000 0xf6010001 0x00000000 0x00000000
    0x50: 0x00000000 0x00000000 0x00000000 0x00000000
    0x60: 0x00000000 0x00000000 0x00000000 0x00000000
    0x70: 0x00000000 0x00000000 0x00000000 0x00000000
    0x80: 0xc11510ad 0x00000080 0x020000a5 0x00004088
    0x90: 0x00000081 0xef000080 0x00000080 0x00000080
    0xa0: 0x00000080 0x00000080 0x00000080 0x000b26c6
    0xb0: 0x00000080 0x000000c4 0x00000080 0x380800ff
    0xc0: 0x00000080 0xf6010081 0x00000080 0x00000080
    0xd0: 0x00000080 0x00000080 0x00000080 0x00000080
    0xe0: 0x00000080 0x00000080 0x00000080 0x00000080
    0xf0: 0x00000080 0x00000080 0x00000080 0x00000080
$ sudo pcictl pci0 dump -d 0
PCI configuration registers:
  Common header:
    0x00: 0x71908086 0xa2100006 0x06000003 0x00004000

    Vendor Name: Intel (0x8086)
    Device Name: 82443BX Host Bridge/Controller (0x7190)
    Command register: 0x0006
      I/O space accesses: off
      Memory space accesses: on
      Bus mastering: on
      Special cycles: off
      MWI transactions: off
      Palette snooping: off
      Parity error checking: off
      Address/data stepping: off
      System error (SERR): off
      Fast back-to-back transactions: off
      Interrupt disable: off
    Status register: 0xa210
      Immediate Readiness: off
      Interrupt status: inactive
      Capability List support: on
      66 MHz capable: off
      User Definable Features (UDF) support: off
      Fast back-to-back capable: off
      Data parity error detected: off
      DEVSEL timing: medium (0x1)
      Slave signaled Target Abort: off
      Master received Target Abort: off
      Master received Master Abort: on
      Asserted System Error (SERR): off
      Parity error detected: on
    Class Name: bridge (0x06)
    Subclass Name: host (0x00)
    Interface: 0x00
    Revision ID: 0x03
    BIST: 0x00
    Header Type: 0x00 (0x00)
    Latency Timer: 0x40
    Cache Line Size: 0bytes (0x00)

  Type 0 ("normal" device) header:
    0x10: 0xe8000008 0x00000000 0x00000000 0x00000000
    0x20: 0x00000000 0x00000000 0x00000000 0x00000000
    0x30: 0x00000000 0x000000a0 0x00000000 0x00000000

    Base address register at 0x10
      type: 32-bit prefetchable memory
      base: 0xe8000000
    Base address register at 0x14
      not implemented
    Base address register at 0x18
      not implemented
    Base address register at 0x1c
      not implemented
    Base address register at 0x20
      not implemented
    Base address register at 0x24
      not implemented
    Cardbus CIS Pointer: 0x00000000
    Subsystem vendor ID: 0x0000
    Subsystem ID: 0x0000
    Expansion ROM Base Address Register: 0x00000000
      base: 0x00000000
      Expansion ROM Enable: off
      Validation Status: Validation not supported
      Validation Details: 0x0
    Capability list pointer: 0xa0
    Reserved @ 0x38: 0x00000000
    Maximum Latency: 0x00
    Minimum Grant: 0x00
    Interrupt pin: 0x00 (none)
    Interrupt line: 0x00

  Capability register at 0xa0
    type: 0x02 (AGP)

  AGP Capabilities Register
    Revision: 1.0
    Status register: 0x1f000203
      RQ: 32
      ARQSZ: 0
      CAL cycle: 4ms
      SBA: on
      htrans#: off
      Over 4G: off
      Fast Write: off
      AGP 3.0 Mode: off
      Data Rate Support: x1x2
    Command register: 0x00000000
      PRQ: 1
      PARQSZ: 0
      PCAL cycle: 4ms
      SBA: off
      AGP: off
      Over 4G: off
      Fast Write: off

  Device-dependent header:
    0x40: 0x00000000 0x00000000 0x00000000 0x00000000
    0x50: 0xfb008a0c 0x09000000 0x11113003 0x00000003
    0x60: 0x40302010 0x80706050 0x0feab000 0x0000faa0
    0x70: 0x780a1f20 0x0117aaaa 0x3818ff07 0x00000000
    0x80: 0x00000002 0x00000000 0x00000000 0x00000000
    0x90: 0x0000ec98 0x00006104 0x00000500 0x00000000
    0xa0: 0x00100002 0x1f000203 0x00000000 0x00000000
    0xb0: 0x00002080 0x00000030 0x02a2a000 0x00001020
    0xc0: 0x00000000 0x00000000 0xffff0c18 0x00000079
    0xd0: 0x00000000 0x00000000 0x0000000c 0x00000000
    0xe0: 0xbbffad4c 0x80003e8a 0xcff7d32c 0x00003e9d
    0xf0: 0x00000140 0x6000f800 0x00000f20 0x00000000

Any help would be greatly appreciated.

Thanks!
- Alex


Home | Main Index | Thread Index | Old Index