Networking

Release notes for QNX SDP 8.0.1 networking updates.

The known issues are described in the QNX Software Development Platform 8.0: Known Issues document that's stored in the QNX Download Center. Log in and refer to https://www.qnx.com/download/group.html?programid=74127.

Networking

These updates include packages found under Updates -> QNX Software Development Platform -> Networking (unless otherwise noted):

QNX SDP 8.0.1 Cadence GEM Driver Update (Build 478)


Date of this edition: October 1, 2024
Name Package ID Package internal version
QNX SDP 8.0 Networking - io-sock cgem Drivers com.qnx.qnx800.target.net.devs.cgem 0.0.2.00478T202409051224L

Additional documentation

The following information will be added to future versions of the QNX SDP 8.0 Utilities Reference.

devs-cgem.so

Driver for Cadence Gigabit Ethernet MAC (GEM) controller

Syntax:
io-sock -m fdt -m phy -m phy_fdt -d cgem [option[,option...]]

mount -T io-sock [-o option[,option...]] fdt
mount -T io-sock [-o option[,option...]] phy
mount -T io-sock [-o option[,option...]] phy_fdt
mount -T io-sock [-o option[,option...]] cgem
                            
Runs on:

QNX OS

Options:
Use commas, not spaces, to separate the options.
prefix=prefix
Specifies the instance of io-sock that mounts this driver. You specify the prefix that creates an alternative stack when you start io-sock. Used only when you load a driver with mount after starting io-sock.
qnxdev=device
When Plug & Play is disabled, specifies the device instance to use. Use devinfo -v to determine the location value to use (e.g., qnxdev=pci0:0:25:0).
Description:

The devs-cgem.so driver is ported from FreeBSD to provide support for the Cadence Gigabit Ethernet MAC (GEM) controller.

This driver requires the mods-fdt.so driver and doesn't include a PHY driver. If it needs a PHY driver, it relies on io-sock's miibus framework to find it. PHY drivers are provided in mods-phy.so or mods-phy_fdt.so. In some cases, a custom PHY driver may be required.

For information on starting io-sock with a driver or loading a driver later using mount, see Starting io-sock and Driver Management in the QNX SDP High-Performance Networking Stack User's Guide.

QNX SDP 8.0.1 curl Library Update (Build 446)


Date of this edition: September 09, 2024
Name Package ID Package internal version
QNX SDP 8.0 Networking - curl com.qnx.qnx800.target.net.curl 0.0.2.00446T202407261305L

QNX SDP 8.0.1 Networking Update (Build 417)


Date of this edition: August 8, 2024
Name Package ID Package internal version
QNX SDP 8.0 Networking - curl com.qnx.qnx800.target.net.curl 0.0.2.00417T202407041502L
QNX SDP 8.0 Networking - io-sock dwceqos Drivers com.qnx.qnx800.target.net.devs.dwceqos
QNX SDP 8.0 Networking - io-sock ffec Drivers com.qnx.qnx800.target.net.devs.ffec
QNX SDP 8.0 Networking - io-sock genet Drivers com.qnx.qnx800.target.net.devs.genet
QNX SDP 8.0 Networking - io-sock devs DDK com.qnx.qnx800.target.net.devsddk
QNX SDP 8.0 Networking - io-sock FDT Drivers com.qnx.qnx800.target.net.devsfdt
QNX SDP 8.0 Networking - io-sock PCI Drivers com.qnx.qnx800.target.net.devspci
QNX SDP 8.0 Networking - io-sock USB Drivers com.qnx.qnx800.target.net.devsusb
QNX SDP 8.0 Networking - io-sock Virtio Drivers com.qnx.qnx800.target.net.devsvirtio
QNX SDP 8.0 Networking - Development Utilities com.qnx.qnx800.target.net.devutils
QNX SDP 8.0 Networking - DHCP com.qnx.qnx800.target.net.dhcp
QNX SDP 8.0 Networking - io-sock com.qnx.qnx800.target.net.iosock
QNX SDP 8.0 Networking - iperf2 com.qnx.qnx800.target.net.iperf2
QNX SDP 8.0 Networking - iperf3 com.qnx.qnx800.target.net.iperf3
QNX SDP 8.0 Networking - mDNSResponder com.qnx.qnx800.target.net.mdnsresponder
QNX SDP 8.0 Networking - io-sock PHY Drivers com.qnx.qnx800.target.net.modsphy
QNX SDP 8.0 Networking - Netmap com.qnx.qnx800.target.net.netmap
QNX SDP 8.0 Networking - Network File System com.qnx.qnx800.target.net.nfs
QNX SDP 8.0 Networking - NTP com.qnx.qnx800.target.net.ntp
QNX SDP 8.0 Networking - OpenSSH com.qnx.qnx800.target.net.openSSH
QNX SDP 8.0 Networking - pcap com.qnx.qnx800.target.net.pcap
QNX SDP 8.0 Networking - PTP com.qnx.qnx800.target.net.ptpd2
QNX SDP 8.0 Networking - tcpdump com.qnx.qnx800.target.net.tcpdump
QNX SDP 8.0 Networking - Unbound com.qnx.qnx800.target.net.unbound
QNX SDP 8.0 Networking - Utilities com.qnx.qnx800.target.net.utils
QNX SDP 8.0 Networking - io-sock dwc Drivers com.qnx.qnx800.target.net.devs.dwc
QNX SDP 8.0 Networking - io-sock Marvell PHY Driver com.qnx.qnx800.target.net.devs.marvellphy
QNX SDP 8.0 Networking - io-sock rt9010 PHY Driver com.qnx.qnx800.target.net.devs.rt9010phy
QNX SDP 8.0 Networking - io-sock cpsw Drivers com.qnx.qnx800.target.net.devs.cpsw 0.0.2.00435T202407181105L

