# Random dropped connections on local server



## BLuFeNiX (Dec 27, 2012)

Hi,

The company I work for has a FreeBSD 8.0-RELEASE-p4 server that runs most of our stuff (email, cvs, jabber, apache, etc). At any given time, one or more of our desktop (Windows) computers will either fail to connect, have a dropped connection, or have a very slow connection to the server (all previously mentioned services have been affected in one way or another). The issue comes and goes with no discernible pattern or cause. The issue began within the past year, but I cannot link any event to it.

What are some things I can try to discover and hopefully remedy the problem? (I have already tried swapping out switches, routers and cables.)

I have tried running wireshark on my desktop, and I can see the connection being dropped, but I can't find any reason for it. I have been looking at dmesg and /var/log/messages, but I don't see anything useful (maybe I don't know what to look for?) 

Thank you for any and all suggestions.


----------



## gkontos (Dec 27, 2012)

BLuFeNiX said:
			
		

> What are some things I can try to discover and hopefully remedy the problem? (I have already tried swapping out switches, routers and cables.)



That's where I would look first as well. Don't forget though that 8.0-RELEASE is very old and EOL. 

Upgrading is a must but until you do try changing the NIC. And check that it is running at full-duplex.


----------



## kpa (Dec 27, 2012)

Randomly dropped connections could be some kind of hardware offloading problem in the NIC drivers. Play with the ifconfig(8) options -txcsum, -rxcsum etc. and see if they have any effect.


----------



## BLuFeNiX (Dec 27, 2012)

gkontos said:
			
		

> That's where I would look first as well. Don't forget though that 8.0-RELEASE is very old and EOL.
> 
> Upgrading is a must but until you do try changing the NIC. And check that it is running at full-duplex.



Ah, I hadn't thought to check the NIC itself. I believe our server has two, so I'll configure the other one and try it out. Thanks!

Would I just use _freebsd-update fetch && freebsd-update install_ to get the latest version? Or is it more complicated to upgrade to a different major version number? Anything I should look out for?


----------



## BLuFeNiX (Dec 27, 2012)

kpa said:
			
		

> Randomly dropped connections could be some kind of hardware offloading problem in the NIC drivers. Play with the ifconfig(8) options -txcsum, -rxcsum etc. and see if they have any effect.



Thanks, I'll check that out.


----------



## wblock@ (Dec 27, 2012)

Since the server software and hardware didn't change, looking for hardware problems on the network is a good start.  You changed out switches and routers.  But if they had external power supplies, did you swap those also?

Do non-Windows computers lose connections?


----------



## m6tt (Dec 28, 2012)

Turn off any scrub options in pf, or turn off pf entirely if you use it (as a test)

Windows uses very accurate timestamps (only compliant thing they do, I feel like sometimes) and PF can confuse them. There is a way to turn this off in the registry.

They also have had windowing issues with pf in the past. 

If pf isn't in play, run (hit Ctrl-C after a minute or so)

```
ping -f <windows ip>
```
and see what packet loss looks like.

net/iperf is also available on windows, and is more scientific than the above test.

If packetloss is high, it's definitely the network...bad NIC, crimped cable, swapped pairs, or most likely some poor switch is dying.

Nothing bad in dmesg, right?


----------



## SirDice (Dec 28, 2012)

BLuFeNiX said:
			
		

> Would I just use _freebsd-update fetch && freebsd-update install_ to get the latest version? Or is it more complicated to upgrade to a different major version number? Anything I should look out for?


Because this is a production server you are actually using I suggest not upgrading to a major version. Take 8.3, it's supported and will be for a while (at least till April 2014). Then get a test machine and install 9.1 on there and move stuff over when you're comfortable. The reason is that 8.3 is not that different from 8.0 so you should have no problems, updating a major version would necessitate a complete rebuild of all ports. Not what you want to do when people are depending on that machine.

Updating is described in the release notes but usually doesn't involve much more than:

```
freebsd-update -r 8.3 upgrade
freebsd-update install
```


----------

