Netduino home hardware projects downloads community

Jump to content


Photo

Netduino.IP Firmware v1.0.1 (for Netduino Plus 2)


  • Please log in to reply
10 replies to this topic

#1 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 18 September 2015 - 07:03 AM

I have attached Netduino.IP v1.0.1 firmware (i.e. Netduino Plus 2 v4.3.2.3 firmware).

This network stack is shiny and new. If you run into any issues, please post here and we can address them individually.

Netduino.IP is designed for backwards-compatibility with existing NETMF code. To use Netduino.IP, simply write your code using the standard System.Net.Sockets classes, HttpWebRequest, etc.

This build includes the following features:
  • Bugfix: DNS queries now fail over to secondary servers.
  • Bugfix: Empty list of DNS servers now work with MFDeploy.
  • Bugfix: DHCP maximum message length option (DHCP option 57) corrected.
I have attached a sample project which requests the Netduino homepage and also retrieves the current time from an Internet time server.

The main goals for Netduino.IP (for Ethernet) v1.0 are reliability and protocol compliance. As we move forward we can focus in on performance enhancements, potential support for additional IP protocols/features, etc.

Thank you for taking the time to help us test out Netduino.IP!

Chris

P.S. Netduino.IP source code has been checked into the Netduino repository at GitHub.
https://github.com/n...ino/Netduino.IP

Attached Files



#2 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 18 September 2015 - 07:06 AM

P.S.

One of the really awesome things about having a managed code networking stack is that you can actually debug and modify it directly from Visual Studio (added to your existing Visual Studio solution).

I have attached Netduino.IP v1.0 DEBUG firmware. This firmware includes all the Netduino.IP basics--but does not include the Netduino.IP and device-specific driver in the firmware.

To debug/modify Netduino.IP:
1. Flash the attached firmware to your Netduino (with on-board Ethernet port).
2. Grab the Netduino.IP assembly source along with the appropriate Netduino.IP network driver for your mainboard:
ENC28J60 (Netduino Plus 2) or AX88796C (next-generation).
3. Add the two downloaded Netduino.IP projects to your solution.
4. In the Netduino.IP project's properties, go to the Build tab and make sure that the conditional compilation symbol NETDUINOIP_ENC28J60 or NETDUINOIP_AX88796C (but not both) is included for your board.
5. Add the two downloaded Netduino.IP projects as references in your solution's main project.

Then just deploy and debug! Breakpoints, step-by-step debugging, etc. will all work!

Chris

P.S. You can download the latest Netduino.IP source code from GitHub. Just click "Download ZIP".

Attached Files



#3 Gigios

Gigios

    Member

  • Members
  • PipPip
  • 13 posts
  • LocationItaly

Posted 19 September 2015 - 09:57 AM

I had upgraded my NP2 without problems but now I'm not able to load my previous project because I receive this error when try to run the program:

Found debugger!
Create TS.
 Loading start at 8059abc, end 8083c1c
Assembly: mscorlib (4.3.1.0)
Assembly: Microsoft.SPOT.Native (4.3.1.0)
Assembly: Microsoft.SPOT.Hardware (4.3.1.0)
Assembly: Microsoft.SPOT.Net (4.3.1.0)
Assembly: Microsoft.SPOT.Net.Security (4.3.1.0)
Assembly: System (4.3.1.0)
Assembly: System.Net.Security (4.3.1.0)
Assembly: Microsoft.SPOT.Hardware.SerialPort (4.3.1.0)
Assembly: Microsoft.SPOT.IO (4.3.1.0)
Assembly: System.IO (4.3.1.0)
Assembly: Microsoft.SPOT.Hardware.PWM (4.3.1.0)
Assembly: Microsoft.SPOT.Hardware.Usb (4.3.1.0)
Assembly: Netduino.IP (1.0.1.0)
Assembly: Netduino.IP.Interop (1.0.0.0)
Assembly: Netduino.IP.LinkLayers.ENC28J60 (1.0.0.0)
Assembly: SecretLabs.NETMF.Diagnostics (4.3.1.0)
Assembly: GoBus (1.5.0.0)
Assembly: SecretLabs.NETMF.Hardware.Netduino (4.3.1.0)
Assembly: Microsoft.SPOT.Hardware.OneWire (4.3.1.0)
Loading Deployment Assemblies.
Attaching deployed file.
Assembly: System.Http (4.3.1.0)
Attaching deployed file.
Assembly: MQTT (1.0.0.0)
Attaching deployed file.
Assembly: System.Ftp (4.3.1.0)
Attaching deployed file.
Assembly: NetduinoExtensions (4.3.2.1)
Attaching deployed file.
Assembly: SecretLabs.NETMF.Hardware (4.3.1.0)
Resolving.

Link failure: some assembly references cannot be resolved!!
Assembly: MQTT (1.0.0.0) needs assembly 'NetduinoExtensions' (4.3.2.1)
Assembly: NetduinoExtensions (4.3.2.1) needs assembly 'Netduino.IP' (1.0.0.0)
Error: a3000000

