-
Notifications
You must be signed in to change notification settings - Fork 4.9k
IPv6 Support? #2521
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
Comments
Last I checked, the upstream libraries didn't support IPv6 yet: esp8266/Arduino#638 |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
This issue will be auto-closed because there hasn't been any activity for a few months. Feel free to open a new one if you still experience this problem. |
Check again esp8266/Arduino#638 |
Ardui core now supports IPv6 : esp8266/Arduino#5136 can we re-open thins one ? |
No because it is already implemented in Tasmota. You have to compile by yourself enabling IPV6 support in platformio.ini If you need further assistant, please, do not hesitate on asking on the Support Chat. Thanks. |
Hi @ascillato , thank you for your quick answer. |
my bad , it looks like related to this:
|
yes, exactly. If you need help on using those, you can use the support chat if you want. |
Anyway, as the comment explains, it is experimental because the support is on the Arduino Core. You should use the stage core that have several fixes for that, but still experimental. Use it, if you really need ipv6 in your local network. ipv4 for a local network is reliable and works for all usecases. |
Hello, But it fails to work on a NODEMCU V3 board. So somehow IPV6 is mentioned but for it looks like I miss some build-parameters. Has anyone compiled TASMOTA with IPV6 and can give dedicated hints what settings in platformio.iniare necessary? Kai |
Hi,
no, you didn't miss a build-parameter. Just did a build on my own
including #pragma message to see if #ifdef LWIP_IPV6 is set. And yes, it
is but the startup seems to be messed up. Normaly IPv6 was DualStack and
you should get at least an IPv4 address but now there is no address at
all. I have to admit that this code was implemented in october 2019 and
since then I didn't check this part. There where a lot of changes
(including ESP32 support) since then. First step is to check
https://github.com./esp8266/Arduino/tree/master/libraries/ESP8266WiFi/examples/IPv6/IPv6.ino
what is the example code of the arduino framework. If this works it
needs some digging into the current tasmota code...can't promise to find
some time, soon.
Greetings,
Altelch.
LWIP_IPV6
Am 23.09.2020 um 16:24 schrieb freifunkerffm:
…
Hello,
from the post above I understand that TASMOTA is supporting IPV6 in
general.
I have already a working platformio-core setuo where I can compile
TASMOTA with different features with success!
But I fail with IPV6 :-/
In platformio.ini I have set:
; lwIP 2 - Higher Bandwidth IPv6 (use ONLY if you need IPv6,
experimental!)
-DPIO_FRAMEWORK_ARDUINO_LWIP2_IPV6_HIGHER_BANDWIDTH
But it fails to work on a NODEMCU V3 board.
The serial-log from the device shows:
00:00:00 CFG: aus Flash geladen am F4, zählen 8
00:00:00 QPC: Count 1
00:00:00 Projekt tasmota Tasmota Version 8.5.0.1(tasmota)-2_7_4_1
00:00:00 HTP: Web-Server aktiv bei tasmota_40FABB-6843 mit IP-Adresse
(IP unset)
00:00:01 RSL: tele/tasmota_40FABB/INFO1 = {"Module":"Sonoff
Basic","Version":"8.5.0.1(tasmota)","FallbackTopic":"cmnd/DVES_40FABB_fb/","GroupTopic":"cmnd/tasmotas/"}
00:00:01 RSL: tele/tasmota_40FABB/INFO2 =
{"WebServerMode":"Admin","Hostname":"tasmota_40FABB-6843","IPAddress":"(IP
unset)","IPv6Address":""}
00:00:01 RSL: tele/tasmota_40FABB/INFO3 =
{"RestartReason":"Software/System restart"}
00:00:01 RSL: stat/tasmota_40FABB/RESULT = {"POWER":"OFF"}
00:00:01 RSL: stat/tasmota_40FABB/POWER = OFF
00:00:01 RSL: homeassistant/discovery/807D3A40FABB/config = {"ip":"(IP
unset)","dn":"Tasmota","fn":["Tasmota",null,null,null,null,null,null,null],"hn":"tasmota_40FABB-6843","mac":"807D3A40FABB","md":"Sonoff
Basic","ofln":"Offline","onln":"Online","state":["OFF","ON","TOGGLE","HOLD"],"sw":"8.5.0.1","t":"tasmota_40FABB","ft":"%prefix%/%topic%/","tp":["cmnd","stat","tele"],"rl":[1,0,0,0,0,0,0,0],"swc":[-1,-1,-1,-1,-1,-1,-1,-1],"btn":[1,0,0,0],"so":{"11":0,"13":0,"17":0,"20":0,"30":0,"37":1,"68":0,"73":0,"80":0},"lt_st":0,"ver":1}
00:00:05 RSL: tele/tasmota_40FABB/STATE =
{"Time":"1970-01-01T00:00:05","Uptime":"0T00:00:07","UptimeSec":7,"Heap":27,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":8,"MqttCount":0,"POWER":"OFF","Wifi":{"AP":1,"SSId":"lalala.net","BSSId":"FF:FF:FF:FF:FF:FF","Channel":1,"RSSI":100,"Signal":31,"LinkCount":1,"Downtime":"0T00:00:01"}}
00:00:06 QPC: Reset
So somehow IPV6 is mentioned but for it looks like I miss some
buld-parameters.
The documentation on having TASMOTA IP6 is quite weak.
Has anyone compiled TASMOTA with IPV6 and can give dedicated hints
what settings in platformio.iniare necessary?
I am also curious if ESP-8266 is then turned into a single IPV6 stack
or into a dual stack (IP4/IP6) device?
Kai
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#2521 (comment)>,
or unsubscribe
<https://github.com./notifications/unsubscribe-auth/AATUA4NFDCZP2AT6KTXXN33SHIAIPANCNFSM4E33KYZQ>.
|
That example will work ;-) |
Ok,
I'll trust you ;-) Then I need to find what's got messed up and when...
Thx,
Altelch.
Am 23.09.2020 um 18:46 schrieb david gauchard:
…
That example will work ;-)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#2521 (comment)>,
or unsubscribe
<https://github.com./notifications/unsubscribe-auth/AATUA4JWALBLLDIZOH6LMXLSHIQ5FANCNFSM4E33KYZQ>.
|
Hi, IPv6 works with 8.5.0. Somehow platformio.ini isn't evaluated after changing DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH to DPIO_FRAMEWORK_ARDUINO_LWIP2_IPV6_HIGHER_BANDWIDTH Did also put a Greetings,
|
Hello Heiko, I pushed the bin via tasmotizer to the NodeMCU V3 board and got: I noticed a new WLAN named ESP-40FABB I could join and found at 192.168.4.1 a new tasmota device to configure. 00:00:00 CFG: aus Flash geladen am F6, zählen 6 After this the ESP-40FABB WIFI is not gone, but the ESP8266 detects the W-Lan Network. Kai |
Hi all, And compiled a pure tasmota with: "platformio run -e tasmota" CFG: Loaded from flash at F8, Count 4 So sorry I am not able to confirm that IPV6 is working on a TASMOTA device. Kai |
Another year went by and my tasmota devices still has no IPv6 support by default. It is still needed to compile tasmota by hand to enable that feature? |
AFAIK, even by compiling with either hand or feet you won't get IPv6 running on Tasmota. |
There are so many places where public ipv4 address is not provided by ISP due to the use of CGNAT, so in those circumstances, ipv6 is too much useful. So many people will get benefited if Tasmota Support ipv6. Especially who are ardent in using Tasmota Not sure if this link helps anyway |
I run Tasmota on a S31 w/ IPv6 enabled. It works. I give it an address via SLAAC. Thanks! |
Honestly you don't need to fish for NAT or IPv4 shortage reasons to support IPv6. It's the current version of the internet protocol and it is at this point over 20 years old. By not enabling it by default your basically building legacy systems. So I think this ticket should be reopened. IPv6 support is still not enabled by default. I would rather use something that lacks IPv4 support than something without IPv6. |
I would like an IPv6-only option even more than dual stack. |
There is no plan for IPv6-only option in Tasmota. Why would you even want to not support IPv4 ? |
Let me rephrase: IPv4 should be nothing more then a fallback. A widely used one for now. But hopefully things will finally change. |
Will there be ipv6 full support? Dual stack, with dhcpv6 and slaac? It's availiable in the esp-idf, so hopefullt soon in tasmota |
As Tasmota is designed for internal networks, not the big bad Internet, the "real benefit" of IPv6 would be marginal at best. I certainly have no scarcity of IP addresses within the reserved ranges. |
Hi tested and look like same behaviour now as the esp8266. MQTT is fixed and routing works. What I noticed , as well on the esp8266 and esp32, your first have to place them in same subnet, than set mqtt to ipv6 , and that change to other subnet, and than it works. I will test later this week on flashing some more devices with this build on the esp8266 and esp32. Tests results now on ESP32 (flashed 2 devices) On same subnet (mqtt / tasmota / laptop)
On other subnet (mqtt / tasmota / laptop)
|
I don't think support for DHCPv6 is that important. Sure it should be implemented eventually, but I bet a fairly large amount of networks is going to work without that, too, as Android is also not supporting DHCPv6 due to a stupid design choice. Though, it'd be cool to get DNS AAAA requests to work so you could for example connect to an IPv6-only MQTT broker or syslog server without having to hardcode an IP. EDIT: Haven't been able to test the current builds yet, but thanks for all your work on updating Tasmota for IPv6! EDIT 2: Has connecting to an IPv6-only OTA update server and/or an IPv6-only syslog server been tested yet? If not then I'll try doing that when I finally get to flashing that beta onto one of my devices. EDIT 3: What about multiple prefixes, like one global prefix and a ULA? Has that been tested? |
@s-hadinger , compilation for tasmota32 is ok, but for the tastmoa32solo1 it fails
|
IPv6 only OTA doesn't work for now because the safeboot partition doesn't support IPv6. We haven't decided yet if we include IPv6 in safeboot nor have identified the code size increase. Syslog on IPv6 address should work but was not tested. I doubt multiple prefixes nor ULA are supported by esp-idf. Anyways the underlying lib has a hard limit for 3 IPv6 addresses per interface: 1/ Local-link 2/ Global 3/ ???. |
I suppose that it's because the Arduino/esp-idf lib is different from the Esp32 and does not yet include the IPv6 code. @Jason2866 |
As expected, since solo1 is an extra different framework. There is no IPv6 version (yet). |
@kroon040
EDIT: Correct file where to place. |
I added this , but it fails . Must there be something more and define? I have this now in user_config_override.h
|
It compiles and the ipv6 works also now on de esp32-solo1 |
Latest development has now in |
Hi all, IPv6 is progressing well. I have a working version of Ping for IPv6 (ICMP6) and a version of DNS resolver for IPv6 addresses (AAAA records) with the possibility to choose whether v4 or v6 has priority. I still have an issue with Ethernet dns resolver so it's not quite ready for release. Stay tuned |
@Jason2866 |
@kroon040 For esp8266 there is no different framework needed. The used one is IPv6 ready. Just needs to be enabled with |
With the latest PR, preliminary work for ipv6 is complete. Now dns works for AAAA records and ping works for ipv6 (ICMP6) For DNS, in case of dual stack, ipv4 is prioritized unless you set Please note that IPv6 only networks are not yet supported and yield to a crash after some time. Please report any issue. I will also start a ipv6 page in the doc. |
For example, on a network with both v4 and v6 addresses:
On the first call |
For all ESP32x builds IPv6 support is now enabled with latest commit (Core 2.0.5.4). |
There is now a documentation page dedicated to IPv6: https://tasmota.github.io/docs/IPv6/ |
Closing this issue for now. Please reopen a new one if a problem is discovered. |
Hi, I took the latest development todat and tried IPv6 with the esp8266. Changed the platformio.ini and add in the user_config_override.h #define USE_IPV6 When compiling I get this error?
|
The location of the caret makes me suspect that the blank after |
Yes that was the problem, now it compiles . |
Don't I have to put it any more for the esp8266 in the user_config_override.h? It looks like also for the esp8266 its enabled by default??? It compiles but get these warnings.
|
Yes, it is now in Platformio.ini as define. It is here https://github.com./arendst/Tasmota/blob/development/platformio.ini#L102 |
We have enabled RDNSS on esp32 to discover DNS servers on Ipv6. This is not enabled on esp8266 and would require a specific build of esp-idf. I was too lazy to try. If you are interested though |
The Internet Protocol version 6 was designed 20 years ago. Unfortunately many devices (including virtually all IoT devices) still do not support it. IPv4 addresses are getting extremely scarce these days and many ISPs no longer allocate public IPv4 addresses for their customers (Carrier grade NAT) which is already causing connectivity issues for many people including myself. Therefore we should all strive for 100% IPv6 support.
Would it be possible to implement IPv6 on Sonoff devices or is there anything in particular that stands in the way?
The text was updated successfully, but these errors were encountered: