Difference between revisions of "Chumby Software Applications, Scripts and Tools"

From Chumby Wiki
Jump to: navigation, search
(imgtool)
m (network_running.sh)
 
(25 intermediate revisions by 12 users not shown)
Line 1: Line 1:
 
This page is an attempt to document the various scripts and applications which come pre-installed on a stock Chumby distribution.   
 
This page is an attempt to document the various scripts and applications which come pre-installed on a stock Chumby distribution.   
 
'''Status: Alpha'''
 
 
Please help update it!
 
  
 
=/proc=
 
=/proc=
 
Another page has details on [[Chumby device settings information on /proc]]
 
Another page has details on [[Chumby device settings information on /proc]]
 +
 +
=/dev=
 +
Another page has details on [[Chumby device settings information on /dev]]
  
 
=Scripts=
 
=Scripts=
 
All of these scripts are found in /usr/chumby/scripts/
 
All of these scripts are found in /usr/chumby/scripts/
  
==ap_scan==
+
==Chumby inputs and outputs==
 +
 
 +
===ap_scan===
 
ap_scan - Scans for wireless networks and outputs XML.
 
ap_scan - Scans for wireless networks and outputs XML.
 
If '''/tmp/hidden_ssid''' exists, the script will
 
If '''/tmp/hidden_ssid''' exists, the script will
Line 21: Line 22:
 
original SSID when the scan has completed.
 
original SSID when the scan has completed.
  
==chumby_set_mute==
+
===chumby_set_mute===
  
Set the "mute" volume of the Chumby.  Mute affects the Chumby speaker
+
Set the "mute" volume of the Chumby.  Mute affects the Chumby speaker *and* the headphones.
but not the headphones. ''Is this correct?''
+
  
 
+
===chumby_set_pan===
==chumby_set_pan==
+
  
 
Set the "balance" level of the Chumby.  ''Is this correct?''
 
Set the "balance" level of the Chumby.  ''Is this correct?''
  
 
+
===chumby_set_volume===
==chumby_set_volume==
+
  
 
Set the master volume of the Chumby.   
 
Set the master volume of the Chumby.   
  
 +
==Chumby Info==
 +
===get_voltage.sh===
  
 +
With no arguments, reports voltages sourced from raw values found in /proc/chumby/battery-voltage.
 +
If battery or line is specified, gets specified value and converts to approximate voltage.
  
==chumby_version==
+
Version get_voltage.sh 1501 2007-07-14 22:41:01Z is broken for chumby 2008 version s/w 1.6.0 f/w 733 h/w 3.7, seems related to the values in /proc/chumby/battery-voltage not being correctly interpreted by this script and/or the values being written to /proc/chumby/battery-voltage being incorrect (or incorrectly formatted)
 +
 
 +
===log-rollover-enable===
 +
Enable log-rollover in crontab
 +
 
 +
===macgen.sh===
 +
Outputs wireless NIC hardware address
 +
 
 +
===guidgen.sh===
 +
 
 +
Extracts chumby putative ID from crypto processor
 +
 
 +
===network_running.sh===
 +
Determines whether the network is running
 +
<pre>
 +
chumby:/usr/chumby/scripts# ./network_running.sh
 +
<network status="up" />
 +
</pre>
 +
 
 +
===signal_strength===
 +
Reports the current wireless connection information, including signal strength
 +
 
 +
<pre>chumby:/usr/chumby/scripts# ./signal_strength
 +
<wifi connected="1" signalstrength="100" linkquality="-38" noiselevel="-79" /></pre>
 +
 
 +
==Chumby Settings==
 +
 
 +
===chumby_version===
  
 
Displays the software, firmware and hardware versions
 
Displays the software, firmware and hardware versions
Line 51: Line 80:
 
     --rfs2  - display RFS2 md5sum
 
     --rfs2  - display RFS2 md5sum
  
==disable_intro==
+
===disable_intro===
  
 
Disable the intro screen.
 
Disable the intro screen.
  
