FNET - TCP/IP Stack

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FNET - TCP/IP Stack

44,786 Views
butok
NXP Employee
NXP Employee

FNET TCP/IP stack: Version 0.5.0 released. 
 

FNET Home page: http://fnet.sourceforge.net/

    Please, submit your feature requests and feedbacks here:

    http://sourceforge.net/tracker/?group_id=253892&atid=1126921 

    Please, submit your bug reports here:

    http://sourceforge.net/tracker/?group_id=253892&atid=1126920

 

FNET brief information:
The FNET is a free, open source software project (under GNU GPLv3) for building embedded communication software using the Freescale processors.

 

The stack provides following protocols and services:
  * Supported platforms:
     - Reindeer - MCF5282 (M5282EVB).
     - Kirin2 - MCF52235 (M2235EVB).
     - Kirin3 - MCF52259 (M2259EVB).
     - Lasko - MCF51CN128 (TWR-MCF51CN).
     - Other Freescale platforms to be supported soon.
  * Available as:
     - Stand-alone version. No underlying RTOS is required, although it can be used with it.
  * Supported Compilers:
     - Freescale CodeWarrior for ColdFire Version 7.1.
     - Freescale CodeWarrior for Microcontrollers Version 6.2.
  * BSD-style Socket layer API
  * Protocols:
     - User Datagram Protocol (UDP).
     - Transmission Control Protocol (TCP).
     - Internet Protocol (IPv4).
     - Internet Control Message Protocol (ICMP).
     - Address Resolution Protocol (ARP).
  * Network Interfaces:
     - Ethernet interface.
     - Loopback interface.
  * Services:
     - HTTP/0.9 server. Both SSI and CGI are supported.
     - DHCP client.
     - TFTP client.
     - Static File System.
     - CFM Flash driver.
  * Tools:
     - GUI File System Generation Tool.
  * Applications:
     - TFTP Bootloader.
     - Shell Application.
  * Doxygen User Documentation.

 

 Changes in 0.5.0 (since last public version):
 - Added TFTP client.
 - Added Coldfire Flash Module (CFM) driver.
 - Added FNET TFTP Bootloader.
 - Fixed DHCP client.
 - Updated Shell Demo application. Application parameters are saved in the flash.
 - Improved Shell library. Added blocking-command and multi-word parameter features.
 - A lot of other changes and fixes.

 

Best regards,

Andrey Butok

Labels (1)
Tags (2)
225 Replies

10,945 Views
albertolubeiro
Contributor III

Hi Andrey,

I have downloaded the 2.1.1 version. I have a problem whit the ping comand when i send it from my terminal program. It puts: "Request timed out" but when i do from my command-line environment on the host PC, it goes right.

Any idea of what is happening??

Thank you!

0 Kudos

10,945 Views
butok
NXP Employee
NXP Employee

Hi Alberto.


Juts tested, - both IPv4 and IPv6 pings works very well, - not able to reproduce your issue.

Please submit it to the :http://sourceforge.net/tracker/?group_id=253892&atid=1126920

Describe here all your settings (address, netmask etc.) and other conditions (via router, direct connection).


Thanks,

Andrey Butok

FNET Community

0 Kudos

10,947 Views
butok
NXP Employee
NXP Employee

