what is hard coding duplex between devices?

Solution 1:

Yes, hard coding means telling the OS/Device what speed the connection should be so it does not auto-negotiate.