==download_cp==
+
===download_cp===
  
 
Downloads the latest Control Panel configured for this chumby, typically to /tmp
 
Downloads the latest Control Panel configured for this chumby, typically to /tmp
  
==enable_intro==
+
===enable_intro===
  
 
Enable the intro screen.
 
Enable the intro screen.
  
==flashplayer_watchdog==
+
===reboot_normal.sh===
  
Script that watches for flashplayer hangs or exits?
+
Reboots the Chumby -- gracefully
  
==get_voltage.sh==
+
==Daemons and housekeeping==
  
With no arguments, reports raw values from /proc/chumby/battery-voltage
+
===flashplayer_watchdog===
If battery or line is specified, gets specified value and converts
+
to approximate voltage.
+
  
==guidgen.sh==
+
Script that watches for flashplayer hangs or exits?
 
+
Extracts chumby putative ID from crypto processor
+
  
==headphone_manager==
+
===headphone_manager===
  
 
Daemon responsible for disabling internal speakers when external headphones/speaker is plugged in
 
Daemon responsible for disabling internal speakers when external headphones/speaker is plugged in
  
 
+
===log-rollover===
==log-rollover==
+
  
 
Script to roll over /var/log/messages
 
Script to roll over /var/log/messages
Line 89: Line 113:
 
  50 2,6,10,14,18,22 * * * /usr/chumby/scripts/log-rollover
 
  50 2,6,10,14,18,22 * * * /usr/chumby/scripts/log-rollover
  
==log-rollover-enable==
+
===mkdevs===
Enable log-rollover in crontab
+
 
+
==macgen.sh==
+
Outputs wireless NIC hardware address
+
 
+
==mkdevs==
+
 
Simple script to automatically populate a /dev directory.
 
Simple script to automatically populate a /dev directory.
  
==Mountmon scripts==
+
===Mountmon scripts===
 
  See mountmon.conf for list of environment variables available on input
 
  See mountmon.conf for list of environment variables available on input
 
  and required output values
 
  and required output values
===mountmon_utils.sh===
+
====mountmon_utils.sh====
 
Utility functions used by mountmon scripts
 
Utility functions used by mountmon scripts
===add.sh===
+
====add.sh====
 
"Add" event script for mountmon
 
"Add" event script for mountmon
===mount.sh===
+
====mount.sh====
 
Mount event script for mountmon
 
Mount event script for mountmon
===remove.sh===
+
====remove.sh====
 
Remove event script for mountmon
 
Remove event script for mountmon
===umount.sh===
+
====umount.sh====
 
Unmount event script for mountmon
 
Unmount event script for mountmon
  
 +
===network_status.sh===
 +
Polls the status of the network interface and outputs XML to /tmp/chumby/network_status.xml
  
 +
===sync_time.sh===
  
==network_running.sh==
+
Synchronize clock with network time server
Determines whether the network is running
+
  
==network_status.sh==
+
* Called by sync_time_state.sh
Polls the status of the network interface and outputs XML to /tmp/chumby/network_status.xml
+
  
==reboot_normal.sh==
+
===sync_time_state.sh===
  
Reboots the Chumby
+
Set or read the sync_time_state from '''/psp/use_ntp'''
 +
 
 +
===time_zone.sh===
 +
 
 +
===update.sh===
 +
Autoupdate script
 +
 
 +
==Linux stuff==
  
==script_locations.sh==
+
===script_locations.sh===
Set default script directory locations
+
Set default script directory locations (environment variable)
  
==service_control==
+
===service_control===
 
Service control wrapper script
 
Service control wrapper script
 
  Usage:
 
  Usage:
Line 135: Line 161:
 
  ${ETC_INIT_DIR}/${service_name} action [args]
 
  ${ETC_INIT_DIR}/${service_name} action [args]
  
==service_getpid==
+
===service_getpid===
 
Get process id(s) of running service
 
Get process id(s) of running service
  
==service_list==
+
===service_list===
 
Get list of running services
 
Get list of running services
  
 +