Installation notes

  • Before you install this networking update, make sure that you have installed QNX SDP 8.0.1 Kernel Update (Build 388) (if you installed SDP 8.0 after July 09, 2024, this update is included).
  • To use previously released QNX SDP 8.0 Board Support Packages with this update, install the update, and then rebuild your BSP by running make clean and make in the $BSP_ROOT_DIR directory. For more information, go to the user’s guide for your BSP.
  • If you install an individual networking driver that supports this update, this update and the recent kernel update are installed automatically. However, you'll have to manually update any other networking drivers that you use. If you don't update, a message like this is displayed when you try to load them:
    link_elf_load_file: /stage-osr4/x86_64/lib/dll/devs-em.so stack.requires(65538) > mod.provides(65537)
  • This networking update does not support the devs-qwdi_syn_dhd_pcie-version driver, which supports Synaptics DHD PCIE-based WLAN devices. Don't update your QNX SDP 8.0 installation with this update if you are using it.
  • Some product packages contain experimental files. To access status information, do one of the following:
    • In the QNX Software Center, right-click a package, choose Properties, then click Package Contents. The status of each file in the package is displayed.
    • Sign in to www.qnx.com. On the right side of the web page, under Product Registration, click QNX Software Center Portal. Use the portal to search using the Build ID that use -i displays. The binary information that is displayed includes the state.
    • Generate a manifest report. For more information, see the Manifest Reports & File Lookup chapter of the myQNX License Manager and QNX Software Center User's Guide.

Functionality updates

  • This update adds new sysctl variables that in some environments can improve throughput by reducing the number of TCP ACK responses.
  • The implementation of Precision Time Protocol (PTP) in QNX OS networking drivers must now use a new PTP driver framework. This framework includes support for 64-bit timestamps. The ptpd2 utility is updated to use the new framework.
  • The FreeBSD version that QNX OS networking is based on has been updated to 13.3.

  • The new sysctl variable qnx.net.inet.tcp.rfc1323_timestamps allows you to disable (0) or enable (1; the default) TCP timestamps for incoming and outgoing traffic.
  • You can now set the parent device (vlandev) of a VLAN interface to be a bridge. This option helps support VLAN and non-VLAN connections between a QNX host and its guest at the same time.
  • The sysctl variable qnx.ipv4idrsvd, which determines the minimum value that io-sock can use for IPv4 ID field, now accepts a value up to 32768.
  • The status of the following items has changed from experimental to stable:
    • networking driver for the Intel Ethernet Controller I225 (devs-igc.so)
    • strongSwan (version 5.8.2)
    • multicast and Unicast DNS daemon (mdnsd)

Experimental items

CAUTION: Experimental software is primarily provided for customers and the community to try out, and to get an idea of what might be coming in the future. For information about the use of experimental software, refer to the appropriate Development License Agreement in the Licensing area of our website: https://www.qnx.com/legal/licensing/.

Some experimental items are implemented in the packages of the baseline product. This means these items are installed when you install QNX SDP and, hence, there's nothing else you must do to be able to use them. Other experimental items are contained in their own packages that aren't installed when you install QNX SDP. To locate and install these packages so you can use the items they contain, go to the Available tab in QNX Software Center and search for part or all of the package name. Then, click the package in the search results and then the Install button in the bottom right corner.

The table that follows lists the experimental items and indicates whether each one is contained in an additional package that must be installed separately.
Item description Additional package
Texas Instruments Sitara network driver (devs-cpsw-am62a.so, devs-cpsw-am62p.so, devs-cpsw-am62x.so) NA
Texas Instruments Jacinto 7 network drivers (devs-cpsw-j721e.so, devs-cpsw-j721s2.so, devs-cpsw-j722s.so, devs-cpsw-j784s4.so)
DWC gmac network driver (devs-dwc.so)
Marvell Network PHY driver (devs-marvell_phy.so)
RT9010 network PHY driver (devs-rt9010phy.so)
SMSC USB network driver (devs-smsc.so)
RNDIS USB network driver (devs-urndis.so)
Virtio Drivers for io-sock (devs-vtnet_mmio.so, devs-vtnet_pci.so)

Fixed issues

The following issues are fixed in this update. To find a specific issue, search for a reference number on this page or use the search tool:
Description Applicable Architecture(s) Application-Level Impact System-Level Impact Reference Number
The diagnostic version of io-sock (io-sock-diag) may crash after a large number of mbufs or mbuf_packets are freed. General None Rebuild with updated io-sock-diag 2949584
An open() function with O_NONBLOCK flag on a non-socket network device such as /dev/bpf returns a descriptor with blocking I/O. General None Rebuild with updated io-sock 2948555
Only some threads may be un-blocked when multiple requests to io-sock are blocked waiting on the same resource, and unblock pulses are received. General None Rebuild with updated io-sock 2949004
The io-sock networking stack now supports 1000BASE-T1 and 100BASE-T1 standard Ethernet types (1000_BASE_T1 and 100_BASE_T1). General None Rebuild with updated io-sock 2962260
Fixed an issue that caused io-sock to crash when using the devs-em.so driver and an Intel 82575EB Gigabit Ethernet Controller. General None Rebuild with updated io-sock 2959796
Berkeley Packet Filtering (BPF) multi-packet writes now support padding in the same order that's used when reading. General None Rebuild with updated io-sock 2957843

Resolved an io-sock USB bus speed misconfiguration that caused low RX throughput with SMSC devices.

General None Rebuild with updated io-sock 2953605
Page updated: