Problem upgrading kernel to level 146.

I'm going to update my kernel from 92 to 146 but I have problem during startup.
My disp+work.exe process go stopped.
during upgrade from level 92 to level 146 system shutdown disp+work.exe
db2diag.log no entry about error.
With level 92 system works correctly.
trc file: "dev_disp", trc level: 1, release: "700"
sysno 03
sid BW2
systemid 562 (PC with Windows NT)
relno 7000
patchlevel 0
patchno 146
intno 20050900
make: multithreaded, Unicode, 64 bit, optimized
pid 2972
Thu Jun 12 09:19:23 2008
kernel runs with dp version 232000(ext=109000) (@(#) DPLIB-INT-VERSION-
232000-UC)
length of sys_adm_ext is 576 bytes
SWITCH TRC-HIDE on ***
***LOG Q00=> DpSapEnvInit, DPStart (03 2972) [dpxxdisp.c 1243]
shared lib "dw_xml.dll" version 146 successfully loaded
shared lib "dw_xtc.dll" version 146 successfully loaded
shared lib "dw_stl.dll" version 146 successfully loaded
shared lib "dw_gui.dll" version 146 successfully loaded
shared lib "dw_mdm.dll" version 146 successfully loaded
rdisp/softcancel_sequence : -> 0,5,-1
use internal message server connection to port 3903
Thu Jun 12 09:19:27 2008
WARNING => DpNetCheck: NiAddrToHost(1.0.0.0) took 4 seconds
***LOG GZZ=> 1 possible network problems detected - check tracefile and
adjust the DNS settings [dpxxtool2.c 5371]
MtxInit: 30000 0 0
DpSysAdmExtInit: ABAP is active
DpSysAdmExtInit: VMC (JAVA VM in WP) is not active
DpIPCInit2: start server >t1srv5bw_BW2_03 <
DpShMCreate: sizeof(wp_adm) 23680 (1480)
DpShMCreate: sizeof(tm_adm) 5652128 (28120)
DpShMCreate: sizeof(wp_ca_adm) 24000 (80)
DpShMCreate: sizeof(appc_ca_adm) 8000 (80)
DpCommTableSize: max/headSize/ftSize/tableSize=500/16/552064/552080
DpShMCreate: sizeof(comm_adm) 552080 (1088)
DpSlockTableSize: max/headSize/ftSize/fiSize/tableSize=0/0/0/0/0
DpShMCreate: sizeof(slock_adm) 0 (104)
DpFileTableSize: max/headSize/ftSize/tableSize=0/0/0/0
DpShMCreate: sizeof(file_adm) 0 (72)
DpShMCreate: sizeof(vmc_adm) 0 (1864)
DpShMCreate: sizeof(wall_adm) (41664/36752/64/192)
DpShMCreate: sizeof(gw_adm) 48
DpShMCreate: SHM_DP_ADM_KEY (addr: 000000000EE80050, size:
6347104)
DpShMCreate: allocated sys_adm at 000000000EE80050
DpShMCreate: allocated wp_adm at 000000000EE82150
DpShMCreate: allocated tm_adm_list at 000000000EE87DD0
DpShMCreate: allocated tm_adm at 000000000EE87E30
DpShMCreate: allocated wp_ca_adm at 000000000F3EBCD0
DpShMCreate: allocated appc_ca_adm at 000000000F3F1A90
DpShMCreate: allocated comm_adm at 000000000F3F39D0
DpShMCreate: system runs without slock table
DpShMCreate: system runs without file table
DpShMCreate: allocated vmc_adm_list at 000000000F47A660
DpShMCreate: allocated gw_adm at 000000000F47A6E0
DpShMCreate: system runs without vmc_adm
DpShMCreate: allocated ca_info at 000000000F47A710
DpShMCreate: allocated wall_adm at 000000000F47A720
MBUF state OFF
DpCommInitTable: init table for 500 entries
Thu Jun 12 09:19:28 2008
ThTaskStatus: rdisp/reset_online_during_debug 0
EmInit: MmSetImplementation( 2 ).
MM global diagnostic options set: 0
<ES> client 0 initializing ....
<ES> InitFreeList
<ES> block size is 4096 kByte.
Using implementation view
<EsNT> Using memory model view.
<EsNT> Memory Reset disabled as NT default
<ES> 255 blocks reserved for free list.
ES initialized.
J2EE server info
start = TRUE
state = STARTED
pid = 8600
argv[0] = C:\usr\sap\BW2\DVEBMGS03\exe\jcontrol.exe
argv[1] = C:\usr\sap\BW2\DVEBMGS03\exe\jcontrol.exe
argv[2] = pf=C:\usr\sap\BW2\SYS\profile\BW2_DVEBMGS03_t1srv5bw
argv[3] = -DSAPSTART=1
argv[4] = -DCONNECT_PORT=65000
argv[5] = -DSAPSYSTEM=03
argv[6] = -DSAPSYSTEMNAME=BW2
argv[7] = -DSAPMYNAME=t1srv5bw_BW2_03
argv[8] = -DSAPPROFILE=C:\usr\sap\BW2
\SYS\profile\BW2_DVEBMGS03_t1srv5bw
argv[9] = -DFRFC_FALLBACK=ON
argv[10] = -DFRFC_FALLBACK_HOST=localhost
start_lazy = 0
start_control = SAP J2EE startup framework
DpJ2eeStart: j2ee state = STARTED
rdisp/http_min_wait_dia_wp : 1 -> 1
***LOG CPS=> DpLoopInit, ICU ( 3.0 3.0 4.0.1) [dpxxdisp.c 1633]
***LOG Q0K=> DpMsAttach, mscon ( t1srv5bw) [dpxxdisp.c 11822]
DpStartStopMsg: send start message (myname is
>t1srv5bw_BW2_03 <)
DpStartStopMsg: start msg sent
CCMS: AlInitGlobals : alert/use_sema_lock = TRUE.
CCMS: Initalizing shared memory of size 60000000 for monitoring segment.CCMS: start to initalize 3.X shared alert area (first segment).
DpJ2eeLogin: j2ee state = CONNECTED
DpMsgAdmin: Set release to 7000, patchlevel 0
MBUF state PREPARED
MBUF component UP
DpMBufHwIdSet: set Hardware-ID
***LOG Q1C=> DpMBufHwIdSet [dpxxmbuf.c 1050]
DpMsgAdmin: Set patchno for this platform to 146
Release check o.K.
Thu Jun 12 09:20:08 2008
ERROR => DpHdlDeadWp: W0 (pid 2128) died [dpxxdisp.c 14532]
ERROR => DpHdlDeadWp: W1 (pid 6872) died [dpxxdisp.c 14532]
ERROR => DpHdlDeadWp: W2 (pid 5432) died [dpxxdisp.c 14532]
ERROR => DpHdlDeadWp: W3 (pid 6868) died [dpxxdisp.c 14532]
ERROR => DpHdlDeadWp: W4 (pid 1832) died [dpxxdisp.c 14532]
ERROR => DpHdlDeadWp: W5 (pid 8828) died [dpxxdisp.c 14532]
my types changed after wp death/restart 0xbf --> 0xbe
ERROR => DpHdlDeadWp: W6 (pid 8072) died [dpxxdisp.c 14532]
ERROR => DpHdlDeadWp: W7 (pid 6088) died [dpxxdisp.c 14532]
ERROR => DpHdlDeadWp: W8 (pid 7036) died [dpxxdisp.c 14532]
my types changed after wp death/restart 0xbe --> 0xbc
ERROR => DpHdlDeadWp: W9 (pid 6748) died [dpxxdisp.c 14532]
my types changed after wp death/restart 0xbc --> 0xb8
ERROR => DpHdlDeadWp: W10 (pid 7396) died [dpxxdisp.c 14532]
ERROR => DpHdlDeadWp: W11 (pid 8568) died [dpxxdisp.c 14532]
ERROR => DpHdlDeadWp: W12 (pid 4900) died [dpxxdisp.c 14532]
ERROR => DpHdlDeadWp: W13 (pid 7128) died [dpxxdisp.c 14532]
my types changed after wp death/restart 0xb8 --> 0xb0
ERROR => DpHdlDeadWp: W14 (pid 7400) died [dpxxdisp.c 14532]
my types changed after wp death/restart 0xb0 --> 0xa0
ERROR => DpHdlDeadWp: W15 (pid 8624) died [dpxxdisp.c 14532]
my types changed after wp death/restart 0xa0 --> 0x80
DP_FATAL_ERROR => DpWPCheck: no more work processes
DISPATCHER EMERGENCY SHUTDOWN ***
increase tracelevel of WPs
NiWait: sleep (10000ms) ...
NiISelect: timeout 10000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:18 2008
NiISelect: TIMEOUT occured (10000ms)
dump system status
Workprocess Table (long) Thu Jun 12 07:20:18 2008
========================
No Ty. Pid Status Cause Start Err Sem CPU Time
Program Cl User Action Table
0 DIA 2128 Ended no 1 0
0
1 DIA 6872 Ended no 1 0
0
2 DIA 5432 Ended no 1 0
0
3 DIA 6868 Ended no 1 0
0
4 DIA 1832 Ended no 1 0
0
5 DIA 8828 Ended no 1 0
0
6 UPD 8072 Ended no 1 0
0
7 UPD 6088 Ended no 1 0
0
8 UPD 7036 Ended no 1 0
0
9 ENQ 6748 Ended no 1 0
0
10 BTC 7396 Ended no 1 0
0
11 BTC 8568 Ended no 1 0
0
12 BTC 4900 Ended no 1 0
0
13 BTC 7128 Ended no 1 0
0
14 SPO 7400 Ended no 1 0
0
15 UP2 8624 Ended no 1 0
0
Dispatcher Queue Statistics Thu Jun 12 07:20:18 2008
===========================
--------++++--
+
Typ
now
high
max
writes
reads
--------++++--
+
NOWP
0
2
2000
6
6
--------++++--
+
DIA
5
5
2000
5
0
--------++++--
+
UPD
0
0
2000
0
0
--------++++--
+
ENQ
0
0
2000
0
0
--------++++--
+
BTC
0
0
2000
0
0
--------++++--
+
SPO
0
0
2000
0
0
--------++++--
+
UP2
0
0
2000
0
0
--------++++--
+
max_rq_id 12
wake_evt_udp_now 0
wake events total 8, udp 6 ( 75%), shm 2 (
25%)
since last update total 8, udp 6 ( 75%), shm 2 (
25%)
Dump of tm_adm structure: Thu Jun 12 07:20:18 2008
=========================
Term uid man user term lastop mod wp ta a/i (modes)
Workprocess Comm. Area Blocks Thu Jun 12 07:20:18 2008
=============================
Slots: 300, Used: 1, Max: 0
--------++--
+
id
owner
pid
eyecatcher
--------++--
+
0
DISPATCHER
-1
WPCAAD000
NiWait: sleep (5000ms) ...
NiISelect: timeout 5000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:23 2008
NiISelect: TIMEOUT occured (5000ms)
DpHalt: shutdown server >t1srv5bw_BW2_03 <
(normal)
DpJ2eeDisableRestart
MsIDelService: delete service J2EE for myself
NiBufSend starting
NiIWrite: hdl 3 sent data (wrt=161,pac=1,MESG_IO)
MsINiWrite: sent 161 bytes
send msg (len 110+51) to name MSG_SERVER, type 0, key -
MsSndName: MS_DEL_PROPERTY ok
Send 51 bytes to MSG_SERVER
MS_DEL_PROPERTY : asynchronous call
send MsDelService(J2EE) to msgserver
DpIJ2eeShutdown: send SIGINT to SAP J2EE startup framework (pid=8600)
killing process (8600) (SOFT_KILL)
DpIJ2eeShutdown: j2ee state = SHUTDOWN
NiBufISelUpdate: new MODE -- (r-) for hdl 4 in set0
SiSelNSet: set events of sock 208 to: ---
NiBufISelRemove: remove hdl 4 from set0
SiSelNRemove: removed sock 208 (pos=2)
SiSelNRemove: removed sock 208
NiSelIRemove: removed hdl 4
DpDelSocketInfo: del info for socket 4 (type=8)
NiICloseHandle: shutdown and close hdl 4 / sock 208
NiBufIClose: clear extension for hdl 4
DpModState: buffer in state MBUF_PREPARED
NiBufSend starting
NiIWrite: hdl 3 sent data (wrt=110,pac=1,MESG_IO)
MsINiWrite: sent 110 bytes
MsIModState: change state to SHUTDOWN
DpModState: change server state from STARTING to SHUTDOWN
Switch off Shared memory profiling
ShmProtect( 57, 3 )
ShmProtect(SHM_PROFILE, SHM_PROT_RW
ShmProtect( 57, 1 )
ShmProtect(SHM_PROFILE, SHM_PROT_RD
DpWakeUpWps: wake up all wp's
Stop work processes
Stop gateway
killing process (8632) (SOFT_KILL)
Stop icman
killing process (8104) (SOFT_KILL)
Terminate gui connections
wait for end of work processes
wait for end of gateway
[DpProcDied] Process lives (PID:8632 HANDLE:328)
waiting for termination of gateway ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:24 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process died (PID:8632 HANDLE:328)
wait for end of icman
[DpProcDied] Process lives (PID:8104 HANDLE:336)
waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:25 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:8104 HANDLE:336)
waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:26 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:8104 HANDLE:336)
waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:27 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:8104 HANDLE:336)
waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:28 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:8104 HANDLE:336)
waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:29 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:8104 HANDLE:336)
waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:30 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:8104 HANDLE:336)
waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:31 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:8104 HANDLE:336)
waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:32 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:8104 HANDLE:336)
waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:33 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:8104 HANDLE:336)
waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:34 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:8104 HANDLE:336)
waiting for termination of icman ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:35 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process died (PID:8104 HANDLE:336)
[DpProcDied] Process lives (PID:8600 HANDLE:308)
DpHalt: disconnect j2ee listener
DpHalt: wait for end of j2ee server
[DpProcDied] Process lives (PID:8600 HANDLE:308)
waiting for termination of J2EE server ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:36 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:8600 HANDLE:308)
waiting for termination of J2EE server ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:37 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:8600 HANDLE:308)
waiting for termination of J2EE server ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:38 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:8600 HANDLE:308)
waiting for termination of J2EE server ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:39 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:8600 HANDLE:308)
waiting for termination of J2EE server ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:40 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:8600 HANDLE:308)
waiting for termination of J2EE server ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:41 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:8600 HANDLE:308)
waiting for termination of J2EE server ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:42 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process lives (PID:8600 HANDLE:308)
waiting for termination of J2EE server ...
NiWait: sleep (1000ms) ...
NiISelect: timeout 1000ms
NiISelect: maximum fd=361
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Thu Jun 12 09:20:43 2008
NiISelect: TIMEOUT occured (1000ms)
[DpProcDied] Process died (PID:8600 HANDLE:308)
DpStartStopMsg: send stop message (myname is
>t1srv5bw_BW2_03 <)
NiIMyHostName: hostname = 't1srv5bw'
AdGetSelfIdentRecord:
>
<
AdCvtRecToExt: opcode 60 (AD_SELFIDENT), ser 0, ex 0, errno 0
AdCvtRecToExt: opcode 4 (AD_STARTSTOP), ser 0, ex 0, errno 0
DpConvertRequest: net size = 189 bytes
NiBufSend starting
NiIWrite: hdl 3 sent data (wrt=562,pac=1,MESG_IO)
MsINiWrite: sent 562 bytes
send msg (len 110+452) to name -, type 4, key -
DpStartStopMsg: stop msg sent
NiIRead: hdl 3 received data (rcd=274,pac=1,MESG_IO)
NiBufIIn: NIBUF len=274
NiBufIIn: packet complete for hdl 3
NiBufReceive starting
MsINiRead: received 274 bytes
MSG received, len 110+164, flag 1, from MSG_SERVER , typ 0,
key -
DpHalt: received 164 bytes from message server
NiIRead: hdl 3 received data (rcd=274,pac=1,MESG_IO)
NiBufIIn: NIBUF len=274
NiBufIIn: packet complete for hdl 3
NiBufReceive starting
MsINiRead: received 274 bytes
MSG received, len 110+164, flag 1, from MSG_SERVER , typ 0,
key -
DpHalt: received 164 bytes from message server
NiIRead: hdl 3 received data (rcd=274,pac=1,MESG_IO)
NiBufIIn: NIBUF len=274
NiBufIIn: packet complete for hdl 3
NiBufReceive starting
MsINiRead: received 274 bytes
MSG received, len 110+164, flag 1, from MSG_SERVER , typ 0,
key -
DpHalt: received 164 bytes from message server
NiIRead: hdl 3 received data (rcd=274,pac=1,MESG_IO)
NiBufIIn: NIBUF len=274
NiBufIIn: packet complete for hdl 3
NiBufReceive starting
MsINiRead: received 274 bytes
MSG received, len 110+164, flag 1, from MSG_SERVER , typ 0,
key -
DpHalt: received 164 bytes from message server
NiIRead: hdl 3 received data (rcd=274,pac=1,MESG_IO)
NiBufIIn: NIBUF len=274
NiBufIIn: packet complete for hdl 3
NiBufReceive starting
MsINiRead: received 274 bytes
MSG received, len 110+164, flag 1, from MSG_SERVER , typ 0,
key -
DpHalt: received 164 bytes from message server
NiIRead: hdl 3 received data (rcd=274,pac=1,MESG_IO)
NiBufIIn: NIBUF len=274
NiBufIIn: packet complete for hdl 3
NiBufReceive starting
MsINiRead: received 274 bytes
MSG received, len 110+164, flag 1, from MSG_SERVER , typ 0,
key -
DpHalt: received 164 bytes from message server
NiIRead: hdl 3 received data (rcd=114,pac=1,MESG_IO)
NiBufIIn: NIBUF len=114
NiBufIIn: packet complete for hdl 3
NiBufReceive starting
MsINiRead: received 114 bytes
MSG received, len 110+4, flag 3, from MSG_SERVER , typ 0, key -DpHalt: received 4 bytes from message server
NiIRead: hdl 3 received data (rcd=274,pac=1,MESG_IO)
NiBufIIn: NIBUF len=274
NiBufIIn: packet complete for hdl 3
NiBufReceive starting
MsINiRead: received 274 bytes
MSG received, len 110+164, flag 1, from MSG_SERVER , typ 0,
key -
DpHalt: received 164 bytes from message server
NiIRead: hdl 3 recv would block (errno=EAGAIN)
NiIRead: read for hdl 3 timed out (0ms)
DpHalt: no more messages from the message server
DpHalt: send keepalive to synchronize with the message server
NiBufSend starting
NiIWrite: hdl 3 sent data (wrt=114,pac=1,MESG_IO)
MsINiWrite: sent 114 bytes
send msg (len 110+4) to name MSG_SERVER, type 0, key -
MsSndName: MS_NOOP ok
Send 4 bytes to MSG_SERVER
NiIRead: hdl 3 recv would block (errno=EAGAIN)
NiIPeek: peek successful for hdl 3 (r)
NiIRead: hdl 3 received data (rcd=114,pac=1,MESG_IO)
NiBufIIn: NIBUF len=114
NiBufIIn: packet complete for hdl 3
NiBufReceive starting
MsINiRead: received 114 bytes
MSG received, len 110+4, flag 3, from MSG_SERVER , typ 0, key -Received 4 bytes from MSG_SERVER
Received opcode MS_NOOP from msg_server, reply MSOP_OK
MsOpReceive: ok
MsSendKeepalive : keepalive sent to message server
NiIRead: hdl 3 recv would block (errno=EAGAIN)
Thu Jun 12 09:20:44 2008
NiIPeek: peek for hdl 3 timed out (r; 1000ms)
NiIRead: read for hdl 3 timed out (1000ms)
DpHalt: no more messages from the message server
DpHalt: sync with message server o.k.
detach from message server
***LOG Q0M=> DpMsDetach, ms_detach () [dpxxdisp.c 12168]
NiBufSend starting
NiIWrite: hdl 3 sent data (wrt=110,pac=1,MESG_IO)
MsINiWrite: sent 110 bytes
MsIDetach: send logout to msg_server
MsIDetach: call exit function
DpMsShutdownHook called
NiBufISelUpdate: new MODE -- (r-) for hdl 3 in set0
SiSelNSet: set events of sock 240 to: ---
NiBufISelRemove: remove hdl 3 from set0
SiSelNRemove: removed sock 240 (pos=3)
SiSelNRemove: removed sock 240
NiSelIRemove: removed hdl 3
MBUF state OFF
AdGetSelfIdentRecord:
>
<
AdCvtRecToExt: opcode 60 (AD_SELFIDENT), ser 0, ex 0, errno 0
AdCvtRecToExt: opcode 40 (AD_MSBUF), ser 0, ex 0, errno 0
AdCvtRecToExt: opcode 40 (AD_MSBUF), ser 0, ex 0, errno 0
blks_in_queue/wp_ca_blk_no/wp_max_no = 1/300/16
LOCK WP ca_blk 1
make DISP owner of wp_ca_blk 1
DpRqPutIntoQueue: put request into queue (reqtype 1, prio LOW, rq_id 15)MBUF component DOWN
NiICloseHandle: shutdown and close hdl 3 / sock 240
NiBufIClose: clear extension for hdl 3
MsIDetach: detach MS-system
cleanup EM
EsCleanup ....
EmCleanup() -> 0
Es2Cleanup: Cleanup ES2
***LOG Q05=> DpHalt, DPStop ( 2972) [dpxxdisp.c 10421]
Good Bye .....
Edited by: Gianluca Vinco on Jun 13, 2008 12:50 PM

