Why is the transfer speed on my LAN so slow?

The setup: A modest desktop LAN with two systems, one running Windows 98se, the other Windows 95. Both have garden variety 10/100 ethernet cards, connected to a Belkin 4 port router, and thence to my cable modem.

Up until very recently, I hadn’t tried to tranfer any large files from one system to another, or download any large files from the internet to the Windows 95 system.

The problem: Recently I tried to move a 700 megabyte file from the win98 system to the win95 system. Windows put up the file copy/move progress bar thingy and said:
0% done, 180 minutes remaining


Playing around with moving some smaller files I determined that that 180 minute estimate was in the ballpark. Also, I think my downloads off the internet are slower with the Win95 system, I’m not sure tho, I haven’t tried to do any serious downloading with it, I just use it to web surf.

Doing some googling I discovered that my connection ought to be much faster. As I’d suspected. One suggestion I found was to make sure the ethernet card was set to 100 Mbs/full duplex, instead of auto, so I tried that, in both systems, no improvement.

I can download a file off the internet to my Win98 system faster than I can transfer it across my LAN to my Win95 system. This is screwed up. Someone please toss me a clue, what’s wrong with my setup?

Slow hard disk and IO subsystem not optimized for handling large transfers on the 95 PC is the likely culprit. People don’t realize how bound the hard disk performance is to the CPU handing DMA requests. Is hard drive DMA mode activated on the 95 PC to help offload IO requests (partially) from the CPU?

I don’t know what DMA is. Is this a BIOS thing or a Windows 95 thing? Or something else entirely? The BIOS is was burned in 1996, but the disk itself was manufactured in '99.

You can check to see if DMA is enabled under the device manager. You can get there by right-clicking on your “My Computer” icon and choosing properties. Under win95, device manager should be the second tab. DMA mode should be listed under one of the IDE channels, IIRC (been a while since I’ve taken a gander at the win95 device manager).

Poking around under the Device Manager tab I finally found “DMA”, not listed under IDE channel…I didn’t see that at all…but rather when I clicked Computer:Properties. That got me a table with two columns, “Setting”, with values 0 to 15, and “Hardware using the setting”, with values like “System Timer”, “Com1”, “Com2”, etc.

Above this there is a set of 4 radio buttons marked “IRQ”, “DMA”, “I/O”, and “memory”. IRQ is checked, and stays checked no matter which setting I select.

NB: It is exactly the same on my 98se system, and that one is able to download from the internet much faster than I can transfer to the Win95 system over the LAN.

Also, a lot of the default settings for Windows 95/98’s tcp/ip stack (MTU, for sure) are optimized for a modem connection. Check out here for some good tweaks to make to optimize your network settings.


Can i piggyback a question onto this thread?

We have two XP computers running through a Linksys router and then a DSL modem. What’s the best way to transfer files between these two computers?

I have a VNC virtual network set up for getting access to my computer from outside the LAN, but this doesn’t seem to be the best way to transfer files between the two local computers. Or is it?

Also, i have a serial port printer set up on one computer. Is it possible to set up my system so that the other computer can use the printer?

Sorry if this is too much of a hijack, but the topic seemed about right!

I am not sure if you are able to determine whether you a having collisions on your “Belkin 4 port router”.

Easy to do on a Cisco router.

Connect the two PC’s with a crossover cable and see if your situation improves. That would eliminate any router issues.

Having cheapo NIC Cards can cause problems.
Having any NIC card set to Auto/Auto can cause problems if the port in which they are pluged into are also Auto/Auto.
You might need set both the router port and NIC to 100/full( if that won’t work, try 100/full on the router port then the NIC to Auto/Auto) or Vica Versa. Sometimes if both are set to Auto, they bounce the duplex setting back and forth from half to full duplex. Then one end talks, and the other is not “listening” Like a couple who has been married for more than 5 years. :smiley:

Good luck.

Very wrong. You can only auto-negotiate to full duplex if both sides of the connection are set to auto-negotiate. The port that’s in auto-negotiate can tell that the other side is fixed to a particular speed, but it can’t tell if it’s set to a particular duplex, so it defaults back to half duplex. Even if the other port is in full duplex.

So both the switch and your nic should be set in auto-neg mode.

Also, you can’t have collisions in full duplex, it’s just not possible. Full duplex implies a point to point connection between the switch and the computer, and each point has their own wire to transmit on. A collision is a half duplex phenomina, where two different transceivers are trying to write to a single transmit wire at the same time.


I don’t know the exact steps in XP, but basically you go to the network settings on the computer with the printer attached, and enable print sharing over the network. Then you go to the printer control panel on the other printer and create a new printer profile, and tell it to look on the network for the printer.

Sorry, thought I was done, but the rest is still too wrong to let pass without comment

And also eliminate any connectivity between the two, since it’s 95% likely that somebody with the level of knowledge that the OP has demonstrated is using DHCP and would need a warning on how to set a static ip address and netmask.

You can now buy a perfectly reasonable 1000bT network card for less than $40. Perfectly reasonable 10/100 cards can be had for $10.

Thereby creating a duplex mismatch and potentially crippling your network.

Trust me, start with network registry settings.


I assume you meant “other computer”?

Thanks for the advice; i’ll give it a go.

A lot of good stuff here. I would recommend looking at a couple of simple things:

(1) throughput setting and auto-detect mismatches between the 2 NICs (and any ports on the hubs/switches/bridges/routers in between). I usually, on a simple connection, will override the auto detect and set everything to 100Mbps.

(2) duplex setting and autodetect mismatches. Again, I override and force everything to full-duplex.

(3) cable quality – if you are running TCP-IP, do a PING <otherhost> -T and see if you get any drops or bad latency.

(4) frame size – win9x optimized for for analog modems instead on networks. Get ahold of a copy of DrTCP and reset your network stack for 1494 bytes per frame instead of the default 536.

(5) using too many or the wrong kind of protocols – win9x by default dropped IPX/SPX and NetBEUI into the stack, and users usually add TCP/IP. Remove IPX/SPC at the very least.

(6) Both systems have the 16 and 32 bit winsocks installed, correct versions, in the right place? Other applications (like AOL) like to monkey with them sometimes, to the detriment of everything else.

Er, yeah.