https://wiki.chumby.com/api.php?action=feedcontributions&user=Phord&feedformat=atomChumby Wiki - User contributions [en]2024-03-28T19:34:44ZUser contributionsMediaWiki 1.23.9//wiki.chumby.com/index.php?title=Chumby_device_settings_information_on_/procChumby device settings information on /proc2007-11-26T15:38:17Z<p>Phord: /* /proc/sys/sense1/dimlevel */</p>
<hr />
<div>=Device access=<br />
<br />
On Linux you can communicate with "device drivers" through the "/proc" filesystem. For example,<br />
chumby:~# cat /proc/cpuinfo<br />
Processor : ARM926EJ-Sid(wb) rev 4 (v5l)<br />
BogoMIPS : 174.89<br />
Features : swp half thumb fastmult edsp java<br />
CPU implementer : 0x41<br />
CPU architecture: 5TEJ<br />
etc.<br />
<br />
Note, most of these files will be migrating out of /proc in the future to /sys, so do not write code that expects these files to be present all the time.<br />
<br />
==/proc/sys==<br />
Here are some chumby-specific system driver files<br />
===/proc/sys/accel===<br />
====/proc/sys/accel/romBusy====<br />
====/proc/sys/accel/painThresh====<br />
====/proc/sys/accel/touchThresh====<br />
====/proc/sys/accel/dbg-error====<br />
====/proc/sys/accel/dbg-ioctl====<br />
====/proc/sys/accel/dbg-trace====<br />
<br />
===/proc/sys/timerx===<br />
====/proc/sys/timerx/dbg-error====<br />
====/proc/sys/timerx/dbg-ioctl====<br />
====/proc/sys/timerx/dbg-trace====<br />
<br />
===/proc/sys/sense1===<br />
====/proc/sys/sense1/resetSerial====<br />
====/proc/sys/sense1/debounce====<br />
====/proc/sys/sense1/hpin====<br />
<br />
Contains 1 if something is plugged into the audio-out (headphone) jack.<br />
<br />
====/proc/sys/sense1/BTvolts====<br />
====/proc/sys/sense1/DCvolts====<br />
====/proc/sys/sense1/dimlevel====<br />
*Full brightness (normal mode) with '''echo 0 > /proc/sys/sense1/dimlevel'''<br />
*Dim the screen (night mode) with '''echo 1 > /proc/sys/sense1/dimlevel'''<br />
*Screen off with '''echo 2 > /proc/sys/sense1/dimlevel'''<br />
<br />
''This worked for me once, then it stopped. Don't know why. dimlevel does reflect the current dimlevel if I change it manually via the ControlPanel, however.''<br />
<br />
''Update: It works for me again. Did I do something wrong before?''<br />
<br />
====/proc/sys/sense1/spkmute====<br />
Speaker mute (master?)<br />
<br />
====/proc/sys/sense1/dbg-error====<br />
====/proc/sys/sense1/dbg-ioctl====<br />
====/proc/sys/sense1/dbg-trace====<br />
<br />
==/proc/chumby==<br />
Chumby has a special section just for Chumby-specific drivers. It's in /proc/chumby*<br />
<br />
===/proc/chumby/temperature===<br />
Appears to contain the most recent polled temperature values in raw format. <br />
<br />
Most recent values are at the head of the file.<br />
<br />
TODO: How to convert this to human readable values?<br />
<br />
===/proc/chumby/battery-voltage===<br />
Appears to contain the most recent polled battery voltage values in raw format. <br />
<br />
Most recent values are at the head of the file.<br />
<br />
TODO: How to convert this to human readable values?<br />
<br />
===/proc/chumby/tsc2100===<br />
===/proc/chumby/tsc2100/control5-page2===<br />
===/proc/chumby/tsc2100/control4-page2===<br />
===/proc/chumby/tsc2100/pll2-page2===<br />
===/proc/chumby/tsc2100/pll1-page2===<br />
===/proc/chumby/tsc2100/control3-page2===<br />
===/proc/chumby/tsc2100/powercon-page2===<br />
===/proc/chumby/tsc2100/control2-page2===<br />
===/proc/chumby/tsc2100/sidetone-page2===<br />
===/proc/chumby/tsc2100/audiodac-page2===<br />
===/proc/chumby/tsc2100/audioadc-page2===<br />
===/proc/chumby/tsc2100/control1-page2===<br />
===/proc/chumby/tsc2100/refctl-page1===<br />
===/proc/chumby/tsc2100/adc-page1===<br />
===/proc/chumby/tsc2100/registers===<br />
===/proc/chumby/audio===<br />
===/proc/chumby/audio/side-tone===<br />
===/proc/chumby/audio/side-tone/digital-gain===<br />
===/proc/chumby/audio/side-tone/digital-mute===<br />
===/proc/chumby/audio/side-tone/analog-gain===<br />
===/proc/chumby/audio/side-tone/analog-mute===<br />
===/proc/chumby/audio/mixer===<br />
===/proc/chumby/audio/mixer/both-speakers===<br />
===/proc/chumby/audio/mixer/both-speakers/volume===<br />
===/proc/chumby/audio/mixer/both-speakers/mute===<br />
===/proc/chumby/audio/mixer/right-speaker===<br />
===/proc/chumby/audio/mixer/right-speaker/volume===<br />
===/proc/chumby/audio/mixer/right-speaker/mute===<br />
===/proc/chumby/audio/mixer/left-speaker===<br />
===/proc/chumby/audio/mixer/left-speaker/volume===<br />
===/proc/chumby/audio/mixer/left-speaker/mute===<br />
===/proc/chumby/touchscreen===<br />
===/proc/chumby/touchscreen/touchclick===<br />
Contains 1 if touchscreen click is enabled.<br />
<br />
Contains 0 if touchscreen click is disabled.<br />
<br />
You can enable the touchscreen click by putting a 1 in this file:<br />
echo 1 > /proc/chumby/touchscreen/touchclick<br />
<br />
===/proc/chumby/touchscreen/poll-interval===<br />
<br />
===/proc/chumby/touchscreen/coordinates===<br />
Shows the most recent 29(?) touchscreen events.<br />
<br />
Most recent values are at the head of the file.<br />
<br />
This example shows the last two events once per second. Run this and then touch the screen to see it update.<br />
<br />
chumby:~# while [ 1 ] ; do head -2 /proc/chumby/touchscreen/coordinates ; sleep 1 ; done<br />
<br />
There appear to be two events logged in the coordinates file, pen-up and pen-down. <br />
<br />
* pen-up is logged when you stop touching the screen. Its coordinates are always 0.<br />
* pen-down is continuously logged when you are touching the screen. Its coordinates reflect the location you are touching on the screen (x,y) and the pressure applied (p). <br />
** P is LARGER for lighter touches. It seems to range from 0 - 10000 most of the time, but I have seen some values over 19,000.<br />
** Y coordinates range from about 167 to 3920 on my screen, left to right.<br />
** X coordinates range from about 220 to 3860 on my screen, bottom to top.<br />
<br />
chumby:~# head /proc/chumby/touchscreen/coordinates<br />
256: x=0 y=0 p=0 pen-up<br />
255: x=564 y=3763 p=6698 pen-down<br />
254: x=561 y=3768 p=6052 pen-down<br />
253: x=561 y=3757 p=5798 pen-down<br />
252: x=566 y=3760 p=5677 pen-down<br />
251: x=573 y=3761 p=5767 pen-down<br />
250: x=579 y=3757 p=5873 pen-down<br />
249: x=583 y=3762 p=6122 pen-down<br />
248: x=590 y=3761 p=6426 pen-down<br />
247: x=590 y=3752 p=6633 pen-down<br />
<br />
<br />
===/proc/chumby/touchscreen/enable===<br />
Contains 1 if touchscreen is enabled.<br />
<br />
Contains 0 if touchscreen is disabled.<br />
<br />
You can disable the touchscreen by putting a 0 in this file:<br />
echo 0 > /proc/chumby/touchscreen/enable<br />
<br />
==/proc/chumby-wifi==<br />
===/proc/chumby-wifi/network-status===<br />
===/proc/chumby-wifi/link-status===<br />
===/proc/chumby-wifi/regs===<br />
===/proc/chumby-wifi/bss-scantab===<br />
===/proc/chumby-wifi/mlme-aux===<br />
===/proc/chumby-wifi/mlme-struct===<br />
===/proc/chumby-wifi/dev-stats===<br />
===/proc/chumby-wifi/counters===<br />
===/proc/chumby-wifi/active-config===<br />
===/proc/chumby-wifi/port-config===<br />
===/proc/chumby-wifi/rtmp-adapter===<br />
===/proc/chumby-wifi/trace-buffer===<br />
===/proc/chumby-wifi/dbug-pages===<br />
===/proc/chumby-wifi/dbug-level===<br />
===/proc/chumby-wifi/RTDebugLevel===</div>Phord//wiki.chumby.com/index.php?title=Chumby_device_settings_information_on_/procChumby device settings information on /proc2007-11-19T19:16:32Z<p>Phord: /* /proc/sys/sense1/dimlevel */</p>
<hr />
<div>=Device access=<br />
<br />
On Linux you can communicate with "device drivers" through the "/proc" filesystem. For example,<br />
chumby:~# cat /proc/cpuinfo<br />
Processor : ARM926EJ-Sid(wb) rev 4 (v5l)<br />
BogoMIPS : 174.89<br />
Features : swp half thumb fastmult edsp java<br />
CPU implementer : 0x41<br />
CPU architecture: 5TEJ<br />
etc.<br />
<br />
==/proc/sys==<br />
Here are some chumby-specific system driver files<br />
===/proc/sys/accel===<br />
====/proc/sys/accel/romBusy====<br />
====/proc/sys/accel/painThresh====<br />
====/proc/sys/accel/touchThresh====<br />
====/proc/sys/accel/dbg-error====<br />
====/proc/sys/accel/dbg-ioctl====<br />
====/proc/sys/accel/dbg-trace====<br />
<br />
===/proc/sys/timerx===<br />
====/proc/sys/timerx/dbg-error====<br />
====/proc/sys/timerx/dbg-ioctl====<br />
====/proc/sys/timerx/dbg-trace====<br />
<br />
===/proc/sys/sense1===<br />
====/proc/sys/sense1/resetSerial====<br />
====/proc/sys/sense1/debounce====<br />
====/proc/sys/sense1/hpin====<br />
====/proc/sys/sense1/BTvolts====<br />
====/proc/sys/sense1/DCvolts====<br />
====/proc/sys/sense1/dimlevel====<br />
Dim the screen (night mode) with echo 1 > /proc/sys/sense1/dimlevel<br />
<br />
''This worked for me once, then it stopped. Don't know why. dimlevel does reflect the current dimlevel if I change it manually via the ControlPanel, however.''<br />
<br />
====/proc/sys/sense1/spkmute====<br />
Speaker mute (master?)<br />
<br />
====/proc/sys/sense1/dbg-error====<br />
====/proc/sys/sense1/dbg-ioctl====<br />
====/proc/sys/sense1/dbg-trace====<br />
<br />
==/proc/chumby==<br />
Chumby has a special section just for Chumby-specific drivers. It's in /proc/chumby*<br />
<br />
===/proc/chumby/temperature===<br />
Appears to contain the most recent polled temperature values in raw format. <br />
<br />
Most recent values are at the head of the file.<br />
<br />
TODO: How to convert this to human readable values?<br />
<br />
===/proc/chumby/battery-voltage===<br />
Appears to contain the most recent polled battery voltage values in raw format. <br />
<br />
Most recent values are at the head of the file.<br />
<br />
TODO: How to convert this to human readable values?<br />
<br />
===/proc/chumby/tsc2100===<br />
===/proc/chumby/tsc2100/control5-page2===<br />
===/proc/chumby/tsc2100/control4-page2===<br />
===/proc/chumby/tsc2100/pll2-page2===<br />
===/proc/chumby/tsc2100/pll1-page2===<br />
===/proc/chumby/tsc2100/control3-page2===<br />
===/proc/chumby/tsc2100/powercon-page2===<br />
===/proc/chumby/tsc2100/control2-page2===<br />
===/proc/chumby/tsc2100/sidetone-page2===<br />
===/proc/chumby/tsc2100/audiodac-page2===<br />
===/proc/chumby/tsc2100/audioadc-page2===<br />
===/proc/chumby/tsc2100/control1-page2===<br />
===/proc/chumby/tsc2100/refctl-page1===<br />
===/proc/chumby/tsc2100/adc-page1===<br />
===/proc/chumby/tsc2100/registers===<br />
===/proc/chumby/audio===<br />
===/proc/chumby/audio/side-tone===<br />
===/proc/chumby/audio/side-tone/digital-gain===<br />
===/proc/chumby/audio/side-tone/digital-mute===<br />
===/proc/chumby/audio/side-tone/analog-gain===<br />
===/proc/chumby/audio/side-tone/analog-mute===<br />
===/proc/chumby/audio/mixer===<br />
===/proc/chumby/audio/mixer/both-speakers===<br />
===/proc/chumby/audio/mixer/both-speakers/volume===<br />
===/proc/chumby/audio/mixer/both-speakers/mute===<br />
===/proc/chumby/audio/mixer/right-speaker===<br />
===/proc/chumby/audio/mixer/right-speaker/volume===<br />
===/proc/chumby/audio/mixer/right-speaker/mute===<br />
===/proc/chumby/audio/mixer/left-speaker===<br />
===/proc/chumby/audio/mixer/left-speaker/volume===<br />
===/proc/chumby/audio/mixer/left-speaker/mute===<br />
===/proc/chumby/touchscreen===<br />
===/proc/chumby/touchscreen/touchclick===<br />
Contains 1 if touchscreen click is enabled.<br />
<br />
Contains 0 if touchscreen click is disabled.<br />
<br />
You can enable the touchscreen click by putting a 1 in this file:<br />
echo 1 > /proc/chumby/touchscreen/touchclick<br />
<br />
===/proc/chumby/touchscreen/poll-interval===<br />
<br />
===/proc/chumby/touchscreen/coordinates===<br />
Shows the most recent 29(?) touchscreen events.<br />
<br />
Most recent values are at the head of the file.<br />
<br />
This example shows the last two events once per second. Run this and then touch the screen to see it update.<br />
<br />
chumby:~# while [ 1 ] ; do head -2 /proc/chumby/touchscreen/coordinates ; sleep 1 ; done<br />
<br />
There appear to be two events logged in the coordinates file, pen-up and pen-down. <br />
<br />
* pen-up is logged when you stop touching the screen. Its coordinates are always 0.<br />
* pen-down is continuously logged when you are touching the screen. Its coordinates reflect the location you are touching on the screen (x,y) and the pressure applied (p). <br />
** P is LARGER for lighter touches. It seems to range from 0 - 10000 most of the time, but I have seen some values over 19,000.<br />
** Y coordinates range from about 167 to 3920 on my screen, left to right.<br />
** X coordinates range from about 220 to 3860 on my screen, bottom to top.<br />
<br />
chumby:~# head /proc/chumby/touchscreen/coordinates<br />
256: x=0 y=0 p=0 pen-up<br />
255: x=564 y=3763 p=6698 pen-down<br />
254: x=561 y=3768 p=6052 pen-down<br />
253: x=561 y=3757 p=5798 pen-down<br />
252: x=566 y=3760 p=5677 pen-down<br />
251: x=573 y=3761 p=5767 pen-down<br />
250: x=579 y=3757 p=5873 pen-down<br />
249: x=583 y=3762 p=6122 pen-down<br />
248: x=590 y=3761 p=6426 pen-down<br />
247: x=590 y=3752 p=6633 pen-down<br />
<br />
<br />
===/proc/chumby/touchscreen/enable===<br />
Contains 1 if touchscreen is enabled.<br />
<br />
Contains 0 if touchscreen is disabled.<br />
<br />
You can disable the touchscreen by putting a 0 in this file:<br />
echo 0 > /proc/chumby/touchscreen/enable<br />
<br />
==/proc/chumby-wifi==<br />
===/proc/chumby-wifi/network-status===<br />
===/proc/chumby-wifi/link-status===<br />
===/proc/chumby-wifi/regs===<br />
===/proc/chumby-wifi/bss-scantab===<br />
===/proc/chumby-wifi/mlme-aux===<br />
===/proc/chumby-wifi/mlme-struct===<br />
===/proc/chumby-wifi/dev-stats===<br />
===/proc/chumby-wifi/counters===<br />
===/proc/chumby-wifi/active-config===<br />
===/proc/chumby-wifi/port-config===<br />
===/proc/chumby-wifi/rtmp-adapter===<br />
===/proc/chumby-wifi/trace-buffer===<br />
===/proc/chumby-wifi/dbug-pages===<br />
===/proc/chumby-wifi/dbug-level===<br />
===/proc/chumby-wifi/RTDebugLevel===</div>Phord//wiki.chumby.com/index.php?title=Chumby_device_settings_information_on_/procChumby device settings information on /proc2007-11-19T16:32:08Z<p>Phord: /* /proc/sys/sense1/dimlevel */</p>
<hr />
<div>=Device access=<br />
<br />
On Linux you can communicate with "device drivers" through the "/proc" filesystem. For example,<br />
chumby:~# cat /proc/cpuinfo<br />
Processor : ARM926EJ-Sid(wb) rev 4 (v5l)<br />
BogoMIPS : 174.89<br />
Features : swp half thumb fastmult edsp java<br />
CPU implementer : 0x41<br />
CPU architecture: 5TEJ<br />
etc.<br />
<br />
==/proc/sys==<br />
Here are some chumby-specific system driver files<br />
===/proc/sys/accel===<br />
====/proc/sys/accel/romBusy====<br />
====/proc/sys/accel/painThresh====<br />
====/proc/sys/accel/touchThresh====<br />
====/proc/sys/accel/dbg-error====<br />
====/proc/sys/accel/dbg-ioctl====<br />
====/proc/sys/accel/dbg-trace====<br />
<br />
===/proc/sys/timerx===<br />
====/proc/sys/timerx/dbg-error====<br />
====/proc/sys/timerx/dbg-ioctl====<br />
====/proc/sys/timerx/dbg-trace====<br />
<br />
===/proc/sys/sense1===<br />
====/proc/sys/sense1/resetSerial====<br />
====/proc/sys/sense1/debounce====<br />
====/proc/sys/sense1/hpin====<br />
====/proc/sys/sense1/BTvolts====<br />
====/proc/sys/sense1/DCvolts====<br />
====/proc/sys/sense1/dimlevel====<br />
Dim the screen (night mode) with echo 1 > /proc/sys/sense1/dimlevel<br />
<br />
''This worked for me once, then it stopped. Don't know why.''<br />
<br />
====/proc/sys/sense1/spkmute====<br />
Speaker mute (master?)<br />
<br />
====/proc/sys/sense1/dbg-error====<br />
====/proc/sys/sense1/dbg-ioctl====<br />
====/proc/sys/sense1/dbg-trace====<br />
<br />
==/proc/chumby==<br />
Chumby has a special section just for Chumby-specific drivers. It's in /proc/chumby*<br />
<br />
===/proc/chumby/temperature===<br />
Appears to contain the most recent polled temperature values in raw format. <br />
<br />
Most recent values are at the head of the file.<br />
<br />
TODO: How to convert this to human readable values?<br />
<br />
===/proc/chumby/battery-voltage===<br />
Appears to contain the most recent polled battery voltage values in raw format. <br />
<br />
Most recent values are at the head of the file.<br />
<br />
TODO: How to convert this to human readable values?<br />
<br />
===/proc/chumby/tsc2100===<br />
===/proc/chumby/tsc2100/control5-page2===<br />
===/proc/chumby/tsc2100/control4-page2===<br />
===/proc/chumby/tsc2100/pll2-page2===<br />
===/proc/chumby/tsc2100/pll1-page2===<br />
===/proc/chumby/tsc2100/control3-page2===<br />
===/proc/chumby/tsc2100/powercon-page2===<br />
===/proc/chumby/tsc2100/control2-page2===<br />
===/proc/chumby/tsc2100/sidetone-page2===<br />
===/proc/chumby/tsc2100/audiodac-page2===<br />
===/proc/chumby/tsc2100/audioadc-page2===<br />
===/proc/chumby/tsc2100/control1-page2===<br />
===/proc/chumby/tsc2100/refctl-page1===<br />
===/proc/chumby/tsc2100/adc-page1===<br />
===/proc/chumby/tsc2100/registers===<br />
===/proc/chumby/audio===<br />
===/proc/chumby/audio/side-tone===<br />
===/proc/chumby/audio/side-tone/digital-gain===<br />
===/proc/chumby/audio/side-tone/digital-mute===<br />
===/proc/chumby/audio/side-tone/analog-gain===<br />
===/proc/chumby/audio/side-tone/analog-mute===<br />
===/proc/chumby/audio/mixer===<br />
===/proc/chumby/audio/mixer/both-speakers===<br />
===/proc/chumby/audio/mixer/both-speakers/volume===<br />
===/proc/chumby/audio/mixer/both-speakers/mute===<br />
===/proc/chumby/audio/mixer/right-speaker===<br />
===/proc/chumby/audio/mixer/right-speaker/volume===<br />
===/proc/chumby/audio/mixer/right-speaker/mute===<br />
===/proc/chumby/audio/mixer/left-speaker===<br />
===/proc/chumby/audio/mixer/left-speaker/volume===<br />
===/proc/chumby/audio/mixer/left-speaker/mute===<br />
===/proc/chumby/touchscreen===<br />
===/proc/chumby/touchscreen/touchclick===<br />
Contains 1 if touchscreen click is enabled.<br />
<br />
Contains 0 if touchscreen click is disabled.<br />
<br />
You can enable the touchscreen click by putting a 1 in this file:<br />
echo 1 > /proc/chumby/touchscreen/touchclick<br />
<br />
===/proc/chumby/touchscreen/poll-interval===<br />
<br />
===/proc/chumby/touchscreen/coordinates===<br />
Shows the most recent 29(?) touchscreen events.<br />
<br />
Most recent values are at the head of the file.<br />
<br />
This example shows the last two events once per second. Run this and then touch the screen to see it update.<br />
<br />
chumby:~# while [ 1 ] ; do head -2 /proc/chumby/touchscreen/coordinates ; sleep 1 ; done<br />
<br />
There appear to be two events logged in the coordinates file, pen-up and pen-down. <br />
<br />
* pen-up is logged when you stop touching the screen. Its coordinates are always 0.<br />
* pen-down is continuously logged when you are touching the screen. Its coordinates reflect the location you are touching on the screen (x,y) and the pressure applied (p). <br />
** P is LARGER for lighter touches. It seems to range from 0 - 10000 most of the time, but I have seen some values over 19,000.<br />
** Y coordinates range from about 167 to 3920 on my screen, left to right.<br />
** X coordinates range from about 220 to 3860 on my screen, bottom to top.<br />
<br />
chumby:~# head /proc/chumby/touchscreen/coordinates<br />
256: x=0 y=0 p=0 pen-up<br />
255: x=564 y=3763 p=6698 pen-down<br />
254: x=561 y=3768 p=6052 pen-down<br />
253: x=561 y=3757 p=5798 pen-down<br />
252: x=566 y=3760 p=5677 pen-down<br />
251: x=573 y=3761 p=5767 pen-down<br />
250: x=579 y=3757 p=5873 pen-down<br />
249: x=583 y=3762 p=6122 pen-down<br />
248: x=590 y=3761 p=6426 pen-down<br />
247: x=590 y=3752 p=6633 pen-down<br />
<br />
<br />
===/proc/chumby/touchscreen/enable===<br />
Contains 1 if touchscreen is enabled.<br />
<br />
Contains 0 if touchscreen is disabled.<br />
<br />
You can disable the touchscreen by putting a 0 in this file:<br />
echo 0 > /proc/chumby/touchscreen/enable<br />
<br />
==/proc/chumby-wifi==<br />
===/proc/chumby-wifi/network-status===<br />
===/proc/chumby-wifi/link-status===<br />
===/proc/chumby-wifi/regs===<br />
===/proc/chumby-wifi/bss-scantab===<br />
===/proc/chumby-wifi/mlme-aux===<br />
===/proc/chumby-wifi/mlme-struct===<br />
===/proc/chumby-wifi/dev-stats===<br />
===/proc/chumby-wifi/counters===<br />
===/proc/chumby-wifi/active-config===<br />
===/proc/chumby-wifi/port-config===<br />
===/proc/chumby-wifi/rtmp-adapter===<br />
===/proc/chumby-wifi/trace-buffer===<br />
===/proc/chumby-wifi/dbug-pages===<br />
===/proc/chumby-wifi/dbug-level===<br />
===/proc/chumby-wifi/RTDebugLevel===</div>Phord//wiki.chumby.com/index.php?title=Chumby_device_settings_information_on_/procChumby device settings information on /proc2007-11-19T16:27:52Z<p>Phord: </p>
<hr />
<div>=Device access=<br />
<br />
On Linux you can communicate with "device drivers" through the "/proc" filesystem. For example,<br />
chumby:~# cat /proc/cpuinfo<br />
Processor : ARM926EJ-Sid(wb) rev 4 (v5l)<br />
BogoMIPS : 174.89<br />
Features : swp half thumb fastmult edsp java<br />
CPU implementer : 0x41<br />
CPU architecture: 5TEJ<br />
etc.<br />
<br />
==/proc/sys==<br />
Here are some chumby-specific system driver files<br />
===/proc/sys/accel===<br />
====/proc/sys/accel/romBusy====<br />
====/proc/sys/accel/painThresh====<br />
====/proc/sys/accel/touchThresh====<br />
====/proc/sys/accel/dbg-error====<br />
====/proc/sys/accel/dbg-ioctl====<br />
====/proc/sys/accel/dbg-trace====<br />
<br />
===/proc/sys/timerx===<br />
====/proc/sys/timerx/dbg-error====<br />
====/proc/sys/timerx/dbg-ioctl====<br />
====/proc/sys/timerx/dbg-trace====<br />
<br />
===/proc/sys/sense1===<br />
====/proc/sys/sense1/resetSerial====<br />
====/proc/sys/sense1/debounce====<br />
====/proc/sys/sense1/hpin====<br />
====/proc/sys/sense1/BTvolts====<br />
====/proc/sys/sense1/DCvolts====<br />
====/proc/sys/sense1/dimlevel====<br />
Dim the screen (night mode) with echo 1 > /proc/sys/sense1/dimlevel<br />
<br />
====/proc/sys/sense1/spkmute====<br />
Speaker mute (master?)<br />
<br />
====/proc/sys/sense1/dbg-error====<br />
====/proc/sys/sense1/dbg-ioctl====<br />
====/proc/sys/sense1/dbg-trace====<br />
<br />
==/proc/chumby==<br />
Chumby has a special section just for Chumby-specific drivers. It's in /proc/chumby*<br />
<br />
===/proc/chumby/temperature===<br />
Appears to contain the most recent polled temperature values in raw format. <br />
<br />
Most recent values are at the head of the file.<br />
<br />
TODO: How to convert this to human readable values?<br />
<br />
===/proc/chumby/battery-voltage===<br />
Appears to contain the most recent polled battery voltage values in raw format. <br />
<br />
Most recent values are at the head of the file.<br />
<br />
TODO: How to convert this to human readable values?<br />
<br />
===/proc/chumby/tsc2100===<br />
===/proc/chumby/tsc2100/control5-page2===<br />
===/proc/chumby/tsc2100/control4-page2===<br />
===/proc/chumby/tsc2100/pll2-page2===<br />
===/proc/chumby/tsc2100/pll1-page2===<br />
===/proc/chumby/tsc2100/control3-page2===<br />
===/proc/chumby/tsc2100/powercon-page2===<br />
===/proc/chumby/tsc2100/control2-page2===<br />
===/proc/chumby/tsc2100/sidetone-page2===<br />
===/proc/chumby/tsc2100/audiodac-page2===<br />
===/proc/chumby/tsc2100/audioadc-page2===<br />
===/proc/chumby/tsc2100/control1-page2===<br />
===/proc/chumby/tsc2100/refctl-page1===<br />
===/proc/chumby/tsc2100/adc-page1===<br />
===/proc/chumby/tsc2100/registers===<br />
===/proc/chumby/audio===<br />
===/proc/chumby/audio/side-tone===<br />
===/proc/chumby/audio/side-tone/digital-gain===<br />
===/proc/chumby/audio/side-tone/digital-mute===<br />
===/proc/chumby/audio/side-tone/analog-gain===<br />
===/proc/chumby/audio/side-tone/analog-mute===<br />
===/proc/chumby/audio/mixer===<br />
===/proc/chumby/audio/mixer/both-speakers===<br />
===/proc/chumby/audio/mixer/both-speakers/volume===<br />
===/proc/chumby/audio/mixer/both-speakers/mute===<br />
===/proc/chumby/audio/mixer/right-speaker===<br />
===/proc/chumby/audio/mixer/right-speaker/volume===<br />
===/proc/chumby/audio/mixer/right-speaker/mute===<br />
===/proc/chumby/audio/mixer/left-speaker===<br />
===/proc/chumby/audio/mixer/left-speaker/volume===<br />
===/proc/chumby/audio/mixer/left-speaker/mute===<br />
===/proc/chumby/touchscreen===<br />
===/proc/chumby/touchscreen/touchclick===<br />
Contains 1 if touchscreen click is enabled.<br />
<br />
Contains 0 if touchscreen click is disabled.<br />
<br />
You can enable the touchscreen click by putting a 1 in this file:<br />
echo 1 > /proc/chumby/touchscreen/touchclick<br />
<br />
===/proc/chumby/touchscreen/poll-interval===<br />
<br />
===/proc/chumby/touchscreen/coordinates===<br />
Shows the most recent 29(?) touchscreen events.<br />
<br />
Most recent values are at the head of the file.<br />
<br />
This example shows the last two events once per second. Run this and then touch the screen to see it update.<br />
<br />
chumby:~# while [ 1 ] ; do head -2 /proc/chumby/touchscreen/coordinates ; sleep 1 ; done<br />
<br />
There appear to be two events logged in the coordinates file, pen-up and pen-down. <br />
<br />
* pen-up is logged when you stop touching the screen. Its coordinates are always 0.<br />
* pen-down is continuously logged when you are touching the screen. Its coordinates reflect the location you are touching on the screen (x,y) and the pressure applied (p). <br />
** P is LARGER for lighter touches. It seems to range from 0 - 10000 most of the time, but I have seen some values over 19,000.<br />
** Y coordinates range from about 167 to 3920 on my screen, left to right.<br />
** X coordinates range from about 220 to 3860 on my screen, bottom to top.<br />
<br />
chumby:~# head /proc/chumby/touchscreen/coordinates<br />
256: x=0 y=0 p=0 pen-up<br />
255: x=564 y=3763 p=6698 pen-down<br />
254: x=561 y=3768 p=6052 pen-down<br />
253: x=561 y=3757 p=5798 pen-down<br />
252: x=566 y=3760 p=5677 pen-down<br />
251: x=573 y=3761 p=5767 pen-down<br />
250: x=579 y=3757 p=5873 pen-down<br />
249: x=583 y=3762 p=6122 pen-down<br />
248: x=590 y=3761 p=6426 pen-down<br />
247: x=590 y=3752 p=6633 pen-down<br />
<br />
<br />
===/proc/chumby/touchscreen/enable===<br />
Contains 1 if touchscreen is enabled.<br />
<br />
Contains 0 if touchscreen is disabled.<br />
<br />
You can disable the touchscreen by putting a 0 in this file:<br />
echo 0 > /proc/chumby/touchscreen/enable<br />
<br />
==/proc/chumby-wifi==<br />
===/proc/chumby-wifi/network-status===<br />
===/proc/chumby-wifi/link-status===<br />
===/proc/chumby-wifi/regs===<br />
===/proc/chumby-wifi/bss-scantab===<br />
===/proc/chumby-wifi/mlme-aux===<br />
===/proc/chumby-wifi/mlme-struct===<br />
===/proc/chumby-wifi/dev-stats===<br />
===/proc/chumby-wifi/counters===<br />
===/proc/chumby-wifi/active-config===<br />
===/proc/chumby-wifi/port-config===<br />
===/proc/chumby-wifi/rtmp-adapter===<br />
===/proc/chumby-wifi/trace-buffer===<br />
===/proc/chumby-wifi/dbug-pages===<br />
===/proc/chumby-wifi/dbug-level===<br />
===/proc/chumby-wifi/RTDebugLevel===</div>Phord//wiki.chumby.com/index.php?title=Chumby_Software_Applications,_Scripts_and_ToolsChumby Software Applications, Scripts and Tools2007-11-19T16:10:34Z<p>Phord: /* chumbyflashplayer.x */</p>
<hr />
<div>This page is an attempt to document the various scripts and applications which come pre-installed on a stock Chumby distribution. <br />
<br />
=/proc=<br />
Another page has details on [[Chumby device settings information on /proc]]<br />
<br />
=Scripts=<br />
All of these scripts are found in /usr/chumby/scripts/<br />
<br />
==Chumby inputs and outputs==<br />
<br />
===ap_scan===<br />
ap_scan - Scans for wireless networks and outputs XML.<br />
If '''/tmp/hidden_ssid''' exists, the script will<br />
switch the SSID of the wireless interface to the<br />
SSID defined in '''/tmp/hidden_ssid''' before initiating<br />
the scan. If the interface was configured with a<br />
different SSID prior to a wireless scan that read<br />
from '''/tmp/hidden_ssid''', the script will restore the<br />
original SSID when the scan has completed.<br />
<br />
===chumby_set_mute===<br />
<br />
Set the "mute" volume of the Chumby. Mute affects the Chumby speaker<br />
but not the headphones. ''Is this correct?''<br />
<br />
===chumby_set_pan===<br />
<br />
Set the "balance" level of the Chumby. ''Is this correct?''<br />
<br />
===chumby_set_volume===<br />
<br />
Set the master volume of the Chumby. <br />
<br />
==Chumby Info==<br />
===get_voltage.sh===<br />
<br />
With no arguments, reports raw values from /proc/chumby/battery-voltage<br />
If battery or line is specified, gets specified value and converts<br />
to approximate voltage.<br />
<br />
===log-rollover-enable===<br />
Enable log-rollover in crontab<br />
<br />
===macgen.sh===<br />
Outputs wireless NIC hardware address<br />
<br />
===guidgen.sh===<br />
<br />
Extracts chumby putative ID from crypto processor<br />
<br />
===network_running.sh===<br />
Determines whether the network is running<br />
<br />
==Chumby Settings==<br />
<br />
===chumby_version===<br />
<br />
Displays the software, firmware and hardware versions<br />
<br />
syntax: /usr/chumby/scripts/chumby_version [-s -f -h -n -t --rfs1 --rfs2]<br />
-s - display software version<br />
-f - display firmware build number<br />
-h - display hardware version number<br />
-n - display hardware serial number<br />
-t - display hardware time since last crypto processor power cycle<br />
--rfs1 - display RFS1 md5sum<br />
--rfs2 - display RFS2 md5sum<br />
<br />
===disable_intro===<br />
<br />
Disable the intro screen.<br />
<br />
===download_cp===<br />
<br />
Downloads the latest Control Panel configured for this chumby, typically to /tmp<br />
<br />
===enable_intro===<br />
<br />
Enable the intro screen.<br />
<br />
===reboot_normal.sh===<br />
<br />
Reboots the Chumby -- gracefully<br />
<br />
==Daemons and housekeeping==<br />
<br />
===flashplayer_watchdog===<br />
<br />
Script that watches for flashplayer hangs or exits?<br />
<br />
===headphone_manager===<br />
<br />
Daemon responsible for disabling internal speakers when external headphones/speaker is plugged in<br />
<br />
===log-rollover===<br />
<br />
Script to roll over /var/log/messages<br />
<br />
Usually invoked from crontab:<br />
50 2,6,10,14,18,22 * * * /usr/chumby/scripts/log-rollover<br />
<br />
===mkdevs===<br />
Simple script to automatically populate a /dev directory.<br />
<br />
===Mountmon scripts===<br />
See mountmon.conf for list of environment variables available on input<br />
and required output values<br />
====mountmon_utils.sh====<br />
Utility functions used by mountmon scripts<br />
====add.sh====<br />
"Add" event script for mountmon<br />
====mount.sh====<br />
Mount event script for mountmon<br />
====remove.sh====<br />
Remove event script for mountmon<br />
====umount.sh====<br />
Unmount event script for mountmon<br />
<br />
===network_status.sh===<br />
Polls the status of the network interface and outputs XML to /tmp/chumby/network_status.xml<br />
<br />
===sync_time.sh===<br />
<br />
Synchronize clock with network time server<br />
<br />
* Called by sync_time_state.sh<br />
<br />
===sync_time_state.sh===<br />
<br />
Set or read the sync_time_state from '''/psp/use_ntp''' <br />
<br />
===time_zone.sh===<br />
<br />
===update.sh===<br />
Autoupdate script<br />
<br />
==Linux stuff==<br />
<br />
===script_locations.sh===<br />
Set default script directory locations (environment variable)<br />
<br />
===service_control===<br />
Service control wrapper script<br />
Usage:<br />
service_control service_name action [args]<br />
<br />
This just gets the ETC_INIT_DIR value from script_locations.sh then invokes<br />
${ETC_INIT_DIR}/${service_name} action [args]<br />
<br />
===service_getpid===<br />
Get process id(s) of running service<br />
<br />
===service_list===<br />
Get list of running services<br />
<br />
==Chumby Actions==<br />
<br />
===start_control_panel===<br />
Responsible for starting the control panel in the correct mode<br />
<br />
This is a pretty elaborate script. It checks for Control Panel updates on the<br />
network and USB drives. It checks and restarts the music player as needed, erases the<br />
display (manually!), and then starts the Control Panel flash applet.<br />
<br />
It would be nice if we could replace this script with custom functionality in-place,<br />
but since it's on a read-only path, we can't. The Flash Applet can easily be replaced,<br />
however, by altering /tmp/cp_path or by supplying a replacement on a USB drive (see [[Chumby tricks ]]).<br />
<br />
Calling this script directly is not enough to safely start the Control Panel.<br />
<br />
===start_intro===<br />
<br />
===start_network===<br />
Starts the network after the network config has been written<br />
<br />
===start_network.sh===<br />
symlink to start_network<br />
<br />
===start_opening_anim===<br />
<br />
===start_sshd.sh===<br />
Start the SSH Daemon<br />
<br />
===stop_control_panel===<br />
<br />
Stop the control panel widget from playing<br />
<br />
===update_now.sh===<br />
Sets the paranoid boot flag to boot into<br />
autoupdate mode and force an immediate reboot.<br />
<br />
==Chumby state wait==<br />
<br />
===wait_for_link===<br />
Wait for the (network?) interface to establish link before proceeding<br />
<br />
===wait_for_opening===<br />
<br />
Wait for opening animation to start.<br />
<br />
===wait_for_usb===<br />
Wait for the usb subsystem to finish loading before proceeding<br />
<br />
=Applications=<br />
These applications are in /usr/bin. <br />
* Note: Busybox tools are not included in this list.<br />
<br />
==amixer==<br />
==aplay==<br />
==arecord==<br />
==btplay==<br />
==chumbhowld==<br />
==chumbipod==<br />
==chumbipodd==<br />
<br />
Documented at [[Chumby as an iPod server]].<br />
<br />
==chumbpipe==<br />
==chumbpop==<br />
==chumbradio==<br />
From the forum: "Require[s] an as-yet unreleased hardware accessory."<br />
[http://forum.chumby.com/viewtopic.php?pid=4268]<br />
<br />
==chumbradiod==<br />
==chumbyAuth==<br />
==chumby_set_volume==<br />
==chumbyflashplayer.x==<br />
<br />
This is the Adobe Flash Lite 3 Player customized for the chumby<br />
<br />
usage: /usr/bin/chumbyflashplayer.x -i <filename> [<br />
-m <32K memory blocks (384 = 12mb)><br />
-x [X] <pixels (240)><br />
-y [X] <pixels (320)><br />
-s [X] <stride (x*2)><br />
-n [X] <sound buffers {4..32} (16)><br />
-b <samples/buffer (512)><br />
-p [X] <sample rate {5000|11025|22050|44100|8000|16000} (44100)><br />
-e [X] <channels {1|2} (2)><br />
-k [X] <bytes/channel {1|2} (2)><br />
-r [X] (rotate)<br />
-q [X] <quality {0|1|2} (2)><br />
-d name[=value]<br />
-o <network open debug level {0|1|2} (2)><br />
-D [X] (disable screen updates)<br />
-A [X] (disable audio)<br />
-u <1K url cache blocks (4096)><br />
-a <cache aggression level (5)><br />
-S <cache stats write file><br />
-I <cache stats write interval (60)><br />
-L <message options (3)><br />
message options may be a combination of<br />
1 write to stderr<br />
2 add timestamp prefix to stderr<br />
4 write to syslog<br />
-l <log mask (127)><br />
bitmap of values allowed to be displayed<br />
1=errors, 2=warnings, 4=info, 8=trace, 16=debug,<br />
32=AS trace, 64=AS debug, 128=realtime debug<br />
-M [X] <master_widget><br />
-E <cert_list_file><br />
-f <frame buffer options {0|1|2} (2)><br />
-H <http and malloc options (9)><br />
bitmap of options for http:<br />
1 use curl, 2 report memory usage, 4 verbose memory reporting,<br />
8 throttle http connection for large transfers,<br />
16 use localhost as alias for filesystem root (unsafe!)<br />
64 use verbose mode in libcurl<br />
additional bits for malloc debugging:<br />
32 report failed malloc() attempts<br />
-P <preload widget (may repeat)><br />
-U (do not load /usr/widgets/preload.swf)<br />
-T <timing stats file><br />
-K <ts quadrant key mapping {0|1} (0)><br />
-Y <minimum pump delay in ms (42)><br />
-Z <maximum pump delay in ms (83)><br />
-z (disregard existing instance)<br />
-X (turn on mcheck for heap debugging)<br />
-t <update timing collection run in seconds (0)><br />
-R (backtick result display diagnostics)<br />
-N <asnative & ts debug flags (0)><br />
-w <backtick long timeout (10)><br />
-W <action when backtick long timeout reached (0=continue, 1=abort backtick, 2=exit flashplayer)><br />
-F <signal to send running instance {SIGTERM=15, SIGHUP=1, SIGUSR1=10, SIGUSR2=12)><br />
-g <global heap in mb (0)><br />
-G <alternate cfg file or none><br />
-j <cache manager options[:cache data dir] (0)><br />
bitmap of options:<br />
1 write cache contents on -S stats file write<br />
-v (display version information)<br />
-h (print this message)<br />
] ([X] marks development-only options)<br />
<br />
Undocumented switch: -Q -- unknown functionality<br />
<br />
Use '''chumbyflashplayer.x -F 15''' to kill the running instance. (Watchdog will restart it.)<br />
<br />
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.<br />
<br />
==chumbyradio==<br />
==chumbytorrent==<br />
==cpi==<br />
Usage : cpi [--help] | [-p] [-a] [-d] [-r]<br />
<br />
Interface with Crypto Processor<br />
<br />
Options:<br />
<br />
--help Display this help screen<br />
<br />
-k <KEYID> Use the specified key ID (default is 0)<br />
-r <FILE> Read query XML from FILE (ignored if valid -i specified)<br />
-w <FILE> Write result XML to FILE (ignored if valid -o specified)<br />
-i Read query XML from stdin<br />
-o Write result XML to stdout<br />
-p Write putative ID of specified key index to stdout<br />
-a <TIME> Set alarm to go off TIME seconds from now<br />
-s Shutdown the chumby (will occur after all other options)<br />
-d Write all CP data to stdout<br />
<br />
==curl==<br />
==dcid==<br />
==eject==<br />
==exportKeys==<br />
==fbwrite==<br />
==gdbserver==<br />
==headphone_mgr==<br />
==hexdump==<br />
Dump a file or pipe in hex<br />
==imgtool==<br />
Puts an image on the Chumby screen or captures the screen to an image file.<br />
<br />
Try this to see how it works:<br />
chumby:~# /usr/bin/imgtool --mode=draw /www/images/chumby_logo.png<br />
<br />
Here's an example of capturing the screen to an image file<br />
chumby:~# /usr/bin/imgtool --mode=cap /tmp/capture.jpg<br />
<br />
<br />
Syntax: /usr/bin/imgtool [options] file<br />
where file is output (mode=cap) or - to write to stdout, or<br />
if mode==draw, a .jpg or .png image file to write to frame buffer<br />
and options are any of the following:<br />
<br />
--debug Increase verbosity<br />
--resize=n (64) Resize options (draw mode only)<br />
--gamma=f (2.2) Screen gamma (for png decode)<br />
--quality=pct (30) JPEG capture quality (0-100)<br />
--fb=n (0) Write to / read from frame buffer (0 or 1)<br />
--fmt={jpg,png} (jpg) Format to write (if mode==cap)<br />
--mode={cap,draw} (draw) Capture frame buffer to file (cap)<br />
or draw image file to frame buffer<br />
--help Display this message<br />
<br />
* Note: PNG capture is not supported yet on the version I have.<br />
<br />
Here's a neat trick. Put this in /psp/cgi-bin/image<br />
#!/bin/sh<br />
<br />
echo "Content-type: image/jpeg"<br />
echo "Refresh: 5; #"<br />
echo ""<br />
<br />
/usr/bin/imgtool --mode=cap -<br />
<br />
Now open "<nowiki>http://your-chumby-ip-address/cgi-bin/custom/image</nowiki>". You should see your Chumby screen there. And it refreshes!<br />
<br />
==memstress==<br />
==mountmon==<br />
==mp3.x==<br />
==openssl==<br />
Open SSL tool<br />
==perl==<br />
<br />
This is perl, v5.8.8 built for linux<br />
<br />
==scp==<br />
Secure copy<br />
==ssh==<br />
Secure shell (ssh to another machine)<br />
<br />
==switchwait==<br />
==udevinfo==<br />
==udevstart==<br />
==udevtest==<br />
==usb==<br />
==wget==<br />
Get a file from the web</div>Phord//wiki.chumby.com/index.php?title=Chumby_Software_Applications,_Scripts_and_ToolsChumby Software Applications, Scripts and Tools2007-11-19T15:58:28Z<p>Phord: </p>
<hr />
<div>This page is an attempt to document the various scripts and applications which come pre-installed on a stock Chumby distribution. <br />
<br />
=/proc=<br />
Another page has details on [[Chumby device settings information on /proc]]<br />
<br />
=Scripts=<br />
All of these scripts are found in /usr/chumby/scripts/<br />
<br />
==Chumby inputs and outputs==<br />
<br />
===ap_scan===<br />
ap_scan - Scans for wireless networks and outputs XML.<br />
If '''/tmp/hidden_ssid''' exists, the script will<br />
switch the SSID of the wireless interface to the<br />
SSID defined in '''/tmp/hidden_ssid''' before initiating<br />
the scan. If the interface was configured with a<br />
different SSID prior to a wireless scan that read<br />
from '''/tmp/hidden_ssid''', the script will restore the<br />
original SSID when the scan has completed.<br />
<br />
===chumby_set_mute===<br />
<br />
Set the "mute" volume of the Chumby. Mute affects the Chumby speaker<br />
but not the headphones. ''Is this correct?''<br />
<br />
===chumby_set_pan===<br />
<br />
Set the "balance" level of the Chumby. ''Is this correct?''<br />
<br />
===chumby_set_volume===<br />
<br />
Set the master volume of the Chumby. <br />
<br />
==Chumby Info==<br />
===get_voltage.sh===<br />
<br />
With no arguments, reports raw values from /proc/chumby/battery-voltage<br />
If battery or line is specified, gets specified value and converts<br />
to approximate voltage.<br />
<br />
===log-rollover-enable===<br />
Enable log-rollover in crontab<br />
<br />
===macgen.sh===<br />
Outputs wireless NIC hardware address<br />
<br />
===guidgen.sh===<br />
<br />
Extracts chumby putative ID from crypto processor<br />
<br />
===network_running.sh===<br />
Determines whether the network is running<br />
<br />
==Chumby Settings==<br />
<br />
===chumby_version===<br />
<br />
Displays the software, firmware and hardware versions<br />
<br />
syntax: /usr/chumby/scripts/chumby_version [-s -f -h -n -t --rfs1 --rfs2]<br />
-s - display software version<br />
-f - display firmware build number<br />
-h - display hardware version number<br />
-n - display hardware serial number<br />
-t - display hardware time since last crypto processor power cycle<br />
--rfs1 - display RFS1 md5sum<br />
--rfs2 - display RFS2 md5sum<br />
<br />
===disable_intro===<br />
<br />
Disable the intro screen.<br />
<br />
===download_cp===<br />
<br />
Downloads the latest Control Panel configured for this chumby, typically to /tmp<br />
<br />
===enable_intro===<br />
<br />
Enable the intro screen.<br />
<br />
===reboot_normal.sh===<br />
<br />
Reboots the Chumby -- gracefully<br />
<br />
==Daemons and housekeeping==<br />
<br />
===flashplayer_watchdog===<br />
<br />
Script that watches for flashplayer hangs or exits?<br />
<br />
===headphone_manager===<br />
<br />
Daemon responsible for disabling internal speakers when external headphones/speaker is plugged in<br />
<br />
===log-rollover===<br />
<br />
Script to roll over /var/log/messages<br />
<br />
Usually invoked from crontab:<br />
50 2,6,10,14,18,22 * * * /usr/chumby/scripts/log-rollover<br />
<br />
===mkdevs===<br />
Simple script to automatically populate a /dev directory.<br />
<br />
===Mountmon scripts===<br />
See mountmon.conf for list of environment variables available on input<br />
and required output values<br />
====mountmon_utils.sh====<br />
Utility functions used by mountmon scripts<br />
====add.sh====<br />
"Add" event script for mountmon<br />
====mount.sh====<br />
Mount event script for mountmon<br />
====remove.sh====<br />
Remove event script for mountmon<br />
====umount.sh====<br />
Unmount event script for mountmon<br />
<br />
===network_status.sh===<br />
Polls the status of the network interface and outputs XML to /tmp/chumby/network_status.xml<br />
<br />
===sync_time.sh===<br />
<br />
Synchronize clock with network time server<br />
<br />
* Called by sync_time_state.sh<br />
<br />
===sync_time_state.sh===<br />
<br />
Set or read the sync_time_state from '''/psp/use_ntp''' <br />
<br />
===time_zone.sh===<br />
<br />
===update.sh===<br />
Autoupdate script<br />
<br />
==Linux stuff==<br />
<br />
===script_locations.sh===<br />
Set default script directory locations (environment variable)<br />
<br />
===service_control===<br />
Service control wrapper script<br />
Usage:<br />
service_control service_name action [args]<br />
<br />
This just gets the ETC_INIT_DIR value from script_locations.sh then invokes<br />
${ETC_INIT_DIR}/${service_name} action [args]<br />
<br />
===service_getpid===<br />
Get process id(s) of running service<br />
<br />
===service_list===<br />
Get list of running services<br />
<br />
==Chumby Actions==<br />
<br />
===start_control_panel===<br />
Responsible for starting the control panel in the correct mode<br />
<br />
This is a pretty elaborate script. It checks for Control Panel updates on the<br />
network and USB drives. It checks and restarts the music player as needed, erases the<br />
display (manually!), and then starts the Control Panel flash applet.<br />
<br />
It would be nice if we could replace this script with custom functionality in-place,<br />
but since it's on a read-only path, we can't. The Flash Applet can easily be replaced,<br />
however, by altering /tmp/cp_path or by supplying a replacement on a USB drive (see [[Chumby tricks ]]).<br />
<br />
Calling this script directly is not enough to safely start the Control Panel.<br />
<br />
===start_intro===<br />
<br />
===start_network===<br />
Starts the network after the network config has been written<br />
<br />
===start_network.sh===<br />
symlink to start_network<br />
<br />
===start_opening_anim===<br />
<br />
===start_sshd.sh===<br />
Start the SSH Daemon<br />
<br />
===stop_control_panel===<br />
<br />
Stop the control panel widget from playing<br />
<br />
===update_now.sh===<br />
Sets the paranoid boot flag to boot into<br />
autoupdate mode and force an immediate reboot.<br />
<br />
==Chumby state wait==<br />
<br />
===wait_for_link===<br />
Wait for the (network?) interface to establish link before proceeding<br />
<br />
===wait_for_opening===<br />
<br />
Wait for opening animation to start.<br />
<br />
===wait_for_usb===<br />
Wait for the usb subsystem to finish loading before proceeding<br />
<br />
=Applications=<br />
These applications are in /usr/bin. <br />
* Note: Busybox tools are not included in this list.<br />
<br />
==amixer==<br />
==aplay==<br />
==arecord==<br />
==btplay==<br />
==chumbhowld==<br />
==chumbipod==<br />
==chumbipodd==<br />
<br />
Documented at [[Chumby as an iPod server]].<br />
<br />
==chumbpipe==<br />
==chumbpop==<br />
==chumbradio==<br />
From the forum: "Require[s] an as-yet unreleased hardware accessory."<br />
[http://forum.chumby.com/viewtopic.php?pid=4268]<br />
<br />
==chumbradiod==<br />
==chumbyAuth==<br />
==chumby_set_volume==<br />
==chumbyflashplayer.x==<br />
<br />
This is the Adobe Flash Lite 3 Player customized for the chumby<br />
<br />
==chumbyradio==<br />
==chumbytorrent==<br />
==cpi==<br />
Usage : cpi [--help] | [-p] [-a] [-d] [-r]<br />
<br />
Interface with Crypto Processor<br />
<br />
Options:<br />
<br />
--help Display this help screen<br />
<br />
-k <KEYID> Use the specified key ID (default is 0)<br />
-r <FILE> Read query XML from FILE (ignored if valid -i specified)<br />
-w <FILE> Write result XML to FILE (ignored if valid -o specified)<br />
-i Read query XML from stdin<br />
-o Write result XML to stdout<br />
-p Write putative ID of specified key index to stdout<br />
-a <TIME> Set alarm to go off TIME seconds from now<br />
-s Shutdown the chumby (will occur after all other options)<br />
-d Write all CP data to stdout<br />
<br />
==curl==<br />
==dcid==<br />
==eject==<br />
==exportKeys==<br />
==fbwrite==<br />
==gdbserver==<br />
==headphone_mgr==<br />
==hexdump==<br />
Dump a file or pipe in hex<br />
==imgtool==<br />
Puts an image on the Chumby screen or captures the screen to an image file.<br />
<br />
Try this to see how it works:<br />
chumby:~# /usr/bin/imgtool --mode=draw /www/images/chumby_logo.png<br />
<br />
Here's an example of capturing the screen to an image file<br />
chumby:~# /usr/bin/imgtool --mode=cap /tmp/capture.jpg<br />
<br />
<br />
Syntax: /usr/bin/imgtool [options] file<br />
where file is output (mode=cap) or - to write to stdout, or<br />
if mode==draw, a .jpg or .png image file to write to frame buffer<br />
and options are any of the following:<br />
<br />
--debug Increase verbosity<br />
--resize=n (64) Resize options (draw mode only)<br />
--gamma=f (2.2) Screen gamma (for png decode)<br />
--quality=pct (30) JPEG capture quality (0-100)<br />
--fb=n (0) Write to / read from frame buffer (0 or 1)<br />
--fmt={jpg,png} (jpg) Format to write (if mode==cap)<br />
--mode={cap,draw} (draw) Capture frame buffer to file (cap)<br />
or draw image file to frame buffer<br />
--help Display this message<br />
<br />
* Note: PNG capture is not supported yet on the version I have.<br />
<br />
Here's a neat trick. Put this in /psp/cgi-bin/image<br />
#!/bin/sh<br />
<br />
echo "Content-type: image/jpeg"<br />
echo "Refresh: 5; #"<br />
echo ""<br />
<br />
/usr/bin/imgtool --mode=cap -<br />
<br />
Now open "<nowiki>http://your-chumby-ip-address/cgi-bin/custom/image</nowiki>". You should see your Chumby screen there. And it refreshes!<br />
<br />
==memstress==<br />
==mountmon==<br />
==mp3.x==<br />
==openssl==<br />
Open SSL tool<br />
==perl==<br />
<br />
This is perl, v5.8.8 built for linux<br />
<br />
==scp==<br />
Secure copy<br />
==ssh==<br />
Secure shell (ssh to another machine)<br />
<br />
==switchwait==<br />
==udevinfo==<br />
==udevstart==<br />
==udevtest==<br />
==usb==<br />
==wget==<br />
Get a file from the web</div>Phord//wiki.chumby.com/index.php?title=Chumby_Software_Applications,_Scripts_and_ToolsChumby Software Applications, Scripts and Tools2007-11-16T23:20:07Z<p>Phord: /* imgtool */</p>
<hr />
<div>This page is an attempt to document the various scripts and applications which come pre-installed on a stock Chumby distribution. <br />
<br />
'''Status: Alpha'''<br />
<br />
Please help update it!<br />
<br />
=/proc=<br />
Another page has details on [[Chumby device settings information on /proc]]<br />
<br />
=Scripts=<br />
All of these scripts are found in /usr/chumby/scripts/<br />
<br />
==ap_scan==<br />
ap_scan - Scans for wireless networks and outputs XML.<br />
If '''/tmp/hidden_ssid''' exists, the script will<br />
switch the SSID of the wireless interface to the<br />
SSID defined in '''/tmp/hidden_ssid''' before initiating<br />
the scan. If the interface was configured with a<br />
different SSID prior to a wireless scan that read<br />
from '''/tmp/hidden_ssid''', the script will restore the<br />
original SSID when the scan has completed.<br />
<br />
==chumby_set_mute==<br />
<br />
Set the "mute" volume of the Chumby. Mute affects the Chumby speaker<br />
but not the headphones. ''Is this correct?''<br />
<br />
<br />
==chumby_set_pan==<br />
<br />
Set the "balance" level of the Chumby. ''Is this correct?''<br />
<br />
<br />
==chumby_set_volume==<br />
<br />
Set the master volume of the Chumby. <br />
<br />
<br />
<br />
==chumby_version==<br />
<br />
Displays the software, firmware and hardware versions<br />
<br />
syntax: /usr/chumby/scripts/chumby_version [-s -f -h -n -t --rfs1 --rfs2]<br />
-s - display software version<br />
-f - display firmware build number<br />
-h - display hardware version number<br />
-n - display hardware serial number<br />
-t - display hardware time since last crypto processor power cycle<br />
--rfs1 - display RFS1 md5sum<br />
--rfs2 - display RFS2 md5sum<br />
<br />
==disable_intro==<br />
<br />
Disable the intro screen.<br />
<br />
==download_cp==<br />
<br />
Downloads the latest Control Panel configured for this chumby, typically to /tmp<br />
<br />
==enable_intro==<br />
<br />
Enable the intro screen.<br />
<br />
==flashplayer_watchdog==<br />
<br />
Script that watches for flashplayer hangs or exits?<br />
<br />
==get_voltage.sh==<br />
<br />
With no arguments, reports raw values from /proc/chumby/battery-voltage<br />
If battery or line is specified, gets specified value and converts<br />
to approximate voltage.<br />
<br />
==guidgen.sh==<br />
<br />
Extracts chumby putative ID from crypto processor<br />
<br />
==headphone_manager==<br />
<br />
Daemon responsible for disabling internal speakers when external headphones/speaker is plugged in<br />
<br />
<br />
==log-rollover==<br />
<br />
Script to roll over /var/log/messages<br />
<br />
Usually invoked from crontab:<br />
50 2,6,10,14,18,22 * * * /usr/chumby/scripts/log-rollover<br />
<br />
==log-rollover-enable==<br />
Enable log-rollover in crontab<br />
<br />
==macgen.sh==<br />
Outputs wireless NIC hardware address<br />
<br />
==mkdevs==<br />
Simple script to automatically populate a /dev directory.<br />
<br />
==Mountmon scripts==<br />
See mountmon.conf for list of environment variables available on input<br />
and required output values<br />
===mountmon_utils.sh===<br />
Utility functions used by mountmon scripts<br />
===add.sh===<br />
"Add" event script for mountmon<br />
===mount.sh===<br />
Mount event script for mountmon<br />
===remove.sh===<br />
Remove event script for mountmon<br />
===umount.sh===<br />
Unmount event script for mountmon<br />
<br />
<br />
<br />
==network_running.sh==<br />
Determines whether the network is running<br />
<br />
==network_status.sh==<br />
Polls the status of the network interface and outputs XML to /tmp/chumby/network_status.xml<br />
<br />
==reboot_normal.sh==<br />
<br />
Reboots the Chumby<br />
<br />
==script_locations.sh==<br />
Set default script directory locations<br />
<br />
==service_control==<br />
Service control wrapper script<br />
Usage:<br />
service_control service_name action [args]<br />
<br />
This just gets the ETC_INIT_DIR value from script_locations.sh then invokes<br />
${ETC_INIT_DIR}/${service_name} action [args]<br />
<br />
==service_getpid==<br />
Get process id(s) of running service<br />
<br />
==service_list==<br />
Get list of running services<br />
<br />
<br />
==start_control_panel==<br />
Responsible for starting the control panel in the correct mode<br />
<br />
==start_intro==<br />
<br />
==start_network==<br />
Starts the network after the network config has been written<br />
<br />
==start_network.sh==<br />
symlink to start_network<br />
<br />
==start_opening_anim==<br />
<br />
==start_sshd.sh==<br />
Start the SSH Daemon<br />
<br />
==stop_control_panel==<br />
<br />
Stop the control panel widget from playing<br />
<br />
==sync_time.sh==<br />
<br />
Synchronize clock with network time server<br />
<br />
* Called by sync_time_state.sh<br />
<br />
==sync_time_state.sh==<br />
<br />
Set or read the sync_time_state from '''/psp/use_ntp''' <br />
<br />
<br />
==time_zone.sh==<br />
<br />
<br />
==update.sh==<br />
Autoupdate script<br />
<br />
==update_now.sh==<br />
Sets the paranoid boot flag to boot into<br />
autoupdate mode and force an immediate reboot.<br />
<br />
==wait_for_link==<br />
Wait for the (network?) interface to establish link before proceeding<br />
<br />
==wait_for_opening==<br />
<br />
Wait for opening animation to start.<br />
<br />
==wait_for_usb==<br />
Wait for the usb subsystem to finish loading before proceeding<br />
<br />
=Applications=<br />
These applications are in /usr/bin. <br />
* Note: Busybox tools are not included in this list.<br />
<br />
==amixer==<br />
==aplay==<br />
==arecord==<br />
==btplay==<br />
==chumbhowld==<br />
==chumbipod==<br />
==chumbipodd==<br />
<br />
Documented at [[Chumby as an iPod server]].<br />
<br />
==chumbpipe==<br />
==chumbpop==<br />
==chumbradio==<br />
From the forum: "Require[s] an as-yet unreleased hardware accessory."<br />
[http://forum.chumby.com/viewtopic.php?pid=4268]<br />
<br />
==chumbradiod==<br />
==chumbyAuth==<br />
==chumby_set_volume==<br />
==chumbyflashplayer.x==<br />
<br />
This is the Adobe Flash Lite 3 Player customized for the chumby<br />
<br />
==chumbyradio==<br />
==chumbytorrent==<br />
==cpi==<br />
Usage : cpi [--help] | [-p] [-a] [-d] [-r]<br />
<br />
Interface with Crypto Processor<br />
<br />
Options:<br />
<br />
--help Display this help screen<br />
<br />
-k <KEYID> Use the specified key ID (default is 0)<br />
-r <FILE> Read query XML from FILE (ignored if valid -i specified)<br />
-w <FILE> Write result XML to FILE (ignored if valid -o specified)<br />
-i Read query XML from stdin<br />
-o Write result XML to stdout<br />
-p Write putative ID of specified key index to stdout<br />
-a <TIME> Set alarm to go off TIME seconds from now<br />
-s Shutdown the chumby (will occur after all other options)<br />
-d Write all CP data to stdout<br />
<br />
==curl==<br />
==dcid==<br />
==eject==<br />
==exportKeys==<br />
==fbwrite==<br />
==gdbserver==<br />
==headphone_mgr==<br />
==hexdump==<br />
Dump a file or pipe in hex<br />
==imgtool==<br />
Puts an image on the Chumby screen or captures the screen to an image file.<br />
<br />
Try this to see how it works:<br />
chumby:~# /usr/bin/imgtool --mode=draw /www/images/chumby_logo.png<br />
<br />
Here's an example of capturing the screen to an image file<br />
chumby:~# /usr/bin/imgtool --mode=cap /tmp/capture.jpg<br />
<br />
<br />
Syntax: /usr/bin/imgtool [options] file<br />
where file is output (mode=cap) or - to write to stdout, or<br />
if mode==draw, a .jpg or .png image file to write to frame buffer<br />
and options are any of the following:<br />
<br />
--debug Increase verbosity<br />
--resize=n (64) Resize options (draw mode only)<br />
--gamma=f (2.2) Screen gamma (for png decode)<br />
--quality=pct (30) JPEG capture quality (0-100)<br />
--fb=n (0) Write to / read from frame buffer (0 or 1)<br />
--fmt={jpg,png} (jpg) Format to write (if mode==cap)<br />
--mode={cap,draw} (draw) Capture frame buffer to file (cap)<br />
or draw image file to frame buffer<br />
--help Display this message<br />
<br />
* Note: PNG capture is not supported yet on the version I have.<br />
<br />
Here's a neat trick. Put this in /psp/cgi-bin/image<br />
#!/bin/sh<br />
<br />
echo "Content-type: image/jpeg"<br />
echo "Refresh: 5; #"<br />
echo ""<br />
<br />
/usr/bin/imgtool --mode=cap -<br />
<br />
Now open "<nowiki>http://your-chumby-ip-address/cgi-bin/custom/image</nowiki>". You should see your Chumby screen there. And it refreshes!<br />
<br />
==memstress==<br />
==mountmon==<br />
==mp3.x==<br />
==openssl==<br />
Open SSL tool<br />
==perl==<br />
<br />
This is perl, v5.8.8 built for linux<br />
<br />
==scp==<br />
Secure copy<br />
==ssh==<br />
Secure shell (ssh to another machine)<br />
<br />
==switchwait==<br />
==udevinfo==<br />
==udevstart==<br />
==udevtest==<br />
==usb==<br />
==wget==<br />
Get a file from the web</div>Phord//wiki.chumby.com/index.php?title=Chumby_device_settings_information_on_/procChumby device settings information on /proc2007-11-16T22:36:09Z<p>Phord: New page: =Device access= On Linux you can communicate with "device drivers" through the "/proc" filesystem. For example, chumby:~# cat /proc/cpuinfo Processor : ARM926EJ-Sid(wb) rev 4 (v5...</p>
<hr />
<div>=Device access=<br />
<br />
On Linux you can communicate with "device drivers" through the "/proc" filesystem. For example,<br />
chumby:~# cat /proc/cpuinfo<br />
Processor : ARM926EJ-Sid(wb) rev 4 (v5l)<br />
BogoMIPS : 174.89<br />
Features : swp half thumb fastmult edsp java<br />
CPU implementer : 0x41<br />
CPU architecture: 5TEJ<br />
etc.<br />
<br />
Chumby has a special section just for Chumby-specific drivers. It's in /proc/chumby*<br />
<br />
==/proc/chumby==<br />
===/proc/chumby/temperature===<br />
Appears to contain the most recent polled temperature values in raw format. <br />
<br />
Most recent values are at the head of the file.<br />
<br />
TODO: How to convert this to human readable values?<br />
<br />
===/proc/chumby/battery-voltage===<br />
Appears to contain the most recent polled battery voltage values in raw format. <br />
<br />
Most recent values are at the head of the file.<br />
<br />
TODO: How to convert this to human readable values?<br />
<br />
===/proc/chumby/tsc2100===<br />
===/proc/chumby/tsc2100/control5-page2===<br />
===/proc/chumby/tsc2100/control4-page2===<br />
===/proc/chumby/tsc2100/pll2-page2===<br />
===/proc/chumby/tsc2100/pll1-page2===<br />
===/proc/chumby/tsc2100/control3-page2===<br />
===/proc/chumby/tsc2100/powercon-page2===<br />
===/proc/chumby/tsc2100/control2-page2===<br />
===/proc/chumby/tsc2100/sidetone-page2===<br />
===/proc/chumby/tsc2100/audiodac-page2===<br />
===/proc/chumby/tsc2100/audioadc-page2===<br />
===/proc/chumby/tsc2100/control1-page2===<br />
===/proc/chumby/tsc2100/refctl-page1===<br />
===/proc/chumby/tsc2100/adc-page1===<br />
===/proc/chumby/tsc2100/registers===<br />
===/proc/chumby/audio===<br />
===/proc/chumby/audio/side-tone===<br />
===/proc/chumby/audio/side-tone/digital-gain===<br />
===/proc/chumby/audio/side-tone/digital-mute===<br />
===/proc/chumby/audio/side-tone/analog-gain===<br />
===/proc/chumby/audio/side-tone/analog-mute===<br />
===/proc/chumby/audio/mixer===<br />
===/proc/chumby/audio/mixer/both-speakers===<br />
===/proc/chumby/audio/mixer/both-speakers/volume===<br />
===/proc/chumby/audio/mixer/both-speakers/mute===<br />
===/proc/chumby/audio/mixer/right-speaker===<br />
===/proc/chumby/audio/mixer/right-speaker/volume===<br />
===/proc/chumby/audio/mixer/right-speaker/mute===<br />
===/proc/chumby/audio/mixer/left-speaker===<br />
===/proc/chumby/audio/mixer/left-speaker/volume===<br />
===/proc/chumby/audio/mixer/left-speaker/mute===<br />
===/proc/chumby/touchscreen===<br />
===/proc/chumby/touchscreen/touchclick===<br />
Contains 1 if touchscreen click is enabled.<br />
<br />
Contains 0 if touchscreen click is disabled.<br />
<br />
You can enable the touchscreen click by putting a 1 in this file:<br />
echo 1 > /proc/chumby/touchscreen/touchclick<br />
<br />
===/proc/chumby/touchscreen/poll-interval===<br />
<br />
===/proc/chumby/touchscreen/coordinates===<br />
Shows the most recent 29(?) touchscreen events.<br />
<br />
Most recent values are at the head of the file.<br />
<br />
This example shows the last two events once per second. Run this and then touch the screen to see it update.<br />
<br />
chumby:~# while [ 1 ] ; do head -2 /proc/chumby/touchscreen/coordinates ; sleep 1 ; done<br />
<br />
There appear to be two events logged in the coordinates file, pen-up and pen-down. <br />
<br />
* pen-up is logged when you stop touching the screen. Its coordinates are always 0.<br />
* pen-down is continuously logged when you are touching the screen. Its coordinates reflect the location you are touching on the screen (x,y) and the pressure applied (p). <br />
** P is LARGER for lighter touches. It seems to range from 0 - 10000 most of the time, but I have seen some values over 19,000.<br />
** Y coordinates range from about 167 to 3920 on my screen, left to right.<br />
** X coordinates range from about 220 to 3860 on my screen, bottom to top.<br />
<br />
chumby:~# head /proc/chumby/touchscreen/coordinates<br />
256: x=0 y=0 p=0 pen-up<br />
255: x=564 y=3763 p=6698 pen-down<br />
254: x=561 y=3768 p=6052 pen-down<br />
253: x=561 y=3757 p=5798 pen-down<br />
252: x=566 y=3760 p=5677 pen-down<br />
251: x=573 y=3761 p=5767 pen-down<br />
250: x=579 y=3757 p=5873 pen-down<br />
249: x=583 y=3762 p=6122 pen-down<br />
248: x=590 y=3761 p=6426 pen-down<br />
247: x=590 y=3752 p=6633 pen-down<br />
<br />
<br />
===/proc/chumby/touchscreen/enable===<br />
Contains 1 if touchscreen is enabled.<br />
<br />
Contains 0 if touchscreen is disabled.<br />
<br />
You can disable the touchscreen by putting a 0 in this file:<br />
echo 0 > /proc/chumby/touchscreen/enable<br />
<br />
==/proc/chumby-wifi==<br />
===/proc/chumby-wifi/network-status===<br />
===/proc/chumby-wifi/link-status===<br />
===/proc/chumby-wifi/regs===<br />
===/proc/chumby-wifi/bss-scantab===<br />
===/proc/chumby-wifi/mlme-aux===<br />
===/proc/chumby-wifi/mlme-struct===<br />
===/proc/chumby-wifi/dev-stats===<br />
===/proc/chumby-wifi/counters===<br />
===/proc/chumby-wifi/active-config===<br />
===/proc/chumby-wifi/port-config===<br />
===/proc/chumby-wifi/rtmp-adapter===<br />
===/proc/chumby-wifi/trace-buffer===<br />
===/proc/chumby-wifi/dbug-pages===<br />
===/proc/chumby-wifi/dbug-level===<br />
===/proc/chumby-wifi/RTDebugLevel===</div>Phord//wiki.chumby.com/index.php?title=Chumby_Software_Applications,_Scripts_and_ToolsChumby Software Applications, Scripts and Tools2007-11-16T22:13:51Z<p>Phord: </p>
<hr />
<div>This page is an attempt to document the various scripts and applications which come pre-installed on a stock Chumby distribution. <br />
<br />
'''Status: Alpha'''<br />
<br />
Please help update it!<br />
<br />
=/proc=<br />
Another page has details on [[Chumby device settings information on /proc]]<br />
<br />
=Scripts=<br />
All of these scripts are found in /usr/chumby/scripts/<br />
<br />
==ap_scan==<br />
ap_scan - Scans for wireless networks and outputs XML.<br />
If '''/tmp/hidden_ssid''' exists, the script will<br />
switch the SSID of the wireless interface to the<br />
SSID defined in '''/tmp/hidden_ssid''' before initiating<br />
the scan. If the interface was configured with a<br />
different SSID prior to a wireless scan that read<br />
from '''/tmp/hidden_ssid''', the script will restore the<br />
original SSID when the scan has completed.<br />
<br />
==chumby_set_mute==<br />
<br />
Set the "mute" volume of the Chumby. Mute affects the Chumby speaker<br />
but not the headphones. ''Is this correct?''<br />
<br />
<br />
==chumby_set_pan==<br />
<br />
Set the "balance" level of the Chumby. ''Is this correct?''<br />
<br />
<br />
==chumby_set_volume==<br />
<br />
Set the master volume of the Chumby. <br />
<br />
<br />
<br />
==chumby_version==<br />
<br />
Displays the software, firmware and hardware versions<br />
<br />
syntax: /usr/chumby/scripts/chumby_version [-s -f -h -n -t --rfs1 --rfs2]<br />
-s - display software version<br />
-f - display firmware build number<br />
-h - display hardware version number<br />
-n - display hardware serial number<br />
-t - display hardware time since last crypto processor power cycle<br />
--rfs1 - display RFS1 md5sum<br />
--rfs2 - display RFS2 md5sum<br />
<br />
==disable_intro==<br />
<br />
Disable the intro screen.<br />
<br />
==download_cp==<br />
<br />
Downloads the latest Control Panel configured for this chumby, typically to /tmp<br />
<br />
==enable_intro==<br />
<br />
Enable the intro screen.<br />
<br />
==flashplayer_watchdog==<br />
<br />
Script that watches for flashplayer hangs or exits?<br />
<br />
==get_voltage.sh==<br />
<br />
With no arguments, reports raw values from /proc/chumby/battery-voltage<br />
If battery or line is specified, gets specified value and converts<br />
to approximate voltage.<br />
<br />
==guidgen.sh==<br />
<br />
Extracts chumby putative ID from crypto processor<br />
<br />
==headphone_manager==<br />
<br />
Daemon responsible for disabling internal speakers when external headphones/speaker is plugged in<br />
<br />
<br />
==log-rollover==<br />
<br />
Script to roll over /var/log/messages<br />
<br />
Usually invoked from crontab:<br />
50 2,6,10,14,18,22 * * * /usr/chumby/scripts/log-rollover<br />
<br />
==log-rollover-enable==<br />
Enable log-rollover in crontab<br />
<br />
==macgen.sh==<br />
Outputs wireless NIC hardware address<br />
<br />
==mkdevs==<br />
Simple script to automatically populate a /dev directory.<br />
<br />
==Mountmon scripts==<br />
See mountmon.conf for list of environment variables available on input<br />
and required output values<br />
===mountmon_utils.sh===<br />
Utility functions used by mountmon scripts<br />
===add.sh===<br />
"Add" event script for mountmon<br />
===mount.sh===<br />
Mount event script for mountmon<br />
===remove.sh===<br />
Remove event script for mountmon<br />
===umount.sh===<br />
Unmount event script for mountmon<br />
<br />
<br />
<br />
==network_running.sh==<br />
Determines whether the network is running<br />
<br />
==network_status.sh==<br />
Polls the status of the network interface and outputs XML to /tmp/chumby/network_status.xml<br />
<br />
==reboot_normal.sh==<br />
<br />
Reboots the Chumby<br />
<br />
==script_locations.sh==<br />
Set default script directory locations<br />
<br />
==service_control==<br />
Service control wrapper script<br />
Usage:<br />
service_control service_name action [args]<br />
<br />
This just gets the ETC_INIT_DIR value from script_locations.sh then invokes<br />
${ETC_INIT_DIR}/${service_name} action [args]<br />
<br />
==service_getpid==<br />
Get process id(s) of running service<br />
<br />
==service_list==<br />
Get list of running services<br />
<br />
<br />
==start_control_panel==<br />
Responsible for starting the control panel in the correct mode<br />
<br />
==start_intro==<br />
<br />
==start_network==<br />
Starts the network after the network config has been written<br />
<br />
==start_network.sh==<br />
symlink to start_network<br />
<br />
==start_opening_anim==<br />
<br />
==start_sshd.sh==<br />
Start the SSH Daemon<br />
<br />
==stop_control_panel==<br />
<br />
Stop the control panel widget from playing<br />
<br />
==sync_time.sh==<br />
<br />
Synchronize clock with network time server<br />
<br />
* Called by sync_time_state.sh<br />
<br />
==sync_time_state.sh==<br />
<br />
Set or read the sync_time_state from '''/psp/use_ntp''' <br />
<br />
<br />
==time_zone.sh==<br />
<br />
<br />
==update.sh==<br />
Autoupdate script<br />
<br />
==update_now.sh==<br />
Sets the paranoid boot flag to boot into<br />
autoupdate mode and force an immediate reboot.<br />
<br />
==wait_for_link==<br />
Wait for the (network?) interface to establish link before proceeding<br />
<br />
==wait_for_opening==<br />
<br />
Wait for opening animation to start.<br />
<br />
==wait_for_usb==<br />
Wait for the usb subsystem to finish loading before proceeding<br />
<br />
=Applications=<br />
These applications are in /usr/bin. <br />
* Note: Busybox tools are not included in this list.<br />
<br />
==amixer==<br />
==aplay==<br />
==arecord==<br />
==btplay==<br />
==chumbhowld==<br />
==chumbipod==<br />
==chumbipodd==<br />
<br />
Documented at [[Chumby as an iPod server]].<br />
<br />
==chumbpipe==<br />
==chumbpop==<br />
==chumbradio==<br />
From the forum: "Require[s] an as-yet unreleased hardware accessory."<br />
[http://forum.chumby.com/viewtopic.php?pid=4268]<br />
<br />
==chumbradiod==<br />
==chumbyAuth==<br />
==chumby_set_volume==<br />
==chumbyflashplayer.x==<br />
<br />
This is the Adobe Flash Lite 3 Player customized for the chumby<br />
<br />
==chumbyradio==<br />
==chumbytorrent==<br />
==cpi==<br />
Usage : cpi [--help] | [-p] [-a] [-d] [-r]<br />
<br />
Interface with Crypto Processor<br />
<br />
Options:<br />
<br />
--help Display this help screen<br />
<br />
-k <KEYID> Use the specified key ID (default is 0)<br />
-r <FILE> Read query XML from FILE (ignored if valid -i specified)<br />
-w <FILE> Write result XML to FILE (ignored if valid -o specified)<br />
-i Read query XML from stdin<br />
-o Write result XML to stdout<br />
-p Write putative ID of specified key index to stdout<br />
-a <TIME> Set alarm to go off TIME seconds from now<br />
-s Shutdown the chumby (will occur after all other options)<br />
-d Write all CP data to stdout<br />
<br />
==curl==<br />
==dcid==<br />
==eject==<br />
==exportKeys==<br />
==fbwrite==<br />
==gdbserver==<br />
==headphone_mgr==<br />
==hexdump==<br />
Dump a file or pipe in hex<br />
==imgtool==<br />
Puts an image on the Chumby screen or captures the screen to an image file.<br />
<br />
Try this to see how it works:<br />
chumby:~# /usr/bin/imgtool --mode=draw /www/images/chumby_logo.png<br />
<br />
Here's an example of capturing the screen to an image file<br />
chumby:~# /usr/bin/imgtool --mode=cap /tmp/capture.jpg<br />
<br />
<br />
Syntax: /usr/bin/imgtool [options] file<br />
where file is output (mode=cap) or - to write to stdout, or<br />
if mode==draw, a .jpg or .png image file to write to frame buffer<br />
and options are any of the following:<br />
<br />
--debug Increase verbosity<br />
--resize=n (64) Resize options (draw mode only)<br />
--gamma=f (2.2) Screen gamma (for png decode)<br />
--quality=pct (30) JPEG capture quality (0-100)<br />
--fb=n (0) Write to / read from frame buffer (0 or 1)<br />
--fmt={jpg,png} (jpg) Format to write (if mode==cap)<br />
--mode={cap,draw} (draw) Capture frame buffer to file (cap)<br />
or draw image file to frame buffer<br />
--help Display this message<br />
<br />
* Note: PNG capture is not supported yet on the version I have.<br />
<br />
==memstress==<br />
==mountmon==<br />
==mp3.x==<br />
==openssl==<br />
Open SSL tool<br />
==perl==<br />
<br />
This is perl, v5.8.8 built for linux<br />
<br />
==scp==<br />
Secure copy<br />
==ssh==<br />
Secure shell (ssh to another machine)<br />
<br />
==switchwait==<br />
==udevinfo==<br />
==udevstart==<br />
==udevtest==<br />
==usb==<br />
==wget==<br />
Get a file from the web</div>Phord//wiki.chumby.com/index.php?title=Chumby_Software_Applications,_Scripts_and_ToolsChumby Software Applications, Scripts and Tools2007-11-16T21:58:15Z<p>Phord: /* imgtool */</p>
<hr />
<div>This page is an attempt to document the various scripts and applications which come pre-installed on a stock Chumby distribution. <br />
<br />
'''Status: Alpha'''<br />
<br />
Please help update it!<br />
<br />
=Scripts=<br />
All of these scripts are found in /usr/chumby/scripts/<br />
<br />
<br />
==ap_scan==<br />
ap_scan - Scans for wireless networks and outputs XML.<br />
If '''/tmp/hidden_ssid''' exists, the script will<br />
switch the SSID of the wireless interface to the<br />
SSID defined in '''/tmp/hidden_ssid''' before initiating<br />
the scan. If the interface was configured with a<br />
different SSID prior to a wireless scan that read<br />
from '''/tmp/hidden_ssid''', the script will restore the<br />
original SSID when the scan has completed.<br />
<br />
==chumby_set_mute==<br />
<br />
Set the "mute" volume of the Chumby. Mute affects the Chumby speaker<br />
but not the headphones. ''Is this correct?''<br />
<br />
<br />
==chumby_set_pan==<br />
<br />
Set the "balance" level of the Chumby. ''Is this correct?''<br />
<br />
<br />
==chumby_set_volume==<br />
<br />
Set the master volume of the Chumby. <br />
<br />
<br />
<br />
==chumby_version==<br />
<br />
Displays the software, firmware and hardware versions<br />
<br />
syntax: /usr/chumby/scripts/chumby_version [-s -f -h -n -t --rfs1 --rfs2]<br />
-s - display software version<br />
-f - display firmware build number<br />
-h - display hardware version number<br />
-n - display hardware serial number<br />
-t - display hardware time since last crypto processor power cycle<br />
--rfs1 - display RFS1 md5sum<br />
--rfs2 - display RFS2 md5sum<br />
<br />
==disable_intro==<br />
<br />
Disable the intro screen.<br />
<br />
==download_cp==<br />
<br />
Downloads the latest Control Panel configured for this chumby, typically to /tmp<br />
<br />
==enable_intro==<br />
<br />
Enable the intro screen.<br />
<br />
==flashplayer_watchdog==<br />
<br />
Script that watches for flashplayer hangs or exits?<br />
<br />
==get_voltage.sh==<br />
<br />
With no arguments, reports raw values from /proc/chumby/battery-voltage<br />
If battery or line is specified, gets specified value and converts<br />
to approximate voltage.<br />
<br />
==guidgen.sh==<br />
<br />
Extracts chumby putative ID from crypto processor<br />
<br />
==headphone_manager==<br />
<br />
Daemon responsible for disabling internal speakers when external headphones/speaker is plugged in<br />
<br />
<br />
==log-rollover==<br />
<br />
Script to roll over /var/log/messages<br />
<br />
Usually invoked from crontab:<br />
50 2,6,10,14,18,22 * * * /usr/chumby/scripts/log-rollover<br />
<br />
==log-rollover-enable==<br />
Enable log-rollover in crontab<br />
<br />
==macgen.sh==<br />
Outputs wireless NIC hardware address<br />
<br />
==mkdevs==<br />
Simple script to automatically populate a /dev directory.<br />
<br />
==Mountmon scripts==<br />
See mountmon.conf for list of environment variables available on input<br />
and required output values<br />
===mountmon_utils.sh===<br />
Utility functions used by mountmon scripts<br />
===add.sh===<br />
"Add" event script for mountmon<br />
===mount.sh===<br />
Mount event script for mountmon<br />
===remove.sh===<br />
Remove event script for mountmon<br />
===umount.sh===<br />
Unmount event script for mountmon<br />
<br />
<br />
<br />
==network_running.sh==<br />
Determines whether the network is running<br />
<br />
==network_status.sh==<br />
Polls the status of the network interface and outputs XML to /tmp/chumby/network_status.xml<br />
<br />
==reboot_normal.sh==<br />
<br />
Reboots the Chumby<br />
<br />
==script_locations.sh==<br />
Set default script directory locations<br />
<br />
==service_control==<br />
Service control wrapper script<br />
Usage:<br />
service_control service_name action [args]<br />
<br />
This just gets the ETC_INIT_DIR value from script_locations.sh then invokes<br />
${ETC_INIT_DIR}/${service_name} action [args]<br />
<br />
==service_getpid==<br />
Get process id(s) of running service<br />
<br />
==service_list==<br />
Get list of running services<br />
<br />
<br />
==start_control_panel==<br />
Responsible for starting the control panel in the correct mode<br />
<br />
==start_intro==<br />
<br />
==start_network==<br />
Starts the network after the network config has been written<br />
<br />
==start_network.sh==<br />
symlink to start_network<br />
<br />
==start_opening_anim==<br />
<br />
==start_sshd.sh==<br />
Start the SSH Daemon<br />
<br />
==stop_control_panel==<br />
<br />
Stop the control panel widget from playing<br />
<br />
==sync_time.sh==<br />
<br />
Synchronize clock with network time server<br />
<br />
* Called by sync_time_state.sh<br />
<br />
==sync_time_state.sh==<br />
<br />
Set or read the sync_time_state from '''/psp/use_ntp''' <br />
<br />
<br />
==time_zone.sh==<br />
<br />
<br />
==update.sh==<br />
Autoupdate script<br />
<br />
==update_now.sh==<br />
Sets the paranoid boot flag to boot into<br />
autoupdate mode and force an immediate reboot.<br />
<br />
==wait_for_link==<br />
Wait for the (network?) interface to establish link before proceeding<br />
<br />
==wait_for_opening==<br />
<br />
Wait for opening animation to start.<br />
<br />
==wait_for_usb==<br />
Wait for the usb subsystem to finish loading before proceeding<br />
<br />
=Applications=<br />
These applications are in /usr/bin. <br />
* Note: Busybox tools are not included in this list.<br />
<br />
==amixer==<br />
==aplay==<br />
==arecord==<br />
==btplay==<br />
==chumbhowld==<br />
==chumbipod==<br />
==chumbipodd==<br />
<br />
Documented at [[Chumby as an iPod server]].<br />
<br />
==chumbpipe==<br />
==chumbpop==<br />
==chumbradio==<br />
From the forum: "Require[s] an as-yet unreleased hardware accessory."<br />
[http://forum.chumby.com/viewtopic.php?pid=4268]<br />
<br />
==chumbradiod==<br />
==chumbyAuth==<br />
==chumby_set_volume==<br />
==chumbyflashplayer.x==<br />
<br />
This is the Adobe Flash Lite 3 Player customized for the chumby<br />
<br />
==chumbyradio==<br />
==chumbytorrent==<br />
==cpi==<br />
Usage : cpi [--help] | [-p] [-a] [-d] [-r]<br />
<br />
Interface with Crypto Processor<br />
<br />
Options:<br />
<br />
--help Display this help screen<br />
<br />
-k <KEYID> Use the specified key ID (default is 0)<br />
-r <FILE> Read query XML from FILE (ignored if valid -i specified)<br />
-w <FILE> Write result XML to FILE (ignored if valid -o specified)<br />
-i Read query XML from stdin<br />
-o Write result XML to stdout<br />
-p Write putative ID of specified key index to stdout<br />
-a <TIME> Set alarm to go off TIME seconds from now<br />
-s Shutdown the chumby (will occur after all other options)<br />
-d Write all CP data to stdout<br />
<br />
==curl==<br />
==dcid==<br />
==eject==<br />
==exportKeys==<br />
==fbwrite==<br />
==gdbserver==<br />
==headphone_mgr==<br />
==hexdump==<br />
Dump a file or pipe in hex<br />
==imgtool==<br />
Puts an image on the Chumby screen or captures the screen to an image file.<br />
<br />
Try this to see how it works:<br />
chumby:~# /usr/bin/imgtool --mode=draw /www/images/chumby_logo.png<br />
<br />
Here's an example of capturing the screen to an image file<br />
chumby:~# /usr/bin/imgtool --mode=cap /tmp/capture.jpg<br />
<br />
<br />
Syntax: /usr/bin/imgtool [options] file<br />
where file is output (mode=cap) or - to write to stdout, or<br />
if mode==draw, a .jpg or .png image file to write to frame buffer<br />
and options are any of the following:<br />
<br />
--debug Increase verbosity<br />
--resize=n (64) Resize options (draw mode only)<br />
--gamma=f (2.2) Screen gamma (for png decode)<br />
--quality=pct (30) JPEG capture quality (0-100)<br />
--fb=n (0) Write to / read from frame buffer (0 or 1)<br />
--fmt={jpg,png} (jpg) Format to write (if mode==cap)<br />
--mode={cap,draw} (draw) Capture frame buffer to file (cap)<br />
or draw image file to frame buffer<br />
--help Display this message<br />
<br />
* Note: PNG capture is not supported yet on the version I have.<br />
<br />
==memstress==<br />
==mountmon==<br />
==mp3.x==<br />
==openssl==<br />
Open SSL tool<br />
==perl==<br />
<br />
This is perl, v5.8.8 built for linux<br />
<br />
==scp==<br />
Secure copy<br />
==ssh==<br />
Secure shell (ssh to another machine)<br />
<br />
==switchwait==<br />
==udevinfo==<br />
==udevstart==<br />
==udevtest==<br />
==usb==<br />
==wget==<br />
Get a file from the web</div>Phord//wiki.chumby.com/index.php?title=Chumby_Software_Applications,_Scripts_and_ToolsChumby Software Applications, Scripts and Tools2007-11-16T18:03:23Z<p>Phord: /* cpi */</p>
<hr />
<div>This page is an attempt to document the various scripts and applications which come pre-installed on a stock Chumby distribution. <br />
<br />
'''Status: Alpha'''<br />
<br />
Please help update it!<br />
<br />
=Scripts=<br />
All of these scripts are found in /usr/chumby/scripts/<br />
<br />
<br />
==ap_scan==<br />
ap_scan - Scans for wireless networks and outputs XML.<br />
If '''/tmp/hidden_ssid''' exists, the script will<br />
switch the SSID of the wireless interface to the<br />
SSID defined in '''/tmp/hidden_ssid''' before initiating<br />
the scan. If the interface was configured with a<br />
different SSID prior to a wireless scan that read<br />
from '''/tmp/hidden_ssid''', the script will restore the<br />
original SSID when the scan has completed.<br />
<br />
==chumby_set_mute==<br />
<br />
Set the "mute" volume of the Chumby. Mute affects the Chumby speaker<br />
but not the headphones. ''Is this correct?''<br />
<br />
<br />
==chumby_set_pan==<br />
<br />
Set the "balance" level of the Chumby. ''Is this correct?''<br />
<br />
<br />
==chumby_set_volume==<br />
<br />
Set the master volume of the Chumby. <br />
<br />
<br />
<br />
==chumby_version==<br />
<br />
Displays the software, firmware and hardware versions<br />
<br />
syntax: /usr/chumby/scripts/chumby_version [-s -f -h -n -t --rfs1 --rfs2]<br />
-s - display software version<br />
-f - display firmware build number<br />
-h - display hardware version number<br />
-n - display hardware serial number<br />
-t - display hardware time since last crypto processor power cycle<br />
--rfs1 - display RFS1 md5sum<br />
--rfs2 - display RFS2 md5sum<br />
<br />
==disable_intro==<br />
<br />
Disable the intro screen.<br />
<br />
==download_cp==<br />
<br />
<br />
==enable_intro==<br />
<br />
Enable the intro screen.<br />
<br />
==flashplayer_watchdog==<br />
<br />
Script that watches for flashplayer hangs or exits?<br />
<br />
==get_voltage.sh==<br />
<br />
With no arguments, reports raw values from /proc/chumby/battery-voltage<br />
If battery or line is specified, gets specified value and converts<br />
to approximate voltage.<br />
<br />
==guidgen.sh==<br />
<br />
Extracts chumby putative ID from crypto processor<br />
<br />
==headphone_manager==<br />
<br />
Daemon responsible for disabling internal speakers when external headphones/speaker is plugged in<br />
<br />
<br />
==log-rollover==<br />
<br />
Script to roll over /var/log/messages<br />
<br />
Usually invoked from crontab:<br />
50 2,6,10,14,18,22 * * * /usr/chumby/scripts/log-rollover<br />
<br />
==log-rollover-enable==<br />
Enable log-rollover in crontab<br />
<br />
==macgen.sh==<br />
Outputs wireless NIC hardware address<br />
<br />
==mkdevs==<br />
Simple script to automatically populate a /dev directory.<br />
<br />
==Mountmon scripts==<br />
See mountmon.conf for list of environment variables available on input<br />
and required output values<br />
===mountmon_utils.sh===<br />
Utility functions used by mountmon scripts<br />
===add.sh===<br />
"Add" event script for mountmon<br />
===mount.sh===<br />
Mount event script for mountmon<br />
===remove.sh===<br />
Remove event script for mountmon<br />
===umount.sh===<br />
Unmount event script for mountmon<br />
<br />
<br />
<br />
==network_running.sh==<br />
Determines whether the network is running<br />
<br />
==network_status.sh==<br />
Polls the status of the network interface and outputs XML to /tmp/chumby/network_status.xml<br />
<br />
==reboot_normal.sh==<br />
<br />
Reboots the Chumby<br />
<br />
==script_locations.sh==<br />
Set default script directory locations<br />
<br />
==service_control==<br />
Service control wrapper script<br />
Usage:<br />
service_control service_name action [args]<br />
<br />
This just gets the ETC_INIT_DIR value from script_locations.sh then invokes<br />
${ETC_INIT_DIR}/${service_name} action [args]<br />
<br />
==service_getpid==<br />
Get process id(s) of running service<br />
<br />
==service_list==<br />
Get list of running services<br />
<br />
<br />
==start_control_panel==<br />
Responsible for starting the control panel in the correct mode<br />
<br />
==start_intro==<br />
<br />
==start_network==<br />
Starts the network after the network config has been written<br />
<br />
==start_network.sh==<br />
symlink to start_network<br />
<br />
==start_opening_anim==<br />
<br />
==start_sshd.sh==<br />
Start the SSH Daemon<br />
<br />
==stop_control_panel==<br />
<br />
Stop the control panel widget from playing<br />
<br />
==sync_time.sh==<br />
<br />
Synchronize clock with network time server<br />
<br />
* Called by sync_time_state.sh<br />
<br />
==sync_time_state.sh==<br />
<br />
Set or read the sync_time_state from '''/psp/use_ntp''' <br />
<br />
<br />
==time_zone.sh==<br />
<br />
<br />
==update.sh==<br />
Autoupdate script<br />
<br />
==update_now.sh==<br />
Sets the paranoid boot flag to boot into<br />
autoupdate mode and force an immediate reboot.<br />
<br />
==wait_for_link==<br />
Wait for the (network?) interface to establish link before proceeding<br />
<br />
==wait_for_opening==<br />
<br />
Wait for opening animation to start.<br />
<br />
==wait_for_usb==<br />
Wait for the usb subsystem to finish loading before proceeding<br />
<br />
=Applications=<br />
These applications are in /usr/bin. <br />
* Note: Busybox tools are not included in this list.<br />
<br />
==amixer==<br />
==aplay==<br />
==arecord==<br />
==btplay==<br />
==chumbhowld==<br />
==chumbipod==<br />
==chumbipodd==<br />
==chumbpipe==<br />
==chumbpop==<br />
==chumbradio==<br />
From the forum: "Require[s] an as-yet unreleased hardware accessory."<br />
[http://forum.chumby.com/viewtopic.php?pid=4268]<br />
<br />
==chumbradiod==<br />
==chumbyAuth==<br />
==chumby_set_volume==<br />
==chumbyflashplayer.x==<br />
==chumbyradio==<br />
==chumbytorrent==<br />
==cpi==<br />
Usage : cpi [--help] | [-p] [-a] [-d] [-r]<br />
<br />
Interface with Crypto Processor<br />
<br />
Options:<br />
<br />
--help Display this help screen<br />
<br />
-k <KEYID> Use the specified key ID (default is 0)<br />
-r <FILE> Read query XML from FILE (ignored if valid -i specified)<br />
-w <FILE> Write result XML to FILE (ignored if valid -o specified)<br />
-i Read query XML from stdin<br />
-o Write result XML to stdout<br />
-p Write putative ID of specified key index to stdout<br />
-a <TIME> Set alarm to go off TIME seconds from now<br />
-s Shutdown the chumby (will occur after all other options)<br />
-d Write all CP data to stdout<br />
<br />
==curl==<br />
==dcid==<br />
==eject==<br />
==exportKeys==<br />
==fbwrite==<br />
==gdbserver==<br />
==headphone_mgr==<br />
==hexdump==<br />
Dump a file or pipe in hex<br />
==imgtool==<br />
==memstress==<br />
==mountmon==<br />
==mp3.x==<br />
==openssl==<br />
Open SSL tool<br />
==perl==<br />
<br />
This is perl, v5.8.8 built for linux<br />
<br />
==scp==<br />
Secure copy<br />
==ssh==<br />
Secure shell (ssh to another machine)<br />
<br />
==switchwait==<br />
==udevinfo==<br />
==udevstart==<br />
==udevtest==<br />
==usb==<br />
==wget==<br />
Get a file from the web</div>Phord//wiki.chumby.com/index.php?title=Chumby_Software_Applications,_Scripts_and_ToolsChumby Software Applications, Scripts and Tools2007-11-16T18:03:02Z<p>Phord: /* chumbradio */</p>
<hr />
<div>This page is an attempt to document the various scripts and applications which come pre-installed on a stock Chumby distribution. <br />
<br />
'''Status: Alpha'''<br />
<br />
Please help update it!<br />
<br />
=Scripts=<br />
All of these scripts are found in /usr/chumby/scripts/<br />
<br />
<br />
==ap_scan==<br />
ap_scan - Scans for wireless networks and outputs XML.<br />
If '''/tmp/hidden_ssid''' exists, the script will<br />
switch the SSID of the wireless interface to the<br />
SSID defined in '''/tmp/hidden_ssid''' before initiating<br />
the scan. If the interface was configured with a<br />
different SSID prior to a wireless scan that read<br />
from '''/tmp/hidden_ssid''', the script will restore the<br />
original SSID when the scan has completed.<br />
<br />
==chumby_set_mute==<br />
<br />
Set the "mute" volume of the Chumby. Mute affects the Chumby speaker<br />
but not the headphones. ''Is this correct?''<br />
<br />
<br />
==chumby_set_pan==<br />
<br />
Set the "balance" level of the Chumby. ''Is this correct?''<br />
<br />
<br />
==chumby_set_volume==<br />
<br />
Set the master volume of the Chumby. <br />
<br />
<br />
<br />
==chumby_version==<br />
<br />
Displays the software, firmware and hardware versions<br />
<br />
syntax: /usr/chumby/scripts/chumby_version [-s -f -h -n -t --rfs1 --rfs2]<br />
-s - display software version<br />
-f - display firmware build number<br />
-h - display hardware version number<br />
-n - display hardware serial number<br />
-t - display hardware time since last crypto processor power cycle<br />
--rfs1 - display RFS1 md5sum<br />
--rfs2 - display RFS2 md5sum<br />
<br />
==disable_intro==<br />
<br />
Disable the intro screen.<br />
<br />
==download_cp==<br />
<br />
<br />
==enable_intro==<br />
<br />
Enable the intro screen.<br />
<br />
==flashplayer_watchdog==<br />
<br />
Script that watches for flashplayer hangs or exits?<br />
<br />
==get_voltage.sh==<br />
<br />
With no arguments, reports raw values from /proc/chumby/battery-voltage<br />
If battery or line is specified, gets specified value and converts<br />
to approximate voltage.<br />
<br />
==guidgen.sh==<br />
<br />
Extracts chumby putative ID from crypto processor<br />
<br />
==headphone_manager==<br />
<br />
Daemon responsible for disabling internal speakers when external headphones/speaker is plugged in<br />
<br />
<br />
==log-rollover==<br />
<br />
Script to roll over /var/log/messages<br />
<br />
Usually invoked from crontab:<br />
50 2,6,10,14,18,22 * * * /usr/chumby/scripts/log-rollover<br />
<br />
==log-rollover-enable==<br />
Enable log-rollover in crontab<br />
<br />
==macgen.sh==<br />
Outputs wireless NIC hardware address<br />
<br />
==mkdevs==<br />
Simple script to automatically populate a /dev directory.<br />
<br />
==Mountmon scripts==<br />
See mountmon.conf for list of environment variables available on input<br />
and required output values<br />
===mountmon_utils.sh===<br />
Utility functions used by mountmon scripts<br />
===add.sh===<br />
"Add" event script for mountmon<br />
===mount.sh===<br />
Mount event script for mountmon<br />
===remove.sh===<br />
Remove event script for mountmon<br />
===umount.sh===<br />
Unmount event script for mountmon<br />
<br />
<br />
<br />
==network_running.sh==<br />
Determines whether the network is running<br />
<br />
==network_status.sh==<br />
Polls the status of the network interface and outputs XML to /tmp/chumby/network_status.xml<br />
<br />
==reboot_normal.sh==<br />
<br />
Reboots the Chumby<br />
<br />
==script_locations.sh==<br />
Set default script directory locations<br />
<br />
==service_control==<br />
Service control wrapper script<br />
Usage:<br />
service_control service_name action [args]<br />
<br />
This just gets the ETC_INIT_DIR value from script_locations.sh then invokes<br />
${ETC_INIT_DIR}/${service_name} action [args]<br />
<br />
==service_getpid==<br />
Get process id(s) of running service<br />
<br />
==service_list==<br />
Get list of running services<br />
<br />
<br />
==start_control_panel==<br />
Responsible for starting the control panel in the correct mode<br />
<br />
==start_intro==<br />
<br />
==start_network==<br />
Starts the network after the network config has been written<br />
<br />
==start_network.sh==<br />
symlink to start_network<br />
<br />
==start_opening_anim==<br />
<br />
==start_sshd.sh==<br />
Start the SSH Daemon<br />
<br />
==stop_control_panel==<br />
<br />
Stop the control panel widget from playing<br />
<br />
==sync_time.sh==<br />
<br />
Synchronize clock with network time server<br />
<br />
* Called by sync_time_state.sh<br />
<br />
==sync_time_state.sh==<br />
<br />
Set or read the sync_time_state from '''/psp/use_ntp''' <br />
<br />
<br />
==time_zone.sh==<br />
<br />
<br />
==update.sh==<br />
Autoupdate script<br />
<br />
==update_now.sh==<br />
Sets the paranoid boot flag to boot into<br />
autoupdate mode and force an immediate reboot.<br />
<br />
==wait_for_link==<br />
Wait for the (network?) interface to establish link before proceeding<br />
<br />
==wait_for_opening==<br />
<br />
Wait for opening animation to start.<br />
<br />
==wait_for_usb==<br />
Wait for the usb subsystem to finish loading before proceeding<br />
<br />
=Applications=<br />
These applications are in /usr/bin. <br />
* Note: Busybox tools are not included in this list.<br />
<br />
==amixer==<br />
==aplay==<br />
==arecord==<br />
==btplay==<br />
==chumbhowld==<br />
==chumbipod==<br />
==chumbipodd==<br />
==chumbpipe==<br />
==chumbpop==<br />
==chumbradio==<br />
From the forum: "Require[s] an as-yet unreleased hardware accessory."<br />
[http://forum.chumby.com/viewtopic.php?pid=4268]<br />
<br />
==chumbradiod==<br />
==chumbyAuth==<br />
==chumby_set_volume==<br />
==chumbyflashplayer.x==<br />
==chumbyradio==<br />
==chumbytorrent==<br />
==cpi==<br />
CPI 1.0 [caustik@chumby.com]<br />
<br />
Usage : cpi [--help] | [-p] [-a] [-d] [-r]<br />
<br />
Interface with Crypto Processor<br />
<br />
Options:<br />
<br />
--help Display this help screen<br />
<br />
-k <KEYID> Use the specified key ID (default is 0)<br />
-r <FILE> Read query XML from FILE (ignored if valid -i specified)<br />
-w <FILE> Write result XML to FILE (ignored if valid -o specified)<br />
-i Read query XML from stdin<br />
-o Write result XML to stdout<br />
-p Write putative ID of specified key index to stdout<br />
-a <TIME> Set alarm to go off TIME seconds from now<br />
-s Shutdown the chumby (will occur after all other options)<br />
-d Write all CP data to stdout<br />
<br />
==curl==<br />
==dcid==<br />
==eject==<br />
==exportKeys==<br />
==fbwrite==<br />
==gdbserver==<br />
==headphone_mgr==<br />
==hexdump==<br />
Dump a file or pipe in hex<br />
==imgtool==<br />
==memstress==<br />
==mountmon==<br />
==mp3.x==<br />
==openssl==<br />
Open SSL tool<br />
==perl==<br />
<br />
This is perl, v5.8.8 built for linux<br />
<br />
==scp==<br />
Secure copy<br />
==ssh==<br />
Secure shell (ssh to another machine)<br />
<br />
==switchwait==<br />
==udevinfo==<br />
==udevstart==<br />
==udevtest==<br />
==usb==<br />
==wget==<br />
Get a file from the web</div>Phord//wiki.chumby.com/index.php?title=Chumby_Software_Applications,_Scripts_and_ToolsChumby Software Applications, Scripts and Tools2007-11-16T17:56:23Z<p>Phord: /* chumby_version */</p>
<hr />
<div>This page is an attempt to document the various scripts and applications which come pre-installed on a stock Chumby distribution. <br />
<br />
'''Status: Alpha'''<br />
<br />
Please help update it!<br />
<br />
=Scripts=<br />
All of these scripts are found in /usr/chumby/scripts/<br />
<br />
<br />
==ap_scan==<br />
ap_scan - Scans for wireless networks and outputs XML.<br />
If '''/tmp/hidden_ssid''' exists, the script will<br />
switch the SSID of the wireless interface to the<br />
SSID defined in '''/tmp/hidden_ssid''' before initiating<br />
the scan. If the interface was configured with a<br />
different SSID prior to a wireless scan that read<br />
from '''/tmp/hidden_ssid''', the script will restore the<br />
original SSID when the scan has completed.<br />
<br />
==chumby_set_mute==<br />
<br />
Set the "mute" volume of the Chumby. Mute affects the Chumby speaker<br />
but not the headphones. ''Is this correct?''<br />
<br />
<br />
==chumby_set_pan==<br />
<br />
Set the "balance" level of the Chumby. ''Is this correct?''<br />
<br />
<br />
==chumby_set_volume==<br />
<br />
Set the master volume of the Chumby. <br />
<br />
<br />
<br />
==chumby_version==<br />
<br />
Displays the software, firmware and hardware versions<br />
<br />
syntax: /usr/chumby/scripts/chumby_version [-s -f -h -n -t --rfs1 --rfs2]<br />
-s - display software version<br />
-f - display firmware build number<br />
-h - display hardware version number<br />
-n - display hardware serial number<br />
-t - display hardware time since last crypto processor power cycle<br />
--rfs1 - display RFS1 md5sum<br />
--rfs2 - display RFS2 md5sum<br />
<br />
==disable_intro==<br />
<br />
Disable the intro screen.<br />
<br />
==download_cp==<br />
<br />
<br />
==enable_intro==<br />
<br />
Enable the intro screen.<br />
<br />
==flashplayer_watchdog==<br />
<br />
Script that watches for flashplayer hangs or exits?<br />
<br />
==get_voltage.sh==<br />
<br />
With no arguments, reports raw values from /proc/chumby/battery-voltage<br />
If battery or line is specified, gets specified value and converts<br />
to approximate voltage.<br />
<br />
==guidgen.sh==<br />
<br />
Extracts chumby putative ID from crypto processor<br />
<br />
==headphone_manager==<br />
<br />
Daemon responsible for disabling internal speakers when external headphones/speaker is plugged in<br />
<br />
<br />
==log-rollover==<br />
<br />
Script to roll over /var/log/messages<br />
<br />
Usually invoked from crontab:<br />
50 2,6,10,14,18,22 * * * /usr/chumby/scripts/log-rollover<br />
<br />
==log-rollover-enable==<br />
Enable log-rollover in crontab<br />
<br />
==macgen.sh==<br />
Outputs wireless NIC hardware address<br />
<br />
==mkdevs==<br />
Simple script to automatically populate a /dev directory.<br />
<br />
==Mountmon scripts==<br />
See mountmon.conf for list of environment variables available on input<br />
and required output values<br />
===mountmon_utils.sh===<br />
Utility functions used by mountmon scripts<br />
===add.sh===<br />
"Add" event script for mountmon<br />
===mount.sh===<br />
Mount event script for mountmon<br />
===remove.sh===<br />
Remove event script for mountmon<br />
===umount.sh===<br />
Unmount event script for mountmon<br />
<br />
<br />
<br />
==network_running.sh==<br />
Determines whether the network is running<br />
<br />
==network_status.sh==<br />
Polls the status of the network interface and outputs XML to /tmp/chumby/network_status.xml<br />
<br />
==reboot_normal.sh==<br />
<br />
Reboots the Chumby<br />
<br />
==script_locations.sh==<br />
Set default script directory locations<br />
<br />
==service_control==<br />
Service control wrapper script<br />
Usage:<br />
service_control service_name action [args]<br />
<br />
This just gets the ETC_INIT_DIR value from script_locations.sh then invokes<br />
${ETC_INIT_DIR}/${service_name} action [args]<br />
<br />
==service_getpid==<br />
Get process id(s) of running service<br />
<br />
==service_list==<br />
Get list of running services<br />
<br />
<br />
==start_control_panel==<br />
Responsible for starting the control panel in the correct mode<br />
<br />
==start_intro==<br />
<br />
==start_network==<br />
Starts the network after the network config has been written<br />
<br />
==start_network.sh==<br />
symlink to start_network<br />
<br />
==start_opening_anim==<br />
<br />
==start_sshd.sh==<br />
Start the SSH Daemon<br />
<br />
==stop_control_panel==<br />
<br />
Stop the control panel widget from playing<br />
<br />
==sync_time.sh==<br />
<br />
Synchronize clock with network time server<br />
<br />
* Called by sync_time_state.sh<br />
<br />
==sync_time_state.sh==<br />
<br />
Set or read the sync_time_state from '''/psp/use_ntp''' <br />
<br />
<br />
==time_zone.sh==<br />
<br />
<br />
==update.sh==<br />
Autoupdate script<br />
<br />
==update_now.sh==<br />
Sets the paranoid boot flag to boot into<br />
autoupdate mode and force an immediate reboot.<br />
<br />
==wait_for_link==<br />
Wait for the (network?) interface to establish link before proceeding<br />
<br />
==wait_for_opening==<br />
<br />
Wait for opening animation to start.<br />
<br />
==wait_for_usb==<br />
Wait for the usb subsystem to finish loading before proceeding<br />
<br />
=Applications=<br />
These applications are in /usr/bin. <br />
* Note: Busybox tools are not included in this list.<br />
<br />
==amixer==<br />
==aplay==<br />
==arecord==<br />
==btplay==<br />
==chumbhowld==<br />
==chumbipod==<br />
==chumbipodd==<br />
==chumbpipe==<br />
==chumbpop==<br />
==chumbradio==<br />
==chumbradiod==<br />
==chumbyAuth==<br />
==chumby_set_volume==<br />
==chumbyflashplayer.x==<br />
==chumbyradio==<br />
==chumbytorrent==<br />
==cpi==<br />
CPI 1.0 [caustik@chumby.com]<br />
<br />
Usage : cpi [--help] | [-p] [-a] [-d] [-r]<br />
<br />
Interface with Crypto Processor<br />
<br />
Options:<br />
<br />
--help Display this help screen<br />
<br />
-k <KEYID> Use the specified key ID (default is 0)<br />
-r <FILE> Read query XML from FILE (ignored if valid -i specified)<br />
-w <FILE> Write result XML to FILE (ignored if valid -o specified)<br />
-i Read query XML from stdin<br />
-o Write result XML to stdout<br />
-p Write putative ID of specified key index to stdout<br />
-a <TIME> Set alarm to go off TIME seconds from now<br />
-s Shutdown the chumby (will occur after all other options)<br />
-d Write all CP data to stdout<br />
<br />
==curl==<br />
==dcid==<br />
==eject==<br />
==exportKeys==<br />
==fbwrite==<br />
==gdbserver==<br />
==headphone_mgr==<br />
==hexdump==<br />
Dump a file or pipe in hex<br />
==imgtool==<br />
==memstress==<br />
==mountmon==<br />
==mp3.x==<br />
==openssl==<br />
Open SSL tool<br />
==perl==<br />
<br />
This is perl, v5.8.8 built for linux<br />
<br />
==scp==<br />
Secure copy<br />
==ssh==<br />
Secure shell (ssh to another machine)<br />
<br />
==switchwait==<br />
==udevinfo==<br />
==udevstart==<br />
==udevtest==<br />
==usb==<br />
==wget==<br />
Get a file from the web</div>Phord//wiki.chumby.com/index.php?title=Chumby_Software_Applications,_Scripts_and_ToolsChumby Software Applications, Scripts and Tools2007-11-16T17:14:22Z<p>Phord: </p>
<hr />
<div>This page is an attempt to document the various scripts and applications which come pre-installed on a stock Chumby distribution. <br />
<br />
'''Status: Alpha'''<br />
<br />
Please help update it!<br />
<br />
=Scripts=<br />
All of these scripts are found in /usr/chumby/scripts/<br />
<br />
<br />
==ap_scan==<br />
ap_scan - Scans for wireless networks and outputs XML.<br />
If '''/tmp/hidden_ssid''' exists, the script will<br />
switch the SSID of the wireless interface to the<br />
SSID defined in '''/tmp/hidden_ssid''' before initiating<br />
the scan. If the interface was configured with a<br />
different SSID prior to a wireless scan that read<br />
from '''/tmp/hidden_ssid''', the script will restore the<br />
original SSID when the scan has completed.<br />
<br />
==chumby_set_mute==<br />
<br />
Set the "mute" volume of the Chumby. Mute affects the Chumby speaker<br />
but not the headphones. ''Is this correct?''<br />
<br />
<br />
==chumby_set_pan==<br />
<br />
Set the "balance" level of the Chumby. ''Is this correct?''<br />
<br />
<br />
==chumby_set_volume==<br />
<br />
Set the master volume of the Chumby. <br />
<br />
<br />
<br />
==chumby_version==<br />
<br />
Displays the software, firmware and hardware versions<br />
<br />
syntax: /usr/chumby/scripts/chumby_version [-s -f -h]<br />
-s - display software version<br />
-f - display firmware build number<br />
-h - display hardware version number<br />
<br />
<br />
==disable_intro==<br />
<br />
Disable the intro screen.<br />
<br />
==download_cp==<br />
<br />
<br />
==enable_intro==<br />
<br />
Enable the intro screen.<br />
<br />
==flashplayer_watchdog==<br />
<br />
Script that watches for flashplayer hangs or exits?<br />
<br />
==get_voltage.sh==<br />
<br />
With no arguments, reports raw values from /proc/chumby/battery-voltage<br />
If battery or line is specified, gets specified value and converts<br />
to approximate voltage.<br />
<br />
==guidgen.sh==<br />
<br />
Extracts chumby putative ID from crypto processor<br />
<br />
==headphone_manager==<br />
<br />
Daemon responsible for disabling internal speakers when external headphones/speaker is plugged in<br />
<br />
<br />
==log-rollover==<br />
<br />
Script to roll over /var/log/messages<br />
<br />
Usually invoked from crontab:<br />
50 2,6,10,14,18,22 * * * /usr/chumby/scripts/log-rollover<br />
<br />
==log-rollover-enable==<br />
Enable log-rollover in crontab<br />
<br />
==macgen.sh==<br />
Outputs wireless NIC hardware address<br />
<br />
==mkdevs==<br />
Simple script to automatically populate a /dev directory.<br />
<br />
==Mountmon scripts==<br />
See mountmon.conf for list of environment variables available on input<br />
and required output values<br />
===mountmon_utils.sh===<br />
Utility functions used by mountmon scripts<br />
===add.sh===<br />
"Add" event script for mountmon<br />
===mount.sh===<br />
Mount event script for mountmon<br />
===remove.sh===<br />
Remove event script for mountmon<br />
===umount.sh===<br />
Unmount event script for mountmon<br />
<br />
<br />
<br />
==network_running.sh==<br />
Determines whether the network is running<br />
<br />
==network_status.sh==<br />
Polls the status of the network interface and outputs XML to /tmp/chumby/network_status.xml<br />
<br />
==reboot_normal.sh==<br />
<br />
Reboots the Chumby<br />
<br />
==script_locations.sh==<br />
Set default script directory locations<br />
<br />
==service_control==<br />
Service control wrapper script<br />
Usage:<br />
service_control service_name action [args]<br />
<br />
This just gets the ETC_INIT_DIR value from script_locations.sh then invokes<br />
${ETC_INIT_DIR}/${service_name} action [args]<br />
<br />
==service_getpid==<br />
Get process id(s) of running service<br />
<br />
==service_list==<br />
Get list of running services<br />
<br />
<br />
==start_control_panel==<br />
Responsible for starting the control panel in the correct mode<br />
<br />
==start_intro==<br />
<br />
==start_network==<br />
Starts the network after the network config has been written<br />
<br />
==start_network.sh==<br />
symlink to start_network<br />
<br />
==start_opening_anim==<br />
<br />
==start_sshd.sh==<br />
Start the SSH Daemon<br />
<br />
==stop_control_panel==<br />
<br />
Stop the control panel widget from playing<br />
<br />
==sync_time.sh==<br />
<br />
Synchronize clock with network time server<br />
<br />
* Called by sync_time_state.sh<br />
<br />
==sync_time_state.sh==<br />
<br />
Set or read the sync_time_state from '''/psp/use_ntp''' <br />
<br />
<br />
==time_zone.sh==<br />
<br />
<br />
==update.sh==<br />
Autoupdate script<br />
<br />
==update_now.sh==<br />
Sets the paranoid boot flag to boot into<br />
autoupdate mode and force an immediate reboot.<br />
<br />
==wait_for_link==<br />
Wait for the (network?) interface to establish link before proceeding<br />
<br />
==wait_for_opening==<br />
<br />
Wait for opening animation to start.<br />
<br />
==wait_for_usb==<br />
Wait for the usb subsystem to finish loading before proceeding<br />
<br />
=Applications=<br />
These applications are in /usr/bin. <br />
* Note: Busybox tools are not included in this list.<br />
<br />
==amixer==<br />
==aplay==<br />
==arecord==<br />
==btplay==<br />
==chumbhowld==<br />
==chumbipod==<br />
==chumbipodd==<br />
==chumbpipe==<br />
==chumbpop==<br />
==chumbradio==<br />
==chumbradiod==<br />
==chumbyAuth==<br />
==chumby_set_volume==<br />
==chumbyflashplayer.x==<br />
==chumbyradio==<br />
==chumbytorrent==<br />
==cpi==<br />
CPI 1.0 [caustik@chumby.com]<br />
<br />
Usage : cpi [--help] | [-p] [-a] [-d] [-r]<br />
<br />
Interface with Crypto Processor<br />
<br />
Options:<br />
<br />
--help Display this help screen<br />
<br />
-k <KEYID> Use the specified key ID (default is 0)<br />
-r <FILE> Read query XML from FILE (ignored if valid -i specified)<br />
-w <FILE> Write result XML to FILE (ignored if valid -o specified)<br />
-i Read query XML from stdin<br />
-o Write result XML to stdout<br />
-p Write putative ID of specified key index to stdout<br />
-a <TIME> Set alarm to go off TIME seconds from now<br />
-s Shutdown the chumby (will occur after all other options)<br />
-d Write all CP data to stdout<br />
<br />
==curl==<br />
==dcid==<br />
==eject==<br />
==exportKeys==<br />
==fbwrite==<br />
==gdbserver==<br />
==headphone_mgr==<br />
==hexdump==<br />
Dump a file or pipe in hex<br />
==imgtool==<br />
==memstress==<br />
==mountmon==<br />
==mp3.x==<br />
==openssl==<br />
Open SSL tool<br />
==perl==<br />
<br />
This is perl, v5.8.8 built for linux<br />
<br />
==scp==<br />
Secure copy<br />
==ssh==<br />
Secure shell (ssh to another machine)<br />
<br />
==switchwait==<br />
==udevinfo==<br />
==udevstart==<br />
==udevtest==<br />
==usb==<br />
==wget==<br />
Get a file from the web</div>Phord//wiki.chumby.com/index.php?title=Chumby_Software_Applications,_Scripts_and_ToolsChumby Software Applications, Scripts and Tools2007-11-16T17:13:26Z<p>Phord: New page: 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! =Scripts= All of...</p>
<hr />
<div>This page is an attempt to document the various scripts and applications which come pre-installed on a stock Chumby distribution. <br />
<br />
Status: Alpha Please help update it!<br />
<br />
=Scripts=<br />
All of these scripts are found in /usr/chumby/scripts/<br />
<br />
<br />
==ap_scan==<br />
ap_scan - Scans for wireless networks and outputs XML.<br />
If '''/tmp/hidden_ssid''' exists, the script will<br />
switch the SSID of the wireless interface to the<br />
SSID defined in '''/tmp/hidden_ssid''' before initiating<br />
the scan. If the interface was configured with a<br />
different SSID prior to a wireless scan that read<br />
from '''/tmp/hidden_ssid''', the script will restore the<br />
original SSID when the scan has completed.<br />
<br />
==chumby_set_mute==<br />
<br />
Set the "mute" volume of the Chumby. Mute affects the Chumby speaker<br />
but not the headphones. ''Is this correct?''<br />
<br />
<br />
==chumby_set_pan==<br />
<br />
Set the "balance" level of the Chumby. ''Is this correct?''<br />
<br />
<br />
==chumby_set_volume==<br />
<br />
Set the master volume of the Chumby. <br />
<br />
<br />
<br />
==chumby_version==<br />
<br />
Displays the software, firmware and hardware versions<br />
<br />
syntax: /usr/chumby/scripts/chumby_version [-s -f -h]<br />
-s - display software version<br />
-f - display firmware build number<br />
-h - display hardware version number<br />
<br />
<br />
==disable_intro==<br />
<br />
Disable the intro screen.<br />
<br />
==download_cp==<br />
<br />
<br />
==enable_intro==<br />
<br />
Enable the intro screen.<br />
<br />
==flashplayer_watchdog==<br />
<br />
Script that watches for flashplayer hangs or exits?<br />
<br />
==get_voltage.sh==<br />
<br />
With no arguments, reports raw values from /proc/chumby/battery-voltage<br />
If battery or line is specified, gets specified value and converts<br />
to approximate voltage.<br />
<br />
==guidgen.sh==<br />
<br />
Extracts chumby putative ID from crypto processor<br />
<br />
==headphone_manager==<br />
<br />
Daemon responsible for disabling internal speakers when external headphones/speaker is plugged in<br />
<br />
<br />
==log-rollover==<br />
<br />
Script to roll over /var/log/messages<br />
<br />
Usually invoked from crontab:<br />
50 2,6,10,14,18,22 * * * /usr/chumby/scripts/log-rollover<br />
<br />
==log-rollover-enable==<br />
Enable log-rollover in crontab<br />
<br />
==macgen.sh==<br />
Outputs wireless NIC hardware address<br />
<br />
==mkdevs==<br />
Simple script to automatically populate a /dev directory.<br />
<br />
==Mountmon scripts==<br />
See mountmon.conf for list of environment variables available on input<br />
and required output values<br />
===mountmon_utils.sh===<br />
Utility functions used by mountmon scripts<br />
===add.sh===<br />
"Add" event script for mountmon<br />
===mount.sh===<br />
Mount event script for mountmon<br />
===remove.sh===<br />
Remove event script for mountmon<br />
===umount.sh===<br />
Unmount event script for mountmon<br />
<br />
<br />
<br />
==network_running.sh==<br />
Determines whether the network is running<br />
<br />
==network_status.sh==<br />
Polls the status of the network interface and outputs XML to /tmp/chumby/network_status.xml<br />
<br />
==reboot_normal.sh==<br />
<br />
Reboots the Chumby<br />
<br />
==script_locations.sh==<br />
Set default script directory locations<br />
<br />
==service_control==<br />
Service control wrapper script<br />
Usage:<br />
service_control service_name action [args]<br />
<br />
This just gets the ETC_INIT_DIR value from script_locations.sh then invokes<br />
${ETC_INIT_DIR}/${service_name} action [args]<br />
<br />
==service_getpid==<br />
Get process id(s) of running service<br />
<br />
==service_list==<br />
Get list of running services<br />
<br />
<br />
==start_control_panel==<br />
Responsible for starting the control panel in the correct mode<br />
<br />
==start_intro==<br />
<br />
==start_network==<br />
Starts the network after the network config has been written<br />
<br />
==start_network.sh==<br />
symlink to start_network<br />
<br />
==start_opening_anim==<br />
<br />
==start_sshd.sh==<br />
Start the SSH Daemon<br />
<br />
==stop_control_panel==<br />
<br />
Stop the control panel widget from playing<br />
<br />
==sync_time.sh==<br />
<br />
Synchronize clock with network time server<br />
<br />
* Called by sync_time_state.sh<br />
<br />
==sync_time_state.sh==<br />
<br />
Set or read the sync_time_state from '''/psp/use_ntp''' <br />
<br />
<br />
==time_zone.sh==<br />
<br />
<br />
==update.sh==<br />
Autoupdate script<br />
<br />
==update_now.sh==<br />
Sets the paranoid boot flag to boot into<br />
autoupdate mode and force an immediate reboot.<br />
<br />
==wait_for_link==<br />
Wait for the (network?) interface to establish link before proceeding<br />
<br />
==wait_for_opening==<br />
<br />
Wait for opening animation to start.<br />
<br />
==wait_for_usb==<br />
Wait for the usb subsystem to finish loading before proceeding<br />
<br />
=Applications=<br />
These applications are in /usr/bin. <br />
* Note: Busybox tools are not included in this list.<br />
<br />
==amixer==<br />
==aplay==<br />
==arecord==<br />
==btplay==<br />
==chumbhowld==<br />
==chumbipod==<br />
==chumbipodd==<br />
==chumbpipe==<br />
==chumbpop==<br />
==chumbradio==<br />
==chumbradiod==<br />
==chumbyAuth==<br />
==chumby_set_volume==<br />
==chumbyflashplayer.x==<br />
==chumbyradio==<br />
==chumbytorrent==<br />
==cpi==<br />
CPI 1.0 [caustik@chumby.com]<br />
<br />
Usage : cpi [--help] | [-p] [-a] [-d] [-r]<br />
<br />
Interface with Crypto Processor<br />
<br />
Options:<br />
<br />
--help Display this help screen<br />
<br />
-k <KEYID> Use the specified key ID (default is 0)<br />
-r <FILE> Read query XML from FILE (ignored if valid -i specified)<br />
-w <FILE> Write result XML to FILE (ignored if valid -o specified)<br />
-i Read query XML from stdin<br />
-o Write result XML to stdout<br />
-p Write putative ID of specified key index to stdout<br />
-a <TIME> Set alarm to go off TIME seconds from now<br />
-s Shutdown the chumby (will occur after all other options)<br />
-d Write all CP data to stdout<br />
<br />
==curl==<br />
==dcid==<br />
==eject==<br />
==exportKeys==<br />
==fbwrite==<br />
==gdbserver==<br />
==headphone_mgr==<br />
==hexdump==<br />
Dump a file or pipe in hex<br />
==imgtool==<br />
==memstress==<br />
==mountmon==<br />
==mp3.x==<br />
==openssl==<br />
Open SSL tool<br />
==perl==<br />
<br />
This is perl, v5.8.8 built for linux<br />
<br />
==scp==<br />
Secure copy<br />
==ssh==<br />
Secure shell (ssh to another machine)<br />
<br />
==switchwait==<br />
==udevinfo==<br />
==udevstart==<br />
==udevtest==<br />
==usb==<br />
==wget==<br />
Get a file from the web</div>Phord//wiki.chumby.com/index.php?title=Hacking_Linux_for_chumbyHacking Linux for chumby2007-11-16T16:18:11Z<p>Phord: Link to documentation about existing CLI scripts and software. Can someone please put this on the Main Page under Hacks/Software?</p>
<hr />
<div>=Existing Software=<br />
See existing [[Chumby Software Applications, Scripts and Tools]] already on your Chumby stock linux distro.<br />
<br />
=Alpha Prototype=<br />
The Alpha Prototype chumby runs a modified linux 2.4.20 kernel.<br />
<br />
'''Compiling the Kernel'''<br />
<br />
First, install the [[GCC Toolchain]].<br />
<br />
In order to build the chumby kernel, you can download the kernel source from [http://files.chumby.com/resources/chumby_kernel.tgz chumby_kernel.tgz] and build by doing the following:<br />
<br />
# mkdir kernel<br />
# cd kernel<br />
# tar zxvf chumby_kernel.tgz<br />
# make menuconfig<br />
(then immediately exit and save the config)<br />
# make dep<br />
# make Image<br />
<br />
If all goes well, you should end up with an uncompressed kernel image at arch/arm/boot/Image.<br />
<br />
=Ironforge=<br />
The "Ironforge" production chumby runs Linux 2.6.16 kernel.<br />
<br />
First install the [[GNU Toolchain]]<br />
<br />
In order to build the chumby kernel, you can download the kernel source from [http://files.chumby.com/source/ironforge/build312/linux-2.6.16-chumby-1.0.tar.gz linux-2.6.16-chumby-1.0.tar.gz] and build by doing the following:<br />
<br />
# mkdir kernel<br />
# cd kernel<br />
# tar zxvf linux-2.6.16-chumby-1.0.tar.gz<br />
# cd linux-2.6.16<br />
# ARCH=arm BOARD=mx21ads CROSS_COMPILE=arm-linux- make menuconfig<br />
(then immediately exit and save the config)<br />
# ARCH=arm BOARD=mx21ads CROSS_COMPILE=arm-linux- make<br />
<br />
If all goes well, you should end up with a compressed kernel image at '''arch/arm/boot/zImage''' and all of loadable kernel modules under the '''drivers''' directory.<br />
<br />
To find all of the drivers, run:<br />
# find drivers -name *.ko<br />
Which should return:<br />
<pre><br />
drivers/media/video/cpia.ko<br />
drivers/media/video/compat_ioctl32.ko<br />
drivers/media/video/cpia_usb.ko<br />
drivers/media/video/v4l1-compat.ko<br />
drivers/media/video/v4l2-common.ko<br />
drivers/media/video/videodev.ko<br />
drivers/bluetooth/hci_usb.ko<br />
drivers/bluetooth/hci_vhci.ko<br />
drivers/video/console/bitblit.ko<br />
drivers/video/console/fbcon.ko<br />
drivers/video/console/fbcon_ccw.ko<br />
drivers/video/console/fbcon_cw.ko<br />
drivers/video/console/fbcon_rotate.ko<br />
drivers/video/console/fbcon_ud.ko<br />
drivers/video/console/font.ko<br />
drivers/video/console/softcursor.ko<br />
drivers/char/chumby_accel.ko<br />
drivers/char/chumby_sense1.ko<br />
drivers/char/chumby_timer.ko<br />
drivers/usb/media/dsbr100.ko<br />
drivers/usb/net/asix.ko<br />
drivers/usb/net/cdc_ether.ko<br />
drivers/usb/net/pegasus.ko<br />
drivers/usb/net/usbnet.ko<br />
drivers/usb/input/usbhid.ko<br />
drivers/mfd/chumby-tsc2100.ko<br />
</pre><br />
<br />
'''Flashing the Kernel'''<br />
<br />
Directions provided by Bunnie in the forum: [http://forum.chumby.com/viewtopic.php?id=828]<br />
<br />
<pre><br />
If you want to reflash the kernel image, the quickest way to do it is to take the zImage file,<br />
zip it, and copy it to a VFAT formatted USB disk, and put it in a directory called "update2" by<br />
the name of k1.bin.zip. Even though zImage is already compressed, you need to zip it again because<br />
of the way the firmware updater works.<br />
<br />
Then, power on the chumby while pressing the touchscreen, and continue pressing it until you get<br />
into special options. Select the menu option to update the chumby, and then select update via USB. <br />
This will take the kernel image on the USB disk and flash it into the device.<br />
<br />
You can completely destroy the k1.bin.zip image and recover from this, because this update mechanism<br />
uses its own copy of the kernel that is unaffected by the update to k1.bin.zip.<br />
<br />
If you want to add more apps, you need to build a cramfs filesystem, and use a similar procedure<br />
but name the resulting cramfs binary image rfs1.bin.zip, also stuck in the update2/ directory on<br />
the USB drive.<br />
</pre></div>Phord