trc file: "dev_w0", trc level: 1, release: "700"
ACTIVE TRACE LEVEL           1
ACTIVE TRACE COMPONENTS      all, MJ

B Fri Jun 13 12:53:38 2008
B  create_con (con_name=R/3)
B  Loading DB library 'C:\usr\sap\BW2\DVEBMGS03\exe\dbdb6slib.dll' ...
B  Library 'C:\usr\sap\BW2\DVEBMGS03\exe\dbdb6slib.dll' loaded
B  Version of 'C:\usr\sap\BW2\DVEBMGS03\exe\dbdb6slib.dll' is "700.08", patchlevel (0.144)
C  DbSl trace SM50: switch request to level 1
B  New connection 0 created
M sysno      03
M sid        BW2
M systemid   562 (PC with Windows NT)
M relno      7000
M patchlevel 0
M patchno    146
M intno      20050900
M make:      multithreaded, Unicode, 64 bit, optimized
M pid        5104
M
M  kernel runs with dp version 232000(ext=109000) (@(#) DPLIB-INT-VERSION-232000-UC)
M  length of sys_adm_ext is 576 bytes
M  ***LOG Q0Q=> tskh_init, WPStart (Workproc 0 5104) [dpxxdisp.c   1305]
I  MtxInit: 30000 0 0
M  DpSysAdmExtCreate: ABAP is active
M  DpSysAdmExtCreate: VMC (JAVA VM in WP) is not active
M  DpShMCreate: sizeof(wp_adm)          23680     (1480)
M  DpShMCreate: sizeof(tm_adm)          5652128     (28120)
M  DpShMCreate: sizeof(wp_ca_adm)          24000     (80)
M  DpShMCreate: sizeof(appc_ca_adm)     8000     (80)
M  DpCommTableSize: max/headSize/ftSize/tableSize=500/16/552064/552080
M  DpShMCreate: sizeof(comm_adm)          552080     (1088)
M  DpSlockTableSize: max/headSize/ftSize/fiSize/tableSize=0/0/0/0/0
M  DpShMCreate: sizeof(slock_adm)          0     (104)
M  DpFileTableSize: max/headSize/ftSize/tableSize=0/0/0/0
M  DpShMCreate: sizeof(file_adm)          0     (72)
M  DpShMCreate: sizeof(vmc_adm)          0     (1864)
M  DpShMCreate: sizeof(wall_adm)          (41664/36752/64/192)
M  DpShMCreate: sizeof(gw_adm)     48
M  DpShMCreate: SHM_DP_ADM_KEY          (addr: 0000000010E80050, size: 6347104)
M  DpShMCreate: allocated sys_adm at 0000000010E80050
M  DpShMCreate: allocated wp_adm at 0000000010E82150
M  DpShMCreate: allocated tm_adm_list at 0000000010E87DD0
M  DpShMCreate: allocated tm_adm at 0000000010E87E30
M  DpShMCreate: allocated wp_ca_adm at 00000000113EBCD0
M  DpShMCreate: allocated appc_ca_adm at 00000000113F1A90
M  DpShMCreate: allocated comm_adm at 00000000113F39D0
M  DpShMCreate: system runs without slock table
M  DpShMCreate: system runs without file table
M  DpShMCreate: allocated vmc_adm_list at 000000001147A660
M  DpShMCreate: allocated gw_adm at 000000001147A6E0
M  DpShMCreate: system runs without vmc_adm
M  DpShMCreate: allocated ca_info at 000000001147A710
M  DpShMCreate: allocated wall_adm at 000000001147A720
M  ThTaskStatus: rdisp/reset_online_during_debug 0
X  EmInit: MmSetImplementation( 2 ).
X  MM global diagnostic options set: 0
X  <ES> client 0 initializing ....
X  Using implementation view
X  <EsNT> Using memory model view.
M  <EsNT> Memory Reset disabled as NT default
X  ES initialized.

M Fri Jun 13 12:53:39 2008
M  ThInit: running on host t1srv5bw
M  calling db_connect ...
C  Registering callback for dynamic profile parameters

C Fri Jun 13 12:53:46 2008
C  DB2 library successfully loaded DB2 library '
t1srv5bw\sapmnt\BW2\SYS\global\db6\WINDOWS_AMD64\db6_clidriver\bin\db2app64.dll' successfully loaded

C  DB6 (DB2 UDB) UNICODE database interface 700.08 [opt]

C  DB6 shared library (dbdb6slib) patchlevels
C    (0.8) DB6: V8.2.2 optguidelines in OPEN SQL (note 150037)
C    (0.8) Support of SDBUPDEXCL (note 847616)
C    (0.9) DB6: use export file for dbdb6slib (note 835135)
C    (0.9) DB6: Core in getAndBindSQLDA (note 833183)
C    (0.10) DB6: link dbdb6slib.dll on windows with libdb6.obj (note 761159)
C    (0.10) DB6: DUPLICATE_KEY on MERGE -> repeat (note 851474)
C    (0.15) DB6: wrong CAST for short string ABAP type (note 861905)
C    (0.17) DB6: special characters in sidadm passwd (note 865839)
C    (0.21) DB6: no SAP_INFO comments (note 873889)
C    (0.22) DB6: hints: get correlation names from view texts (note 868888)
C    (0.23) DB6: hints: get correlation names from view texts (note 868888)
C    (0.26) DB6: DB6_DBSL_CLP_COMMAND STRING_BAD_REF (note 883402)
C    (0.27) DB6: activate value compression (note 886231)
C    (0.28) DB6: optimization guidelines on views part 2 (note 868888)
C    (0.30) DB6: no SQL trace for SQLCancel (note 892111)
C    (0.33) DB6: append SAP_TA comment (note 873889)
C    (0.34) DB6: activate value compression with quoted names (note 886231)
C    (0.36) DB6: Repeat isolated DDL statements after SQL0911 (note 901338)
C    (0.41) DB6: add V9 to list of supported DB2 releases (note 912386)
C    (0.50) DB6: reread passwords for secondary connections (note 931742)
C    (0.52) DB6: double quote table names in optguidelines (note 868888)
C    (0.54) DB6: error handling in DBSL CLP (note 940260)
C    (0.69) DB6: technical support of DB2 CLI driver (note 962892)
C    (0.73) DB6: log table name on TRUNCATE failure (note 970743)
C    (0.79) DB6: column type XML in index size calculation (note 982993)
C    (0.82) DB6: CAST for SSTRING data types (note 989568)
C    (0.86) DB6: long runtimes for R3szchk (note 1000847)
C    (0.88) DB6: patch collection Dec 06 (note 1005574)
C    (0.96) DB6: patch collection Jan 07 (note 1017852)
C    (0.97) DB6: CLP commands with DB2 CLI Driver (note 1024102)
C    (0.99) DB6: SUBSTITUTE VALUES with FAE statements (note 1028779)
C    (0.107) DB6: patch collection Apr 07 (note 1047194)
C    (0.110) DB6: SAP user names ending with non-ASCII char (note 1054555)
C    (0.113) DB6: work process type in application snapshot (note 1059905)
C    (0.114) DB6: connect using SAPDBHOST and DB2DB6_SVCENAME (note 1062049)
C    (0.117) DB6: patch for execution of long DDL statements (note 1069658)
C    (0.122) DB6: SNAPSHOT_TBS_CFG table function is deprecated (note 1077963)
C    (0.123) DB6: CLP commands on Windows with V9.1 (note 1080149)
C    (0.124) DB6: Set DB2CODEPAGE=819 for non-Unicode (note 1084400)
C    (0.126) DB6: reuse optguidelines on FAE statements (note 1087375)
C    (0.126) DB6: Enforce DB2CODEPAGE=819 for non-Unicode environments (note 1084400)
C    (0.128) DB6: db6_free on invalid memory area (note 1092030)
C    (0.133) DB6: statement cache enhancements (note 1101031)
C    (0.136) DB6: change for enhancement pack installer (note 1111536)
C    (0.138) DB6: improoved table size estimate for DB8 V8 (note 1119934)
C    (0.144) I5/OS ldappasswd support for 5250 terminal. (note 1129573)
C    (0.144) MSSQL: ODBC fastload on separate connection (note 1131805)

C  Supported features:

C  ..retrieving configuration parameters
C  ..done
C  Running with UTF-8 Unicode

C Fri Jun 13 12:53:51 2008
C  Running with CLI driver

C Fri Jun 13 12:53:53 2008
C  *** ERROR in DB6Connect[dbdb6.c, 1640] CON = 0 (BEGIN)
C  &+     DbSlConnectDB6( SQLConnect ): [IBM][CLI Driver] SQL1013N  The database alias name or database name "BW2" could not
C  &+      be found.  SQLSTATE=42705                                                                               
C  &+                                                                               
C  &+                                                                               
C  *** ERROR in DB6Connect[dbdb6.c, 1640] (END)

C Fri Jun 13 12:53:54 2008
C  *** ERROR => DbSlConnect to 'BW2' as 'sapbw2' failed
[dbdb6.c      1645]
M  ***LOG R19=> ThInit, db_connect ( DB-Connect 000256) [thxxhead.c   1440]
M  in_ThErrHandle: 1
M  *** ERROR => ThInit: db_connect (step 1, th_errno 13, action 3, level 1) [thxxhead.c   10468]

M  Info for wp 0

M    stat = WP_RUN
M    waiting_for = NO_WAITING
M    reqtype = DP_RQ_DIAWP
M    act_reqtype = NO_REQTYPE
M    rq_info = 0
M    tid = -1
M    mode = 255
M    len = -1
M    rq_id = 65535
M    rq_source =
M    last_tid = 0
M    last_mode = 0
M    semaphore = 0
M    act_cs_count = 0
M    csTrack = 0
M    csTrackRwExcl = 0
M    csTrackRwShrd = 0
M    mode_cleaned_counter = 0
M    control_flag = 0
M    int_checked_resource(RFC) = 0
M    ext_checked_resource(RFC) = 0
M    int_checked_resource(HTTP) = 0
M    ext_checked_resource(HTTP) = 0
M    report = >                                        <
M    action = 0
M    tab_name = >                              <
M    attachedVm = no VM

M  *****************************************************************************
M  *
M  *  LOCATION    SAP-Server t1srv5bw_BW2_03 on host t1srv5bw (wp 0)
M  *  ERROR       ThInit: db_connect
M  *
M  *  TIME        Fri Jun 13 12:53:54 2008
M  *  RELEASE     700
M  *  COMPONENT   Taskhandler
M  *  VERSION     1
M  *  RC          13
M  *  MODULE      thxxhead.c
M  *  LINE        10688
M  *  COUNTER     1
M  *
M  *****************************************************************************

M  PfStatDisconnect: disconnect statistics
M  Entering TH_CALLHOOKS
M  ThCallHooks: call hook >ThrSaveSPAFields< for event BEFORE_DUMP
M  *** ERROR => ThrSaveSPAFields: no valid thr_wpadm [thxxrun1.c   724]
M  *** ERROR => ThCallHooks: event handler ThrSaveSPAFields for event BEFORE_DUMP failed [thxxtool3.c  261]
M  Entering ThSetStatError
M  ThIErrHandle: do not call ThrCoreInfo (no_core_info=0, in_dynp_env=0)
M  Entering ThReadDetachMode
M  call ThrShutDown (1)...
M  ***LOG Q02=> wp_halt, WPStop (Workproc 0 5104) [dpnttool.c   327]

Similar Messages

  • Problem Upgrading Kernel to he Current Level for ECC 6 V5R4M0 OS/400

    Hello,
    I am having problem upgrading my ECC 6.0 kernel to the current level (236), the steps I have done is
    1) downloaded and copied following kernel fix to tmp folder under rootbin.
    APYR3FIX.SAR,APYSAP.SAR,LODSAPKRN.SAR
    2) Apply the above fix using following command
    - APYR3FIX SID(SID) SAVF(R3FIX700U/APYR3FIX) SAVLIB(GEN700UOPT) KRNLIB(SAPSIDUC)
    - APYR3FIX SID(SID) SAVF(R3FIX700U/APYSAP) SAVLIB(GEN700UOPT) KRNLIB(SAPSIDUC)
    - APYR3FIX SID(SID) SAVF(R3FIX700U/LODSAPKRN) SAVLIB(GEN700UOPT) KRNLIB(SAPSIDUC)
    Started applying new kernel
    1) Copy sapexe.sar and sapexedb.sar into tmp folder i.e kern under rootbin.
    2) created one file using notepad called parts ( w/o extension)
    parts file having following content.
    SAPEXE.SAR,
    SAPEXEDB.SAR,
    3) copied parts file into tmp folder.
    4) Create new kernel library like SAPSIDUKRN using following command.
    - CRTLIB LIB(SAPSIDUKRN)
    5) Apply latest kernel to newly created kernel library using following command.
    - LODSAPKRN DEV(STMF) MNTPNT('/tmp') KRNLIB(SAPSIDUKRN) USERDEF(YES) LIST('/tmp/parts')
    When i run the command it says successfully completed, but no files are present in the newly created kernel. please guide me on how to proceed with this.
    Thank You

    Hi Vijay,
    From reading your description I wonder if you simply mixed up directory names. In step 1) of the kernel load you mentioned directory kernel below rootbin. In the command you reference directory /tmp. Although LODSAPKRN should complain if any of the given objects is missing it might worth checking.
    However, did you recognize there is a new option USERDEF(FLAT) available with the latest version (246) of LODSAKRN? This option is supposed to allow standard SAPEXE+SAPEXEDB packages being imported without having to provide the parts file. Check note 912575 if you are interested - english version should be getting updated today.
    Regards,
    Thomas

  • Incorrect kernel patch level

    Dear Experts,
    I just upgraded kernel patch level to the latest one, i.e. 254, however the EWA report still read the old patch level (Your SAP kernel release (release 700, patch level 254) is not up-to-date).
    Do we have to upgrade the ST_PI and/or PI_BASIS, the status is as follow:
    SOLMAN:
    PI_BASIS    2006_1_700   0008   SAPKIPYM08
    ST-PI           2008_1_700  0000  
    Satellite:
    PI_BASIS    2005_1_700  0010   SAPKIPYJ7A
    ST-PI           2008_1_700  0000  
    Please advise.
    Thank and Regards,
    Rudi

    Hi,
    This "outdated check" is based on the compiling date of the
    'disp+work package' of the kernel. The rules for how many days mean
    outdated depend on the kernel release and the ST-SER Release and SP
    running on the Solution Manager.
    Please find below some corrections that extent the rules for beeing
    up-to-date:
    1076235 - RED Rating in Software Configuration, Kernel 700 old
    1301137 - ST-SER 2008_2 SP02: Further Corrections
    1304151 - Service Assistent: Adjustments for Kernel Check
    You may want to have the latest ST-SER version in order
    to ensure that the latest corrections are implemented in your system.
    Hope this helps.
    Cheers
    SH

  • Kernel upgrade - 640 patch level 247 - subsequent patches needed

    Hi community,
    I recently upgraded the kernel of our system SAP ECC 5.0 to kernel release 640 patch level 247
    I used the the two files EXE and EXEDB as I usually do in this cases.
    Unfortunately this kernel is affected with the problem described in note 1239685, which is critical for us.
    To solve the problem SAP recommends upgrading kernel to patch level 252, which is not present in my files, but is present in the single disp+work package, which is level 273
    What is the correct procedure in this case? I have to unpack only the disp+work package or all the archives listed in the download place?
    Regards,
    Valerio

    Dear Valerio,
    The packages SAPEXE.SAR and SAPEXEDB.SAR contain a complete set of database independent (SAPEXE.SAR) and database dependent (SAPEXEDB.SAR) executables. A kernel patch is delivered as a dw.SAR package. It is sufficient to extract the content of the dw.SAR into DIR_EXECUTABLE (normally /usr/sap/<SID>/SYS/exe/run for a 6.xx system on UNIX). Of course, this should be done while the system is down.
    Best Regards,
    Tim

  • Unusual problem in kernel upgrade in grub UUID

    FWIW ::grub wiki shows a forward slash in the grub line for UUID at the beginning of the UUID data.
    The grub generated by the new kernel linux-3.0-1 inserts an equals sign.  This user is not aware if all downloads provide this difference.
    With the equals sign, my UUID was not recognized for the root partition.
    After inserting the forward slash, the system booted correctly into kde desktop.
    This change was necessary for both arch linux boot and fallback boot.
    I also had to change the grub menu.lst kernel line to make it permanent and the same for the fallback kernel line in grub menu.lst.
    With the equals sign in the grub kernel line my boots produced an error message::::unable to determine major-minor number of root device.......
    Perhaps this info will help others in upgrading .
    EDIT:  My system is x86_64
    Last edited by lilsirecho (2011-08-11 06:43:51)

    Hi Shiva,
    You may refer SAP Notes 19466 and 684106, which tells you procedure to download and implement latest Kernel patch levels.
    You can check whether your kernel patch level is upgraded or not, following below procedure.
    System--> status > other Kernel info> Patche level
    or
    Transaction SM50> Processes> Process info-->Patch Level.
    Coming to next question, you  can find whether kernel is 32 bit or 64 bit, using the platform ID.
    You  can find this platform ID in your system,
    system--> status.
    Now relate this Platform to SAP Note 146289, where you can find the correct bit of your kernel.
    If you need any other information, please reply me.
    Thanks and Regards,
    Pavan Kumar Gali.

  • Upgradation Minimum sp level & kernel level for SAP 4.7 to ECC 6.0

    Hi,
    We recently created a test box , copy of devolopment.
    We are running on SAP 4.7 with sap_basis and sap_abap with sp level 46.
    SAP 4.7 with kernel release 640 and kernel patch version 155.
    Oracle 9i.
    What is minimum support pack level  and kernel patch level required to upgrade from sap 4.7 to ecc 6.0.
    As per threads it looks like kernel patch version should be 175.
    Can any one guide me with sap note which provides the info of minimum sp level and kerenl patch level.

    The source system requires a certain support package level (that is described in the upgrade guides) because the tools that to the import require them.
    So the easiest way is to check the upgrade guides and the mentioned notes which is the minimum support package level for the source system to start the upgrade.
    The target level must be at least equivalent or higher.
    Markus

  • Kernel upgrade to patch level 196, ECC 5.0, MSCS resource issue.

    Hi,
    We have 3 system landscape DEV, QAS & PRD on win 2003, oracle 10G, ECC 5.0.
    Our PRD system is on MSCS with CI on node A and DB on node B.
    Recently I successfully upgrade kernel off DEV & QAS system to patch level 196 of stack 18.
    When I tried to upgrade the kernel of PRD system one of the cluster resource drive (The drive contains the usr folder) is automatically moving from Node A to Node B and I got the error u201Capplication server shut downu201D. We donu2019t have additional application server in the landscape.
    Please suggest the solution.
    Regards,
    Rajesh

    Hi Juan,
    How are you? Thanks for your reply.
    We are using ECC 5.0. I have found more errors in dev_w0 as follows,
    ERROR => ShmCreate( ATTACH 62, 85588600) failed 1 [mpixx.c      843]
    ERROR => DpInitMpi: MpiInit failed (1) [dpxxtool2.c  3556]
    in_ThErrHandle: 1
    ERROR => tskh_init: DpInitMpi (step 1, th_errno 17, action 3, level 1) [thxxhead.c   9621]
    Info for wp 0
    stat = 4
    reqtype = 1
    act_reqtype = -1
    rq_info = 0
    tid = -1
    mode = 255
    len = -1
    rq_id = 65535
    rq_source = 255
    last_tid = 0
    last_mode = 0
    int_checked_resource(RFC) = 0
    ext_checked_resource(RFC) = 0
    int_checked_resource(HTTP) = 0
    ext_checked_resource(HTTP) = 0
    report = >                                        <
    action = 0
    tab_name = >                              <
    LOCATION    SAP-Server sapcigrp_ECP_00 on host sapeccprddb (wp 0)
    ERROR       tskh_init: DpInitMpi
    TIME        Sun Nov 16 05:13:07 2008
    RELEASE     640
    COMPONENT   Taskhandler
    VERSION     1
    RC          17
    MODULE      thxxhead.c
    LINE        9806
    COUNTER     1
    PfStatDisconnect: disconnect statistics
    Entering TH_CALLHOOKS
    ThCallHooks: call hook >SAP-Trace buffer write< for event BEFORE_DUMP
    TrThHookFunc: called for WP dump
    ThCallHooks: call hook >ThrSaveSPAFields< for event BEFORE_DUMP
    ERROR => ThrSaveSPAFields: no valid thr_wpadm [thxxrun1.c   730]
    ERROR => ThCallHooks: event handler ThrSaveSPAFields for event BEFORE_DUMP failed hxxtool3.c  254]
    Entering ThSetStatError
    Entering ThReadDetachMode
    call ThrShutDown (1)...
    ***LOG Q02=> wp_halt, WPStop (Workproc 0 4000) [dpnttool.c   357]
    Please suggest the solution
    Thanks & Regards,
    Rajesh

  • Kernel patch level upgrade

    our kernel patch level is 221
    now i want upgrade patch latest non unicode 64bit kernel for DB2 database
    E:\usr\sap\QAS\SYS\exe\nuc\NTAMD64
    E:\usr\sap\QAS\DVEBMGS00\exe
    which one correct directory..

    Dear Subhash.Chandra.
    You writed the patch files have to be copied both directories.
    I'm finding the official document or manual of it.
    I updated igs patch on one server(ecc 6.0 ides).
    I copied the file to one directory(/sapmnt/SID/exe). and I found igs patch was OK(transaction : sisg).
    And the the other directory(/usr/sap/SID/DV~~/exe) has same file automatically without copy.
    Second Case,
    I updated igs patch on our ecc dev server.
    I can't update igs version with copy to only one directory.
    So I copied remained directory. Then I found igs patch updated successfully.
    Thank you.

  • Upgraded kernel info not showing in System info page

    Hi all,
    We have upgraded our EP 7.0 from SP11 to SP 15 with kernel 146, all the components are showing up fine after the upgrade means SP level SP15 , but kernel still showing the same old kernel info  in the system info page.
    I have checked from the OS it's 146 there, i have checked at the VA also it's also showing old kernel info.
    I have tried changing the mode of SDM to integrade  and  systemcomponents to active still same result.
    Please suggest ..
    Thanks,
    Subhash.G

    Hi,
    SDM deals only with Java components, so it has nothing to do with the Kernel.
    To update the Kernel
    1. Stop the system
    2. Extract SAPEXE.SAR & SAPEXEDB.SAR in the directory pointed by DIR_CT_RUN profile parameter, this is usually SYS/exe/[n]uc/<platform>
    3. Start the system
    Make sure you extract the correct archives for your OS and DB.
    Different instances of your system might user different Kernels - UNICODE/NONUNICODE or different OS.
    Make sure to update all Kernels to same patch level.
    Normally the system is setup to replicate Kernel binaries from the central file system (DIR_CT_RUN) to instance local directory (DIR_EXECUTABLE) via sapcpe. This happens during system startup (you can find sapcpe in START profiles). The instance starts the executables from DIR_EXECUTABLE (<instance>/exe) directory.
    Best regards,
    Petar
    JSPM

  • Laptop mode tools problem with kernel 3.0

    today I just updated the system and my laptop runs dramatically hotter after that. I read the archwiki, it does talk about the laptop mode tools problem with kernel 3.0 but when I opened the file /usr/sbin/laptop_mode, the lines which the wiki mentions are not there. Does anyone here have the same problem and can you offer the solution?
    Here is my /usr/sbin/laptop_mode
    #! /bin/sh
    # Script to start or stop laptop_mode, and to control various settings of the
    # kernel, hardware etc. that influence power consumption.
    # This script is a part of Laptop Mode Tools. If you are running a supported
    # power management daemon, this script will be automatically called on power
    # state change.
    # Configure laptop mode tools in /etc/laptop-mode/laptop-mode.conf, and in
    # the broken-out config files in /etc/laptop-mode/conf.d.
    # Please consult the manual pages laptop-mode.conf(8) and laptop_mode(8) for
    # additional information.
    # Maintainer: Ritesh Raj Sarraf ([email protected])
    # Original Author: Bart Samwel ([email protected])
    # Project home page: http://samwel.tk/laptop_mode
    # Contributors to this script: Bart Samwel
    # Kiko Piris
    # Micha Feigin
    # Andrew Morton
    # Herve Eychenne
    # Dax Kelson
    # Jan Polacek
    # ... and many others that I've stopped
    # keeping track of.
    # Based on a script for Linux 2.4 written by Jens Axboe.
    set -a
    # The laptop mode tools version number. Extracted by the installer makefile
    # as well, so don't change the format!
    LMTVERSION=1.59
    # This script is loaded from multiple scripts to set the config defaults
    # and to read the configuration on top of those. Only when the command is
    # recognized does this script do anything else.
    VERBOSE_OUTPUT=0
    ENABLE_LAPTOP_MODE_ON_BATTERY=1
    ENABLE_LAPTOP_MODE_ON_AC=0
    ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED=0
    PARTITIONS="auto /dev/mapper/*"
    LM_BATT_MAX_LOST_WORK_SECONDS=600
    LM_AC_MAX_LOST_WORK_SECONDS=360
    DEF_MAX_AGE=30
    LM_READAHEAD=3072
    NOLM_READAHEAD=128
    CONTROL_READAHEAD=1
    CONTROL_NOATIME=0
    USE_RELATIME=1
    CONTROL_HD_IDLE_TIMEOUT=1
    LM_AC_HD_IDLE_TIMEOUT=4 # 20 seconds
    LM_BATT_HD_IDLE_TIMEOUT=4 # 20 seconds
    NOLM_HD_IDLE_TIMEOUT=244 # 2 hours
    DEF_UPDATE=5
    DEF_XFS_AGE_BUFFER=15
    DEF_XFS_SYNC_INTERVAL=30
    DEF_XFS_BUFD_INTERVAL=1
    XFS_HZ=100
    CONTROL_MOUNT_OPTIONS=1
    BATT_HD_POWERMGMT=1
    LM_AC_HD_POWERMGMT=254
    NOLM_AC_HD_POWERMGMT=254
    CONTROL_HD_POWERMGMT=0
    CONTROL_HD_WRITECACHE=0
    NOLM_AC_HD_WRITECACHE=1
    NOLM_BATT_HD_WRITECACHE=0
    LM_HD_WRITECACHE=0
    LM_DIRTY_RATIO=60
    LM_DIRTY_BACKGROUND_RATIO=1
    NOLM_DIRTY_BACKGROUND_RATIO=10
    NOLM_DIRTY_RATIO=40
    LM_SECONDS_BEFORE_SYNC=2
    BATT_CPU_MAXFREQ=medium
    BATT_CPU_MINFREQ=slowest
    BATT_CPU_GOVERNOR=ondemand
    BATT_CPU_IGNORE_NICE_LOAD=1
    LM_AC_CPU_MAXFREQ=fastest
    LM_AC_CPU_MINFREQ=slowest
    LM_AC_CPU_GOVERNOR=ondemand
    LM_AC_CPU_IGNORE_NICE_LOAD=1
    NOLM_AC_CPU_MAXFREQ=fastest
    NOLM_AC_CPU_MINFREQ=slowest
    NOLM_AC_CPU_GOVERNOR=ondemand
    NOLM_AC_CPU_IGNORE_NICE_LOAD=0
    CONTROL_CPU_FREQUENCY=0
    HD="/dev/[hs]d[abcdefgh]"
    CONTROL_SYSLOG_CONF=0
    LM_AC_SYSLOG_CONF=/etc/syslog-on-ac-with-lm.conf
    NOLM_AC_SYSLOG_CONF=/etc/syslog-on-ac-without-lm.conf
    BATT_SYSLOG_CONF=/etc/syslog-on-battery.conf
    SYSLOG_CONF_SIGNAL_PROGRAM=syslogd
    SYSLOG_CONF=/etc/syslog.conf
    CONTROL_DPMS_STANDBY=0
    BATT_DPMS_STANDBY=300
    LM_AC_DPMS_STANDBY=1200
    NOLM_AC_DPMS_STANDBY=1200
    CONTROL_CPU_THROTTLING=0
    BATT_CPU_THROTTLING=medium
    LM_AC_CPU_THROTTLING=minimum
    NOLM_AC_CPU_THROTTLING=minimum
    CONTROL_START_STOP=1
    CONTROL_TERMINAL=0
    TERMINALS="/dev/vc/1 /dev/vcs1"
    BATT_TERMINAL_BLANK_MINUTES=1
    BATT_TERMINAL_POWERDOWN_MINUTES=2
    LM_AC_TERMINAL_BLANK_MINUTES=10
    LM_AC_TERMINAL_POWERDOWN_MINUTES=10
    NOLM_AC_TERMINAL_BLANK_MINUTES=10
    NOLM_AC_TERMINAL_POWERDOWN_MINUTES=50
    ENABLE_AUTO_HIBERNATION=0
    HIBERNATE_COMMAND=/usr/sbin/hibernate
    AUTO_HIBERNATION_ON_CRITICAL_BATTERY_LEVEL=1
    DISABLE_LAPTOP_MODE_ON_CRITICAL_BATTERY_LEVEL=1
    AUTO_HIBERNATION_BATTERY_CHARGE_MAH=0
    AUTO_HIBERNATION_BATTERY_CHARGE_MWH=0
    MINIMUM_BATTERY_CHARGE_MAH=0
    MINIMUM_BATTERY_CHARGE_MWH=0
    ASSUME_SCSI_IS_SATA=1
    CONTROL_BRIGHTNESS=0
    BATT_BRIGHTNESS_COMMAND=false
    LM_AC_BRIGHTNESS_COMMAND=false
    NOLM_AC_BRIGHTNESS_COMMAND=false
    LOG_TO_SYSLOG=1
    DEBUG=0
    ENABLE_LAPTOP_MODE_TOOLS=1
    # Initialize the PATH Variable
    export PATH="${PATH}":/bin:/sbin:/usr/bin:/usr/sbin
    # This is a 2 phase locking approach. LMT_REQ_LOCK is the outer lock and LMT_INVOC_LOCK is the inner lock
    # We take this approach to ensure the scenario that, "At any point when an event occurs (AC/BATT), the
    # kernel can generate multiple events spanning over a couple of events. The first event is honored and
    # lmt executes. If the last event triggered at the 9th second, there is a fair chance that a good amount
    # of state change would have occured in the OS, to honor that state, we keep an outer lock (LMT_REQ_LOCK)
    # handy, so that those changes can also be applied and not forgotten.
    # Workflow:
    # Event-1 is generated and lmt executes (lmt runtime could span 5-10 seconds)
    # At seventh second, 4 events generate. But Event-1 is still running.
    # We don't want to discard all the remaining 4 events, but at least honor 1 so that we can act to the changes
    # that occured in the last 7 seconds.
    # So, Event-2 acquire LMT_REQ_LOCK and waits to acquire LMT_INVOC_LOCK (which is acquire by Event-1)
    LMT_REQ_LOCK="/var/lock/lmt-req.lock"
    LMT_INVOC_LOCK="/var/lock/lmt-invoc.lock"
    FLOCK=`which flock`
    checkint ()
    # $1 arg should be the string/integer
    # that you want to check for as an integer.
    echo $1 | grep "[^0-9]" > /dev/null 2>&1
    return $?;
    # Returns 1 if it is an integer
    # Function to handle logging
    LOGGER=`which logger`;
    log ()
    # $1 should be msg type
    # $2 should be the real msg
    if [ x$LOG_TO_SYSLOG = x1 ]; then
    # NOTE: Add the check on $2 being empty, once you are confident
    # that there aren't any bugs in logging. And no bugs in executing
    # modules and logging
    if [ -x $LOGGER -a "$1" != "STATUS" ]; then
    #if [ -z $2 ]; then
    # continue
    #elif [ "$1" = "MSG" ]; then
    if [ "$1" = "MSG" ]; then
    logger -p daemon.info -t laptop-mode "$2";
    elif [ "$1" = "ERR" ]; then
    logger -p daemon.err -t laptop-mode "$2";
    elif [ "$1" = "VERBOSE" ]; then
    if [ x$VERBOSE_OUTPUT = x1 ]; then
    logger -p daemon.debug -t laptop-mode "$2";
    fi
    else
    logger -p daemon.notice -t laptop-mode "$2";
    fi
    fi
    fi
    if [ "$1" = "VERBOSE" ]; then
    $LM_VERBOSE && echo "$2" >/dev/fd/2;
    elif [ "$1" = "ERR" ]; then
    echo "$2" >/dev/fd/2;
    else
    # Message of type MSG and STATUS can go to stdout.
    echo "$2" >/dev/fd/1;
    fi
    enableDebug ()
    # Check if debug is enabled
    if [ x$(($(basename $1 | cut -d . -f1 | tr "[:lower:]" "[:upper:]" | sed 's/-/_/g')_DEBUG)) = x1 ]; then
    set -vx
    fi
    disableDebug ()
    # Check if debug is enabled
    if [ x$(($(basename $1 | cut -d . -f1 | tr "[:lower:]" "[:upper:]" | sed 's/-/_/g')_DEBUG)) = x1 ]; then
    set +vx
    fi
    # No default on these ones -- we need to detect if they have been set, for
    # backward compatibility with MINIMUM_BATTERY_MINUTES etc.
    AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT=
    MINIMUM_BATTERY_CHARGE_PERCENT=
    # Backward compatibility variable that is sometimes
    # set externally (Debian init system)
    unset VERBOSE
    lmt_load_config ()
    # Source config. Some config settings have been moved from the main config file
    # to modular configuration files, and to support existing laptop-mode.conf
    # files from earlier versions, we source the modular configuration files FIRST.
    if [ -d /etc/laptop-mode/conf.d ] ; then
    for CONF in /etc/laptop-mode/conf.d/*.conf ; do
    if [ -r "$CONF" ] ; then
    . "$CONF"
    #Handle individual module debug settings
    if [ "$DEBUG" -eq 1 ]; then
    export $(basename $CONF | cut -d . -f1 | tr "[:lower:]" "[:upper:]" | sed 's/-/_/g')_DEBUG=1
    log "VERBOSE" "Enabling debug mode for module $CONF"
    fi
    DEBUG=0
    else
    log "MSG" "Warning: Configuration file $CONF is not readable, skipping."
    fi
    done
    fi
    if [ -r /etc/laptop-mode/laptop-mode.conf ] ; then
    . /etc/laptop-mode/laptop-mode.conf
    else
    log "ERR" "$0: Configuration file /etc/laptop-mode/laptop-mode.conf not present or not readable."
    exit 1
    fi
    if [ x$ENABLE_LAPTOP_MODE_TOOLS = x0 ]; then
    log "MSG" "laptop-mode-tools is disabled in config file. Exiting"
    exit 0;
    fi
    # Add a simple bash debug mode switch
    if [ "$DEBUG" -eq 1 ]; then
    set -vx;
    fi
    # Support for old config settings
    if [ "$AC_HD" != "" ] ; then
    AC_HD_WITHOUT_LM="$AC_HD"
    AC_HD_WITH_LM="$AC_HD"
    fi
    if [ "$VERBOSE" != "" ] ; then
    VERBOSE_OUTPUT="$VERBOSE"
    fi
    if [ "$CPU_MAXFREQ" != "" ] ; then
    BATT_CPU_MAXFREQ="$CPU_MAXFREQ"
    fi
    if [ "$MAX_AGE" != "" ] ; then
    LM_BATT_MAX_LOST_WORK_SECONDS="$MAX_AGE"
    LM_AC_MAX_LOST_WORK_SECONDS="$MAX_AGE"
    fi
    if [ "$DEF_AGE" != "" ] ; then
    DEF_MAX_AGE="$DEF_AGE"
    fi
    if [ "$LAPTOP_MODE_ALWAYS_ON" != "" ] ; then
    ENABLE_LAPTOP_MODE_ALWAYS="$LAPTOP_MODE_ALWAYS_ON"
    fi
    if [ "$LM_WHEN_LID_CLOSED" != "" ] ; then
    ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED="$LM_WHEN_LID_CLOSED"
    fi
    if [ "$REMOUNT_PARTITIONS" != "" ] ; then
    PARTITIONS="$REMOUNT_PARTITIONS"
    fi
    if [ "$READAHEAD" != "" ] ; then
    LM_READAHEAD="$READAHEAD"
    fi
    if [ "$DO_REMOUNT_NOATIME" != "" ] ; then
    CONTROL_NOATIME="$DO_REMOUNT_NOATIME"
    fi
    if [ "$DO_HD" != "" ] ; then
    CONTROL_HD_IDLE_TIMEOUT="$DO_HD"
    fi
    if [ "$AC_HD_WITH_LM" != "" ] ; then
    LM_AC_HD_IDLE_TIMEOUT="$AC_HD_WITH_LM"
    fi
    if [ "$AC_HD_WITHOUT_LM" != "" ] ; then
    NOLM_HD_IDLE_TIMEOUT="$AC_HD_WITHOUT_LM"
    fi
    if [ "$BATT_HD" != "" ] ; then
    LM_BATT_HD_IDLE_TIMEOUT="$BATT_HD"
    fi
    if [ "$DO_REMOUNTS" != "" ] ; then
    CONTROL_MOUNT_OPTIONS="$DO_REMOUNTS"
    fi
    if [ "$DO_HD_POWERMGMT" != "" ] ; then
    CONTROL_HD_POWERMGMT="$DO_HD_POWERMGMT"
    fi
    if [ "$AC_HDPARM_POWERMGMT_WITH_LM" != "" ] ; then
    LM_AC_HD_POWERMGMT="$AC_HDPARM_POWERMGMT_WITH_LM"
    fi
    if [ "$AC_HDPARM_POWERMGMT_WITHOUT_LM" != "" ] ; then
    NOLM_AC_HD_POWERMGMT="$AC_HDPARM_POWERMGMT_WITHOUT_LM"
    fi
    if [ "$BATT_HDPARM_POWERMGMT" != "" ] ; then
    BATT_HD_POWERMGMT="$BATT_HDPARM_POWERMGMT"
    fi
    if [ "$DO_WRITECACHE" != "" ] ; then
    CONTROL_HD_WRITECACHE="$DO_WRITECACHE"
    fi
    if [ "$AC_WRITECACHE_WITHOUT_LM" != "" ] ; then
    NOLM_AC_HD_WRITECACHE="$AC_WRITECACHE_WITHOUT_LM"
    fi
    if [ "$BATT_WRITECACHE" != "" ] ; then
    LM_HD_WRITECACHE="$BATT_WRITECACHE"
    fi
    if [ "$DIRTY_RATIO" != "" ]; then
    LM_DIRTY_RATIO="$DIRTY_RATIO"
    fi
    if [ "$DIRTY_BACKGROUND_RATIO" != "" ] ; then
    LM_DIRTY_BACKGROUND_RATIO="$DIRTY_BACKGROUND_RATIO"
    fi
    if [ "$DEF_DIRTY_RATIO" != "" ]; then
    NOLM_DIRTY_RATIO="$DEF_DIRTY_RATIO"
    fi
    if [ "$DEF_DIRTY_BACKGROUND_RATIO" != "" ] ; then
    NOLM_DIRTY_BACKGROUND_RATIO="$DEF_DIRTY_BACKGROUND_RATIO"
    fi
    if [ "$DO_CPU" != "" ] ; then
    CONTROL_CPU_FREQUENCY="$DO_CPU"
    fi
    if [ "$CONTROL_CPU_MAXFREQ" != "" ] ; then
    CONTROL_CPU_FREQUENCY="$CONTROL_CPU_MAXFREQ"
    fi
    if [ "$AC_CPU_MAXFREQ_WITH_LM" != "" ] ; then
    LM_AC_CPU_MAXFREQ="$AC_CPU_MAXFREQ_WITH_LM"
    fi
    if [ "$AC_CPU_MAXFREQ_WITHOUT_LM" != "" ] ; then
    NOLM_AC_CPU_MAXFREQ="$AC_CPU_MAXFREQ_WITHOUT_LM"
    fi
    if [ "$DO_SYSLOG" != "" ] ; then
    CONTROL_SYSLOG_CONF="$DO_SYSLOG"
    fi
    if [ "$SYSLOG_SIGNAL_PROGRAM" != "" ] ;then
    SYSLOG_CONF_SIGNAL_PROGRAM="$SYSLOG_SIGNAL_PROGRAM"
    fi
    if [ "$AC_SYSLOG_WITH_LM" != "" ] ; then
    LM_AC_SYSLOG_CONF="$AC_SYSLOG_WITH_LM"
    fi
    if [ "$AC_SYSLOG_WITHOUT_LM" != "" ] ; then
    NOLM_AC_SYSLOG_CONF="$AC_SYSLOG_WITHOUT_LM"
    fi
    if [ "$BATT_SYSLOG" != "" ] ; then
    BATT_SYSLOG_CONF="$BATT_SYSLOG"
    fi
    if [ "$ENABLE_LAPTOP_MODE_ALWAYS" != "" ] ; then
    ENABLE_LAPTOP_MODE_ON_AC="$ENABLE_LAPTOP_MODE_ALWAYS"
    fi
    if [ "$MINIMUM_BATTERY_MINUTES" != "" -a "$MINIMUM_BATTERY_CHARGE_PERCENT" = "" ] ; then
    # Use a very conservative estimate (1% = 1 battery minute, 100 minutes in a battery)
    # for backward compatibility.
    MINIMUM_BATTERY_CHARGE_PERCENT="$MINIMUM_BATTERY_MINUTES"
    fi
    if [ -z "$MINIMUM_BATTERY_CHARGE_PERCENT" ] ; then
    # Apply the default, now that we've determined that this is the minimum.
    MINIMUM_BATTERY_CHARGE_PERCENT=3
    fi
    if [ "$AUTO_HIBERNATION_BATTERY_MINUTES" != "" -a "$AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT" = "" ] ; then
    # Use a very conservative estimate (1% = 1 battery minute, 100 minutes in a battery)
    # for backward compatibility.
    AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT="$AUTO_HIBERNATION_BATTERY_MINUTES"
    fi
    if [ -z "$AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT" ] ; then
    # Apply the default, now that we've determined that this is the minimum.
    AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT=2
    fi
    # Postprocessing
    if [ "$VERBOSE_OUTPUT" -ne 0 ] ; then
    OUTPUT="/dev/stdout"
    LM_VERBOSE="[ 1 = 1 ]"
    else
    OUTPUT="/dev/null"
    LM_VERBOSE="[ 1 = 0 ]"
    fi
    if [ "$PARTITIONS" = "" ] ; then
    PARTITIONS="auto /dev/mapper/*"
    fi
    # Expand shell wild cards immediately.
    PARTITIONS=$( echo $PARTITIONS )
    TERMINALS=$( echo $TERMINALS )
    # Convert seconds to hdparm -S format
    # Everything over 20 minutes is interpreted as 2 hours.
    seconds_to_hdparm_S() {
    if [ "$1" -eq 0 ] ; then
    # disable.
    echo 0
    elif [ "$1" -gt 0 -a "$1" -lt 5 ] ; then
    # 5 seconds minimum
    echo 1
    elif [ "$1" -le $((240*5)) ] ; then
    # Values between 1 and 240 signify increments of 5 seconds
    echo $(($1 / 5))
    elif [ "$1" -lt $((30*60)) ] ; then
    # Values between 20 and 30 minutes are rounded up to 30 minutes.
    echo 241
    elif [ "$1" -lt $((12*30*60)) ] ; then
    # Values between 30 minutes and 6 hours (exclusive) yield values between
    # 241 and 251, in 30-minute increments.
    echo $(( 240 + ($1 / (30*60)) ))
    else
    # Larger values effectively indicate no timeout at all.
    echo 0
    fi
    # Convert configured idle timeouts to hdparm -S format.
    if [ "$LM_AC_HD_IDLE_TIMEOUT_SECONDS" != "" ] ; then
    LM_AC_HD_IDLE_TIMEOUT=$(seconds_to_hdparm_S $LM_AC_HD_IDLE_TIMEOUT_SECONDS)
    fi
    if [ "$LM_BATT_HD_IDLE_TIMEOUT_SECONDS" != "" ] ; then
    LM_BATT_HD_IDLE_TIMEOUT=$(seconds_to_hdparm_S $LM_BATT_HD_IDLE_TIMEOUT_SECONDS)
    fi
    if [ "$NOLM_HD_IDLE_TIMEOUT_SECONDS" != "" ] ; then
    NOLM_HD_IDLE_TIMEOUT=$(seconds_to_hdparm_S $NOLM_HD_IDLE_TIMEOUT_SECONDS)
    fi
    # The main workhorse.
    lmt_main_function ()
    if [ "$1" = "status" ] ; then
    # Display a status report.
    log "STATUS" "Mounts:"
    mount | sed "s/^/ /"
    log "STATUS" " "
    log "STATUS" "Drive power status:"
    for disk in $HD; do
    if [ -r $disk ]; then
    hdparm -C $disk 2>/dev/null | sed "s/^/ /"
    else
    log "STATUS" " Cannot read $disk, permission denied - $0 needs to be run as root"
    fi
    done
    log "STATUS" " "
    log "STATUS" "(NOTE: drive settings affected by Laptop Mode cannot be retrieved.)"
    log "STATUS" " "
    log "STATUS" "Readahead states:"
    cat /etc/mtab | while read DEV MP FST OPTS DUMP PASS ; do
    # skip funny stuff
    case "$FST" in
    rootfs|unionfs|tmpfs|squashfs|sysfs|usbfs|proc|devpts) continue
    esac
    if [ -b $DEV ] ; then
    if [ -r $DEV ] ; then
    log "STATUS" " $DEV: $((`blockdev --getra $DEV` / 2)) kB"
    else
    log "STATUS" " Cannot read $DEV, permission denied - $0 needs to be run as root"
    fi
    fi
    done
    log "STATUS" " "
    if [ -e /var/run/laptop-mode-tools/enabled ] ; then
    log "STATUS" "Laptop Mode Tools is allowed to run: /var/run/laptop-mode-tools/enabled exists."
    else
    log "STATUS" "Laptop Mode Tools is NOT allowed to run: /var/run/laptop-mode-tools/enabled does not exist."
    fi
    log "STATUS" " "
    STATFILES="/proc/sys/vm/laptop_mode /proc/apm /proc/pmu/info /proc/sys/vm/bdflush /proc/sys/vm/dirty_ratio /proc/sys/fs/xfs/age_buffer /proc/sys/fs/xfs/sync_interval /proc/sys/fs/xfs/lm_age_buffer /proc/sys/fs/xfs/lm_sync_interval /proc/sys/vm/pagebuf/lm_flush_age /proc/sys/fs/xfs/xfsbufd_centisecs /proc/sys/fs/xfs/xfssyncd_centisecs /proc/sys/vm/dirty_background_ratio /proc/sys/vm/dirty_expire_centisecs /proc/sys/fs/xfs/age_buffer/centisecs /proc/sys/vm/dirty_writeback_centisecs /sys/devices/system/cpu/*/cpufreq/cpuinfo_*_freq /sys/devices/system/cpu/*/cpufreq/scaling_governor /proc/acpi/button/lid/*/state /proc/acpi/ac_adapter/*/state /proc/acpi/battery/*/state /sys/class/power_supply/*/online /sys/class/power_supply/*/state"
    for THISFILE in $STATFILES ; do
    if [ -e "$THISFILE" ] ; then
    log "STATUS" "$THISFILE:"
    if [ -r "$THISFILE" ] ; then
    cat "$THISFILE" | sed "s/^/ /"
    else
    log "STATUS" " Not accessible, permission denied - $0 needs to be run as root."
    fi
    log "STATUS" " "
    fi
    done
    elif [ "$1" != "readconfig" -a "$1" != "defaults" ] ; then
    KLEVEL="$(uname -r |
    IFS='.-' read a b c
    echo $a.$b
    KMINOR="$(uname -r |
    IFS='.-' read a b c d
    # Strip any stuff from the end -- only the initial digits are part of the KMINOR.
    echo $c | sed -e 's/\([[:digit:]]*\).*/\1/'
    # Stop exporting everything -- what we do from here is private.
    set +a
    if [ "$1" = "--version" ] ; then
    log "MSG" "Laptop Mode Tools $LMTVERSION"
    exit 0
    fi
    if [ ! -e /proc/sys/vm/laptop_mode ] ; then
    log "ERR" "Kernel does not have support for laptop mode. Please apply the laptop mode"
    log "ERR" "patch or install a newer kernel."
    exit 1
    fi
    if [ ! -w /proc/sys/vm/laptop_mode ] ; then
    log "ERR" "You do not have enough privileges to enable laptop_mode."
    exit 1
    fi
    INIT=0 # Display info in init script format?
    FORCE=0 # Force reapplying the current state?
    while [ "$1" != "" ] ; do
    case "$1" in
    init) INIT=1 ;;
    force) FORCE=1 ;;
    # Old options. We always do "auto" for any option now, but
    # we still have to accept the options.
    start) ;;
    stop) ;;
    auto) ;;
    modules=*)
    MODULES=$1
    MODULES=${MODULES#"modules="}
    devices=*)
    DEVICES=$1
    DEVICES=${DEVICES#"devices="}
    *) log "ERR" "Unrecognized option $1."
    exit 1 ;;
    esac
    shift
    done
    mkdir -p /var/run/laptop-mode-tools
    # Used to display laptop mode state later on. This is the enabled/disabled
    # state for laptop mode processing, it tells us nothing about whether laptop
    # mode is actually _active_.
    STATE=enabled
    if [ "$ENABLE_LAPTOP_MODE_ON_BATTERY" -eq 0 -a "$ENABLE_LAPTOP_MODE_ON_AC" -eq 0 -a "$ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED" -eq 0 ] ; then
    STATE=disabled
    fi
    # Determine the power state.
    # First try /sys/class/power_supply/*
    FOUND_SYS_CLASS_POWER_SUPPLY_AC=0
    ON_AC=0
    for POWER_SUPPLY in /sys/class/power_supply/* ; do
    if [ -f $POWER_SUPPLY/type ] ; then
    if [ "$(cat $POWER_SUPPLY/type)" = "Mains" ] ;then
    log "VERBOSE" "Determining power state from $POWER_SUPPLY/online."
    FOUND_SYS_CLASS_POWER_SUPPLY_AC=1
    if [ "$(cat $POWER_SUPPLY/online)" = 1 ] ; then
    ON_AC=1
    fi
    fi
    fi
    done
    if [ $FOUND_SYS_CLASS_POWER_SUPPLY_AC = 1 ] ; then
    # Already found it!
    log "VERBOSE" "Not trying other options, already found a power supply."
    elif [ -d /proc/acpi/ac_adapter ] ; then
    log "VERBOSE" "Determining power state from /proc/acpi/ac_adapter."
    ADAPTERS_FOUND=0
    ON_AC=0
    for ADAPTER in /proc/acpi/ac_adapter/* ; do
    if [ -f $ADAPTER/state ] ; then
    ADAPTERS_FOUND=1
    STATUS=`awk '/^state: / { print $2 }' $ADAPTER/state`
    if [ "$STATUS" = "on-line" ] ; then
    ON_AC=1
    fi
    fi
    done
    if [ "$ADAPTERS_FOUND" -eq 0 ] ; then
    ON_AC=1
    fi
    elif [ -f /proc/pmu/info ] ; then
    log "VERBOSE" "Determining power state from /proc/pmu/info."
    if ( grep -q "^AC Power.*0$" /proc/pmu/info ) ; then
    log "VERBOSE" "/proc/pmu/info indicates absence of AC power."
    ON_AC=0
    else
    # It is possible that there is no AC Power = 1 in the file,
    # but we always assume AC power when we're not sure.
    ON_AC=1
    log "VERBOSE" "/proc/pmu/info indicates presence of AC power."
    fi
    elif [ -f /proc/apm ] ; then
    log "VERBOSE" "Determining power state from /proc/apm."
    read D1 D2 D3 APM_AC_STATE D0 </proc/apm
    if [ "$APM_AC_STATE" = "0x00" ] ; then
    ON_AC=0
    else
    ON_AC=1
    fi
    else
    log "VERBOSE" "No /sys/class/power_supply, ACPI, APM or PMU power management information found -- assuming AC power is present."
    ON_AC=1
    fi
    # Determine whether to activate or deactivate laptop mode.
    ACTIVATE=0
    if [ "$ON_AC" -eq 1 ] ; then
    if [ "$ENABLE_LAPTOP_MODE_ON_AC" -ne 0 ] ; then
    log "VERBOSE" "On AC power: Activating, because ENABLE_LAPTOP_MODE_ON_AC is set."
    ACTIVATE=1
    else
    log "VERBOSE" "On AC power: Deactivating, because ENABLE_LAPTOP_MODE_ON_AC is not set."
    ACTIVATE=0
    fi
    else
    if [ "$ENABLE_LAPTOP_MODE_ON_BATTERY" -ne 0 ] ; then
    log "VERBOSE" "On battery power: Activating, because ENABLE_LAPTOP_MODE_ON_BATTERY is set."
    ACTIVATE=1
    else
    log "VERBOSE" "On battery power: Deactivating, because ENABLE_LAPTOP_MODE_ON_BATTERY is not set."
    ACTIVATE=0
    fi
    fi
    if [ "$ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED" -ne 0 -a "$ACTIVATE" -eq 0 ] ; then
    if [ -x "`which hal-find-by-property`" ] ; then
    HAL_LID_BUTTON=$(hal-find-by-property --key "button.type" --string "lid")
    fi
    if [ "$HAL_LID_BUTTON" != "" ] ; then
    HAL_LID_BUTTON_STATE=$(hal-get-property --udi $(hal-find-by-property --key "button.type" --string "lid") --key "button.state.value")
    if [ "$HAL_LID_BUTTON_STATE" = "true" ] ; then
    log "VERBOSE" "Setting action to \"start\" because the lid is closed (says HAL)."
    ACTIVATE=1
    fi
    elif [ -f /proc/acpi/button/lid/*/state ] ; then
    if ( grep -q "closed" /proc/acpi/button/lid/*/state ) ; then
    log "VERBOSE" 'Setting action to "start" because the lid is closed (says /proc/acpi/button/lid/*/state).'
    ACTIVATE=1
    fi
    else
    log "MSG" "Warning: ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED is set, but there is no file"
    log "MSG" "/proc/acpi/button/lid/.../state, and hal information is not available either!"
    fi
    fi
    # If the init script has not been run or has been run with the "stop"
    # argument, then we should never start laptop mode.
    if [ ! -f /var/run/laptop-mode-tools/enabled ] ; then
    log "VERBOSE" "Laptop mode disabled because /var/run/laptop-mode-tools/enabled is missing."
    STATE=disabled
    fi
    if [ "$ACTIVATE" -eq 1 -a -f /etc/default/laptop-mode ] ; then
    . /etc/default/laptop-mode
    if ! ( echo "$ENABLE_LAPTOP_MODE" |grep y ) ; then
    log "VERBOSE" "Not starting laptop mode because it is disabled in /etc/default/laptop-mode."
    STATE=disabled
    fi
    fi
    if [ "$STATE" = "disabled" ] ; then
    ACTIVATE=0
    fi
    # Check whether we are allowed to activate the data-loss-sensitive stuff.
    # If the battery charge is too low, we want to disable this, but not the
    # other power-saving stuff.
    if [ "$ACTIVATE" -eq 0 ] ; then
    ACTIVATE_WITH_POSSIBLE_DATA_LOSS=0
    elif [ "$ON_AC" = 1 ] ; then
    log "VERBOSE" "On AC, not checking minimum battery charge."
    ACTIVATE_WITH_POSSIBLE_DATA_LOSS=1
    else
    ACTIVATE_WITH_POSSIBLE_DATA_LOSS=1
    ENOUGH_CHARGE=0
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=0
    # Weird way of checking that /sys/class/power_supply is not empty -- but it works.
    if [ "$(echo /sys/class/power_supply/*)" != '/sys/class/power_supply/*' ] ; then
    log "VERBOSE" "Not on AC and we have battery information in /sys/class/power_supply/BAT* -- checking minimum battery charge."
    for BATT in /sys/class/power_supply/* ; do
    BATT_TYPE=$(cat $BATT/type)
    log "VERBOSE" "$BATT is of type $BATT_TYPE."
    if [ "$BATT_TYPE" != "Battery" ] ; then
    log "VERBOSE" "Not of type \"Battery\", skipping."
    else
    PREV_ENOUGH_CHARGE=$ENOUGH_CHARGE
    PREV_ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=$ENOUGH_CHARGE_TO_PREVENT_HIBERNATION
    log "VERBOSE" "Checking levels for $BATT."
    PRESENT=$(cat $BATT/present)
    log "VERBOSE" "Present: $PRESENT."
    # Only do if the battery is present
    if [ "$PRESENT" -eq 1 ] ; then
    FOUND_AN_ENABLED_CHECK=0
    FOUND_AN_ENABLED_HIBERNATION_CHECK=0
    # Get the remaining capacity.
    IN_UAH=0
    IN_UWH=0
    if [ -f $BATT/charge_now ] ; then
    REMAINING=$(cat $BATT/charge_now)
    IN_UAH=1 # charge_* is in microAmpere-hours
    elif [ -f $BATT/energy_now ] ; then
    REMAINING=$(cat $BATT/energy_now)
    IN_UWH=1 # energy_* is in microWatt-hours
    else
    REMAINING=0
    fi
    if [ -z "$REMAINING" -o "$REMAINING" -eq 0 ] ; then
    log "VERBOSE" "Battery does not report remaining charge. Perhaps it is not present?"
    REMAINING=0
    fi
    log "VERBOSE" "Remaining charge: $REMAINING"
    if [ -f $BATT/charge_full_design ] ; then
    CAPACITY=$(cat $BATT/charge_full_design)
    elif [ -f $BATT/energy_full_design ] ; then
    CAPACITY=$(cat $BATT/energy_full_design)
    else
    CAPACITY=0
    fi
    if [ -z "$CAPACITY" -o "$CAPACITY" -eq 0 ] ; then
    log "VERBOSE" "Battery does not report design full charge, using non-design full charge."
    if [ -f $BATT/charge_full ] ; then
    CAPACITY=$(cat $BATT/charge_full)
    elif [ -f $BATT/energy_full_design ] ; then
    CAPACITY=$(cat $BATT/energy_full)
    else
    CAPACITY=0
    fi
    if [ -z "$CAPACITY" -o "$CAPACITY" -eq 0 ] ; then
    log "VERBOSE" "Battery does not report non-design full charge."
    CAPACITY=0
    fi
    fi
    log "VERBOSE" "Full capacity: $CAPACITY"
    # Check the charge percentage
    if [ "$MINIMUM_BATTERY_CHARGE_PERCENT" -ne 0 ] ; then
    FOUND_AN_ENABLED_CHECK=1
    if [ "$CAPACITY" -eq 0 ] ; then
    log "MSG" "WARNING: Battery does not report a capacity. Minimum battery"
    log "MSG" "charge checking does not work without a design capacity."
    ENOUGH_CHARGE=1
    elif [ "$(($REMAINING * 100 / $CAPACITY))" -ge "$MINIMUM_BATTERY_CHARGE_PERCENT" ] ; then
    ENOUGH_CHARGE=1
    fi
    fi
    if [ "$AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT" -ne 0 ] ; then
    FOUND_AN_ENABLED_HIBERNATION_CHECK=1
    if [ "$CAPACITY" -eq 0 ] ; then
    log "MSG" "WARNING: Battery does not report a design capacity. Auto hibernation"
    log "MSG" "does not work without a design capacity."
    ENOUGH_CHARGE=1
    elif [ "$(($REMAINING * 100 / $CAPACITY))" -ge "$AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT" ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    fi
    fi
    # $BATT/alarm is the design_capacity_warning of a battery.
    ALARM_LEVEL=$(cat $BATT/alarm)
    if [ "$ALARM_LEVEL" -ne 0 ] ; then
    if [ "$REMAINING" -le "$ALARM_LEVEL" ] ; then
    # Restore the state we had before checking this battery, so that
    # this battery does not count as having enough charge.
    ENOUGH_CHARGE=$PREV_ENOUGH_CHARGE
    elif [ "$FOUND_AN_ENABLED_CHECK" -eq 0 ] ; then
    # This is the only check that is enabled. In that case a non-critical
    # battery level counts as "enough". (If we would count non-critical
    # battery levels as enough *always*, then the other settings would
    # have no effect; this is only a final fallback.)
    ENOUGH_CHARGE=1
    fi
    fi
    if [ "$AUTO_HIBERNATION_ON_CRITICAL_BATTERY_LEVEL" -ne 0 ] ; then
    if [ "$REMAINING" -le "$ALARM_LEVEL" ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=$PREV_ENOUGH_CHARGE_TO_PREVENT_HIBERNATION
    elif [ "$FOUND_AN_ENABLED_HIBERNATION_CHECK" -eq 0 ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    fi
    fi
    # Fallback: hard values
    if [ "$IN_UAH" -ne 0 ] ; then
    if [ "$MINIMUM_BATTERY_CHARGE_MAH" -ne 0 ] ; then
    FOUND_AN_ENABLED_CHECK=1
    if [ "$REMAINING" -ge $((1000*"$MINIMUM_BATTERY_CHARGE_MAH")) ] ; then
    ENOUGH_CHARGE=1
    fi
    fi
    if [ "$AUTO_HIBERNATION_BATTERY_CHARGE_MAH" -ne 0 ] ; then
    FOUND_AN_ENABLED_HIBERNATION_CHECK=1
    if [ "$REMAINING" -ge $((1000*"$AUTO_HIBERNATION_BATTERY_CHARGE_MAH")) ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    fi
    fi
    elif [ "$IN_UWH" -ne 0 ] ; then
    if [ "$MINIMUM_BATTERY_CHARGE_MWH" -ne 0 ] ; then
    FOUND_AN_ENABLED_CHECK=1
    if [ "$REMAINING" -ge $((1000*"$MINIMUM_BATTERY_CHARGE_MWH")) ] ; then
    ENOUGH_CHARGE=1
    fi
    fi
    if [ "$AUTO_HIBERNATION_BATTERY_CHARGE_MWH" -ne 0 ] ; then
    FOUND_AN_ENABLED_HIBERNATION_CHECK=1
    if [ "$REMAINING" -ge $((1000*"$AUTO_HIBERNATION_BATTERY_CHARGE_MWH")) ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    fi
    fi
    else
    log "ERR" "Failed to determine battery charge. Battery charge units are not in"
    log "ERR" "mWh, uWh, mAh or uAh."
    fi
    else
    log "VERBOSE" "Battery is not present."
    fi
    fi
    done
    elif [ "$(echo /proc/acpi/battery/*)" != '/proc/acpi/battery/*' ] ; then
    log "VERBOSE" "Not on AC and we have batteries in /proc/acpi/battery -- checking minimum battery charge."
    for BATT in /proc/acpi/battery/* ; do
    PREV_ENOUGH_CHARGE=$ENOUGH_CHARGE
    PREV_ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=$ENOUGH_CHARGE_TO_PREVENT_HIBERNATION
    BATT_STATE=$BATT/state
    BATT_INFO=$BATT/info
    log "VERBOSE" "Checking info and state for $BATT."
    # Only do if the battery is present
    if ( grep -q 'present:.*yes' $BATT_INFO ) ; then
    FOUND_AN_ENABLED_CHECK=0
    FOUND_AN_ENABLED_HIBERNATION_CHECK=0
    # Get the remaining capacity.
    REMAINING=`grep "remaining capacity:" $BATT_STATE | sed "s/.* \([0-9][0-9]* \).*/\1/" `
    if [ -z "$REMAINING" ] ; then
    log "VERBOSE" "Battery does not report remaining charte. Perhaps it is not present?"
    REMAINING=0
    fi
    log "VERBOSE" "Remaining charge: $REMAINING"
    CAPACITY=`grep "design capacity:" $BATT_INFO | sed "s/.* \([0-9][0-9]* \).*/\1/" `
    if [ -z "$CAPACITY" ] ; then
    log "VERBOSE" "Battery does not report capacity. Perhaps it is not present?"
    CAPACITY=0
    fi
    log "VERBOSE" "Design capacity: $CAPACITY"
    # Check the charge percentage
    if [ "$MINIMUM_BATTERY_CHARGE_PERCENT" -ne 0 ] ; then
    FOUND_AN_ENABLED_CHECK=1
    if [ "$CAPACITY" -eq 0 ] ; then
    log "MSG" "WARNING: Battery does not report a design capacity. Minimum battery"
    log "MSG" "charge checking does not work without a design capacity."
    ENOUGH_CHARGE=1
    elif [ "$(($REMAINING * 100 / $CAPACITY))" -ge "$MINIMUM_BATTERY_CHARGE_PERCENT" ] ; then
    ENOUGH_CHARGE=1
    fi
    fi
    if [ "$AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT" -ne 0 ] ; then
    FOUND_AN_ENABLED_HIBERNATION_CHECK=1
    if [ "$CAPACITY" -eq 0 ] ; then
    log "MSG" "WARNING: Battery does not report a design capacity. Auto hibernation"
    log "MSG" "does not work without a design capacity."
    ENOUGH_CHARGE=1
    elif [ "$(($REMAINING * 100 / $CAPACITY))" -ge "$AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT" ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    fi
    fi
    # Fallback: hard values.
    # Determine the reporting unit.
    IN_MAH=0
    IN_MWH=0
    if ( grep -q mWh $BATT_INFO ) ; then
    IN_MWH=1
    elif ( grep -q mAh $BATT_INFO ) ; then
    IN_MAH=1
    fi
    if [ "$IN_MAH" -ne 0 ] ; then
    if [ "$MINIMUM_BATTERY_CHARGE_MAH" -ne 0 ] ; then
    FOUND_AN_ENABLED_CHECK=1
    if [ "$REMAINING" -ge "$MINIMUM_BATTERY_CHARGE_MAH" ] ; then
    ENOUGH_CHARGE=1
    fi
    fi
    if [ "$AUTO_HIBERNATION_BATTERY_CHARGE_MAH" -ne 0 ] ; then
    FOUND_AN_ENABLED_HIBERNATION_CHECK=1
    if [ "$REMAINING" -ge "$AUTO_HIBERNATION_BATTERY_CHARGE_MAH" ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    fi
    fi
    elif [ "$IN_MWH" -ne 0 ] ; then
    if [ "$MINIMUM_BATTERY_CHARGE_MWH" -ne 0 ] ; then
    FOUND_AN_ENABLED_CHECK=1
    if [ "$REMAINING" -ge "$MINIMUM_BATTERY_CHARGE_MWH" ] ; then
    ENOUGH_CHARGE=1
    fi
    fi
    if [ "$AUTO_HIBERNATION_BATTERY_CHARGE_MWH" -ne 0 ] ; then
    FOUND_AN_ENABLED_HIBERNATION_CHECK=1
    if [ "$REMAINING" -ge "$AUTO_HIBERNATION_BATTERY_CHARGE_MWH" ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    fi
    fi
    else
    log "ERR" "Failed to determine battery charge. Battery charge units are not in"
    log "ERR" "mWh or mAh."
    fi
    CAP_STATE=`sed -r 's/^capacity state:\s*(.*)\s*$/\1/;t;d' "$BATT_STATE"`
    if [ "$DISABLE_LAPTOP_MODE_ON_CRITICAL_BATTERY_LEVEL" -ne 0 ] ; then
    if [ "$CAP_STATE" = "critical" ] ; then
    # Restore the state we had before checking this battery, so that
    # this battery does not count as having enough charge.
    ENOUGH_CHARGE=$PREV_ENOUGH_CHARGE
    elif [ "$FOUND_AN_ENABLED_CHECK" -eq 0 ] ; then
    # This is the only check that is enabled. In that case a non-critical
    # battery level counts as "enough". (If we would count non-critical
    # battery levels as enough *always*, then the other settings would
    # have no effect; this is only a final fallback.)
    ENOUGH_CHARGE=1
    fi
    fi
    if [ "$AUTO_HIBERNATION_ON_CRITICAL_BATTERY_LEVEL" -ne 0 ] ; then
    if [ "$CAP_STATE" = "critical" ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=$PREV_ENOUGH_CHARGE_TO_PREVENT_HIBERNATION
    elif [ "$FOUND_AN_ENABLED_HIBERNATION_CHECK" -eq 0 ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    fi
    fi
    else
    log "VERBOSE" "Battery is not present."
    fi
    done
    else
    ENOUGH_CHARGE=1
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    log "VERBOSE" "Not on AC and could not check battery state -- data loss sensitive features stay enabled and auto-hibernation will not work."
    fi
    if [ "$ENABLE_AUTO_HIBERNATION" -ne 0 -a "$ENOUGH_CHARGE_TO_PREVENT_HIBERNATION" -eq 0 ] ; then
    log "VERBOSE" "None of the batteries have a charge above the auto-hibernation level."
    log "VERBOSE" "Starting hibernation."
    if [ -x $HIBERNATE_COMMAND ]; then
    $HIBERNATE_COMMAND
    elif [ -f /sys/power/state ]; then
    grep -q disk /sys/power/state && echo disk > /sys/power/state
    fi
    # Don't continue -- if things are configured correctly, then we
    # will be called on resume.
    exit 0
    fi
    if [ "$ENOUGH_CHARGE" -eq 0 ] ; then
    log "VERBOSE" "None of the batteries have a charge above the minimum level."
    log "VERBOSE" "Deactivating data loss sensitive features."
    ACTIVATE_WITH_POSSIBLE_DATA_LOSS=0
    fi
    fi
    if [ "$INIT" -eq 0 ] ; then
    log "MSG" "Laptop mode "
    fi
    # WAS_ACTIVE is used later on. If there is no /var/run/laptop-mode-tools/state, then
    # we know that laptop mode wasn't active before.
    WAS_ACTIVE=0
    log "VERBOSE" "Checking if desired state is different from current state."
    if [ -f /var/run/laptop-mode-tools/state ] ; then
    read WAS_ACTIVE WAS_ON_AC WAS_ACTIVATE_WITH_POSSIBLE_DATA_LOSS WAS_STATE < /var/run/laptop-mode-tools/state
    if [ "$WAS_STATE" != "" ] ; then
    if [ "$WAS_ACTIVE" -eq "$ACTIVATE" -a "$WAS_ON_AC" -eq "$ON_AC" -a "$WAS_ACTIVATE_WITH_POSSIBLE_DATA_LOSS" -eq "$ACTIVATE_WITH_POSSIBLE_DATA_LOSS" -a "$WAS_STATE" = "$STATE" -a "$FORCE" -eq 0 ] ; then
    log "MSG" "$STATE, "
    if [ "$WAS_ACTIVE" -eq 1 ] ; then
    log "MSG" "active [unchanged]"
    if [ "$ACTIVATE_WITH_POSSIBLE_DATA_LOSS" -eq 0 ] ; then
    log "MSG" " (Data-loss sensitive features disabled.)"
    fi
    else
    log "MSG" "not active [unchanged]"
    fi
    exit 0
    fi
    fi
    else
    log "VERBOSE" "/var/run/laptop-mode-tools/state does not exist, no previous state."
    fi
    echo "$ACTIVATE $ON_AC $ACTIVATE_WITH_POSSIBLE_DATA_LOSS $STATE" > /var/run/laptop-mode-tools/state
    if [ "$ACTIVATE" -eq 1 ] ; then
    log "MSG" "$STATE, active"
    if [ "$ACTIVATE_WITH_POSSIBLE_DATA_LOSS" -eq 0 ] ; then
    log "MSG" " (Data-loss sensitive features disabled.)"
    fi
    else
    log "MSG" "$STATE, not active"
    fi
    # Finally, call laptop-mode-tools modules. The modules can use the settings
    # from the config files, but they may NOT assume the settings actually exist,
    # as no defaults have been given for them.
    # Note that the /usr/local/lib path is deprecated.
    export FORCE STATE ON_AC ACTIVATE ACTIVATE_WITH_POSSIBLE_DATA_LOSS KLEVEL KMINOR WAS_ACTIVE LM_VERBOSE DEVICES
    for SCRIPT in /usr/share/laptop-mode-tools/modules/* /usr/local/lib/laptop-mode-tools/modules/* /usr/local/share/laptop-mode-tools/modules/* /etc/laptop-mode/modules/* ; do
    if [ -z "$MODULES" ] ; then
    # If a module list has not been provided, execute all modules
    EXECUTE_SCRIPT=1
    else
    # If a module list has been provided, execute only the listed
    # modules.
    EXECUTE_SCRIPT=0
    for MODULE in $MODULES; do
    # Attempt to remove the module name from the end of the
    # full script path. If the module name matches the
    # script, the name will be removed from the end of the
    # full file path, leaving the path to the script. If
    # there was not a match made, the module name would not
    # be removed from the path, and $PATH_TO_SCRIPT would
    # be the same as $SCRIPT.
    PATH_TO_SCRIPT=${SCRIPT%%$MODULE}
    # Execute the script if a match was found (module name
    # was removed from the script path, making it shorter.
    if [ $PATH_TO_SCRIPT != $SCRIPT ] ; then
    EXECUTE_SCRIPT=1
    fi
    done
    fi
    if [ -x "$SCRIPT" -a $EXECUTE_SCRIPT -eq 1 ] ; then
    log "VERBOSE" "Invoking module $SCRIPT."
    SCRIPT_DEBUG=$SCRIPT; # We do this because in start-stop-programs module a $SCRIPT variable is used. That
    # changes the whole meaning when passed to disableDebug ()
    enableDebug $SCRIPT_DEBUG;
    . $SCRIPT
    disableDebug $SCRIPT_DEBUG;
    else
    log "VERBOSE" "Module $SCRIPT is not executable or is to be skipped."
    fi
    done
    exit 0
    # This fi closes the if for "readconfig". If I would have indented this one
    # I would have indented the whole file. :)
    fi
    lmt_load_config
    lock_retry ()
    ( $FLOCK -n -x -w 1 8 || exit 0;
    i=10;
    while [ $i -ge 1 ]
    do
    log "ERR" "Couldn't acquire lock. Retrying.... PID is $$\n"
    $FLOCK -x -w 1 9 && lmt_main_function "$@" && break;
    i=$(( $i - 1 ))
    done
    ) 8>$LMT_REQ_LOCK
    # Check and acquire locks and then exec.
    ( $FLOCK -n -x -w 1 8; ) 8>$LMT_REQ_LOCK
    ($FLOCK -n -x -w 1 9 && lmt_main_function "$@";) || lock_retry "$@"
    ) 9<>$LMT_INVOC_LOCK
    # We do a special run of battery polling daemon here so that it does not get
    # plagued by the lock. We need the polling daemon to be independent of any locks
    if [ x$ENABLE_BATTERY_LEVEL_POLLING = x1 ] && [ x$BLACKLIST_IN_FLOCK = x1 ]; then
    log "VERBOSE" "Battery level polling is enabled."
    if [ x$ON_AC = x1 ] ; then
    log "VERBOSE" "On AC, stopping the polling daemon."
    # In AC mode we disable the polling daemon.
    killall -q lm-polling-daemon
    else
    if ! pidof -x lm-polling-daemon ; then
    log "VERBOSE" "On battery and there was no polling daemon yet, starting the polling daemon."
    # If there is no polling daemon, we start one.
    /usr/share/laptop-mode-tools/module-helpers/lm-polling-daemon < /dev/null > /dev/null 2> /dev/null &
    fi
    fi
    else
    log "VERBOSE" "Battery level polling is disabled."
    fi
    exit 0;
    and here is the lines which archwiki mentions
    case "$KLEVEL" in
    "2.4" ) ;;
    "2.6" ) ;;
    log "ERR" "Unhandled kernel version: $KLEVEL ('uname -r' = '$(uname -r)')" >&2
    exit 1
    esac

    I had the problem but edited the line in /usr/sbin/laptop_mode and it worked. But thoes lines are not there anymore. I guess they changed it at the recent update of laptop-mode-tools.
    Regarding your heat problem; is there any other thing you use to cut down power usage (from AUR  maybe)? I use acpi_call from AUR had to edit lines there aswell, but it should be updated by now.

  • Kernel patch level

    hello,
    We have 3 system landscape DEV, QAS & PRD on HP-UX,  oracle 9.2, ECC 5.0.
    kerne patch level of DEV system is 196 and QAS system is 347 and PRD system's kernel patch level is 196
    can this is affect on request transporting DEV to QAS and PRD or any issues plz. guide me
    thanks

    Hi,
    No problems for tranports but you're not qualifying what will be running on production....
    The whole point of a quality system is to use exactly the same release, kernel patch levels and SP levels as the prodcution system.
    Regards,
    Olivier

  • Problem upgrading and installing virtualbox-modules

    Have some problems upgrading and installing virtualbox-modules
    [elgringo@compjotr Desktop]$ sudo pacman -S community/virtualbox-modules
    resolving dependencies...
    looking for inter-conflicts...
    error: failed to prepare transaction (could not satisfy dependencies)
    :: lirc: requires kernel26>=2.6.26-1
    :: nvidia: requires kernel26>=2.6.26-1
    Had to uninstall lirc nvidia and virtualbox-modules before I could upgrade the kernel and now I can't install the virtualbox-modules.
    Anyone else who experienced the same problems?

    virtualbox-modules depends on the kernel in core. If you want to use the kernel in testing, you'll need to rebuild the virtualbox-modules against it.
    Virtualbox-modules will be fixed when kernel 2.6.26 will be moved in core. So you can wait if you prefer.

  • Upgrade Kernel 640:Oracle DB not start

    Hi
    i was installed WAS 640 on my test sys. kernel version was 640 and patch level 43.
    And i was try to Upgrade latest Kernel 640 and patch level 196.
    when i try to up server, it is not up bacause DB was not start (shows dbstr.cmd was failed to connect)
    what was the solution??????
    regards
    raghu

    hi!
    thanks for your reply...
    i was used 2 files which is OS and DATABASE indepent files. i was unpacked both files successfully.
    Ok. i try to up DB seperately........ then see what will happed......
    One think, when i try to upgrade Kernel 193 patch level, is it any compalsory for BASIS SP ( Like SAPKB64005) becs, i have SP 05.
    regards
    raghu

  • Upgrade Kernel 620 to 640 in 32bit

    Dear Gurús!!
    Please, I need know about the apply the kernel 640 in the SAP Enterprise 47 SR1 with kernel 620.
    I have Windows 2003, SQL 2000 32bit.
    Best Regards
    Luis

    Hi Luis,
    I upgraded kernel from 620 to 640 with any problem. Just download 640 kernel with latest patch, backup "\exe\run" catalog, unpack new SAR archive, copy new kernel to "\exe\run" catalog.
    Next step is to register services SAPOsCol and <instance>name service in program sapstartsrv.exe
    Regards,
    Marcin Gajewski

  • Problem Upgrading to Apex 3.1 on XE

    I am running into a problem upgrading Apex to 3.1 on Oracle XE.
    Hardware and Software:
    Database: Oracle Database 10g Express Edition Release 10.2.0.1.0
    PL/SQL Web Toolkit Version: 10.1.2.0.4
    Host O/S: MS Windows XP Professional Version 2002 SP2
    Host Hardware: AMD Athlon 64 Processor, 2.2 GHz, 1.87 GB RAM
    Background:
    This is a lab host. I am working through the full installation process so that I can set up XE and Apex on development and production hosts, the end in mind being to develop a simple application using XE/Apex instead of Access 2003, which is used heavily in this shop.
    It seems to me that upgrading to Apex 3.1 would be a good thing to do up front instead of developing in the version which ships with XE (2.1, I believe) and performing the upgrade later.
    I installed XE going with full defaults. Nothing at all tricky. I was able to connect to http://localhost:8080/apex without any trouble and log in as system.
    I then followed these Apex upgrade instructions, very carefully:
    http://www.oracle.com/technology/products/database/application_express/html/3.1_and_xe.html
    After I ran into trouble (see below), I reviewed this post and used it to double-check my work:
    How to upgrade to Apex 3.1
    I have worked through this a number of times, each time ending up with the same error.
    The Problem...
    After the upgrade, when I navigate to http://localhost:8080/apex, I receive the following error:
    wwv_flow.app_not_found_footer_err
    wwv_flow.err wwv_flow.app_not_found_err
    OK
    I reviewed this posting, which suggests that I upgrade my PL/SQL Web Toolkit:
    apex 3.0 error wwv_flow.app_not_found_footer_err after new installation
    I am perfectly willing to try this, but I am not sure how to obtain the latest correct version of the web toolkit for this particular version of the database. Any tips on where I might find this?
    I also note that the posting says there should be 10 SQL files in the apex/builder directory. I only have 5, but I just downloaded this zip file a few days ago and assume this is the correct number of files. If it isn't, where could I find the correct zip?
    Any other suggestions about the root cause of this issue would be appreciated.
    Thanks!

    Well, like Sherlock Holmes said, "when you have elminated the impossible, whatever remains, no matter how improbable, must be the truth." Or, something like that.
    Thanks Joel, it was the files. I examined the zip file I originally downloaded and, sure enough, there were 10 files. I extracted it again and, for some reason, this time it only pulled one of the SQL files out, not even five as it did the first time. In addition, it also skipped about half the language folders.
    To get it work, I used the windows built-in zip to open the file, navigated to the apex/builder folder, selected all of the SQL files and language folders, then copied and pasted them into c:\apex\builder.
    I then restored the database, ran the install again, and everything worked just fine: I can access http://localhost:8080/apex/apex_admin and log in.
    I'm not sure what the issue is, a problem with the zip file or (ok, more likely) a problem with the built-in windows zip tool. I used 7-zip (www.7-zip.org) to extract the file on my workstation and all 10 files and 9 language folders came out just fine.
    The bottom line is, it works now, thanks again for the help.
    -Tom
    PS - I did not install the web toolkit upgrade.

Maybe you are looking for

  • Exporting to PDF within InDesignCS4 makes extraneous copies

    I think this is since updating to Snow Leopard 10.6.3 --I frequently export InDesign CS4 documents as PDF files within InDesign. It may only be affecting one particular folder, in fact. I have a folder that I keep about 50-60 PDF files exported from

  • Wildcard value in case statement

    Hi,  How would I use a wildcard value in my case statement. I evaluate a string value of numbers and try to do this "1234***" but it doesn't work. "***" represents any 3 number.  Please advise. Thanks dphan128

  • The itunes extras for movies never downloads for the copies with DVDs bought, Why?

    When I redeem free digital from a DVD I bought and most of the time it comes up with itunes extra.  And the itunes extra never downloads always post error but yet the actual movie downloads?  What is the problem?

  • OS Update .2342 keeps repeating

    I'm continually being asked to install the latest OS update. I download the update on my PB, reboot, and then hours later I'm asked to install the latest update again. This is beyond bizarre Solved! Go to Solution.

  • Safari refusing to install

    Is there anyone who can suggest a solution to safari failing to install The MAC HDD has an exclamation mark as a against Green tick. I have verified permissions etc but to no avail. Falling short of reinstalling the operating system - any ideas? than