"
Re: Error: Can not get my RTL8029AS to work
Post by Cyborg » Tue Jan 03, 2012 11:54 am
The reason is that rtl8029.device (and also rtl8139 and rtl8169) only check for the default Realtek PCI IDs. Back when I wrote those drivers, I only had cards with default Realtek IDs and the same for the beta testers. So I never had a chance to add more cards to the list of supported cards. BUT luckily I gave the user the ability to overwrite those default IDs

Here is the relevant section of the (internal) documentation:
The driver reads a file from "ENV:rtl8029.device/" named "unit <X>" where
<X> replaced by the unit number (0-7). The variable must contain one line
of configuration text which follows this template:
HALFDUPLEX/S, FULLDUPLEX/S, NOFLOWCONTROL/S, FLOWCONTROL/S,
VENDORID/K, DEVICEID/K
The options should be fairly self-explanatory, so just a few words
regarding VENDORID/K and DEVICEID/K: These two are meant to overwrite
the standard Realtek vendor and device PCI IDs, which might be useful
for rebranded network cards with a supported Realtek chip. To get both
IDs, run "PCIscan" in a shell and look for your card. The ID's *must*
be given as 16-bit hex values, e.g. 0x10EC or just 10EC. Case is
ignored.
By DEFAULT the device looks for cards with vendor ID 0x10EC (Realtek),
device ID 0x8139, 0x8169 or 0x8029 depending on what device you're
using and tries to auto-negotiate the best link setup with the other
side (e.g. 1000Mbit full-duplex flowcontrol for 8169).
So in your case, assuming you only have one rtl8029 card in your computer, you have to create this environment variable:
Code: ENVARC:rtl8029.device/unit0
with this content:
Code: VENDORID 0x4A14 DEVICEID 0x5000
Now rtl8029.device should be able to find and use your card (maybe do a reset after creating the envvar, just to be sure).
Would be nice if you could report back if your card works. Then I could include their IDs directly in the next release of rtl8029.
Cyborg
AmigaOS Core Developer"