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

IPv6 Support #638

Closed
owendelong opened this Issue Jul 31, 2015 · 33 comments

Comments

Projects
None yet
@owendelong
Copy link

owendelong commented Jul 31, 2015

Currently the entire ESP8266 implementation is IPv4 monastack. It would be nice to be able to choose (through compile-time directives or other mechanism) IPv4, IPv6, or IPv4v6 dual stack.

The lack of IPv6 support is already proving a hinderance in some environments where I work and I can only imagine that this will get worse as we go forward. The ARIN free pool is down to fewer than 256 /24 prefixes. Less than 65,000 total available IPv4 addresses for all of north america.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@miky2k

This comment has been minimized.

Copy link

miky2k commented Jul 31, 2015

I suppose that it depend from expressif OS and not from arduino wrapper.

@owendelong

This comment has been minimized.

Copy link
Author

owendelong commented Aug 20, 2015

Perhaps, but I'm betting if the Arduino community as a whole started pushing for this, Espressif would be more likely to listen than to just me. I've also put this forward with them as well.

@igrr

This comment has been minimized.

Copy link
Member

igrr commented Aug 20, 2015

For the record, they have already released lwIP source code for 1.3.0 SDK.

On Thu, Aug 20, 2015, 05:54 owendelong notifications@github.com wrote:

Perhaps, but I'm betting if the Arduino community as a whole started
pushing for this, Espressif would be more likely to listen than to just me.
I've also put this forward with them as well.


Reply to this email directly or view it on GitHub
#638 (comment).

@mst78

This comment has been minimized.

Copy link

mst78 commented Dec 15, 2015

There seems to be IPV6 support in the espressif RTOS SDK1.3:
http://bbs.espressif.com/viewtopic.php?t=619#p4444

@igrr: Is it possible to integrate IPV6 now? Do you have any plans of doing it?

@ccoenen

This comment has been minimized.

Copy link

ccoenen commented Jan 7, 2016

I'm interested in IPv6 support, as well!

@Toshik

This comment has been minimized.

Copy link
Contributor

Toshik commented Feb 19, 2016

Any news on IPv6?

@Skeen

This comment has been minimized.

Copy link

Skeen commented Mar 29, 2016

+1 for IPv6

@kaeferfreund

This comment has been minimized.

Copy link

kaeferfreund commented Mar 29, 2016

+1

@igrr

This comment has been minimized.

Copy link
Member

igrr commented Mar 29, 2016

IPv6 support isn't present in the non-OS SDK, which is used by this project.
RTOS SDK, on the other hand, has IPv6. An Arduino core for the ESP8266/ESP32 based on RTOS SDK will be released as a separate project.

@mst78

This comment has been minimized.

Copy link

mst78 commented May 7, 2016

Igrr, do you have any idea when the first version of Arduino core for the ESP8266/ESP32 based on RTOS SDK will be available?
Have you already started working on it?

@igrr

This comment has been minimized.

Copy link
Member

igrr commented May 7, 2016

Yes, i was in fact working on things related to IPv6 support in ESP32 Arduino core yesterday :)
I can't give you any concrete date unfortunately. It's going to be available within next two months, this is somewhat gated by the release of new SDK version.

For now, there is a publicly available ESP32 core by @me-no-dev. It has partial IPv6 support. LwIP stack has support for IPv6, but it is not complete (missing IPv6 support in DNS client, for instance). On the Arduino side of things, IPAddress class in this core also doesn't support IPv6 addresses.

@MyIgel

This comment has been minimized.

Copy link

MyIgel commented Sep 29, 2016

@igrr Any updates?

@igrr

This comment has been minimized.

Copy link
Member

igrr commented Sep 29, 2016

Regarding ipv6 for the 8266 non-OS SDK, I don't have any updates.

@FlorianHeigl

This comment has been minimized.

Copy link

FlorianHeigl commented Nov 28, 2016

ping, ipv4 is deprecated!
I was just checking this to install a few dozen ESP at a conference as a demo.
it's unlikely they still support ipv4. it's simply over.
is this something you do at work? can you tell your boss this actually matters so he can get you more support?
If it's just out of your free time and energy, then don't worry! :)

@kohlsalem

This comment has been minimized.

Copy link

kohlsalem commented Dec 21, 2016

+1 and quite surprised to see a product so recent w/o ipv6

@jbtrystram

This comment has been minimized.

Copy link

jbtrystram commented Jan 4, 2017

+1 :)

@itavero

This comment has been minimized.

Copy link

itavero commented Jan 6, 2017

Has anyone looked at integrating picoTCP?
I'm pretty sure they have had IPv6 support for a while now.
https://github.com/tass-belgium/picotcp

@MatthiasLohr

This comment has been minimized.

Copy link

MatthiasLohr commented Jun 20, 2017

Anything new about this topic? I' interested in IPv6, too...

@ttytyper

This comment has been minimized.

