linksys once again...

Peter Arremann loony@loonybin.loonybin.org
Tue Aug 25 08:35:46 1998


and another linksys prolem...

I got the cards (i also thought "works with linux" means that
the cards work with linux :) partly working with my 2.0.35
kernel and the 0.89k driver. I did not modify the options or
fullduplex (it doesnt seem to have any effect???).
The card is a 
Bus  0, device  12, function  0:
    Ethernet controller: Unknown vendor LNE100TX (rev 17).
      Medium devsel.  Fast back-to-back capable.  IRQ 11.  Master Capable.  Latency=32.
      I/O at 0xb400.
      Non-prefetchable 32 bit memory at 0xe2800000.  
It has a Linksys version of a 168 on it.

I compiled the driver as module and when i make a insmod 
i SOMETIMES get the following messages:

Aug 25 13:44:04 loonybin kernel: tulip.c:v0.89K 8/8/98 becker@cesdis.gsfc.nasa.gov
Aug 25 13:44:04 loonybin kernel: eth1: Lite-On 82c168 PNIC at 0xb400, 00 a0 cc 21 52 01,
IRQ 11.
Aug 25 13:44:04 loonybin kernel: eth1: Checking for MII transceivers...
Aug 25 13:44:04 loonybin kernel: eth1:  MII transceiver found at MDIO address 1, config 3
100 status 7829.                                     

After that the card works. Unfortunately in about 2/3rd of all
cases the driver gets to Checking for MII Transceiver and then
nothing anymore - and of course i cant do an ifconfig or anything
with eth1...
tulip-diag _never_ finds a MII.


Furthermore, after insmodding and the detection of the MII i get 
tons of syslog messages:

Aug 25 13:47:14 loonybin kernel: eth1: Changing PNIC configuration to half-duplex, CSR6 8
12e0000.
Aug 25 13:49:14 loonybin kernel: eth1: The transmitter stopped!  CSR5 is 2068012, CSR6 81
6e0002.
Aug 25 13:49:14 loonybin kernel: eth1: Changing PNIC configuration to half-duplex, CSR6 8
16e0000.
Aug 25 13:50:14 loonybin kernel: eth1: The transmitter stopped!  CSR5 is 2068012, CSR6 81
2e0002.
Aug 25 13:50:14 loonybin kernel: eth1: Changing PNIC configuration to half-duplex, CSR6 8
12e0000.

While those dont really bother me - the following (taken yesterday) do:

Aug 24 01:32:58 loonybin kernel: eth1: The transmitter stopped!  CSR5 is 2068012, CSR6 816e0002.
Aug 24 01:32:58 loonybin kernel: eth1: Changing PNIC configuration to half-duplex, CSR6 816e0000.
Aug 24 01:33:26 loonybin kernel:
Aug 24 01:33:29 loonybin kernel: =0x02660010.
Aug 24 01:33:29 loonybin kernel: csr5=0x02670050 new csr5=0x02660010.
Aug 24 01:34:58 loonybin kernel: eth1: The transmitter stopped!  CSR5 is 2068012, CSR6 812e0002.
Aug 24 01:34:58 loonybin kernel: eth1: Changing PNIC configuration to half-duplex, CSR6 812e0000.
Aug 24 01:35:50 loonybin kernel: In tulip_rx(), entry 19 00400300.
Aug 24 01:36:07 loonybin kernel: 0010 new csr5=0x02660010.
Aug 24 01:36:58 loonybin kernel: eth1: The transmitter stopped!  CSR5 is 2068012, CSR6 816e0002.
Aug 24 01:36:58 loonybin kernel: eth1: Changing PNIC configuration to half-duplex, CSR6 816e0000.
Aug 24 01:37:25 loonybin kernel: pt  csr5=0x02670050 new csr5=0x02660010.
Aug 24 01:37:26 loonybin kernel: sr5=0x02670014 new csr5=0x02660010.
Aug 24 01:37:27 loonybin kernel: sr5=0x02660010.
Aug 24 01:38:22 loonybin kernel: 0x02660010.
Aug 24 01:38:23 loonybin kernel: pt  csr5=0x02670050 new csr5=0x02660010.
Aug 24 01:38:23 loonybin kernel: nterrupt  csr5=0x02670050 new csr5=0x02660010.    

Even more than that, the two machines that are working with those cards
were both unusable (they were running with ne2000's for several months 
without any problems).
The first machine had a crashed X server - i could switch to console
but got no picture at all, and alt-crtl-del rebooted the machine.
The syslog said something bout Signal 11 on the x server. The Xserver
(Mach64) had before been running as long as 2 months without crashing.

The other machine was running but seemed to have serious problems 
with mprotect...
When starting some kde programs they try to do
mprotect(0x4035a000, 585728, PROT_READ|PROT_WRITE) = 0
mprotect(0x4035a000, 585728, PROT_READ|PROT_EXEC) = 0
mprotect(0x40341000, 98304, PROT_READ|PROT_WRITE) = 0
mprotect(0x40341000, 98304, PROT_READ|PROT_EXEC) = 0
mprotect(0x40307000, 200704, PROT_READ|PROT_WRITE) = 0
mprotect(0x40307000, 200704, PROT_READ|PROT_EXEC) = 0
mprotect(0x402d3000, 204800, PROT_READ|PROT_WRITE) = 0
mprotect(0x402d3000, 204800, PROT_READ|PROT_EXEC) = 0
mprotect(0x40103000, 901120, PROT_READ|PROT_WRITE) = 0
mprotect(0x40103000, 901120, PROT_READ|PROT_EXEC) = 0 

This morning the last mprotect failed.

I have no clue if either of those problems are related to the driver,
but in my opinion its more than likely - both happened on former
very stable machines after i installed the tulip driver...


thanx,

loony