NIC Sleeps after some idle time

My home machine has two NICs.  Eth0 has ip address via DHCP (ADSL). Eth1 has static ip.  Everything works, except that eth0 seems to "fall a sleep" once in a while.  Once it is in this mode, I will not be able to ping, telnet, ...etc from outside, my internal network (via eth1) has never had any problem
getting out. Once eth0 falls asleep I would have to try later and it will somehow wake up by itself (after about 10-30 minutes).  APM is turned off on the BIOS (I heard claims it might be the problem, but I question why eth1 never falls asleep)
I also noticed that if I have my wife ping an outside site from my home machine, eth0 will come back alive right away.  So my only solution now is this is to have the
home machine ping an external site (ex.
every 1 minute.  With the ping on, I can alawys get to
my home machine from work.  I have few peopel on
the web that have the same problem and none could
figure out what the story is.  BTW, under NT, the problem goes away.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

It's not Linux that's going to sleep, it's the ADSL implementation. Most likely there's a router upstream that has a short arp timeout. If the router doesn't see data from your MAC address often enough it drops the arp entry from it's tables and then won't know where your system is to route data to it. NT is very chatty on its ethernet connections, pumping out a packet every few minutes, which is why it never timed out. Your provider has probably set their system up this way to discourage people from running servers on their DSL lines, and the Terms & Conditions of your service will probably state words to that affect.

The only workaround is, as you've discovered, to routinely send data out. It shouldn't matter if you ping a valid address or not. The act of pushing out a packet ought to do the trick.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.