Menu

FNET - Embedded TCP/IP Stack / FNET News: Recent posts

FNET TCP/IP stack: Version 4.7.1 released

Version 4.7.1
- Broadcast a DHCP DECLINE message, instead of unicasting.
- Randomize TCP initial sequence number.

Best regards,
Andrej Butok

Posted by Andrej Butok 2021-02-16

FNET TCP/IP stack: Version 4.7.0 released

  • Version 4.7.0
    • Fix possible out of bounds read on a received malformed LLMNR, mDNS or IPv6 packet.
    • Add null termination check for the input-name parameter of the LLMNR, mDNS and DNS services.
    • Fix possible IPv6 reassembly wrong behavior.
    • Fix infinite loop, when a DNS request sent to a network interface without an assigned DNS server address.
    • Add FNET_CFG_DNS_RESOLVED_ADDR_MAX which defines the maximum number of addresses that can be resolved by the DNS-client per one request.
    • Add a resolved host name parameter to the DNS callback function.
    • Randomize DNS query ID.
    • Upgrade projects to IAR v8.50.
    • Fix Azure IoT example compilation errors for IAR v8.... read more
Posted by Andrej Butok 2020-10-30

FNET TCP/IP stack: Version 4.6.4 released

  • Version 4.6.4
    • Allow DHCP client to continue DHCP server discovering, while Auto-IP is active.
    • Add fnet_dhcp_cln_set_response_timeout() to change a DHCP server response time-out.
    • Fix possible unwanted QCA WiFi connection to an open network, even when WPA pass-phrase is provided.

Best regards,
Andrej Butok

Posted by Andrej Butok 2018-12-03

FNET TCP/IP stack: Version 4.6.3 released

  • Version 4.6.3
    • Added HEAD method support for the HTTP server.
    • Fixed wrong behaviour when HTTP server gets not supported method.
    • Fixed Auto-IP and MDNS services to pass new Bonjour Conformance Test v1.4.0.
    • Fixed fnet_memcmp() to conform to standard memcmp() return values.
    • Minor changes.

Best regards,
Andrey Butok

Posted by Andrej Butok 2018-10-17

FNET TCP/IP stack: Version 4.6.2 released

  • Version 4.6.2
    • Added support for i.MX-RT, MIMXRT1062 platform (MIMXRT1060-EVK board).
    • Added possibility to protect all directories, using HTTP authentication, by setting fnet_http_srv_auth_t->dir_name to "".
    • Minor fixes.

Best regards,
Andrey Butok

Posted by Andrej Butok 2018-09-19

FNET TCP/IP stack: Version 4.6.1 released

  • Version 4.6.1
    • Minor fixes.
Posted by Andrej Butok 2018-08-29

FNET TCP/IP stack: Version 4.6.0 released

  • Version 4.6.0

    • Certified for Apple Bonjour logo.
    • Added bare-metal Azure client example.
    • Used milliseconds instead of timer ticks.
    • Added FNET_CFG_TIMER_ALT which enables/disables alternative timer support.
    • Used FreeRTOS timer instead bare-metal one for FreeRTOS demo applications.
    • Deprecated fnet_timer_get_ticks(), fnet_timer_ms2ticks().
    • Deprecated FNET_CFG_TIMER_POLL_AUTOMATIC, covered by FNET_CFG_TIMER_ALT.
    • Used typedef instead of struct type.
    • Added fnet_shell_get_command_by_name() which looks for a shell command by its name.
    • Fixed minor Coverity findings.

    Best regards,
    Andrey Butok

Posted by Andrej Butok 2018-08-24

FNET TCP/IP stack has successfully licensed for Apple “Bonjour logo”.

FNET TCP/IP stack has successfully licensed for Apple “Bonjour logo” under Contract ID#SWL95284.

Posted by Andrej Butok 2018-08-24

FNET TCP/IP stack: Version 4.5.3 released

  • Version 4.5.3
    • Updated Azure IoT SDK to version 1.2.8
    • Fixed possible first packet loss for the AirPort Wi-Fi router.
    • Minor fixes.

Best regards,
Andrey Butok

Posted by Andrej Butok 2018-08-15 Labels: fnet

FNET TCP/IP stack: Version 4.5.2 released

  • Version 4.5.2
    • Redesigned Azure client example as a service.
    • Added frame buffering to QCA WiFi adapter to avoid possible frame dropping.
    • Fixed fnet_service_poll() to avoid possible recursion.
    • Made fnet_shell_block/unblock() nested.

