New entries
- ability
- Change the ability set of the invoking process (QNX Neutrino)
- calib-touch
- Calibrate touchscreen
- deva-ctrl-via8233.so
- Sound driver for the VIA 8233 Audio controller
- devc-serusb_dcd
- Driver for USB-to-serial adaptors
- devn-smsc9500.so
- Driver for the SMSC9500 USB Ethernet dongle
- devnp-asix.so
- Driver for the ASIX AX88172, AX88172A, AX88178, AX88772, AX88772A, AX88772B USB Ethernet dongle
- devnp-ecmplus.so
- Driver for the CDC ECM/RMNET USB Ethernet control module
- devnp-ixgbe.so
- Driver for Intel 10 Gigabit Ethernet controllers
- devnp-usbdnet.so
- Class Driver for USBDNET (USB Device Network Driver)
- devu-umass_client-block
- Function driver for USB MASS storage devices
- devu-xhci.so
- Driver for Extensible Host Controller Interface (XHCI) for USB 2.0
- dhclient
- Dynamic Host Configuration Protocol client
- dhclient-script
- DHCP client network configuration script
- dhclient.conf
- DHCP client configuration file
- dhclient.leases
- DHCP client database of acquired leases
- DHCP conditional behavior
- Specify conditional behavior for DHCP servers and clients
- DHCP options
- Dynamic Host Configuration Protocol options
- dprepresize
- Prepare a Power-Safe (fs-qnx6.so) filesystem for resizing
- dresize
- Resize a Power-Safe (fs-qnx6.so) filesystem
- dvfs_client
- Client for interacting with a Dynamic Voltage Frequency Scaling driver
- dvfsmgr-*
- Dynamic Voltage Frequency Scaling driver
- fsencrypt
- Filesystem encryption manager
- fs-rcfs.so
- Shared object that supports the read-only compressed filesystem (QNX Neutrino)
- getfacl
- Get the access control list for a file or files
- io-usb-dcd
- Server for universal serial bus (USB)
- lsm-slip.so
- Loadable stack module that supports Serial Line IP (SLIP) network interface
- mkfatfsimg
- Build a FAT filesystem image (QNX Neutrino)
- mkqnx6fsimg
- Build a Power-Safe filesystem image (QNX Neutrino)
- mkrcfs
- Create a read-only compressed filesystem (QNX Neutrino)
- mkrcfsimg
- Create a read-only compressed filesystem image (QNX Neutrino)
- pathtrust
- Designate a file or filesystem as trusted, or see if it is
- plainrsa_gen
- Generator for Plain RSA keys
- racoonctl
- racoon administrative control tool
- slattach
- Attach serial lines as network interfaces
- slm
- System launch and monitor: launch complex applications consisting of many processes
that must be started in a specific order
- slogger2
- System logger
- slog2info
- Display messages from the system log
- startup-apic-32
- Startup for Intel Advanced Programmable Interrupt Controller (APIC) systems, using 32-bit physical addresses
- ulink_ctrl
- Control a USB DCD link
- wave
- Play back audio data
- waverec
- Record audio data
Differences between DHCPv4 and v6
There are a few key non-obvious differences between the new and old DHCP
that you should be aware of:
- As an extension, we've added two new command-line options to
dhclient:
- -m
- Write the resolver configuration to memory (using confstr)
rather than to /etc/resolv.conf.
- --no-resolve
- Don't install the resolver configuration at all.
- dhclient: All the local node configuration is taken care of
by the dhclient-script.
You're free to change and adapt this, which gives you a lot of flexibility.
We install a default version of this script in /sbin.
- The above -m and --no-resolve command-line options
are implemented by simply passing environment variables
RESOLV_TO_MEMORY and MODIFY_RESOLV
respectively to the script, and the default script handles them.
- The default dhclient-script overwrites the local
resolver configuration; it doesn't attempt to merge it.
This has the advantage that stale resolver configuration isn't kept
around, but also has drawbacks (see below).
- The old dhcp.client process would handle one interface;
the new dhclient can handle several interfaces in one process
(but the state machines are separate).
- The new client, relay, and server support IPv6 (the old ones didn't).
- The new client, relay, and server can be started in either
IPv4 mode (default, -4 command-line option) or IPv6 mode
(-6), but not both at the same time.
- If two or more instances of dhclient run at the same time,
there are potential races for any common configuration parameters they
may both receive, and this should be handled by the
dhclient-script.
One example of such configuration parameters is the
resolver configuration, and the solution in that particular case is to
run one of the clients with the --no-resolve command-line
option or change the default dhclient-script.
- The ARP probing feature in old dhcp.client isn't implemented
in the new dhclient, the place to invoke such functionality
would be in the dhclient-script.
- BUG: Failures of IPv6 Duplicate Address Detection aren't captured by
dhclient.
This should apparently be handled by the dhclient-script,
but currently the script's return values aren't processed,
so this won't work.
- We've added support for DHCPv6 over PPP interfaces (and we hope to get
ISC to officially support this patch).
- dhclient will not clean up if it's simply killed.
Instead, use the -r and -x options.
- IAIDs are sequence numbers that start based on the MAC address for
regular interfaces, but are simple sequence numbers starting at zero
for PPP interfaces.
- DHCPv6 uses DHCP Unique Identifiers (DUIDs), which just need to be
unique per node, not per interface as you might think.
A DUID is an opaque identifier to the peer, and the peer can use only
it to compare equality (==).
If a DUID is in the leases file, it'll be grabbed from there before trying
to create it. You can't form it from PPP interfaces; instead our patch
tries other interfaces (if they're specified on the command line).
You can also set the DUID manually, as described in the entry for
dhclient.conf.
- DHCPv4 isn't expected to work on PPP; if you try it, you'll get an
error message like this:
Unsupported device type 23 for "ppp0"
The DHCP utilities have the dependencies listed below.
These dependencies are really important only if you're creating an image
file; if you're booting from a full installation, they should already be
present.
- dhcpd
- Has a dependency on the following libraries/binaries:
- libcrypto.so
- libsocket.so
- libdhcpctl.so (built as part of io-pkt/services/dhcp)
- io-pkt-v4, io-pkt-v4-hc, or io-pkt-v6-hc
(depending on whether you're using IPv4 or IPv6)
Configuration files:
- /etc/dhcpd-dhcpv6.conf (required, DHCPv6 config file; you
can override it with -cf config_file on startup)
- /etc/dhcpd.conf for IPv4 (DHCPv4) operation.
- /var/db/dhcpd6.leases (required, database and server ID,
needs to be read/write; you can override it with -lf
leases_file on startup)
- /var/db/dhcpd.leases for IPv4.
You should generally create an empty leases file.
- dhclient
- Has a dependency on the following libraries/binaries:
- libcrypto.so
- libsocket.so
- io-pkt-v4, io-pkt-v4-hc, or io-pkt-v6-hc
(depending on whether you're using IPv4 or IPv6)
- /sbin/dhclient-script (required; you can override it
with -sf script-file on startup)
Configuration files:
- /var/db/dhclient6.leases (optional; if not present,
it will generate a new client ID on every startup; you can override it
on startup)
- /etc/dhclient-dhcpv6.conf (optional; defaults used if not
present; you can override it on startup)
- /etc/dhclient.conf for IPv4
- dhclient6.leases
- dhclient.leases for IPv4
- dhclient-script
- Has a dependency on the following libraries/binaries:
- ifconfig (which needs io-pkt-* and
libsocket.so)
- sh
- route
- hostname
- getconf
- setconf
- cat
- mv
- If /etc/dhclient-enter-hooks and/or
/etc/dhclient-exit-hooks exists,
then dhclient-script will run them too.
Configuration files:
- /etc/resolv.conf (optional; needed to update the
DNS server; must be read/write)
- dhcrelay
- Has a dependency on the following libraries:
- libcrypto.so
- libsocket.so
- io-pkt-v4, io-pkt-v4-hc, or io-pkt-v6-hc
(depending on whether you're using IPv4 or IPv6)
All configuration is done from the startup command line.
Changed content
- aps
- We've discontinued the bmp_safety policy for the -S option.
- chgrp
- There's a new -h option that makes this utility modify the symbolic link instead of
the referenced file.
- chkqnx6fs
- We've documented the -f and -S options.
- chown
- There's a new -h option that makes this utility modify the symbolic link instead of
the referenced file.
- coreinfo
- The following options are new:
- -i — Display process information.
- -l — Display the QNT_LINK_MAP note if present.
- -m — Display the memory map.
- -s — Display system information.
- -t — Display information about thread(s).
- -v[v...] — Be verbose.
- cp
- We've implemented these POSIX options:
- -H — follow symbolic links in source operands.
Symbolic links found in tree traversal aren't followed.
- -L — follow symbolic links.
- -P — don't follow symbolic links.
Because of these additions, the former -L (a QNX Neutrino extension)
is now -q.
- devb-ahci
- We've updated the options.
- devc-ser*
- All the devc-ser* drivers support a -v option that makes the
driver verbose.
- devc-serusb
- This driver supports CDC ACM; it automatically detects ACM devices, based on the USB Class code.
- devf-generic
- The devf-* drivers now support 32- and 64-byte error-correcting code (ECC) partitions.
The -x option now takes an argument that you use to specify which alignment to use.
- devi-hid
- We've updated the options.
- devnp-ncm.so
- The ext_name option makes the driver add the bus number and
device number to the network interface name.
- devu-ehci.so
-
- There's a new en_sched option that always enables the scheduler.
- We've documented the frame_list_size, num_itd, and
soft_retries options.
- dhcpd
- dhcpd.conf
- dhcpd.leases
- Updated to include support for DHCPv6.
Note:
When you invoke
dhcpd,
dhclient, or
dhcrelay, the command-line options indicate whether you want to
use IPv4 or IPv6.
The names of the leases, pid, and configuration files depend on which version you use:
IPv4 name |
IPv6 name |
dhcpd.conf |
dhcpd-dhcpv6.conf |
dhclient.conf |
dhclient-dhcpv6.conf |
dhcpd.leases |
dhcpd6.leases |
dhclient.leases |
dhclient6.leases |
dhclient.pid |
dhclient6.pid |
dhcpd.pid |
dhcpd6.pid |
dhcrelay.pid |
dhcrelay6.pid |
For example:
- If you start dhcpd with the -4 option (or without
specifying -4 or -6), it uses
dhcpd.conf, dhcpd.leases, and
dhcpd.pid;
- If you start dhcpd with the -6 option, it
uses dhcpd-dhcpv6.conf, dhcpd6.leases, and
dhcpd6.pid.
This naming scheme lets you run separate copies of dhcpd,
dhclient, dhcrelay and so on for the IPv4 and IPv6
protocols.
The only place where there's contention is in the updating of
/etc/resolv.conf, which is done by dhclient-script.
- dumper
- The following options are new:
- -b — attempt to slog a backtrace.
- -D path — the same as -d,
but without querying authman.
- -F — run at a fixed priority.
- -f — follow soft links for the creation of the dump files.
- -N max_files — save sequential dumps, to a maximum of
the given number of files.
- -S — disable the dumping of shared memory mappings.
- -U user_name or
-U uid[:gid[,sup_gid]*]] —
once running, run as the specified user, so that the program doesn't need to run as
root.
Note that SIGDEADLK and SIGEMT refer to the same signal.
We've added a sample program that registers for dump notifications.
- flashctl
- If you're using ECC partitions, you need to use the -b option to specify the
appropriate alignment.
- fs-dos.so
- We've added koi8r to the list of supported mapping values for the
codepage option.
- fs-etfs-ram
-
- We've documented the -k and -L options.
- Note that filenames that are more than 32 bytes long use two directory entries,
reducing the number of files that you can actually have.
- fs-qnx6.so
- The following options are new:
- trim — enable or disable support for TRIM, or choose to use discard instead.
- crypto — enable or disable encryption support.
- hogs
- The following options are new or have changed:
- -i iter — limit the output to the specified
number of iterations.
- -m [e][t][p][s] — specify the type of memory mappings
you want to include in the memory total for each process.
- -S [c|m|p] — sort the output by CPU (the default), memory, or
process ID.
- -% num [c|m] — show only processes
that consume this percentage or more CPU (c, the default) or memory (m).
- inflator
- There's a new -t option that you can use to specify the
maximum number of worker threads.
The default is 4.
- io-blk.so
- In order to reduce the size of io-blk.so, we've moved the character sets for
Japanese, traditional Chinese, and standard Chinese (code pages 932, 936, and 950) into a separate
library called charset.so, which io-blk.so loads only if needs
to mount a FAT volume, CD, or DVD that's formatted in one of these locales.
- io-pkt-*
-
- The documentation now mentions that io-pkt supports TUN and TAP.
- We've documented the generic driver option, unit=number, which
you can use to override the interface number.
- Note that in order to use SSL connections, you must have started
random
with the -t option.
- The term "threads" in the TCP/IP threads_* options is a misnomer;
it really refers to functional TCP/IP connections or blocking operations (read(),
write(), accept(), etc.).
It has nothing to do with the number of threads running in io-pkt-*.
- io-usb
-
- There's a new -C option that makes io-usb
never select a configuration at enumeration time (hubs excepted).
- We've documented the -h and -m options, which specify the
high watermark and the maximum number of threads in the thread pool.
- kill
- There's a new -a option that makes this utility signal all
processes whose application ID matches the value of the pid argument.
- ln
- Note that you can get some surprising results if you create a symbolic link to a directory that's a symbolic link
to somewhere else.
For more information, see
"Symbolic links"
in the Working with Filesystems chapter of the QNX Neutrino User's Guide.
- lsm-qnet.so
- We've added more details about use Qnet over a VLAN interface.
- mkefs
-
- The devf-* drivers now support 32- and 64-byte error-correcting code (ECC) partitions.
The new ecc_on attribute for mkefs lets you disable or enable ECC support.
The value of the attributes indicates which alignment to use.
- There's a new mtime attribute that you can use to set the timestamps of
files and directories.
- mketfs
- There's a new mtime attribute that you can use to set the timestamps of
files and directories.
- mkifs
-
- We've described the sched_aps=partition_name
modifier that you can use in a startup script to launch processes in an adaptive partition.
- There's a new mtime attribute that you can use to set the timestamps of
files and directories.
- mkqnx6fs
- There's a new -E option that you can use to enable support for file data encryption.
- mq
- New options:
- -U — once established, run as the given user,
specified either as a name or an ID.
- omshell
- Updated to include support for DHCPv6.
- on
-
- You can now optionally specify a polling interval, in milliseconds, for the -W option.
The default is 100 milliseconds.
- New options:
- -A — specify an ability to be allowed or disallowed.
- -ad | -ae — disable or enable
Address Space Layout Randomization (ASLR).
- -E — clear all environment variables, including any
preceding -e options.
- -e — define an environment variable for the child process.
- -L — specify a limit on a system resource for the child process.
- openssl
- Note that in order for openssl to be fully functional, you must have started
random
with the -t option.
- passwd
- This utility now has options that let you choose the encryption method:
- -d — DES
- -m — MD5
- -S — SHA-512 (the default)
- -s — SHA-256
The following options are also new:
- -t iterations — the number of times to iterate the hash.
- -w width — the width of the salt, in multiples of 8 bytes.
- pidin
-
- Note that this utility goes through all of the processes in the system, one by one, and retrieves state
information for each; it doesn't get the system state in a single snapshot.
Thus pidin's output reflects what was happening at the instant in time
when it queried each process, so you might see some anomalies, suchs as more threads running
than there are processors in the system.
- If you aren't logged in as root, pidin can't get
full information about processes owned by other users.
- There's a new backslash (\) format character that makes pidin
display the supplementary group IDs of the user who launched the process.
It's now included in the users shorthand form.
- There's a new O format character and libs shorthand form
that make pidin display the loaded shared libraries.
- There's a new ] formatting code that makes pidin
display the process's application ID.
- The R formatting code and the timers shorthand form
now display information about precise and tolerant timers.
- There's a new ^ formatting code and tolerance
shorthand form that make pidin display the process's default timer tolerance.
- Note that the -n option isn't compatible with the o format or the
extsched and fds shorthands; use
on -f remote_node pidin ... instead.
- pipe
- New options:
- -U — once established, run as the given user,
specified either as a name or an ID.
- procnto*
-
- In QNX Neutrino 6.4.0, the default value for EALREADY was the same as
EBUSY (corresponding to the -eo option);
in QNX Neutrino 6.6.0, it's changed to a different value (corresponding to -en).
- There's a new memory-manager option, -mc, that you can use
to tell the kernel to zero memory when it's freed instead of waiting until
the next time the memory is allocated.
You can use the -m~c option to explicitly request the default
behavior.
- The -ae support for procnto
for ARMv7 processors has been changed
to allow misaligned accesses to be performed in hardware.
This change means that ThreadCtl(_NTO_TCTL_ALIGN_FAULT, ...)
no longer changes the alignment-fault behavior on a per-thread basis
on these targets.
- The default umask used when creating the entries in
/proc/pid/as is now 0066
instead of 0022.
Note:
Opening /proc/pid/as for read-only
access succeeds, even if the file permissions would normally say that it
should fail with an EACCES.
Instead the kernel marks the OCB as allowing only devctl()
commands.
This prevents unprivileged processes from examining a process's memory,
but still allows a non-root pidin
to display some useful information.
- There's a new memory-manager option, -mX,
that makes the kernel fail any attempts by mmap() or
mprotect() to turn on
PROT_EXEC for a memory-mapped file mapping if the
file doesn't have execute permission for the client process; an error of EACCES
will be given instead.
The default -m~X option allows such attempts.
- You can append an s or S to the
-P priority option if you want out-of-range priority requests
to use the maximum allowed value (reach a "maximum saturation point") instead of resulting in an error.
- qcc, QCC
- There's a new -std=language option that gets passed to the
underlying tools.
- qconn
- Your target system now needs to include libtracelog.so.
- random
- New options:
- -U — once established, run as the given user,
specified either as a name or an ID.
- rpcbind
- This utility needs a writable /var/run directory in order to run.
- slogger
- New options:
- -U — once established, run as the given user,
specified either as a name or an ID.
- startup-apic
- There's a new -z option that makes startup-apic
use the 8254 as system clock instead of the default High Precision Event Timer (HPET).
- startup-* options
- There's a new -C option that makes the startup library clear (i.e., zero) any memory
that it allocates.
- tcpdump
- Note that you must be root in order to read packets from a network interface.
Reading a saved packet file doesn't require special privileges; you just need read permission for the file.
- tracelogger
- There's a new -p option that you can use to
specify the address of the physical memory to use for kernel buffers.
- waitfor
- You can now optionally specify a polling interval, in milliseconds.
The default is 100 milliseconds.
Errata
- devb-adpu320,
devb-aha8,
devb-ahci,
devb-btmm,
devb-eide,
devb-fdc,
devb-mvsata,
devb-ram
- The limit on I/O (i.e., the
lseek(),
read() and
write()
functions) depends on the type of filesystem mounted and on whether you use the 32- or 64-bit versions
of these functions.
The maximum number of blocks is 232.
- devb-umass
- This driver also supports disk options that control the driver's interface to
cam-disk.so.
- devnp-ecm.so,
devnp-ecm.so
- If you specify the pnp option, then it's when you use
ifconfig interfaceX destroy to remove the
last interface that the DLL is unloaded.
- fs-qnx6.so
- Use commas to separate the filesystem options.
- gcc
- The -fwritable-strings is obsolete and was removed in GCC 4.0.
- io-audio
- It's all right to start more than one instance of io-audio.
- mkefs,
mketfs,
mkifs
-
- The default value of the optional attribute is true.
- If you give a single path for a file specification, the file is copied from the host to the location
in the image defined by the prefix attribute.
If the path isn't absolute, the utility looks for it in the locations identified by the
search attribute.
- We've corrected the description of the followlink and type=dir
attributes.
- ntpd
- The default location of the NTP configuration file is /etc/ntp.conf;
there is no default symmetric key file.
- ntpdate
-
- The possible values of the -o option are 1, 2, 3, and 4. The default is 4.
- The default location of the symmetric key file is /etc/ntp.keys.
- ntpdc
- The version number for the addpeer can be 1, 2, 3, or 4, and defaults to 3.
- on
- You can't specify the sporadic scheduling policy with the -p option.
- QCC, qcc
- Note that the application binary interfaces (ABIs) for the Dinkum C++ and GNU C++ libraries are incompatible.
If you link a program against both libraries, you'll get a segmentation fault.
- random
- The /dev/random and /dev/urandom device entries provide
the same functionality.
- sysctl
- The kern.mbuf.msize variable is read-only.