Copy link

ttytyper commented Jul 29, 2017

In case nobody has noticed, there's a $30 bounty on this issue: https://www.bountysource.com/issues/25224540-ipv6-support/backers

@FlorianHeigl

This comment has been minimized.

Copy link

FlorianHeigl commented Jul 29, 2017

Do you think the bounty will help? just wondering since there's no reply here ever since...
Would not mind throwing more at it. I bet most of us would do that.

@krmax44

This comment has been minimized.

Copy link

krmax44 commented Dec 29, 2017

Has there been any progress since then? IPv6 is a very important thing in the IOT world.

@d-a-v

This comment has been minimized.

Copy link
Collaborator

d-a-v commented Dec 30, 2017

Doable. At least tryable. Buy me time, here are some hints. core-2.4.0 has first to happen though ;)

@devyte

This comment has been minimized.

Copy link
Collaborator

devyte commented Dec 30, 2017

The precursor was migrating to lwip2, and that is in. Now it just needs to be stabilized. After that, the glue layer between the core and lwip needs some changes. After that, our socket layer needs to get support. After that, the rest of the core and libs.
It will take a (long) while, but now at least it's possible.

@FlorianHeigl

This comment has been minimized.

Copy link

FlorianHeigl commented Dec 31, 2017

Thank you @d-a-v and @devyte for giving outsiders some insight and also for having it on your mind, and for all that you did towards it. seems a lot of pieces need to be moved :)

@devyte devyte added this to the 3.0.0 milestone Jan 7, 2018

@d-a-v

This comment has been minimized.

Copy link
Collaborator

d-a-v commented Sep 14, 2018

#5136

@C0rn3j

This comment has been minimized.

Copy link

C0rn3j commented Sep 14, 2018

Just decided to check up on this for the first time and I see a PR 2 hours ago... great job!

@d-a-v

This comment has been minimized.

Copy link
Collaborator

d-a-v commented Sep 19, 2018

Ready to test, beta state, feedback welcome

@C0rn3j

This comment has been minimized.

Copy link

C0rn3j commented Sep 19, 2018

@d-a-v would love to test but failing to find the "Arduino application directory" on Arch Linux (Arduino 1.8.5). (Trying to follow this https://github.com/esp8266/Arduino#using-git-version )

Seems like the esp8266 package, when installed through the IDE, installs under ~/.arduino15, but libraries like IRremoteESP8266 install under ~/Arduino.

I've tried installing it under the already-installed esp8266 folder and that broke my setup, so that was a bad guess.

Would you have an idea where exactly this folder would be under Linux?

@herrold

This comment has been minimized.

Copy link
Contributor

herrold commented Sep 19, 2018

@C0rn3j Your question really seems like something to answer by reviewing how Arch has packaged it, and then to solve the 'wrong' directory issue for libraries with a symlink

still packaging into ~/.auduino15/ for the base IDE seems ... very stale

@C0rn3j

This comment has been minimized.

Copy link

C0rn3j commented Sep 19, 2018

@herrold Oh right, thanks, I read the package files and it's in /usr/share/arduino (I guess I could have just looked where the executable is pointing to).

@d-a-v I cloned the git master and pulled your changes as per your OP in the PR and I got this when trying to compile my project.

Build options changed, rebuilding all
In file included from /usr/share/arduino/hardware/esp8266com/esp8266/tools/sdk/lwip2/include/lwip/memp.h:58:0,
                 from /usr/share/arduino/hardware/esp8266com/esp8266/tools/sdk/lwip2/include/lwip/stats.h:43,
                 from /usr/share/arduino/hardware/esp8266com/esp8266/tools/sdk/lwip2/include/lwip/netif.h:50,
                 from /usr/share/arduino/hardware/esp8266com/esp8266/tools/sdk/lwip2/include/lwip/ip.h:46,
                 from /usr/share/arduino/hardware/esp8266com/esp8266/libraries/ESP8266WiFi/src/WiFiClient.cpp:37:
/usr/share/arduino/hardware/esp8266com/esp8266/tools/sdk/lwip2/include/lwip/priv/memp_priv.h:48:32: fatal error: lwip/priv/mem_priv.h: No such file or directory
 #include "lwip/priv/mem_priv.h"
                                ^
compilation terminated.
exit status 1
Error compiling for board NodeMCU 1.0 (ESP-12E Module).

It builds when I checkout back to master.

@d-a-v

This comment has been minimized.

Copy link
Collaborator

d-a-v commented Sep 19, 2018

@C0rn3j sorry about that. The PR is updated

@earlephilhower

This comment has been minimized.

Copy link
Collaborator

earlephilhower commented Jan 16, 2019

Closing as fixed by #5136

@ttytyper

This comment has been minimized.

Copy link

ttytyper commented Jan 17, 2019

Don't forget to claim the bounty :)
https://www.bountysource.com/issues/25224540-ipv6-support

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.