[realtek-bug] troubles with SMC1211

Pete Siemsen siemsen@ucar.edu
Wed, 05 Jul 2000 00:50:11 -0600

I bought an SMC EX 10/100 PCI Ethernet card.  When I bought the card,
I assumed it would work with Linux because the card was shipped with a
TurboLinux CD-ROM.  I can't get my Linux system to detect the card,
though it works under Windows 98.

I'm using a Red Hat 6.1 system, and I'm building the Linux 2.2.16
kernel.  I wasted quite some time trying to figure out what driver to
load into the kernel.  There are several "SMC" options, none of which
work for this card.  On the SMC web site, SMC says the Linux driver
for the card it rtl8139.c, so I guess the card has a RealTek 8139
chip.  BTW, I had no other clue that the chip is a RealTek 8139.  The
chip itself says "SMC EN503081 0203551 006F".

The Linux Ethernet-HOWTO file has a paragraph about the RealTek 6139,
and gives the URL for the "Linux and the RealTek RTL8129/8139 Chips"
web page at http://www.scyld.com/network/rtl8139.html, where I learned
about this mailing list.  Cool!

I downloaded version 1.10 of rtl8139.c, and pci-scan.c,
pci-scan.h and kern_compat.h, and rtl8139-diag.c.

I had some trouble compiling rtl8139.c.  Gcc couldn't find definitions
of SIOCGMIIPHY, SIOCGMIIREG, and SIOCSMIIREG.  I found the definitions
in linux-2.2.16/drivers/net/sis900.h, so I added an include statement
in rtl8139.c.  This caused other dependency problems, so I finally
just copied the actual definitions of these three identifiers into
rtl8139.c.  It compiled.

I did "insmod pci-scan.o" and "insmod rtl8139.o".  Then I tried
"ifconfig eth0 up" and got "SIOCSIFFLAGS: Resource temporarily
unavailable".  THis is different than before, when I got "eth0:
unknown interface: No such device", so I thought I was making progress.

I ran rtl8139-diag, and got

  rtl8139-diag.c:v2.00 4/19/2000 Donald Becker (becker@scyld.com)
  Index #1: Found a SMC1211TX EZCard 10/100 (RealTek RTL8139) adapter at 0x1400.
  This chip has not been assigned a valid IRQ, and will not function.
   This must be fixed in the PCI BIOS setup.  The device driver has no way
   of changing the PCI IRQ settings.
  EEPROM size test returned 6, 0x204a4 / 0x2.
   Use '-a' or '-aa' to show device registers,
       '-e' to show EEPROM contents, -ee for parsed contents,
    or '-m' or '-mm' to show MII management registers.

Looks promising: at least it seems to see the card.  I confess that I
don't know what to try next.  I know how to enter my system's BIOS
setup mode, but I can't seem to find a way to set the PCI BIOS IRQ.
How do I "fix the PCI BIOS setup"?  FYI, Windows 98 says the card is
IRQ 09, Mem 8100000-81000FF, I/O 1400-14FF.

-- Pete