Patch Name: PHNE_19234 Patch Description: s700_800 10.01-[12]0 2.2X ACC X.25 Protocol FW (EISA) Patch Creation Date: 99/09/02 Post Date: 00/02/16 Hardware Platforms - OS Releases: s700: 10.01 10.10 10.20 s800: 10.01 10.10 10.20 Products: Z7401A 2.21 2.22 2.23; Z7434AA 2.21 2.22 2.23; Filesets: ACC-X25.ACC-X25-FW ACC.ACC-FW Automatic Reboot?: No Status: General Release Critical: No (superseded patches were critical) PHNE_15371: OTHER ACC card crash PHNE_11511: OTHER Data loss. Backplane DMA timeouts. PHNE_10814: PANIC PHNE_9285: PANIC Path Name: /hp-ux_patches/s700_800/10.X/PHNE_19234 Symptoms: PHNE_19234: DTS TPO0h01780: The LAPB and LAPD protocols were not behaving correctly in relation to retransmission of the REJect frame. Only one REJect frame would be transmitted, despite never receiving an in-sequence I-frame which clears the reject condition. The standards state that that a REJect frame should be retransmitted every T1 interval until the condition clears. DTS TPO0h01967: Some ports on some 8-port cards fail to come up in X.21 mode. DTS TPO0h02172: LAPB/LAPD: Extended Information and Supervisory frames that are received and are too short (missing part of control field) are simply being ignored. Receipt of these frames should result in the following action: LAPB - sends FRMR (w and x set) LAPD - sends SABME DTS TPO0h02173: On LAPB/LAPD connection establishment, groups of DM frames are sent between groups of SABM/SABME frames - which is incorrect. DM frames should not be sent during this connection establishment state. DTS TPO0h02175: LAPB/LAPD terminals are not handling the "busy condition" properly. If one side of a link is inactive (sent RNR - Receiver Not Ready), the other side should poll every T1 until the remote end activates. DTS TPO0h02256: The LAPB Z180 firmware blocks messages from being sent after a link reset under special circumstances: A received frame with a bad N(R) will result in a FRMR being sent. On receiving this, the remote end will send a SABM, our end send a UA and the link is re-established. This is fine. But once this process is through, the firmware refuses to send I-frames until it receives a frame. This is a bug. DTS TPO0h02414: A customer would like to be able to congigure the frame protocol buffer transmit timer in the same way timers are configured in HDLC-LAPB. A problem exists at baud rates of 1200 and below. A full buffer of data (238 bytes) will be cut short when the 1 second transmit timeout expires. DTS TPO0h02429: The ACC loopback test (invoked by the LB command in zmntr) was occasionally failing with non-defective 8-port cards. The problem occurred on average about once every 50 zmntr LB commands. DTS TPO0h02504: With the baud rate incorrectly configured as 64,000 while the actual line speed is 9600, transmitted frames can be cut short and joined together. DTS TPO0h02773: Some ports on some cards do not work properly in X.21 mode on the 8-port NIO and EISA cards. Some of these failures occur just after a card reset, and recover after some 10 - 30 seconds. Other ports fail all the time. The failure appears to be the port detecting the CTS and/or DCD signals missing. DTS TPO0h02776 / DTS TPO0h02780: Enhancement - The r2.23 x.25 firmware needs to be updated to the newer frame-based version (zx25) which supersedes the current 2.23 version. DTS TPO0h02789: HDLC terminals on X.21 lines sometimes can "bounce" as they are being enabled and brought up - meaning the line comes up, then quickly goes down and comes up again. This can lead to loss of transmitted data if the data is sent as soon as the terminal is enabled. PHNE_17262: SR 4701405889 / DTS TPO0h02414 The Z180 based cards timeout when sending a buffer larger than 147 bytes at 1200 Baud rate. PHNE_15371: SR 5003398362 / DTS TPO0h01774: A large number of short packets received with the M-bit set can lead to a firmware failure (ACC card restart). SR None / DTS TPO0h01966: No current method to determine hardware revision PHNE_11511: SR None / DTS TPO0h01418: Back Plane DMA timeout. And application-generated data traffic's inability to be sent out the line. PHNE_10814: SR 4701349928 / DTS TPO0h01198: System panic or DMA timeout occurs occasionally during ACC start up while downloading EISA ACC card. PHNE_9288: No ACC X.25 Protocol FW (EISA) related symptoms for this patch. PHNE_9285: SR 4701344473 / DTS TPO0h00994: DMA timeouts and system panics can occur when the EISA ACC is used and the onboard LAN interface is busy on some D-class and C-class systems. PHNE_9284: No ACC X.25 Protocol FW (EISA) related symptoms for this patch. PHNE_9283: SR 4701341719 / DTS TPO0h00745 / DTS TPO0h00804: A system panic can occur when receiving messages greater than 28672 bytes. The long messages can be generated using the X.25 protocol and setting the M-bit (more data) on multiple packets. This problem affects systems with cache coherent I/O such as the C, D, and J-class. The panic is a "Data page fault". The message "DMA buffer mapping failure -1." is written to the system console when this problem occurs. Here is the stack trace for the panic. stack trace for event 0 crash event was a panic panic+0x10 report_trap_or_int_and_panic+0x8c interrupt+0x4e0 $ihndlr_rtn+0x0 eisa_unmap+0x4c nacc0_end_io+0x5c0 eacc0_isr+0x328 eisa_int+0x10c lasi_interrupt+0x18c mp_ext_interrupt+0x280 $RDB_int_patch+0x58 idle+0x344 PHNE_8991: No ACC X.25 Protocol FW (EISA) related symptoms for this patch. PHNE_8833: No ACC X.25 Protocol FW (EISA) related symptoms for this patch. Defect Description: PHNE_19234: DTS TPO0h01780: The HDLCABM state machine was not designed to handle REJect frame retransmission. Extensive changes have been made to the HDLCABM state machine to handle REJect frame retransmission. DTS TPO0h01967: Change to ensure that X.21 is disabled for the Z7200A Rev.A card only. Change particularly focused at the Z7400A EISA cards to ensure that Rev.A cards are not disabled from X.21 configuration. This corrects the X.21 configuration problem with all cards. DTS TPO0h02172: HDLC firmware was ignoring this condition. The HDLC firmware has been corrected. DTS TPO0h02173: Bad state change on N2/N200 timer expiration. The finite state machine (FSM) has been corrected. DTS TPO0h02175: Incorrect behaviour coded into the HDLCABM state machine. The state machine has been corrected. DTS TPO0h02256: The transmit window full flag in the firmware was not being cleared on the link reset. The firmware did not send further messages because it thought the window was full. Code to reset this transmit window full flag have been added in the appropriate points. DTS TPO0h02414: The transmit timeout is fixed at 1 second which is not enough to allow the complete transmission of a full buffer (238 bytes) at 1200 baud or less. The frame module now sets the timeout according to the configured baud rate on the port. Baud rate Tx timeout (x100ms) 300 136 600 69 1200 35 2400 18 4800 10 9600 6 >9600 4 These timeouts allow approximately double the necessary time for the maximum of 252 bytes to be transmitted. 252 bytes is the maximum number of bytes to be transmitted because that is the maximum which can be held in one ACC buffer. DTS TPO0h02429: A problem with the 8-port's ISCC chips caused a transmit underrun to be incorrectly generated during the start of a frame tranmission - resulting in the first few bytes of that frame being corrupt. Note: The test is transmitting in single character mode. On initialisation of the ISCC, the firmware was issuing a "Reset Tx Underrun/EOM Latch" command. This was found to cause the occasional transmit underrun external/status interrupt. This reset command was taken out of the initialisation sequence in the testprot firmware. DTS TPO0h02504: This is due to an enhancement that was made for defect TPO0h02414. The transmit timeout used at level-1 was shortened for baud rates as high as 64000. Because incorrect baud rate configurations can lead to this problem, part of the changes made for TPO0h02414 have now been backed out. The minimum timeout used is now 1 second which will allow for typical incorrect configurations. DTS TPO0h02773: The Sipex chips (line drivers) when placed in RS422 mode (balanced signaling mode used for X.21) leave some unused TTL output pins in an unknown state. These pins are used for the CTS signal when the Sipex chip is in RS232 mode. The firmware was reading the state of the CTS signal - and the ISCC chips were configured to react to this signal. This problem was not detected before because the usual state of these Sipex pins signal that CTS is up. On some Sipex chips, this signal is down, or is down and then comes up after a short period of time after being put into RS422 mode. The firmware has been changed to ignore the CTS signal when in X.21 mode. Also the ISCC chips are configured to also ignore changes in the CTS and DCD signals. The firmware code still checks the DCD signal - which matches the X.21 Indicate signal, so the firmware still can detect a cable disconnect. Note: There is no problem in ignoring the (internal) CTS signal - as it does not map to any signal in X.21. DTS TPO0h02776 / DTS TPO0h02780: The current r2.23 x.25 firmware has been superseded with the latest release, which brings it up-to-date with the latest r2.40 x.25 firmware. DTS TPO0h02789: The HDLCABM protocol verifies the status of the line (CTS/DCD/RTS type signals) on receipt of a frame. This verification checks status bits that are set by the frame protocol every 1 second. If the HDLC terminal is enabled and a frame is received within one second, the status bits may not be up-to-date. This indicates to the HDLC terminal that the link is down and it discards the frame. This problem has been fixed in the firmware. PHNE_17262: SR 4701405889 / DTS TPO0h02414 The Z180 based cards cannot transmit more than 147 bytes at 1200 baud, because the transmit timeout is set at 1 second per buffer and it takes more than 1 second to transmit 148 bytes at this baud rate PHNE_15371: SR 5003398362 / DTS TPO0h01774: There was a bug in the X.25 firmware code, which caused queue corruption on the ACC whenever a short DATA packet was received (that's one which is less than the full packet size but with the M-bit set and without the D-bit set). The error handling causes the queue corruption. The ACC firmware can survive for some time with this queue corruption, but a lot of these errors will eventually cause the card to fail. SR None / DTS TPO0h01966: Enhancement to detect hardware revisions of ACC cards. A standard interface has been defined to identify hardware revisions of all ACC cards. The 'mx' command of zmntr has been enhanced to include the display of the hardware revision. PHNE_11511: SR None / DTS TPO0h01418: ACC EISA card firmware defect. PHNE_10814: SR 4701349928 / DTS TPO0h01198: The EISA ACC firmware was not checking for an empty fifo condition while using programmed I/O to read an immediate mode command from the hp-ux host. PHNE_9288: No ACC X.25 Protocol FW (EISA) related defects were fixed in this patch. PHNE_9285: SR 4701344473 / DTS TPO0h00994: The ACC firmware was not correctly setting up the logic which controls the data transfers from the EISA bus into the ACC card memory for host to card transfers. The logic would fail to stop writing to the ACC card memory when the data transfer over the EISA bus was paused. When the onboard LAN was busy, the transfers to the EISA ACC card could be slowed causing the problem to appear. PHNE_9284: No ACC X.25 Protocol FW (EISA) related defects were fixed in this patch. PHNE_9283: SR 4701341719 / DTS TPO0h00745 / DTS TPO0h00804: Within the driver for the EISA ACC, the call to wsio_map() to map the zcom buffer for the inbound data fails and the error is not handled properly. When the DMA operation completes the panic occurs in the wsio_unmap() call. PHNE_8991: No ACC X.25 Protocol FW (EISA) related defects were fixed in this patch. PHNE_8833: No ACC X.25 Protocol FW (EISA) related defects were fixed in this patch. SR: 4701349928 4701344473 4701341719 5003398362 Patch Files: /opt/acc/z7400a/x25.zabs /opt/acc/z7400a/x25.zmap /opt/acc/z7400a/x25.zlnk /opt/acc/protocol/zx25.zrel /opt/acc/protocol/x25.zrel /opt/acc/sys/z7400_fw.zrel /opt/acc/.patch_build_info_PHNE_19234 what(1) Output: /opt/acc/z7400a/x25.zabs: ZCOM System Firmware (ROM) Rev 01.B5 970416.1600 ZCOM Z7400A System Software Rev 01.C 970624.1601 Patch name: PHNE_19234 ZCOM LEVEL1 Protocol REV_STR level1.z80, Patch name: PHNE_19234 ZCOM X.25 PROTOCOL Rev 20.05 961114.2250 ZCOM X.25 Level 2 REV_STR abm.cpp, Patch version: PHNE_19234 ZCOM HDLC ABM State Tables Rev:1.12 981123.1126 REV_STR abmfsmtab.zinc ZCOM HDLC ABM Protocol REV_STR abm.cpp, Patch version: PHNE_19234 ZCOM HDLC ABM State Tables Rev:1.12 981123.1126 REV_STR abmfsmtab.zinc ZCOM Monitor module Rev 3.0 940706.1800 ZCOM Port Diagnostic Module REV_STR testprot.z80, Patch version: PHNE_19234 ZCOM Protocol module entry point table 870406.1041 /opt/acc/z7400a/x25.zmap: ZCOM System Firmware (ROM) Rev 01.B5 970416.1600 ZCOM Z7400A System Software Rev 01.C 970624.1601 Patch name: PHNE_19234 ZCOM LEVEL1 Protocol REV_STR level1.z80, Patch name: PHNE_19234 ZCOM X.25 PROTOCOL Rev 20.05 961114.2250 ZCOM X.25 Level 2 REV_STR abm.cpp, Patch version: PHNE_19234 ZCOM HDLC ABM State Tables Rev:1.12 981123.1126 REV_STR abmfsmtab.zinc ZCOM HDLC ABM Protocol REV_STR abm.cpp, Patch version: PHNE_19234 ZCOM HDLC ABM State Tables Rev:1.12 981123.1126 REV_STR abmfsmtab.zinc ZCOM Monitor module Rev 3.0 940706.1800 ZCOM Port Diagnostic Module REV_STR testprot.z80, Patch version: PHNE_19234 ZCOM Protocol module entry point table 870406.1041 /opt/acc/z7400a/x25.zlnk: EACC x25.zlnk $Rev: /main/r2.23/1 $ /opt/acc/protocol/zx25.zrel: ZCOM X.25 PROTOCOL Rev 20.05 961114.2250 ZCOM X.25 Level 2 REV_STR abm.cpp, Patch version: PHNE_19234 ZCOM HDLC ABM State Tables Rev:1.12 981123.1126 REV_STR abmfsmtab.zinc /opt/acc/protocol/x25.zrel: ZCOM X.25 PROTOCOL CODE Rev 12.37 970911.0000 /opt/acc/sys/z7400_fw.zrel: ZCOM Z7400A System Software ACC Rel B.02.40-B.2.40.02 for B.10.20 PHNE_18716 z7 400_f /opt/acc/.patch_build_info_PHNE_19234: None cksum(1) Output: 201116899 38764 /opt/acc/z7400a/x25.zabs 1753221759 4201 /opt/acc/z7400a/x25.zmap 3647574210 460 /opt/acc/z7400a/x25.zlnk 16816001 45492 /opt/acc/protocol/zx25.zrel 3687032832 20946 /opt/acc/protocol/x25.zrel 2563465178 41844 /opt/acc/sys/z7400_fw.zrel 2871470016 1123 /opt/acc/.patch_build_info_PHNE_19234 Patch Conflicts: None Patch Dependencies: s700: 10.01 10.10 10.20: PHNE_15369 s800: 10.01 10.10 10.20: PHNE_15369 Hardware Dependencies: None Other Dependencies: The EEPROM on the EISA ACC card must be updated according to the service note Z7400A-01 when this patch is installed. The download firmware provided in this patch can only be used with the updated version of the ACC EISA Boot Rom, part number Z7400-80011. Supersedes: PHNE_8833 PHNE_8991 PHNE_9283 PHNE_9284 PHNE_9285 PHNE_9288 PHNE_10814 PHNE_11511 PHNE_15371 PHNE_17262 Equivalent Patches: None Patch Package Size: 220 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHNE_19234 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_19234.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_19234. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. WARNING: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHNE_19234.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHNE_19234.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: After installing this patch relink any custom firmware download files (.zabs) that have been created. The ACC subsystem must then be stopped and restarted using zmasterd in order to download the new firmware. Please Note: To customers who link their own firmware, you should now link with the zx25.zrel and hdlcabm.zrel files that supersede the x25.zrel and hdlc.zrel firmware files. IMPORTANT NOTE Patches PHNE_9284 and PHNE_9288 are being superseded by 5 patches and 4 patches respectively. PHNE_10778, PHNE_10814, PHNE_10910, PHNE_10911 and PHNE_10912 for PHNE_9284, 2.21/10.01 ACC X.25 Bundle (EISA). PHNE_10778, PHNE_10814, PHNE_10815 and PHNE_10816 for PHNE_9288. 2.22/10.20 ACC X.25 Bundle (EISA). These new patches can be used together for the ACC X.25 Bundled Product (EISA) or they can be used individually as applicable for other ACC products. +---- | 10910 (Base Software) 2.21/10.01 PHNE_9284 ---+ 10911 (X.25 Protocol) (X.25 Bundle) | 10912 (X.25/9000 Support) | +-- | | 10778 (Base firmware) | | 10814 (X.25 firmware) +---- | 10815 (Base Software) 2.22/10.10 PHNE_9288 -----+ 10816 (X.25/9000 Support) (X.25 Bundle) +--