Weird siebel 8.0 console mode installation problem on OEL 4
Hi There,
When I tried to install Siebel 8.0 SIA build on Oracle Enterprise Linux (OEL 4), I encountered a weird problem. It is a sandbox for QA to do testing, everything is on the same machine: oracle database 10.2.0.3, gateway, siebel server and SWSE. I installed oracle database, and make sure the database connection is fine, then I did the following :
1) run install by command "./setuplinux -is:javaconsole -console", it compeleted fine.
2) go to gateway directory, source cfgenv.sh
3) run "ssincfgw -is:javaconsole -console" to do gateway server, enterprise and SWSE logical profile configuration. Gateway configuration is fine, gateway started up successfully. But during enterprise configuration, it throws out a bunch of error messages like :
Error creating Parameter:MaxEntrTasks for Comp:TxnProc in CompGroup:Remote
Strict Flag set to FALSE, continuing with the next Object...
Error creating Parameter:MaxEntrTasks for Comp:RepAgent in CompGroup:Remote
Strict Flag set to FALSE, continuing with the next Object...
Error creating Component:MsgBroadcastMgr in CompGroup:CommMgmt
Strict Flag set to FALSE, continuing with the next Object...
SBL-ADM-02071: Enterprise server siebel not found in gateway server
But at the end, it still shows "Execution Successful!"
The SWSE logical profile configuration went through fine
4) go to siebel server directory and source cfgenv.sh
5) launch the ssincfgw in siebsrvr/bin directory to config siebel server, it also throws a bunch of error messages like:
Error creating Parameter:AllowAnonUsers for Comp:SMObjMgr_enu in CompGroup:MktgOM
Strict Flag set to FALSE, continuing with the next Object...
Error creating Parameter:AllowAnonUsers for Comp:eMarketObjMgr_enu in CompGroup:MktgOM
Strict Flag set to FALSE, continuing with the next Object...
Error creating Parameter:AllowAnonUsers for Comp:eEventsObjMgr_enu in CompGroup:MktgOM
Strict Flag set to FALSE, continuing with the next Object...
But again, at the end it still shows "Execution Successful!".
6) go to siebsrvr directory, source siebenv.sh
7) Launch srvrmgr in command line mode:
srvrmgr /g $GATEWAY /e $SIEBEL_ENTERPRISE /u $USERNAME /p $PASSWD
and it shows "connected to 0 server"
In the SiebSrvr.log file, it shows " SBL-SCC-00025: No value found in the Gateway. Default value in the repository is used."
In the sw_cfg_util.log file, it shows "SBL-SVR-03005: No server connect string for Siebel Component servermgr in Siebel Enterprise siebel, Siebel Server sdc60002sems".
The weirdest part is, if I clean up and uninstall everything, run the install and configure in GUI mode, give the same parameters, I don't get any error messages and siebel server can be up and running fine.
I searched the forum and found people have reported the same error message during enterprise configuration, but says it does not affect them from bring up the siebel server. Since I'm developing an automation to do the installation, I cannot use GUI mode to install. I have to make the command line console mode work and then record the response file for silent install. Does anyone know what might cause my siebel server fail to be up and running ? Thanks a lot for any suggestions and helps.
hi,
Make sure that your network uses DNS naming.
This error occurs when a machine is not correctly configured to use DNS naming. The default fully qualified host and domain name presented during installation is not correct.
To successfully install, you need to provide a fully qualified domain name that consists of a local host name along with its domain name.
for example yoursystem is a host name and yourdomain.com is a fully qualified domain name.
regards,
saravanan
Similar Messages
-
.jar installer fails in console mode over missing X / variable DISPLAY
Hi all,
I tried to install the WebLogic Server in console mode according to the Installation Guide for Oracle WebLogic Server 12c Release 1, but couldn't get past an error.
My system is a CentOS 6.4 with kernel 2.6.32-358.el6.i686 in a VMWare virtual machine, running text mode only (X is not installed). I have JRockIt installed, and variables MW_HOME, JAVA_HOME and PATH defined accordingly, and I am using a dedicated user to this installation. Both JRockIt and WLS are being installed in this user's home directory.
I downloaded the generic .jar installer for WebLogic Server 12.1.2 (wls_121200.jar) and tried to install the server in console mode, with this command:
java -jar <path>wls_121200.jar -mode=console
In the initial checks, the installer complains that the environment variable DISPLAY is not set and asks if I want to continue or not. The installation guide says this is not required for a console mode installation, so I chose to continue anyway. Then the installation fails with a Java exception:
java.awt.HeadLess exception:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
(Then the usual class dump)
Should the console mode install ask for X? Did I miss anything? What should I do to be able to install the server in console mode?
Many thanks,
EmersonHi,
There is no console mode in WebLogic 12.1.2. It has been remove.
See MOS note: "WebLogic Server 12.1.2 Generic Install Jar File Fails To Recognize Console Install Mode (Doc ID 1577869.1)"
Regards Peter -
Problem with configure engine in console-mode unix
i have a problem, i tried to configure an engine of enterprise in HP_UX, but the grapical-mode doesn´t work, how can i start the admin console in console-mode??? i tried ./albpmadmcenter -console but not work!!!
Hi,
You would have to install using silent mode to configure the process administrator. This option is available in Oracle BPM (OBPM). Not sure if it exists even with ALBPM 6.0.
http://download.oracle.com/docs/cd/E13154_01/bpm/docs65/config_guide/index.html?t=modules/admin_center/config_wizard/c_Running_Config_Wiz_Silent.html
Hope this helps.
Sarat -
Installation problem with Siebel8.0 on Oracle Enterprise Linux 4 system
We are having installation problem with Siebel8.0 on Oracle Enterprise Linux 4 system.
Using interface, when installation come up to “Installing Wizard” window where Gateway Name Server Configuration window should take place, everything just freeze up
Using console, after installation we obtain following errors:
Installing Siebel Enterprise Server. Please wait...
unable to launch: "ksh export
LD_LIBRARY_PATH=/siebel/gtwysrvr/lib;PATH=${PATH}:.;/root/istemp8058094162222/_bundledJRE_/bin/java
-Dtemp.dir=/root -cp /siebel/gtwysrvr/bin/setup.jar run -args LANG=ENU
MODE=LIVE MODEL_FILE=/siebel/gtwysrvr/admin/enterprise_console.scm" error code:
"236"(SBL-STJ-00152)
LD_LIBRARY_PATH=/siebel/siebsrvr/lib;PATH=${PATH}:.;/root/istemp8058094162222/_bundledJRE_/bin/java
-Dtemp.dir=/root -cp /siebel/siebsrvr/bin/setup.jar run -args LANG=ENU
REPEAT=FALSE MODE=LIVE MODEL_FILE=/siebel/siebsrvr/admin/siebel_server.scm"
error code: "236"(SBL-STJ-00152)
LD_LIBRARY_PATH=/siebel/siebsrvr/mgmtagent/lib;PATH=${PATH}:.;/root/istemp8058094162222/_bundledJRE_/bin/java
-Dtemp.dir=/root -cp /siebel/siebsrvr/mgmtagent/bin/setup.jar run -args
LANG=ENU MODE=LIVE
MODEL_FILE=/siebel/siebsrvr/mgmtagent/admin/mgmtagent_ses.scm" error code:
"236"(SBL-STJ-00152)
Running command :
./ssincfgw -is:javaconsole -console -args LANG=ENU MODE=LIVE MODEL_FILE=/siebel/gtwysrvr/admin/enterprise_console.scm
Infinite loop of following error pops out:
An error occurred during wizard bean change notification:
java.lang.NoClassDefFoundError
at ConfigInitialize.execute(ConfigInitialize.java:21)
at com.installshield.wizard.StandardWizardListener.execute(StandardWizardListener.java:123)
Is there any clue how this error can be solved??
Thanks in advance!!
Gordon
Message was edited by:
user605023I'm facing the same error message while install Siebel 8.0 on OEL. But before I had this ksh problem, it complains about disc space first, and I actually has plenty of disk space under the directory (it needs only 0.7 G and I have 17G free). Anybody has encountered such problem before?
/net/sdcnas05/vol/engfs01/v_sia/8.0SIA[20405|http://forums.oracle.com/forums/]/Release/Linux/Server/Siebel_Enterprise_Server
-bash-3.00$ ./setuplinux -is:javaconsole -console
Initializing InstallShield Wizard........
Initializing InstallShield Wizard........
Launching InstallShield Wizard........
0% 25% 50% 75% 100%
Welcome to the InstallShield Wizard for Siebel Enterprise Server
The InstallShield Wizard will install Siebel Enterprise Server on your
computer.
To continue, choose Next.
Siebel Enterprise Server
Siebel Systems
Press 1 for Next, 3 to Cancel or 4 to Redisplay [1]
Siebel Enterprise Server Install Location
Please specify a directory or press Enter to accept the default directory.
Directory Name: [siebel] /slot/ems1115/appmgr/20405
Press 1 for Next, 2 for Previous, 3 to Cancel or 4 to Redisplay [1]
Please select the products you wish to install.
[ ] 1 - Gateway Name Server
[ ] 2 - Siebel Server
[ ] 3 - Database Configuration Utilities
[ ] 4 - EAI Connectors
To select an item enter its number, or 0 when you are finished: [0]: 1
[X] 1 - Gateway Name Server
[ ] 2 - Siebel Server
[ ] 3 - Database Configuration Utilities
[ ] 4 - EAI Connectors
To select an item enter its number, or 0 when you are finished: [0]: 2
[X] 1 - Gateway Name Server
[X] 2 - Siebel Server
[ ] 3 - Database Configuration Utilities
[ ] 4 - EAI Connectors
To select an item enter its number, or 0 when you are finished: [0]:
Press 1 for Next, 2 for Previous, 3 to Cancel or 4 to Redisplay [1]
Configuring uninstallers. Please wait...
0% 25% 50% 75% 100%
Choose the setup type that best suits your needs.
[X] 1 - Typical
[ ] 2 - Compact
[ ] 3 - Custom
To select an item enter its number, or 0 when you are finished: [0]
Press 1 for Next, 2 for Previous, 3 to Cancel or 4 to Redisplay [1]
Please select the languages you wish to install.
[X] 1 - enu - English (American)
[ ] 2 - fin - Finnish
[ ] 3 - kor - Korean
[ ] 4 - cht - Chinese (Traditional)
[ ] 5 - ita - Italian (Standard)
[ ] 6 - esn - Spanish (Modern)
[ ] 7 - deu - German (Standard)
[ ] 8 - chs - Chinese (Simplified)
[ ] 9 - tha - Thai
[ ] 10 - dan - Danish
[ ] 11 - heb - Hebrew
[ ] 12 - fra - French (Standard)
[ ] 13 - nld - Dutch (Standard)
[ ] 14 - ptb - Portuguese (Brazilian)
[ ] 15 - csy - Czech
[ ] 16 - jpn - Japanese
[ ] 17 - ptg - Portuguese (Standard)
[ ] 18 - ara - Arabic (Sa`udi)
[ ] 19 - sve - Swedish
To select an item enter its number, or 0 when you are finished: [0]
Press 1 for Next, 2 for Previous, 3 to Cancel or 4 to Redisplay [1]
{color:#ff0000}*Drive "/slot/ems1115/appmgr/20405" does not have enough space to install the*
selected configuration. Please free up "766446" KB on drive
*"/slot/ems1115/appmgr/20405" before continuing.*{color}
-bash-3.00$ pwd
/slot/ems1115/appmgr/20405
-bash-3.00$ df -h .
Filesystem Size Used Avail Use% Mounted on
sdc1002nap-vlan1:/vol/ems_39426_1115
71G 55G 17G 77% /slot/ems1115 -
Creation of Weblogic Domain in console mode not working
Hi All,
I've installed the Middleware home with ADF Runtime installer (Installer was 12.1.2.0.0). Now, I'm trying to create and configure a domain based on the JRF Template. I'm executing the following command from Putty
Step1. Navigate to MW_HOME/wlserver/common/bin
Step2. execute "./config.sh -mode=console"
Its throwing the following error :
2014-07-21 17:03:41,643 WARNING [WizardController] com.oracle.cie.wizard.internal.engine.WizardControllerEngine - Duplicate action cause encountered: java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
2014-07-21 17:03:41,643 SEVERE [WizardController] com.oracle.cie.wizard.internal.engine.WizardControllerEngine - Wizard error cause
java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)
at java.awt.Frame.<init>(Frame.java:420)
at java.awt.Frame.<init>(Frame.java:385)
at javax.swing.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1757)
at javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:1832)
at javax.swing.JOptionPane.getRootFrame(JOptionPane.java:1697)
at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:863)
at javax.swing.JOptionPane.showConfirmDialog(JOptionPane.java:796)
at javax.swing.JOptionPane.showConfirmDialog(JOptionPane.java:758)
at com.oracle.cie.wizard.internal.cont.GUIContext.handleFatalErrorMessage(GUIContext.java:1141)
at com.oracle.cie.wizard.internal.cont.GUITaskContainer$MethodRunner.run(GUITaskContainer.java:188)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:302)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
2014-07-21 17:03:41,643 WARNING [WizardController] com.oracle.cie.wizard.internal.engine.WizardControllerEngine - Given state 'ERROR' does not follow current 'ERROR'
This vaguely means that its trying to open a GUI wizard, which is not what I intended to do. The argument -mode=console should run the installer in console mode, but its trying to launch it in GUI mode.
I searched online, but I have not found anything useful on this issue yet.
Am I missing something? Has anyone faced this problem before.
Any thoughts on this would be helpful !!
Thanks,
Shiva Shankar B NWeblogic 12C (12.1.2 to be precise), currently does not support console mode Domain creation. It supports only GUI mode and Silent mode.
Possible solution to create a 12.1.2 Weblogic domain fully qualified enough to deploy ADF Applications :
1. Install Xming, and enable X11 forwarding on Putty
2. Silent Mode installation: The Configuration wizard. ./config.sh -mode=silent -silent_script=xyz . Yes, it needs a silent script, not silent.xml. I did not try this way and instead resorted to WLST. Still there are not enough blogs that clearly tell you how to install domain based on JRF template. I stumbled upon a similar OTN forum post.
Here is the bunch of WLST commands if anyone is interested
#=======================================================================================
# Open a domain template.
#=======================================================================================
readTemplate("/u01/app/mw/Oracle_Home/wlserver/common/templates/wls/wls.jar")
#=======================================================================================
# Update the domain to enable the WebLogic Server domain with JRF and EM.
#=======================================================================================
addTemplate('/u01/app/mw/Oracle_Home/oracle_common/common/templates/wls/oracle.jrf_template_12.1.2.jar')
addTemplate('/u01/app/mw/Oracle_Home/em/common/templates/wls/oracle.em_wls_template_12.1.2.jar')
#=======================================================================================
# Configure the Administration Server and SSL port.
# To enable access by both local and remote processes, you should not set the
# listen address for the server instance (that is, it should be left blank or not set).
# In this case, the server instance will determine the address of the machine and
# listen on it.
#=======================================================================================
cd('Servers/AdminServer')
set('ListenAddress','')
set('ListenPort', 7001)
create('AdminServer','SSL')
cd('SSL/AdminServer')
set('Enabled', 'True')
set('ListenPort', 7002)
#=======================================================================================
# Define the user password for weblogic.
#=======================================================================================
cd('/')
cd('Security/base_domain/User/weblogic')
# Please set password here before using this script, e.g. cmo.setPassword('value')
cmo.setPassword('password')
# Create and configure a JDBC Data Source, and sets the JDBC user. Provide the Schema Credentials of the Service table
# Get RCU Configuration using RCU service table (STB) schema credentials
cd('/')
cd('JDBCSystemResource/LocalSvcTblDataSource/JdbcResource/LocalSvcTblDataSource')
cd('JDBCDriverParams/NO_NAME_0')
set('DriverName','oracle.jdbc.OracleDriver')
set('URL','jdbc:oracle:thin:@XX.XX.XX.XX:1521/xe.yourdomain.com')
set('PasswordEncrypted', 'schemaPassword')
set('UseXADataSourceInterface', 'false')
cd('Properties/NO_NAME_0')
cd('Property/user')
cmo.setValue('DEV_STB')
getDatabaseDefaults()
#=======================================================================================
# Write the domain and close the domain template.
#=======================================================================================
setOption('OverwriteDomain', 'true')
writeDomain('/u01/data/user_projects/domains/your_domain')
closeTemplate()
#=======================================================================================
# Exit WLST.
#=======================================================================================
exit()
Hoping to write a blog post soon..
Thanks,
Shiva Shankar B N -
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
esacI 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. -
R/3 4.6B Installation Problem
Dear all,
I have installation problem when system carry out the final step "Initializing the Workbench Organizer with RFC" after I click Continue to skip importing non-latin language.
the error message is showing below
INFO 2009-01-22 11:28:00
Starting up the SAP System
INFO 2009-01-22 11:28:32
Initializing the Workbench Organizer with RFC
Thu Jan 22 11:28:32 2009
RFC> SetErrorState 0 (line: 447)
RFC resize I/O buffer to 16000 bytes
RFC >>>> C11 : EXT saptester >>> OPEN.
RFC >>>> C11 : EXT saptester >>> 94913478替 .
RFC *> RfcOpen
RFC options->destination = C11
RFC options->mode = RFC_MODE_R3ONLY
RFC options->connopt.hostname = saptester
RFC options->connopt.sysnr = 0
RFC options->connopt.gateway_host = saptester
RFC options->connopt.gateway_service = sapgw00
RFC options->client = 000
RFC options->user = DDIC
RFC options->password = secret (-:
RFC options->language = EN
RFC options->trace = 3
Thu Jan 22 11:28:34 2009
RFC
>>> RfcCall...
RFC *> RfcCall
FUNCTION RFCPING
RFC handle = 1
RFC >>>> C11 : EXT saptester >>> WRITE.
RFC >>>> C11 : EXT saptester >>> FLUSH(WRITE).
RFC <* RfcCall: returns 0:RFC_OK
RFC >>>> C11 : EXT saptester >>> FLUSH(WRITE).
RFC
>>>> Listen/WaitForRequest (counter = 3)
RFC> SetErrorState 10 (line: 724)
RFC >>>> C11 : EXT saptester >>> CLOSE.
RFC
>>> RfcReceive...
RFC> CheckErrorState 10 (line: 895)
RFC *> RfcReceive
RFC handle = 1
RFC <* RfcReceive: returns 3:RFC_SYS_EXCEPTION
WARNING 2009-01-22 11:28:36 RFCRSWBOINI_IND_IND CRfcPing:0
Pinging of RFC destination failed.
RFC *> RfcClose
RFC handle = 1
Can any one tell me what happen, please.
Thanks
Regard
AlvinNo, reinstallation doesn't work, the same problem come up again!
despite this problem, the SAP system does up and runing in the MMC console. but when I logon to the system, there is always ABAP program problem come up immediately, system always report there is missing function, I can not do any further processing.
any idea?
Thanks
Alvin -
WebLogic 8.1.4 on Fedora Core 4 - Installation problems
Hi,
while installing the WebLogic plattform on FC4 (as root, SELinux disabled, running X11, JDK 1.5 installed), I cannot convince the system to start installation in GUI-mode... The message I get is "Unable to instantiate GUI, defaulting to console mode."
That's the first thing. While installing WLP 8.1.3 on SuSE 9.2 there was no such thing.
After I installed WLP in console mode I cannot run the config.sh in GUI mode as well - although other Java-Gui apps are running fine here...
Has anybody got similar case?
Thanks in advance!
SebastianFound the solution in the post below - thanks to Chris.
I had the same problem and from the other posts I read it looked like the installer was getting blocked from using X - most likely by the firewall settings or the SE Linux components.
I got the install to work fine straight away by disabling the firewall and SE linux.
The GUI way: Desktop->System Settings->Security Level (then enter the root password)
Then choose 'Disable firewall' in the 'Firewall Options' tab and uncheck the 'Enabled' in the 'SELinux' tab. This will apparently require a reboot as well.
The first attempt after the reboot saw the installer run straight through.
I know I could have worked out what port was being blocked - and maybe it was only the firewall & not SE Linux - but I was in a hurry & on a secure LAN so I'll leave that as an exercise.
Hope this helps - and don't forget to turn the firewall back on.
Cheers
Chris -
Solaris 10 installation problems through IP-KVM and Realtek NIC drivers
I'm on an IP-KVM connection to the server, the installation failed with the message:
ERROR: Could not create the product file
ERROR: Could not install all packages. Product installation failed
mkdir: "/a/var/sadm/launcher": I/O error
Could not install all packages. Product installation failed
I tried a full install, I'm going to remove some of the unnecessary packages from the install list and try again. This media has been successfully used to install before so I'm hoping that would work. If anyone has any info though regarding the failure, please advice.
One of the problems is that the IP-KVM doesn't allow me to power the server off and on. When the install fails in the desktop console mode like this, is there a way to send a command to reboot the server? Sending ctrl-alt-del through the kvm client doesn't do anything. In case this happens again I'd like to be able to reboot myself.
I'm retrying the install in the console desktop mode so if it fails again I can probably open up a terminal window and issue the reboot command.
Also, the install is not recognizing the Realtek nic. It's an onboard controller in an Intel motherboard. Has anyone had any luck/tips on getting the drivers from www.realtek.co.tw to work? I haven't gotten to that stage yet but any advice would be appreciated for when I do.
ThanksI'm on an IP-KVM connection to the server, the installation failed with the message:
ERROR: Could not create the product file
ERROR: Could not install all packages. Product installation failed
mkdir: "/a/var/sadm/launcher": I/O error
Could not install all packages. Product installation failed
I tried a full install, I'm going to remove some of the unnecessary packages from the install list and try again. This media has been successfully used to install before so I'm hoping that would work. If anyone has any info though regarding the failure, please advice.
One of the problems is that the IP-KVM doesn't allow me to power the server off and on. When the install fails in the desktop console mode like this, is there a way to send a command to reboot the server? Sending ctrl-alt-del through the kvm client doesn't do anything. In case this happens again I'd like to be able to reboot myself.
I'm retrying the install in the console desktop mode so if it fails again I can probably open up a terminal window and issue the reboot command.
Also, the install is not recognizing the Realtek nic. It's an onboard controller in an Intel motherboard. Has anyone had any luck/tips on getting the drivers from www.realtek.co.tw to work? I haven't gotten to that stage yet but any advice would be appreciated for when I do.
Thanks -
Black screen is in interactive and interactive text (console) mode
I want to install Solaris 10 on HP Proliant DL380 G5. After installing drivers for Smart Array (from CPQary3.iso) I can't see this:
"Starting Solaris Interactive (graphical user interface) Installation.
You must respond to the first question within 30 seconds or the installer
proceeds in a non-window environment (console mode)".
The screen now is black in both modes: interactive and interactive text (console)
If I don't install CPQary3 then graphical user interface works good, but "No disks found" :)
What can I do with it?
Edited by: Blutang on Jan 14, 2009 2:07 AMwell the problem has been solved...hope this may help others having this issue.
i basically just let the battery run out, then connected the ipod to my laptop and voila...it reset and all is well again...
pretty random, but glad it is all working again. -
Console Mode with third-party PCI card w/ open firmware bios,Open Boot Info
PPC macs used open firmware to boot, and their videocards contained forth code in their rom. There are even custom roms for PC video cards which contain code for the PPC mac open firmware.
Could such a card be initialized as the primary display device on an Ultra 5?
I'm betting I'm going to be answered with 'use a sun branded card'. I can't imagine the rom on these cards is so much different than that used on the PPC mac?
What exactly does Open Boot do to find a videocard? Are there any documents on this? I assume it finds some forth routine in the cards rom and runs that to initialize it and identify it's capabilities? Again, I would really appreciate some direction on where to look for docs.
I'm confused on the difference between openfirmware (apparently a spec), and open boot (sun's implementation? Are all implementations compatible with eachother?)
http://www.openbios.org/Welcome_to_OpenBIOS
"Open Firmware is found on many servers and workstations and there are several commercial implementations from SUN, Firmworks, CodeGen, Apple, IBM and others."
Additionaly, what is the sun4u architecture? sun4v architecture? Which workstations are which? System handbook doesn't seem to say under 'hardware specs'.
So, if all else fails and using a card with an openfirmware rom doesn't help me, how do I go about doing this myself?
I know how to work VGA console mode via the stardard vga registers, Is there a way to get open boot to do exactly what I tell it in terms of registers and addresses?
Can I get an uncompiled form of my Open Boot Prom for my Ultra 5?
All I'm really looking for is good docs/source on how Open Boot/ Open Firmware work, specificly conerning PCI video devices.
Thanks for any tips.I haven't looked at anything beyond the OpenBoot level.
I've been neglecting this project for some time.
I just wanted to let anyone else in my situation know that the sun OpenBoot documentation was very helpfull in my sucessfully setting a mode with the card.
I don't know how the OS and later OpenWidows interact with the card, or with the information OpenBoot has about it, and it's current mode.
I hadn't really looked at any of that yet. Though this information will probably show up as soon as I bother to look for it, it'd be nice if some one recommends a specific doc, or has a short answer about the topic.
There happens to be an open source driver for my card, for XFree86 and Xorg, however, I've had enough of a challenge merely using OpenWindows.
/etc/X11/xorg.conf /etc/X11/XFree86.conf
Where are simmilar files for OpenWindows? Again, it's probably in some docs I haven't bothered to read yet.
Sparcy: Weird that the card has Fcode and OpenBoot doesn't add it's package to the device tree. I assume it treats it like a non Fcode PCI card? Does it recognize the contents of the PCI base address registers? Try proding it's PCI registers and see if they behave as expected.
If the card is actually working and you can read the expansion rom I don't see why the Fcode didn't work. Maybe it has a later incompatible Fcode revision? Open boot 4.x 5.x? sun4u as opposed to something else? Or maybe the Fcode was designed to lock the card to a certain type of system (I doubt that).
http://www.sunshack.org/data/bootroms.html
Newer versions of openboot, and new hardware series listed at that link. Where's a more complete list?
Oh well, I guess I should bother to read up on this more thoroughly and finish the job.
Let me know if you find out what the problem was, or if you try that MAC card. Thanks. -
KDM: Logging off puts me in console mode
I have a weird problem with KDM.
Well, I run KDM from inittab using init 5. There is not conflicting entry of KDM inside rc.conf to cause an issue I had read about in this forum.
Now, ctrl+alt+backspace shortcut is enabled to restart X. When I do it, X restarts normally the way it should and I am back in KDM window.
But each time I use inbuilt logoff function in Xfce4.6 or KDE 4.3, I end up in console mode. Apparently I am still in init 5, because once I manually login and do a
sudo init 5
Nothing happens. But if I do
sudo init 3
I get a switching message.
After that I do a
sudo init 5 && exit
So that I can get back to login manager window.
Now, why does this happen ? I hate having to manually restart the login manager each time I use logout to switch to another user.
And yeah, is there any theme in KDM which shows a list of users I can login as ?
How do I ensure that only one instance of a user is logged in at a given moment and if I lock screen and go back to menu and login again, I go back to the same instance ?Are you, by chance, using KMS with Intel Graphics? If so, check your /var/log/Xorg.0.log for signs that Xorg crashed when you logged out.
If you find such evidence, you might try (As a work around):
edit /usr/share/config/kdm/kdmrc and find the block labeled :
[X-:*-Core]
and add a line that reads:
TerminateServer=true
This forces KDM to restart the Xorg server after you log out. I think the original purpose of this option was to force the clean up of memory leaks, but it works well for this purpose. -
Installation Problem error when trying to create WSDL resource in OSB proje
Hi everybody!
I'm getting following error while trying to create a WSDL resource in OSB console:
Caused By: com.bea.wli.sb.common.UserException: Diagnostics for WSDL send-sms/resources/teasdf
WARNING: <0> Installation Problem??? Couldn't load messages: Can't find bundle for base name org.apache.xmlbeans.impl.regex.message, locale en_US
at com.bea.wli.sb.resources.wsdl.helpers.WsdlEntryHelper.createEntry(WsdlEntryHelper.java:644)
at com.bea.wli.sb.resources.wsdl.helpers.WsdlEntryHelper.createEntry(WsdlEntryHelper.java:687)
at com.bea.wli.sb.management.configuration.WsdlConfiguration.createEntry(WsdlConfiguration.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.alsb.console.support.ConsoleSideMBeanInvocationHandler.__invoke(ConsoleSideMBeanInvocationHandler.java:113)
at com.bea.alsb.console.support.ConsoleSideMBeanInvocationHandler.invoke(ConsoleSideMBeanInvocationHandler.java:71)
at $Proxy187.createEntry(Unknown Source)
at com.bea.alsb.console.resources.wsdl.WsdlRepositoryHelper.createEntry(WsdlRepositoryHelper.java:183)
at com.bea.alsb.console.resources.wsdl.actions.EditWsdlAction.execute(EditWsdlAction.java:88)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:97)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2044)
at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:91)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2116)
at com.bea.alsb.console.common.base.SBConsoleRequestProcessor.processActionPerform(SBConsoleRequestProcessor.java:91)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:556)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:853)
at com.bea.alsb.console.common.base.SBConsoleRequestProcessor.process(SBConsoleRequestProcessor.java:191)
at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631)
at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158)
at com.bea.console.internal.ConsoleActionServlet.process(ConsoleActionServlet.java:256)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at com.bea.console.internal.ConsoleActionServlet.doGet(ConsoleActionServlet.java:133)
at com.bea.alsb.console.common.base.SBConsoleActionServlet.doGet(SBConsoleActionServlet.java:49)
at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1199)
at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1129)
at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:687)
at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.processActionInternal(ScopedContentCommonSupport.java:142)
at com.bea.portlet.adapter.scopedcontent.StrutsStubImpl.processAction(StrutsStubImpl.java:76)
at com.bea.portlet.adapter.NetuiActionHandler.raiseScopedAction(NetuiActionHandler.java:111)
at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:181)
at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:167)
at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData(NetuiContent.java:225)
I couldn't find anything related to this error in this forum or the web.
Thank you in advance,
Daniel.Can you post your WSDL here please.
-
Console font size in console mode Arch x86_64
hi
i do fresh install Archlinux 2013 x86_64. so i see some change btwin that and 2011, any way , everythings work OK, fast (KDE) but sometime i need work in console mode (ctrl+alt+f1) but i cant change resolution of console font, because now is settingsome basic and so big. i have nvidia card and drivers. i try read ths https://wiki.archlinux.org/index.php/Uvesafb but i cant find some solutions how setting everything with grub2 etc. in my old laptop i have arch 2011 and grub1 but everything work OK include console font, that was much better to setting, in that arch i cant find any working solution, so please help me if somebody know about this.
thanks
Last edited by H20 (2013-03-01 20:44:07)[ 15.458823] NVRM: Your system is not currently configured to drive a VGA console
[ 15.458830] NVRM: on the primary VGA device. The NVIDIA Linux graphics driver
[ 15.458834] NVRM: requires the use of a text-mode VGA console. Use of other console
[ 15.458838] NVRM: drivers including, but not limited to, vesafb, may result in
[ 15.458841] NVRM: corruption and stability problems, and is not supported.
I suspect that it's still the case. You may even have this message in your own dmesg.
Switch console to VGA mode and use xterm instead.
This has nothing to do with resolution setting in a framebuffer, which is what the title of the thread suggests.
I'm pretty sure it does - it looks like the console is being switched to VGA text mode; nvidia has no reason to touch fonts.
Last edited by mich41 (2013-03-01 21:40:35) -
Domain configuration fails in console mode
Hi everybody,
I've got a problem trying to configure a domain based on Portal Template.
If I use the wizard all works fine but if I try to use the custom mode I get a Security Configuration error.
It happens but I didn't change any security parametrs, I'd not added users or groups, I didn't enter in security session.
Did anyone get the same problem?
My system is a Solaris (I get the error with both 9 and 8 version) on Sun Spark and Weblogic Platform 8.1
Thanks a lot
MassimilianoHi,
There is no console mode in WebLogic 12.1.2. It has been remove.
See MOS note: "WebLogic Server 12.1.2 Generic Install Jar File Fails To Recognize Console Install Mode (Doc ID 1577869.1)"
Regards Peter
Maybe you are looking for
-
17" MacBook Pro to 30" HD Display issue using Mini DisplayPort to Dual-Link DVI Adaptor.
Just replaced the Western Digital hard drive on my MacBook Pro with a SSD now running Lion 10.8.2, (updating from Snow Leopard latest version). I have a 30" HD Apple display monitor and very much love using it. The issue. The MacBook Pro will only al
-
How to setup the From header in fullname and email address format
when I sent mail from the messaging express , the mail that I sent cannot show the sender in the fullname and email address format. I use webmail and other mail client . It show only email address. I don't know how to setup this . I use the SUN JES m
-
DPM 2012 R2 - Failed to clean up data
Hi, I'm hoping someone might be able to help me. I've recently been getting an error on one of our backup jobs, I've tried searching around for solutions but no-one seems to have had the exact same issue that I'm experiencing. The backup job is a sha
-
Report writers and report painters
hi i nee the difference between report writers and report painters, and how these are useful in reports,
-
I am unable to access anything in firefox , just get the spinning wheel and have to force quit.