Best regards,
Andrey Butok

Posted by Andrej Butok 2018-08-07 Labels: fnet


FNET TCP/IP stack: Version 4.5.1 released

  • Version 4.5.1
    • Certified for Microsoft Azure IoT.
    • Updated Azure IoT SDK to version 1.2.5.
    • Updated mbedTLS to version 2.12.0.
    • Added fnet_mdns_probe() which restarts mDNS probing.
    • Added "freertos" or "bm" sub-folders to the demo application directory fnet_demos/build/\<board_name>/\<demo_name>/[freertos|bm]
    • Renamed demo applications:
      • azure to shell_azure.
      • bench to shell_bench.
      • boot to shell_boot.
      • shell_boot to shell_boot_app.
      • shell_mbedtls to shell_tls
      • shell_freertos_wifi to shell_wifi
    • Fixed fnet_timer_poll() which caused infinite loop for the WiFi example.... read more
Posted by Andrej Butok 2018-08-02

FNET TCP/IP stack: Version 4.5.0 released

  • Version 4.5.0
    • Added basic support of the Microsoft Azure IoT Hub, enabled by FNET_CFG_AZURE:
      • Added Azure IoT Hub TLS and Socket IO adapters.
      • Added Azure IoT Hub client example.
    • Added FNET_CFG_TIME which enables/disables <time.h> support.
      • Added time() implementation.
      • Added UTC time information to the "info" shell command.
      • Added UTC time update by SNTP client.
      </time.h>
    • Extended TLS interface:
      • Added TLS client role.
      • Added fnet_tls_socket_connect() to perform TLS handshake.
      • Added fnet_tls_set_own_certificate() to set own certificate chain and private key.
      • Added fnet_tls_set_ca_certificate() to assign Certificate Authority certificate.
      • Added fnet_tls_socket_set_hostname() to set the host name to check against the received server certificate.
      • Other minor changes.
    • Improved DNS resolver. DNS server address parameter is optional now.
    • Added fnet_poll() general polling function, covering fnet_service_poll() and optional fnet_timer_poll().
    • Changed the "sntp" shell command syntax to sntp [server name|ip]. Default server name defined by FAPP_CFG_SNTP_CMD_SERVER_NAME.
    • Added fnet_vprintf().
    • Added fnet_strnlen() which calculates the length of a fixed-size string.
    • Added %[.precision]s format string support by fnet_printf().
    • Fixed HTTP server basic authentication with more than one entries in the authentication table. Thanks to Joe.
    • Fixed possible garbage print by fnet_printf(), in specific case.
    • Other minor fixes.... read more
Posted by Andrej Butok 2018-07-25

FNET TCP/IP stack: Version 4.4.1 released

  • Version 4.4.1

    • Added fnet_wifi_get/set_country_code() to get/set country code used by a WiFi interface.
    • Renamed HTTP server API from fnet_http_<name> to fnet_http_srv_<name>.</name></name>
    • Renamed fnet_strncpy() to fnet_strlcpy(), fnet_strncat() to fnet_strlcat().
    • Added SS_CLOSING state to fnet_socket_state_t. Renamed SS_UNCONNECTED to SS_CLOSED.
    • Fixed fnet_socket_poll() to return FNET_SOCKET_EVENT_ERR on a connection closing by a remote peer.
    • Fixed possible skipping of WiFi-QCA disconnection.
    • Other minor fixes.

    Best regards,
    Andrey Butok

Posted by Andrej Butok 2018-05-25

FNET TCP/IP stack: Version 4.4.0 released

  • Version 4.4.0
    • Added basic support for i.MX-RT, MIMXRT1052 platform (IMXRT1050-EVKB board).
    • Added ARM CMSIS-Core(M) files to "third_party/cmsis-x.x" directory.
    • Added fnet_eth_phy_reg_read/write() to read/write an Ethernet PHY's MII register (before was private).
    • Added fnet_eth_phy_get/set_addr() to get/set an Ethernet interface PHY address number (before was private).
    • Deleted fnet_<cpu>_cache.h. So MPU platforms with enabled data-cache have to allocate FNET_CFG_CPU_NONCACHEABLE_SECTION section.... read more</cpu>
