Brief Description: A Customer of Compaq has noted that they can not use the UPS Service with a certin SDLC adapter. This is caused because the SDLC adapter uses IRQ 3 and IRQ4 and the UPS Service only can be configured for these two interrupt levels. In this type of machine (ISA) the only solution currently available to fix this problem is to patch the UPS source. 1.2 PROPOSED SOLUTION: _______________________ The proposed solution would be to make the com. port configurable. The range for the com. port would be 1 - 4. Also make the Vector address and the IRQ configurable. So the device = statement would be as follows : DEVICE=C:\IBMLAN\NETPROG\UPSDRV.OS2 /PORT:COMX /IRQ:XX /ADDR:XXXh These parameters would be optional. (/IRQ: and /ADDR:) Deliverables ls.r20 - ups.exe upsdrv.os2 ls.r30 - ups.exe upsdrv.os2 NEW DEVICE DRIVER This driver replaces the old UPS device driver in /ibmlan/netprog. The following are new features of the driver: A. Enabled for interrupt request (IRQ) level sharing. The driver will work with other drivers that share interrupts. At INIT time (during config.sys processing) the driver attempts to take the IRQ as non-shared and validate the port I/O address. At OPEN time (when the UPS service starts) the driver attempts to take the IRQ as shared. B. New parameters: IOADDR and IRQ. These parameters allow the user to specify a non-standard I/O port address and IRQ for the serial port used by the UPS. These parameters are mutually exclusive with the existing PORT parameter. The PORT parameter is set to COM1 or COM2 during the normal installation of LAN Server. The installation/configuration program adds the following line into the CONFIG.SYS: DEVICE=\NETPROG\UPSDRV.OS2 /PORT:COMx COM1 and COM2 are the only valid options to the /PORT parameter. An error will be generated if any other value is specified. In LS 3.0, the driver assumed COM1 if the value was not 2. Users may have access to serial boards that provide communications ports ports that do not conform to IBM standard configurations. Such boards usually offer the user multiple serial ports. There are also circumstances when the user needs the standard COM1 and COM2 for other devices but still want the security of a UPS interface. In these cases, the user will need to edit the CONFIG.SYS file and change the UPS driver parameters. Both /IOADDR: and /IRQ: parameters must be specified. The I/O port address and IRQ for non-standard boards are specified in their technical documentation. Both the "xxxx" and "y" values are hexadecimal numbers. The /IOADDR: value can be a variable number of hexadecimal digits. The /IRQ: value can only be 1 hexadecimal digit. For example, the IBM Dual Async Adapter provides 2 additional serial ports. On a PS/2 Model 95 containing this adapter, the default configuration would be: Planar: PORT 1 IRQ 4 IO ADDR 3F8-3FF Adapter: PORT 2 IRQ 3 IO ADDR 2F8-2FF PORT 3 IRQ 3 IO ADDR 3220-3227 To use port 3 (by default, the second port on the adapter), CONFIG.SYS would be edited to look like this: DEVICE=\NETPROG\UPSDRV.OS2 /IOADDR:3220 /IRQ:3 C. Messages. During IPL of a system with the UPS service installed, there can be several reasons why the UPS device driver will not install. The following list shows the possible text output during IPL that accompany a failed attempt to install the UPS device driver. Along with this text is a more detailed description of why the device driver did not get installed and/or corrective actions the user can take. Note: these messages correspond to base OS/2 message numbers. The cause/action text below supercedes any text for the base messages. /PORT parameter used: 1. Message ------- "UPS did not install. The device does not recognize the command." Description ----------- The user has specified a COM port parameter other than COM1 or COM2. The user needs to use the /IOADDR: /IRQ: parameters to specify a port configuration other than COM1 or COM2. 2. Message ------- "UPS did not install. The device adapter could not be located, or it is in use by another device." Description ----------- The specified COM port is not recognized by the BIOS, i.e., OS/2 is not aware of the COM port's existence. Run diagnostics to determine if the port exists and its I/O address is either hex 3f8 (for COM1) or hex 2f8 (for COM2). 3. Message ------- "UPS did not install. The device adapter is not supported." Description ----------- The specified COM port has been configured with a non-standard I/O address. Run diagnostics to be certain that the port's I/O address is either hex 3f8 (for COM1) or hex 2f8 (for COM2). If the port's I/O address is not the standard values as described above, the user should use the /IOADDR: /IRQ: parameters to specify the proper values. 4. Message ------- "UPS did not install. The interrupt level is not available." Description ----------- A device has already reserved non-shared use of the COM port's IRQ. COM1 uses IRQ 4 and COM2 uses IRQ 3. If possible, configure the COM port's IRQ value and use the /IOADDR: /IRQ: parameters to specify the different configuration. If this isn't possible, determine which device has reserved the IRQ level and change its configuration. If this isn't possible, change the COM port for use by the UPS. /IOADDR: /IRQ: parameters used: 1. Message ------- "UPS did not install. The device does not recognize the command." Description ----------- The user has specified a command parameter other than the /IOADDR: /IRQ: pair. The first parameter must be the /IOADDR: and its value followed by the /IRQ: parameter and its value. 2. Message ------- "UPS did not install. SYS1003: The syntax of the command is incorrect." Description ----------- The user has: A. specified only a portion of the /IOADDR: parameter, or B. failed to specify a hexadecimal value for the /IOADDR: parameter, or C. failed to specify the /IRQ: parameter or only a portion of the parameter, or D. failed to specify a single hexadecimal digit for the /IRQ: value. 3. Message ------- "UPS did not install. SYS0487: The specified address is not correct." Description ----------- The value specified with the /IOADDR: parameter is not correct. The device driver attempted to validate the specified address as a legitimate serial port but got no response. Run diagnostics to determine if the port's I/O address is correct and is correctly specified in the CONFIG.SYS file. 4. Message ------- "UPS did not install. The interrupt level is not available." Description ----------- A device has already reserved non-shared use of the IRQ. If possible, reconfigure the serial port's IRQ value and change the /IRQ: value in CONFIG.SYS file. If this isn't possible, determine which device has reserved the IRQ level and change its configuration. 3. NEW SERVICE This service replaces the old UPS service in /ibmlan/services. The following are changes to the service: A. Fixes for problems: 1. Shutdown not performed after power failure and low battery messages. 2. LOWBATTERY effective whether AC line is good or bad. 3. No low battery message before shutdown where low battery signal is available. 4. Spurious low battery message when UPS cannot signal low battery. B. Down-level clients are no longer notified of UPS events. This includes LS 1.0, DLR 1.0, PCLP 1.31 or later, and LM 1.0 (DOS/OS2). *LM 1.0 is property of Microsoft Corp. (C) (R)* Parameter + Default Values Summary: General: SIGNALS 100 MESSDELAY 5 seconds VOLTLEVELS 100 MESSTIME 120 seconds CMDFILE CMDTIMER 30 seconds AC good/battery low: LOWBATTERY WARNING BATTERYMSG 600 seconds (only used for LOWBATTERY=WARNING) UPS can't signal low battery: BATTERYTIME 60 seconds RECHARGE 100 seconds Miscellaneous notes A. DMA mode of micro-channel architecture machines. Newer MCA machines, such as the IBM PS/2 models 57, 90, and 95, which feature a DMA mode for the serial ports, will cause problems for UPS. The manifestation is UPS service-initiated shutdown immediately after the service starts. To correct, use the system partition reference information to set the transmit and receive arbitration levels to "disabled" for the UPS-connected port. B. Compatibility with SDLC. The SDLC device driver statement should include the "S" option (device=c:/cmlib/sdlcdd.sys S 0), which is a directive for it to share IRQ 3 and 4. C. Pinouts. From UPS device To 25-pin To 9-pin 1 low batt 8 DCD 1 5 ground 7 SG 5 10 device shutdown 20 DTR 4 13 AC failure 5 CTS 8