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

Jason Thorpe <[email protected]> Sun, 31 Aug 2025 10:26:01 -0400
Newsgroups gmane.os.netbsd.ports.i386
Message-ID <[email protected]>

> On Aug 31, 2025, at 10:19=E2=80=AFAM, Jason Thorpe <[email protected]> =
wrote:

Oh, WAIT.

I completely overlooked a detail in your =E2=80=9Cpcictl dump=E2=80=9D =
output (apologies, I just got off a red-eye flight and am still =
consuming coffee in a futile effort to regain conciousness).

    Vendor Name: Lite-On Communications (0x11ad)
    Device Name: 82C115 (PNIC II) 10/100 Ethernet (0xc115)

So the question you posed at the end of that email:

<quote>
If anyone would like to help me, I'd like to submit a patch to add this =
card to the supported NICs. I'm sure that I did something that isn't =
kosher in the changes that I made, so I'd love advice.
</quote>

would seem to not be applicable; no patch should be required, as that =
combination of vendor ID / product ID is already covered by the existing =
entry in the compatibility data table:

  { .id =3D PCI_ID_CODE(PCI_VENDOR_LITEON, PCI_PRODUCT_LITEON_82C115),
    .value =3D TULIP_CHIP_82C115 },

Can you please confirm that it works as expected with **no patch at =
all** now that the card edge fingers have been cleaned?

>=20
>=20
>=20
>> On Aug 30, 2025, at 1:49=E2=80=AFPM, Alexander Jacocks =
<[email protected]> wrote:
>>=20
>> If anyone would like to help me, I'd like to submit a patch to add =
this card to the supported NICs. I'm sure that I did something that =
isn't kosher in the changes that I made, so I'd love advice.
>=20
>> { .id =3D PCI_ID_CODE(PCI_VENDOR_WYSE, PCI_PRODUCT_WYSE_82C115),
>> .value =3D TULIP_CHIP_82C115 },
>=20
> If that addition made it Go(tm), then you pretty much did the right =
thing.  Looks like WYSE simply re-used LiteOn=E2=80=99s existing PCI =
device ID, which is completely within their right, since they own their =
ID namespace.  I don=E2=80=99t think it=E2=80=99s really necessary to =
define a redundant WYSE version of the product ID.  Can you verify this =
works for you?
>=20
> Index: if_tlp_pci.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /cvsroot/src/sys/dev/pci/if_tlp_pci.c,v
> retrieving revision 1.131
> diff -u -p -r1.131 if_tlp_pci.c
> --- if_tlp_pci.c 20 Dec 2023 04:32:30 -0000 1.131
> +++ if_tlp_pci.c 31 Aug 2025 14:17:48 -0000
> @@ -132,10 +132,14 @@ static const struct device_compatible_en
>  /*
>  * Note: This is like a MX98725 with Wake-On-LAN and a
>  * 128-bit multicast hash table.
> + *
> + * This device also appears with a WYSE vendor ID and the regular
> + * LITEON 82C115 product ID.
>  */
>  { .id =3D PCI_ID_CODE(PCI_VENDOR_LITEON, PCI_PRODUCT_LITEON_82C115),
>    .value =3D TULIP_CHIP_82C115 },
> -
> + { .id =3D PCI_ID_CODE(PCI_VENDOR_WYSE, PCI_PRODUCT_LITEON_82C115),
> +   .value =3D TULIP_CHIP_82C115 },
>      { .id =3D PCI_ID_CODE(PCI_VENDOR_MACRONIX, =
PCI_PRODUCT_MACRONIX_MX98713),



>=20
>=20
> -- thorpej
>=20

-- thorpej