==Chumby Actions==
  
==start_control_panel==
+
===start_control_panel===
 
Responsible for starting the control panel in the correct mode
 
Responsible for starting the control panel in the correct mode
  
==start_intro==
+
This is a pretty elaborate script.  It checks for Control Panel updates on the
 +
network and USB drives.  It checks and restarts the music player as needed, erases the
 +
display (manually!), and then starts the Control Panel flash applet.
  
==start_network==
+
It would be nice if we could replace this script with custom functionality in-place,
 +
but since it's on a read-only path, we can't.  The Flash Applet can easily be replaced,
 +
however, by altering /tmp/cp_path or by supplying a replacement on a USB drive (see [[Chumby tricks ]]).
 +
 
 +
Calling this script directly is not enough to safely start the Control Panel.
 +
 
 +
===start_intro===
 +
 
 +
===start_network===
 
Starts the network after the network config has been written
 
Starts the network after the network config has been written
  
==start_network.sh==
+
===start_network.sh===
 
symlink to start_network
 
symlink to start_network
  
==start_opening_anim==
+
===start_opening_anim===
  
==start_sshd.sh==
+
===start_sshd.sh===
 
Start the SSH Daemon
 
Start the SSH Daemon
  
==stop_control_panel==
+
===stop_control_panel===
  
 
Stop the control panel widget from playing
 
Stop the control panel widget from playing
  
==sync_time.sh==
+
===update_now.sh===
 
+
Synchronize clock with network time server
+
 
+
* Called by sync_time_state.sh
+
 
+
==sync_time_state.sh==
+
 
+
Set or read the sync_time_state from '''/psp/use_ntp'''
+
 
+
 
+
==time_zone.sh==
+
 
+
 
+
==update.sh==
+
Autoupdate script
+
 
+
==update_now.sh==
+
 
Sets the paranoid boot flag to boot into
 
Sets the paranoid boot flag to boot into
 
autoupdate mode and force an immediate reboot.
 
autoupdate mode and force an immediate reboot.
  
==wait_for_link==
+
===fb_cgi.sh===
 +
Sets up the cgi scripts required to use a browser to see what's on the chumby screen, see [[Chumby_tricks#Using a browser to see what's on your chumby]]
 +
 
 +
==Chumby state wait==
 +
 
 +
===wait_for_link===
 
Wait for the (network?) interface to establish link before proceeding
 
Wait for the (network?) interface to establish link before proceeding
  
==wait_for_opening==
+
===wait_for_opening===
  
 
Wait for opening animation to start.
 
Wait for opening animation to start.
  
==wait_for_usb==
+
===wait_for_usb===
 
Wait for the usb subsystem to finish loading before proceeding
 
Wait for the usb subsystem to finish loading before proceeding
  
Line 199: Line 224:
 
==amixer==
 
==amixer==
 
==aplay==
 
==aplay==
 +
 +
Play an audio file in voc, wav, raw or au formats.
 +
 +
  # aplay <file>
 +
 +
Use ''aplay --help'' for more options.
 +
 
==arecord==
 
==arecord==
 +
 +
Record some audio using Chumby's mic. Take care because the file gets longer easyly.
 +
Use example:
 +
  # cd /tmp
 +
  # arecord -f cd test.wav
 +
 +
To play, use aplay. See ''arecord --help'' for more options.
 +
 
==btplay==
 
==btplay==
 +
 +