Posted by Andrej Butok 2018-05-16

FNET TCP/IP stack: Version 4.3.0 released

  • Version 4.3.0
    • Improved WiFi QCA scan and connect.
    • Added underscore prefix to all private functions.
    • Moved FreeRTOS-specific demo application source code to separate fapp_freertos.c/h.
    • Enabled FNET_CFG_MULTITHREADING and added recursive-mutex for FreeRTOS demo examples.
    • Added multi-thread mutex lock to all user API functions (FNET_CFG_MULTITHREADING is enabled).

Best regards,
Andrey Butok

Posted by Andrej Butok 2018-04-11

FNET TCP/IP stack: Version 4.2.0 released

  • Version 4.2.0
    • Added fnet_socket_poll() which used to check if one or more sockets become ready to perform input/output activity.
    • New socket options (FreeBSD like):
      • SO_LISTENQLIMIT to get backlog limit or the maximal number of queued connections, which is set by fnet_socket_listen().
      • SO_LISTENQLEN to get unaccepted complete connection queue length.
    • Added WiFi QCA4004 (Silex SX-ULPAN-2401-SHIELD board) support.
    • Added WiFi QCA4002 (GT202) firmware image update to v3.5.6.
    • Updated mbeTLS to the latest version 2.8.0. ... read more
Posted by Andrej Butok 2018-03-28

FNET TCP/IP stack: Version 4.1.1 released

  • Version 4.1.1
    • LPC54628 support:
      • Added bench, shell, shell_freertos, shell_freertos_wifi_qca, shell_mbedtls projects for lpcxpresso54628.
      • Added Ethernet and WiFi interface.
      • Is fully functional, but still under development.
    • Added fapp_hw_init() which contains a board-specific initialization.
    • Upgraded projects to IAR v8.22.
    • Moved projects to fnet/fnet_demos/build.
    • Other minor fixes.... read more
Posted by Andrej Butok 2018-03-19

FNET TCP/IP stack: Version 4.1.0 released

  • Version 4.1.0
    • QCA Wi-Fi:
      • Fixed SSID scanning in the QCA Wi-Fi driver and following failed connection.
      • Fixed memory leak and corruption in the QCA Wi-Fi driver release.
      • Fixed possible data corruption in FNET QCA Wi-Fi adapter.
      • Added fnet_wifi_fw_get_version() which gets Wi-Fi module firmware version number.
      • Added Wi-Fi module firmware version number information to the "info" shell command.
    • Added Benchmark client and server, as services. It has replaced the shell benchmark application.
    • Renamed the "help" shell command to "?".
    • Updated FBENCH to v2.0.4.
    • Other minor fixes.... read more
Posted by Andrej Butok 2018-02-19

FNET TCP/IP stack: Version 4.0.2 released

  • Version 4.0.2
    • Fixed Wi-Fi QCA interface release.
    • Fixed possible wrong IPv4 address routing on multi-interface systems.
    • Fixed UDP socket notification about a ICMPv4 reported error. Thanks to Christophe Graulle.
    • Added Wi-Fi module firmware update:
      • Enabled by FNET_CFG_CPU_WIFI_FW_UPATE.
      • Added fnet_wifi_fw_update().
      • Added shell command "fw" updating the QCA4002(GT202) firmware to the latest version 3.3.5
    • Updated shell "dns" command syntax to "dns [-n <if name="">]</if> [-s <server ip="">]</server> [4|6] <host name="">"... read more</host>
Posted by Andrej Butok 2018-01-22 Labels: fnet

Donation in BTC, ETH and LTC

You may do your donation in BTC, ETH and LTC in addition to PayPal.

Posted by Andrej Butok 2017-12-15

FNET TCP/IP stack: Version 4.0.1 released

  • Version 4.0.1
    • Fixed fnet_fec_checksum_clear(), when FNET_CFG_CPU_ETH_HW_TX_PROTOCOL_CHECKSUM is enabled.
    • Fixed possible sending of duplicate TCP ACK.
    • Other minor changes.
Posted by Andrej Butok 2017-12-14

The FNET TCP/IP stack is used by the HomeKit Software Development Kit (SDK) from NXP

