eth0: Packets dropping with LAN network
I am connected to a LAN and use Internet from a gateway from the LAN. My computer has dual boot with windows2k and linux slackware 9.0 - kernel 2.4.24.
But lets begin the story from the beginning. First, when I installed slackware on my computer it was with kernel 2.4.19 (I think...). Everything was fine and the IRQs of my sound and net card was the same as the IRQs under windows. Then I decided to make some kernel upgarades and optimizations. After the first upgare I noticed something strange -> the IRQs of the sound and the eth0 was the same. Actually everything was fine and working, until I connected to the LAN. Then I decided to make some big file transfers with other LAN users and I noticed something very strange. After some time of downloading at high speed, the speed began to slow down and finally died completely. I tried to make the same operations under windows and everything was fine.
I tried to analyze the problem and here are the main points where I think the problem could be:
1. IRQs. I searched around about IRQ conflicts and I found that it is possible to have devices on the same IRQs. The main thing that bothers me is that these IRQ are different under win and linux. Don't they have to be equal?
Here is the output for cat /proc/interrupts
0: 733504 XT-PIC timer
1: 28627 XT-PIC keyboard
2: 0 XT-PIC cascade
10: 1626882 XT-PIC eth0, via82cxxx
11: 619397 XT-PIC nvidia
12: 276637 XT-PIC PS/2 Mouse
14: 59898 XT-PIC ide0
15: 2 XT-PIC ide1
2. After analizing ifconfig I found something interesting :
eth0 Link encap:Ethernet HWaddr 00:00:F8:22:C3:B1
inet addr:10.1.127.47 Bcast:10.1.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:180595 errors:0 dropped:0 overruns:0 frame:0
TX packets:101123 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:18892227 (18.0 Mb) TX bytes:110252721 (105.1 Mb)
Interrupt:10 Base address:0xec00
When the speed begin to slow down RX dropped packets (the highlighted) begin to increase. After I run
$ ifconfig eth0 down
$ ifconfig eth0 up
The packets stop dropping until some time when they begin to drop again. I really can't figure out why this happens.
I don't have any firewalls and I examined dmesg very carefully and didn't found anything strange.
The current solution I made is one sh script eth0reset which resets the eth0 interface put in the crontab of the root user executing every minute. However I still have the same problems sometimes. Any suggestions?
Last edited by valo; 02-17-2004 at 11:19 AM.