Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DHCP Transaction Id not random #3773

Closed
ghost opened this issue Oct 29, 2017 · 7 comments
Closed

DHCP Transaction Id not random #3773

ghost opened this issue Oct 29, 2017 · 7 comments
Labels
waiting for feedback Waiting on additional info. If it's not received, the issue may be closed.

Comments

@ghost
Copy link

ghost commented Oct 29, 2017

----------------------------- Remove above -----------------------------

Basic Infos

Hardware

Hardware: ESP-12E
Core Version: 2.4.0-rc1

Description

The DHCP Transaction Id generated by the ESP8266es does not seem to be random - as required by rfc2131. That generates strange connection issues when multiple ESP8266es are speaking with the same DHCP Server. The ESP seems always to start with the transaction ID 0xabcd0001 - and only later seems to be counting up the ID. The correct behaviour would be always to use random Ids - or at least as the initial value.

Depending on the implementation. the server may ignore the dhcp request (because for the server, the transaction may be in another state and the request may be invalid).

For the ESP users, this shows as stange connection/reonnection issues.

@devyte
Copy link
Collaborator

devyte commented Oct 29, 2017

@TylerDurden23 do you have a wireshark dump or something else that shows this?
Does #3362 help?

@ghost
Copy link
Author

ghost commented Oct 29, 2017

image

@devyte devyte added the waiting for feedback Waiting on additional info. If it's not received, the issue may be closed. label Oct 31, 2017
@devyte
Copy link
Collaborator

devyte commented Nov 3, 2017

@TylerDurden23 lwip2 is now merged, it can be selected from the Arduino IDE menu. Does using it help?

@ghost
Copy link
Author

ghost commented Nov 3, 2017

Is this version available via Boardmanager?

@devyte
Copy link
Collaborator

devyte commented Nov 3, 2017

You have to uninstall any version you have installed via boardmanager, and install git (instructions are on readthedocs). Then restart the Arduino IDE, and you should see the option for lwip in the menu.
Be aware that the ESPAsync libs don't yet build with lwip2, in case you're using them.

@ghost
Copy link
Author

ghost commented Nov 3, 2017

@devyte The DHCP request id Looks random now - my project uses the pubsub library - that does not seem to work (async issue most likely).

Regards.

@devyte
Copy link
Collaborator

devyte commented Nov 15, 2017

Given that the original issue seems fixed with lwip2, I'm closing.
I understand that pubsub is a 3rd party lib. If it shows a problem, please open a new issue, and fill in the fields. Please be aware that in that case the problem should be narrowed down to relevant code in this repo, so most likely you will need help from pubsub's author first.

@devyte devyte closed this as completed Nov 15, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
waiting for feedback Waiting on additional info. If it's not received, the issue may be closed.
Projects
None yet
Development

No branches or pull requests

1 participant