Marcelo Coelho wrote: > As an update: > > Whenever i take off the cable from an ethernet card the message: > >> Mar 8 18:04:56 linux kernel: rteth0: Abnormal interrupt, status 00000002. > > appears. So that isn't a problem, just a warning because the lan is down. >
Ok, but the transmission error is still unexplained. > > As i'm using 9 cards in 3 different pcs, i'm just post the PCI IDs > from the problematic pc. When i started using tdma extended > configuration one pc (with SUSE 9.2) sent some packages to the > network. > > > output from lspci -vv > 00:08.0 Ethernet controller: D-Link System Inc RTL8139 Ethernet (rev 10) > Subsystem: D-Link System Inc DFE-528TX 10/100 Fast Ethernet PCI > Adapter > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR+ FastB2B- > Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >> TAbort- <TAbort- <MAbort- >SERR- <PERR- > Latency: 64 (8000ns min, 16000ns max) > Interrupt: pin A routed to IRQ 11 > Region 0: I/O ports at e000 [size=256] > Region 1: Memory at ff6fac00 (32-bit, non-prefetchable) [size=256] > Capabilities: [50] Power Management version 2 > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA > PME(D0-,D1+,D2+,D3hot+,D3cold+) > Status: D0 PME-Enable- DSel=0 DScale=0 PME- > > 00:09.0 Ethernet controller: D-Link System Inc RTL8139 Ethernet (rev 10) > Subsystem: D-Link System Inc DFE-528TX 10/100 Fast Ethernet PCI > Adapter > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR+ FastB2B- > Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >> TAbort- <TAbort- <MAbort- >SERR- <PERR- > Latency: 64 (8000ns min, 16000ns max) > Interrupt: pin A routed to IRQ 10 > Region 0: I/O ports at ee00 [size=256] > Region 1: Memory at ff6fa800 (32-bit, non-prefetchable) [size=256] > Capabilities: [50] Power Management version 2 > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA > PME(D0-,D1+,D2+,D3hot+,D3cold+) > Status: D0 PME-Enable- DSel=0 DScale=0 PME- > > 00:0a.0 Ethernet controller: D-Link System Inc RTL8139 Ethernet (rev 10) > Subsystem: D-Link System Inc DFE-528TX 10/100 Fast Ethernet PCI > Adapter > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr- Stepping- SERR+ FastB2B- > Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >> TAbort- <TAbort- <MAbort- >SERR- <PERR- > Latency: 64 (8000ns min, 16000ns max) > Interrupt: pin A routed to IRQ 10 > Region 0: I/O ports at ed00 [size=256] > Region 1: Memory at ff6fa400 (32-bit, non-prefetchable) [size=256] > Capabilities: [50] Power Management version 2 > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA > PME(D0-,D1+,D2+,D3hot+,D3cold+) > Status: D0 PME-Enable- DSel=0 DScale=0 PME- > > > All the cards are identical, all of them are D-Link. > I've attached a patch which upgrades the rt_8139too TX configuration according to the latest driver from mainstream kernel. That's the only major difference I found during a quick scan between the RTnet revision and this new one. Please give it a try, maybe it improves anything. Jan
Index: drivers/rt_8139too.c
===================================================================
--- drivers/rt_8139too.c (revision 959)
+++ drivers/rt_8139too.c (working copy)
@@ -297,8 +297,14 @@ enum rx_mode_bits {
/* Bits in TxConfig. */
enum tx_config_bits {
- TxIFG1 = (1 << 25), /* Interframe Gap Time */
- TxIFG0 = (1 << 24), /* Enabling these bits violates IEEE 802.3
*/
+
+ /* Interframe Gap Time. Only TxIFG96 doesn't violate IEEE 802.3 */
+ TxIFGShift = 24,
+ TxIFG84 = (0 << TxIFGShift), /* 8.4us / 840ns (10 / 100Mbps) */
+ TxIFG88 = (1 << TxIFGShift), /* 8.8us / 880ns (10 / 100Mbps) */
+ TxIFG92 = (2 << TxIFGShift), /* 9.2us / 920ns (10 / 100Mbps) */
+ TxIFG96 = (3 << TxIFGShift), /* 9.6us / 960ns (10 / 100Mbps) */
+
TxLoopBack = (1 << 18) | (1 << 17), /* enable loopback test mode */
TxCRC = (1 << 16), /* DISABLE appending CRC to end of Tx
packets */
TxClearAbt = (1 << 0), /* Clear abort (WO) */
@@ -599,7 +605,7 @@ static const unsigned int rtl8139_rx_con
(RX_DMA_BURST << RxCfgDMAShift);
static const unsigned int rtl8139_tx_config =
- (TX_DMA_BURST << TxDMAShift) | (TX_RETRY << TxRetryShift);
+ TxIFG96 | (TX_DMA_BURST << TxDMAShift) | (TX_RETRY << TxRetryShift);
signature.asc
Description: OpenPGP digital signature

