Click Here

AssemSoft RTL8139 Fast Ethernet driver.

ATTENTION!!These drivers needs a fixed sockdev.xdd or inet4.xdd to work reliably. A bug was found and eliminated. Both these binaries are -m020-60 compiles, and needs 020+ CPU. But then again, so does the drivers. Sockdev.xdd not yet tested by me!

This is a driver for RTL8139 based PCI ethernet cards for MiNT, and will recognize the following cards;
Vendor ID   Device ID   Name
 0x10ec      0x8139      RealTek RTL8139 Fast Ethernet
 0x10ec      0x8138      RealTek RTL8139B PCI/CardBus
 0x1113      0x1211      SMC1211TX EZCard 10/100 (RealTek RTL8139)
 0x1500      0x1360      Delta Electronics 8139 10/100BaseTX
 0x4033      0x1360      Addtron Technology 8139 10/100BaseTX
 0x1186      0x1300      D-Link DFE-538TX (RealTek RTL8139)
Lonny Pursell tells me that his card is of model;
 0x1186      0x1300      D-Link 10/100Mbps PCI ethernet adapter (DFE-530TX+)
and that it works fine. This card have the same PCI Vendor ID and Device ID as the D-Link DFE-538TX, but slightly different name. Lonny says that this card works great with the driver .. and nothing's better than that! Thanks a lot for the feedback, Lonny ;-)
Once again, Lonny Pursell shows he is one of the most dedicated Atari user on the face of this planet. He has written a small file about ethernet setup on Atari and the RTL8139 driver, lan_doc.txt which you all should read. This kind of feedback is what drives me! Thanks a lot, Lonny! ;-))

Milan issues:

The driver below should work on all Milans that have the "SCSI and sound" problem fixed.

Hades issues:

This driver was developed on my Hades060, and I had a lot of problems. First problem I encountered was a bug in the latest PCI BIOS v1.13c. The bug makes the RTL8139's I/O base to be set wrong, and conflicts with other cards I/O. I told the author of PCI BIOS, and the problem is now fixed in PCI BIOSv1.13d! Before this bug was fixed, I forced the RTL's I/O base according to info (PCI Dump) from Hades owners. This forced I/O base setting is now gone. So you HAVE TO update to the latest PCI BIOS to be able to use this driver on your Hades!

The second problem I encountered almost made me give up on this driver. When the RTL8139 attempted DMA transfers to/from hostmemory, my Hades went so dead I had to turn off then back on to get it running again. Clearly a hardware bug or shortcoming of the PCIMAIN chip in the Hades. I have PCIMAIN 10, whereas I know latest is 14, but Fredi can't deliver an update because this is the chip that is out of production :(

But I found out that if I let the RTL8139 do its DMA to my graphics cards (an ET6000) video RAM, everything worked great! This using of video-ram for PCI DMA for the RTL8139 have been tested with a 2.4Mb ET6000 (my gfx-card) and a 4Mb ATI Mach64, and proven to work fine. I have very briefly tested this with a Rage Pro card, but I could not make that work. Feedback from Rage Pro equipped Hades owners is very much wanted! Also, ET4000 equipped Hades owners can send me a PCI Dump output, so that I can include a PCI DMA base for those. The driver has a few DMA base addresses put in. Which DMA base it uses depends on the last character in the filename. The file have to be named exactly
. The 'x' in the filename can be a character between 0 and 9. A DMA base is then selected according to the following table;
'X'    GFX Card           Video RAM base   DMA Base set
 0     ET6000 (2.4Mb)     0x80000000      0x80220000
 1     ATI Mach64 (4Mb)   0x81000000      0x813e0000 (Last 128K of video-ram)
 2     ATI Rage Pro (8Mb) 0x81000000      0x817e0000 (Last 128k of video-ram)
 3 - 9 Unused. Do NOT use any of these as they're reserved.
If the drivers filename is different, or if the 'x' character is unused or not recognized, PCI DMA is setup as in normal cases, i.e., hostmemory is used. If any Hades owners can make it work in this normal way, please let me know!!!

NOTE: When used on a Milan, the above scheme is completely ignored, since the Milan does not have hardware problems with PCI DMA to hostmemory!


As usual, there is no docs included with the driver. Don't think I'll write one either. The driver should be able to drive up to 4 cards (since each card needs 64K for PCI DMA, max 2 cards should be attempted when video-ram is used for DMA), which are then installed as rtk0, rtk1, rtk2 and rtk3. Driving more than on card have not been tested, so no guarantees. If you attempt driving more than one card, let me know how it goes!!
It is very easy to use; Just copy the driver (rtl8139.xif) to your mint or multitos folder and rename according to the PCI DMA base table if necessary. Reboot.
To set up rtk0 to use on a cable-connection with static IP =, netmask = and gateway IP = , do;
ifconfig rtk0 addr netmask up
route add default rtk0 gw
and the connection should be up running.

I have got adsl connectivity, and have my own network 'behind' the adsl router. This 'local' network have 'inside IP' = The router is the gateway, and its IP = My Hades is given the IP and my PC (cough) is Below are the lines in my /etc/ that sets up my adsl connection through rtk0.
# Setup rtk0 inteface
if [ -f /boot/mint/rtl8139*.xif ]; then
	echo "Setup rtk0..."
	ifconfig rtk0 addr netmask up
	route add rtk0
	route add default rtk0 gw


There is still need for separate versions for the Milan and the Hades. Reason for this is because PCI interrupts have to be handled slightly different with different PCI cards. I found this out doing the ES1371 (AudioPCI) driver, in which the MFP had to be handled differently from how it is handled in the RTL8139 driver. So, I can not rely the PCI BIOS's hook_interrupt function. The Milan version can be tested on the Hades (and may even work), as it uses the PCI BIOS completely, but the Hades version can NOT be used on anything but the Hades! Test it, have fun with it, and let me know how/if it works!!!

Download AssemSoft's RealTek RTL8139 driver v0.8.01 for Hades (9111 bytes)
Download AssemSoft's RealTek RTL8139 driver v0.8.01 General version (8709 bytes)

Take me back Home!

These pages have been visited since Aug 19, 2000