[scyld-users] 3COm 3C59x driver problems
Adrian
bluelight_ady at yahoo.com
Mon Apr 28 17:40:24 PDT 2008
Hello. After some tunning into the 3c59x driver, i decide to contact you and tell you about some problems found in this driver.
The anoing thing with this driver is that when the traffic goes up more that 10Mbps, the driver "crashes" like this:
kernel: NETDEV WATCHDOG: eth2: transmit timed out
kernel: eth2: transmit timed out, tx_status 00 status e000.
kernel: diagnostics: net 0ccc media 8880 dma 000000a0 fifo 0000
kernel: Flags; bus-master 1, dirty 166045(13) current 166061(13)
kernel: Transmit list 36f2da20 vs. f6f2da20.
kernel: 0: @f6f2d200 length 80000036 status 00000036
kernel: 1: @f6f2d2a0 length 8000003e status 0000003e
kernel: 2: @f6f2d340 length 80000036 status 00000036
kernel: 3:
@f6f2d3e0 length 8000003e status 0000003e
kernel: 4: @f6f2d480 length 8000003e status 0000003e
kernel: 5: @f6f2d520 length 800005ea status 000005ea
kernel: 6: @f6f2d5c0 length 800005ea status 000005ea
kernel: 7: @f6f2d660 length 8000003e status 0000003e
kernel: 8: @f6f2d700 length 800005ae status 000005ae
kernel: 9: @f6f2d7a0 length 800005ea status 000005ea
kernel: 10: @f6f2d840 length 80000036 status 00000036
kernel: 11: @f6f2d8e0 length 800000ca status 800000ca
kernel: 12: @f6f2d980 length 800000d9 status 800000d9
kernel: 13: @f6f2da20 length 80000a8d status 00000a8d
kernel: 14: @f6f2dac0 length 800005ea status 000005ea
kernel: 15: @f6f2db60 length 800005ea status 000005ea
kernel: eth2: Resetting the Tx ring pointer.
I
check on google for this problem, but i didn't found anything. After i
take a look into the driver, i decide to rise up the TX_RING_SIZE and
RX_RING_SIZE, becouse i saw in sources that when those ring goes out,
the driver gives those errors. This problem didn't apear only one
computer. It apears on 5 diferent computers, with nForce2/3/570 and VIA
KT 333/400/800 chipsets.
I build a patch that chenges those values like this:
--- linux-2.6.22.5-orig/drivers/net/3c59x.c 2007-07-09 02:32:17.000000000 +0300
+++ linux-2.6.22.5/drivers/net/3c59x.c 2007-10-13 05:07:30.000000000 +0300
@@ -35,8 +35,8 @@
/* A few values that may be tweaked. */
/* Keep the ring sizes a power of two for efficiency. */
-#define TX_RING_SIZE 16
-#define RX_RING_SIZE 32
+#define TX_RING_SIZE 1024
+#define RX_RING_SIZE 2048
#define PKT_BUF_SZ 1536 /* Size of each temporary Rx buffer.*/
/* "Knobs" that adjust features and parameters. */
@@ -1014,6 +1014,11 @@
if (!printed_version) {
printk (version);
+ printk ("%s Driver parameters: TX_RING_SIZE=%i, RX_RING_SIZE=%i, max_interrupt_work=%i\n",
+ DRV_NAME,
+ TX_RING_SIZE,
+ RX_RING_SIZE,
+ max_interrupt_work);
printed_version = 1;
}
With those values the driver works fine, it didn't make errors. I use those network cards becouse gives me performance. The Inte PRO 100 are good too, but i got more 3COM 905B/C than Intel PRO 100.
Best regards
Adrian Ban
Romania
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.scyld.com/pipermail/scyld-users/attachments/20080428/516d96c2/attachment.html
More information about the Scyld-users
mailing list