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
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!
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
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
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
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
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:
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
Hi Andrey,
congratulations for the excellent 2.0.1 work.
Will you plan to implement RTP (Realtime Transport Protocol) in FNET? :smileywink:
Thanks,
I do not have RTP in my current plans.
But a contribution is welcome :smileywink:
Andrey Butok
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
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
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
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
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
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.
Hello,
is there any tutorial how to install or integrate the FNET stack in my existing project ?
Regards Peter
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
GREAT!
THANKS A LOT
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.
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
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