Control openmoko phone hardware
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]
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.
om backlight brightness [0-100]
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.
om backlight <brightness>
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.
om backlight get-max
Get maximum value of brightness. Typically the maximum value is 255 under Linux 2.6.29 and 63 under Linux 2.6.34.
om backlight
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.
om touchscreen lock
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.
om screen power [1/0]
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).
om screen resolution [normal|qvga-normal]
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 |
om screen glamo-bus-timings [4-4-4|2-4-2]
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.
om bt [--swap] power [1/0]
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.
om power
List the power status of various devices.
om power all-off
Disable power to bluetooth, GSM, GPS and WLAN.
om gsm [--swap] power [1/0]
Reads or sets the power state of GSM.
om gsm flowcontrol [1/0]
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.
om gps [--swap] power [1/0]
Reads or sets the power state of GPS.
om gps [--swap] keep-on-in-suspend [1/0]
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.
om gps send-ubx <class> <type> [payload_byte0] [payload_byte1] ...
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 |
om wifi [--swap] power [1/0]
Reads or sets the power state of WLAN.
om wifi maxperf <iface> [1/0]
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.
om wifi keep-bus-on-in-suspend [1/0]
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.
om battery temperature
Reads battery temperature. Units are degrees Centigrade.
om battery energy
Reads the current energy percentage of the battery.
om battery consumption
Reads the current energy consumption as measure by the battery. Units are microamperes. Negative value indicates that battery is being charged.
om battery charger-limit [0-500]
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.
om resume-reason
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 |
om resume-reason contains <val>
Checks if resume reasons include the given string.
om led
Lists the state of all LED devices. The printed names are native kernel names and can change between kernel versions.
om led <name>
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.
om led <name> <brightness>
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.
om led <name> <brightness> timer <ontime> <offtime>
In addition to above also makes the LED blink. Ontime and offtime are in milliseconds. See om led for a list of supported aliases.
om uevent dump
Dump uevent events to stdout.
om usb mode [device|host]
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.
om usb charger-mode [charge-battery|power-usb]
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.
om usb charger-limit [0|100|500]
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!
om sysfs name [name...]
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.
--help
print this help message
--version
print version and exit
--swap
set new value and print old value