Patch Name: PHNE_8223 Patch Description: s700 10.10 OTS C.06.00 cumulative mega patch Creation Date: 96/10/04 Post Date: 96/10/15 Hardware Platforms - OS Releases: s700: 10.10 Products: OTS/9000 C.06.00 Filesets: OTS9000.APLI-PRG,C.06.00 OTS9000.OTS-KRN,C.06.00 OTS9000.OTS-MAN,C.06.00 OTS9000.OTS-RUN,C.06.00 OTS9000.ROSE-PRG,C.06.00 Automatic Reboot?: Yes Status: General Superseded Critical: No (superseded patches were critical) PHNE_7406: PANIC PHNE_6725: PANIC Path Name: /hp-ux_patches/s700/10.X/PHNE_8223 Symptoms: PHNE_8223: 1. Additional Functionality: TP3 over CONS is added to OTS. 2. The retransmission timer doesn't work as expected. 3. System panicked when it was idling. Panic message: Data page fault 4. System panicked when a FTAM connection is being established. Panic message: INTERNAL ERROR: Illegal RCI operation 5. MSDSG doesn't work. 6. ots_get_layer_stats does not return 0 when successful. 7 a) osipdufmt doesn't handle -l option correctly. b) osipdufmt doesn't handle pdus across multiple X.25 packets c) odipdufmt doesn't format RFC1006 traces. 8. a) With multiple X.25 cards configured, no LAN; all cards in both CLNS and CONS subnets and any card's, other than the first's, X.121 address in the ots_dests file, a loopback(transport) test after doing an x25init of all cards will cause a system panic. b) With a single X.25 card configured in a CLNS subnet and no LAN subnet configured, the CLNS X.25 subnet will not work. One will not be able to make connections or transfer data. A simple loopback(transport) test will fail. PHNE_7782: 1. Additional Functionality: As an enhancement to OTS it now supports configuration of alternate physical addresses in dest entries associated with CONS/X.25 subnetworks. This is provided via dest_alt_phys_address lines in ots_dests. It is also supported via -a options in the otsaddes command. Otsdeles and otsshowes were also changed to support the alternate physical address functionality. Additionally the parameter snet_ises in the ots_subnets file can now be set to a value of 0. This is for FDDI and LAN. With it set to 0 no end system hellos will be generated. PHNE_7406: 1. The files OTSconfigSAP and OTSconfigSBN in /var/opt/ots are created by otsstart with global write permission. 2. The commands otsaddis, otsaddroute, and otsdelroute return the k-shell error ksh: syntax error: `else' unexpected 3. If Dart 28 version of X.25 is installed with OTS on an MP system then panics will occur. 4. On MP systems using RFC1006 data may be sent out of order, which manifests itself as data corruption PHNE_6725: 1. If CLNP is configured using NULL subset (subset 0), then there will be data corruption. 2. A user application using the ROSE API core-dumps if a NULL ubuf->buf pointer is used on a reject reply. 3. Session api demo program will not run over lan. Problem only shows up when rfc1006 is not configured. When you run the client demo program you will see errors osi_get_event: receives unexpected message 1407 Client: abnormal termination, exit code = -999 4. User application making a call to ap_snd() will hang. If APRI tracing is turned on, user will find that ai_putmsg() is looping. 5. In an MSDSG configuration NODE(A) <----> NODE(B) <---> NODE(C) Where: NODE(A) is configured as LAN only NODE(B) is configured as an MSDSG relay node and is configured both for X.25 CONS and LAN. NODE(C) is configured for X.25 CONS. When NODE(A) initiates a connection with NODE(C) via MSDSG on NODE(B), sometimes NODE(B) will panic when the connection disconnects. Apparently this problem is limited to situations where NODE(B) is running High Perf X.25. It doesn't seem to happen with Classic X.25. 6. User sees files with names of the form Saannnnn accumulate in /usr/spool/sockets/osi. Where: aa is a string of two alphabetic characters which may be either upper or lower case. nnnnn is a process id number. These files are created by FTAM. 7. OTS osipdufmt does not interpret X.25 nettl traces, no output is generated. 8. A kernel panic happens when no OTS subnets are configured and the user runs otsaddnsap. 9. OTS osidiag "WAN X.25 Tests" display inappropriate NSAP information. When "Connect" is selected, the test displays "x25_calling_nsap" and "x25_called_nsap" values which were choosen by osidiag, but are unlikely to be used in the test. The NSAPs should be set by the user when a "ISO 8878 Encoding" test is run. 10. A ROSE application which calls ap_rcv could go into an infinite loop. 11. Session connection rejects occur if remote vendors protocol supplies a TSDU Max Size other then NULL in the connection accept packet. 12. A ROSE application which sends data larger than 65500 bytes will get truncated packets on the receiving side. 13. In osidiag, "Status" test fails under FTAM tests. 14. A ROSE application will core-dump if a NULL ubuf pointer is used on a ROSE API call. 15. The system may hang for 30+ seconds, when using the FTAM responder accessing OTS via the XTI t_bind call with qlen greater than 8196. 16. OTS panics when FTAM attempts to open a connection. The panic occurs only when one or more CONS/X.25 subnets are configured, no LAN or CLNS/X.25 subnets are configured, the remote ftam responder is configured in remote_app, and the remote NSAP is not configured in ots_dests. The panic occurs in ERcMultiFail as a "Data page fault". 17. Additional feature: APIs for adding, deleting dynamic NSAPs and listing all NSAPs for a particular network service. These are otsaddnsap, otsdelnsap and otsshownsaps. These APIs provide the same functionality as the scripts otsaddnsap, otsdelnsap, and otsshownsaps. These routines are provided in libotsadm.a and libotsadm.sl A new header file, otsadmin.h, is also being supplied with this API. The man pages for these APIs are in the section 3 of the OTS manpages. Defect Description: PHNE_8223: 1. Additional functionality. 2. As tp4clns_maxret = 1000, we should never spend more than than 1000 deciseconds (1 decisecond = 1/10 of a second) between two successive retransmissions. The limit is not checked, before the retransmission timer is increased. 3. The routing mechanism was trying to access a routing entry which was not valid any more. The fix is to verify the entry before referencing it. 4. A RCI pointer was set properly. It ended up pointing to the wrong data structure. Now the fix is to ensure proper initialization of this pointer. 5. Changes to provide OSIPING added an additional network SAP (#72) to the static configuration. At startup time OTS initialization places the address of the CLNS Network SAP in each of the CONS and CLNS SATs. The algorithm assumed that the CLNS Network SAP would be the last Network SAP in the configuration. This is no longer true, the OSIPING SAP is 72, and the CLNS SAP is 70 and thus 72 was being placed in both SATs. MSDSG looks in the CONS SAT, finds the wrong SAP number and promptly fails. 6. rocedure did not do an explicit return(0) when successful. 7. a) missing shift in KSH script b) The more bit processing was incorrect. c) No support provided for processing RFC1006 traces existed in osipdufmt. 8. A local attachment pointer was not set properly. In the case of CLNS/X.25 without LAN, the CLNS master SAP(21) was occupied by X.25 . All X.25 code assumed that the saphctx field of the SAP would point to a local attachment structure, which was not true for the CLNS master SAP. The fix was to check explicitly to see if we are handling a CLNS master SAP and to treat it as a special case. PHNE_7782: 1. Additional functionality. PHNE_7406: 1. OTSSTART is setting the umask to 0. 2. Each of the scripts for otsaddis, otsaddroute, and otsdelroute were missing a necessary "then". 3. The X.25 product was modified for MP systems, and these changes cause OTS to panic. 4. Streams changed on 10.x so that pending outbound data is not always visible to OTS. Therefore OTS occasionally sends data when there is other pending outbound data unsent. PHNE_6725: 1. This problem is caused by decoding a header that does not exist. osiping and CLNI do not work for subset 0, since they require the CLNP header to decode the echo request and echo response PDUs. Problem with data corruption is fixed 2. The ROSE library tried to dereference the pointer without first checking it, hence the core-dump. The ROSE library now performs proper check on pointer. 3. Session returned bad information from ses_reg_rq which made the binding in ses_con_rq fail. 4. The kernel flow control module returns invalid flow control information during an ap_open() call. This invalid information causes ai_putmsg(), an internal library function, to loop. The kernel flow control module now returns valid information 5. A missing call to create a trace header in the module tr4sub.c is resulting in memory corruption of OTS data structures. The nature of the panic depends on which data structure gets corrupted and when the corrupt data is accessed. This only happens when the MSDSG relay function is operating and is associated only with disconnect processing. The code has been modified to create the necessary trace header so that the memory corruption does not occur. 6. FTAM cannot determine whether or not it is safe to delete files of the form Saannnnn in /usr/spool/sockets/osi. Apparently, this can only be safely done by OTS during stack startup. OTS now removes these files. 7. The shell script osipdufmt was not modified to correctly handle the new X.25 formatter output under HP-UX 10.X. This is fixed in this patch. 8. An end system hello is sent for the NSAP that has just been added. The sap table is not initialized and a null pointer is dereferenced. 9. OTS osidiag initialized the NSAPs even though they are unlikely to be used, and all values set are displayed. With this patch osidiag does not initialize the NSAPs. 10 ap_rcv() calls a decoding routine in the ROSE library to decode an incoming ROSE result indication. But the decoder returns a negative data length, which causes ap_rcv() to loop. ap_rcv() will now check for a valid data length. 11. The OTS product never proposes a TSDU Max Size in the Session connect request and always expects in the accept a TSDU Max Size of NULL or none at all. The fix is to ignore TSDU Max Size. 12. The ROSE library does not correctly encode the length field if it requires more than 2 bytes. The fix is to correctly encode a length requiring more than 2 bytes. 13. The wrong location was being used for the FTAM utility osistat. 14. The ROSE library tried to dereference the pointer without first checking it, hence the core-dump. The fix is to ensure the pointer is not NULL before dereferencing it. 15. OTS transport limits the number of outstanding connect indications (qlen) to 255 or 1/2 the remaining contexts whichever is lower. There is a logic error in the code that allowed qlen to exceed the limit and caused the problem. The fix enforces the qlen limit. 16. The panic occurs when ERcMultiFail() tries to dereference a NULL pointer. The pointer is now checked. SR: 1653180448 1653182170 5003335968 1653182915 4701332593 1653181628 4701335182 1653157958 5003275693 1653159491 5003304972 5003306175 1653163683 1653164012 1653165019 1653162081 1653157875 Patch Files: /opt/ots/conf/lib/libotsam.a /opt/ots/bin/otsaddes /opt/ots/bin/otsaddis /opt/ots/bin/otsaddroute /opt/ots/bin/otsdeles /opt/ots/bin/otsdelroute /opt/ots/bin/otsshowes /opt/ots/bin/otsstart /opt/ots/bin/osiconfchk /opt/ots/bin/osipdufmt /opt/ots/include/otsadmin.h /opt/ots/lbin/bin2conf /opt/ots/lbin/conf2bin /opt/ots/lbin/osiconfx /opt/ots/lbin/osidiagx /opt/ots/lbin/otstrans /opt/ots/lib/OTShardconf /opt/ots/lib/libapli.a /opt/ots/lib/libapli.sl /opt/ots/lib/libotsadm.a /opt/ots/lib/libotsadm.sl /opt/ots/lib/librose.a /opt/ots/lib/librose.sl /opt/ots/lib/nls/msg/C/osiconfchk.cat /opt/ots/lib/nls/msg/C/osidiag.cat /opt/ots/man/man1m.Z/otsaddes.1m /opt/ots/man/man1m.Z/otsdeles.1m /opt/ots/man/man1m.Z/otsshowes.1m /opt/ots/man/man3.Z/otsaddnsap.3 /opt/ots/man/man3.Z/otsdelnsap.3 /opt/ots/man/man3.Z/otsshownsaps.3 /opt/ots/man/man1m/osipdufmt.1m what(1) Output: /opt/ots/lib/OTShardconf: OTS: C.06.00 OTShardconf PATCH C.06.00 (PHNE_7781/PHNE_7782) /opt/ots/lbin/bin2conf: OTS: C.06.00 ics.c PATCH C.06.00 (PHNE_7781/PHNE_7782) cv_tbl.c PATCH C.06.00 (PHNE_7781/PHNE_7782) $Revision: 76.152 $ /opt/ots/lbin/conf2bin: OTS: C.06.00 ics.c PATCH C.06.00 (PHNE_7781/PHNE_7782) cv_tbl.c PATCH C.06.00 (PHNE_7781/PHNE_7782) $Revision: 76.152 $ /opt/ots/lib/libapli.a: OTS: C.06.00 al_rcv.c PATCH C.06.00 (PHNE_6724/PHNE_6725) al_utl.c PATCH C.06.00 (PHNE_6724/PHNE_6725) /opt/ots/lib/libapli.sl: OTS: C.06.00 al_rcv.c PATCH C.06.00 (PHNE_6724/PHNE_6725) al_utl.c PATCH C.06.00 (PHNE_6724/PHNE_6725) /opt/ots/lib/libotsadm.a: OTS: C.06.00 oa_laystat.c PATCH C.06.00 (PHNE_8222/PHNE_8223) /opt/ots/lib/libotsadm.sl: OTS: C.06.00 oa_laystat.c PATCH C.06.00 (PHNE_8222/PHNE_8223) /opt/ots/conf/lib/libotsam.a: strosxconf.c PATCH C.06.00 (PHNE_7781/PHNE_7782) FILESET OTS-KRN: libotsam.a: Revision: C.06.00 e2iadm.c PATCH C.06.00 (PHNE_7781/PHNE_7782) e2icstz.c PATCH C.06.00 (PHNE_8222/PHNE_8223) e2isub.c PATCH C.06.00 (PHNE_8222/PHNE_8223) e2xsub.c PATCH C.06.00 (PHNE_8222/PHNE_8223) netcstz.c PATCH C.06.00 (PHNE_8222/PHNE_8223) netmai2.c PATCH C.06.00 (PHNE_7781/PHNE_7782) netmain.c PATCH C.06.00 (PHNE_7781/PHNE_7782) genoeof.c PATCH C.06.00 (PHNE_6724/PHNE_6725) sesdec.c PATCH C.06.00 (PHNE_6724/PHNE_6725) tr4cstz.c PATCH C.06.00 (PHNE_8222/PHNE_8223) tr4mai2.c PATCH C.06.00 (PHNE_6724/PHNE_6725) tr4sub.c PATCH C.06.00 (PHNE_8222/PHNE_8223) trscod.c PATCH C.06.00 (PHNE_8222/PHNE_8223) trsdec.c PATCH C.06.00 (PHNE_6724/PHNE_6725) trsmai2.c PATCH C.06.00 (PHNE_8222/PHNE_8223) trssub.c PATCH C.06.00 (PHNE_8222/PHNE_8223) strintses.c PATCH C.06.00 (PHNE_7781/PHNE_7782) strosxint.c PATCH C.06.00 (PHNE_7405/PHNE_7406) strosxmem.c PATCH C.06.00 (PHNE_6724/PHNE_6725) strosxopi.c PATCH C.06.00 (PHNE_8222/PHNE_8223) strosxos.c PATCH C.06.00 (PHNE_6724/PHNE_6725) strosxtool.c PATCH C.06.00 (PHNE_7405/PHNE_7406) strosxtpi.c PATCH C.06.00 (PHNE_8222/PHNE_8223) hp_osxx25.c PATCH C.06.00 (PHNE_8222/PHNE_8223) sx25_lam.c PATCH C.06.00 (PHNE_8222/PHNE_8223) hp_osxfcutil.c PATCH C.06.00 (PHNE_6724/PHNE_6725) strosxrK6.c PATCH C.06.00 (PHNE_7405/PHNE_7406) /opt/ots/lib/librose.a: ro_encode.c PATCH C.06.00 (PHNE_6724/PHNE_6725) OTS: C.06.00 ro_func.c PATCH C.06.00 (PHNE_6724/PHNE_6725) /opt/ots/lib/librose.sl: ro_encode.c PATCH C.06.00 (PHNE_6724/PHNE_6725) OTS: C.06.00 ro_func.c PATCH C.06.00 (PHNE_6724/PHNE_6725) /opt/ots/bin/osiconfchk: OTS: C.06.00 chk_strnge.c PATCH C.06.00 (PHNE_7781/PHNE_7782) structures.c PATCH C.06.00 (PHNE_8222/PHNE_8223) find_line.c PATCH C.06.00 (PHNE_7781/PHNE_7782) add_parms.c PATCH C.06.00 (PHNE_7781/PHNE_7782) cv_tbl.c PATCH C.06.00 (PHNE_7781/PHNE_7782) $Revision: 76.152 $ /opt/ots/lib/nls/msg/C/osiconfchk.cat: OTS: C.06.00 osiconfchk.cat PATCH_C.06.00 (PHNE_7781/PHNE_7782) /opt/ots/lbin/osiconfx: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ OTS: C.06.00 cv_tbl.c PATCH C.06.00 (PHNE_7781/PHNE_7782) structures.c PATCH C.06.00 (PHNE_8222/PHNE_8223) /opt/ots/lib/nls/msg/C/osidiag.cat: OTS: C.06.00 osidiag.cat PATCH_C.06.00 (PHNE_7781/PHNE_7782) /opt/ots/lbin/osidiagx: OTS: C.06.00 bit.c PATCH C.06.00 (PHNE_6724/PHNE_6725) xti_exec.c PATCH C.06.00 (PHNE_8222/PHNE_8223) CMIS/CMIP_version_1.6 @(#) sbm.h, revision 3.0 890801 SYN_body.c CMIS/CMIP_version_1.6.1 ics.c PATCH C.06.00 (PHNE_7781/PHNE_7782) cv_tbl.c PATCH C.06.00 (PHNE_7781/PHNE_7782) addtype.c 2.3 Released: 3/13/88 pdu.c 2.1 Released: 10/4/87 fpdu.c 2.3 Released: 3/13/88 apdu.c 2.2 Released: 3/13/88 apdu.c 2.2 Released: 3/13/88 fpdu.c 2.3 Released: 3/13/88 vd.c 2.3 Released: 8/1/88 directory.c 2.3 Released: 3/13/88 file.c 2.1 Released: 10/4/87 sbmlib.c, revision 1.0 890801 sbmlib.h, revision 3.0 890801 sbm.h, revision 3.0 890801 sbmprv.c, revision 1.0 890801 sbmlib.h, revision 3.0 890801 sbm.h, revision 3.0 890801 /opt/ots/bin/osipdufmt: OTS: C.06.00 osipdufmt PATCH C.06.00 (PHNE_8222/PHNE_8223) /opt/ots/man/man1m/osipdufmt.1m: C.06.00 osipdufmt.1m PATCH C.06.00 (PHNE_8222/PHNE_8223) /opt/ots/bin/otsaddes: OTS: C.06.00 otsaddes PATCH C.06.00 (PHNE_7781/PHNE_7782) /opt/ots/man/man1m.Z/otsaddes.1m: None /opt/ots/bin/otsaddis: OTS: C.06.00 otsaddis PATCH C.06.00 (PHNE_7405/PHNE_7406) /opt/ots/man/man3.Z/otsaddnsap.3: None /opt/ots/bin/otsaddroute: OTS: C.06.00 otsaddroute PATCH C.06.00 (PHNE_7405/PHNE_7406) /opt/ots/include/otsadmin.h: OTS: C.06.00 /opt/ots/bin/otsdeles: OTS: C.06.00 otsdeles PATCH C.06.00 (PHNE_7781/PHNE_7782) /opt/ots/man/man1m.Z/otsdeles.1m: None /opt/ots/man/man3.Z/otsdelnsap.3: None /opt/ots/bin/otsdelroute: OTS: C.06.00 otsdelroute PATCH C.06.00 (PHNE_7405/PHNE_7406) /opt/ots/bin/otsshowes: OTS: C.06.00 otsshowes PATCH C.06.00 (PHNE_7781/PHNE_7782) /opt/ots/man/man1m.Z/otsshowes.1m: None /opt/ots/man/man3.Z/otsshownsaps.3: None /opt/ots/bin/otsstart: OTS: C.06.00 otsstart PATCH C.06.00 (PHNE_7405/PHNE_7406) /opt/ots/lbin/otstrans: OTS: C.06.00 translib.c PATCH C.06.00 (PHNE_8222/PHNE_8223) genlib.c PATCH C.06.00 (PHNE_7781/PHNE_7782) ics.c PATCH C.06.00 (PHNE_7781/PHNE_7782) cv_tbl.c PATCH C.06.00 (PHNE_7781/PHNE_7782) routelib.c PATCH C.06.00 (PHNE_7781/PHNE_7782) $Revision: 76.152 $ cksum(1) Output: 1088572968 2892 /opt/ots/lib/OTShardconf 3820512851 180224 /opt/ots/lbin/bin2conf 2546503131 184320 /opt/ots/lbin/conf2bin 884855449 708132 /opt/ots/lib/libapli.a 1253448172 688128 /opt/ots/lib/libapli.sl 891456877 17632 /opt/ots/lib/libotsadm.a 615931507 24576 /opt/ots/lib/libotsadm.sl 3090569707 1445772 /opt/ots/conf/lib/libotsam.a 646044614 44548 /opt/ots/lib/librose.a 3731780638 53248 /opt/ots/lib/librose.sl 2266552553 389120 /opt/ots/bin/osiconfchk 3758686631 16313 /opt/ots/lib/nls/msg/C/osiconfchk.cat 2790400274 613960 /opt/ots/lbin/osiconfx 3306953065 354978 /opt/ots/lib/nls/msg/C/osidiag.cat 1696919536 1159360 /opt/ots/lbin/osidiagx 1880564324 9291 /opt/ots/bin/osipdufmt 877851302 7234 /opt/ots/man/man1m/osipdufmt.1m 1110035727 17037 /opt/ots/bin/otsaddes 1202482645 3500 /opt/ots/man/man1m.Z/otsaddes.1m 409225359 15368 /opt/ots/bin/otsaddis 3244479151 2363 /opt/ots/man/man3.Z/otsaddnsap.3 3857021245 6896 /opt/ots/bin/otsaddroute 1186627331 790 /opt/ots/include/otsadmin.h 2534690068 7050 /opt/ots/bin/otsdeles 148868161 1422 /opt/ots/man/man1m.Z/otsdeles.1m 2066062075 1666 /opt/ots/man/man3.Z/otsdelnsap.3 4080488330 5905 /opt/ots/bin/otsdelroute 2474208630 16265 /opt/ots/bin/otsshowes 483424363 921 /opt/ots/man/man1m.Z/otsshowes.1m 2552119094 1648 /opt/ots/man/man3.Z/otsshownsaps.3 1351969831 14933 /opt/ots/bin/otsstart 3201572555 339968 /opt/ots/lbin/otstrans Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: Must be OTS release C.06.00 Supersedes: PHNE_6725 PHNE_7406 PHNE_7782 Equivalent Patches: PHNE_8222: s800: 10.10 Patch Package Size: 6280 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_8223 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_8223.depot 5b. For a homogeneous NFS Diskless cluster run swcluster on the server to install the patch on the server and the clients: swcluster -i -b This will invoke swcluster in the interactive mode and force all clients to be shut down. WARNING: All cluster clients must be shut down prior to the patch installation. Installing the patch while the clients are booted is unsupported and can lead to serious problems. The swcluster command will invoke an swinstall session in which you must specify: alternate root path - default is /export/shared_root/OS_700 source depot path - /tmp/PHNE_8223.depot To complete the installation, select the patch by choosing "Actions -> Match What Target Has" and then "Actions -> Install" from the Menubar. 5c. For a heterogeneous NFS Diskless cluster: - run swinstall on the server as in step 5a to install the patch on the cluster server. - run swcluster on the server as in step 5b to install the patch on the cluster clients. By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_8223. 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_8223.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_8223.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None