<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Prune&#039;s Blog &#187; UNIX</title>
	<atom:link href="http://www.lecentre.net/blog/archives/category/unix/feed" rel="self" type="application/rss+xml" />
	<link>http://www.lecentre.net/blog</link>
	<description>Internet, UNIX, Video, Leisure...</description>
	<lastBuildDate>Thu, 19 Jan 2012 20:38:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Syslog LogAnalyzer with LDAP authentication</title>
		<link>http://www.lecentre.net/blog/archives/1328</link>
		<comments>http://www.lecentre.net/blog/archives/1328#comments</comments>
		<pubDate>Thu, 19 Jan 2012 20:38:44 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Non classé]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[adiscon]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[loganalyzer]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rsyslog]]></category>
		<category><![CDATA[syslog]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/?p=1328</guid>
		<description><![CDATA[&#160; &#160; Adiscon is the company responsible for developping LogAnalyzer, a syslog (rsyslog, syslog-ng&#8230;) and/or flat file &#171;&#160;analyzer&#160;&#187;. By analyzer, understand that it enables you to display the log in a meaningful way, splitting it depending on &#171;&#160;views&#160;&#187; and enabling real search filters. If you don&#8217;t have the money for things liks Splunk and you [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="adiscon LogAnalyzer" src="http://loganalyzer.adiscon.com/wp-content/themes/loganalyzer/log-analyzer-logo.gif" alt="" width="274" height="68" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Adiscon is the company responsible for developping LogAnalyzer, a syslog (rsyslog, syslog-ng&#8230;) and/or flat file &laquo;&nbsp;analyzer&nbsp;&raquo;.<br />
By analyzer, understand that it enables you to display the log in a meaningful way, splitting it depending on &laquo;&nbsp;views&nbsp;&raquo; and enabling real search filters.</p>
<p>If you don&#8217;t have the money for things liks Splunk and you are not convinces by other new projects using Rails, NoSQL and other tools that are a pain in the ass to install, you may fallback to LogAnalyzer.<br />
<span id="more-1328"></span><br />
Loganalyzer is a LAMP (Apache, PHP, Mysql) application. Installing it is as easy as putting the PHP files in you web Documentroot and browse to it. You will be asked a few questions and you can start importing your log files.</p>
<p>To do that you need to create &laquo;&nbsp;sources&nbsp;&raquo; of data. A source can now be a flat file on the local disk or a database (Mysql).<br />
The choice for us was to use rSyslog on our servers. rSyslog is installed on every UNIX host. It is then configured to send the logs to a &laquo;&nbsp;loghost&nbsp;&raquo; server.<br />
Additionaly, on some hosts, flat files like the Apache access_log or Error_log are also sent by rSyslog.<br />
This lead to a client rsyslog.conf like :</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="co2">#rsyslog v3 config file</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># if you experience problems, check</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># http://www.rsyslog.com/troubleshoot for assistance</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#### MODULES ####</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ModLoad</span> imuxsock<span class="sy0">.</span>so    <span class="co2"># provides support for local system logging (e.g. via logger command)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ModLoad</span> imklog<span class="sy0">.</span>so      <span class="co2"># provides kernel logging support (previously done by rklogd)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#$ModLoad immark.so     # provides &#8211;MARK&#8211; message capability</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ModLoad</span> omrelp<span class="sy0">.</span>so      <span class="co2"># load RELP output module to send logs using RELP instead of UDP-TCP</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ModLoad</span> imfile         <span class="co2"># load the file input module to scan specific log files</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#### GLOBAL DIRECTIVES ####</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Use default timestamp format</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ActionFileDefaultTemplate</span> RSYSLOG_TraditionalFileFormat</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># File syncing capability is disabled by default. This feature is usually not required,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># not useful and an extreme performance hit</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#$ActionFileEnableSync on</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#### File Input module ####</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$InputFileName</span> <span class="sy0">/</span>opt<span class="sy0">/</span>app<span class="sy0">/</span><a href="http://www.php.net/log"><span class="kw3">log</span></a><span class="sy0">/</span>mylog<span class="sy0">.</span>xml</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$InputFileTag</span> mylog<span class="sy0">.</span>xml<span class="sy0">:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$InputFileStateFile</span> mylog<span class="sy0">.</span>xml</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$InputFileFacility</span> local5</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$InputFileSeverity</span> notice</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$InputRunFileMonitor</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#### RULES ####</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$template</span> TraditionalFormatWithPRI<span class="sy0">,</span><span class="st0">&quot;%PRI-text%: %timegenerated% %HOSTNAME% <span class="es6">%s</span>yslogtag<span class="es6">%%</span>msg:::drop-last-lf%<span class="es1">\n</span>&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Log all kernel messages to the console.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Logging much else clutters up the screen.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#kern.* /dev/console</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Log anything (except mail) of level info or higher.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Don&#8217;t log private authentication messages!</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">*.</span>info<span class="sy0">;</span>mail<span class="sy0">.</span>none<span class="sy0">;</span>authpriv<span class="sy0">.</span>none<span class="sy0">;</span>cron<span class="sy0">.</span>none<span class="sy0">;</span>local5<span class="sy0">.!</span>notice <span class="sy0">/</span><span class="kw2">var</span><span class="sy0">/</span><a href="http://www.php.net/log"><span class="kw3">log</span></a><span class="sy0">/</span>messages<span class="sy0">;</span>TraditionalFormatWithPRI</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># The authpriv file has restricted access.</span></div>
</li>
<li class="li1">
<div class="de1">authpriv<span class="sy0">.*</span> <span class="sy0">/</span><span class="kw2">var</span><span class="sy0">/</span><a href="http://www.php.net/log"><span class="kw3">log</span></a><span class="sy0">/</span>secure</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Log all the mail messages in one place.</span></div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.php.net/mail"><span class="kw3">mail</span></a><span class="sy0">.*</span> <span class="sy0">-/</span><span class="kw2">var</span><span class="sy0">/</span><a href="http://www.php.net/log"><span class="kw3">log</span></a><span class="sy0">/</span>maillog</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Log cron stuff</span></div>
</li>
<li class="li1">
<div class="de1">cron<span class="sy0">.*</span> <span class="sy0">/</span><span class="kw2">var</span><span class="sy0">/</span><a href="http://www.php.net/log"><span class="kw3">log</span></a><span class="sy0">/</span>cron</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Everybody gets emergency messages</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">*.</span>emerg <span class="sy0">*</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Save news errors of level crit and higher in a special file.</span></div>
</li>
<li class="li1">
<div class="de1">uucp<span class="sy0">,</span>news<span class="sy0">.</span>crit <span class="sy0">/</span><span class="kw2">var</span><span class="sy0">/</span><a href="http://www.php.net/log"><span class="kw3">log</span></a><span class="sy0">/</span>spooler</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Save boot messages also to boot.log</span></div>
</li>
<li class="li1">
<div class="de1">local7<span class="sy0">.*</span> <span class="sy0">/</span><span class="kw2">var</span><span class="sy0">/</span><a href="http://www.php.net/log"><span class="kw3">log</span></a><span class="sy0">/</span>boot<span class="sy0">.</span><a href="http://www.php.net/log"><span class="kw3">log</span></a></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># ### begin forwarding rule ###</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># The statement between the begin &#8230; end define a SINGLE forwarding</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># rule. They belong together, do NOT split them. If you create multiple</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># forwarding rules, duplicate the whole block!</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Remote Logging (we use TCP for reliable delivery)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># An on-disk queue is created for this action. If the remote host is</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># down, messages are spooled to disk and sent when it is up again.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$WorkDirectory</span> <span class="sy0">/</span><span class="kw2">var</span><span class="sy0">/</span>spool<span class="sy0">/</span>rsyslog <span class="co2"># where to place spool files</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ActionQueueFileName</span> fwdRule1 <span class="co2"># unique name prefix for spool files</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ActionQueueMaxDiskSpace</span> 1g <span class="co2"># 1gb space limit (use as much as possible)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ActionQueueSaveOnShutdown</span> on <span class="co2"># save messages to disk on shutdown</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ActionQueueType</span> LinkedList <span class="co2"># run asynchronously</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ActionResumeRetryCount</span> <span class="sy0">-</span><span class="nu0">1</span> <span class="co2"># infinite retries if host is down</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">*.*</span> <span class="sy0">@@</span>loghost<span class="sy0">:</span><span class="nu0">514</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#*.* <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> mrelp:loghost:20514;RSYSLOG_ForwardFormat</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># ### end of the forwarding rule ###</span></div>
</li>
</ol>
</div>
</div>
<p>On the server (receiver) side, the rSyslog will put data into files, rotating every day, and inside the DB.<br />
Actualy I don&#8217;t know yet if it is a good idea. For the moment I keep everything. I may consider archiving the flat files and deleting old logs from the DB.<br />
Then the DB would act as a buffer to search and correlate.</p>
<p>This is the server rsyslog.conf :</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="co2"># if you experience problems, check</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># http://www.rsyslog.com/troubleshoot for assistance</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># rsyslog v3: load input modules</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># If you do not load inputs, nothing happens!</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># You may need to set the module load path if modules are not found.</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># stats module &#8211; experimental</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># supprimer pour la mise en prod</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ModLoad</span> impstats</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$PStatInterval</span> 600</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$PStatSeverity</span> 7</div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.php.net/syslog"><span class="kw3">syslog</span></a><span class="sy0">.</span>debug <span class="sy0">/</span><span class="kw2">var</span><span class="sy0">/</span><a href="http://www.php.net/log"><span class="kw3">log</span></a><span class="sy0">/</span>rsyslog<span class="sy0">-</span>stats</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ModLoad</span> immark <span class="co2"># provides &#8211;MARK&#8211; message capability</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ModLoad</span> imuxsock <span class="co2"># provides support for local system logging (e.g. via logger command)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ModLoad</span> imklog <span class="co2"># kernel logging (formerly provided by rklogd)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ModLoad</span> ommysql <span class="co2"># locad Mysql backend module</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$WorkDirectory</span> <span class="sy0">/</span>opt<span class="sy0">/</span>rsyslog<span class="sy0">/</span>work <span class="co2"># default location for work (spool) files</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Templates</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$template</span> RemoteHost<span class="sy0">,</span><span class="st0">&quot;/opt/rsyslog/data/%<span class="es4">$YEAR</span>%/%<span class="es4">$MONTH</span>%/%<span class="es4">$DAY</span>%/%HOSTNAME%/<span class="es6">%s</span>yslogfacility-text%.log&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># used for Cisco, vanilla syslog when we can&#8217;t parse host name</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$template</span> RemoteFromHost<span class="sy0">,</span><span class="st0">&quot;/opt/rsyslog/data/<span class="es6">%F</span>ROMHOST%/%<span class="es4">$YEAR</span>%/%<span class="es4">$MONTH</span>%/%<span class="es4">$DAY</span>%/<span class="es6">%s</span>yslogfacility-text%.log&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># ######### Receiving Messages from local host only ##########</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Log all kernel messages to the console.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Logging much else clutters up the screen.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#kern.* /dev/console</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Log anything (except mail) of level info or higher.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Don&#8217;t log private authentication messages!</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">*.</span>info<span class="sy0">;</span>mail<span class="sy0">.</span>none<span class="sy0">;</span>authpriv<span class="sy0">.</span>none<span class="sy0">;</span>cron<span class="sy0">.</span>none <span class="sy0">-/</span><span class="kw2">var</span><span class="sy0">/</span><a href="http://www.php.net/log"><span class="kw3">log</span></a><span class="sy0">/</span>messages</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># The authpriv file has restricted access.</span></div>
</li>
<li class="li1">
<div class="de1">authpriv<span class="sy0">.*</span> <span class="sy0">/</span><span class="kw2">var</span><span class="sy0">/</span><a href="http://www.php.net/log"><span class="kw3">log</span></a><span class="sy0">/</span>secure</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Log all the mail messages in one place.</span></div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.php.net/mail"><span class="kw3">mail</span></a><span class="sy0">.*</span> <span class="sy0">-/</span><span class="kw2">var</span><span class="sy0">/</span><a href="http://www.php.net/log"><span class="kw3">log</span></a><span class="sy0">/</span>maillog</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Log cron stuff</span></div>
</li>
<li class="li1">
<div class="de1">cron<span class="sy0">.*</span> <span class="sy0">-/</span><span class="kw2">var</span><span class="sy0">/</span><a href="http://www.php.net/log"><span class="kw3">log</span></a><span class="sy0">/</span>cron</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Everybody gets emergency messages</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">*.</span>emerg <span class="sy0">*</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Save news errors of level crit and higher in a special file.</span></div>
</li>
<li class="li1">
<div class="de1">uucp<span class="sy0">,</span>news<span class="sy0">.</span>crit <span class="sy0">-/</span><span class="kw2">var</span><span class="sy0">/</span><a href="http://www.php.net/log"><span class="kw3">log</span></a><span class="sy0">/</span>spooler</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Save boot messages also to boot.log</span></div>
</li>
<li class="li1">
<div class="de1">local7<span class="sy0">.*</span> <span class="sy0">/</span><span class="kw2">var</span><span class="sy0">/</span><a href="http://www.php.net/log"><span class="kw3">log</span></a><span class="sy0">/</span>boot<span class="sy0">.</span><a href="http://www.php.net/log"><span class="kw3">log</span></a></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># ######### Receiving Messages from Remote Hosts ##########</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># at this point, we consider only remote messages</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$RuleSet</span> remote</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># TCP Syslog Server:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># provides TCP syslog reception and GSS-API (if compiled to support it)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ModLoad</span> imtcp<span class="sy0">.</span>so <span class="co2"># load module</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$InputTCPServerBindRuleset</span> remote</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$InputTCPServerRun</span> <span class="nu0">514</span> <span class="co2"># start up TCP listener at port 514</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># TCP Syslog Server for Cisco &#8211; need port over 1024 :</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># provides TCP syslog reception and GSS-API (if compiled to support it)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ModLoad</span> imtcp<span class="sy0">.</span>so <span class="co2"># load module</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$InputTCPServerBindRuleset</span> remote</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$InputTCPServerRun</span> <span class="nu0">1470</span> <span class="co2"># start up TCP listener at port 514</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># UDP Syslog Server:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ModLoad</span> imudp<span class="sy0">.</span>so <span class="co2"># provides UDP syslog reception</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$InputUDPServerBindRuleset</span> remote</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$UDPServerRun</span> <span class="nu0">514</span> <span class="co2"># start a UDP syslog server at standard port 514</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># RELP Syslog (Reliable Event Logging Protocol)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># WARNING : RELP messages are not passed through ruleset yet and will be logged localy</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ModLoad</span> imrelp <span class="co2"># load RELP input module to send reliable messages &#8211; better than TCP and UDP</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$InputRELPServerRun</span> <span class="nu0">20514</span> <span class="co2"># RELP port on 20514</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># #########</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># log remote hosts to specific files</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ActionQueueType</span> LinkedList <span class="co2"># use asynchronous processing</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ActionQueueFileName</span> dbq <span class="co2"># set file name, also enables disk mode</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ActionResumeRetryCount</span> <span class="sy0">-</span><span class="nu0">1</span> <span class="co2"># infinite retries on insert failure</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">*.*</span> <span class="sy0">-</span>?RemoteHost</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># log everything to mysql using default template</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#*.* <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> mmysql:database-server,database-name,database-userid,database-password</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#*.* <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> mmysql:localhost,loganalyzer,rsyslog,password</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># syslog-ng style template used by centreon-syslog</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$template</span> sysMysql<span class="sy0">,</span><span class="st0">&quot;INSERT INTO logs (host,facility, priority,level,tag,datetime,program,msg,ProcessID) VALUES (&#8216;%HOSTNAME%&#8217;,&#8217;<span class="es6">%s</span>yslogfacility%&#8217;,&#8217;<span class="es6">%s</span>yslogpriority%&#8217;,&#8217;<span class="es6">%s</span>yslogseverity%&#8217;,&#8217;<span class="es6">%s</span>yslogtag%&#8217;, &#8216;%timereported:::date-mysql%&#8217;,'%programname%&#8217;, &#8216;%msg%&#8217;,'%procid:R,ERE,0,ZERO:[0-9]+&#8211;end%&#8217;)&quot;</span><span class="sy0">,</span> SQL</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">*.*</span> <span class="sy0">:</span>ommysql<span class="sy0">:</span>localhost<span class="sy0">,</span>loganalyzer<span class="sy0">,</span>rsyslog<span class="sy0">,</span>password<span class="sy0">;</span>sysMysql</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># END remote logging</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#</span></div>
</li>
</ol>
</div>
</div>
<p>On the mysql side you will need to install the syslog-ng database schema. Mine is changed to also support ProcessID. (I will join the schema soon).<br />
On the Loganalyzer side you need to define sources and views.<br />
Sources will define which data source to use&#8230; flat file, mysql&#8230;<br />
To be able to use Mysql you will need to also create (or use the provided) DBMapping. This will match the DB fields to the Syslog Fields.<br />
Finaly, the &laquo;&nbsp;view&nbsp;&raquo; will decide which fields to display. For example, you could decide to display only the date and message of the error logs in a view because the hostname is not usefull. In another view you could decide that the date is not important but the host is, with the HTTP status code&#8230;</p>
<p>OK. You are all set-up with Loganalyzer&#8230; but you can only log-in with users from the mysql database.<br />
My users are in LDAP.<br />
While it would be hard to change the whole application to authenticate and search the groups in LDAP, the authentication part is easy to do.<br />
I just changed the functions_users.php so, instead of looking the user in the DB, do the auth on LDAP, create the user in the DB and continue with the normal behaviour&#8230;</p>
<p>Here is the code of the new function in <strong>include/functions_users.php</strong> :</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">function</span> CheckLDAPUserLogin<span class="br0">&#40;</span> <span class="re0">$username</span><span class="sy0">,</span> <span class="re0">$password</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">global</span> <span class="re0">$content</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$ldap_filter</span><span class="sy0">=</span><span class="st_h">&#8216;(&amp;amp;&#8217;</span><span class="sy0">.</span><span class="re0">$content</span><span class="br0">&#91;</span><span class="st_h">&#8216;LDAPSearchFilter&#8217;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st_h">&#8216;(&#8216;</span><span class="sy0">.</span><span class="re0">$content</span><span class="br0">&#91;</span><span class="st_h">&#8216;LDAPUidAttribute&#8217;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st_h">&#8216;=&#8217;</span><span class="sy0">.</span><span class="re0">$username</span><span class="sy0">.</span><span class="st_h">&#8216;))&#8217;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Open LDAP connection</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span><span class="br0">&#40;</span><span class="re0">$ds</span><span class="sy0">=</span><a href="http://www.php.net/ldap_connect"><span class="kw3">ldap_connect</span></a><span class="br0">&#40;</span><span class="re0">$content</span><span class="br0">&#91;</span><span class="st_h">&#8216;LDAPServer&#8217;</span><span class="br0">&#93;</span><span class="sy0">,</span><span class="re0">$content</span><span class="br0">&#91;</span><span class="st_h">&#8216;LDAPPort&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">return</span> <span class="kw4">false</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.php.net/ldap_set_option"><span class="kw3">ldap_set_option</span></a><span class="br0">&#40;</span><span class="re0">$ds</span><span class="sy0">,</span> LDAP_OPT_PROTOCOL_VERSION<span class="sy0">,</span> 3<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Bind as the privilegied user</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span><span class="br0">&#40;</span><span class="re0">$r</span><span class="sy0">=</span><a href="http://www.php.net/ldap_bind"><span class="kw3">ldap_bind</span></a><span class="br0">&#40;</span><span class="re0">$ds</span><span class="sy0">,</span><span class="re0">$content</span><span class="br0">&#91;</span><span class="st_h">&#8216;LDAPBindDN&#8217;</span><span class="br0">&#93;</span><span class="sy0">,</span><span class="re0">$content</span><span class="br0">&#91;</span><span class="st_h">&#8216;LDAPBindPassword&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">return</span> <span class="kw4">false</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// search for the user</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span><span class="br0">&#40;</span><span class="re0">$r</span><span class="sy0">=</span><a href="http://www.php.net/ldap_search"><span class="kw3">ldap_search</span></a><span class="br0">&#40;</span> <span class="re0">$ds</span><span class="sy0">,</span> <span class="re0">$content</span><span class="br0">&#91;</span><span class="st_h">&#8216;LDAPBaseDN&#8217;</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="re0">$ldap_filter</span><span class="sy0">,</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st0">&quot;uid&quot;</span><span class="sy0">,</span><span class="st0">&quot;cn&quot;</span><span class="sy0">,</span><span class="st0">&quot;localentryid&quot;</span><span class="sy0">,</span><span class="st0">&quot;userpassword&quot;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">DieWithFriendlyErrorMsg<span class="br0">&#40;</span> <span class="st0">&quot;Debug Error: Could not login user &#8216;&quot;</span> <span class="sy0">.</span> <span class="re0">$username</span> <span class="sy0">.</span> <span class="st0">&quot;&#8217;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;strong&gt;Sessionarray&lt;/strong&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;pre&gt;&quot;</span> <span class="sy0">.</span> <a href="http://www.php.net/var_export"><span class="kw3">var_export</span></a><span class="br0">&#40;</span><span class="re0">$_SESSION</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&quot;&lt;/pre&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;strong&gt;Search Filter &lt;/strong&gt;: &quot;</span> <span class="sy0">.</span> <span class="re0">$ldap_filter</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">return</span> <span class="kw4">false</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$info</span> <span class="sy0">=</span> <a href="http://www.php.net/ldap_get_entries"><span class="kw3">ldap_get_entries</span></a><span class="br0">&#40;</span><span class="re0">$ds</span><span class="sy0">,</span> <span class="re0">$r</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span><span class="re0">$info</span> <span class="sy0">||</span> <span class="re0">$info</span><span class="br0">&#91;</span><span class="st0">&quot;count&quot;</span><span class="br0">&#93;</span> <span class="sy0">!=</span> <span class="nu0">1</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">DieWithFriendlyErrorMsg<span class="br0">&#40;</span> <span class="st0">&quot;Debug Error: Could not login user &#8216;&quot;</span> <span class="sy0">.</span> <span class="re0">$username</span> <span class="sy0">.</span> <span class="st0">&quot;&#8217;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;strong&gt;Sessionarray&lt;/strong&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;pre&gt;&quot;</span> <span class="sy0">.</span> <a href="http://www.php.net/var_export"><span class="kw3">var_export</span></a><span class="br0">&#40;</span><span class="re0">$_SESSION</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&quot;&lt;/pre&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;strong&gt;Search Filter &lt;/strong&gt;: &quot;</span> <span class="sy0">.</span> <span class="re0">$ldap_filter</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">return</span> <span class="kw4">false</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// now we have the user data. Do a bind to check for his password</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span><span class="br0">&#40;</span><span class="re0">$r</span><span class="sy0">=</span><a href="http://www.php.net/ldap_bind"><span class="kw3">ldap_bind</span></a><span class="br0">&#40;</span> <span class="re0">$ds</span><span class="sy0">,</span> <span class="re0">$info</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">&#8216;dn&#8217;</span><span class="br0">&#93;</span><span class="sy0">,</span><span class="re0">$password</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">return</span> <span class="kw4">false</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// for the moment when a user logs in from LDAP, create it in the DB.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// then the prefs and group management is done in the DB and we don&#8217;t rewrite the whole Loganalyzer code&#8230;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// check if the user already exist</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$sqlquery</span> <span class="sy0">=</span> <span class="st0">&quot;SELECT * FROM &quot;</span> <span class="sy0">.</span> DB_USERS <span class="sy0">.</span> <span class="st0">&quot; WHERE username = &#8216;&quot;</span> <span class="sy0">.</span> <span class="re0">$username</span> <span class="sy0">.</span> <span class="st0">&quot;&#8217;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$result</span> <span class="sy0">=</span> DB_Query<span class="br0">&#40;</span><span class="re0">$sqlquery</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$myrow</span> <span class="sy0">=</span> DB_GetSingleRow<span class="br0">&#40;</span><span class="re0">$result</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$myrow</span><span class="br0">&#91;</span><span class="st_h">&#8216;is_admin&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Create User</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$result</span> <span class="sy0">=</span> DB_Query<span class="br0">&#40;</span><span class="st0">&quot;INSERT INTO &quot;</span> <span class="sy0">.</span> DB_USERS <span class="sy0">.</span> <span class="st0">&quot; (id, username, password, is_admin, is_readonly) VALUES (&quot;</span><span class="sy0">.</span><span class="re0">$info</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">&#8216;localentryid&#8217;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&quot;, &#8216;<span class="es4">$username</span>&#8216;, &#8216;rnd&quot;</span><span class="sy0">.</span><a href="http://www.php.net/md5"><span class="kw3">md5</span></a><span class="br0">&#40;</span><a href="http://www.php.net/mt_rand"><span class="kw3">mt_rand</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="st0">&quot;rnd&quot;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="st0">&quot;&#8217;, 0, 1)&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">DB_FreeQuery<span class="br0">&#40;</span><span class="re0">$result</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$myrow</span><span class="br0">&#91;</span><span class="st_h">&#8216;is_admin&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$myrow</span><span class="br0">&#91;</span><span class="st_h">&#8216;last_login&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$myrow</span><span class="br0">&#91;</span><span class="st_h">&#8216;is_readonly&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$myrowfinal</span><span class="br0">&#91;</span><span class="st_h">&#8216;username&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$info</span><span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re0">$content</span><span class="br0">&#91;</span><span class="st_h">&#8216;LDAPUidAttribute&#8217;</span><span class="br0">&#93;</span><span class="br0">&#93;</span><span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$myrowfinal</span><span class="br0">&#91;</span><span class="st_h">&#8216;password&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st0">&quot;hidden&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$myrowfinal</span><span class="br0">&#91;</span><span class="st_h">&#8216;dn&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$info</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">&#8216;dn&#8217;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$myrowfinal</span><span class="br0">&#91;</span><span class="st_h">&#8216;ID&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$info</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">&#8216;localentryid&#8217;</span><span class="br0">&#93;</span><span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$myrowfinal</span><span class="br0">&#91;</span><span class="st_h">&#8216;is_admin&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$myrow</span><span class="br0">&#91;</span><span class="st_h">&#8216;is_admin&#8217;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$myrowfinal</span><span class="br0">&#91;</span><span class="st_h">&#8216;is_readonly&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$myrow</span><span class="br0">&#91;</span><span class="st_h">&#8216;is_readonly&#8217;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$myrowfinal</span><span class="br0">&#91;</span><span class="st_h">&#8216;last_login&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$myrow</span><span class="br0">&#91;</span><span class="st_h">&#8216;last_login&#8217;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">return</span> <span class="re0">$myrowfinal</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Default return false</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">return</span> <span class="kw4">false</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> CheckUserLogin<span class="br0">&#40;</span> <span class="re0">$username</span><span class="sy0">,</span> <span class="re0">$password</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">global</span> <span class="re0">$content</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// if auth LDAP is used, don&#8217;t check the DB yet</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span> GetConfigSetting<span class="br0">&#40;</span><span class="st0">&quot;LDAPUserLoginRequired&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&quot;</span><span class="br0">&#41;</span> <span class="sy0">==</span> <span class="st0">&quot;true&quot;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$myrow</span> <span class="sy0">=</span> CheckLDAPUserLogin<span class="br0">&#40;</span> <span class="re0">$username</span><span class="sy0">,</span> <span class="re0">$password</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// TODO: SessionTime and AccessLevel check</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$md5pass</span> <span class="sy0">=</span> <a href="http://www.php.net/md5"><span class="kw3">md5</span></a><span class="br0">&#40;</span><span class="re0">$password</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$sqlquery</span> <span class="sy0">=</span> <span class="st0">&quot;SELECT * FROM &quot;</span> <span class="sy0">.</span> DB_USERS <span class="sy0">.</span> <span class="st0">&quot; WHERE username = &#8216;&quot;</span> <span class="sy0">.</span> <span class="re0">$username</span> <span class="sy0">.</span> <span class="st0">&quot;&#8217; and password = &#8216;&quot;</span> <span class="sy0">.</span> <span class="re0">$md5pass</span> <span class="sy0">.</span> <span class="st0">&quot;&#8217;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$result</span> <span class="sy0">=</span> DB_Query<span class="br0">&#40;</span><span class="re0">$sqlquery</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$myrow</span> <span class="sy0">=</span> DB_GetSingleRow<span class="br0">&#40;</span><span class="re0">$result</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>The rest of the code is the same.<br />
Also I had to add some configuration entries in the config.php file</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="co1">// &#8212; LDAP auth options</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$CFG</span><span class="br0">&#91;</span><span class="st_h">&#8216;LDAPUserLoginRequired&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="kw4">true</span><span class="sy0">;</span> <span class="co1">// activate LDAP auth</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$CFG</span><span class="br0">&#91;</span><span class="st_h">&#8216;LDAPServer&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st0">&quot;localhost&quot;</span><span class="sy0">;</span> <span class="co1">// LDAP server hostname or IP</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$CFG</span><span class="br0">&#91;</span><span class="st_h">&#8216;LDAPPort&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">389</span><span class="sy0">;</span> <span class="co1">// LDAP port, 389 or 636 for SSL</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$CFG</span><span class="br0">&#91;</span><span class="st_h">&#8216;LDAPBaseDN&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st0">&quot;ou=my,o=ldap&quot;</span><span class="sy0">;</span> <span class="co1">// Base DN for LDAP search</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$CFG</span><span class="br0">&#91;</span><span class="st_h">&#8216;LDAPSearchFilter&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st0">&quot;(objectclass=inetOrgPerson)&quot;</span><span class="sy0">;</span> <span class="co1">// search filter</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$CFG</span><span class="br0">&#91;</span><span class="st_h">&#8216;LDAPUidAttribute&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st0">&quot;uid&quot;</span><span class="sy0">;</span> <span class="co1">// the LDAP attribute used in the search to find the user. ex : uid, cn</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$CFG</span><span class="br0">&#91;</span><span class="st_h">&#8216;LDAPBindDN&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st0">&quot;cn=Manager,ou=my,o=ldap&quot;</span><span class="sy0">;</span> <span class="co1">// DN of the privileged user for the search</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$CFG</span><span class="br0">&#91;</span><span class="st_h">&#8216;LDAPBindPassword&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">&#8216;secret&#8217;</span><span class="sy0">;</span> <span class="co1">// Password of the privilegied user</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$CFG</span><span class="br0">&#91;</span><span class="st_h">&#8216;LDAPGroupAttribute&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">&#8216;member&#8217;</span><span class="sy0">;</span> <span class="co1">// attribute used to search for groups</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// &#8212;</span></div>
</li>
</ol>
</div>
</div>
<p>Here is the diff that you can put in a file and use the &laquo;&nbsp;patch&nbsp;&raquo; command to install.</p>
<div class="codesnip-container" >
<div class="diff codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">&#8212; include/functions_users_orig.php 2012-01-19 14:36:24.000000000 -0500</div>
</li>
<li class="li1">
<div class="de1"><span class="re4">+++ include/functions_users.php <span class="nu0">2012</span>-01-<span class="nu0">19</span> <span class="nu0">14</span>:<span class="nu0">33</span>:<span class="nu0">12.000000000</span> -0500</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re6">@@ -<span class="nu0">157</span>,<span class="nu0">16</span> +<span class="nu0">157</span>,<span class="nu0">83</span> @@</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re7">-function CheckUserLogin<span class="br0">&#40;</span> $username, $password <span class="br0">&#41;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+function CheckLDAPUserLogin<span class="br0">&#40;</span> $username, $password <span class="br0">&#41;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">global $content;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re7">- // TODO: SessionTime and AccessLevel check</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $ldap_filter=&#8217;<span class="br0">&#40;</span>&amp;amp;&#8217;.$content<span class="br0">&#91;</span>&#8216;LDAPSearchFilter&#8217;<span class="br0">&#93;</span>.&#8217;<span class="br0">&#40;</span>&#8216;.$content<span class="br0">&#91;</span>&#8216;LDAPUidAttribute&#8217;<span class="br0">&#93;</span>.&#8217;=&#8217;.$username.&#8217;<span class="br0">&#41;</span><span class="br0">&#41;</span>&#8216;;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re7">- $md5pass = md5<span class="br0">&#40;</span>$password<span class="br0">&#41;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re7">- $sqlquery = &quot;SELECT * FROM &quot; . DB_USERS . &quot; WHERE username = &#8216;&quot; . $username . &quot;&#8217; and password = &#8216;&quot; . $md5pass . &quot;&#8217;&quot;;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re7">- $result = DB_Query<span class="br0">&#40;</span>$sqlquery<span class="br0">&#41;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re7">- $myrow = DB_GetSingleRow<span class="br0">&#40;</span>$result, true<span class="br0">&#41;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ // Open LDAP connection</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ if <span class="br0">&#40;</span>!<span class="br0">&#40;</span>$ds=ldap_connect<span class="br0">&#40;</span>$content<span class="br0">&#91;</span>&#8216;LDAPServer&#8217;<span class="br0">&#93;</span>,$content<span class="br0">&#91;</span>&#8216;LDAPPort&#8217;<span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ return false;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ <span class="br0">&#125;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ ldap_set_option<span class="br0">&#40;</span>$ds, LDAP_OPT_PROTOCOL_VERSION, 3<span class="br0">&#41;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ // Bind as the privilegied user</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ if <span class="br0">&#40;</span>!<span class="br0">&#40;</span>$r=ldap_bind<span class="br0">&#40;</span>$ds,$content<span class="br0">&#91;</span>&#8216;LDAPBindDN&#8217;<span class="br0">&#93;</span>,$content<span class="br0">&#91;</span>&#8216;LDAPBindPassword&#8217;<span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ return false;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ <span class="br0">&#125;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ // search for the user</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ if <span class="br0">&#40;</span>!<span class="br0">&#40;</span>$r=ldap_search<span class="br0">&#40;</span> $ds, $content<span class="br0">&#91;</span>&#8216;LDAPBaseDN&#8217;<span class="br0">&#93;</span>, $ldap_filter, array<span class="br0">&#40;</span>&quot;uid&quot;,&quot;cn&quot;,&quot;localentryid&quot;,&quot;userpassword&quot;<span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ DieWithFriendlyErrorMsg<span class="br0">&#40;</span> &quot;Debug Error: Could not login user &#8216;&quot; . $username . &quot;&#8217;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">&lt;strong&gt;Sessionarray&lt;/strong&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">&lt;pre&gt;&quot; . var_export<span class="br0">&#40;</span>$_SESSION, true<span class="br0">&#41;</span> . &quot;&lt;/pre&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">&lt;strong&gt;Search Filter &lt;/strong&gt;: &quot; . $ldap_filter <span class="br0">&#41;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ return false;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ <span class="br0">&#125;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $info = ldap_get_entries<span class="br0">&#40;</span>$ds, $r<span class="br0">&#41;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ if <span class="br0">&#40;</span>!$info || $info<span class="br0">&#91;</span>&quot;count&quot;<span class="br0">&#93;</span> != <span class="nu0">1</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ DieWithFriendlyErrorMsg<span class="br0">&#40;</span> &quot;Debug Error: Could not login user &#8216;&quot; . $username . &quot;&#8217;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">&lt;strong&gt;Sessionarray&lt;/strong&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">&lt;pre&gt;&quot; . var_export<span class="br0">&#40;</span>$_SESSION, true<span class="br0">&#41;</span> . &quot;&lt;/pre&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">&lt;strong&gt;Search Filter &lt;/strong&gt;: &quot; . $ldap_filter <span class="br0">&#41;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ return false;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ <span class="br0">&#125;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ // now we have the user data. Do a bind to check for his password</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ if <span class="br0">&#40;</span>!<span class="br0">&#40;</span>$r=ldap_bind<span class="br0">&#40;</span> $ds, $info<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="br0">&#91;</span>&#8216;dn&#8217;<span class="br0">&#93;</span>,$password<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ return false;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ <span class="br0">&#125;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ // for the moment when a user logs in from LDAP, create it in the DB.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ // then the prefs and group management is done in the DB and we don&#8217;t rewrite the whole Loganalyzer code&#8230;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ // check if the user already exist</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $sqlquery = &quot;SELECT * FROM &quot; . DB_USERS . &quot; WHERE username = &#8216;&quot; . $username . &quot;&#8217;&quot;;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $result = DB_Query<span class="br0">&#40;</span>$sqlquery<span class="br0">&#41;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $myrow = DB_GetSingleRow<span class="br0">&#40;</span>$result, true<span class="br0">&#41;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ if <span class="br0">&#40;</span>!isset<span class="br0">&#40;</span>$myrow<span class="br0">&#91;</span>&#8216;is_admin&#8217;<span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ // Create User</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $result = DB_Query<span class="br0">&#40;</span>&quot;INSERT INTO &quot; . DB_USERS . &quot; <span class="br0">&#40;</span>id, username, password, is_admin, is_readonly<span class="br0">&#41;</span> VALUES <span class="br0">&#40;</span>&quot;.$info<span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="br0">&#91;</span>&#8216;localentryid&#8217;<span class="br0">&#93;</span><span class="br0">&#91;</span>0<span class="br0">&#93;</span>.&quot;, &#8216;$username&#8217;, &#8216;rnd&quot;.md5<span class="br0">&#40;</span>mt_rand<span class="br0">&#40;</span><span class="br0">&#41;</span>.&quot;rnd&quot;<span class="br0">&#41;</span>.&quot;&#8217;, 0, 1<span class="br0">&#41;</span>&quot;<span class="br0">&#41;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ DB_FreeQuery<span class="br0">&#40;</span>$result<span class="br0">&#41;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $myrow<span class="br0">&#91;</span>&#8216;is_admin&#8217;<span class="br0">&#93;</span> = <span class="nu0">0</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $myrow<span class="br0">&#91;</span>&#8216;last_login&#8217;<span class="br0">&#93;</span> = <span class="nu0">0</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $myrow<span class="br0">&#91;</span>&#8216;is_readonly&#8217;<span class="br0">&#93;</span> = <span class="nu0">1</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ <span class="br0">&#125;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $myrowfinal<span class="br0">&#91;</span>&#8216;username&#8217;<span class="br0">&#93;</span> = $info<span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="br0">&#91;</span>$content<span class="br0">&#91;</span>&#8216;LDAPUidAttribute&#8217;<span class="br0">&#93;</span><span class="br0">&#93;</span><span class="br0">&#91;</span>0<span class="br0">&#93;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $myrowfinal<span class="br0">&#91;</span>&#8216;password&#8217;<span class="br0">&#93;</span> = &quot;hidden&quot;;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $myrowfinal<span class="br0">&#91;</span>&#8216;dn&#8217;<span class="br0">&#93;</span> = $info<span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="br0">&#91;</span>&#8216;dn&#8217;<span class="br0">&#93;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $myrowfinal<span class="br0">&#91;</span>&#8216;ID&#8217;<span class="br0">&#93;</span> = $info<span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="br0">&#91;</span>&#8216;localentryid&#8217;<span class="br0">&#93;</span><span class="br0">&#91;</span>0<span class="br0">&#93;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $myrowfinal<span class="br0">&#91;</span>&#8216;is_admin&#8217;<span class="br0">&#93;</span> = $myrow<span class="br0">&#91;</span>&#8216;is_admin&#8217;<span class="br0">&#93;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $myrowfinal<span class="br0">&#91;</span>&#8216;is_readonly&#8217;<span class="br0">&#93;</span> = $myrow<span class="br0">&#91;</span>&#8216;is_readonly&#8217;<span class="br0">&#93;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $myrowfinal<span class="br0">&#91;</span>&#8216;last_login&#8217;<span class="br0">&#93;</span> = $myrow<span class="br0">&#91;</span>&#8216;last_login&#8217;<span class="br0">&#93;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ return $myrowfinal;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ // Default return false</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ return false;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+<span class="br0">&#125;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+function CheckUserLogin<span class="br0">&#40;</span> $username, $password <span class="br0">&#41;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+<span class="br0">&#123;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ global $content;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ // if auth LDAP is used, don&#8217;t check the DB yet</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ if <span class="br0">&#40;</span> GetConfigSetting<span class="br0">&#40;</span>&quot;LDAPUserLoginRequired&quot;, &quot;&quot;<span class="br0">&#41;</span> == &quot;true&quot;<span class="br0">&#41;</span> <span class="br0">&#123;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $myrow = CheckLDAPUserLogin<span class="br0">&#40;</span> $username, $password <span class="br0">&#41;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ <span class="br0">&#125;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ else <span class="br0">&#123;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ // TODO: SessionTime and AccessLevel check</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $md5pass = md5<span class="br0">&#40;</span>$password<span class="br0">&#41;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $sqlquery = &quot;SELECT * FROM &quot; . DB_USERS . &quot; WHERE username = &#8216;&quot; . $username . &quot;&#8217; and password = &#8216;&quot; . $md5pass . &quot;&#8217;&quot;;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $result = DB_Query<span class="br0">&#40;</span>$sqlquery<span class="br0">&#41;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ $myrow = DB_GetSingleRow<span class="br0">&#40;</span>$result, true<span class="br0">&#41;</span>;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re8">+ <span class="br0">&#125;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">// The admin field must be set!</div>
</li>
<li class="li1">
<div class="de1">if <span class="br0">&#40;</span> isset<span class="br0">&#40;</span>$myrow<span class="br0">&#91;</span>&#8216;is_admin&#8217;<span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span></div>
</li>
</ol>
</div>
</div>
<p>For the SQL of the logs tables :</p>
<div class="codesnip-container" >
<div class="sql codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">CREATE</span> <span class="kw1">TABLE</span> <span class="st0">`logs`</span> <span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">`host`</span> varchar<span class="br0">&#40;</span>128<span class="br0">&#41;</span> collate utf8_unicode_ci <span class="kw1">DEFAULT</span> <span class="kw1">NULL</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">`facility`</span> varchar<span class="br0">&#40;</span>10<span class="br0">&#41;</span> collate utf8_unicode_ci <span class="kw1">DEFAULT</span> <span class="kw1">NULL</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">`priority`</span> varchar<span class="br0">&#40;</span>10<span class="br0">&#41;</span> collate utf8_unicode_ci <span class="kw1">DEFAULT</span> <span class="kw1">NULL</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">`level`</span> varchar<span class="br0">&#40;</span>10<span class="br0">&#41;</span> collate utf8_unicode_ci <span class="kw1">DEFAULT</span> <span class="kw1">NULL</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">`tag`</span> varchar<span class="br0">&#40;</span>10<span class="br0">&#41;</span> collate utf8_unicode_ci <span class="kw1">DEFAULT</span> <span class="kw1">NULL</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">`datetime`</span> datetime <span class="kw1">DEFAULT</span> <span class="kw1">NULL</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">`program`</span> varchar<span class="br0">&#40;</span>256<span class="br0">&#41;</span> collate utf8_unicode_ci <span class="kw1">DEFAULT</span> <span class="kw1">NULL</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">`msg`</span> text collate utf8_unicode_ci<span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">`seq`</span> bigint<span class="br0">&#40;</span>20<span class="br0">&#41;</span> <span class="kw1">UNSIGNED</span> <span class="kw1">NOT</span> <span class="kw1">NULL</span> <span class="kw1">AUTO_INCREMENT</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">`counter`</span> int<span class="br0">&#40;</span>11<span class="br0">&#41;</span> <span class="kw1">NOT</span> <span class="kw1">NULL</span> <span class="kw1">DEFAULT</span> <span class="st0">&#8217;1&#8242;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">`fo`</span> datetime <span class="kw1">DEFAULT</span> <span class="kw1">NULL</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">`lo`</span> datetime <span class="kw1">DEFAULT</span> <span class="kw1">NULL</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">`processid`</span> char<span class="br0">&#40;</span>8<span class="br0">&#41;</span> collate utf8_unicode_ci <span class="kw1">DEFAULT</span> <span class="kw1">NULL</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">PRIMARY</span> <span class="kw1">KEY</span> <span class="br0">&#40;</span><span class="st0">`seq`</span><span class="br0">&#41;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">KEY</span> <span class="st0">`datetime`</span> <span class="br0">&#40;</span><span class="st0">`datetime`</span><span class="br0">&#41;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">KEY</span> <span class="st0">`priority`</span> <span class="br0">&#40;</span><span class="st0">`priority`</span><span class="br0">&#41;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">KEY</span> <span class="st0">`facility`</span> <span class="br0">&#40;</span><span class="st0">`facility`</span><span class="br0">&#41;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">KEY</span> <span class="st0">`program`</span> <span class="br0">&#40;</span><span class="st0">`program`</span><span class="br0">&#41;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">KEY</span> <span class="st0">`host`</span> <span class="br0">&#40;</span><span class="st0">`host`</span><span class="br0">&#41;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">KEY</span> <span class="st0">`host_datetime`</span> <span class="br0">&#40;</span><span class="st0">`host`</span><span class="sy0">,</span><span class="st0">`datetime`</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#41;</span> ENGINE<span class="sy0">=</span>MyISAM <span class="kw1">AUTO_INCREMENT</span><span class="sy0">=</span>1339013 <span class="kw1">DEFAULT</span> CHARSET<span class="sy0">=</span>utf8 COLLATE<span class="sy0">=</span>utf8_unicode_ci;</div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/1328/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitoring PHP APC cache usage</title>
		<link>http://www.lecentre.net/blog/archives/1311</link>
		<comments>http://www.lecentre.net/blog/archives/1311#comments</comments>
		<pubDate>Mon, 03 Oct 2011 19:22:08 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/?p=1311</guid>
		<description><![CDATA[APC is one of PHP Opcode Cache on the &#171;&#160;market&#160;&#187;. It is free and should be bundled inside the next revision of PHP, version 6. I won&#8217;t go deep into how OpCode caches work, you will find a lot of docs, just google for APC, Xcache, eAccelerator&#8230; What I can say is that APC (as [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.lecentre.net/blog/wp-content/uploads/2011/10/APC-INFO-qxat3p01-10.100.34.39-Mozilla-Firefox_2011-10-03_14-31-37.jpg"><img class="alignleft size-full wp-image-1312" title="APC INFO (qxat3p01) (10.100.34.39) - Mozilla Firefox_2011-10-03_14-31-37" src="http://www.lecentre.net/blog/wp-content/uploads/2011/10/APC-INFO-qxat3p01-10.100.34.39-Mozilla-Firefox_2011-10-03_14-31-37.jpg" alt="" width="128" height="53" /></a></p>
<p>APC is one of PHP Opcode Cache on the &laquo;&nbsp;market&nbsp;&raquo;. It is free and should be bundled inside the next revision of PHP, version 6.</p>
<p>I won&#8217;t go deep into how OpCode caches work, you will find a lot of docs, just google for APC, Xcache, eAccelerator&#8230; What I can say is that APC (as other caches do) will &laquo;&nbsp;save&nbsp;&raquo; binary parts of your PHP code into memory and use it when you call for the same PHP function again. This way you save all the PHP file opening, parsing, etc.</p>
<p>Maybe you noticed I said &laquo;&nbsp;into memory&nbsp;&raquo;. Yes. When you start APC it take a small amount (64 or 32Mo standard) of memory and store the binary parts in it.<br />
This is fine but what if you have a really big website with lots of functions, classes, includes&#8230; like when you&#8217;re using Typo3 and tons of extensions ?</p>
<p>One thing you won&#8217;t come accross often on internet is &laquo;&nbsp;How (the hell) do I know if APC is performing well ?&nbsp;&raquo;</p>
<p>First, most of the time, the PHP page generation time is halved when you activate APC. This is a good clue. Great.<br />
But what about memory consumption ?</p>
<p>During my tests, I found that APC completly flush the memory if it cannot add a new object. I don&#8217;t know if it&#8217;s a normal behaviour but it&#8217;s what I noted. This is why you have to extensively do your testing and tune the memory size before going to production.</p>
<p>This can be done really easyly with the apc.php page provided in the  APC package. You may not have it if you used some Linux package installer like yum or aptitude. If so, you&#8217;ll have to download the APC source from their website and copy apc.php to your web DocumentRoot or wherever you want it. As this is giving sensible informations, I would recomment to put it in a secured place.<br />
We are using Typo3 here so I put the page in the /typo3 folder, which is protected and only accessible by the backend users. This is secure enough for now. Else, use the default login process, user &laquo;&nbsp;apc&nbsp;&raquo; and password &laquo;&nbsp;password&nbsp;&raquo;. This can be changed in the page. Disable it if you put the file inside an already protected location.</p>
<p>Browse to your apc.php page and see what happen. First, you&#8217;ll get a nasty PHP error if you don&#8217;t have APC PHP module enabled. Ensure it is enables in /etc/php.d/apc.conf (on CentOS, can be somewhere else on other distro).</p>
<p><a href="http://www.lecentre.net/blog/wp-content/uploads/2011/10/APC-INFO3.jpg"><img class="aligncenter size-large wp-image-1326" title="APC-INFO3" src="http://www.lecentre.net/blog/wp-content/uploads/2011/10/APC-INFO3-1024x696.jpg" alt="" width="1024" height="696" /></a></p>
<p>What you see here is, on the left, some metrics and informations of the versions, uptime&#8230;<br />
On the right you have the memory utilisation and the cache hit/miss representation. Also, you can see the fragmentation of the memory. You don&#8217;t want that but actualy I&#8217;m not sure you have a way to reduce it&#8230;</p>
<p>The things you need to check are on the left side, in the panel &laquo;&nbsp;File Cache Information&nbsp;&raquo;.<br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2011/11/APC-INFO.jpg"><img class="aligncenter size-full wp-image-1321" title="APC-INFO" src="http://www.lecentre.net/blog/wp-content/uploads/2011/11/APC-INFO.jpg" alt="" width="456" height="220" /></a></p>
<p>Hits : how many objects were already in the cache and were used</p>
<p>Miss : how many objects were NOT in the cache, for whatever reason : first request for it, memory full, object can&#8217;t be cached&#8230;</p>
<p>Cache Full Count : how many times the cache (memory) was full and flushed</p>
<p>This last one is one of the most important and need to be checked first when you website start to slow.</p>
<p>Monitoring</p>
<p>Now you want to monitor this with your Nagios/Centreon or whatever&#8230; Well.<br />
I found a &laquo;&nbsp;APC monitoring project&nbsp;&raquo; out there, <a href="https://github.com/wwalter/apc-php-monitor" target="_blank">APC-PHP-MONITOR on GitHub</a>. This was my starting point as this one is really basic.</p>
<p>As they do, I made a PHP script you have to put in your PHP website somewhere. I used a basic check to ensure only the right IP can access this script. In my case, 10.1.1.88.</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="sy0">&lt;!&#8211;</span>?php <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$_SERVER</span><span class="br0">&#91;</span><span class="st0">&quot;REMOTE_ADDR&quot;</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st0">&quot;10.1.1.88&quot;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="kw1">print</span><span class="br0">&#40;</span><a href="http://www.php.net/serialize"><span class="kw3">serialize</span></a><span class="br0">&#40;</span>apc_cache_info<span class="br0">&#40;</span><span class="st_h">&nbsp;&raquo;</span><span class="sy0">,</span><span class="kw4">true</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="br0">&#125;</span> ?<span class="sy0">&#8211;&gt;</span></div>
</li>
</ol>
</div>
</div>
<p>Then I modified the PHP script so I can use it from Nagios or whatever. I named the file check_php_apc_cache.php. It&#8217;s not a superbe PHP script. It&#8217;s just dirty working fine for now.</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="sy0">&lt;!&#8211;</span>?php <span class="sy0">&lt;</span>br ?<span class="sy0">&#8211;&gt;</span> <span class="co2"># check_php_apc_cache.php</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># Modification by Sebastien Prune THOMAS</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># v1 &#8211; 20111003</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># creation</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">####################################</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$options</span> <span class="sy0">=</span> <a href="http://www.php.net/getopt"><span class="kw3">getopt</span></a><span class="br0">&#40;</span><span class="st0">&quot;H:p:w:c:d::&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># variables</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$output</span> <span class="sy0">=</span> <span class="st0">&quot;OK&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$port</span><span class="sy0">=</span><span class="nu0">80</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$warning</span><span class="sy0">=</span><span class="nu0">30</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$critical</span><span class="sy0">=</span><span class="nu0">10</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$debug</span> <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># code return : 0=OK, 1=WARN, 2=CRIT, 3=UNKNOWN</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$retcode</span><span class="sy0">=</span><span class="nu0">3</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/count"><span class="kw3">count</span></a><span class="br0">&#40;</span><span class="re0">$argv</span><span class="br0">&#41;</span> <span class="sy0">&amp;</span>lt<span class="sy0">;</span> 2 or <span class="re0">$argv</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="sy0">==</span><span class="st0">&quot;help&quot;</span> <span class="br0">&#41;</span><span class="br0">&#123;</span> <span class="kw1">print</span><span class="br0">&#40;</span><span class="st0">&quot;usage: php apc_stats.php -H hostname -p [port] -w [warning] -c [critical] [-d]<span class="es1">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="kw1">print</span><span class="br0">&#40;</span><span class="st0">&quot; hostname will be changed in a URL like http://hostname:port/apc_mon.php<span class="es1">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="kw1">print</span><span class="br0">&#40;</span><span class="st0">&quot; port is the HTTP port to use, default to 80<span class="es1">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="kw1">print</span><span class="br0">&#40;</span><span class="st0">&quot; warning : low level of cache use that will raise a warning. default 30<span class="es1">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="kw1">print</span><span class="br0">&#40;</span><span class="st0">&quot; critical : low level of cache use that will raise a critical. default 10<span class="es1">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="kw1">print</span><span class="br0">&#40;</span><span class="st0">&quot; -d enables debug mode<span class="es1">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="kw1">print</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es1">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span> <a href="http://www.php.net/exit"><span class="kw3">exit</span></a><span class="sy0">;</span> <span class="br0">&#125;</span> <span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$options</span><span class="br0">&#91;</span><span class="st0">&quot;H&quot;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> and <span class="sy0">!</span><a href="http://www.php.net/is_null"><span class="kw3">is_null</span></a><span class="br0">&#40;</span><span class="re0">$options</span><span class="br0">&#91;</span><span class="st0">&quot;H&quot;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="re0">$host</span> <span class="sy0">=</span> <span class="re0">$options</span><span class="br0">&#91;</span><span class="st0">&quot;H&quot;</span><span class="br0">&#93;</span><span class="sy0">;</span> <span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$options</span><span class="br0">&#91;</span><span class="st0">&quot;p&quot;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> and <span class="sy0">!</span><a href="http://www.php.net/is_null"><span class="kw3">is_null</span></a><span class="br0">&#40;</span><span class="re0">$options</span><span class="br0">&#91;</span><span class="st0">&quot;p&quot;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="re0">$port</span> <span class="sy0">=</span> <span class="re0">$options</span><span class="br0">&#91;</span><span class="st0">&quot;p&quot;</span><span class="br0">&#93;</span><span class="sy0">;</span> <span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$options</span><span class="br0">&#91;</span><span class="st0">&quot;w&quot;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> and <span class="sy0">!</span><a href="http://www.php.net/is_null"><span class="kw3">is_null</span></a><span class="br0">&#40;</span><span class="re0">$options</span><span class="br0">&#91;</span><span class="st0">&quot;w&quot;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="re0">$warning</span> <span class="sy0">=</span> <span class="re0">$options</span><span class="br0">&#91;</span><span class="st0">&quot;w&quot;</span><span class="br0">&#93;</span><span class="sy0">;</span> <span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$options</span><span class="br0">&#91;</span><span class="st0">&quot;c&quot;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> and <span class="sy0">!</span><a href="http://www.php.net/is_null"><span class="kw3">is_null</span></a><span class="br0">&#40;</span><span class="re0">$options</span><span class="br0">&#91;</span><span class="st0">&quot;c&quot;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$options</span><span class="br0">&#91;</span><span class="st0">&quot;d&quot;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="re0">$debug</span> <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span> <span class="co2">#ensure critical is lower than warning if ($critical &amp;gt;= $warning) {</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">print</span> <span class="st0">&quot;Error : critical value must be lower than warning<span class="es1">\n</span>&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.php.net/exit"><span class="kw3">exit</span></a><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># get the answer from the php APC page</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$url</span> <span class="sy0">=</span> <span class="st0">&quot;http://&quot;</span> <span class="sy0">.</span> <span class="re0">$host</span> <span class="sy0">.</span> <span class="st0">&quot;:&quot;</span> <span class="sy0">.</span> <span class="re0">$port</span> <span class="sy0">.</span> <span class="st0">&quot;/apc_mon.php&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$results</span> <span class="sy0">=</span> <a href="http://www.php.net/file_get_contents"><span class="kw3">file_get_contents</span></a><span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#41;</span> or <a href="http://www.php.net/die"><span class="kw3">die</span></a><span class="br0">&#40;</span><span class="st0">&quot;server is not responding&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$results</span><span class="br0">&#41;</span> <span class="re0">$results</span> <span class="sy0">=</span> <a href="http://www.php.net/unserialize"><span class="kw3">unserialize</span></a><span class="br0">&#40;</span><span class="re0">$results</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">print</span><span class="br0">&#40;</span><span class="st0">&quot;ERROR/n&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.php.net/exit"><span class="kw3">exit</span></a><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># debug</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span> <span class="re0">$debug</span> <span class="sy0">==</span> 1<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.php.net/print_r"><span class="kw3">print_r</span></a><span class="br0">&#40;</span><span class="re0">$results</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2"># compute ratio</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$results</span><span class="br0">&#91;</span><span class="st0">&quot;num_hits&quot;</span><span class="br0">&#93;</span> <span class="sy0">&amp;</span>gt<span class="sy0">;</span> 0<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$hit_ratio</span><span class="sy0">=</span><span class="br0">&#40;</span><span class="re0">$results</span><span class="br0">&#91;</span><span class="st0">&quot;num_hits&quot;</span><span class="br0">&#93;</span><span class="sy0">/</span><span class="br0">&#40;</span><span class="re0">$results</span><span class="br0">&#91;</span><span class="st0">&quot;num_hits&quot;</span><span class="br0">&#93;</span><span class="sy0">+</span><span class="re0">$results</span><span class="br0">&#91;</span><span class="st0">&quot;num_misses&quot;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">*</span><span class="nu0">100</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$hit_ratio</span><span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$hit_ratio</span> <span class="sy0">&amp;</span>gt<span class="sy0">;=</span> <span class="re0">$warning</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$output</span> <span class="sy0">=</span> <span class="st0">&quot;OK&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$retcode</span><span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">else</span> <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$critical</span></div>
</li>
</ol>
</div>
</div>
<p>You can then create a Nagios check or Template. Mine looks like this :</p>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">define <span class="kw3">command</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">command_name check_PHP_APC_cache</div>
</li>
<li class="li1">
<div class="de1">command_line php <span class="re1">$USER1</span>$<span class="sy0">/</span>check_php_apc_cache.php <span class="re5">-H</span> <span class="re1">$HOSTADDRESS</span>$ <span class="re5">-p</span> <span class="re1">$ARG1</span>$ <span class="re5">-w</span> <span class="re1">$ARG2</span>$ <span class="re5">-c</span> <span class="re1">$ARG3</span>$</div>
</li>
<li class="li1">
<div class="de1">;<span class="re1">$ARG1</span>$ TCP port <span class="br0">&#40;</span>80<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">;<span class="re1">$ARG2</span>$ warning level <span class="br0">&#40;</span>30<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">;<span class="re1">$ARG3</span>$ critical level <span class="br0">&#40;</span><span class="nu0">10</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>Finaly, the result :<br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2011/10/Centreon-IT-Network-Monitoring-Mozilla-Firefox_2011-10-03_15-04-13.jpg"><img class="alignnone size-large wp-image-1316" title="Centreon - IT &amp; Network Monitoring - Mozilla Firefox_2011-10-03_15-04-13" src="http://www.lecentre.net/blog/wp-content/uploads/2011/10/Centreon-IT-Network-Monitoring-Mozilla-Firefox_2011-10-03_15-04-13-1024x83.jpg" alt="" width="1024" height="83" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/1311/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sending SMS from Nagios</title>
		<link>http://www.lecentre.net/blog/archives/985</link>
		<comments>http://www.lecentre.net/blog/archives/985#comments</comments>
		<pubDate>Thu, 17 Dec 2009 13:10:24 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/?p=985</guid>
		<description><![CDATA[Sometimes you need to be able to send SMS from a computer. This is obvious when you&#8217;re talking of monitoring your servers. Email alerts are good, but what if you&#8217;re sleeping ? I used to set up a SMS modem, with it&#8217;s own SIM card and subscription. This is really easy, using smsd daemon, to [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-986" title="logo" src="http://www.lecentre.net/blog/wp-content/uploads/2009/12/logo-250x63.png" alt="logo" width="250" height="63" /></p>
<p>Sometimes you need to be able to send SMS from a computer. This is obvious when you&#8217;re talking of monitoring your servers. Email alerts are good, but what if you&#8217;re sleeping ?<br />
I used to set up a SMS modem, with it&#8217;s own SIM card and subscription. This is really easy, using smsd daemon, to send SMS. Just put a formated file in a directory and bam!, you SMS is fired.<br />
But what when you can&#8217;t set a SMS Modem in a datacenter ?</p>
<p>Then you have to use an online SMS provider.</p>
<li>Good</li>
<p><span style="color: #339966;"><span style="background-color: #ffffff;">you just have to call an API to send a SMS</span></span></p>
<li>BAD</li>
<p><span style="color: #ff0000;">it&#8217;s not free (you pay per SMS when the modem can have an unlimited SMS sending subscription<br />
it is network dependant ; if you have a network failure, you will never be informed</span></p>
<p><span id="more-985"></span></p>
<p>Once you know that, you can start using it.<br />
I will set up two monitoring plateforms : one inside the datacenter, monitoring every services and local network and one outside, on a hosted server somewhere else, to check the network connecivity of the datacenter.</p>
<p>As our main monitoring is using Nagios, I had to write scripts for it. I now have 2 python scripts : one for sending SMS, one to check how many SMS I have on my account.</p>
<p>I first had a quick look on the french SMS providers. I chosed <a href="http://www.smsenvoi.com">www.smsenvoi.com</a> as they are one of the cheapest and the http and mail API are free (yes, some providers make you pay for that !!). They are also based in Marseilles. I&#8217;m happy thinking people there can do better than people from Paris <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So, let&#8217;s dig the http API. You can find it at <a title="http://www.smsenvoi.com/pgs_api.php" href="http://www.smsenvoi.com/pgs_api.php" target="_blank">http://www.smsenvoi.com/pgs_api.php</a><br />
It&#8217;s quite simple, even if ugly : you send data in POST request, like : userLogin=your.account@domain.com&amp;userPassword=your_password_clear&amp;&#8230;<br />
And call a page, depending on your need :</p>
<ul>
<li>smsEnvoi.php : send a message</li>
</ul>
<ul>
<li>smsNumber.php : see how many SMS you have availlable in your account</li>
</ul>
<ul>
<li>smsStatus.php and smsMNC.php : check if a SMS have been sent (this is used when you do mass sending)</li>
</ul>
<p>You can do pretty neat things. Just check on their website what the URL&#8217;s are.<br />
To be honest, I only re-write, in a simple way, what the PHP code do but in Python.</p>
<p>You can find the two scripts attached.<br />
<strong>sendSMS.py</strong> take a message from the line input and send it. You have to start it for each recipient. Even if it&#8217;s easy to add many recipient at the same time, Nagios can&#8217;t do that. I&#8217;m just keeping it simple.<br />
<strong>check_sms_free</strong> is a script (nagios check formated) to check how many SMS you still have in your account. The Nagios check is defines to be at WARNING state when only 50 SMS are availlable and in CRITICAL state when only 10 are.</p>
<p>Here are the Nagios config (I do have it in Nconf, but here is what is generated in the statis Nagios file) :</p>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">define <span class="kw3">command</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">command_name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;host-notify-by-sms</div>
</li>
<li class="li1">
<div class="de1">command_line &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span><span class="kw3">printf</span> <span class="st0">&quot;%b&quot;</span> <span class="st0">&quot;Type: <span class="es2">$NOTIFICATIONTYPE</span>$ &#8211; Host: <span class="es2">$HOSTALIAS</span>$ &#8211; Address: <span class="es2">$HOSTADDRESS</span>$ &#8211; State: <span class="es2">$HOSTSTATE</span>$ &#8211; Date: <span class="es2">$LONGDATETIME</span>$ &#8211; Info: <span class="es2">$HOSTOUTPUT</span>$&quot;</span> <span class="sy0">|</span> <span class="sy0">/</span>opt<span class="sy0">/</span>monitor<span class="sy0">/</span>nagios<span class="sy0">/</span>scripts<span class="sy0">/</span>sendSMS.py <span class="re5">&#8211;login</span>=<span class="re1">$USER8</span>$ <span class="re5">&#8211;passwd</span>=<span class="re1">$USER9</span>$ <span class="re5">&#8211;smsserver</span>=www.smsenvoi.com <span class="re5">&#8211;receivers</span>=+<span class="re1">$CONTACTPAGER</span>$ <span class="re5">&#8211;smsfrom</span>=monitor-prod</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">define <span class="kw3">command</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">command_name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;notify-by-sms</div>
</li>
<li class="li1">
<div class="de1">command_line &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span><span class="kw3">printf</span> <span class="st0">&quot;%b&quot;</span> <span class="st0">&quot;Type: <span class="es2">$NOTIFICATIONTYPE</span>$ &#8211; Service: <span class="es2">$SERVICEDESC</span>$ &#8211; Host: <span class="es2">$HOSTALIAS</span>$ &#8211; State: <span class="es2">$SERVICESTATE</span>$ &#8211; Date: <span class="es2">$LONGDATETIME</span>$ &#8211; Info: <span class="es2">$SERVICEOUTPUT</span>$&quot;</span> <span class="sy0">|</span> <span class="sy0">/</span>opt<span class="sy0">/</span>monitor<span class="sy0">/</span>nagios<span class="sy0">/</span>scripts<span class="sy0">/</span>sendSMS.py <span class="re5">&#8211;login</span>=<span class="re1">$USER8</span>$ <span class="re5">&#8211;passwd</span>=<span class="re1">$USER9</span>$ <span class="re5">&#8211;smsserver</span>=www.smsenvoi.com <span class="re5">&#8211;receivers</span>=<span class="re1">$CONTACTPAGER</span>$ <span class="re5">&#8211;smsfrom</span>=monitor-prod</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">define <span class="kw3">command</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">command_name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;check_sms_free</div>
</li>
<li class="li1">
<div class="de1">command_line &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re1">$USER1</span>$<span class="sy0">/</span>check_sms_free <span class="re5">&#8211;login</span>=<span class="re1">$USER8</span>$ <span class="re5">&#8211;passwd</span>=<span class="re1">$USER9</span>$ <span class="re5">&#8211;smsserver</span>=<span class="re1">$ARG1</span>$ <span class="re5">-w</span> <span class="re1">$ARG2</span>$ <span class="re5">-c</span> <span class="re1">$ARG3</span>$</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>Define the username and password for the <strong>smsenvoi</strong> account in resource.cfg as $USER8$ and $USER9$</p>
<p>Then, you can add the check to a host :</p>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">define service <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">service_description &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; check_sms_free</div>
</li>
<li class="li1">
<div class="de1">check_command &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; check_sms_free<span class="sy0">!</span>www.smsenvoi.com<span class="sy0">!</span><span class="nu0">50</span><span class="sy0">!</span><span class="nu0">10</span></div>
</li>
<li class="li1">
<div class="de1">host_name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; localhost</div>
</li>
<li class="li1">
<div class="de1">check_period &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;24&#215;7</div>
</li>
<li class="li1">
<div class="de1">notification_period &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 24&#215;7</div>
</li>
<li class="li1">
<div class="de1">contact_groups &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;admins,sysadmins</div>
</li>
<li class="li1">
<div class="de1">event_handler_enabled &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span></div>
</li>
<li class="li1">
<div class="de1">active_checks_enabled &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span></div>
</li>
<li class="li1">
<div class="de1">passive_checks_enabled &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">1</span></div>
</li>
<li class="li1">
<div class="de1">notifications_enabled &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span></div>
</li>
<li class="li1">
<div class="de1">check_freshness &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span></div>
</li>
<li class="li1">
<div class="de1">freshness_threshold &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">86400</span></div>
</li>
<li class="li1">
<div class="de1">use &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Default_timeperiod_interval_5</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>Don&#8217;t forget to define the cellphone number of each users in the &laquo;&nbsp;PAGER&nbsp;&raquo; field :</p>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">define contact <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">contact_name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="sy0">@</span>lecentre.net-sms</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">alias</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sms lecentre</div>
</li>
<li class="li1">
<div class="de1">host_notification_options &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; d,r</div>
</li>
<li class="li1">
<div class="de1">service_notification_options &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;c,r</div>
</li>
<li class="li1">
<div class="de1">email &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">@</span>lecentre.net</div>
</li>
<li class="li1">
<div class="de1">pager &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +<span class="nu0">33682887766</span></div>
</li>
<li class="li1">
<div class="de1">host_notification_period &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;24&#215;7</div>
</li>
<li class="li1">
<div class="de1">service_notification_period &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 24&#215;7</div>
</li>
<li class="li1">
<div class="de1">host_notification_commands &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;host-notify-by-sms</div>
</li>
<li class="li1">
<div class="de1">service_notification_commands &nbsp; &nbsp; &nbsp; &nbsp; notify-by-sms</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>Note the format of the phone number, with international format, starting with +<br />
And voila&#8230;<br />
Find the two scripts here : <a title="sendSMS.py" href="http://www.lecentre.net/blog/download/sendSMS.py" target="_blank">sendSMS.py</a> and <a title="check_sms_free" href="http://www.lecentre.net/blog/download/check_sms_free" target="_blank">check_sms_free</a></p>
<p>Todos :<br />
- limit the message size to 160 caracters, which is the max for a single SMS. If you send messages longer, they will count as two SMS.<br />
- catch every exception in the httplib Python framework (this is really basic for the moment)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/985/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Euphonix MC Transport config files</title>
		<link>http://www.lecentre.net/blog/archives/937</link>
		<comments>http://www.lecentre.net/blog/archives/937#comments</comments>
		<pubDate>Sun, 01 Nov 2009 20:34:06 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[OS X]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/?p=937</guid>
		<description><![CDATA[Check my articles about Euphonix&#8217;s MC Transport controler here and there. If you install the software for every user on the computer (maybe you don&#8217;t have the choice, can&#8217;t remember), every defined application will have a corresponding preference file. On my computer they are in &#171;&#160;/Library/Application Support/Euphonix/UserSets/MC2User/MC_USER_SET__Root&#160;&#187; prunemp:tmp prune$ ls -l /Library/Application\ Support/Euphonix/UserSets/MC2User/MC_USER_SET__Root total 744 [...]]]></description>
			<content:encoded><![CDATA[<p>Check my articles about Euphonix&#8217;s MC Transport controler <a href="http://www.lecentre.net/blog/archives/850">here</a> and <a href="http://www.lecentre.net/blog/archives/881">there</a>.<br />
If you install the software for every user on the computer (maybe you don&#8217;t have the choice, can&#8217;t remember), every defined application will have a corresponding preference file.<br />
On my computer they are in <em>&laquo;&nbsp;/Library/Application Support/Euphonix/UserSets/MC2User/MC_USER_SET__Root&nbsp;&raquo;</em></p>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">prunemp:tmp <span class="kw2">prune</span>$ <span class="kw2">ls</span> <span class="re5">-l</span> <span class="sy0">/</span>Library<span class="sy0">/</span>Application\ Support<span class="sy0">/</span>Euphonix<span class="sy0">/</span>UserSets<span class="sy0">/</span>MC2User<span class="sy0">/</span>MC_USER_SET__Root</div>
</li>
<li class="li1">
<div class="de1">total 744</div>
</li>
<li class="li1">
<div class="de1"><span class="re5">-rw-r&#8211;r&#8211;</span> &nbsp;1 <span class="kw2">prune</span> &nbsp;admin &nbsp;174271 &nbsp;1 nov 18:01 Final Cut Pro.xml</div>
</li>
<li class="li1">
<div class="de1"><span class="re5">-rw-r&#8211;r&#8211;</span> &nbsp;1 <span class="kw2">prune</span> &nbsp;admin &nbsp; 74407 25 oct 02:23 Safari.xml</div>
</li>
<li class="li1">
<div class="de1"><span class="re5">-rw-r&#8211;r&#8211;</span> &nbsp;1 <span class="kw2">prune</span> &nbsp;admin &nbsp; 50407 &nbsp;1 nov 20:09 VLC.xml</div>
</li>
<li class="li1">
<div class="de1"><span class="re5">-r&#8211;r&#8211;r&#8211;</span> &nbsp;1 <span class="kw2">prune</span> &nbsp;admin &nbsp; 21894 21 avr &nbsp;2009 default.xml</div>
</li>
<li class="li1">
<div class="de1"><span class="re5">-rw-r&#8211;r&#8211;</span> &nbsp;1 <span class="kw2">prune</span> &nbsp;admin &nbsp; <span class="nu0">45115</span> <span class="nu0">25</span> oct 02:<span class="nu0">40</span> iTunes.xml</div>
</li>
</ol>
</div>
</div>
<p><span id="more-937"></span></p>
<p>As you can see, it is composed of XML files. We&#8217;ll go through the VLC.xml file and try to learn about it. Then you&#8217;ll be able to download it, or change or build your own in a XML editor.<br />
When you&#8217;re done changing it, just quit the EUcontrol software and start it over.</p>
<p>Structure of the file :<br />
<img src="http://www.lecentre.net/blog/wp-content/uploads/2009/11/mc-xml1.jpg" alt="mc-xml1" title="mc-xml1" width="1083" height="801" class="alignnone size-full wp-image-938" /></p>
<p>Let&#8217;s go through the two main parts.</p>
<h2>AppSetWide</h2>
<div class="codesnip-container" >
<div class="xml codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;AppSetWide<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;AppName<span class="re2">&gt;</span></span><span class="re1">&lt;/AppName<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;AppSetName<span class="re2">&gt;</span></span><span class="re1">&lt;/AppSetName<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;AppVersion<span class="re2">&gt;</span></span><span class="re1">&lt;/AppVersion<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Author<span class="re2">&gt;</span></span><span class="re1">&lt;/Author<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CreationDate<span class="re2">&gt;</span></span></span>Mon May 23 11:09:16 2005<span class="sc3"><span class="re1">&lt;/CreationDate<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;EuConVersion<span class="re2">&gt;</span></span></span>0.1Alpha<span class="sc3"><span class="re1">&lt;/EuConVersion<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;LastModifiedBy<span class="re2">&gt;</span></span><span class="re1">&lt;/LastModifiedBy<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;MCVersion<span class="re2">&gt;</span></span></span>0.1Alpha<span class="sc3"><span class="re1">&lt;/MCVersion<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ModifiedDate<span class="re2">&gt;</span></span></span>Sun Nov &nbsp;1 19:41:28 2009<span class="sc3"><span class="re1">&lt;/ModifiedDate<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Notes<span class="re2">&gt;</span></span><span class="re1">&lt;/Notes<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;TargetHost<span class="re2">&gt;</span></span><span class="re1">&lt;/TargetHost<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CustomWheelCommands<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CustomWheelFunction</span> <span class="re0">NAME</span>=<span class="st0">&quot;volume&quot;</span> <span class="re0">SIZE</span>=<span class="st0">&quot;52&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;0&quot;</span> <span class="re0">UID</span>=<span class="st0">&quot;818064B6-9542-4C43-97A1-264F388C48B0&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;NormalKeys<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey8&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">LWIN</span>=<span class="st0">&quot;ON&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>\u <span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey9&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">LWIN</span>=<span class="st0">&quot;ON&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>\d <span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/NormalKeys<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ShiftKeys<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey8&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey9&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/ShiftKeys<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CustomWheelFunction<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CustomWheelCommands<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;/AppSetWide<span class="re2">&gt;</span></span></span></div>
</li>
</ol>
</div>
</div>
<p>First part define the application, the preset creation informations and a possible target host. Remember that the controler is networked, and could control any host on the network. I&#8217;ll have to try this with laptop soon&#8230;<br />
Then you have the CustomWheelCommands.<br />
If you read my second article about the MC Transport, you remember that you have to &laquo;&nbsp;activate&nbsp;&raquo; the wheel jog and the shutter with a soft key. In fact, the soft key only call a pre-defines command.<br />
Here, we can learn that :<br />
- NormalKeys section is used for&#8230; normal keys.<br />
- ShiftKeys section is used for&#8230; keys when you press the shift key of the MC Transport (the lower right button)<br />
- WheelSoftKey8 is the jog when turned right<br />
- WheelSoftKey9 is the jog when turned left<br />
- OneShot means no repeat of the command<br />
- LWIN=ON is used to activate the command key of the mac keyboard. You also have LALT=ON (ALT or Option on Mac), LCTL=ON (Control), LSHFT=ON (Shift key)<br />
- the keystroke is defines between the <Command> </Command> field</p>
<p>You can define multiple CustomWheelFunction, just change the NAME and the UID. About the UID, I actually don&#8217;t know how it is calculated. Maybe it just have to be unique in the XML file, or worse, in ALL XML files&#8230;</p>
<p>You use the exact same settings for the shuttle :</p>
<div class="codesnip-container" >
<div class="xml codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;CustomWheelFunction</span> <span class="re0">NAME</span>=<span class="st0">&quot;Shuttle&quot;</span> <span class="re0">SIZE</span>=<span class="st0">&quot;52&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">UID</span>=<span class="st0">&quot;C7295A50-C8A7-4F07-AC39-B41CE77115DC&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;NormalKeys<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey10&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>j<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>j<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>j<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>j<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey11&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey12&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>j<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>j<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>j<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey13&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey14&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>j<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>j<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey15&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey16&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>j<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey17&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>k<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey18&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>l<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey19&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey20&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>l<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>l<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey21&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey22&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>l<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>l<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>l<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey23&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey24&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>l<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>l<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>l<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>l<span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey25&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey26&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey27&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey28&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey29&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey30&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey31&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey32&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey33&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey34&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey35&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey36&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey37&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey38&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey39&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey40&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey41&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey42&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey43&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey44&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey45&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey46&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey47&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey48&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey49&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey50&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey51&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey52&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/NormalKeys<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ShiftKeys<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&#8230; (removed)</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/ShiftKeys<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CustomWheelFunction<span class="re2">&gt;</span></span></span></div>
</li>
</ol>
</div>
</div>
<p>WheelSoftKey17 is the position 0. 18 to 24 is for the + (right) section. 16 to 10 for the &#8211; (minus) side. 25 and above is for the transitions. I haven&#8217;t tried it yet.</p>
<h2>ControlBindings</h2>
<div class="codesnip-container" >
<div class="xml codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;ControlBindings<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Section</span> <span class="re0">ID</span>=<span class="st0">&quot;0&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Bank</span> <span class="re0">ID</span>=<span class="st0">&quot;0&quot;</span> <span class="re0">SIZE</span>=<span class="st0">&quot;16&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;NormalKeys<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey2&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;Welcome&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey3&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;To&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey4&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;The&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey5&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;To&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey6&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">ICON</span>=<span class="st0">&quot;LOGO &#8211; Euphonix wave.gif&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Icon&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey7&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;Extensive&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey8&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;Control&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey9&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;Protocol&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey10&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;On&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey11&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;The&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey12&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;To&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey13&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey14&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey15&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey16&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/NormalKeys<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Bank<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Section<span class="re2">&gt;</span></span></span></div>
</li>
</ol>
</div>
</div>
<p>ControlBindings are made of Sections.<br />
I can actually see 14 Sections. I think some of then are used by the MC Transport, while others are used by MC Control or other Euphonix hardware.<br />
Inside a Section is a Bank. For the moment, every Section seems to only have one Bank, with ID=0.<br />
In Section=2, Bank is empty :</p>
<div class="codesnip-container" >
<div class="xml codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;Section</span> <span class="re0">ID</span>=<span class="st0">&quot;2&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Bank</span> <span class="re0">ID</span>=<span class="st0">&quot;0&quot;</span> <span class="re0">SIZE</span>=<span class="st0">&quot;0&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Section<span class="re2">&gt;</span></span></span></div>
</li>
</ol>
</div>
</div>
<p>I really don&#8217;t want to mess things up. Let&#8217;s go to what is defined for standard control : Section 10</p>
<div class="codesnip-container" >
<div class="xml codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;Section</span> <span class="re0">ID</span>=<span class="st0">&quot;10&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Bank</span> <span class="re0">ID</span>=<span class="st0">&quot;0&quot;</span> <span class="re0">SIZE</span>=<span class="st0">&quot;6&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;NormalKeys<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;volume&amp;#xA;&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ECI</span>=<span class="st0">&quot;0&quot;</span> <span class="re0">FUNC</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">FUNCUID</span>=<span class="st0">&quot;818064B6-9542-4C43-97A1-264F388C48B0&quot;</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">SURFIDX</span>=<span class="st0">&quot;0&quot;</span> <span class="re0">SURFTYPE</span>=<span class="st0">&quot;4&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;WheelMode&quot;</span> <span class="re0">WHEELTYPE</span>=<span class="st0">&quot;0&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">DELAY</span>=<span class="st0">&quot;500&quot;</span> <span class="re0">FREQ</span>=<span class="st0">&quot;100&quot;</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey2&quot;</span> <span class="re0">RepeatEntry</span>=<span class="st0">&quot;True&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;volume2&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ECI</span>=<span class="st0">&quot;0&quot;</span> <span class="re0">FUNC</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">FUNCUID</span>=<span class="st0">&quot;49BEE8AE-891B-4507-918B-138C4E81FE61&quot;</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">SURFIDX</span>=<span class="st0">&quot;0&quot;</span> <span class="re0">SURFTYPE</span>=<span class="st0">&quot;4&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;WheelMode&quot;</span> <span class="re0">WHEELTYPE</span>=<span class="st0">&quot;0&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey3&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey4&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey5&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey6&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/NormalKeys<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ShiftKeys<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey2&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey3&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey4&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey5&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey6&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/ShiftKeys<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Bank<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Section<span class="re2">&gt;</span></span></span></div>
</li>
</ol>
</div>
</div>
<p>This is working exactly the same way as the section before. This section is defined for the so called &laquo;&nbsp;soft keys&nbsp;&raquo;</p>
<div class="codesnip-container" >
<div class="xml codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;volume&amp;#xA;&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ECI</span>=<span class="st0">&quot;0&quot;</span> <span class="re0">FUNC</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">FUNCUID</span>=<span class="st0">&quot;818064B6-9542-4C43-97A1-264F388C48B0&quot;</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">SURFIDX</span>=<span class="st0">&quot;0&quot;</span> <span class="re0">SURFTYPE</span>=<span class="st0">&quot;4&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;WheelMode&quot;</span> <span class="re0">WHEELTYPE</span>=<span class="st0">&quot;0&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
</ol>
</div>
</div>
<p>- SoftKey1 is the first on the left<br />
- Command is linked to the UID of the CustomWheelFunction defined before</p>
<div class="codesnip-container" >
<div class="xml codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">DELAY</span>=<span class="st0">&quot;500&quot;</span> <span class="re0">FREQ</span>=<span class="st0">&quot;100&quot;</span> <span class="re0">ID</span>=<span class="st0">&quot;SoftKey2&quot;</span> <span class="re0">RepeatEntry</span>=<span class="st0">&quot;True&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;volume2&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ECI</span>=<span class="st0">&quot;0&quot;</span> <span class="re0">FUNC</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">FUNCUID</span>=<span class="st0">&quot;49BEE8AE-891B-4507-918B-138C4E81FE61&quot;</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">SURFIDX</span>=<span class="st0">&quot;0&quot;</span> <span class="re0">SURFTYPE</span>=<span class="st0">&quot;4&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;WheelMode&quot;</span> <span class="re0">WHEELTYPE</span>=<span class="st0">&quot;0&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
</ol>
</div>
</div>
<p>Here you define how the SoftKey2 behave.<br />
- RepeatEntry=&nbsp;&raquo;True&nbsp;&raquo; is to activate the auto-repeat of the keystroke<br />
- DELAY=&nbsp;&raquo;500&#8243; is the time to wait between the first time and the second<br />
-  FREQ=&nbsp;&raquo;100&#8243; is the repetition delay 10 times per second, so 100ms. Section The interface you can only choose from 30 to 2 times per second. Maybe changing it in the XML file will allow to set it to 1 times per second ? </p>
<p>Section ID=11 is made for the Numpad. Nothing to change here for now&#8230;<br />
Section ID=12 is for the <strong>Transport Keys</strong>, the 7 keys around the shuttle.<br />
Let&#8217;s take some examples :</p>
<div class="codesnip-container" >
<div class="xml codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;Control</span> <span class="re0">DELAY</span>=<span class="st0">&quot;500&quot;</span> <span class="re0">FREQ</span>=<span class="st0">&quot;16&quot;</span> <span class="re0">ID</span>=<span class="st0">&quot;WheelSoftKey2&quot;</span> <span class="re0">RepeatEntry</span>=<span class="st0">&quot;True&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;SmartSwitch&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Label</span> <span class="re0">COLOR</span>=<span class="st0">&quot;ff00b70b&quot;</span> <span class="re0">FONT</span>=<span class="st0">&quot;Arial Bold&quot;</span> <span class="re0">FONTSIZE</span>=<span class="st0">&quot;12.0000&quot;</span> <span class="re0">NAME</span>=<span class="st0">&quot;back&amp;#xA;&quot;</span> <span class="re0">NOTEXT</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Text&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;CommandSet</span> <span class="re0">SUBTYPE</span>=<span class="st0">&quot;OneShot&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Command</span> <span class="re0">ID</span>=<span class="st0">&quot;1&quot;</span> <span class="re0">LALT</span>=<span class="st0">&quot;ON&quot;</span> <span class="re0">LWIN</span>=<span class="st0">&quot;ON&quot;</span> <span class="re0">TYPE</span>=<span class="st0">&quot;Key&quot;</span><span class="re2">&gt;</span></span>\l <span class="sc3"><span class="re1">&lt;/Command<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/CommandSet<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Control<span class="re2">&gt;</span></span></span></div>
</li>
</ol>
</div>
</div>
<p>Here, again, you have an auto-repeat. The delay have been set to &laquo;&nbsp;as fast as possible&nbsp;&raquo;. FREQ=16 means, theoricaly, every 16ms. Set to FREQ=1000 for once per second.<br />
COLOR=ff00b70b set the color of the button. This is a dark green. I don&#8217;t really understand how the MC Transport handle color. Also I don&#8217;t understant how they code the color on 4 hexa blocs&#8230; If you use this, the switch will be light green. Else, it will be light yellow.<br />
Everything else is already known.</p>
<p>Now you should have everything you need to build your own config file. Enjoy and share your own presets. You can get my <a href="http://www.videolan.org/vlc/">VLC</a> preset on the <a href="http://www.lecentre.net/blog/downloads">download</a> page, or use the direct link <a href="http://www.lecentre.net/blog/download/VLC.xml">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/937/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Euphonix MC Transport usage [EDIT]</title>
		<link>http://www.lecentre.net/blog/archives/881</link>
		<comments>http://www.lecentre.net/blog/archives/881#comments</comments>
		<pubDate>Sat, 31 Oct 2009 01:33:05 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[Final Cut]]></category>
		<category><![CDATA[OS X]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/?p=881</guid>
		<description><![CDATA[Second part of the test. First thing to do is register your controler. Go the the Euphonix support&#8217;s website. This is where you&#8217;ll find the software download, the email support link and the docs. When everything is working, as explained in previous post, you should have the green &#171;&#160;€&#160;&#187; in the top right of the [...]]]></description>
			<content:encoded><![CDATA[<p>Second part of the test. </p>
<p>First thing to do is register your controler. Go the the <a href="http://www.euphonix.com/artist/support/">Euphonix support&#8217;s website</a>.<br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/10/My-Euphonix.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/My-Euphonix-249x232.jpg" alt="My Euphonix" title="My Euphonix" width="249" height="232" class="alignnone size-medium wp-image-882" /></a><br />
This is where you&#8217;ll find the software download, the email support link and the docs.</p>
<p>When everything is working, as explained in <a href="http://www.lecentre.net/blog/archives/850">previous post</a>, you should have the green &laquo;&nbsp;€&nbsp;&raquo; in the top right of the menu, and the controler should display the name of the software you are actualy using (safari ? firefox ?)</p>
<p>I had some controler &laquo;&nbsp;freeze&nbsp;&raquo; at some point. Then, the controler keeps displaying the same application name, whichever application is in focus. For the moment, the only solution I found is to power-off the controler, go in the EuControl settings (the only way to get acces to the menu) and quit.<br />
Then, restart the EuControl application, wait until the menu icon stop rolling, then power-on the controler.<br />
As I said, I emailed the support about that without any real answer. I openned a new case today&#8230; we&#8217;ll see&#8230;</p>
<p>If you are using a supported application the controler comes pre-configured. This is not the case for most basic applications like Safari, Firefox, iTunes or even the finder.<br />
While the MC Transport is not made for that specificaly, configuring these applications will help us understand how the controler work.</p>
<p>Basic notions : </p>
<li>accessing the configuration</li>
<p><a href="http://www.lecentre.net/blog/wp-content/uploads/2009/10/EuControl-Settings.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/EuControl-Settings-250x179.jpg" alt="EuControl Settings" title="EuControl Settings" width="250" height="179" class="alignnone size-medium wp-image-884" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/10/EuControl-Settings-1.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/EuControl-Settings-1-250x179.jpg" alt="EuControl Settings-1" title="EuControl Settings-1" width="250" height="179" class="alignnone size-medium wp-image-885" /></a><br />
you have two ways to do that : clic on the green icon in the menu and go to the settings -> &laquo;&nbsp;soft keys&nbsp;&raquo; tab or, simply, clic on the &laquo;&nbsp;eye&nbsp;&raquo; key on the controler, at the lower left of the keypad.</p>
<li>activating the jog/shuttle</li>
<p>Before beeing able to use the jog or shuttle you have to enable it. Most of the time the activation key is the first soft key for the jog and the second for the shuttle. When switching into an application, every key should be off (no light). clic again to activate</p>
<li>changing the color of transport keys</li>
<p><a href="http://www.lecentre.net/blog/wp-content/uploads/2009/10/Colors.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/Colors-250x142.jpg" alt="Colors" title="Colors" width="250" height="142" class="alignnone size-medium wp-image-883" /></a><br />
You can change the color of the transport keys (the one arount the shuttle). The 2 first and 2 last keys can be yellow or red. The 3 keys in the middle can be yellow or green. For the moment, I haven&#8217;t found a way to light a key or change its color depending on the action. I openned a case to the support to have more informations. For example, keeping the key green while pressed, or changing the color at every clic&#8230; Another request, which may be linked, is having two actions for the same key. This way, you can have a yellow key. When first clic, send the &laquo;&nbsp;play&nbsp;&raquo; shortcut of the application and turn to red. When pressed again, send the &laquo;&nbsp;stop&nbsp;&raquo; or &laquo;&nbsp;pause&nbsp;&raquo; keystroke and turn back to yellow&#8230; I hope the support will give a clue on how to do that, or add support in the next software release <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The pdf manual will lead you through the configuration process, which is really easy for the basic stuffs. Let&#8217;s write down a walkthrough&#8230;<br />
All this is done in the configuration software, not the controler.</p>
<p>- select the button to assign<br />
- give a name in the &laquo;&nbsp;soft key label&nbsp;&raquo; box AND press enter to validate<br />
- change the font or color if needed<br />
- clic on &laquo;&nbsp;command&#8230;&nbsp;&raquo; or double-clic on the button<br />
- clic on the &laquo;&nbsp;add&nbsp;&raquo; menu and select what to do. Most of the time it will be &laquo;&nbsp;key&nbsp;&raquo;, and if you want to make the button an activation button for the jog or shuttle, use &laquo;&nbsp;wheel&nbsp;&raquo;<br />
- enter a keystroke or a list of them. Doing this enable you to do scripts<br />
- you can add more option, again, to script the button</p>
<p>If you&#8217;re programming the button to activate the wheel, select wheel and a custom function.<br />
If you&#8217;re programming the wheel, you have to :<br />
- clic on the &laquo;&nbsp;+&nbsp;&raquo; sign and give a name to the &laquo;&nbsp;command&nbsp;&raquo;<br />
- as you do when programming a key, add a keystroke or another function. This will be used when turning the wheel right (clockwise) by default<br />
- clic on the &laquo;&nbsp;turn jog right&nbsp;&raquo; menu and change to &laquo;&nbsp;turn jog left&nbsp;&raquo;<br />
- add the keystroke used when turn anti-clockwise</p>
<p>If you&#8217;re programming the shuttle, this is a little bit different. You can add action for each of the 15s step of the wheel (-7 -> 0 -> +7) and for each transition (0 ->1, 1->2 &#8230;) and the other way around (2->1, 1->0&#8230;)</p>
<p>These are the basics. I&#8217;ll try to give examples in the next post <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>[EDIT]</strong><br />
Now that I have <a href="http://www.lecentre.net/blog/archives/887">my disk array working</a>, I had another try.<br />
Once again, the MC Transport stayed locked on the &laquo;&nbsp;Mail&nbsp;&raquo; application. This is not the first time, and for the moment, the only answer from the support was &laquo;&nbsp;disable firewall in your mac&nbsp;&raquo; and &laquo;&nbsp;start the audio mixer of FCP&nbsp;&raquo;. These answers were done after 10 days, or more. Seriously, Euphonix, what are you doing here ? </p>
<p>If this happen to you, follow these steps :<br />
- power off the MC Transport<br />
- go in the green &laquo;&nbsp;€&nbsp;&raquo; icon -> &laquo;&nbsp;EU Control Settings&nbsp;&raquo;<br />
- go to the menu and quit<br />
- poweron the MC Transport and wait until the &laquo;&nbsp;Euphonix&nbsp;&raquo; logo appear<br />
- start the EU Control application. The menu icon should turn to green.</p>
<p>For the moment, while the hardware is perfectly built, I can&#8217;t say the software is working fine&#8230; If you haven&#8217;t bought yet, WAIT !<br />
Euphonix team, if you read this, I&#8217;m willing to spend some time debugging for you. Just provide me a beta software, or one with extra debug. But please, stop giving stupid answers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/881/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>12Tb RAID for cheap with Hitachi 2Tb drives</title>
		<link>http://www.lecentre.net/blog/archives/887</link>
		<comments>http://www.lecentre.net/blog/archives/887#comments</comments>
		<pubDate>Fri, 30 Oct 2009 23:06:36 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[OS X]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/?p=887</guid>
		<description><![CDATA[It&#8217;s been some time now that i&#8217;m fighting with Seagate for they damn 1.5To drives not working as they should. Hitachi finaly released 2Tb drives with good throughoutput and price. While trying not to be screwed a second time, I started buying only 2 drives. Grosbill, a french reseller, have them for 164€. These two [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-888" title="brand" src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/brand.gif" alt="brand" width="200" height="200" /> It&#8217;s been some time now that i&#8217;m fighting with Seagate for they damn 1.5To drives not working as they should.<br />
<a href="http://www.hitachigst.com/portal/site/en/products/deskstar/7K2000/">Hitachi finaly released 2Tb drives</a> with good throughoutput and price.<br />
While trying not to be screwed a second time, I started buying only 2 drives. Grosbill, a french reseller, have them for 164€. These two were labelled from August 2009, with firmware 10D.<br />
As everything was working fine, with slightly better results than the 1.5Tb Seagate drives (without RAID, of course), I bought 6 more from Macway. They used to be specialised in Apple hardware but now have standard hardware with really good price : 157€. These drives were labeled September 2009 with firmware 20N. Hopefully, they also work as expected : they did not break the compatibility in firmware upgrade <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>For the moment I havn&#8217;t seen any manual firmware upgrade tool to have every drives in the same version. Actualy, this is even better : if you can, always choose drives with different firmware and series for RAID arrays : you will not have all your drives failing in case of a bug related to the production.</p>
<p><span id="more-887"></span></p>
<p>Now, let&#8217;s see the perfs&#8230;<br />
I will not give every results here. Moreover, RAID initialization will probably take one or two days&#8230; So I will not wait for the array to be built before using it. I&#8217;m sure this will have an impact on the perfs.</p>
<p>Let&#8217;s start with the Host : This is a MacPro 2009 with dual CPU Nehalem 2.66GHz and 12Gb of RAM :<br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/10/apropos.jpg"><img class="alignnone size-full wp-image-890" title="apropos" src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/apropos.jpg" alt="apropos" width="362" height="372" /></a></p>
<p>RAID card configuration :<br />
The RAID card is a HighPoint 4322 with dual SAS external output. It has 512Mo of cache and an intel processor for the RAID : this not a &laquo;&nbsp;software&nbsp;&raquo; RAID card !<br />
Main settings, device settings&#8230;.<br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/10/device.jpg"><img class="alignnone size-medium wp-image-891" title="device" src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/device-214x249.jpg" alt="device" width="214" height="249" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/10/SHI.jpg"><img class="alignnone size-medium wp-image-894" title="SHI" src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/SHI-222x250.jpg" alt="SHI" width="222" height="250" /><br />
</a></p>
<p><a href="http://www.lecentre.net/blog/wp-content/uploads/2009/10/setting1.jpg"><img class="alignnone size-medium wp-image-893" title="setting1" src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/setting1-250x125.jpg" alt="setting1" width="250" height="125" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/10/device2.jpg"><img class="alignnone size-medium wp-image-892" title="device2" src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/device2-250x65.jpg" alt="device2" width="250" height="65" /></a></p>
<p>Nothing really special here.</p>
<h2>What will be tested</h2>
<li>Write back</li>
<p>When enabled, the data are not directly written to the disk. Instead they are kept in the 512Mo card cache. The good point is that it gives, as you will soon see, a really good write throughoutput. The bad side is, in case of power failure, data are lost&#8230; One solution is to get a APC which will handle in case of power failure. You can use a smaller APC to power the disk rack only but you will have to buy the battery pack for the RAID card. I think the battery pack is really (too much) expensive : Highpoint, stop making money on options !!!<br />
The other option is <strong>Write Through</strong>.</p>
<li>RAID mode</li>
<p>The card can handle RAID 0 (stripe), 1 (mirror), 5, 6, JBOD (Just a Bunch O Disk : no RAID) and any kind of mix, with spare disks. We&#8217;ll test RAID 1 and RAID 5.</p>
<li>Drive count</li>
<p>The card can handle 8 drives. If I have time, I&#8217;ll try to bench with 4 drives and 8 drives.</p>
<li>Block Size</li>
<p>By default the block size is 64k. It can grow up to 1Gb. This is the the RAID card will use to write data. Some people are saying 128k should be fine with big drives and big files&#8230; We&#8217;ll test that <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Test 1 : RAID 5, 8 drives, Write Back, 64k block size</h2>
<p><a href="http://www.lecentre.net/blog/wp-content/uploads/2009/10/test1.jpg"><img class="alignnone size-full wp-image-895" title="test1" src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/test1.jpg" alt="test1" width="759" height="103" /></a><br />
This is a full default when creating an array.<br />
Aja System Test :<br />
<img class="alignnone size-full wp-image-896" title="test1-aja" src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/test1-aja.jpg" alt="test1-aja" width="480" height="538" /></p>
<p>BlackMagic Disk Speed Test :<br />
<img class="alignnone size-full wp-image-897" title="test1-bm" src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/test1-bm.jpg" alt="test1-bm" width="674" height="554" /></p>
<p>HD Drive Speed Test :<br />
<img class="alignnone size-full wp-image-898" title="test1-hds" src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/test1-hds.jpg" alt="test1-hds" width="384" height="492" /></p>
<p>First thing : every speed test software have it&#8217;s own way to report. What I can say is that the write speed is MUCH faster than the read speed. This is certainly due to the write cache. I&#8217;m sure this value will drop when the write-through option is selected.<br />
Whatever, the RAID array can sustain around 7 streams of 1080p DVCpro. I&#8217;m shooting with a Sony EX1, around 35Mbps VBR : I&#8217;ll be good <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Test 2 : RAID 5, 8 drives, Write Back, 128k block size</h2>
<li>HSFS Jounalized</li>
<p><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/test2-aja.jpg" alt="test2-aja" title="test2-aja" width="473" height="542" class="alignnone size-full wp-image-906" /></p>
<p><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/test2-aja2.jpg" alt="test2-aja2" title="test2-aja2" width="480" height="540" class="alignnone size-full wp-image-907" /></p>
<p><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/test2-aja3.jpg" alt="test2-aja3" title="test2-aja3" width="479" height="537" class="alignnone size-full wp-image-908" /></p>
<p><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/test2-bm.jpg" alt="test2-bm" title="test2-bm" width="677" height="556" class="alignnone size-full wp-image-909" /></p>
<p><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/test2-hds.jpg" alt="test2-hds" title="test2-hds" width="385" height="473" class="alignnone size-full wp-image-910" /></p>
<p>Here we see a little improvement. Video files are usualy big, and a bigger block size seem to be helpful.</p>
<li>HSFS not Journalized</li>
<p>When taking off Journalizing, we remove one layer on the OS side. This should give some improvements in throughoutput, but it has a price : if the host crash (or the array go offline) while working, we may lose some data. Concidering that 1) I don&#8217;t have any battery on the RAID card and 2) I don&#8217;t have an APC on the array, the lease we can do is have a journalized FS.<br />
So, this test is only for benchmark resons :<br />
<img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/test2-aja-nj.jpg" alt="test2-aja-nj" title="test2-aja-nj" width="477" height="537" class="alignnone size-full wp-image-911" /></p>
<p><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/test2-aja-nj2.jpg" alt="test2-aja-nj2" title="test2-aja-nj2" width="478" height="541" class="alignnone size-full wp-image-912" /></p>
<p><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/test2-hds-nj.jpg" alt="test2-hds-nj" title="test2-hds-nj" width="383" height="493" class="alignnone size-full wp-image-913" /></p>
<p>BlackMagic does not show any improvement or loss.<br />
Conclusion : Disabling journalization does not give a real improvement in throughoutput and make the data even more insecure. I&#8217;ll stick with a Jounalized FS.<br />
Another conclusion is that using a 1Gb file for testing is not enough. Switch to 4Gb to have a more realistic test, where buffer size can be filled and used for a longer time.</p>
<h2>Test 3 : RAID 5, 8 drives, Write Through, 128k block size</h2>
<p><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/test3-create.jpg" alt="test3-create" title="test3-create" width="668" height="800" class="alignnone size-full wp-image-915" /></p>
<p>We know write through will give less throughoutput on writing. Let&#8217;s see how much.<br />
Another thing to enlight : sometimes the Disk Utility seems to have problem creating a 12Tb FS, or mounting it. You have to wait for a timeout and start it over&#8230; I actualy have no clue on the why&#8230;</p>
<p><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/test3-bm.jpg" alt="test3-bm" title="test3-bm" width="673" height="554" class="alignnone size-full wp-image-916" /><br />
Conclusion : reading is REALLY efficient here. On the other hand, writing is now SLOW. I really don&#8217;t understand the results. Does &laquo;&nbsp;Write Back&nbsp;&raquo; means using the cache for writing and &laquo;&nbsp;Write Through&nbsp;&raquo; using the cache for reading ? Why not both ? I&#8217;ll have to ask Highpoint on that. Another solution is that the read cache would be less effitient than with no cache ?<br />
HD Drive speed test, which is only doing a write test, shows us the same result for writing : </p>
<p><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/test3-hds.jpg" alt="test3-hds" title="test3-hds" width="386" height="473" class="alignnone size-full wp-image-917" /></p>
<p><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/test3-aja.jpg" alt="test3-aja" title="test3-aja" width="450" height="537" class="alignnone size-full wp-image-918" /><br />
Aja test gives no improvement in reading. This test is seriously puzzling me&#8230; LEt me know if you have any clue on why the Black Magic test is giving so many reads/sec.<br />
This is co-related with the &laquo;&nbsp;iostat&nbsp;&raquo; command I&#8217;m running alog with the tests :<br />
During the Black Magic test : </p>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">disk0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk6 &nbsp; &nbsp; &nbsp; cpu &nbsp; &nbsp; load average</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp;us sy <span class="kw2">id</span> &nbsp; 1m &nbsp; 5m &nbsp; 15m</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 819.20 &nbsp; 5 &nbsp;4.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 1 &nbsp;1 98 &nbsp;0.68 0.36 0.33</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 125.64 &nbsp;44 &nbsp;5.39 &nbsp; 3 &nbsp;1 96 &nbsp;0.70 0.37 0.33</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;68.00 &nbsp; 1 &nbsp;0.07 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 125.40 &nbsp;80 &nbsp;9.79 &nbsp; 1 &nbsp;1 98 &nbsp;0.70 0.37 0.33</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.68 &nbsp;79 &nbsp;9.76 &nbsp; 1 &nbsp;1 98 &nbsp;0.70 0.37 0.33</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 124.75 &nbsp;96 11.68 &nbsp; 1 &nbsp;1 98 &nbsp;0.70 0.37 0.33</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;68.00 &nbsp; 1 &nbsp;0.07 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 125.52 &nbsp;84 10.29 &nbsp; 1 &nbsp;1 97 &nbsp;0.70 0.37 0.33</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 125.88 &nbsp;98 12.03 &nbsp; 1 &nbsp;1 98 &nbsp;0.73 0.38 0.33</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;10.51 &nbsp;63 &nbsp;0.65 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 304.50 &nbsp;32 &nbsp;9.51 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 121.28 &nbsp;81 &nbsp;9.58 &nbsp; 1 &nbsp;2 97 &nbsp;0.73 0.38 0.33</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;68.00 &nbsp; 1 &nbsp;0.07 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 118.31 &nbsp;97 11.19 &nbsp; 1 &nbsp;1 98 &nbsp;0.73 0.38 0.33</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.07 108 13.28 &nbsp; 1 &nbsp;1 98 &nbsp;0.73 0.38 0.33</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 125.19 &nbsp;74 &nbsp;9.04 &nbsp; 1 &nbsp;1 98 &nbsp;0.73 0.38 0.33</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 125.07 &nbsp;71 &nbsp;8.66 &nbsp; 1 &nbsp;1 97 &nbsp;0.75 0.39 0.34</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;68.00 &nbsp; 1 &nbsp;0.07 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 2 &nbsp;1 98 &nbsp;0.75 0.39 0.34</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 1 &nbsp;1 98 &nbsp;0.75 0.39 0.34</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 1 &nbsp;1 97 &nbsp;0.75 0.39 0.34</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;68.00 &nbsp; 1 &nbsp;0.07 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 125.58 2150 263.62 &nbsp; 1 &nbsp;2 97 &nbsp;0.75 0.39 0.34</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 125.58 12366 1516.48 &nbsp; 1 &nbsp;6 93 &nbsp;0.85 0.42 0.35</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp;1024.00 &nbsp; 8 &nbsp;7.99 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 125.58 12465 1528.69 &nbsp; 2 &nbsp;5 93 &nbsp;0.85 0.42 0.35</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;68.00 &nbsp; 1 &nbsp;0.07 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 125.58 12521 1535.48 &nbsp; 1 &nbsp;5 94 &nbsp;0.85 0.42 0.35</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 125.59 12433 1524.88 &nbsp; 1 &nbsp;6 93 &nbsp;0.85 0.42 0.35</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 125.58 12359 1515.71 &nbsp; 1 &nbsp;6 93 &nbsp;0.85 0.42 0.35</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 125.59 12401 1520.94 &nbsp; 2 &nbsp;6 92 &nbsp;0.94 0.44 0.36</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;68.00 &nbsp; 1 &nbsp;0.07 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 125.57 12428 1523.99 &nbsp; 1 &nbsp;5 93 &nbsp;0.94 0.44 0.36</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 125.59 12407 1521.71 &nbsp; 1 &nbsp;6 93 &nbsp;0.94 0.44 0.36</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;68.00 &nbsp; 1 &nbsp;0.07 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 819.20 &nbsp; 5 &nbsp;4.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 125.58 12424 1523.73 &nbsp; 2 &nbsp;6 93 &nbsp;0.94 0.44 0.36</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 6.00 &nbsp; 2 &nbsp;0.01 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 125.58 8148 999.17 &nbsp; 2 &nbsp;4 94 &nbsp;0.94 0.44 0.36<span class="sy0">&lt;/</span>code<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">We clearly see a 10MB<span class="sy0">/</span>s <span class="kw2">write</span>, <span class="kw1">then</span> a 1.5MB<span class="sy0">/</span>s read. </div>
</li>
<li class="li1">
<div class="de1">During the Aja <span class="kw3">test</span> <span class="br0">&#40;</span>on a 4GB <span class="kw2">file</span><span class="br0">&#41;</span> :</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span>code <span class="re2">lang</span>=<span class="st0">&quot;bash&quot;</span><span class="br0">&#93;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk6 &nbsp; &nbsp; &nbsp; cpu &nbsp; &nbsp; load average</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp;us sy <span class="kw2">id</span> &nbsp; 1m &nbsp; 5m &nbsp; 15m</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 9.33 &nbsp;15 &nbsp;0.14 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 9.26 &nbsp;19 &nbsp;0.17 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.53 125 15.43 &nbsp; 2 &nbsp;2 97 &nbsp;0.79 0.49 0.39</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;14.59 &nbsp;61 &nbsp;0.87 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.70 141 17.43 &nbsp; 2 &nbsp;2 96 &nbsp;0.79 0.49 0.39</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 819.20 &nbsp; 5 &nbsp;3.99 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.60 131 16.17 &nbsp; 1 &nbsp;2 97 &nbsp;0.79 0.49 0.39</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;42.77 228 &nbsp;9.51 &nbsp; &nbsp; 4.01 2318 &nbsp;9.07 &nbsp; 238.71 &nbsp;28 &nbsp;6.52 &nbsp; &nbsp; 4.02 2311 &nbsp;9.07 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.60 131 16.18 &nbsp; 3 &nbsp;4 93 &nbsp;0.79 0.49 0.39</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;23.69 &nbsp;65 &nbsp;1.50 &nbsp; &nbsp; 4.00 3202 12.51 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 4.00 3328 13.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.53 125 15.43 &nbsp; 4 &nbsp;4 92 &nbsp;0.79 0.49 0.39</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 7.99 313 &nbsp;2.44 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.37 113 13.93 &nbsp; 1 &nbsp;8 91 &nbsp;0.81 0.50 0.40</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 8.21 280 &nbsp;2.24 &nbsp; &nbsp; 5.71 &nbsp;28 &nbsp;0.16 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 6.89 &nbsp;18 &nbsp;0.12 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 122.57 145 17.33 &nbsp; 1 &nbsp;3 95 &nbsp;0.81 0.50 0.40</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 8.21 292 &nbsp;2.34 &nbsp; &nbsp; 5.20 &nbsp;10 &nbsp;0.05 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 4.00 &nbsp; 5 &nbsp;0.02 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.47 120 14.80 &nbsp; 3 &nbsp;2 95 &nbsp;0.81 0.50 0.40</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 8.05 255 &nbsp;2.00 &nbsp; &nbsp; 4.86 &nbsp;14 &nbsp;0.07 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 4.75 &nbsp;16 &nbsp;0.07 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.47 120 14.80 &nbsp; 2 &nbsp;2 96 &nbsp;0.81 0.50 0.40</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 8.78 148 &nbsp;1.27 &nbsp; &nbsp; 6.00 &nbsp; 2 &nbsp;0.01 &nbsp;1024.00 &nbsp; 4 &nbsp;4.00 &nbsp; &nbsp; 4.62 &nbsp;13 &nbsp;0.06 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.44 118 14.55 &nbsp; 2 &nbsp;2 96 &nbsp;0.81 0.50 0.40</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 8.00 101 &nbsp;0.79 &nbsp; &nbsp; 4.86 &nbsp;14 &nbsp;0.07 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 4.79 &nbsp;61 &nbsp;0.28 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.47 120 14.80 &nbsp; 2 &nbsp;3 96 &nbsp;0.74 0.49 0.39</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 7.48 &nbsp;31 &nbsp;0.23 &nbsp; &nbsp; 4.96 &nbsp;25 &nbsp;0.12 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 6.50 &nbsp;24 &nbsp;0.15 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.54 126 15.55 &nbsp; 2 &nbsp;1 97 &nbsp;0.74 0.49 0.39</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.53 2871 354.75 &nbsp; 1 &nbsp;2 96 &nbsp;0.74 0.49 0.39</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.56 4274 528.24 &nbsp; 3 &nbsp;3 95 &nbsp;0.74 0.49 0.39</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.56 4396 543.32 &nbsp; 1 &nbsp;3 96 &nbsp;0.74 0.49 0.39</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp;1024.00 &nbsp; 4 &nbsp;4.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.56 4279 528.83 &nbsp; 1 &nbsp;2 97 &nbsp;0.68 0.48 0.39</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 819.20 &nbsp; 5 &nbsp;4.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.57 4164 514.63 &nbsp; 3 &nbsp;2 95 &nbsp;0.68 0.48 0.39</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.56 4086 505.07 &nbsp; 1 &nbsp;2 97 &nbsp;0.68 0.48 0.39</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 5.79 &nbsp; 7 &nbsp;0.04 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.56 4089 505.38 &nbsp; 2 &nbsp;3 95 &nbsp;0.68 0.48 0.39</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;11.04 111 &nbsp;1.20 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; &nbsp; 0.00 &nbsp; 0 &nbsp;0.00 &nbsp; 126.56 4083 504.63 &nbsp; 2 &nbsp;3 95 &nbsp;0.68 0.48 0.39<span class="sy0">&lt;/</span>code<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">Same <span class="kw2">write</span>, but only 512 MBps read&#8230;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>h2<span class="sy0">&gt;</span>Test 4 : RAID 0, 8 drives, Write Back, 128k block <span class="kw2">size</span><span class="sy0">&lt;/</span>h2<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">This gives a 14.6Tb drive. This is the best you can <span class="kw1">do</span>, but without ANY data security.</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>img <span class="re2">src</span>=<span class="st0">&quot;http://www.lecentre.net/blog/wp-content/uploads/2009/10/test4-aja.jpg&quot;</span> <span class="re2">alt</span>=<span class="st0">&quot;test4-aja&quot;</span> <span class="re2">title</span>=<span class="st0">&quot;test4-aja&quot;</span> <span class="re2">width</span>=<span class="st0">&quot;445&quot;</span> <span class="re2">height</span>=<span class="st0">&quot;534&quot;</span> <span class="re2">class</span>=<span class="st0">&quot;alignnone size-full wp-image-920&quot;</span> <span class="sy0">/&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>img <span class="re2">src</span>=<span class="st0">&quot;http://www.lecentre.net/blog/wp-content/uploads/2009/10/test4-bm.jpg&quot;</span> <span class="re2">alt</span>=<span class="st0">&quot;test4-bm&quot;</span> <span class="re2">title</span>=<span class="st0">&quot;test4-bm&quot;</span> <span class="re2">width</span>=<span class="st0">&quot;668&quot;</span> <span class="re2">height</span>=<span class="st0">&quot;556&quot;</span> <span class="re2">class</span>=<span class="st0">&quot;alignnone size-full wp-image-921&quot;</span> <span class="sy0">/&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>img <span class="re2">src</span>=<span class="st0">&quot;http://www.lecentre.net/blog/wp-content/uploads/2009/10/test4-hds.jpg&quot;</span> <span class="re2">alt</span>=<span class="st0">&quot;test4-hds&quot;</span> <span class="re2">title</span>=<span class="st0">&quot;test4-hds&quot;</span> <span class="re2">width</span>=<span class="st0">&quot;383&quot;</span> <span class="re2">height</span>=<span class="st0">&quot;473&quot;</span> <span class="re2">class</span>=<span class="st0">&quot;alignnone size-full wp-image-922&quot;</span> <span class="sy0">/&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>img <span class="re2">src</span>=<span class="st0">&quot;http://www.lecentre.net/blog/wp-content/uploads/2009/10/test4-aja-swp.jpg&quot;</span> <span class="re2">alt</span>=<span class="st0">&quot;test4-aja-swp&quot;</span> <span class="re2">title</span>=<span class="st0">&quot;test4-aja-swp&quot;</span> <span class="re2">width</span>=<span class="st0">&quot;448&quot;</span> <span class="re2">height</span>=<span class="st0">&quot;536&quot;</span> <span class="re2">class</span>=<span class="st0">&quot;alignnone size-full wp-image-923&quot;</span> <span class="sy0">/&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>h2<span class="sy0">&gt;</span>Test 5 : RAID 5, 8 drives, Write Back, 128k block <span class="kw2">size</span> with <span class="st0">&quot;dd&quot;</span><span class="sy0">&lt;/</span>h2<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">This is just a quick read<span class="sy0">/</span><span class="kw2">write</span> <span class="kw3">test</span>, bypassing the FS Cache on the reads. See result of Disk6. This is <span class="kw1">done</span> using 1MB block size.</div>
</li>
<li class="li1">
<div class="de1">Write :</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span>code <span class="re2">lang</span>=<span class="st0">&quot;bash&quot;</span><span class="br0">&#93;</span><span class="kw2">dd</span> <span class="kw1">if</span>=<span class="sy0">/</span>dev<span class="sy0">/</span>zero <span class="re2">of</span>=<span class="sy0">/</span>Volumes<span class="sy0">/</span>raid<span class="sy0">/</span>toto <span class="re2">bs</span>=1024000 <span class="re2">count</span>=20480000</div>
</li>
<li class="li1">
<div class="de1">62208+0 records <span class="kw1">in</span></div>
</li>
<li class="li1">
<div class="de1">62208+0 records out</div>
</li>
<li class="li1">
<div class="de1">63700992000 bytes transferred <span class="kw1">in</span> <span class="nu0">91.218295</span> secs <span class="br0">&#40;</span><span class="nu0">698335702</span> bytes<span class="sy0">/</span>sec<span class="br0">&#41;</span></div>
</li>
</ol>
</div>
</div>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">disk0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk6 &nbsp; &nbsp; &nbsp; cpu &nbsp; &nbsp; load average</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp;us sy <span class="kw2">id</span> &nbsp; 1m &nbsp; 5m &nbsp; 15m</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="nu0">56.00</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">0.05</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.89</span> <span class="nu0">5404</span> <span class="nu0">674.87</span> &nbsp; <span class="nu0">3</span> &nbsp;<span class="nu0">6</span> <span class="nu0">91</span> &nbsp;<span class="nu0">0.98</span> <span class="nu0">0.51</span> <span class="nu0">0.45</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">819.20</span> &nbsp; <span class="nu0">5</span> &nbsp;<span class="nu0">3.99</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.86</span> <span class="nu0">5502</span> <span class="nu0">687.07</span> &nbsp; <span class="nu0">2</span> &nbsp;<span class="nu0">6</span> <span class="nu0">92</span> &nbsp;<span class="nu0">0.98</span> <span class="nu0">0.51</span> <span class="nu0">0.45</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="nu0">68.00</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">0.07</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.89</span> <span class="nu0">5476</span> <span class="nu0">683.85</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">92</span> &nbsp;<span class="nu0">0.98</span> <span class="nu0">0.51</span> <span class="nu0">0.45</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.87</span> <span class="nu0">5521</span> <span class="nu0">689.43</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">93</span> &nbsp;<span class="nu0">0.98</span> <span class="nu0">0.51</span> <span class="nu0">0.45</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.88</span> <span class="nu0">5381</span> <span class="nu0">671.96</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">92</span> &nbsp;<span class="nu0">0.98</span> <span class="nu0">0.51</span> <span class="nu0">0.45</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.88</span> <span class="nu0">5151</span> <span class="nu0">643.29</span> &nbsp; <span class="nu0">2</span> &nbsp;<span class="nu0">6</span> <span class="nu0">92</span> &nbsp;<span class="nu0">1.07</span> <span class="nu0">0.53</span> <span class="nu0">0.46</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="nu0">68.00</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">0.07</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1024.00</span> &nbsp; <span class="nu0">4</span> &nbsp;<span class="nu0">3.99</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.88</span> <span class="nu0">5382</span> <span class="nu0">672.10</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">93</span> &nbsp;<span class="nu0">1.07</span> <span class="nu0">0.53</span> <span class="nu0">0.46</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="nu0">11.29</span> &nbsp;<span class="nu0">31</span> &nbsp;<span class="nu0">0.34</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">328.75</span> &nbsp;<span class="nu0">16</span> &nbsp;<span class="nu0">5.13</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.86</span> <span class="nu0">5384</span> <span class="nu0">672.27</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">7</span> <span class="nu0">92</span> &nbsp;<span class="nu0">1.07</span> <span class="nu0">0.53</span> <span class="nu0">0.46</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">125.96</span> <span class="nu0">3600</span> <span class="nu0">442.82</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">4</span> <span class="nu0">94</span> &nbsp;<span class="nu0">1.07</span> <span class="nu0">0.53</span> <span class="nu0">0.46</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="nu0">68.00</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">0.07</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.89</span> <span class="nu0">5394</span> <span class="nu0">673.63</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">93</span> &nbsp;<span class="nu0">1.07</span> <span class="nu0">0.53</span> <span class="nu0">0.46</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="nu0">56.00</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">0.05</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.88</span> <span class="nu0">5334</span> <span class="nu0">666.19</span> &nbsp; <span class="nu0">2</span> &nbsp;<span class="nu0">6</span> <span class="nu0">92</span> &nbsp;<span class="nu0">1.22</span> <span class="nu0">0.57</span> <span class="nu0">0.47</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.86</span> <span class="nu0">5253</span> <span class="nu0">655.89</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">92</span> &nbsp;<span class="nu0">1.22</span> <span class="nu0">0.57</span> <span class="nu0">0.47</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">135.20</span> &nbsp; <span class="nu0">5</span> &nbsp;<span class="nu0">0.66</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1024.00</span> &nbsp; <span class="nu0">4</span> &nbsp;<span class="nu0">3.99</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.88</span> <span class="nu0">5374</span> <span class="nu0">671.14</span> &nbsp; <span class="nu0">2</span> &nbsp;<span class="nu0">6</span> <span class="nu0">92</span> &nbsp;<span class="nu0">1.22</span> <span class="nu0">0.57</span> <span class="nu0">0.47</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.89</span> <span class="nu0">5405</span> <span class="nu0">675.00</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">93</span> &nbsp;<span class="nu0">1.22</span> <span class="nu0">0.57</span> <span class="nu0">0.47</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">4.06</span> <span class="nu0">195</span> &nbsp;<span class="nu0">0.77</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp;<span class="nu0">21.23</span> &nbsp;<span class="nu0">13</span> &nbsp;<span class="nu0">0.27</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.88</span> <span class="nu0">5335</span> <span class="nu0">666.21</span> &nbsp; <span class="nu0">2</span> &nbsp;<span class="nu0">7</span> <span class="nu0">91</span> &nbsp;<span class="nu0">1.22</span> <span class="nu0">0.57</span> <span class="nu0">0.47</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="nu0">68.00</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">0.07</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.86</span> <span class="nu0">5446</span> <span class="nu0">680.08</span> &nbsp; <span class="nu0">2</span> &nbsp;<span class="nu0">6</span> <span class="nu0">92</span> &nbsp;<span class="nu0">1.28</span> <span class="nu0">0.60</span> <span class="nu0">0.48</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="nu0">28.00</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">0.03</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1024.00</span> &nbsp; <span class="nu0">4</span> &nbsp;<span class="nu0">4.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.88</span> <span class="nu0">5222</span> <span class="nu0">652.19</span> &nbsp; <span class="nu0">3</span> &nbsp;<span class="nu0">7</span> <span class="nu0">90</span> &nbsp;<span class="nu0">1.28</span> <span class="nu0">0.60</span> <span class="nu0">0.48</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.89</span> <span class="nu0">5431</span> <span class="nu0">678.27</span> &nbsp; <span class="nu0">3</span> &nbsp;<span class="nu0">7</span> <span class="nu0">91</span> &nbsp;<span class="nu0">1.28</span> <span class="nu0">0.60</span> <span class="nu0">0.48</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.88</span> <span class="nu0">5383</span> <span class="nu0">672.28</span> &nbsp; <span class="nu0">2</span> &nbsp;<span class="nu0">7</span> <span class="nu0">91</span> &nbsp;<span class="nu0">1.28</span> <span class="nu0">0.60</span> <span class="nu0">0.48</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="nu0">68.00</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">0.07</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">127.86</span> <span class="nu0">5446</span> <span class="nu0">680.02</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">93</span> &nbsp;<span class="nu0">1.26</span> <span class="nu0">0.60</span> <span class="nu0">0.48</span></div>
</li>
</ol>
</div>
</div>
<p>Read :</p>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">dd</span> <span class="kw1">if</span>=<span class="sy0">/</span>dev<span class="sy0">/</span>rdisk6s2 <span class="re2">of</span>=<span class="sy0">/</span>dev<span class="sy0">/</span>null <span class="re2">bs</span>=1024000 <span class="re2">count</span>=20480000</div>
</li>
<li class="li1">
<div class="de1">23379+0 records <span class="kw1">in</span></div>
</li>
<li class="li1">
<div class="de1">23379+0 records out</div>
</li>
<li class="li1">
<div class="de1">23940096000 bytes transferred <span class="kw1">in</span> <span class="nu0">49.482015</span> secs <span class="br0">&#40;</span><span class="nu0">483814090</span> bytes<span class="sy0">/</span>sec<span class="br0">&#41;</span></div>
</li>
</ol>
</div>
</div>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">disk0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk6 &nbsp; &nbsp; &nbsp; cpu &nbsp; &nbsp; load average</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp;us sy <span class="kw2">id</span> &nbsp; 1m &nbsp; 5m &nbsp; 15m</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">460</span> <span class="nu0">449.69</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">98</span> &nbsp;<span class="nu0">0.87</span> <span class="nu0">0.68</span> <span class="nu0">0.52</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">819.20</span> &nbsp; <span class="nu0">5</span> &nbsp;<span class="nu0">4.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">475</span> <span class="nu0">463.39</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.87</span> <span class="nu0">0.68</span> <span class="nu0">0.52</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="nu0">68.00</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">0.07</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">475</span> <span class="nu0">464.32</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">98</span> &nbsp;<span class="nu0">0.80</span> <span class="nu0">0.67</span> <span class="nu0">0.52</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="nu0">10.83</span> &nbsp; <span class="nu0">6</span> &nbsp;<span class="nu0">0.06</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">477</span> <span class="nu0">466.28</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">2</span> <span class="nu0">98</span> &nbsp;<span class="nu0">0.80</span> <span class="nu0">0.67</span> <span class="nu0">0.52</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">473</span> <span class="nu0">462.40</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.80</span> <span class="nu0">0.67</span> <span class="nu0">0.52</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">819.20</span> &nbsp; <span class="nu0">5</span> &nbsp;<span class="nu0">4.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">472</span> <span class="nu0">461.42</span> &nbsp; <span class="nu0">2</span> &nbsp;<span class="nu0">2</span> <span class="nu0">96</span> &nbsp;<span class="nu0">0.80</span> <span class="nu0">0.67</span> <span class="nu0">0.52</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="nu0">68.00</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">0.07</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">468</span> <span class="nu0">456.55</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.80</span> <span class="nu0">0.67</span> <span class="nu0">0.52</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">460</span> <span class="nu0">449.69</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.90</span> <span class="nu0">0.69</span> <span class="nu0">0.53</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">819.20</span> &nbsp; <span class="nu0">5</span> &nbsp;<span class="nu0">4.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">475</span> <span class="nu0">464.31</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.90</span> <span class="nu0">0.69</span> <span class="nu0">0.53</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="nu0">68.00</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">0.07</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">479</span> <span class="nu0">468.25</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.90</span> <span class="nu0">0.69</span> <span class="nu0">0.53</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="nu0">60.00</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">0.06</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">475</span> <span class="nu0">464.32</span> &nbsp; <span class="nu0">5</span> &nbsp;<span class="nu0">2</span> <span class="nu0">93</span> &nbsp;<span class="nu0">0.90</span> <span class="nu0">0.69</span> <span class="nu0">0.53</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">770.50</span> &nbsp;<span class="nu0">16</span> <span class="nu0">12.03</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">819.20</span> &nbsp; <span class="nu0">5</span> &nbsp;<span class="nu0">4.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">465</span> <span class="nu0">454.57</span> &nbsp; <span class="nu0">6</span> &nbsp;<span class="nu0">3</span> <span class="nu0">92</span> &nbsp;<span class="nu0">0.90</span> <span class="nu0">0.69</span> <span class="nu0">0.53</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">857.66</span> &nbsp;<span class="nu0">29</span> <span class="nu0">24.26</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">480</span> <span class="nu0">469.20</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.83</span> <span class="nu0">0.68</span> <span class="nu0">0.52</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">471</span> <span class="nu0">460.44</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.83</span> <span class="nu0">0.68</span> <span class="nu0">0.52</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">476</span> <span class="nu0">465.33</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">2</span> <span class="nu0">98</span> &nbsp;<span class="nu0">0.83</span> <span class="nu0">0.68</span> <span class="nu0">0.52</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="nu0">68.00</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">0.07</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">819.20</span> &nbsp; <span class="nu0">5</span> &nbsp;<span class="nu0">4.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">477</span> <span class="nu0">465.33</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">2</span> <span class="nu0">98</span> &nbsp;<span class="nu0">0.83</span> <span class="nu0">0.68</span> <span class="nu0">0.52</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">445</span> <span class="nu0">434.11</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">98</span> &nbsp;<span class="nu0">0.83</span> <span class="nu0">0.68</span> <span class="nu0">0.52</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="nu0">10.98</span> &nbsp;<span class="nu0">45</span> &nbsp;<span class="nu0">0.48</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; <span class="nu0">330.75</span> &nbsp;<span class="nu0">16</span> &nbsp;<span class="nu0">5.16</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">454</span> <span class="nu0">442.89</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">3</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.76</span> <span class="nu0">0.67</span> <span class="nu0">0.52</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">459</span> <span class="nu0">448.71</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">98</span> &nbsp;<span class="nu0">0.76</span> <span class="nu0">0.67</span> <span class="nu0">0.52</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="nu0">68.00</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">0.07</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp; &nbsp; <span class="nu0">0.00</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">0.00</span> &nbsp;<span class="nu0">1000.00</span> <span class="nu0">462</span> <span class="nu0">450.69</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.76</span> <span class="nu0">0.67</span> <span class="nu0">0.52</span></div>
</li>
</ol>
</div>
</div>
<p>With 128k block size :</p>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">dd</span> <span class="kw1">if</span>=<span class="sy0">/</span>dev<span class="sy0">/</span>zero <span class="re2">of</span>=<span class="sy0">/</span>Volumes<span class="sy0">/</span>raid<span class="sy0">/</span>toto <span class="re2">bs</span>=131072 <span class="re2">count</span>=<span class="nu0">20480000</span></div>
</li>
</ol>
</div>
</div>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">disk6 &nbsp; &nbsp; &nbsp; cpu &nbsp; &nbsp; load average</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp;us sy <span class="kw2">id</span> &nbsp; 1m &nbsp; 5m &nbsp; 15m</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.87</span> <span class="nu0">4899</span> <span class="nu0">611.77</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">93</span> &nbsp;<span class="nu0">0.53</span> <span class="nu0">0.44</span> <span class="nu0">0.45</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.88</span> <span class="nu0">4963</span> <span class="nu0">619.80</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">93</span> &nbsp;<span class="nu0">0.53</span> <span class="nu0">0.44</span> <span class="nu0">0.45</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.90</span> <span class="nu0">4859</span> <span class="nu0">606.91</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">93</span> &nbsp;<span class="nu0">0.57</span> <span class="nu0">0.45</span> <span class="nu0">0.45</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">124.78</span> <span class="nu0">4559</span> <span class="nu0">555.53</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">93</span> &nbsp;<span class="nu0">0.57</span> <span class="nu0">0.45</span> <span class="nu0">0.45</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.87</span> <span class="nu0">4915</span> <span class="nu0">613.78</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">93</span> &nbsp;<span class="nu0">0.57</span> <span class="nu0">0.45</span> <span class="nu0">0.45</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.90</span> <span class="nu0">4994</span> <span class="nu0">623.79</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">93</span> &nbsp;<span class="nu0">0.57</span> <span class="nu0">0.45</span> <span class="nu0">0.45</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.88</span> <span class="nu0">4980</span> <span class="nu0">621.91</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">93</span> &nbsp;<span class="nu0">0.57</span> <span class="nu0">0.45</span> <span class="nu0">0.45</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.87</span> <span class="nu0">4946</span> <span class="nu0">617.65</span> &nbsp; <span class="nu0">3</span> &nbsp;<span class="nu0">7</span> <span class="nu0">91</span> &nbsp;<span class="nu0">0.68</span> <span class="nu0">0.47</span> <span class="nu0">0.46</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.11</span> <span class="nu0">4479</span> <span class="nu0">556.03</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">7</span> <span class="nu0">93</span> &nbsp;<span class="nu0">0.68</span> <span class="nu0">0.47</span> <span class="nu0">0.46</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.87</span> <span class="nu0">4867</span> <span class="nu0">607.77</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">93</span> &nbsp;<span class="nu0">0.68</span> <span class="nu0">0.47</span> <span class="nu0">0.46</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.87</span> <span class="nu0">4886</span> <span class="nu0">610.14</span> &nbsp; <span class="nu0">2</span> &nbsp;<span class="nu0">7</span> <span class="nu0">92</span> &nbsp;<span class="nu0">0.68</span> <span class="nu0">0.47</span> <span class="nu0">0.46</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.87</span> <span class="nu0">4932</span> <span class="nu0">615.91</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">7</span> <span class="nu0">92</span> &nbsp;<span class="nu0">0.68</span> <span class="nu0">0.47</span> <span class="nu0">0.46</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.87</span> <span class="nu0">4865</span> <span class="nu0">607.53</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">93</span> &nbsp;<span class="nu0">0.79</span> <span class="nu0">0.50</span> <span class="nu0">0.47</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.90</span> <span class="nu0">4949</span> <span class="nu0">618.15</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">93</span> &nbsp;<span class="nu0">0.79</span> <span class="nu0">0.50</span> <span class="nu0">0.47</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.87</span> <span class="nu0">4930</span> <span class="nu0">615.67</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">7</span> <span class="nu0">93</span> &nbsp;<span class="nu0">0.79</span> <span class="nu0">0.50</span> <span class="nu0">0.47</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.88</span> <span class="nu0">4991</span> <span class="nu0">623.29</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">92</span> &nbsp;<span class="nu0">0.79</span> <span class="nu0">0.50</span> <span class="nu0">0.47</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.88</span> <span class="nu0">4979</span> <span class="nu0">621.81</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">7</span> <span class="nu0">91</span> &nbsp;<span class="nu0">0.79</span> <span class="nu0">0.50</span> <span class="nu0">0.47</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.88</span> <span class="nu0">4978</span> <span class="nu0">621.65</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">6</span> <span class="nu0">93</span> &nbsp;<span class="nu0">0.88</span> <span class="nu0">0.52</span> <span class="nu0">0.48</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.87</span> <span class="nu0">4899</span> <span class="nu0">611.78</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">7</span> <span class="nu0">92</span> &nbsp;<span class="nu0">0.88</span> <span class="nu0">0.52</span> <span class="nu0">0.48</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.90</span> <span class="nu0">4962</span> <span class="nu0">619.79</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">5</span> <span class="nu0">94</span> &nbsp;<span class="nu0">0.88</span> <span class="nu0">0.52</span> <span class="nu0">0.48</span></div>
</li>
</ol>
</div>
</div>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">dd</span> <span class="kw1">if</span>=<span class="sy0">/</span>dev<span class="sy0">/</span>rdisk6s2 <span class="re2">of</span>=<span class="sy0">/</span>dev<span class="sy0">/</span>null <span class="re2">bs</span>=131072 <span class="re2">count</span>=<span class="nu0">20480000</span></div>
</li>
</ol>
</div>
</div>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">disk6 &nbsp; &nbsp; &nbsp; cpu &nbsp; &nbsp; load average</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; KB<span class="sy0">/</span>t tps &nbsp;MB<span class="sy0">/</span>s &nbsp;us sy <span class="kw2">id</span> &nbsp; 1m &nbsp; 5m &nbsp; 15m</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3687</span> <span class="nu0">460.83</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.38</span> <span class="nu0">0.51</span> <span class="nu0">0.48</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3683</span> <span class="nu0">460.34</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.38</span> <span class="nu0">0.51</span> <span class="nu0">0.48</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3807</span> <span class="nu0">475.84</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">2</span> <span class="nu0">98</span> &nbsp;<span class="nu0">0.38</span> <span class="nu0">0.51</span> <span class="nu0">0.48</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3810</span> <span class="nu0">476.22</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.38</span> <span class="nu0">0.51</span> <span class="nu0">0.48</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3720</span> <span class="nu0">464.97</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.38</span> <span class="nu0">0.51</span> <span class="nu0">0.48</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3726</span> <span class="nu0">465.72</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.51</span> <span class="nu0">0.53</span> <span class="nu0">0.49</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3615</span> <span class="nu0">451.85</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.51</span> <span class="nu0">0.53</span> <span class="nu0">0.49</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3610</span> <span class="nu0">451.25</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.51</span> <span class="nu0">0.53</span> <span class="nu0">0.49</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3589</span> <span class="nu0">448.60</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.51</span> <span class="nu0">0.53</span> <span class="nu0">0.49</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3598</span> <span class="nu0">449.73</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">96</span> &nbsp;<span class="nu0">0.51</span> <span class="nu0">0.53</span> <span class="nu0">0.49</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3549</span> <span class="nu0">443.60</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">2</span> <span class="nu0">98</span> &nbsp;<span class="nu0">0.47</span> <span class="nu0">0.52</span> <span class="nu0">0.49</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3635</span> <span class="nu0">454.34</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.47</span> <span class="nu0">0.52</span> <span class="nu0">0.49</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3635</span> <span class="nu0">454.35</span> &nbsp; <span class="nu0">0</span> &nbsp;<span class="nu0">2</span> <span class="nu0">98</span> &nbsp;<span class="nu0">0.47</span> <span class="nu0">0.52</span> <span class="nu0">0.49</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3653</span> <span class="nu0">456.59</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.47</span> <span class="nu0">0.52</span> <span class="nu0">0.49</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3639</span> <span class="nu0">454.85</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.47</span> <span class="nu0">0.52</span> <span class="nu0">0.49</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3539</span> <span class="nu0">442.36</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.51</span> <span class="nu0">0.53</span> <span class="nu0">0.49</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3673</span> <span class="nu0">459.10</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.51</span> <span class="nu0">0.53</span> <span class="nu0">0.49</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.00</span> <span class="nu0">3101</span> <span class="nu0">387.62</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.51</span> <span class="nu0">0.53</span> <span class="nu0">0.49</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">127.96</span> <span class="nu0">3495</span> <span class="nu0">436.73</span> &nbsp; <span class="nu0">1</span> &nbsp;<span class="nu0">2</span> <span class="nu0">97</span> &nbsp;<span class="nu0">0.51</span> <span class="nu0">0.53</span> <span class="nu0">0.49</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="nu0">128.04</span> <span class="nu0">3547</span> <span class="nu0">443.47</span> &nbsp; <span class="nu0">2</span> &nbsp;<span class="nu0">2</span> <span class="nu0">96</span> &nbsp;<span class="nu0">0.51</span> <span class="nu0">0.53</span> <span class="nu0">0.49</span></div>
</li>
</ol>
</div>
</div>
<p>Using 64k block size does not change the results.<br />
What we can see here is that the throughoutput is quite stable. Again, results in raw data are almost the same as with the benchmark tools.</p>
<h2>Conclusion of static tests</h2>
<p>This gives really good results, far more than I need, whatever the mode used. I will have to perform the tests again with a half-full and 80% full array, just to validate the throughoutput is still stable. Of course, it will be less than with an empty array.<br />
Next test will be with FinalCut, and how it can handle big HD files from the EX1 (XDcam-EX 420 1080p @25fps VBR) and Proress 422HQ files.</p>
<p>For the moment :<br />
1) buy a battery for the RAID card (between 100€ and 200€) and enable Write Back<br />
2) use RAID5 for data security<br />
3) user 128k Block Size on disk</p>
<p>The last comment will be about price :<br />
- RAID card : under 600€<br />
- RAID enclosure : 800€ (have to check, I really don&#8217;t remember)<br />
- Drives : 157€x8 = 1256€</p>
<p>Total : 2656€ for an array usable for HD (and 4:4:4). Remember this is a 12Tb array with really good perfs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/887/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hitachi 2To 3.5&#8243; (HDS722020ALA330)</title>
		<link>http://www.lecentre.net/blog/archives/863</link>
		<comments>http://www.lecentre.net/blog/archives/863#comments</comments>
		<pubDate>Sat, 24 Oct 2009 19:38:23 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[OS X]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/?p=863</guid>
		<description><![CDATA[Remember few months ago, in april, I changed my old G5 Powermac for the new Nehalem 2009, with an external hard drive enclosure of 10Tb. At that moment, the Seagate 1.5Tb drive was the biggest one availlable, and with far better throughoutput than the 1Tb drives availlable. The problem is that this Seagate drive (ST31500341AS) [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/medium.jpg" alt="medium" title="medium" width="185" height="156" class="alignleft size-full wp-image-864" /> Remember few months ago, in april, I changed my old G5 Powermac for the new Nehalem 2009, with an external hard drive enclosure of 10Tb.<br />
At that moment, the Seagate 1.5Tb drive was the biggest one availlable, and with far better throughoutput than the 1Tb drives availlable. </p>
<p>The problem is that this Seagate drive (ST31500341AS) does not work with hardware RAID, and as reported on Seagate forums, with a lot or S-ATA controlers. See how people are complaining <a href="http://forums.seagate.com/stx/board/message?board.id=ata_drives&#038;thread.id=11184&#038;view=by_date_ascending&#038;page=19">there</a>. Solution : <strong>NEVER BUY SEAGATE DRIVES AGAIN !!!!</strong></p>
<p>Today I went to the store and grab two of the new Hitachi 2Tb drives :<br />
<span id="more-863"></span><br />
<img src="http://www.lecentre.net/blog/wp-content/uploads/2009/10/large.jpg" alt="large" title="large" width="540" height="456" class="alignnone size-full wp-image-865" /></p>
<p>This drive have 5 platter of 400Mb each, and 32Mb of RAM. You can find all the specs in <a href="http://www.hitachigst.com/tech/techlib.nsf/techdocs/6A7E7E6848832B7786257603007AAF5E/$file/DS7K2000_DS_final.pdf">this PDF file from Hitachi website</a>.</p>
<p>The interesting thing with this drive is that, even if not reported to be working with either Highpoint RAID cards or Enhance Technology enclosure (maybe it&#8217;s too soon), the Highpoint 432x is listed as compatible on <a href="http://www.hitachigst.com/tech/techlib.nsf/techdocs/DD83C84916048AA78625760A0013C4D3/$file/DS7K2000_CompatGuide.pdf">Hitachi&#8217;s website compatibility list</a>.</p>
<p>And, indeed, it does work !</p>
<p>More screen grab of most of the benchs tools will be availlable soon. For the moment, using only two drives in RAID 1 proved to be faster than the two Seagates (for the few minutes a test can run before the drives get offlined).<br />
Next step : buy the 6 missing drives to fill the array and use the 1.5Tb Seagate drives as internal storage in the PowerMac itself.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/863/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>computer stuffs&#8230;</title>
		<link>http://www.lecentre.net/blog/archives/858</link>
		<comments>http://www.lecentre.net/blog/archives/858#comments</comments>
		<pubDate>Mon, 19 Oct 2009 04:47:01 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/?p=858</guid>
		<description><![CDATA[The main purpose of this blog is to act as a reminder, a todo. Here are things i&#8217;ve just found and needs a second look at, or more, a testing. Human readable Glassfish Log This is a shell (sh) script that should made things easier when having a look or doing a &#171;&#160;tail -f&#160;&#187; at [...]]]></description>
			<content:encoded><![CDATA[<p>The main purpose of this blog is to act as a reminder, a todo. Here are things i&#8217;ve just found and needs a second look at, or more, a testing.</p>
<li><a href="http://humglassfishlog.sourceforge.net/">Human readable Glassfish Log</a></li>
<p>This is a shell (sh) script that should made things easier when having a look or doing a &laquo;&nbsp;tail -f&nbsp;&raquo; at Glassfish error logs.</p>
<li><a href="http://blogs.sun.com/aquatic/">Rajeshwar&#8217;s Weblog</a></li>
<p>This is a blog, lately talking about Glassfish V3 REST api implementation. As far as I know this is (still) not working with GF v2, which already have JMX and, if you&#8217;re a registered Sun user, SNMP. But worth having a look.</p>
<li><a href="http://beet.sourceforge.net">Beet</a></li>
<p>It seems to me that most of developpers are using Spring framework nowadays. This tool should enable them (or force them ?) to have a deeper look of what the framework is actualy doing. Seriously, comments welcome. May be the weapon of choice for sysadmins like me, dealing with developpers who hide behing their framework (like if the framework was an excuse&#8230; huhuhu).</p>
<li><a href="http://pandorafms.org/index.php?sec=project&#038;sec2=home&#038;lang=en">PandoraFMS</a></li>
<p>Another monitoring software&#8230; well&#8230; to be tested.</p>
<li><a href="http://www.oracle.com/technology/pub/articles/mearelli-igoogle.html">Oracle Database-backed iGoogle Gadgets</a></li>
<p>An interesting thing you can do with Google&#8217;s API&#8230; It should with any database, but hey, a free software working with Oracle is worth beeing mentioned <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<li><a href="http://www.oracle.com/technology/pub/articles/index.html">Other Oracle related articles</a></li>
<li><a href="http://download.oracle.com/otn_hosted_doc/timesten/603/TimesTen-Documentation/arch.pdf">Oracle TimesTen In-Memory Database</a></li>
<p>This is a PDF file dealing with TimesTen Database. This is a product newly (2 or 3 years) bought by Oracle, and well integrated. Embed the database close to the application, in the application server. Data are replicated at startup. You can choose which database, which table, which data using a filter, or even do transformations to the data. You select the synchronization frequency and there you go. I had a session OOW 2009 about that and how it was used to break a CDN application in two parts : one for slow data change (read/write to the DB) and one for massive fast queries on the delivery side. Ok, this use a lot of RAM&#8230; but RAM is cheap isn&#8217;t it ?</p>
<p>Now we have some cool things to read and test, don&#8217;t we ? <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/858/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle 11g R2 on Linux Fedora</title>
		<link>http://www.lecentre.net/blog/archives/842</link>
		<comments>http://www.lecentre.net/blog/archives/842#comments</comments>
		<pubDate>Fri, 18 Sep 2009 14:21:48 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/?p=842</guid>
		<description><![CDATA[This is my first attempt at Oracle 11g with Linux. As I&#8217;m still waiting for the 11G R2 to be released on Solaris, I managed to have a try on a Linux VM. First, get VirtualBox Then, get a Fedora 11 image You may also need a &#171;&#160;z7&#8243; compressor to un-z7 the image. You can [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/09/otn_logo_small.gif" alt="otn_logo_small" title="otn_logo_small" width="148" height="59" class="alignleft size-full wp-image-848" /><br />
This is my first attempt at Oracle 11g with Linux. As I&#8217;m still waiting for the 11G R2 to be released on Solaris, I managed to have a try on a Linux VM.</p>
<p>First, get <a href="http://www.virtualbox.org/">VirtualBox</a><br />
Then, get a <a href="http://virtualbox.wordpress.com/images/fedora/">Fedora 11 image</a><br />
You may also need a &laquo;&nbsp;z7&#8243; compressor to un-z7 the image. You can get 7za from the Macports </p>
<div class="codesnip-container" ># port install p7zip<br />
# 7za  e fedora-11-x86.7z</p>
<p>7-Zip (A) 9.04 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-05-30<br />
p7zip Version 9.04 (locale=utf8,Utf16=on,HugeFiles=on,2 CPUs)</p>
<p>Processing archive: fedora-11-x86.7z</p>
<p>Extracting  Machine/fedora-11-x86/fedora-11-x86.xml<br />
Extracting  VDI/fedora-11-x86.vdi<br />
Extracting  VDI<br />
Extracting  Machine/fedora-11-x86<br />
Extracting  Machine</p>
<p>Everything is Ok</p>
<p>Folders: 3<br />
Files: 2<br />
Size:       4740698220<br />
Compressed: 1148257214</p></div>
<p>Then configure and start the VM. I had to add 3 NICs, so I have 4 network interfaces, enough to play. I also set the first one as Bridge instead of the default NAT, so my VM have a real IP.<br />
I then have to log as root, chance the /etc/sudoers so Wheel users can sudo. Then I added fedora (default user) to Wheel group in /etc/groups.<br />
Now I can sudo. We are close to be able to install Oracle database. While I&#8217;m at it, go to<a href="http://www.oracle.com/technology/software/products/database/index.html"> Oracle website</a> and download the 2 install zip files. This is quite huge, around 2.1Gb. Be carefull when you unzip (not yet), as everything lives in the &laquo;&nbsp;database&nbsp;&raquo; folder&#8230;<br />
You will also need the <a href="http://download.oracle.com/otn/linux/oracle11g/R2/linux_11gR2_grid.zip">Grid Infrastructure Software</a>.<br />
Please note we are installong the 32bits versions, but the 64bits version is the same, only <a href="http://www.oracle.com/technology/software/products/database/index.html">the packages to download</a> are different. Click on the &laquo;&nbsp;view all&nbsp;&raquo; to get the Grid Infrastructure Software.</p>
<p>For Oracle 11G R2 to work on linux you need to fulfill some dependencies, starting with some RPM packages. Use &#8216;yum&#8217; to search for them and install them. Here is a list according to <a href="http://download.oracle.com/docs/cd/E11882_01/install.112/e10812/prelinux.htm#BABFDJJF">Oracle Linux recommendations</a> :</p>
<div class="codesnip-container" >binutils-2.17.50.0.6<br />
compat-libstdc++-33-3.2.3<br />
compat-libstdc++-33-3.2.3 (32 bit)<br />
elfutils-libelf-0.125<br />
elfutils-libelf-devel-0.125<br />
gcc-4.1.2<br />
gcc-c++-4.1.2<br />
glibc-2.5-24<br />
glibc-2.5-24 (32 bit)<br />
glibc-common-2.5<br />
glibc-devel-2.5<br />
glibc-devel-2.5 (32 bit)<br />
glibc-headers-2.5<br />
ksh-20060214<br />
libaio-0.3.106<br />
libaio-0.3.106 (32 bit)<br />
libaio-devel-0.3.106<br />
libaio-devel-0.3.106 (32 bit)<br />
libgcc-4.1.2<br />
libgcc-4.1.2 (32 bit)<br />
libstdc++-4.1.2<br />
libstdc++-4.1.2 (32 bit)<br />
libstdc++-devel 4.1.2<br />
make-3.81<br />
sysstat-7.0.2<br />
unixODBC-2.2.11<br />
unixODBC-2.2.11 (32 bit)<br />
unixODBC-devel-2.2.11<br />
unixODBC-devel-2.2.11 (32 bit)</div>
<p>11G R2 now comes with a &laquo;&nbsp;bundeled NTP server&nbsp;&raquo;, I mean, Oracle now can sync the time of every node in the cluster. No need of NTPD, and no evictions due to bad Solaris xntpd server. Just disable ntpd or ensure it&#8217;s not running before installing Oracle database.<br />
Also, configure SSHD and kernel parameters, if needed, as <a href="http://download.oracle.com/docs/cd/E11882_01/install.112/e10812/manpreins.htm#BABCHAED">Oracle prerequisite</a>.<br />
Now, let&#8217;s go with Oracle. Create an oracle user with :</p>
<div class="codesnip-container" >adduser oracle<br />
passwd oracle (give a password)</div>
<p>As root, create a /opt/oracle folder and give RWX rights to oracle user.<br />
Create a SSL key for user Oracle, add your personal public key to authorized_keys and log as oracle user. Copy the Oracle install files to the home dir of this user.</p>
<div class="codesnip-container" >mkdir /opt/oracle<br />
chown oracle /opt/oracle<br />
su &#8211; oracle<br />
ssh-keygen -f dsa<br />
(set empty password and write the key in .ssh folder)<br />
vi .ssh/authorized_keys<br />
(copy the pubkey of your admin user)<br />
unzip linux.x64_11gR2_grid.zip<br />
unzip linux_11gR2_database_1of2.zip<br />
unzip linux_11gR2_database_2of2.zip<br />
cd database</div>
<p>Log-in again with your oracle user, setting X11 forwarding (use -X -Y if you are using a mac) : </p>
<div class="codesnip-container" >ssh -X -Y oracle@your_host<br />
cd grid</p>
<p>cd database<br />
./runInstaller</p>
<p>Starting Oracle Universal Installer&#8230;</p>
<p>Checking Temp space: must be greater than 80 MB.   Actual 9828 MB    Passed<br />
Checking swap space: must be greater than 150 MB.   Actual 1023 MB    Passed<br />
Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed<br />
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2009-09-18_09-47-50AM. Please wait &#8230;[oracle@localhost database]$ Xlib:  extension &laquo;&nbsp;Generic Event Extension&nbsp;&raquo; missing on display &laquo;&nbsp;localhost:10.0&#8243;.</p></div>
<p>Don&#8217;t take account for X11 errors, as long as you have the install window.<br />
First question is giving out your email address for security updates&#8230; As you ARE a good DBA/Sysadmin, you won&#8217;t need this. Click next <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>As I don&#8217;t have time and I KNOW I will not do better, check there for some more informations on <a href="http://dbastreet.com/docs/11gR2RacInstall_gridinfra.html">installing Oracle 11G R2 RAC ASM</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/842/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>80&#8242;s computing</title>
		<link>http://www.lecentre.net/blog/archives/775</link>
		<comments>http://www.lecentre.net/blog/archives/775#comments</comments>
		<pubDate>Tue, 21 Apr 2009 09:21:27 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/?p=775</guid>
		<description><![CDATA[Today we found two keys. They appear to be from the safty deposit from the sublevels of the company I&#8217;m working for. We had a look at the lockers. They appera to be untouched since 1996. And this is what we discovered inside : These are just brand old 1980&#8242;s HARD DRIVES. Unfortunatly I don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>Today we found two keys. They appear to be from the safty deposit from the sublevels of the company I&#8217;m working for. We had a look at the lockers.<br />
They appera to be untouched since 1996. And this is what we discovered inside :<br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/04/21042009006.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/04/21042009006-250x187.jpg" alt="21042009006" title="21042009006" width="250" height="187" class="alignnone size-medium wp-image-776" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/04/21042009005.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/04/21042009005-250x187.jpg" alt="21042009005" title="21042009005" width="250" height="187" class="alignnone size-medium wp-image-777" /></a><br />
These are just brand old 1980&#8242;s HARD DRIVES. Unfortunatly I don&#8217;t have an actual hard drive to compare, but these are really big and heavy. Around 40cm diameter and almost 30cm high for the biggest, estimated at around 40Mb data space <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Of course, as this is not usable anymore, I decided to take one into pieces :<br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/04/21042009001.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/04/21042009001-250x187.jpg" alt="21042009001" title="21042009001" width="250" height="187" class="alignnone size-medium wp-image-778" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/04/21042009.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/04/21042009-250x187.jpg" alt="21042009" title="21042009" width="250" height="187" class="alignnone size-medium wp-image-779" /></a><br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/04/21042009002.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/04/21042009002-250x187.jpg" alt="21042009002" title="21042009002" width="250" height="187" class="alignnone size-medium wp-image-780" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/04/21042009003.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/04/21042009003-250x187.jpg" alt="21042009003" title="21042009003" width="250" height="187" class="alignnone size-medium wp-image-781" /></a><br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/04/21042009004.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/04/21042009004-250x187.jpg" alt="21042009004" title="21042009004" width="250" height="187" class="alignnone size-medium wp-image-782" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/04/21042009007.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/04/21042009007-250x187.jpg" alt="21042009007" title="21042009007" width="250" height="187" class="alignnone size-medium wp-image-783" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/775/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

