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