Date of this edition: April 13, 2015
![]() |
Changes to these notes since June 28, 2012 are highlighted below
with this icon:
![]() |
Target OS: This development platform produces software that's compatible with targets that are running QNX® Neutrino® 6.5.0 SP1.
Host OS: You can install this package:
You must have already installed QNX SDP 6.5.0.
You can also install the QNX Neutrino RTOS as a virtual machine on VMware Workstation 6.5 or 7.0, VMware Player 3.0, and Microsoft VirtualPC 2007. We provide a VMware image of a runtime installation of QNX Neutrino; for more information, see “Using the VMware image of a QNX Neutrino runtime system,” below.
If you intend to use the QNX SDP on VMware, to ensure that VMware is supported for your host, search the compatibility guide located at http://www.vmware.com/resources/compatibility/search.php.
If you find problems with any virtualization environment, please post your findings in one of the forums on our Foundry27 community website, http://community.qnx.com/.
![]() |
|
Throughout this document, you may see reference numbers associated with particular issues, changes, etc. When corresponding with our Technical Support staff about a given issue, please quote the relevant reference number. You might also find the reference numbers useful for tracking issues as they become fixed.
For the most up-to-date version of these release notes, go to our website, www.qnx.com, log in to your myQNX account, and then go to the Download area.
![]() |
Make sure that Plug and Play OS is disabled in the BIOS before you run QNX Neutrino self-hosted. |
This service pack includes kernel memory management enhancements, io-pkt enhancements, new USB communication class support, updated support for the latest x86 platforms, Rob Krten's The QNX Neutrino Cookbook: Recipes for Programmers, and numerous bug fixes.
On ARMv6 and ARMv7 processors, the MMU allows page tables to be cacheable. This can significantly improve performance because the hardware page table walk can look up page table entries in the L1 or L2 caches instead of accessing main memory.
This behavior is processor-specific (some processors can look up only in the L2 cache, whereas others can look up in both L1 and L2). The libstartup CPU configuration data structures now enable the appropriate behavior for each CPU implementation.
Because this behavior is implemented only by ARMv6 and ARMv7 processors, it's available only using ARMLE procnto-v6 and ARMLE-v7 procnto variants. (Ref# 81892, 142187)
![]() |
|
ifconfig tun0 create ifconfig tap0 create
For more information, see the NetBSD documentation:
(Ref# 101145, 107307)
![]() |
You can't specify both a UUID and a volume name. |
After 6.5.0, the current version of QNX Composition Manager will be deprecated. A replacement subsystem tentatively called QNX Screen will be provided as part of a future SDP release.
We're deprecating the Photon microGUI and will remove it in a future release.
![]() |
The 6.5.0 versions of InterruptLock() and InterruptUnlock() aren't compatible with 6.5.0 SP1. If you use these functions, you must rebuild your programs in order to update the inline code. |
(Ref# 77236, 142152)
MALLOC_BAND_CONFIG_STR="8:16,32,0:24,32,0:32,32,0:48,24,0:64,24,0:80,24,0:96,16,0:128,8,0"
to:
MALLOC_BAND_CONFIG_STR="8:12,32,0:20,32,0:28,32,0:44,24,0:60,24,0:76,24,0:92,16,0:124,8,0"
The bands are now four bytes smaller. (Ref# 100244, 146824)
New drivers:
Other changes include:
(Ref# 133385, 159492)
as well as the following features:
![]() |
Don't mix ECC-enabled partitions and ECC-disabled partitions; the driver doesn't support this. |
The arguments to the -t option have changed. You can now specify the high water, low water, and maximum number of threads for the driver's thread pool.
We've documented the following options:
(Ref# 154800)
We've documented the following drivers:
![]() |
Use this function with caution if the HID device is part of a composite USB device. Issuing a device reset causes a low-level BUS reset for the entire device, which could potentially cause problems with drivers managing the other interfaces of a composite device. |
The new drivers include:
Other changes include:
Other changes include:
(Ref# 137666, 146600, 159635, 160941)
If you're interested in writing a new network driver, ask your sales representative for the Writing Native Network Drivers for io-pkt technote as well as some sample driver code. Both are available free of charge. (Ref# 88626)
(Ref# 73666, 142145, 154304)
See also the “What's New” appendix in the QNX Neutrino Library Reference.
as well as the following memory (-m) options:
and the following global (-o) options:
(Ref# 163533)
See also the “What's New” appendix in the Utilities Reference.
(Ref# 73666, 142145, 154304)
New functions:
Other changes include:
(Ref# 87028, 150556)
You can use LD_DEBUG_OUTPUT to specify the name of the file where the dynamic linker writes its output. The vulnerability occurs if you use LD_DEBUG and LD_DEBUG_OUTPUT with a setuid binary:
This could be exploited in different ways, including creating new files in arbitrary locations. We've addressed this issue by disabling the use of LD_DEBUG_OUTPUT with setuid binaries. (Ref# 84330, 85746, 90385, 142204, 142217)
We provide a VMware image of a QNX Neutrino 6.5.0 SP1 runtime system in target/650SP1-VM.tar on the installation DVD; it's also available in the Download area of our website.
To install this image, do the following:
Or:
If you find problems with any virtualization environment, please post your findings in one of the forums on our Foundry27 community website, http://community.qnx.com/.
The configuration file for enum-usb now supports a NoMSString option. Some devices don't support Microsoft-defined USB descriptors and will go haywire if queried for them. This option prevents queries from being made for these descriptors. (Ref# 92272, 103720, 142228)
We generate the QNX SDP binaries with debugging information (-g) and map files. With few exceptions, all binaries are available with debugging information, but this data as well as the .ident information are stripped and stored in a separate binaryName.sym file. These files are linked together, so gdb understands where to find the symbol data.
There's now no need for a separate debug version of all the binaries. There's a separate tar file containing all the .sym files that will be untarred alongside each binary. This file is available in the Download area of our website, as well as in the debugging_info directory on the QNX SDP DVD.
What it means to you:
These *-buildid.sym files are in CPU-specific tar files. The usage of these tar files is straightforward. Suppose you want to debug the ls command for x86. You could just add the entire set of debug files to your target (you need to be root, of course):
Then ntox86-gdb $QNX_TARGET/bin/ls would load the debugging symbols from the .sym file automatically. Since this is the full debugging information, you can point gdb at the location of source for ls.
You don't have to extract the entire tar file. In fact all that matters is that the .sym file be in the same directory as the binary. So you could simply copy $QNX_TARGET/x86/bin/ls and the x86/bin/ls-*.sym file (from the debug tar file) to your current directory, and then run gdb there.
In order to get a list of the source files used to build a binary (e.g. to determine the associated licensing), use the .sym file instead of the binary. So continuing with the example above, to get a list of the source files used in building ls, type:
use -s $QNX_TARGET/x86/bin/ls-*.sym
The following items will be removed from a future release of QNX SDP and will become part of a separate product:
![]() |
The Web Browser Engine in 6.5.0 SP1 doesn't include any ARMv7 binaries. |
After 6.5.0, the current version of QNX Composition Manager will be deprecated. A replacement subsystem tentatively called QNX Screen will be provided as part of a future SDP release.
We've deprecated the following items, and we plan to remove them from a future release:
(Ref# 77562)
We've deprecated the graphics drivers for chipsets that have been out of production for five years. Where possible, the source code for these graphics drivers will be posted on Foundry27.
![]() |
Experimental software is primarily provided for customers and the community to try out, and perhaps to get a glimpse of what might be in store for the future. For information about the use of experimental software, see the Commercial Software License Agreement (CSLA) or Partner Software License Agreement (PSLA) in the Licensing area of our website, http://www.qnx.com/legal/licensing/. |
The experimental items in QNX SDP 6.5.0 SP1 are:
![]() |
We've deprecated asynchronous messaging and will discontinue it in a future release. (Ref# 69138, 69784) |
QNX SDP 6.5.0 SP1 contains known issues in these areas:
![]() |
We're actively investigating all known issues. |
Workaround: Press Ctrl-C.
HEAD_LEGACY=1 ./aviage_installer.sh
Workaround: Manually update your PATH, so that it contains only the 6.5.0 version of $QNX_HOST/usr/bin.
sudo apt-get install ia32-libs
Answer “yes” to all the questions. (Ref# 70567)
chmod a+rw /etc/qnx/license/licenses
(Ref# 62419)
Workaround: To display the text correctly, open a web browser and view the license agreement .txt files located in base_dir/install/qnxsdp/6.5.0, where base_dir is where you installed SDP.
If you uninstall 6.5.0, the uninstaller checks to see if 6.3.2 is present. If so, it moves the cleanup utility back to its original location.
./uninstaller.bin -W beanDeleteConfigDir.active="False"
If you uninstall 6.5.0, the uninstaller checks to see if 6.3.2 is present. If so, it restores uninstaller.bin.
(Ref# 58784, 60037)
Workaround: Remove the extra qconfig string from the value of QNX_CONFIGURATION.
qnx632_base_dir/_uninstall/qnx632/uninstaller.bin -W beanDeleteConfigDir.active="False"
(Ref# 56879)
It does let you boot off an IDE CDROM, but won't let you install to an IDE disk; even if the real physical storage is an IDE device, VMware presents it virtually as one of the two aforementioned devices. (Ref# 51509)
Workaround: In order to install Neutrino on a VMware VM using the BusLogic SCSI controller emulation, you must first apply a driver update. We've included this update on the installation media:
For more information on installing driver updates, see “Updating disk drivers” in the Controlling How Neutrino Starts chapter of the QNX Neutrino User's Guide.
Workaround: Open the QNX SDP Activation dialog by selecting
from the Start menu, or by entering the following at the command prompt:drive:\Program Files\QNX Software Systems\bin\qnxactivate -a
Workaround: If you specify the band configuration, make sure that the bands are 4080 bytes or smaller, and that all band sizes are multiples of 8 bytes.
Workaround: Start procnto with the -mL option.
For example, the problem could occur when io-pkt replies to a client and becomes WAITPAGE-blocked because the client's memory isn't faulted in. The procnto thread that's dispatched to handle it then gets blocked waiting on the address space lock of the client process, which is currently owned by a procnto thread that was already trying to satisfy a page fault request that involved talking to NFS, which can't finish because io-pkt is blocked waiting for the lock to be released. (Ref# 62483, J382313)
Workaround: Disable lazy page faulting by specifying the -mL option to procnto.
cd /net/remote_machine/tmp find . -type f | xargs grep FAIL > report.txt /bin/sh: cannot fork - try again
It seems to be a problem with permissions. Piping the output of xargs to less works. (Ref# 29834, J166762)
Workaround: Log in as root.
(Ref# 29440, J166702, 29380, J166687)
(Ref# 156062, J383827)
Workaround: Specify the -h option for procnto-smp, to disable CPU halting in the idle thread.
Workaround: Bind all threads that mask and unmask interrupts so that the threads run only on CPU 0.
posix_memalign(&ptr, 128, 128 - 2 * sizeof (void*));
the allocator loops forever. (Ref# 179337, J184371)
Workaround: Change the band configuration back to the original 6.5.0 setting:
export MALLOC_BAND_CONFIG_STR="8:16,32,0:24,32,0:32,32,0:48,24,0:64,24,0:80,24,0:96,16,0:128,8,0"
mount -tqnx4 /home/myfs.img /fs/test
and you'll get a mountpoint called /fs/test, which is the size of the file and is formatted as a QNX 4 filesystem.
If you used fs-qnx6.so as the real filesystem on the hardware, and then created a QNX 4 or DOS filesystem inside a file residing on the Power-Safe filesystem, the host filesystem formerly could become damaged by the modifications to the hosted filesystem. We've fixed that, but the host filesystem might not be able to confer full power-loss safety to the (by design) not power-loss-safe QNX 4 or DOS filesystem. (Ref# 74580, J169426)
Workaround: Specify this attribute in the mkifs buildfile:
[image=0x700000]
Workaround: A requirement of startup code for PowerPC-based boards is to configure the DBAT0 register. The register is currently configured for a minimum size of 256 MB. Initializing DBAT0U[BL] to the exact (power of 2) size of physical memory will eliminate this situation from producing a machine check exception. Alternatively, if possible on the particular board, disabling the assertion of TEA will also prevent the errant (speculative load for a branch not taken) machine check when this specific situation occurs. This option should be considered in the context of the entire system. Please contact QNX for specific questions about these and other workarounds.
Workaround: Press F5 to start the debug shell; it simply starts fesh just after mounting the filesystems. If you want to run a consistency check a filesystem, run /sbin/chkfsys after the shell starts.
Workaround: Run the driver in PIO mode.
Workaround: Use the -R command-line option to diskboot (if you're booting from a CD, press Space when the “Hit space...” appears, and then press F3). Using this option prevents diskboot from restarting a devb- driver. The drivers are restarted if only a CD-ROM is found. In the case of this issue, the restart means devb-ahci and devb-eide compete for the same bus, which results in a hang.
Workaround: Contact Technical Support to get a customized utility that enables the interrupts.
Workaround: Disable legacy USB support in the BIOS.
Workaround: Relink any SH4 binaries that you linked with QNX Neutrino 6.2.1 or earlier.
# uname -a QNX renesas_sh7785 6.5.0 2008/09/26-04:27:12EDT SDK_7785 shle # uname -a | grep renesas QNX renesas_sh7785 6.5.0 2008/09/26-04:27:12EDT SDK_7785 shle # uname -a | grep shle QNX renesas_sh7785 6.5.0 2008/09/26-04:27:12EDT SDK_7785 shle # uname -a | grep renesas | grep shle #
(Ref# 62242)
Workaround: Rebuild the startup binary using QNX SDP 6.5.0 SP1. The resulting startup will work with 6.2.1 or later.
The PCI server code allocates one byte low of PCI memory and one byte high of PCI memory and keeps these values as the range of low and high PCI memory. It does the same for I/O space. The server then scans all devices in PCI space and checks the I/O and memory ranges for each device against the stored range values to see whether they're valid or not. If a range check fails, the device is placed in the disabled state and is initialized when an application calls pci_attach_device(). The PCI server code is standard across all platforms and only the low-level, hardware specific portion changes, so there is a generic portion to all the drivers. (Ref# 50790)
(Ref# 61821)
Workaround: Relink the driver binaries on Neutrino 6.5.0 SP1. For updated source code, see Foundry 27 on our website, or contact Technical Support.
(Ref# 41600)
Workaround: Use the onboard graphics controller instead. If you set the onboard display as the primary controller, any installed PCI graphics cards will still be detected / trapped.
Workaround: Use the devg-svga.so or devg-vesabios.so graphics driver instead, or manually edit /etc/system/config/display.conf to find a display mode that works with devg-radeon.so.
Workaround: Use phgrafx to change the driver to devg-i830.so. You can also avoid the problem by exiting to text mode, and then typing shutdown at the command prompt.
If you also have a Microsoft USB mouse connected, you get a “devh-usb.so - Unable to attach to USB device 1 (10)” message. (Ref# 41122)
Workaround: Force the driver to use speed and duplex settings that it supports (10 and 100 Mbit/s).
In this release, umount() sets errno to EBUSY if any pending or in-progress flash filesystem operations exist on the filesystem unless you specify _MOUNT_FORCE. The same applies for scripts that call the umount utility without the -f option. This has implications for applications that expect _MOUNT_FORCE behavior but don't specify it.
The IDE contains the following known issues:
See also the list of host-specific issues, later in these notes.
Workaround: Use the search in
.Subscription License Expired - Your QNX License could not be obtained, some QNX functionality will be disabled.
This message appears only if QNX Software Systems has a contract with you to support server-based licenses. It indicates one of the following:
(Ref# 51688, J236666)
An exception occurred while launching help. Refer to the log for more details.
The problem could be that the IDE couldn't find your default browser. Check the web browser listed in your preferences (see
) to make sure it's a browser that's installed on your system.If this doesn't fix the problem, check the log file; see
. If you've installed the Eclipse SDK, use the Error Log view. (Ref# 29971)Workaround: If you're profiling an application on a multiprocessor system, bind all the threads so that they run on processor 0.
Workaround: When you disable Mudflap and enable Application Profiling in the Launch configuration, click Apply, then Close, and then run the application.
Workaround: Build everything with debugging information, or use -gdwarf-2 instead of -gstabs.
Workaround: Close and then reopen the System Profiler perspective to restore the summary information.
Workaround: Run the process as the root. If the process is launched using qconn, then qconn should be run as root.
Workaround: If your program uses fork, you must disable the control thread of the Memory Analysis Tool (from the Launch Configuration, select
and disable Create control thread).In addition, it is not possible to attach to this type of process because the Memory Analysis Tool needs to run a control thread.
all : cc2 cc2 : cc2.o cc2.o : cc2.cpp
then the link stage doesn't work properly. (Ref# 62006)
Workaround: To avoid this, use an explicit rule for linking:
cc2 : cc2.o $(CXX) -o cc2 cc2.o -lang-c++
Workaround: Use an explicit target in the make command.
(Ref# J623946)
Workaround: Change the memory location to 8c004000 from 8c002000 (e.g., [image=0x8c004000]).
Workaround: If you need a mini serial port driver for the Media5200b, you can modify the one for the Lite5200B. You need to change the interrupt number to 68 and use PSC6, GPIO6.
Workaround: You need change the baud rate to the correct one below:
Workaround: Change the following code so that it doesn't disable Rx (SH_SCIF_SCSCR_RE).
In mini_serial.c:
if (state == MDRIVER_INTR_ATTACH) { set_port16(mdata->port + SH_SCIF_SCSCR_OFF, SH_SCIF_SCSCR_RE|SH_SCIF_SCSCR_RIE, 0); return 1; }
In minidriver-serscif.c, change this:
out16(port + SH_SCIF_SCSCR_OFF, SH_SCIF_SCSCR_RE|SH_SCIF_SCSCR_RIE);
to this:
out16(port + SH_SCIF_SCSCR_OFF, in16(port + SH_SCIF_SCSCR_OFF)|SH_SCIF_SCSCR_RIE);
The baud rate and clock for Biscayne should be 57600 and 33333333.
ifconfig iface_name up
ifconfig iface_name scan
don't work individually for Wi-Fi drivers. (Ref# 61246, J393284)
Workaround: Combine the commands:
ifconfig iface_name up scan
Workaround: Use the setconf _CS_DOMAIN command to change the domain name to something else, and then change it back to its original value.
Workaround: When you're using Qnet with an Ethernet driver that's enabled to use jumbo packets, you should set the cluster size (the mclbytes option to io-pkt*) to be the same as the packet size (the ifconfig if_name mtu command for the driver). This ensures that the packet buffers that Qnet uses are contiguous in memory.
If you specify a jumbo packet size larger than 4 KB (the default page size), you must additionally specify the pagesize=X option to io-pkt, with the same value as the mclbytes=X option. For example, to use 8100-byte packets with devnp-i82544.so, do the following:
io-pkt-v4 -d i82544 -p tcpip pagesize=8192,mclbytes=8192 ifconfig wm0 mtu 8100 mount -T io-pkt lsm-qnet.so
![]() |
Be sure to mount Qnet after you change the MTU of the interface with ifconfig. |
If you now type:
cat /proc/qnetstats
you can see that the Qnet L4 has an MTU of 8096, which it learned from the driver (remember the 4 bytes for the trailing CRC).
![]() |
All the Qnets on your LAN must have exactly the same MTU. |
You can specify a particular MTU to Qnet (which can be the same or less than the driver-advertised value) with the mtu_en=X option.
mount -u cifs_mountpoint
or by calling mount() with the _MOUNT_REMOUNT flag, the filesystem is unmounted. (Ref# 77893, J169740)
Workaround: Start separate client (fs-nfs2, fs-nfs3) processes for each server you wish to mount.
Workaround: Your resource manager must handle the raw QNX messages until this is corrected.
Workaround: Drivers must accommodate for this by checking the length of the data in the mbuf and ignoring the mbuf if the length is zero.
Workaround: Relink the applications against the newer version of imglib.a.
Workaround: Do the following:
For more information about display.conf, see io-display in the Utilities Reference.
slay io-display
and then at the prompt type:
io-display -dvid=0x8086,did=MypciDeviceID
where MypciDeviceID is the PCI device ID for your specific device.
Workaround: Use Windows Security Properties to set the file permissions to give other users access.
Workaround: Configure Windows to unblock. Once you've done this, Windows won't display the security warnings when you restart PhAB.
PhAB: Can't open: "clipboard.phab" (Permission denied). Please resolve the problem and re-try this operation. (No error)
Thus, copying and pasting is impossible. (Ref# 39879)
Workaround: Make sure that your HOMEDRIVE and HOMEPATH environment variables are set to point to a directory that you have permission to write into.
PhAB for Windows uses the HOME environment variable if it's set, otherwise it internally sets HOME to HOMEDRIVE followed by HOMEPATH. If these aren't valid, then PhAB will encounter difficulties.
Workaround: Edit a copy of the file and remove the leading slashes.
For information about creating a runtime QNX Neutrino system, see the How to create a Runtime Kit from the QNX Software Development Platform technote in the installed documentation.
Workaround: Do the following:
eval `qconfig -n "Installation_name" -e`
For example, to switch to 6.3.2, run this command:
eval `qconfig -n "QNX Momentics Development Suite 6.3.2" -e`
Workaround: This may be related to Phindows and PhAB's use of Direct3D double buffering, which is redundant when the Vista Aero compositing is enabled. To disable double buffering:
Workaround: If you want to work with Microsoft Visual Studio (MSVS) after installing QNX Momentics on the same system, do the following:
set MAKEFLAGS=saved_makeflags_value
In order to install or use Automated License Management, you must have logged in as an administrator and disable UAC. (Ref# 77791)
Workaround: To disable UAC on your Windows Vista configuration:
You can reenable User Account Control by selecting the Enable UAC line and then clicking the Launch button.
![]() |
Disabling UAC bypasses some security features. |
Workaround: Modify your user permissions. For instructions about changing these permissions, see the steps in the workaround for the problem (Ref# 44027) above.
Workaround: If you want to use the QNX utilities for find, sort, and split from a command prompt or shell prompt, specify a fully qualified path to any of the QNX executables.
Workaround: See the detailed documentation at http://ctags.sourceforge.net/ctags.html.
Input file specified ctags: cannot sort tag file : No error
The ctags utility still generates tag files; however, they won't be sorted. (Ref# 43530)
Workaround: Manually call the QNX sort on the tags file.
Workaround: Log out and back in again, and then start the activation program manually:
/etc/qnx/bin/qnxactivate -a
Workaround: Back up your 6.4.1 licensing library, and then replace it with the 6.5.0 version. For example:
cp /opt/qnx641/host/linux/x86/usr/lib/libqnxlic.so /opt/qnx641/host/linux/x86/usr/lib/libqnxlic.so.original cp /opt/qnx650/host/linux/x86/usr/lib/libqnxlic.so /opt/qnx641/host/linux/x86/usr/lib/libqnxlic.so
someUser@ubu90464bit:~$ qde Gtk-Message: Failed to load module "canberra-gtk-module": /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so: wrong ELF class: ELFCLASS64
(Ref# 71246, J330708)
Workaround: In the IDE, select
, and then specify an external browser.Workaround: Do the following:
sudo apt-get install xulrunner
-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner/xulrunner
Workaround: Edit /etc/nsswitch.conf. On the hosts line, move dns from the end to between files and mdns4_minimal.
After you've installed QNX SDP, you'll find an extensive set of HTML documentation:
${QNX_TARGET}/usr/help/product/momentics/bookset.html
The “roadmap” page contains links to the various HTML booksets that accompany the OS. We recommend that you start with Welcome to the QNX Software Development Platform for an overview of QNX SDP. Next, see 10 Steps to Developing a QNX Program: Quickstart Guide for a short tutorial that will help you get started, and then refer to the other documents (System Architecture, QNX Neutrino Programmer's Guide, Library Reference, Utilities Reference, and so on).
You can install and work with multiple versions of QNX Neutrino. Whether you're using the command line or the IDE, you can choose which version of the OS to build programs for. For more information, see the IDE User's Guide or the QNX Neutrino Programmer's Guide.
To obtain technical support for any QNX product, visit the Support area on our website (www.qnx.com). You'll find a wide range of support options, including community forums.
For questions about installing and using QNX SDP, see the QNX Momentics Getting Started forum on our Foundry27 site, http://community.qnx.com. There are other forums for specific topics, including the QNX Neutrino RTOS, development tools, networking, Board Support Packages, and so on.
The problems fixed in QNX SDP 6.5.0 SP1 include the following:
Change | Ref# |
---|---|
The devn-asix.so driver now supports the Asix 88172A chipset. | 69383 |
The devc-serusb driver now supports some new USB modems, including the FTDI Quad RS232-HS, ZTE MF668 (Rogers Rocket Stick), and Sierra Wireless USB 598. | 73383 |
When an application blocks as a result of a receive on an asynchronous or global channel, the transition to STATE_RECEIVE is now correctly logged. | 76574 |
We've corrected a problem in the filesystems' inode caches that could cause a lockup if many threads were performing simultaneous open/close/unlink operations in a loop. | 77156 |
The fs-dos.so and fs-udf.so filesystems now support Asian character sets, code pages 932, 936, and 950. (Case ID 103086) | 78317 |
We now ship the <pps.h> header file. (Ticket ID 91172). | 78433 |
We've corrected an issue with inode caching that could sometimes cause corruption in a Power-Safe (fs-qnx6.so) filesystem. | 78703 |
We've corrected an issue with the UDF filesystem which could cause an exception or other unexpected behavior on CDs using the Rock Ridge extension (RRIP). | 80829 |
The dladdr() function now provides the full path (instead of the base name) of the object, in order to match the behavior on other OSs. | 80928 |
We've fixed a memory leak that occurred when you used gf_draw_polyline() with a pen width of 2 or more. | 88440 |
We've fixed a bug in fs-dos.so, where a 64-bit inode value could be implicitly truncated to 32 bits. As a result, two different files could have had the same inode, which caused confusion (e.g., with inflator, which assumes that inodes are unique). | 95577 |
If you mount a USB device that contains a DOS filesystem using cp936 (Chinese code pages), it's now possible to use cd to enter a folder that has a Czech name. (Ticket ID 00108005) | 96652 |
We now ship an ARMv7 variant of devi-hid. | 112291 |
The USB stack now supports composite HID devices. (Ticket ID 00111514) | 116230 |
We've corrected an issue that could sometimes cause sporadic and inexplicable “ldd:FATAL: Attempt to call unresolved object” errors. | 116675 |
EFS images built by mkefs on Windows for bid-endian targets can now be mounted correctly. | 117128 |
A server thread no longer loses its priority boost when it unlocks a mutex that it acquired before the priority boost. | 119518 |
We've fixed an SMP race condition between a long and a short message of equal priority on the same channel that could happen if both were preempted. | 124250 |
Pregrowing a file beyond the capacity of the Power-Safe (fs-qnx6.so) filesystem no longer causes the filesystem to report an error of EBADFSYS. | 125537 |
The fdisk utility no longer experiences division-by-zero errors when a USB key reports 0 track sectors or heads. (Ticket ID 00112455) | 126016 |
The Qnet enforce_crc=1 option works again. (Case 00112528) | 127401 |
The devnp-e1000.so driver now makes sure that the PHY is reset before the rest of the driver is started. | 129010 |
The io-pkt-v6-hc manager no longer does a v6 route lookup if it has a valid v4 route. This eliminates a long delay when sending/receiving data over a socket. | 129214 |
We've fixed an issue that sometimes caused delays when two UHCI USB serial devices exchanged data. | 129326 |
The devc-serusb driver now handles the case where there isn't enough memory to transfer data. After multiple consecutive errors, receiving is disabled; you can attempt to reenable it by setting the CREAD terminal flag. | 131276 |
If start io-usb with the the -d ohci ,,,num_td=8, and connect an iPod through a full-speed USB hub, io-usb no longer crashes on playback from the iPod. | 131372 |
The devb-loopback driver has two new options, heads and tracks, that let you specify the disk geometry. | 133385 |
We've corrected an interaction between sending a message on a global channel and replying to a remote client, that led to a thread's being left in a reply-blocked state forever. | 133467 |
The io-pkt-* managers now have a -P option that you can use to specify the priority of the main thread. (Case 00113545) | 135755 |
The io-audio manager now has a data_thread_prio option that you can use to specify the priority of its sw mixer threads. (Case 00113545) | 136343 |
The io-usb utility now supports a -e option that you can use to specify the priority of the enumerator thread.(Case 00113545) | 139522 |
We've corrected an issue that sometimes prevented threads using round-robin or sporadic scheduling from being rescheduled correctly. | 142140 |
Calling MsgCurrent() on the rcvid pertaining to a low-priority client no longer causes a priority boost given to you by a blocked high-priority thread to be lost. | 142142 |
The fdisk utility now supports logical partitions and multiple partitions of the same type. | 142143 |
As a QNX Neutrino extension, the time you specify for the sleep utility now can be a floating point number, so you can specify fractions of seconds. | 142144 |
We've fixed a caching issue (caused by a P4080 errata) that sometimes caused random crashes in the last loaded DLL on multicore systems. | 142150 |
We've corrected an error in the handling of DT_FINI_ARRAY. For more information, see “What's new: Libraries” in these release notes. | 142152 |
The fdisk utility now supports logical partitions and extended partitions. | 142153 |
We've corrected an initialization issue for the D-Link DUB-E100 Ethernet Dongle that used to cause io-pkt-v4 to not work with the dongle. | 142154 |
The name of the VMware image is now correct. | 142155 |
We've corrected a memory leak in gns. | 142156 |
Serial drivers no longer send warnings about buffer overruns to the system logger if nothing has yet connected to the device. This warning is re-enabled once a byte is successfully transmitted without an overrun or the FIFO is flushed. | 142159 |
A gns running in client mode no longer crashes when it performs an open() for a non-_FTYPE_NAME file type for the local reflection of a global name (/dev/name/global/global-name) and that name was attached on a remote node, the name's cache entry timed out (usually after 20 minutes), and the network connection to the server is now broken. (Case 103808) | 142160 |
We've worked around the P4080 CPU 22 Errata: “If an asynchronous interrupt occurs near the same time that a stwcx. is executed, the cacheline the stwcx. is accessing may become stale in that core's backside L2. Any future load or lwarx instruction to that cacheline could then access the old data.” | 142162 |
The devnp-e1000.so driver no longer reports that a link is down when it really isn't. (Ticket ID 00103859) | 142164 |
The devn-pegasus.so driver now supports the busnum and devnum options. | 142165 |
The devb-loopback driver is now able to mount images that are larger than 2 GB. (Ticket ID 91175) | 142168 |
We've corrected an issue in ThreadDestroy() that sometimes caused a kernel crash on ARM systems. (Ticket ID 00104295) | 142172 |
The devc-serusb driver now supports a DCMD_CHR_RESET devctl() command that resets the device. Not all drivers make use of this command. | 142175 |
We now provide a PIC version of libps.a. | 142176 |
We've corrected an issue with mapping and unmapping memory that could have led to the fragmentation of virtual memory. (Ticket ID 00104760) | 142178 |
The audio drivers now use the shared DMA library instead of the static library, to ensure that the constructor can successfully initialize shared memory. | 142180 |
The kernel on ARM platforms no longer crashes when you repeatedly call ThreadDestroy(). (Ticket ID 00104295) | 142181 |
The enum-usb utility now supports devices that don't have an interface 0. | 142183 |
We've corrected the fp_rounding() function so that it sets the L bit and the mask so that older processors (that don't implement the L bit) act as though the mask were set. (Ticket ID 00104989) | 142185 |
The devnp-speedo.so driver no longer crashes when used with io-pkt-v6-hc. (Ticket ID 00104744) | 142186 |
The dhcp.client utility no longer adds duplicate entries to /etc/resolv.conf. | 142189 |
We've updated the devnp-e1000.so driver so as to reduce the time required to establish connections. | 142190 |
TimerTimeout() no longer includes internally used bits in the flags that it returns. | 142191 |
We've updated the devn-pegasus.so driver so that removing the Pegasus dongle from a hub no longer causes io-pkt-v4 to spin. (Ticket ID 00105359) | 142192 |
We've corrected an error in fs-udf.so that sometimes caused devb-eide to crash. | 142194 |
Removing the dongle while the devn-pegasus.so driver is being initialized no longer puts the driver into a bad state. | 142195 |
A deadlock no longer occurs in the block I/O drivers when you remove the device while the it's still being mounted. (Ticket ID 00105360) | 142197 |
The devn-pegasus.so driver now uses a timeout for control operations instead of using infinity. | 142198 |
We've fixed the possibility of excessive interrupt nesting due to heavy IPI activity in the ARM kernel. | 142199 |
We've corrected an issue that occurred when a thread that called TimerTimeout() was preempted and moved to STATE_READY before it could call SyncCondvarWait(), and another, higher priority, thread blocked on a mutex that the first thread held. The mutex priority-inversion code would then boost the priority of the first thread, but on SMP machines erroneously cleared the time-out flags. | 142200 |
The procnto-v6 kernel now uses the correct cache color for alias mapping used to manipulate breakpoints. It used to be possible for the dcache to contain a line for the “real” virtual address which would contain the previous unmodified value. In this case, the undefined instruction exception handler would read the faulting address and not see a breakpoint instruction so it would raise a SIGILL. | 142201 |
The chkqnx6fs utility no longer loops if corruption in the filesystem has altered the number of indirect levels. | 142203 |
For security reasons, the use of LD_DEBUG_OUTPUT with setuid binaries is now disabled. For more information, see “What's new: Security” in these notes. | 142204 |
We've added a mutex to the devu-uhci.so driver, so io-usb no longer crashes while handling certain error conditions. | 142205 |
We've adopted the latest P4080 U-Boot, which supports 36-bit physical addresses. | 142206 |
A call to open( "/proc" ) no longer erroneously fails because of a previous failed close() on a file description to procnto. | 142207 |
If a shared object that contains text relocations is remapped as private, pidin mem now displays the correct name (appended by “!”), instead of zero. | 142208 |
When MSI interrupts are requested, the PCI server now correctly allocates every second IRQ instead of allocating interrupts from the entire IRQ list. | 142210 |
The devnp-e1000.so driver now supports Intel 82579 chipsets. | 142211 |
There's a new hidd_get_interface_string() function that you can use to retrieve the HID interface descriptor string. | 142213 |
If a client unblocks a blocked read over Qnet by sending SIGINT to the thread, the server handles the unblock request and releases the client with EINTR. If the client closes the file and reopens it after a short delay, the server no longer erroneously receives a file open callback with the _NTO_MI_UNBLOCK_REQ flag set in request's _msg_info structure. | 142214 |
We've updated io-usb and some USB components to work around some hardware issues. | 142215 |
The hidd_send_report() function now reports an ETIMEDOUT error when a device times out. | 142216 |
The devf-generic driver no longer leaks memory when a customer application opens and closes a connection to it. | 142218 |
The devb-eide driver now recognizes drives that are larger than 127 GB. | 142219 |
Synchronization objects that are in x86 big pages are now cleaned up correctly. | 142220 |
In order to make startup faster and reduce jitter, nanospin_calibrate() can now read the calibration data from values stored in the system page. The startup for some boards now includes an -o option that you can use to specify the calibration data (100 loop time and overhead) to store in the system page. | 142221 |
We've corrected a threading issue that sometimes made io-pkt crash. (Ticket ID 91482) | 142222 |
The etfsctl utility now properly handles bad blocks. | 142223 |
The io-pkt manager with the devnp-e1000.so driver no longer sporadically hangs after rebooting. | 142224 |
The Intel HDA Audio driver (deva-ctrl-intel_hda.so) now supports the Cirrus CS4207 Audio codec. | 142225 |
We've corrected an issue that could corrupt messages (especially large ones) on PPC BookE systems. | 142226 |
The enum-usb utility's configuration file now supports a NoMSString option that prevents queries from being made for a Microsoft-defined USB descriptor. Some devices that don't have a descriptor go haywire if such a query is made. | 142228 |
The pidin -F "%M" command no longer crashes. We've also improved the way that this format code and the -M memory options work. | 142231 |
You can now specify a 64-bit offset when mounting an IFS image. | 142232 |
We now ship an ARMv7 version of devn-fd.so. | 142233 |
Embedded Transaction filesystems now correctly handle orphaned directories. | 142234 |
The devh-usb.so driver now has a priority option that you can use to change the priority of the removal thread. (Ticket ID 00107965) | 142236 |
The fs-udf filesystem no longer truncates a CD volume label that contains two periods in what appears to be the filename extension. | 142237 |
The mkqnx6fs utility now has a -v option that lets you specify a volume name of up to 16 characters. Note that you can't specify both a UUID and a volume name. | 142239 |
Chinese SD and USB volume labels that include an English character are no longer malformed in HMI and Photon. (Ticket ID 00108045) | 142241 |
We've corrected io-blk.so's cache coherency function to dereference the correct vnode. | 142243 |
We've moved the packing directives in <pci.h>, so that the order in which you include this and other headers doesn't affect the alignment of pthread_mutex_t in structures. | 142244 |
There's a hidd_device_reset() function that lets you reset a human interface device. For more information, see “What's new: Human interface device drivers (devh-*)” in these release notes. | 142245 |
The enum-devices utility no longer uses just the modification time to determine whether or not a configuration file has changed. Using just the modification time was a problem if you used the mkifs -nn option to set all modification times to 0. | 142246 |
The mkifs utility now uses the correct linker for ARMv7 images. (Ticket ID 00109690) | 142247 |
While building the node tree, usbd_parse_descriptors() no longer wrongly links a descriptor that should be a child of an interface descriptor as a sibling instead. (Ticket ID 00109414) | 142248 |
The usbd_parse_descriptors() now leaves class and vendor-specific descriptors untouched, instead of endianizing and making them alignment-safe. (Ticket ID 00109791) | 142250 |
On ARM, gcc doesn't preserve callee-save registers such as LR for functions marked as noreturn. We've modified the code for abort() so as to make it possible to determine who called it. | 142251 |
The hidd_report_detach() and hidd_reports_detach() functions no longer SIGSEGV if you call them from an insertion callback. | 142252 |
The libimg library now supports the invocation of the set_value_f() callout when progressive JPEGs are loaded via img_load*(). | 142253 |
The # key now works correctly on the German/Austrian keyboard layout based on the German standard DIN 2137-2. | 142254 |
The devb-ram driver no longer crashes when the capacity is less than the minimum size for a QNX 4 filesystem. | 142255 |
We've fixed a timing issue that caused a crash when a USB device was inserted or removed just as the client driver was detached from a removed device. | 142256 |
All the meta data for Joliet filesystems is now handled properly. | 142257 |
We've corrected a timing issue that caused problems when you called hidd_device_reset() just after a device has been inserted. | 142258 |
We've improved nanospin_calibrate() so that it isn't affected by interrupt latency. | 142259 |
We now ship an ARMLE-v7 version of fs-etfs-ram. | 142260 |
The enum-usb utility now starts the correct driver for MTP devices in USB mode. (Ticket ID 00110106) | 142262 |
Empty CD labels are now displayed as an empty string, to be consistent with Windows. | 142263 |
The usbd_parse_descriptors() function no longer goes into an infinite loop when parsing devices with several vendor-specific descriptors. | 142264 |
The x86 kernel with Physical Address Extension enabled no longer crashes when a user thread references addresses above 0xff000000. (Ticket ID 91857) | 142265 |
The devi-hid manager now has an -R option that lets you specify the display resolution. If you specify this option, devi-hid doesn't try to use the graphics framework or Photon to determine the resolution. | 142266 |
The devf-generic driver now supports a -x option that enables software ECC mode, and a -D option that enables the automatic detection of ECC mode. | 142267 |
We've improved some of the settings that fdisk suggests in interactive mode. | 142268 |
By default, lsm-autoip.so now has the link local and routeable IP address behave as aliases and co-exist. There's now an old option that makes the module attempt to manage the link local network using a routing table. (Ticket ID 90966) | 142269 |
The dhcp.client utility now runs an optional script, /etc/dhcp/dhcp-check, that takes the environment as dhcp-up does, but returns a value indicating if the configuration is acceptable (0 means OK; other values result in a DHCPDECLINE). | 142270 |
The dhcp.client utility now has an -H option that indicates that you don't want to apply the hostname locally. This could be useful in cases where you use the -h option to identify the client, and you want to apply a different hostname locally, or you simply wish to ignore the server hostname assignment. (Ticket ID 91459) | 142271 |
We've included a correction in the handling of DIOCCHANGERULE from the NetBSD code. (Ticket ID 91968) | 142272 |
We've corrected a memory leak that occurred when you called getaddrinfo() or gethostbyname_r(), specifying a host that didn't exist. | 142275 |
io-pkt* no longer crashes if you slay it after starting qconn. | 142276 |
We've corrected a race condition that sometimes occurred if you used io-pkt with the -t2 option. This race condition caused the thread pool to be empty when it shouldn't have been. | 142279 |
io-pkt* now supports the ALTQ feature. You can use pfctl to manage it. | 142280 |
We've corrected the endian-swapping macros so that gcc optimizes them correctly. | 142281 |
We've corrected some issues concerning alignment and mutex initialization in the devnp-e1000.so driver. | 142282 |
When you use fdisk to add partitions, the start and end LBA addresses are now aligned on cylinder boundaries. | 142283 |
We've corrected some off-by-one errors in fdisk's interactive mode. Note that you can no longer edit the start and end cylinders of an extended partition. | 142284 |
The pppd daemon no longer loops if its database is corrupted. | 142286 |
We no longer not allow recursive RFC3173 IPComp payloads, in order to address security vulnerability CVE-2011-1547. | 142287 |
We've fixed an issue that sometimes caused io-pkt-v6-hc to fault during initialization. (Ticket ID 91832) | 142288 |
If Unix domain socket corruption occurs, killing sshd no longer crashes io-pkt-v4-hc. (Case 109797) | 142289 |
The pfil_ipsec option now works correctly with TCP streams. | 142290 |
The PF_KEY interface now notifies the client of an IPSec SA softtimer expiry if no data has been sent. | 142291 |
If you try to read a PPS object, and the buffer you provide is too small, you now correctly get an error of EMSGSIZE. | 142292 |
We've cleaned up some warnings that used to occur when you compiled BSP source code. | 142293 |
The Power-Safe (fs-qnx6.so) filesystem now has an alignio option that makes the filesystem try to align all reads and writes in sizes and offsets of the file system block size. | 142294 |
We've fixed some issues that prevented UDF-Multisession CDs from being properly loaded. (Ticket ID 00110586) | 142295 |
The pthread_mutex_timedlock() function's behavior is now compliant with POSIX. | 142296 |
The enum-usb utility now recognizes the Philips GoGear Muse in both MSC (umass) and MTP (PFS) modes. | 142298 |
The getifaddrs() function no longer returns a transient ENOMEM error when the interface list is growing. | 142301 |
Issuing an ifconfig destroy command for the J5 WLAN driver no longer causes the system to freeze. | 142303 |
The fdisk command now correctly reports a size of zero for empty partitions. | 142304 |
Qnet now correctly clears the l4 list when an interface is removed (destroyed). We've also corrected an issue where a data structure was accessed after it was freed. (Ticket ID 92074) | 142305 |
The devc-serusb driver now has a drt option that lets you specify the data-ready timeout. | 142306 |
If you try to connect a corrupt USB stick, the system no longer gets into an endless “Loading...” loop. (Ticket ID 00111735) | 142307 |
The devi-hid driver can now switch to 4-point calibration from the default 3-point. | 142309 |
We've fixed a potential race condition in iofunc_attr_unlock() that could have caused multi-threaded resource manager threads to stay mutex-blocked forever. | 142312 |
The devc-ser8250 driver no longer attempts to read from the write-only FIFO Control register (FCR). | 142315 |
The devc-serusb driver now supports the Cinterion AHx module. | 142316 |
The io-pkt manager no longer crashes because of a corrupt mbuf chain after IPSec key negotiation has been established. | 142317 |
The fs-dos.so filesystem now supports a DCMD_FSYS_LABEL_RAW devctl() command that you can use to get the raw volume label before any character conversions are done. | 142318 |
We've fixed a security vulnerability in the phuser utility that could have allowed a normal user to gain root access. This issue was reported by an anonymous researcher working with the SecuriTeam Secure Disclosure project. | 142322 |
When you're tracing in ring mode, kernel buffers are now filled to 95% before the kernel moves to the next buffer. In linear mode, buffers are filled to 70% before being flushed. (Ticket ID 90752) | 142442 |
Audio dropouts no longer occur while playing from an iPod. (Ticket ID 90795) | 142443 |
The code that clears a stalled USB endpoint now returns an appropriate error code to the higher-level software. (Ticket ID 90867) | 142444 |
The io-audio manager now supports typed memory. (Ticket ID 91171) | 142445 |
We've corrected an error that made pidin occasionally crash. (Ticket ID 91383) | 142446 |
We've improved the quality of audio from USB. (Ticket ID 91515) | 142450 |
We've improving the caching of information in the FAT filesystem in order to reduce the time required to read data from it. | 142451 |
Reading an incomplete or corrupt JPEG file no longer causes a crash in the img library. (Ticket ID 91582) | 142452 |
We've corrected an issue in the devnp-ecm.so driver that caused io-pkt to SIGSEGV. (Ticket ID 91617) | 142454 |
We've corrected an initialization issue that caused crashes when some applications called dlopen() or dlclose(). (Ticket ID 91630) | 142455 |
The devb-ram driver no longer crashes if you start it with a capacity or blksize setting of 0, or with an unreasonably large address setting. (Ticket ID 91647) | 142456 |
We've corrected an issue that caused io-usb to crash. (Ticket ID 91650) | 142457 |
We've fixed an issue in io-blk that caused an immediate reset when you connected a USB stick to external devices. (Ticket ID 91739) | 142460 |
Network drivers now support routines that power up and down the phy of a Ethernet card. (Ticket ID 91777) | 142461 |
We've corrected an issue that prevented pairing with some Bluetooth devices (Ticket ID 91812) | 142464 |
We've fixed an contention issue in io-blk when automounting. (Ticket ID 91881) | 142468 |
The showmem utility no longer displays bogus Qnet node names for shared objects that are in /dev/shmem. These names appeared in rare circumstances. (Ticket ID 91900) | 142469 |
The devu-ehci.so driver now has a ports option that lets you set the enumeration order of each root port. (Ticket ID 91910) | 142470 |
The Power-Safe (fs-qnx6.so) filesystem and io-blk.so no longer call random() because this function isn't thread-safe.(Ticket ID 91915) | 142471 |
When an NFS server dies, processes that read or write to an NFS mount now get a “Host is down” error if you start fs-nfs2 or fs-nfs3 with the -s option. (Ticket ID 91978) | 142472 |
We've corrected a problem with memory allocation that caused devb-umass to fault. (Ticket ID 91997) | 142473 |
We now ship the BSD version of the tar utility. It's called bsdtar, to distinguish it from the GNU version. | 142475 |
We've updated the block-I/O common access methods to recognize some new USB peripheral devices. (Ticket ID 92047) | 142476 |
We've fixed an issue in the io-char library that sometimes caused drivers to lock up trying to drain the output buffer. (Ticket ID 92058) | 142477 |
We've fixed an issue that caused devb-umass to crash while backing up a music collection. (Ticket ID 92059) | 142478 |
We now support the NOKIA Model N8-00 USB NCM device. | 142479 |
The dhcp.client now correctly sends DHCPDISCOVER packets with a source address of 0, as required by RFC 2131, instead of with its configured alias address. (Ticket ID 92097) | 142480 |
The enum-usb utility now recognizes HTC Droid Incredible devices. (Ticket ID 92104) | 142481 |
The ATAPI driver now sets the DEV_UPSIDE_DOWN_MEDIA flag when it gets a sense code of 2/30/01(Cannot read medium: unknown format), so that the subsequent access to the device, which causes a sense code of 02/3E/00 (Logical unit hasn't self-configured yet)doesn't restart the media detection process by sending a start command. (Ticket ID 92121) | 142482 |
The devb-umass driver no longer crashes when you repeatedly connect a Samsung Galaxy phone to a USB port, select Mass Storage mode, and then disconnect the device. (Ticket ID 92122) | 142483 |
MTP players are now recognized much sooner. (Ticket ID 92139) | 142485 |
The usbd_connect() and usbd_disconnect() functions no longer leak file descriptors. (Ticket ID 92144) | 142486 |
By default, the devn-shim.so driver now copies each received packet in the shim layer as it's passed from the driver to io-pkt. The driver and shim can be removed via ifconfig enX destroy or by physical removal of the device (if supported by the driver). | 142487 |
The devc-serusb driver now supports the Sierra Wireless AR8550 3G dongle. | 142488 |
The io-usb server no longer crashes when you connect an iPod to a full-speed USB hub. (Ticket ID 92156) | 142489 |
We've corrected an issue in the resource manager code that sometimes made io-pkt crash. (Ticket ID 92161) | 142490 |
The i2c driver now correctly recognizes the iPhone. (Ticket ID 92177) | 142491 |
We've corrected the handling of encrypted packets in the pf packet filter that caused some packets to be dropped (Ticket ID 92231) | 142492 |
We've corrected an issue that caused io-usb to fault. (Ticket ID 92285) | 142493 |
We've addressed a potential URB race condition in the Usbdi library. | 142494 |
If the RTC rolls over, the memory manager no longer sets a cleanup timer that expires immediately. (Case 114408) | 142884 |
If you're running io-pkt-v6, the output from netstat -s now includes missing information about IPSec statistics. | 144710 |
The devnp-e1000.so driver has a new int_mod option that you can use to specify the interrupt moderation value. The default value is 20000 interrupts/sec; a value of 0 disables interrupt moderation. (Ticket ID 00114664) | 146600 |
Setting the MALLOC_BAND_CONFIG_STR environment variable no longer causes a crash in libc. | 146824 |
The bzdiff, bzgrep, and bzmore utilities are now executable. | 146932 |
We've corrected an error that could have caused IPv6 IPSec SA lookups to erroneously fail. | 147352 |
The io-pkt manager now supports the pfil_ipsec option for IPv6. | 147353 |
IPv6 in IPv6 tunneling now works correctly. | 147354 |
We now support IPv6 NAT-T and IPv6 PF fragmented packet normalization. | 147355 |
The pf packet filter now supports IPv6 fragments. (Ticket ID 92278) | 147358 |
The devnp-e1000.so driver now finishes its initialization before it enables interrupts. | 147963 |
The fs-nt.so filesystem now supports NTFS partitions on devices with a disk sector size that's greater than 512 bytes. | 149806 |
We've corrected an issue with a recursive lock that sometimes caused a deadlock in io-pkt and the devnp-e1000.so driver. (Ticket ID 00114936) | 149868 |
The showmem utility now correctly reports memory usage. (Ticket ID 91266) | 150669 |
The slogger utility has a new -m option that makes it use CLOCK_MONOTONIC instead of the default CLOCK_REALTIME as the clock source, and a new -u option that makes it generate a user-string trace event, with the given event ID, for all messages received. | 150729 |
The lsm-autoip.so module no longer selects the same IP address every time after the first challenge. | 150959 |
The lsm-autoip.so module is no longer loaded if the selected interface isn't present. | 150968 |
We've fixed an alignment issue that occurred when you used mkefs with the ECC feature enabled. | 151889 |
We've corrected a race condition in the transferring of messages on SMP systems that in rare circumstances could cause the kernel to crash. | 152941 |
The mqueue manager now has a -p option that you can use to specify a static priority. | 153325 |
In order to improve performance, io-pkt* now uses a timer pulse instead of attaching a timer interrupt. There's a new timer_pulse_prio option that you can use to specify the priority of the pulse (the default is 21). | 154965 |
The showmem utility no longer crashes when it encounters a larger than expected memory size. | 156091 |
The showmem utility now correctly counts memory for overlapping, but not identical, memory regions. (Case 114619) | 156094 |
The x86 startup library no longer checks to see if PIRQs (specifically PIRQ[E..H]) are configured as GPIOs. | 156564 |
We've corrected an SMP race condition that sometimes caused increased scheduling latency, i.e. a higher priority thread remained in a ready state while a lower priority thread continued to run. | 156962 |
Qnet now takes less time to start up. (Ticket ID 92223) | 159976 |
We've corrected an issue that sometimes made io-pkt crash when you also used dhcp.clinet and removed the USB device. (Ticket ID 92333) | 159986 |
We've fixed a race condition between ldd and confstr() that could cause the link loader to crash while starting a process. (Ticket ID 92349) | 160016 |
The devc-serusb driver now supports the Sierra Wireless AR series of devices. (Ticket ID 92467) | 160019 |
We've corrected a denial of service issue concerning io-pkt and Wi-Fi. (Ticket ID 92440) | 160021 |
Playback now occurs correctly if you eject and then reinsert a CDA. (Ticket ID 92367) | 160034 |
The io-usb server now recognizes Toshiba USB hard drives. (Ticket ID 91713) | 160038 |
IPv6-router-advertisements are now honored for PPP interfaces. (Ticket ID 92279) | 160050 |
Freed memory is now released as soon as possible to the system. | 160710 |
If you start io-usb with the -d ohci ,,,num_td=8 option, and then connect a USB key though a full-speed USB hub, io-usb no longer crashes. | 160753 |
If you start io-usb with the -d ohci ,,,num_td=8 option, and then connect a USB key though a full-speed USB hub, io-usb no longer crashes. | 160775 |
The devnp-asix.so driver now supports the the Asix AX88772B. | 160786 |
We've corrected an issue in the cp utility that caused a fault when you tried to copy from an NT filesystem. | 160797 |
We now ship version 1.0.6 of the bzip2 utilities. | 160807 |
Applications linked against libc now emit a lot fewer “shared library events” when a process with shared libraries is loaded in the debugger. This makes launching the debugger faster. | 162680 |
Change | Ref# |
---|---|
The documentation for alloca() now describes how the builtin and non-builtin versions of this function behave differently. | 27507 |
The documentation for shm_ctl() and shm_ctl_special() now describes the SHMCTL_ISADMA and SHMCTL_NOX64K flags. | 27627 |
We've added an entry for snd_pcm_plugin_set_src_method() to the QNX Neutrino Audio Developer's Guide. | 29909 |
The form of the compress attribute that lets you specify the compression algorithm doesn't have a leading + or - sign. We've corrected the documentation for mkifs. | 60348 |
We've revised and expanded the documentation for the posix_spawn*() functions. | 62489 |
The System Architecture guide now explains the concept of the network root, and the entry for on in the Utilities Reference now contrasts the -f and -n options. | 71139 |
We've corrected various errors in the “Interpreting mudflap output” section of the IDE User's Guide. | 71869 |
We've expanded the list of practical limitations in the Adaptive Partitioning User's Guide. | 74104 |
We've listed more possible error codes in the documentation for _intr_v86(). | 74516 |
We've added an entry for round(), roundf(), and roundl() to the QNX Neutrino C Library Reference. | 75143 |
We've documented the bzcmp, bzdiff, bzegrep, bzfgrep, bzgrep, bzless, bzmore and bzip2recover utilities, and updated the documentation for bzip2. | 76465 |
The documentation for mketfs now explains that this utility adds cluster headers to the image file. When you write the image to flash, these headers are replaced with BSP-specific structures that hold the same information. | 77251 |
The documentation for io-blk.so and mount now explains why you have to respecify filesystem options such as noatime when you remount a filesystem (Case# 102618) | 77323 |
The System Architecture guide now explains that the pages containing binaries are demand-loaded by default, but that you can use the procnto -m to change this. | 77347 |
The documentation now explains why calling shm_ctl_special() with a special argument of 0 isn't the same as calling shm_ctl(). | 77364 |
The documentation for dumpifs now describes the -d option, which you can use to specify where to place extracted files. | 77369 |
The documentation for mq_open() and sem_open() now mentions that if you want to use O_CREAT, O_EXCL, or O_NONBLOCK when you call these functions, you need to include <fcntl.h>. | 77620 |
We've corrected the list of options for dhcpd and dhcp.client in the Utilities Reference. | 77663 |
The chapter on filesystems in the QNX Neutrino User's Guide now explains why you can overwrite a running executable in /dev/shmem without getting an error of EBUSY. | 77764 |
The documentation for qcc now describes the -save-temps option. | 77819 |
We've removed a reference to PAL8 from the documentation for io-display, and corrected the name of the disp_mode_info_t structure in the description of get_modeinfo() in the Graphics DDK documentation. | 77854 |
The documentation now says that you must use io-pkt-v4-hc or io-pkt-v6-hc with the devnp-ath.so, devnp-bcm43xx.so, devnp-ral.so, and devnp-rum.so drivers (io-pkt-v4 doesn't support Wi-Fi). | 77970 |
The QNX Neutrino Library Reference now explains how flockfile(), ftrylockfile(), and funlockfile() are related. | 78020 |
The QNX Neutrino C Library Reference now includes an entry for InterruptStatus(). | 78079 |
The documentation for io-blk.so, mount, and mount() now points out that updating a mount resets the other mount flags to their defaults. The documentation for mount() explains how you can get the current settings. | 78089 |
The maximum user or group ID in a QNX 4 filesystem is 65534. | 78195 |
We've updated the sample programs in Writing a Resource Manager so as to eliminate some compiler warnings. | 78239 |
We've corrected the names of the _MOUNT_NOATIME, _MOUNT_NOCREAT, and _MOUNT_NOSUID flags in the documentation for mount_parse_generic_args(). | 78287 |
We've added implied (_MOUNT_IMPLIED) to the list of options that mount_parse_generic_args() processes. | 78331 |
We've documented the -o priority option that you can use to specify the working priority of the internal pulse that the devc-* drivers use. | 78357 |
The iofunc_stat_default() function returns -1, to indicate to the resource manager library that it should return one part from the ctp->iov structure to the client. | 78470 |
The description of the Blocked column in the output from pidin now mentions that if the blocking process is running on a remote node, the process ID is followed by @ and the node name. | 78476 |
We've corrected the call to memset() in the example for getsockopt() in the QNX Neutrino C Library Reference. . | 78595 |
The documentation for qcc now includes c++-header in the list of supported values for the -x option, and lists the extensions that are parsed to create precompiled headers. | 78650 |
The entry forsysctl in the Utilities Reference now describes the -d, -e, -f, -M, -q, -r, and -x options. It also describes how you can use a file such as /etc/sysctl.conf to set variables whenever you boot the system. | 78736 |
After you've launched io-pkt*, you can use the mount command to load additional modules such as lsm-pf-v4.so or lsm-pf-v6.so. | 78737 |
Use commas, not question marks, to separate multiple options when opening a PPS object. | 78873 |
Because io-pkt includes the TCP/IP stack, you can't load more than one instance of the stack on a single instance of io-pkt. We've corrected the TCP/IP Networking chapter of the System Architecture guide. | 78921 |
We've corrected the name of the <ftw.h> header file in the entry for nftw() and nftw64() in the QNX Neutrino Library Reference. | 79058 |
To load lsm-pf-v4.so, or lsm-pf-v6.so, use mount with a special device of io-pkt, not tcpip. The documentation for lsm-autoip.so now shows how to load this module when you start io-pkt-*. | 79118 |
If you use the P_WAIT flag, you need to use a status macro such as WEXITSTATUS() to extract information from the value returned by the spawn*() functions. | 79150 |
If you pass a string of "/usr/" to dirname(), the string returned is "/", not "usr". We've corrected the examples in the QNX Neutrino Library Reference. | 79323 |
Typically your program calls ChannelCreate() only once, and all threads block on that channel.We've also corrected a call to MsgReplyv() in one of the examples. | 79573 |
The documentation for showmem now includes more details about using the options and interpreting the output. | 79695 |
We've corrected the synopsis for wcscpy(), wcsncpy(), wcstoul(), wcstoull(), wcsxfrm(), wprintf(), and wscanf() in the QNX Neutrino Library Reference. | 79882 |
The documentation for straddstr() now describes how the function handles null characters in the strings. | 80304 |
The ability to munmap() just a part of an area mapped with mmap() was introduced in QNX Neutrino 6.3.2; we've corrected the documentation for munmap(). | 80441 |
The getrlimit() and setrlimit() routines don't support RLIMIT_FSIZE or RLIMIT_MEMLOCK. | 80610 |
The explanation for an error of ENXIO is now clearer in the documentation for mmap(). | 81252 |
We've corrected the diagram of using the ?server option in the Subscribing chapter of the PPS Developer's Guide. | 81682 |
The entry for readdir() in the QNX Neutrino C Library Reference now mentions that ftw() provides another way to walk a file tree. | 82206 |
The descriptions of daemons and services in the default version of the /etc/inetd.conf file are commented out; uncomment the ones that you want to use in your system. | 82401 |
The ftruncate() and ftruncate64() functions can indicate an error of ENOMEM if there isn't enough memory to change the size of a shared memory object. | 82503 |
We've corrected the instructions for creating a new project in 10 Steps to Developing a QNX Program: Quickstart Guide. | 82659 |
The entry for devc-serusb in the Utilities Reference now describes the debug, drt, name, and retry device-specific options. | 83096 |
The entries for pci_read_config*() in the QNX Neutrino C Library Reference now warn that these functions can return inconsistent data if another process is extensively using the PCI bus. | 87498 |
The documentation for resmgr_attach() now says that this function indicates an error of EBUSY if an internal resource isn't available. (Ticket ID 00106344) | 88093 |
In the Understanding System Limits chapter of the QNX Neutrino User's Guide, we've updated the maximum number of processors and added the limits for ARM-v7 platforms. | 88115 |
The documentation for dlopen() now mentions that the use of LD_DEBUG_OUTPUT with setuid binaries is disabled, for security reasons. | 90385 |
The documentation for pthread_setname_np() now mentions that _NTO_THREAD_NAME_MAX is defined in <sys/neutrino.h>. | 90638 |
The SPI (Serial Peripheral Interface) Framework technote now explains how to use the device argument to spi_getdevinfo(). (Ticket ID 00105894) | 91933 |
We've updated the list of options in the documentation for devb-eide. | 93052 |
We've corrected the description of S_IFMT in the entry for stat() in the QNX Neutrino C Library Reference. | 93591 |
The documentation for gf-calib now explains why you might need to use the -D option to prevent the pointer cursor from being displayed. | 95754 |
The calling process needs to be running as root in order to map physical memory; we've updated the documentation for mmap(), mmap_device_io(), and mmap_device_memory(). | 96217 |
We've corrected the synopsis for PxConfigNextEntry() and PxConfigNextEntryCx() in the Photon Library Reference. (Ticket ID 00109615) | 98993 |
We've corrected the list of options in the entry for cam-disk.so in the Utilities Reference. | 99109 |
We've corrected the descriptions in the QDB Developer's Guide of what qdb_backup(), qdb_bkcancel(), and qdb_printmsg() return. | 99605 |
We've updated the description of the -R option to qdb in the QDB Developer's Guide. | 100763 |
We've corrected the synopsis for posix_spawn() in its entry in the QNX Neutrino C Library Reference. | 101175 |
We've corrected a call to bt_set_flags() in an example in the Backtraces technote. | 103229 |
The fcntl(), flock(), and lockf() functions can give an error of ENOSYS if the filesystem (e.g., the /dev/shmem “filesystem”) doesn't support file locking. | 103420 |
The documentation for pci_attach_device() now describes how to determine whether or not a device supports MSI or MSI-X and how to assign an interrupt in the driver. (Case 00104937, 00110660) | 103614 |
The QDB Developer's Guide now describes the special block and nonblock values that you can specify for the -t and -T options. | 103621 |
We've updated the documentation for the Dinkumware libraries. | 103671 |
We've corrected the description of what dircntl() returns. | 111113 |
The posix_spawn*() functions return error codes instead of setting errno. We've corrected the documentation. | 111758 |
We've corrected the examples of typed memory and the names of the POSIX_TYPED_MEM_* constants in the System Architecture guide. | 114978 |
It isn't safe to call posix_spawn(), posix_spawnp(), or setdomainname() from an interrupt handler. It isn't safe to call trace_logf(), trace_nlogf(), or trace_vnlogf() from an interrupt handler if the format codes or parameters include float elements. | 115067 |
We've updated the list of options in the entry for cam-cdrom.so in the Utilities Reference. | 117625 |
We've corrected the name of the _sync_attr structure in the entry for SyncTypeCreate() in the QNX Neutrino C Library Reference. | 119923 |
The pidin utility's R format and timers shorthand form report the time left before a timer's expiry and the timer interval in microseconds, not milliseconds. | 120457 |
We've corrected the synopsis for ha_fopen() in the High Availability Framework Developer's Guide. | 121752 |
The GNU C++ library type is supported on all architectures; we've corrected the documentation for qcc. | 125649 |
We've added entries for procmgr_event_notify_add() and procmgr_event_notify_delete() to the QNX Neutrino C Library Reference. | 125766 |
We've corrected the spelling of EACCES in various entries in the QNX Neutrino C Library Reference. | 126027 |
The entry for devb-eide in the Utilities Reference now describes how the driver chooses the connection mode. (Ticket ID 00113539) | 132399 |
We've corrected the descriptions in the QNX Neutrino C Library Reference of clock_getcpuclockid(), clock_gettime(), ClockId(), ClockTime(), and pthread_getcpuclockid(). | 134916 |
SchedGet() returns an actual scheduling policy value, not SCHED_ADJTOHEAD or SCHED_ADJTOTAIL. We've corrected the documentation. | 136989 |
We've corrected the explanation in Getting Started with QNX Neutrino of why you can't fork() a multithreaded process. | 139031 |
We've corrected the sample installation script in the “How to create a Runtime Kit from the QNX Software Development Platform” technote, so that the script exits if there's already a partition of type 179 on the disk. | 142158 |
If you want to set up a bridge whenever you boot your system, you need to add the appropriate commands to your /etc/rc.d/rc.local file. We've corrected the documentation for brconfig. (Ticket ID 00114672) | 144619 |
The entry for pidin in the Utilities Reference now describes all of the format codes. | 145436 |
The maximum number of active processes on an ARMv7 platform is 255, the same as on ARMv6. | 148701 |
We've documented the -o nodaemon option for devc-serpci and devc-serusb, and the -d option for mq, mqueue, and pipe. These options prevent the process from becoming a daemon. | 157100 |
We've corrected the name of the usbmgr_path option in the entry for enum-usb in the Utilities Reference. | 157297 |
If you're using posix_typed_mem_open(), you need to include <fcntl.h> in order to get the definitions of O_RDONLY, etc. | 160248 |
We've corrected the entry for mem_offset() and mem_offset64() in the QNX Neutrino Library Reference. You must call these functions with NOFD for the fd argument. | 160360 |
The entry for pci_attach_device() in the QNX Neutrino Library Reference now describes the PCI_USE_MSI and PCI_USE_MSIX flags. | 162456 |