From bluelight_ady at yahoo.com Mon Apr 28 17:40:24 2008 From: bluelight_ady at yahoo.com (Adrian) Date: Tue Nov 9 01:14:29 2010 Subject: [scyld-users] 3COm 3C59x driver problems Message-ID: <469927.35986.qm@web30506.mail.mud.yahoo.com> 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