FNET 2.1.0 released (http://fnet.sourceforge.net):

- Improved IPv6 support. Passing 65% of the "IPv6 Ready Logo" Phase-2 (Golden) Tests.

- Added RAW socket support.

- Added PING service, using RAW sockets and supporting both IPv4 and IPv6.

- Added ping command to the FNET demo applications.

- Added basic FreeRTOS support, contributed by Christophe Graulle.

- Added the IPV6_UNICAST_HOPS socket option.

- Added multiple-session support to the TELNET server.

- Added possibility to set the socket-listen backlog to zero value.

- Added new configuration parameters:

   - FNET_CFG_RAW enables/disables RAW socket support.

   - FNET_CFG_PING enables/disables PING service.

   - FNET_CFG_TELNET_SESSION_MAX defines maximum number of simultaneous user-session that can be handled by the Telnet server.

- Fixed some bugs.


Any contribution to the FNET project is appreciated.:smileyhappy:

Future plans:

- Continue improvement of the IPv6 support. "IPv6 Ready Logo" Phase II (Golden) certification, during 2013.

- Add new platforms. K70 and MPC are top candidates.


Thank you,
     Andrey Butok

     FNET Community

0 Kudos

10,947 Views
TomLEE
Contributor III

Hello Andrey,

thank you very much for your work. Since 3 years, I use FNET stack on MCF52233 microcontroller when I have ethernet project.

For a new project, we will need SNMP. Do you plan to add this service to FNET stack during 2013 ?

Thanks for answer,

best regards,

Thomas RETAIL.

LES ETUDES ELECTRONIQUES

33380 BIGANOS

FRANCE

0 Kudos

10,947 Views
butok
NXP Employee
NXP Employee

Thanks Thomas,

Implementation of the SNMP server is in my wish list, but there is no concrete plan or schedule.

FNET does not have sponsor => the development is not regular => no concrete plans.

For your new project, please do not rely on availability of FNET SNMP server during 2013.

In any case, your possible contribution to the FNET project is welcome.

Thank you,

Andrey Butok

FNET Community

0 Kudos

10,947 Views
silentlab54
Contributor III

Hi all,

I'm successfully using FNET on a Kinetis K60; I need to make my embedded device discoverable on every possible network class, even if built-in programmed IP Address, Subnet Mask and Gateway aren't matched with that target network (example: factory programmed IP,MASK,GW in fnet_user_config.h and the module installed in a network with different setup).

Do you have any hints for me? I think I need a sort of uPnP implementation.

Thanks in advance for your help. :smileyhappy:

0 Kudos

10,947 Views
butok
NXP Employee
NXP Employee

FNET 2.0.0 released (http://fnet.sourceforge.net):

- Added IPv6 support:

    - Passed the legacy "IPv6 Ready" Phase I (Silver) Tests.

    - Added IPv6, ICMPv6, Stateless address autoconfiguration, Neighbor Discovery.

    - Added IPv6 address support to TCP, UDP, Sockets, TFTP, HTTP and Telnet.

    - All Demo applications is able to work with IPv6. Where it was possible, both IPv4 and IPv6 are enabled.

- Added support of uVision 4.5 Keil compiler for K60N512.

- Added events (rebranded SW interrupts).

- New configuration parameters:

    - FNET_CFG_CPU_ETH_ATONEGOTIATION_TIMEOUT defines Ethernet Autonegotiation Timeout.

    - FNET_CFG_OS_ISR allows usage of an OS-specific ISR handler.

    - FNET_CFG_OS_EVENT enables generation OS-specific event.

    - FNET_CFG_IP6 enables/disables IPv6.

    - FNET_CFG_IP4 enables/disables IPv4.

    - FNET_CFG_ND6_NEIGHBOR_CACHE_SIZE defines the maximum number of entries in neighbor cache.

    - FNET_CFG_ND6_PREFIX_LIST_SIZE defines the aximum number of entries in the Prefix list.

    - FNET_CFG_ND6_ROUTER_LIST_SIZE defines the maximum number of entries in the Default Router list.

    - FNET_CFG_ND6_DAD_TRANSMITS defines the number of consecutive Neighbor Solicitation messages sent while performing Duplicate Address Detection.

    - FNET_CFG_NETIF_IP6_ADDR_MAX defines the maximum number of IPv6 addresses per interface.

    - FNET_CFG_IP6_FRAGMENTATION enables/disables IPv6 fragmentation.

    - others.

- New user API functions:

    - fnet_inet_ntop().

    - fnet_inet_pton().

    - fnet_netif_get_by_number().

    - fnet_timer_seconds().

    - fnet_timer_ms().

    - fnet_netif_get_ip6_addr().

    - Many IPv6 specific functions and types.

- A lot of existing API functions and definitions renamed to differentiate IPv4 and IPv6 functionality.

- Added BRTOS support (http://code.google.com/p/brtos/).

- Removed support of IAR Compiler for ColdFire.

- Many other internal changes.

- FBENCH 2.0.1 released (http://fbench.sourceforge.net):

Future plans:

  - "IPv6 Ready" Phase II (Golden) certification, during 2013.

Thank you,
Andrey Butok

0 Kudos

10,947 Views
silentlab54
Contributor III

Hi Andrey,

congratulations for the excellent 2.0.1 work.

Will you plan to implement RTP (Realtime Transport Protocol) in FNET? :smileywink:

0 Kudos

10,947 Views
butok
NXP Employee
NXP Employee

Thanks,

I do not have RTP in my current plans.

But a contribution is welcome :smileywink:

Andrey Butok

0 Kudos

10,947 Views
PEGE
Contributor I

Hello,

 

i include the stack and the example project.

 

My question now is, is it possible to start the http webserver direct without calling "fapp_main" ?

 

regards Peter

0 Kudos

10,947 Views
butok
NXP Employee
NXP Employee

Hi Peter

Yes. You may initialize & start & use it  without calling fapp_main().

The fapp_main() is just only demo application, that is used mainly as reference or example of the FNET usage.

You may start and use any FNET service from your code. But it is always better to look at the demo source code to avoid many mistakes.


Best regards,

Andrey

0 Kudos

10,947 Views
Gianluigi
Contributor I

Hello,

I'm using FNET 1.1.2 on MCF51CN128, because I need to develop a serial to ETH converter to send over UDP some strings read from serial port.

Is it possible and how can I do to send UDP packet to multicast group?

 

best regards

Gianluigi

0 Kudos

10,947 Views
butok
NXP Employee
NXP Employee

Hi Gianluigi,

 

>> Is it possible and how can I do to send UDP packet to multicast group?

 

Yes.

In current FNET 1.1.2, you may send multicast UDP packets without any changes, just use the multicast group address (instead of unicast) as destination for sending function. For stack, it is no matter if it is unicast or multicast (destination). The Etherenet driver detects the muticast IP address and generates & places multicast MAC address into output frame.

 

FYI:

    Current 1.1.2 version does not have support of joining/leaving of multicast group

    => so you are not able to receive multicast packets in FNET.

 

    Fortunately, now I am working on full multicast support and it will be available in the next FNET version 1.2.

    It will have:

       - IP_MULTICAST_TTL socket option, which defines TTL for outgoing multicast packets.

       - IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP socket options,

         which joins/leaves IP multicast-group membership.

       - Basic support of IGMP protocol.

      - Other changes.

    Actually it will be ready soon, and if you want to test/try it earlier just write to Andrey.Butok@freescale.com.

 

Thanks,

Andrey Butok

0 Kudos

10,947 Views
Gianluigi
Contributor I

I tried to send udp packet to address 239.0.0.10 and I see with wireshark multicast bit flag is active, but the receiver does not receive the packet. I attach capture file.

What is wrong?

 

best regards

Gianluigi

0 Kudos

10,947 Views
butok
NXP Employee
NXP Employee

Hi Gianluigi,

 

The FNET sends multicast datagram (based on your .txt.)

So the issue somewhere in receiving application or stack – no help from me.

Be sure that your receiving-socket has joined the multicast group on the correct interface.

 

Best regards,

Andrey Butok.

0 Kudos

10,950 Views
PEGE
Contributor I

Hello,

 

is  there any tutorial how to install or integrate the FNET stack in my existing project ?

 

Regards Peter

0 Kudos

10,950 Views
butok
NXP Employee
NXP Employee

Hi Peter,

 

You may look at “How-to: Add FNET Stack to an existing project http://fnet.sourceforge.net/manual/how_to_add_fnet.html

 

Best regards,

Andrey Butok

0 Kudos

10,950 Views
PEGE
Contributor I

GREAT!

 

THANKS A LOT

0 Kudos

10,950 Views
PEGE
Contributor I

Hello,

 

i include the stack into my project and create the fnet_user_config.h in the source folder.

 

now iam getting the error

 

"the file 'fnet_config.h' cannot be opened    fnet_arp.c"

 

the file exists in the FNET_STACK folder. Shall i move it to another place ?

 

regards Peter.

0 Kudos

10,950 Views
butok
NXP Employee
NXP Employee

Hi Peter,

 

I guess you are using CW10.x (or other compiler), as CW7.2 handles it very well.

As your project does not see some header files, it means you should control your project settings to be sure that all paths to header files are there and are correct (it is compiler/IDE dependent).

 

Best regards,

Andrey Butok

0 Kudos

10,950 Views
PEGE
Contributor I

I try to change/add the FNET folder for the header.

 

Now I got on every include (from fnet files) the information

 

"unresolved inclusion"

 

what wrong ? I am trying for hours and hours but no difference

 

I am using CW 10.x.

 

Further I get the warning

 

Cannot open file fnet.comp.asm.h

 

and

 

include: Can't continue

 

regards Peter

0 Kudos