Release Notes PN 93000127M1P for Digi Asynchronous Driver Package for QNX 4.X Version 2.1.0q. Quantum Software Systems QNX version 4.22 - 4.25 Software Package P/N 75000127M1P Diskette (3.5") P/N 40000754M1P Software Manual P/N 92000127D May 31, 2002 Digi Xi, Xe, Xr, Xem, C/X, COM/Xi INTRODUCTION This Digi software package includes device drivers for the Acceleport Xe, Acceleport Xr, Acceleport Xem Acceleport C/X, Xi and COM/Xi families of adapters. It is currently supported on QNX 4.23-4.25. Note : This package includes two separate device drivers named Dq.ser16 (for 16 bit environments) and Dq.ser32 (for 32 bit environments). Please consult the manual for proper installation instructions. SUPPORTED PRODUCTS ISA Bus ------- Acceleport Xe 2e, 4e, 8e (EIA232 & EIA422) Acceleport Xr 4r & 8r (EIA232 & EIA422) Acceleport Xem 4-64ports (EIA232 & EIA422) Acceleport C/X 8-128ports (EIA232) PCI/Xi, COM/Xi PCI Bus ------- Acceleport Xem 4-64ports (EIA232 & EIA422) Acceleport Xr 4r & 8r (EIA232) Acceleport C/X 8-128ports (EIA232) Acceleport Xr/422 4r/422, 8r/422 (EIA422) Acceleport 2r/920 2r/920 (EIA232) Acceleport 4r/920 4r/920 (EIA232) Acceleport 8r/920 8r/920 (EIA232) Microchannel Bus ---------------- MC/Xi ENHANCEMENTS * Added support for the 2 port PCI XR 920 * Added support for the PCI XR-422 * Added -P command line option for setting FEP polling interval (FEPPOLL) for improved latency response. * Update to latest on-board operating system (BIOS and FEP) files. * Added "-x" option for setting default runtime priority of the driver. * Added ability to specify outgoing BREAK duration by implementing IOCTL_STARTBREAK and IOCTL_STOPBREAK ioctls. * Added ability to determine and report length of incoming BREAKs. This consists of two parts: 1. Getting bitmap values to qnx_ioctl(). Dev.ser implements a status bitmap that is user-accessible via qnx_ioctl() and is described in /usr/local/system/qioctl.h. Previously we neither set nor reset the BREAK bit. Now we set this on receipt of an incoming BREAK and reset it on receipt of the next non-BREAK event. Ideally we'd like to reset this bit on the termination of the BREAK sequence, but in practice we have no way to determine this other than by the receipt of another event. 2. Faking the incoming BREAK end time. The FEP/OS can detect and generates an event at the start of a BREAK sequence but since the UARTs gives no indication of the end of these sequences no events are generated. So, normally the best we can do is to set the BREAK bit in the qnx_ioctl() bitmap when an incoming BREAK sequence starts, and clear it on receipt of the next non-BREAK event, for example on the receipt of a character or on detection of a modem line status change. However, users who require precise indication of BREAK end time may use the following trick suggested by Gene Olson: connnect pin 3 on the Digi adapter side of the cable to some unused modem control line, say RI. Then, whenever an incoming BREAK starts or ends, a modem event (in this case an RI event) will be perceived and the qnx_ioctl() bitmap will be suitably refreshed. * Added support for setting the software flow control characters at the Digi adapter level and developed a workaround for communicating these to the driver (since QNX normally expects to handle this at the higher DEV level and only calls the driver to communicate changes it cannot handle itself). As in previous versions we set the start/stop characters with "stty" (e.g: "stty start=02 stop=03..."), but by themselves changes to the start and stop characters are not communicated to the driver. However, since certain "stty" changes (including changes to: baudrate, clocal, hupcl, cread) always result in calls to the driver, we can guarantee the information transfer by contriving to always include at least one change to one of these other settings when modifying the start or stop characters. For example: to set board-level software flow control to use Ctl/B and Ctl/C, we can use a temporary change to, say: the "clocal" setting. Thus, assuming that the device is currently set for -clocal, we could set the start and stop characters with: stty clocal start=02 stop=03 +osflow +isflow