[realtek] on-board rtl8139 fails.
Jarl Friis
jarl@softace.dk
Sat Dec 7 12:48:00 2002
Hi.
Donald Becker <becker@scyld.com> writes:
> On 7 Dec 2002, Jarl Friis wrote:
> >
> > Do you want me to try with a newer kernel? 2.4.20 or 2.5.x?
>
> It's worth trying -- although don't think that anything significant has
> changed in 2.4.20, perhaps there is a specific work-around for a quirk,
I'll try both soon.
> > > What was the driver detection message?
> > Dec 7 01:14:40 hermes kernel: rtl8139.c:v1.22 11/17/2002 Donald Becker, becker@scyld.com.
> > Dec 7 01:14:40 hermes kernel: eth0: RealTek RTL8139C Fast Ethernet at 0x1800, IRQ 9, 00:40:ca:bb:ae:ac.
>
> IRQ 9, the driver is using the same IRQ as reported in /proc/pci.
So that is as it should be, right?
>
> > There are other device with this IRQ too, these are as follows
>
> [[ Many other devices, including the CardBus bridge and CardBus
> cards. ]]
> > By the way, the built-in RTL8139 does not work with the DECchip PCMCIA card
> > unplugged.
>
> Do CardBus cards work?
I have only tried with the FA510 (DECchip) which, as you know does not
work completely, but I guess that is for another reason. It seems like the
CardBus system itself does work in general.
>
> > > Try running this while the interface is "up" and check for interrupt
> > > sources. My guess is that you will see unhandled interrupts.
> >
> > OK. This output is slightly different, but I can't see any unhandled
> > interrupts. Here it comes:
> > rtl8139-diag.c:v2.10 9/18/2002 Donald Becker (becker@scyld.com)
>
> Try sending a few packets throught the interface first...
OK now I started the DHCP client, and furhter pinged the server while
running the command, this gave some result:
rtl8139-diag.c:v2.10 9/18/2002 Donald Becker (becker@scyld.com)
http://www.scyld.com/diag/index.html
Index #1: Found a RealTek RTL8139 adapter at 0x1800.
The RealTek chip appears to be active, so some registers will not be read.
To see all register values use the '-f' flag.
RealTek chip registers at 0x1800
0x000: bbca4000 0000acae 80000000 40002000 00002000 00002000 00002000 00002000
0x020: 0d268010 0d268610 0d268c10 0d269210 0d260000 0c0a0000 020cfff0 0001c07f
0x040: 74400400 0000940e fe80339e 00000000 008f1000 00000000 0080f510 00100b34
0x060: 1000000f 01e1782d 000140a1 00000000 00000704 00020408 60f60c59 7b732660.
Realtek station address 00:40:ca:bb:ae:ac, chip type 'rtl8139C'.
Receiver configuration: Normal unicast and hashed multicast
Rx FIFO threshold 256 bytes, maximum burst 256 bytes, 32KB ring
Transmitter enabled with normal settings, maximum burst 256 bytes.
Tx entry #0 status 00002000 incomplete, 0 bytes.
Tx entry #1 status 00002000 incomplete, 0 bytes.
Tx entry #2 status 00002000 incomplete, 0 bytes.
Tx entry #3 status 00002000 incomplete, 0 bytes.
Flow control: Tx disabled Rx disabled.
The chip configuration is 0x10 0x8f, MII half-duplex mode.
Interrupt sources are pending.
Rx Complete indication.
Decoded EEPROM contents:
PCI IDs -- Vendor 0x10ec, Device 0x8139.
PCI Subsystem IDs -- Vendor 0x1509, Device 0x2420.
PCI timer settings -- minimum grant 32, maximum latency 64.
General purpose pins -- direction 0xe5 value 0x12.
Station Address 00:40:CA:BB:AE:AC.
Configuration register 0/1 -- 0x8d / 0xc2.
EEPROM active region checksum is 098e.
EEPROM contents (64 words):
0x00: 8129 10ec 8139 1509 2420 4020 e512 4000 )___9___ $ @___@
0x08: bbca acae 8d10 f7c2 8801 03b9 60f4 071a _____________`__
0x10: dfa3 9836 dfa3 9836 03b9 60f4 1a1a 1a1a __6___6____`____
0x18: 0000 e4b2 0000 0000 0000 0000 0000 2000 _______________
0x20: 0000 0000 0000 0000 0000 0000 0000 0000 ________________
...
The RTL8139 does not use a MII transceiver.
It does have internal MII-compatible registers:
Basic mode control register 0x1000.
Basic mode status register 0x782d.
Autonegotiation Advertisement 0x01e1.
Link Partner Ability register 0x40a1.
Autonegotiation expansion 0x0001.
Disconnects 0x0000.
False carrier sense counter 0x0000.
NWay test register 0x0704.
Receive frame error count 0x0000.
Now we have
---------------------------------
Interrupt sources are pending.
Rx Complete indication.
---------------------------------
Meanhwile at the DHCP server I get:
ec 7 18:13:36 server dhcpd: DHCPDISCOVER from 00:40:ca:bb:ae:ac via eth0
Dec 7 18:13:36 server dhcpd: DHCPOFFER on 192.168.0.95 to 00:40:ca:bb:ae:ac via
which indicates that it does transmit OK, it just doesn't
receive. The ping also gives "Destination Host Unreachable"
Jarl