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:
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 globalRunning the following, disabled the setting:
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
netsh interface tcp set global ecncapability=disabledAnd...
Ok.
netsh interface tcp show globalThe camera is now working very well.
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