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

Add SSDP/NetBIOS/LLMNR #282

Closed
xoseperez opened this issue Nov 16, 2017 · 13 comments
Closed

Add SSDP/NetBIOS/LLMNR #282

xoseperez opened this issue Nov 16, 2017 · 13 comments
Assignees
Milestone

Comments

@xoseperez
Copy link
Owner

Originally reported by: Joe Biellik (Bitbucket: JoeBiellik, GitHub: JoeBiellik)


ESPurna supports MDNS which is useful but not supported on Windows without extra software. Adding support for NetBIOS and LLMNR would let users find the device natively in Windows and modern Linux distros.

SSDP support would also allow the device to show up under the network in Windows, but would also easily identify the device on most network equipment like routers.

@xoseperez
Copy link
Owner Author

Original comment by gimi87 (Bitbucket: gimi87, GitHub: gimi87):


Here is the code and example of SSDP which is working (already tested on my equipment). It is not the best due to the few "while" loops (for packet reception) which may delay other time-critical functions. But may be tested (i'm not the author).

esp8266/Arduino#2283 (comment)

@xoseperez
Copy link
Owner Author

I find LLMNR and SSDP as the most useful/interesting. Any reason to implement NetBios as well?

@xoseperez
Copy link
Owner Author

Original comment by Joe Biellik (Bitbucket: JoeBiellik, GitHub: JoeBiellik):


For desktops, LLMNR is supported on Windows from Vista onwards, and included in desktop linux distros using systemd. However on older versions of Windows, legacy (or server) Linux installs, embedded devices and even MacOS, NetBIOS is supported. Many older smart/IoT devices also often support mDNS with NetBIOS as a fallback.

LLMNR is much better than NetBIOS but I feel NetBIOS is worth includng as it provides total support for devices when combined with the other resolution protocols and is so trivial to impliment.

@xoseperez
Copy link
Owner Author

LLMNR and NetBIOS released with 1.10.0, but only when building it with Arduino Core 2.4.0 RC2, not available in the stable branch (yet)

@xoseperez
Copy link
Owner Author

Original comment by Joe Biellik (Bitbucket: JoeBiellik, GitHub: JoeBiellik):


Works well, thanks.

Any plans for SSDP?

@xoseperez
Copy link
Owner Author

Hopefully with the next release

@xoseperez
Copy link
Owner Author

Can someone test the preliminary SSDP support in dev branch? You must enable SSDP_SUPPORT in general.h first, compile and flash.

@xoseperez
Copy link
Owner Author

Released with 1.11.0. Untested and somewhat not very happy with the implementation. Will probably rework it. But I will appreciate it if someone can test it and report back.

@xoseperez
Copy link
Owner Author

Original comment by gimi87 (Bitbucket: gimi87, GitHub: gimi87):


I will test after new year when i will be at home :)

@xoseperez
Copy link
Owner Author

Original comment by chryss (Bitbucket: chryss, GitHub: chryss):


I can test SSDP but where i can find lib "libs/SSDPDevice.h" ?
Do you have repository link ?

@xoseperez
Copy link
Owner Author

It is in the repo, under the libs folder...

@xoseperez
Copy link
Owner Author

Final SSDP support will be released with 1.12.2

@xoseperez
Copy link
Owner Author

Current SSDP implementation is not compatible with fauxmoESP library used in ESPurna. I rather prefer to disable SSDP support by default at the moment. I'm opening a new issue to track this problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant