Scroll to navigation

OM(1) User Commands OM(1)

NAME

om - control OpenMoko phone hardware

SYNOPSIS

om help
om --help
om --version
om sysfs name [name...]
om backlight brightness [0-100]
om backlight
om backlight get-max
om backlight <brightness>
om touchscreen lock
om screen power [1/0]
om screen resolution [normal|qvga-normal]
om screen glamo-bus-timings [4-4-4|2-4-2]
om bt [--swap] power [1/0]
om gsm [--swap] power [1/0]
om gsm flowcontrol [1/0]
om gps [--swap] power [1/0]
om gps [--swap] keep-on-in-suspend [1/0]
om gps send-ubx <class> <type> [payload_byte0] [payload_byte1] ...
om wifi [--swap] power [1/0]
om wifi maxperf <iface> [1/0]
om wifi keep-bus-on-in-suspend [1/0]
om battery temperature
om battery energy
om battery consumption
om battery charger-limit [0-500]
om power
om power all-off
om resume-reason
om resume-reason contains <val>
om led <name>
om led <name> <brightness>
om led <name> <brightness> timer <ontime> <offtime>
om uevent dump
om usb mode [device|host]
om usb charger-mode [charge-battery|power-usb]
om usb charger-limit [0|100|500]

DESCRIPTION

om provides a command line interface to various OpenMoko specific pieces of hardware. Note that om talks directly to the kernel and might not properly co-exist with fso-frameworkd that also wants to control the same pieces of hardware. However, using om to read the state of the hardware should be safe even when using fso-frameworkd.

OPTIONS

