This is the list of frequently asked questions (and their answers) for
the newsgroup comp.os.qnx, and covers general information on QNX as
well as specific information on version 4.x of the QNX operating
system.
References to additional information will be listed in the form of a
World Wide Web URL.
This FAQ was compiled by Martin Zimmerman <zimmerm@.cuug.ab.ca>. The
information in the FAQ is based primarily on my [Camz] personal
knowledge of and experience with QNX and QNX products. Additional
information was provided by QNX Software Systems Ltd. (QSSL) and
various contributors from around the globe.
Special thanks to Dan Hildebrand for all his knowledge, and for
confirmation (and sometimes clarification) of information in the FAQ.
Special thanks also to Tom McGrath who dug through QSSL's archives for
old newsletters to find information of the history of QNX, and his ascii
logo. Thanks also to Gregory Soo for his assistance in compiling the
FAQ, making it presentable and readable, and hunting down portions of
the FAQ.
A complete list of contributors can be found at the end of the FAQ.
The FAQ is currently posted to the comp.os.qnx newsgroup on the 5th and
20th of each month (I hope). The FAQ is also available via mailserver
by sending an internet email message with a subject of "qnx4.faq" to
qnx-request@wooga.cuug.ab.ca, and via FTP from various sites.
The table of contents is also available by sending with a subject of
"qnx4.toc" to the same address.
You can find the latest HTML version of the FAQ on the WWW with the URL:
http://www.cuug.ab.ca:8001/~zimmerm/qnx/qnx4.html
Other sites carrying the FAQ:
http://www.vir.com/Demo/tech/QNX4-FAQ.html
If you are running an FTP, WWW, or gopher site and make the QNX FAQ
available, please let me know so I can include a reference to your
site here.
1.2: What is QNX?
The simple answer is that QNX is a realtime, microkernel, preemptive,
prioritized, message passing, network distributed, multitasking,
multiuser, fault tolerant operating system. This is a "true"
microkernel, with the largest QNX kernel to date being less than 10K.
1.3: QNX History.
QNX was originally created by Dan Dodge and Gordon Bell in 1980 and
ran on prototype, wire-wrapped 8088 and 6809 machines. The QNX
community benefits tremendously from the fact that Dan and Gord still
play an active role in the development and coding of the QNX operating
system.
The OS was originally called Qunix, "Quick UNIX", until they received a
polite letter from AT&T's lawyers asking that they change the name.
One of the first high-volume applications for QNX was as the enabling
technology in AES dedicated word-processing machines to provide
networked file servers. QNX was also used in the ICON machines that
were destined for classrooms in Ontario schools.
Today QNX is used for everything from medical instrumentation to
nuclear reactor monitoring, to traffic light control, to brewing beer.
You probably use QNX several times a day without being aware of it.
1.4: Who is QSSL?
QSSL is an abbreviation for "QNX Software Systems, Limited". QSSL is
the company that produces the QNX operating system and provides
technical support to the QNX community. They were previously known as
"Quantum Software Systems, Limited", and as a result many old-time QNX
users will still occasionally refer to them as "Quantum". They seem to
get referred to as QSSL most frequently as it works for both the old and
new company names.
1.5: Why did they change their name?
The name change was made because there are so many companies called
"Quantum Something-or-other". It was better to link the company and
product name recognition into a single name.
Quick, what did Word Perfect Corp. used to called themselves? :-)
1.6: How do I contact QSSL?
You can reach QSSL through the normal methods, they have offices in
Canada, and Germany to provide service for North America and Europe
respectively. They can also be reached via QUICS (details on connecting
to QUICS are provided later in the FAQ).
QNX Software Systems Ltd.
European Division
17 Bishops Court,
Bishopstoke, Eastleigh
Hants, SO5O 6PE, UK
voice: 011 44 703 611800
fax: 011 44 703 641153
You can also reach QSSL technical support team via fax, or phone at
+1 613 591-0941.
You can also reach the vaious departments via email at the following
addresses:
support@qnx.com, sales@qnx.com, and info@qnx.com.
1.7: What is QUICS?
QUICS is the QNX Update Information Conferencing System, or in other
words, it is QSSL's publically accessable site in cyberspace. QUICS
provides users with public domain files, sample source code from QSSL,
as well as ported source and executables from various sources. QUICS
also provides registered QNX users with online updates and technical
support. There are several public conferences available that provide a
valuable information resource to the QNX developer and user communities.
QUICS currently has 8 high-speed modems, 8 X.25 lines (which will
disappear soon in favor of the internet), and a 56Kb internet
connection. The system runs on a 60Mhz ALR Pentium machine running
QNX 4.2 and receives roughly 20,000 logins a month. QSSL's internet
connection will be upgraded to a 384Kb connection in the very near
future.
(Actually, it's in testing now, IP address 198.53.31.1 or
newquics.qnx.com).
1.8: How do I connect to QUICS.
You can connect to QUICS using several different methods each listed
below:
1.9: What makes QNX different from other operating systems?
QNX is based on message passing, which allows multiple processes to
communicate in a very efficient manner. This message passing is also
transparently extended over the network at the kernel level, allowing
a network of QNX machines to appear as one large multiprocessing
machine. QNX uses multiple processes and message passing for the "base"
operating system, which replaces a large monolithic kernel on other
operating systems. Since each section of the OS is a user process, QNX
can add or remove system resources at runtime, without the requirements
of rebuilding a monolithic kernel and rebooting.
This allows each node in a QNX network of machines to only run those
system processes that are required on that machine, resources on all
nodes are available to every other node. As a result, QNX is extremely
scalable to the hardware on which it will run, accommodating everything
from high-end servers and development systems, to compact, ROM based
embedded systems.
1.10: Are there any QNX related publications avaialable?
Yes, QNXnews is published quarterly by QSSL. It is sent out free to all
registered users of the QNX Operating System.
QSSL also publishes a Products and Consultants guide annually.
No. There are some plans for implementing this sometime in the future,
but don't expect to see it any time soon, or even at all. There are
other features that will be added to QNX well before a swap file is
added. The main reason for this is that reasons for requiring realtime
response/performancs typically conflict with the reasons for requiring a
swap file.
The requirement for swapping in most QNX applications is quite low. The
efficiency of the OS and Watcom compiler provide relatively small
processes in terms of memory requirements. When this is combined with
the ability to share code between multiple process invocations and
shared libraries, the memory demands for QNX are quite moderate.
2.2: Does QNX support virtual memory?
Yes. Don't confuse this with a swap file though. Virtual memory only
refers to the mapping of real physical memory through a MMU. QNX
operates in the protected mode of the Intel processors, and makes use
of LDT and GDT selectors to provide memory mapping to physical memory.
Use of virtual memory also allows QNX to provide shared memory on a
per-process basis as well as memory protection between processes, and
even the processes that make up the OS itself.
2.3: Is NIS or NIS+ supported?
No.
2.4: What compilers/languages are available?
Watcom C/C++, version 9.52
2.5: Is GCC available?
No, although there are rumors that several parties are working on one.
A GNU-like MAKE is planned for an upcoming release, thereby
simplifying the chore of porting some UNIX applications.
In general, once developers start using Watcom C/C++, demand for GCC
isn't as high. Watcom provides a very good, high quality C and C++
development environment.
2.6: What are the memory and HD requirements for a QNX system?
Depends on what you plan on running, and if the machine is going to be a
development node or not.
The basic runtime will require less than 20Mb of HD, and can run stand
alone with as little as 2Mb of RAM. For nodes that boot over the
network, I have booted up machines with 512K.
You can easily make a floppy bootable QNX environment.
A development system will want at least 8Mb of RAM, and 120Mb of HD, but
you can get away with 4Mb of RAM and <100Mb of HD.
File servers will want at least 16Mb of RAM, possibly more so that it
can be dedicated to file system Cache.
QNX will boot from floppy, which might be all that is required for small
embedded applications.
2.7: What windowing/graphical systems are available?
There are actually three native GUI's available for QNX. Each fills a
different need and provides different levels of performance.
Photon provides a light-weight GUI that requires a mere 256K of RAM,
ideal for embedded systems and PDA's.
QWindows provides a medium-duty GUI and provides an OpenLook (or Motif)
environment with modest RAM demands (1.1Mb for runtime)
X windows is available for the heavy-duty GUI requirements.
QNX implements a full X11R5/Motif X that supports over 100 display
adapters (see the list of supported hardware also in this FAQ).
There are additional details on each GUI later in this document.
2.8: What editors are available?
QNX ships with vedit and vi, there are ports available of crisp, micro
emacs, gnu emacs, pico, and a few others.
2.9: How stable and robust is QNX?
Very, but that depends on what you make it do. If you are a developer,
you tend to be able to blow up ANY operating system on a regular basis
while testing code. QNX seems to be able to survive even the torture of
the developer without crashing.
The weakest link at the moment is the TCP/IP for QNX 4.2 which has
exhibited problems in cases of high traffic of over 200MB/day.
There are many mission critical applications using QNX, everything from
medical instrumentation, to nuclear reactor monitoring, to financial
transaction processing, to traffic light control. You probably use QNX
several times a day without being aware of it.
3.9: What is the difference between Socket and Socklet?
Socket supports NFS and Socklet doesn't. Socklet is intended to be a
less memory intensive version of Socket for embedded applications that
do not require NFS, but still require TCP/IP connectivity.
3.10: Does Sock(l)et support FDDI?
Yes, you must be running the Net.fddidfe driver, see the section on
harware for which FDDI network adapters are supported.
3.11: Does Sock(l)et support token ring?
Yes, you must be running the proper Net driver for token ring, see the
section on hardware for which token ring network adatpers are supported.
Ethernet, FDDI, Token Ring, Arcnet, NCR's wireless WaveLAN, serial
ports, parallel ports, and anything you can open() and get back a file
descriptor from.
Ziatech provides a high-speed local bus network driver for their STD-32
bus products.
4.2: What network adapter cards are supported?
This information is based on lists compiled by jwall@qnx.com, the most
recent list of supported network hardware can be found on QUICS.
The most recent version of the file is available from:
Manufacturer: Thomas Conrad
Thomas Conrad: 100Mbit Arcnet card (9065, 9066 controller chip)
QNX driver: Net.arcxir
Manufacturer: Xircom
Pocket Arcnet Adapter II: Arcnet card that connects to parallel port
QNX driver: Net.tr164a
Manufacturer: IBM
16/4 Adapter : Token-Ring Adapter (8-bit ISA card)
16/4 Adapter/A: Token-Ring Adapter (MCA for PS/2 computers)
Manufacturer: Thomas Conrad
TC4043 : Tropic 16/4 Adapter (16-bit ISA card)
QNX driver: Net.ether503
Manufacturer: 3com
3C503 8 : 8 bit ISA AUI/thin coax
3C503-16 : 16 bit ISA AUI/thin coax
3C503B-TP : 8 bit ISA AUI/10BASET
3C503-16-TP: 16 bit ISA AUI/10BASET
QNX driver: Net.ether2100 (Beta driver as of 941017)
Manufacturer: HP
VECTRA XU 5/90C: (79c974 pci ethernet/scsi on mboard)
QNX driver: Net.fddidfe
Manufacturer: Digital
DEFEA-AA: EISA-bus card.
One card single attachemnt station (SAS)
controller with multimode optics and
ANSI MIC connectors.
DEFEA-DA: EISA-bus card.
Two card dual attachemnt station (DAS)
controller with multimode optics and
ANSI MIC connectors.
DEFEA-UA: NOT Tested
EISA-bus card
One card, single attachemnt station (SAS)
controller with shielded RJ-45 modular
connector. Accepts Category 5 unshielded
twisted-pair (UTP) or Category 5 sheath-
shielded, 100 ohm twisted-pair (TP) cable
with TP-MIC plug.
4.3: Does QNX support E-IDE drives?
Yes and No. E-IDE drives are still pretty non-standard, with extensions
to support them being added to the BIOS. The latest beta version of QNX
included a new Fsys.ata driver that should work with most E-IDE drives.
4.4: What SCSI cards does QNX support?
This information is based on lists compiled by jwall@qnx.com, the most
recent list of supported network hardware can be found on QUICS.
The most recent version of the file is available from:
Manufacturer: Adaptec
AIC-6260: PIO single chip SCSI host adapter.
AIC-6360: PIO single chip SCSI host adapter.
AHA-1510A: PIO ISA SCSI host adapter without BIOS.
AHA-1520A: PIO ISA SCSI host adapter.
AHA-1522A: PIO ISA SCSI host adapter with floppy controller.
AHA-1530P: PIO ISA-to-Fast SCSI host adapter.
AMM-1570: PIO ISA-to-Fast SCSI host adapter.
Manufacturer: Creative Labs
Sound Blaster 16 SCSI: PIO ISA SCSI host adapter.
QNX driver: Fsys.aha4scsi
Manufacturer: Adaptec
AHA-1540A: Bus master ISA SCSI host adapter.
AHA-1542A: Bus master ISA SCSI host adapter with floppy controller.
AHA-1540B: Bus master ISA SCSI host adapter.
AHA-1542B: Bus master ISA SCSI host adapter with floppy controller.
AHA-1540C: Bus master ISA SCSI host adapter.
AHA-1542C: Bus master ISA SCSI host adapter with floppy controller.
AHA-1540CF: Bus master ISA-to-Fast SCSI host adapter.
AHA-1542CF: Bus master ISA-to-Fast SCSI host adapter with floppy
controller.
AHA-1640: Bus master MCA SCSI host adapter.
AHA-1740A: Bus master EISA SCSI host adapter (discontinued).
AHA-1742A: Bus master EISA SCSI host adapter with floppy controller
(discontinued).
Manufacturer: Buslogic
BT-440C: Bus master VL SCSI host adapter.
BT-542B: Bus master ISA SCSI host adapter with floppy controller.
BT-542D: Bus master ISA-to-Fast SCSI host adapter with floppy
controller.
BT-545S: Bus master ISA-to-Fast SCSI host adapter with floppy
controller.
BT-545C: Bus master ISA SCSI host adapter with floppy controller.
BT-440C: Bus master VL SCSI host adapter.
BT-445C: Bus master VL SCSI host adapter with floppy controller.
BT-646S: Bus master MCA SCSI host adapter.
BT-747S: Bus master EISA SCSI host adapter.
BT-946C: Bus master PCI-to-Fast SCSI host adapter with floppy
controller.
QNX driver: Fsys.aha7scsi
Manufacturer: Adaptec
AIC-7770: Bus master single chip SCSI host adapter.
AIC-7870: Bus master single chip PCI-SCSI host adapter.
AHA-2740: Bus master EISA-to-Fast SCSI host adapter.
AHA-2742: Bus master EISA-to-Fast SCSI host adapter with floppy
controller.
AHA-2740T: TwinChannel Bus master EISA-to-Fast SCSI host adapter.
AHA-2742T: TwinChannel Bus master EISA-to-Fast SCSI host adapter with
floppy controller.
AHA-2740W: Bus master EISA-to-Fast and Wide SCSI host adapter.
AHA-2742W: Bus master EISA-to-Fast and Wide SCSI host adapter with
floppy controller.
AHA-2840A: Bus master VL-to-Fast SCSI host adapter.
AHA-2842A: Bus master VL-to-Fast SCSI host adapter with floppy
controller.
AHA-2940: Bus master PCI-to-Fast SCSI host adapter.
AHA-2940W: Bus master PCI-to-Fast and Wide SCSI host adapter.
QNX driver: Fsys.us14scsi
Manufacturer: UltraStor (Note: This company is no longer in business.)
US-14F: Bus master ISA SCSI host adapter with floppy controller.
US-34F: Bus master VL SCSI host adapter.
QNX driver: Fsys.ps2scsi
Manufacturer: IBM
PS/2 scsi controllers
QNX driver: Fsys.ncr8scsi
Manufacturer: NCR
NCR-53c810 Bus master PCI-to-Fast SCSI host adapter.
NCR-53c815 Bus master PCI-to-Fast SCSI host adapter.
4.5: What sound cards are supported?
This information is based on lists compiled by jwall@qnx.com, the most
recent list of supported network hardware can be found on QUICS.
The most recent version of the file is available from:
LU-005 : Mitsumi internal CD ROM
FX-001 : Mitsumi internal CD ROM
FX-001D: Mitsumi internal CD ROM (double spin)
An IDE CD-ROM driver is currently under development.
4.9: What SCSI DAT & tape drives are supported?
DAT drives
Hewlett Packard DAT HP35480A
Archive Python 25501
Wantek 2100
Tape drives
Archive 2150S
4.10: What SCSI floptical drives are supported?
Maxoptix Tahiti 2
4.11: What SCSI Removable Optical drives are supported?
Pinnacle Micro, Tahoe (128MB, Under QNX: approx. 120MB), <30ms access
Pinnacle Micro, Tahoe 230 (256MB)
Pinnacle Micro, PMO-650 (650MB, Under QNX: 280MB per side), 19ms access
Pinnacle Micro, Sierra (1.3GB, Under QNX: 580MB per side), 19ms access
4.12: I get random errors from the SCSI devices, what should I do?
Check cabling and termination.
4.13: The SCSI device is found at all IDs, what should I do?
Make sure that the devices do not have the same SCSI Id as the
host adapter.
4.14: The SCSI deivce shows up at all possible LUNs, what should I do?
The device has bad firmware. Obtain a copy of 'scsi_util' utility
from the update system. Send the output from 'scsi_util device inquiry'
to QSSL. QSSL will then add this device to the drivers blacklist so it
will not scan the LUNs on startup.
4.15: The network controller drops packets while the SCSI devices are being
accessed, why?
The network controller is dropping packets because it can't get on the
bus. Try changing the bus on off times.
4.16: I get random errors with the PCI adapter, what should I do?
Make sure that you have an up to date version of the the adapter
BIOS as well as system BIOS.
4.17: Is PCMCIA supported?
Yes. QNX supports the PCMCIA 2.01 spec, also known as the JEDEC 4.1
spec. PCMCIA I, II, and III cards that conform to the PCMCIA 2.00 spec
or later should work.
4.18: Which PCMCIA chipsets are supported?
This information is based on lists compiled by jwall@qnx.com, the most
recent list of supported network hardware can be found on QUICS.
The most recent version of the file is available from:
Manufacturer: Paradise
Old Paradise : (PVVGA1 chipset)8- and 16-bit VGA cards 800x600 16-color
Newer Paradise : (OAK Chipset) will NOT do 800x600 (ok as standard vga)
5.3: Within Qwindows, I don't want OpenLook, can I get Motif?
No, and Yes. QWindows does not support the OpenLook or Motif APIs, is
only provides the user with the look and feel of OpenLook. Since this
is all handled with system glyphs, it is possible to change the
apperance and behaviour of QWindows to resemble Motif. Note that the
QNX X Window product ships with a full OSF Motif.
Edit your /windows/config/screen.cfg file to have these lines:
start /windows/apps/Olwm/olwm
font title=helv,140,B
button O=Nm,f=B
options ZIMFmEA-cRDzso
5.4: I don't like the mouse pointer in QWindows, can I change it?
Sure, you can create a .pict file with the symbol editor with your new
pointer. The grid should be 16x10, and the symbol must be called
"system". Remember to define a hotspot as well. Once you have done
that, copy the file to /windows/glyphs/cursor640x480.pict and restart
windows. A good starting point is to copy the pointer already defined
in the /windows/glyphs/OL640x480.pict file.
Vendor Model Chipset
------ ----- -------
Actix Graphics Engine S3
ATI Graphics Pro Turbo Mach64 (88GX0)
ATI Graphics Ultra Mach8 (38800)
ATI Ultra Pro Mach32 (68800)
ATI Ultra Mach8 (38800)
ATI Graphics Vantage Mach8 (38800)
ATI VGA Wonder ATI VGA
ATI VGA Wonder/XL ATI VGA
Diamond SpeedStar 16 ET4000
Diamond SpeedStar Pro CLGD5426
Diamond Stealth S3
Diamond Stealth Pro S3
Diamond Viper P9000
Ergo Power Brick WD90C24
Genoa 8500 CLGD5426
Genoa Super VGA GVGA
Helios TurboColor 256 S3
IBM 8514a IBM8514
Matrox MGA Ultima MGA
Matrox MGA Impression MGA
Matrox MGA Pro MGA
Matrox MGA-II MGA
Metheus Premier 1MB S3
Metheus Premier 2MB S3
Metheus Premier 4MB S3
Metheus Premier 928 S3
Micron Spectrum ET3000
Nth Nth Engine 150 82C480
Number Nine GXE S3
Orchid Designer 800 ET3000
Orchid Fahrenheit S3
Orchid Pro Designer ET3000
Orchid Pro Designer Plus ET3000
Orchid Pro Designer II ET4000
Orchid Pro Designer IIs ET4000
Paradise 1024 WD90C11
Paradise 8514a IBM8514
Paradise Plus PVGA1
Paradise Professional PVGA1
Paradise VGA PVGA1
Pixelworks ImageXact1600 S3
Pixelworks WhirlWIN 1280 82C840
Pixelworks WhirlWIN 1280/VGA 82C840
Pixelworks WhirlWIN 1600 82C840
Sigma Legend ET4000
SPEA V7 Mercury S3
STB PowerGraph/24 S3
STB PowerGraph/ERGO ET4000
Toshiba 4400C WD90C30
Toshiba 4500C WD90C26
Toshiba 4600C WD90C24
Trident TVGA 8900 Trident
Video 7 VGA STDVGA
Video 7 VRAM Video7r3
Western Digital VGA WD90Cxx
You bet! There are versions of DOOM ported for QNX by the QSSL folks
that will run on the console, Xwindows, and even photon. You'll need
a sound card, to get the full-effect, but you *CAN* play DOOM.
Be warned that DOOM will consume all unused CPU ticks on the machine!
Then again, if you are playing doom, you probably aren't running any
mission critical code.
Unlike the Linux port, music and sound effects are supported by the QNX
audio driver. Linux only supports the sound effects.
7.2: I've got a QNX product to tell the net about, what is the proper
netiquette for this?
You can send a copy of detailed product information, and new product
announcements to bruce@qnx.nacjack.gen.nz <Bruce Simpson> in New
Zealand.
Bruce compiles new products announcements and makes periodic postings to
the comp.os.qnx newsgroup.
The following people have contributed to the production of this FAQ in
various ways. Some by means of information, others by the questions
they wanted (or needed) the answers for, and others for their time and
energy in the actual compilation and layout, editing and distribution of
the FAQ.
My apologies for anyone that has been forgotten.
Contributors
camz@wooga.cuug.ab.ca Martin Zimmerman
gregory@vir.com Gregory Soo
bug@cyberdex.cuug.ab.ca Trever Miller
danh@qnx.com Dan Hildebrand
randy@qnx.com Randy Martin
mcgrath@qnx.com Tom McGrath
jwall@qnx.com John Wall
If you have questions or answers that you would like to have added to
the FAQ, please email them to camz@wooga.cuug.ab.ca, or send them to
mzimmerman on QUICS.