Tuesday, 29 July 2008

Poor performance with D-Link DCS-6620G and Microsoft Windows Vista - Solved

I recently bought a D-Link DCS-6620G IP camera to replace a failed Panasonic one. I found the performance to be terrible. After running a network capture I discovered the following:

My Vista desktop would send two TCP SYN requests with ECN and CWR flags set.
The camera would resond to each of these with a TCP RST.
My Vista desktop would then send a TCP SYN request without ECN and CWR flags and the camera would then respond normally.

This problem also meant that I could not add the camera to D-Link D-ViewCam Monitor as the request to add a camera failed with an unable to connect message.

After a bit of reading, I discovered the CWR and ECN flags were being set because I had ECN enabled in my IP stack. I verified this by running:
netsh interface tcp show global
Querying active state...
TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State          : enabled
Chimney Offload State               : disabled
Receive Window Auto-Tuning Level    : disabled
Add-On Congestion Control Provider  : none
ECN Capability                      : enabled
RFC 1323 Timestamps                 : disabled
Running the following, disabled the setting:
netsh interface tcp set global ecncapability=disabled
Ok.
And...
netsh interface tcp show global
Querying active state...
TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State          : enabled
Chimney Offload State               : disabled
Receive Window Auto-Tuning Level    : disabled
Add-On Congestion Control Provider  : none
ECN Capability                      : disabled
RFC 1323 Timestamps                 : disabled
The camera is now working very well.

No comments:

Post a Comment