Reads or sets backlight brightness. Units are percentage of maximum brightness. Reports true brightness only if the screen has not been blanked with om screen power 0.
Set backlight brightness. Units are driver specific, maximum value can be queried with om backlight get-max. This interface is not recommended but is kept for compatibility reasons.
Get maximum value of brightness. Typically the maximum value is 255 under Linux 2.6.29 and 63 under Linux 2.6.34.
Read backlight brightness. This is an integer between zero and what om backlight get-max returns. Reports true brightness only if the screen has not been blanked with om screen power 0. This interface is not recommended but is kept for compatibility reasons.
Locks touchscreen and waits for any signal to unlock it. This is useful when you want to keep the phone running in a pocket and don't want the backlight to turn on every time you accidentally touch the screen. Locking is done in a way that does not depend on X so if X server crashes and restarts your screen will still stay locked.
Reads or sets the power state of the screen. Note that Xorg and fso-frameworkd do not know how to read the power status of the screen (frameworkd reads it on startup only). If Xorg turns the screen and after that you turn the screen off with omhacks then touching the screen won't turn the screen on (Xorg thinks the screen is still on and does not bother to try to power it on).
Reads or sets the screen resolution. This lowlevel interface should not be used when Xorg is running but is useful when using applications that can draw directly to the framebuffer (like mplayer -vo fbdev). The argument normal means 480x640 and qvga-normal means 240x320. After you have changed the screen resolution you also need to change the framebuffer resolution with e.g. the fbset tool using for example the following /etc/fb.modes entries:
mode "480x640"
geometry 480 640 480 1280 16
timings 40816 8 16 2 16 8 2
rgba 5/11,6/5,5/0,0/0
endmode
mode "240x320"
geometry 240 420 240 320 16
timings 100000 8 88 2 2 8 2
accel false
endmode
Reads or sets the timings of the memory bus between the CPU and the glamo graphics chip. Numbers are SRAM interface timings of the CPU. According to http://lists.openmoko.org/pipermail/community/2010-July/062495.html using 2-4-2 is more appropriate, view that article and following discussion for more details.
Reads or sets the power state of bluetooth. Bluetooth is connected to USB bus so it might take a while for it to appear in lsusb and be usable after power on.
List the power status of various devices.
Disable power to bluetooth, GSM, GPS and WLAN.
Reads or sets the power state of GSM.
Reads or sets the state of GSM flowcontrol. When flowcontrol is enabled GSM chip will generate an interrupt when it has data and will not try to send it over serial port until flowcontrol is disabled. Enabling flowcontrol before suspend and disabling it after resume is required to make sure no data is lost during suspend.
Reads or sets the power state of GPS.
Reads or sets the flag that causes GPS to stay powered on during suspend. This is useful if you want to keep GPS fix during suspend.
Send arbitrary UBX protocol command to the GPS chip. Please read "ANTARIS_Protocol_Specification(GPS.G3-X-03002).chm" to understand the protocol. Here are examples of commands that are tested to work:
class type payload description
06 01 f0 01 00 disable GPGLL messages
06 01 f0 02 00 disable GPGSA messages
06 01 f0 03 00 disable GPGSV messages
06 01 f0 05 00 disable GPGTG messages
06 01 f0 08 00 disable GPZDA messages
06 08 fa 00 01 00 00 00 report position 4 times/s
06 08 f4 01 01 00 00 00 report position 2 times/s
Reads or sets the power state of WLAN.
Reads or sets the maxperf mode of WLAN. Enabling this increases energy consumption but lowers latency. Note that root privileges are not currently required for tuning this wifi parameter so a local user can cause DoS by constantly disabling maximum performance mode.
Reads or sets the the flag that controls whether the MCI bus between wifi and CPU will be kept powered on during suspend. You need to keep it powered on if you want to use wake-on-wireless.
Reads battery temperature. Units are degrees Centigrade.
Reads the current energy percentage of the battery.
Reads the current energy consumption as measure by the battery. Units are microamperes. Negative value indicates that battery is being charged.
Reads or sets the upper limit for battery charger current. Units are milliamperes. Normally USB charger limit and battery charger limit have the same value. However, sometimes it is useful to charger battery very slowly or not at all and still power rest of the system from USB. This allows one for example to keep battery at its recommended storage capacity of 40% without having to physically remove the battery. Note that kernel will round the limit to nearest suitable value which is usually a few milliamperes lower than the supplied limit. Changing USB charger limit will reset also this limit to the same value so you must first set the USB charger limit and only then the battery charger limit.
Read the reason for the most recent resume. If there are multiple resume reasons they are separated by newlines. Possible values include (but are not limited to)
EINT01_GSM
EINT05_WLAN
EINT09_PMU:button
EINT09_PMU:usb_connect
EINT09_PMU:usb_disconnect
EINT09_PMU:rtc_alarm
EINT09_PMU:low_battery
Checks if resume reasons include the given string.
Lists the state of all LED devices. The printed names are native kernel names and can change between kernel versions.
Lists the state of the given LED device. In addition to native kernel names you can also use the aliases vibrator, power_orange, power_blue and aux_red to get portability across different kernel versions.
Sets the brightness of the given LED device to the given brightness. Brightness is an integer from 0 to 255 but only the vibrator device really cares about the brightness value. See om led for a list of supported aliases.
In addition to above also makes the LED blink. Ontime and offtime are in milliseconds. See om led for a list of supported aliases.
Dump uevent events to stdout.
Read or set the USB mode. In device mode the phone can talk to USB hosts (PCs or phones in host mode). In host mode the phone can talk to USB devices. See also the om usb charger-mode option.
Reads or sets the USB charger mode. Normally you want to charge the battery in device mode and power the USB bus in host mode but it is possible to for example use an external battery power the USB bus so that the phone can be in host mode and still charge itself over USB.
Reads or sets the charger limit of USB. Units are in milliamperes and control the current that the phone will draw from the USB bus. When the phone is in device mode and some gadget driver is loaded it will negotiate the highest allowed charging current automatically. However, if you are using a dumb external USB battery it might be necessary to force larger limit than the default of 100 mA. Do not set the limit to be too large if your charger can not handle it!
Shows the sysfs path associated with internal om path. This option is only useful for debugging om itself. Examples of valid arguments include actual_brightness, battery, brightness, chg_curlim, max_brightness, pm-bt, pm-gps, pm-gsm, pm-wlan, resume_reason, resume_reason2, screen_resolution, usb_charger_mode, usb_mode.
print this help message
print version and exit
set new value and print old value
October 2011 om version 0.16