Networking

Updated: April 19, 2023

If the networking hardware on your custom board is different than what the reference board uses, you may have to modify the network driver provided with the BSP to enable networking.

Ethernet

For example, the BSP network driver works with the SoC’s Ethernet controller found on the reference and custom boards, but the custom board has different hardware for the physical layer (PHY chip) that provides the connection to the Ethernet.

Most of the QNX network drivers provide all the PHY-related functions using the file mii.c. For example, the BSP for an i.MX6 SoloX includes the following file:

${QNX_BSP_ROOT_DIR}\src\hardware\devnp\mx6x\mii.c

Where ${QNX_BSP_ROOT_DIR} is the name of the directory that you extracted the BSP archive to.

The network driver links to a specialized driver library (libnetdrvr.a), which contains all standard PHY functions, including those for initialization tasks.

If the PHY on your custom board requires different initialization routines, add the following to the mii.c file:

You can use the macros PHYID_VENDOR() and PHYID_MODEL() included in the mdi.h file to determine the PHY vendor and model.

For information on the BSP file structure, see “BSP structure and contents” in the Working with QNX BSPs chapter of Building Embedded Systems.

Wireless

If you require a custom wireless network driver, contact QNX Professional Services.

qconn, Telnet, SSH

In many cases, communication with your board via qconn, Telnet, or SSH is helpful during development and testing, but is not required in production versions. To improve board security, ensure that these protocols are disabled in your final BSP.