The HomeKit Software Development Kit (SDK) from NXP offers support for home automation applications using Apple HomeKit technology, delivering exceptional performance, advanced security, and supporting all connectivity options; Bluetooth Smart®(BLE), Wi-Fi, Ethernet, and remote access over iCloud.
https://www.nxp.com/pages/nxp-software-development-kit-sdk-for-homekit-accessories:HOMEKIT-SDK

Posted by Andrej Butok 2017-12-11

FNET TCP/IP stack: Version 4.0.0 released

  • Version 4.0.0
    • Added WiFi network interface support:
      • Added Qualcomm/Atheros WiFi QCA4002 (GT202 board) support. Enabled by FNET_CFG_CPU_WIFI.
        Core driver is in the third_party\qca-x.x.x directory.
      • Added shell_freertos_wifi_qca example for K64.
      • Added fnet_wifi_connect(), fnet_wifi_access_point() and fnet_wifi_disconnect().
    • Added DHCPv4 server.
    • Added basic support for the LPC54628 platform (Aruba).
    • Added fnet_ prefix to the sockaddr, sockaddr_in, sockaddr_in6, in_addr, in6_addr, ip_mreq, ipv6_mreq and linger types.
    • Added FNET_CFG_TIMER_POLL_AUTOMATIC enables/disables automatic timer polling inside FNET.
    • Added fnet_timer_poll() timer polling function, for the case when FNET_CFG_TIMER_POLL_AUTOMATIC is disabled.
    • Moved network interface drivers to "port\cpu\netif" directory (FEC/ENET and QCA).
    • Added FNET_CPU_NETIF_NUMBER which defines number of supported network interfaces.
    • Added "fnet_\<service_name>_get_by_netif()" which looks for a \<service_name> assigned to the specified network interface.
    • Added fnet_mdns_service_get_by_type() which looks for a registered mDNS application service according to the specified type.
    • Added "cookie" parameter to the fnet_shell_block() function.
    • Renamed:
      • DHCP Client files and definitions from "dhcp|DHCP" to "dhcp_cln|DHCP_CLN".
      • "services" folder to "service".
      • fnet_poll_desc_t to fnet_service_desc_t.
      • fnet_poll_service() to fnet_service_poll().
      • fnet_poll_service_register|unregister() to fnet_service_register|unregister()
    • Merged fnet_poll.c/h to fnet_service.c/h.
    • Added fnet_ssize_t, signed integer type representing the size in bytes.
    • Added FNET_CFG_CPU_VECTOR_TABLE_IS_IN_RAM which enables/disables RAM vector table support.
    • Added FNET_CFG_CPU_[SERIAL|ETH|WIFI]_IO_INIT which enables/disables Input/Output pin initialization.
    • Fixed nested calling of fnet_shell_script().
    • Fixed possible sending of duplicate TCP ACK.
    • Updated shell demo application:
      • Added "dhcp [-n <if name="">]</if> [release|pool]" DHCPv4 server command.
      • Added "connect", "disconnect" and "ap" Shell Wi-Fi commands.
      • Added separate link script for Wi-Fi interface in access mode, defined by FAPP_CFG_LINK_(CONNECT|DISCONNECT)_WIFI_ACCESS_POINT_SCRIPT.
      • Added optional [-n \<if name>] parameter to all interface specific shell commands.
      • Changed naming approach for client and server shell commands. Protocol client command name is \<protocol_name>'c' and protocol server command name is \<protocol_name> (e.g. "dhcpc" and "dhcp"). </protocol_name>
      • Common application shell code moved from fapp.c to separate fapp_shell.c
      • Deprecated FAPP_CFG_STARTUP_SCRIPT_ENABLED, covered by existing FAPP_CFG_STARTUP_SCRIPT.
    • Fixed fnet_socket_bind(), ignored scope_id.
    • Fixed fnet_netif_bind_ip6_addr().
    • Switched to IANA ephemeral port range [49152 to 65535].
    • Deprecated FNET_CFG_\<service_name>MAX, covered by already existing FNET_CFG<service_name>.</service_name>
    • Deprecated FAPP_CFG_DEFAULT_IF, covered by existing FAPP_CFG_PARAMS_NETIF_NAME.
    • Many other cahnges and fixes.
Posted by Andrej Butok 2017-12-05

The FNET TCP/IP stack is used by the Digital command station TCS.

The FNET TCP/IP stack has been used in the digital command station for a model railway control: http://zavavov.vzap.eu/en/tcs-en/

Posted by Andrej Butok 2017-11-24