Waiting for debug commands...
The program '[5] Micro Framework application: Managed' has exited with code 0 (0x0).
 

Seems that the NetduinoExtensions is able to use only the specific version 1.0.0.0 and not the new one.

 

For the moment I can remove the NetduinoExtensions (and the instruction:

System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())

in this way I'm able to load the program, the next step is to change the check of the available network in the same way used in your sample NetduinoIP_StackTests.zip



#4 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 19 September 2015 - 05:28 PM

Hi Gigios,

NetduinoExtensions was designed primarily for the Wi-Fi board. Are you using the same project for both the Ethernet board and the Wi-Fi board?

Can you please post an issue on this over at the Netduino.IP repository? We should be able to both update NetduinoExtensions and ensure its cross-hardware compatibility.
https://github.com/n...duino.IP/issues

Thanks Gigios,

Chris

#5 Gigios

Gigios

    Member

  • Members
  • PipPip
  • 13 posts
  • LocationItaly

Posted 19 September 2015 - 07:42 PM

Hi Gigios,

NetduinoExtensions was designed primarily for the Wi-Fi board. Are you using the same project for both the Ethernet board and the Wi-Fi board?

Can you please post an issue on this over at the Netduino.IP repository? We should be able to both update NetduinoExtensions and ensure its cross-hardware compatibility.
https://github.com/n...duino.IP/issues

Thanks Gigios,

Chris

 

Hi Chris,

Yes, I'm using the same project for a N3 wifi and on a NP2.

I will post the issue on the repository :)

 

Regards



#6 per123

per123

    Member

  • Members
  • PipPip
  • 12 posts

Posted 21 September 2015 - 11:02 AM

I have got the same problem with both firmware 4.3.2.1 and firmware 4.3.2.3 on my Netduino Plus 2.

 

Link failure:some assembly references cannot be resolved!!

Assembly: NetduinoExtensions (4.3.2.1) needs assembly 'NetduinpIP' (1.0.0.0)

 

error: a3000000

 

regards Per

 

 



#7 clefranc

clefranc

    Member

  • Members
  • PipPip
  • 16 posts

Posted 22 September 2015 - 07:26 AM

Hi,

Just installed this new firmware on my NP2, got an IP address by DHCP, but failed to update clock with TimeService. Is there a workaround?

 

Thanks

 

Christian



#8 NameOfTheDragon

NameOfTheDragon

    Advanced Member

  • Members
  • PipPipPip
  • 112 posts
  • LocationCanterbury, Kent, UK

Posted 18 October 2015 - 05:35 PM

As I have commented on the GitHub issue #1, getting DNS servers from DHCP is not fixed. In my tests, any attempt to read the DnsAddresses property throws a NullReferenceException if DHCP is enabled in MFDeploy. Could you please re-open the issue on GitHub?

--Tim Long



#9 NameOfTheDragon

NameOfTheDragon

    Advanced Member

  • Members
  • PipPipPip
  • 112 posts
  • LocationCanterbury, Kent, UK

Posted 18 October 2015 - 05:55 PM

As a workaround to the above issue, in MFDeploy, select the option to Use the following DNS server addresses, then set both servers to 0.0.0.0. The network stack will then see that you haven't specified any DNS servers and will fall back to using the ones obtained from DHCP.

 

Note that the IP address must have also been obtained from DHCP for this to work. The NetworkInterface.DnsAddresses property will return an empty array, so you will not be able to determine the server addresses in code.

 

Currently, as of Netduino.IP 1.0.1, any attempt to use Obtain DNS server addresses automatically in MFDeploy will cause your code to fail and will throw a NullReferenceException if you attempt to read the NetworkInterface.DnsAddresses property.

 

Clearly, something is still very broken here.



#10 JoopC

JoopC

    Advanced Member

  • Members
  • PipPipPip
  • 148 posts

Posted 19 October 2015 - 06:12 AM

I have reported from day 1 that DHCP is not working for me.
I have reported from day 1 that socket.Poll is not working for me.

before I report the issue is checked, checked and double checked!

#11 NameOfTheDragon

NameOfTheDragon

    Advanced Member

  • Members
  • PipPipPip
  • 112 posts
  • LocationCanterbury, Kent, UK

Posted 19 October 2015 - 04:23 PM

There's reporting and there's reporting. I can't find your reports in the forums anywhere. If you are certain you've found a bug, I would suggest opening an issue against the GitHub repository, as I did with the DHCP issues. Before doing that though, you need to be pretty sure of your facts and have a method to reproduce the problem.

 

I've found the sockets interface to be pretty obscure and it's not obvious how things are supposed to work a lot of the time. I've been using Socket.Poll in my own code and it seems to work OK, but it took a lot of digging to work out how to do what I wanted. It might be an idea to post your non-working code and ask for people to suggest why it might not be working before assuming its a bug.

 

--Tim






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.