it was mentioned befire that Spark Core doesn’t support IPv6 due to some hardware limitations. It was never fully explained, but I guess main problem was not the wifi module itself, but the amount of rom and ram on the SoC itself to implement proper network stack and still leave space for user application code.
Now with Photon, I think it is worth asking again for IPv6 support.
IPv6 is crucial in enabling cross internet direct connection between devices. This is only way to support millions and billions of devices to cooperate with each other and other like smartphones, laptops, servers. It is impossible or financially viable for devices to be pulled every seconds from central serve. Not only it is slow, it will consume extreme amounts of resources (especially when you include stuff like authentication and encryption). High speed applications (like one Photon communicating something to another Photon with high rate, like 10 times per second) are simply impossible with cloud based solutions. It is also important for reliability, so interconected devices still work even when there is no access to external network or the cloud based systems are offline (we had many examples last years of various minor and major problems, proving that it would be good to be able to work without cloud in some situations).
IPv6 TCP/UDP/ICMP with all usual RA/RD stuff shouldn’t take more than 20KB of ROM space, especially when many things, like HTTP, TCP, UDP and other higher level stuff could be easily shared. There should be almost no RAM memory usage increase. The DNS resolver and other stuff should see no big differences. In case of IPv6-only stack, the memory usage could even decrease, as most likely DHCP client could be just removed.
Things like multicasting or IP mobility are not really necassary in first iteration.
Considering the ROM size increased from 128KB to 1024KB that should be very easy to implement (from the resource point of view).
I am considering buying 10 or even 20 Photons for my own various projects, but without IPv6, I am really not that excited by new hardware.
In many embedded cases the IP stack is burned into the chip and many IPv4-only chips are still being produced. That said, I pulled the datasheet for the chip on the Photon and discovered it does have IPv6 capability. http://community.broadcom.com/docs/DOC-1513
So long as the Spark OS can leverage these capabilities, we’re good.
I have a strict policy of not buying any new Internet connected devices that do not support IPv6. Will Spark be taking my money?
If it’s in the module, I don’t see why we wouldn’t support it! I’ll bug the firmware guys and make sure it’s on their radar. – It’d be pretty hard to talk to millions of connected things without ipv6
@nivex@mkomon@baryluk
I am not to sure that we will see IP V6 support. In the absence of specific details from Spark I have done some homework and made a couple of assumptions, yes dangerous I know.
What we do know is that the Photon/P0/P1 will be based on the USI WM-N-BM-09/14 module(s) and that these modules use the BCM43362 WiFi module. By default these module come with Broadcom Wiced support that offers 3 RTOS/IP stack combinations. The latest verion 3.1.2 (Feb 2015) is still based on FreeRTOS 7.5.2 (latest is 8.2.1) and lwIP 1.4.0rc1
Of the 3 RTOS/IP stack combinations 1 is based on FreeRTOS using LwIP with IPv4 OR IPv6 (experimental) and not dual v4/v6 stack support. The other 2 RTOS options are based on commercial ThreadX/NetX products, 1 with IPv4 and the other with IPv6 support.
Since Spark has already publicly stated that they will be using FreeRTOS I think it is safe to assume that they will be using lwIP as the IPv4 stack (IPv6 support still under development). If not, the next low cost alternative for FreeRTOS will most probably be the upcoming FreeRTOS+TCP, but this also currently only offers IPv4 support, with no announced plans (that I can find) for IPv6.
So, based on the above, I think the chances are reasonably small of seeing IPv6 support within the Spark Photon/Cloud environment, at least until Broadcom can be convinced to upgrade to latest FreeRTOS and lwIP versions.
Sad, but most probably true… @dave can maybe provide us with more (and hopefully better) feedback…
@Dave, could you say anything about the time-frame for your road-map?
I am starting to develop a system using the Photon, but if the iPv6 support is not available for months, I need to reconsider which product I will use. My plan is to use the Photon together with the Bluz chip, and that does support IPv6.
like @Finnsen, I must have IPV6 for my next development project. Is there any timeline? This feature is really a must have for this project (all the network is in IPV6 and we can’t change it) and if there is no support planned I will have to change platform.
So IPv6 got punted for Electron. I can respect that decision, but I hope Particle will make it a new years resolution to implement IPv6 Post Haste and not punt it again in favor of some other new product.