Fresh binary patch fixes 3000's diagnostics
December 29, 2010
HP announced last week that its CSTM diagnostics tools will run on January 1, 2011 without any HP support-supplied password on 3000s. But the HP engineer who enabled this homesteader's exemption reports that CSTM won't run as promised without a binary patch.
CSTM replaced the SYSDIAG tools for 3000s as of the MPE/iX 6.5 release. HP patched CSTM in 2008 to free up the use of these diagnostics starting on this Saturday, but patch ODINX19A/B/C. But Gary Robillard said that diagnostics stop when started up, failing because the Diagnostic Monitor Daemon (DIAGMOND) looks at a system's license level.
A “STM INITIALIZATION FAILED” message occurs is because it checks the license level and now determines that an “HP” license is installed. There is a code path to stop DIAGMOND if the session has an HP license installed because the expert tools will all be enabled. Since that is not the desired behavior, I have worked out a binary patch to solve the problem.
Robillard provides detailed instructions on how to apply and install the needed patch, as follows.
It's safest to create an input file to SOMPATCH.
Run editor.pub.sys
Add the following three lines EXACTLY (note that sompatch will not change the instruction at offset 268 if it does not match 86a020c2. The message "Error: Old value does not match" is displayed and no changes are made)
Hint: You might want to cut/paste them from this message.
~~~~~The 3 lines are below~~~~~~~
; Fix problem in DIAGMOND after 12/19/2010
modify ms_init_manage_sys + 268,1 86a020c2|08000240
exit
~~~~The 3 lines are above~~~~~~~~
//
K binpchin,unn
Here are the instructions for installing the binary patch:
1. Logon as MANAGER.SYS. Make sure DIAGMOND is not running. If it is, it is not likely to restart Without the patch anyway...
2. Run stmshut.diag.sys
3. Copy /usr/sbin/stm/uut/bin/sys/diagmond,DIAGMOND
4. Run sompatch.pub.sys;stdin=BINPCHIN;INFO='DIAGMOND'
Output should be:
Sp>; Fix problem in DIAGMOND after 12/19/2010
Sp> modify ms_init_manage_sys + 268,1 86a020c2|08000240 86a020c2|08000240
Sp>exit
Total number of patches being applied 1
END OF PROGRAM
5. Copy DIAGMOND,/usr/sbin/stm/uut/bin/sys/diagmond;YES
6. Run stmstart.diag.sys
After a few minutes, a "SHOWPROC 1;TREE;SYSTEM" should show the DIAGMOND process. and either the mapping processes, or the memlogd, diaglogd and maybe cclogd (A/N Class 3000s only).