Explained at [http://wiki.chumby.com/mediawiki/index.php/Controlling_BTplay Controlling BTplay]
 +
 
==chumbhowld==
 
==chumbhowld==
 +
This is an HTTP daemon listening on port 8082, and presents an XML response showing the services on the LAN advertising presence using [http://en.wikipedia.org/wiki/Zeroconf zeroconf] (aka [http://en.wikipedia.org/wiki/Bonjour_%28software%29 Bonjour]).
 +
 
==chumbipod==
 
==chumbipod==
 
==chumbipodd==
 
==chumbipodd==
Line 215: Line 260:
 
==chumbradiod==
 
==chumbradiod==
 
==chumbyAuth==
 
==chumbyAuth==
==chumby_set_volume==
+
 
 +
 
 
==chumbyflashplayer.x==
 
==chumbyflashplayer.x==
  
 
This is the Adobe Flash Lite 3 Player customized for the chumby
 
This is the Adobe Flash Lite 3 Player customized for the chumby
 +
 +
usage: /usr/bin/chumbyflashplayer.x -i <filename> [
 +
  -m <32K memory blocks (384 = 12mb)>
 +
  -x [X] <pixels (240)>
 +
  -y [X] <pixels (320)>
 +
  -s [X] <stride (x*2)>
 +
  -n [X] <sound buffers {4..32} (16)>
 +
  -b <samples/buffer (512)>
 +
  -p [X] <sample rate {5000|11025|22050|44100|8000|16000} (44100)>
 +
  -e [X] <channels {1|2} (2)>
 +
  -k [X] <bytes/channel {1|2} (2)>
 +
  -r [X] (rotate)
 +
  -q [X] <quality {0|1|2} (2)>
 +
  -d name[=value]
 +
  -o <network open debug level {0|1|2} (2)>
 +
  -D [X] (disable screen updates)
 +
  -A [X] (disable audio)
 +
  -u <1K url cache blocks (4096)>
 +
  -a <cache aggression level (5)>
 +
  -S <cache stats write file>
 +
  -I <cache stats write interval (60)>
 +
  -L <message options (3)>
 +
      message options may be a combination of
 +
        1 write to stderr
 +
        2 add timestamp prefix to stderr
 +
        4 write to syslog
 +
  -l <log mask (127)>
 +
          bitmap of values allowed to be displayed
 +
                1=errors, 2=warnings, 4=info, 8=trace, 16=debug,
 +
                32=AS trace, 64=AS debug, 128=realtime debug
 +
  -M [X] <master_widget>
 +
  -E <cert_list_file>
 +
  -f <frame buffer options {0|1|2} (2)>
 +
  -H <http and malloc options (9)>
 +
      bitmap of options for http:
 +
        1 use curl, 2 report memory usage, 4 verbose memory reporting,
 +
        8 throttle http connection for large transfers,
 +
                16 use localhost as alias for filesystem root (unsafe!)
 +
                64 use verbose mode in libcurl
 +
          additional bits for malloc debugging:
 +
                32 report failed malloc() attempts
 +
  -P <preload widget (may repeat)>
 +
  -U (do not load /usr/widgets/preload.swf)
 +
  -T <timing stats file>
 +
  -K <ts quadrant key mapping {0|1} (0)>
 +
  -Y <minimum pump delay in ms (42)>
 +
  -Z <maximum pump delay in ms (83)>
 +
  -z (disregard existing instance)
 +
  -X (turn on mcheck for heap debugging)
 +
  -t <update timing collection run in seconds (0)>
 +
  -R (backtick result display diagnostics)
 +
  -N <asnative & ts debug flags (0)>
 +
  -w <backtick long timeout (10)>
 +
  -W <action when backtick long timeout reached (0=continue, 1=abort backtick, 2=exit flashplayer)>
 +
  -F <signal to send running instance {SIGTERM=15, SIGHUP=1, SIGUSR1=10, SIGUSR2=12)>
 +
  -g <global heap in mb (0)>
 +
  -G <alternate cfg file or none>
 +
  -j <cache manager options[:cache data dir] (0)>
 +
      bitmap of options:
 +
      1 write cache contents on -S stats file write
 +
  -v (display version information)
 +
  -h (print this message)
 +
] ([X] marks development-only options)
 +
 +
Undocumented switch: -Q -- unknown functionality
 +
 +
Use '''chumbyflashplayer.x -F 15''' to kill the running instance. (Watchdog will restart it.)
 +
 +
Using -z erases the previous instance pid file, so subsequent restarts do not need -z since the original instance has been "forgotten".  Also, -F will no longer work for "forgotten" instances. Don't use -z unless you have heavily hacked the Chumby to support two running instances of flashplayer. Using -F15 to kill the running instance is effective even if the running instance of chumbyflashplayer.x is not responding to SIGINT / SIGTERM - it will resort to SIGKILL.
  
 
==chumbyradio==
 
==chumbyradio==
 
==chumbytorrent==
 
==chumbytorrent==
 +
A simple BitTorrent client.  Execute without arguments for a list of options.
 +
 +
With the -m option, it can be used as a daemon.
 +
chumbytorrent -m /psp/.torrent/
 +
 +
This is useful, for instance, in conjunction with a CGI script that allows you to upload .torrent files to /psp/.torrent using your web browser.
 +
 
==cpi==
 
==cpi==
 
  Usage : cpi [--help] | [-p] [-a] [-d] [-r]
 
  Usage : cpi [--help] | [-p] [-a] [-d] [-r]
Line 242: Line 364:
  
 
==curl==
 
==curl==
 +
 +
See [http://curl.haxx.se/ cURL].
 +
 
==dcid==
 
==dcid==
 
==eject==
 
==eject==
 
==exportKeys==
 
==exportKeys==
 
==fbwrite==
 
==fbwrite==
 +
printf() to frame buffer console
 +
 
==gdbserver==
 
==gdbserver==
 +
Remote Server for the GNU Debugger
 +
 
==headphone_mgr==
 
==headphone_mgr==
 
==hexdump==
 
==hexdump==
Line 255: Line 384:
 
Try this to see how it works:
 
Try this to see how it works:
 
  chumby:~# /usr/bin/imgtool --mode=draw /www/images/chumby_logo.png
 
  chumby:~# /usr/bin/imgtool --mode=draw /www/images/chumby_logo.png
 +
 +
This paints, by default, on the widgets framebuffer. If you want to paint on the control panel framebuffer use the option --fb=1.
 +
The --fb=0 option should paint in the widgets framebuffer.
  
 
Here's an example of capturing the screen to an image file
 
Here's an example of capturing the screen to an image file
Line 291: Line 423:
 
==mountmon==
 
==mountmon==
 
==mp3.x==
 
==mp3.x==
 +
 +
This is a command line tool that will recursively walk a directory to locate MP3 files, extract their ID3 tags, and return an XML representation of what it finds.
 +
 +
example:
 +
# mp3.x mp3://usb
 +
<mp3_masterlist generator="mp3.x" ver="0.20" dirs="0" files="1">
 +
  <mp3 artistname="Sonny Rhodes" songname="Firefly Main Theme" genre="12" track="PP" album="" comment="" year="0" size="786560">mp3://usb/examples/firefly.mp3</mp3>
 +
</mp3_masterlist>
 +
 
==openssl==
 
==openssl==
 
Open SSL tool
 
Open SSL tool

Latest revision as of 08:56, 8 March 2011

This page is an attempt to document the various scripts and applications which come pre-installed on a stock Chumby distribution.

Contents

/proc

Another page has details on Chumby device settings information on /proc

/dev

Another page has details on Chumby device settings information on /dev

Scripts

All of these scripts are found in /usr/chumby/scripts/

Chumby inputs and outputs

ap_scan

ap_scan - Scans for wireless networks and outputs XML. If /tmp/hidden_ssid exists, the script will switch the SSID of the wireless interface to the SSID defined in /tmp/hidden_ssid before initiating the scan. If the interface was configured with a different SSID prior to a wireless scan that read from /tmp/hidden_ssid, the script will restore the original SSID when the scan has completed.

chumby_set_mute

Set the "mute" volume of the Chumby. Mute affects the Chumby speaker *and* the headphones.

chumby_set_pan

Set the "balance" level of the Chumby. Is this correct?

chumby_set_volume

Set the master volume of the Chumby.

Chumby Info

get_voltage.sh

With no arguments, reports voltages sourced from raw values found in /proc/chumby/battery-voltage. If battery or line is specified, gets specified value and converts to approximate voltage.

Version get_voltage.sh 1501 2007-07-14 22:41:01Z is broken for chumby 2008 version s/w 1.6.0 f/w 733 h/w 3.7, seems related to the values in /proc/chumby/battery-voltage not being correctly interpreted by this script and/or the values being written to /proc/chumby/battery-voltage being incorrect (or incorrectly formatted)

log-rollover-enable

Enable log-rollover in crontab

macgen.sh

Outputs wireless NIC hardware address

guidgen.sh

Extracts chumby putative ID from crypto processor

network_running.sh

Determines whether the network is running

chumby:/usr/chumby/scripts# ./network_running.sh
<network status="up" />

signal_strength

Reports the current wireless connection information, including signal strength

chumby:/usr/chumby/scripts# ./signal_strength
<wifi connected="1" signalstrength="100" linkquality="-38" noiselevel="-79" />

Chumby Settings

chumby_version

Displays the software, firmware and hardware versions

   syntax: /usr/chumby/scripts/chumby_version [-s -f -h -n -t --rfs1 --rfs2]
   -s     - display software version
   -f     - display firmware build number
   -h     - display hardware version number
   -n      - display hardware serial number
   -t      - display hardware time since last crypto processor power cycle
   --rfs1  - display RFS1 md5sum
   --rfs2  - display RFS2 md5sum

disable_intro

Disable the intro screen.

download_cp

Downloads the latest Control Panel configured for this chumby, typically to /tmp

enable_intro

Enable the intro screen.

reboot_normal.sh

Reboots the Chumby -- gracefully

Daemons and housekeeping

flashplayer_watchdog

Script that watches for flashplayer hangs or exits?

headphone_manager

Daemon responsible for disabling internal speakers when external headphones/speaker is plugged in

log-rollover

Script to roll over /var/log/messages

Usually invoked from crontab:

50 2,6,10,14,18,22 * * * /usr/chumby/scripts/log-rollover

mkdevs

Simple script to automatically populate a /dev directory.

Mountmon scripts

See mountmon.conf for list of environment variables available on input
and required output values

mountmon_utils.sh

Utility functions used by mountmon scripts

add.sh

"Add" event script for mountmon

mount.sh

Mount event script for mountmon

remove.sh

Remove event script for mountmon

umount.sh

Unmount event script for mountmon

network_status.sh

Polls the status of the network interface and outputs XML to /tmp/chumby/network_status.xml

sync_time.sh

Synchronize clock with network time server

  • Called by sync_time_state.sh

sync_time_state.sh

Set or read the sync_time_state from /psp/use_ntp

time_zone.sh

update.sh

Autoupdate script

Linux stuff

script_locations.sh

Set default script directory locations (environment variable)

service_control

Service control wrapper script

Usage:
service_control service_name action [args]
This just gets the ETC_INIT_DIR value from script_locations.sh then invokes
${ETC_INIT_DIR}/${service_name} action [args]

service_getpid

Get process id(s) of running service

service_list

Get list of running services

Chumby Actions

start_control_panel

Responsible for starting the control panel in the correct mode

This is a pretty elaborate script. It checks for Control Panel updates on the network and USB drives. It checks and restarts the music player as needed, erases the display (manually!), and then starts the Control Panel flash applet.

It would be nice if we could replace this script with custom functionality in-place, but since it's on a read-only path, we can't. The Flash Applet can easily be replaced, however, by altering /tmp/cp_path or by supplying a replacement on a USB drive (see Chumby tricks ).

Calling this script directly is not enough to safely start the Control Panel.

start_intro

start_network

Starts the network after the network config has been written

start_network.sh

symlink to start_network

start_opening_anim

start_sshd.sh

Start the SSH Daemon

stop_control_panel

Stop the control panel widget from playing

update_now.sh

Sets the paranoid boot flag to boot into autoupdate mode and force an immediate reboot.

fb_cgi.sh

Sets up the cgi scripts required to use a browser to see what's on the chumby screen, see Chumby_tricks#Using a browser to see what's on your chumby

Chumby state wait

wait_for_link

Wait for the (network?) interface to establish link before proceeding

wait_for_opening

Wait for opening animation to start.

wait_for_usb

Wait for the usb subsystem to finish loading before proceeding

Applications

These applications are in /usr/bin.

  • Note: Busybox tools are not included in this list.

amixer

aplay

Play an audio file in voc, wav, raw or au formats.

 # aplay <file>

Use aplay --help for more options.

arecord

Record some audio using Chumby's mic. Take care because the file gets longer easyly. Use example:

 # cd /tmp
 # arecord -f cd test.wav

To play, use aplay. See arecord --help for more options.

btplay

Explained at Controlling BTplay

chumbhowld

This is an HTTP daemon listening on port 8082, and presents an XML response showing the services on the LAN advertising presence using zeroconf (aka Bonjour).

chumbipod

chumbipodd

Documented at Chumby as an iPod server.

chumbpipe

chumbpop

chumbradio

From the forum: "Require[s] an as-yet unreleased hardware accessory." [1]

chumbradiod

chumbyAuth

chumbyflashplayer.x

This is the Adobe Flash Lite 3 Player customized for the chumby

usage: /usr/bin/chumbyflashplayer.x -i <filename> [
  -m <32K memory blocks (384 = 12mb)>
  -x [X] <pixels (240)>
  -y [X] <pixels (320)>
  -s [X] <stride (x*2)>
  -n [X] <sound buffers {4..32} (16)>
  -b <samples/buffer (512)>
  -p [X] <sample rate {5000|11025|22050|44100|8000|16000} (44100)>
  -e [X] <channels {1|2} (2)>
  -k [X] <bytes/channel {1|2} (2)>
  -r [X] (rotate)
  -q [X] <quality {0|1|2} (2)>
  -d name[=value]
  -o <network open debug level {0|1|2} (2)>
  -D [X] (disable screen updates)
  -A [X] (disable audio)
  -u <1K url cache blocks (4096)>
  -a <cache aggression level (5)>
  -S <cache stats write file>
  -I <cache stats write interval (60)>
  -L <message options (3)>
     message options may be a combination of
       1 write to stderr
       2 add timestamp prefix to stderr
       4 write to syslog
 -l <log mask (127)>
          bitmap of values allowed to be displayed
                1=errors, 2=warnings, 4=info, 8=trace, 16=debug,
                32=AS trace, 64=AS debug, 128=realtime debug
  -M [X] <master_widget>
  -E <cert_list_file>
  -f <frame buffer options {0|1|2} (2)>
  -H <http and malloc options (9)>
     bitmap of options for http:
       1 use curl, 2 report memory usage, 4 verbose memory reporting,
       8 throttle http connection for large transfers,
                16 use localhost as alias for filesystem root (unsafe!)
                64 use verbose mode in libcurl
          additional bits for malloc debugging:
                32 report failed malloc() attempts
  -P <preload widget (may repeat)>
  -U (do not load /usr/widgets/preload.swf)
  -T <timing stats file>
  -K <ts quadrant key mapping {0|1} (0)>
  -Y <minimum pump delay in ms (42)>
  -Z <maximum pump delay in ms (83)>
  -z (disregard existing instance)
  -X (turn on mcheck for heap debugging)
  -t <update timing collection run in seconds (0)>
  -R (backtick result display diagnostics)
  -N <asnative & ts debug flags (0)>
  -w <backtick long timeout (10)>
  -W <action when backtick long timeout reached (0=continue, 1=abort backtick, 2=exit flashplayer)>
  -F <signal to send running instance {SIGTERM=15, SIGHUP=1, SIGUSR1=10, SIGUSR2=12)>
  -g <global heap in mb (0)>
  -G <alternate cfg file or none>
  -j <cache manager options[:cache data dir] (0)>
     bitmap of options:
     1 write cache contents on -S stats file write
  -v (display version information)
  -h (print this message)
] ([X] marks development-only options)

Undocumented switch: -Q -- unknown functionality

Use chumbyflashplayer.x -F 15 to kill the running instance. (Watchdog will restart it.)

Using -z erases the previous instance pid file, so subsequent restarts do not need -z since the original instance has been "forgotten". Also, -F will no longer work for "forgotten" instances. Don't use -z unless you have heavily hacked the Chumby to support two running instances of flashplayer. Using -F15 to kill the running instance is effective even if the running instance of chumbyflashplayer.x is not responding to SIGINT / SIGTERM - it will resort to SIGKILL.

chumbyradio

chumbytorrent

A simple BitTorrent client. Execute without arguments for a list of options.

With the -m option, it can be used as a daemon.

chumbytorrent -m /psp/.torrent/

This is useful, for instance, in conjunction with a CGI script that allows you to upload .torrent files to /psp/.torrent using your web browser.

cpi

Usage : cpi [--help] | [-p] [-a] [-d] [-r]

Interface with Crypto Processor

Options:

   --help      Display this help screen

   -k <KEYID>  Use the specified key ID (default is 0)
   -r <FILE>   Read query XML from FILE (ignored if valid -i specified)
   -w <FILE>   Write result XML to FILE (ignored if valid -o specified)
   -i          Read query XML from stdin
   -o          Write result XML to stdout
   -p          Write putative ID of specified key index to stdout
   -a 

curl

See cURL.

dcid

eject

exportKeys

fbwrite

printf() to frame buffer console

gdbserver

Remote Server for the GNU Debugger

headphone_mgr

hexdump

Dump a file or pipe in hex

imgtool

Puts an image on the Chumby screen or captures the screen to an image file.

Try this to see how it works:

chumby:~# /usr/bin/imgtool --mode=draw /www/images/chumby_logo.png

This paints, by default, on the widgets framebuffer. If you want to paint on the control panel framebuffer use the option --fb=1. The --fb=0 option should paint in the widgets framebuffer.

Here's an example of capturing the screen to an image file

chumby:~# /usr/bin/imgtool --mode=cap /tmp/capture.jpg


Syntax: /usr/bin/imgtool [options] file
       where file is output (mode=cap) or - to write to stdout, or
       if mode==draw, a .jpg or .png image file to write to frame buffer
       and options are any of the following:

       --debug                 Increase verbosity
       --resize=n (64)         Resize options (draw mode only)
       --gamma=f (2.2)         Screen gamma (for png decode)
       --quality=pct (30)      JPEG capture quality (0-100)
       --fb=n (0)              Write to / read from frame buffer (0 or 1)
       --fmt={jpg,png} (jpg)   Format to write (if mode==cap)
       --mode={cap,draw} (draw) Capture frame buffer to file (cap)
                                       or draw image file to frame buffer
       --help                  Display this message
  • Note: PNG capture is not supported yet on the version I have.

Here's a neat trick. Put this in /psp/cgi-bin/image

#!/bin/sh

echo "Content-type: image/jpeg"
echo "Refresh: 5; #"
echo ""

/usr/bin/imgtool --mode=cap -

Now open "http://your-chumby-ip-address/cgi-bin/custom/image". You should see your Chumby screen there. And it refreshes!

memstress

mountmon

mp3.x

This is a command line tool that will recursively walk a directory to locate MP3 files, extract their ID3 tags, and return an XML representation of what it finds.

example:

# mp3.x mp3://usb
<mp3_masterlist generator="mp3.x" ver="0.20" dirs="0" files="1">
 <mp3 artistname="Sonny Rhodes" songname="Firefly Main Theme" genre="12" track="PP" album="" comment="" year="0" size="786560">mp3://usb/examples/firefly.mp3</mp3>
</mp3_masterlist>

openssl

Open SSL tool

perl

This is perl, v5.8.8 built for linux

scp

Secure copy

ssh

Secure shell (ssh to another machine)

switchwait

udevinfo

udevstart

udevtest

usb

wget

Get a file from the web