Telldus NET DHCP client problems
Posted: Fri Mar 17, 2023 9:45 am
I tried to connect Tellstic Net (v4) in a few different configurations (via PC with Internet Connection Sharing, via PC Network Bridge, directly to router).
Since all except the last configuration didn't work, I have wireshark-monitored the DHCP communication with the Tellstick Net and have found a couple of problems which may cause it not to receive an IP adress (keeps the red light on).
This post is to give Telldus some information about the problem and to show people having problems (there are some posts in the Swedish forum) what could be the root cause.
The normal DHCP sequence is:
Client: DISCOVER (may contain a desired IP adress, normally the last one used)
Server: OFFER
Client: REQUEST
Server: ACK
Problem 1: The Tellstick sends its REQUEST, but exactly two seconds later, if it hasn't received any ACK, it sends a new DISCOVER and ignores the coming ACK. So if your DHCP server takes more than two seconds to respond, the Tellstick will never get any address. More than two seconds is not unusual, I think, because the server may ask on the network if there is any other node using that IP. My Win7 PC takes more than three seconds, for example, and I have heard others talk about five seconds. My conclusion is that the timeout is far too short.
Problem 2: The Tellstick includes a desired IP address in the DISCOVER message, which is fine. But if the server doesn't approove that address it may (according to wikipedia, and I may have seen the same thing in my router) silently drop the DISCOVER message and not respond. The client should then (again according to wikipedia) timeout and send a new DISCOVER without any desired IP adress. The Tellstick, however, keeps sending the same identical DISCOVER message over and over, possibly never getting any OFFER.
If there are other people with more DHCP knowledge out there, please add your comments.
Note that the red light is on also if the physical cable is not properly connected, so check that part first before you blame the DHCP. Unfortunately I don't know the best way to do that without using Wireshark, but you should see a difference if you look in ControlPanel/NetworkConnections in windows.
Since all except the last configuration didn't work, I have wireshark-monitored the DHCP communication with the Tellstick Net and have found a couple of problems which may cause it not to receive an IP adress (keeps the red light on).
This post is to give Telldus some information about the problem and to show people having problems (there are some posts in the Swedish forum) what could be the root cause.
The normal DHCP sequence is:
Client: DISCOVER (may contain a desired IP adress, normally the last one used)
Server: OFFER
Client: REQUEST
Server: ACK
Problem 1: The Tellstick sends its REQUEST, but exactly two seconds later, if it hasn't received any ACK, it sends a new DISCOVER and ignores the coming ACK. So if your DHCP server takes more than two seconds to respond, the Tellstick will never get any address. More than two seconds is not unusual, I think, because the server may ask on the network if there is any other node using that IP. My Win7 PC takes more than three seconds, for example, and I have heard others talk about five seconds. My conclusion is that the timeout is far too short.
Problem 2: The Tellstick includes a desired IP address in the DISCOVER message, which is fine. But if the server doesn't approove that address it may (according to wikipedia, and I may have seen the same thing in my router) silently drop the DISCOVER message and not respond. The client should then (again according to wikipedia) timeout and send a new DISCOVER without any desired IP adress. The Tellstick, however, keeps sending the same identical DISCOVER message over and over, possibly never getting any OFFER.
If there are other people with more DHCP knowledge out there, please add your comments.
Note that the red light is on also if the physical cable is not properly connected, so check that part first before you blame the DHCP. Unfortunately I don't know the best way to do that without using Wireshark, but you should see a difference if you look in ControlPanel/NetworkConnections in windows.