QNX Networking

QNX Networking

QNX Neutrino implements the TCP/IP stack in an executable module called io-pkt. The versions of io-pkt are:

The io-pkt-v4-hc version is full-featured, while io-pkt-v4 eliminates some functionality for environments that have insufficient RAM. However, both v4 versions support PPP.

Note: Multipoint PPP is supported only in io-pkt-v4-hc, but the example below doesn't require multipoint PPP.

You can start the TCP/IP stack on your embedded system without a network driver as:

io-pkt-v4 & 


io-pkt-v4-hc &

You might notice that -ptcpip is appended to io-pkt in sample scripts, but io-pkt functions the same with or without this postfix.

Additionally, you will typically see -dname included in scripts. This command starts a particular network driver on the stack; however, in the example below, we don't use network hardware, so we can start io-pkt without a driver.

In addition to your selected io-pkt binary, you should include the following binaries in your image (.ifs):

Additionally, you must create a directory named /etc/ppp, and a file named /etc/ppp/chap-secrets. Include the following code in the chap-secrets file:

#localhost root "foobar" * 
*          *    "foobar" *

The purpose of the last line of code allows any user from any host to log in with the password foobar.

Now, you can start PPPD for debugging purposes from a console using the command:

pppd debug nodetach crtscts auth +chap \
netmask /dev/ser1 115200

Or, from a startup script using this command:

pppd persist crtscts auth +chap \
netmask /dev/ser1 115200

For the previous command, we are specifying the network that will be established. The embedded system will be and the other end of the link will be; it is a class C network, specified by netmask.

In addition, the auth +chap options indicate that the other end will be authenticated with CHAP (which is supported by Windows networking). The system will reference the chap-secrets file you created earlier to match the specified password.

Without the persist option in the command, the connection will terminate after a timeout, or after one successful connection.

Use the debug nodetach command to view the diagnostic output on the terminal where you started PPPD. You can also use Control+C to stop PPPD in this mode.