<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>ixs' Vodkamelone - Unix</title>
    <link>http://193.7.178.18/</link>
    <description>free pr0n</description>
    <dc:language>de</dc:language>
    <admin:errorReportsTo rdf:resource="mailto:" />
    <generator>Serendipity 1.3-beta1 - http://www.s9y.org/</generator>
    
    <image>
        <url>http://193.7.178.18/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: ixs' Vodkamelone - Unix - free pr0n</title>
        <link>http://193.7.178.18/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Better UX on the Nagios web interface using the corewindow parameter</title>
    <link>http://193.7.178.18/archives/178-Better-UX-on-the-Nagios-web-interface-using-the-corewindow-parameter.html</link>
            <category>Bawue.Net</category>
            <category>Teh Intarweb</category>
            <category>Unix</category>
    
    <comments>http://193.7.178.18/archives/178-Better-UX-on-the-Nagios-web-interface-using-the-corewindow-parameter.html#comments</comments>
    <wfw:comment>http://193.7.178.18/wfwcomment.php?cid=178</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://193.7.178.18/rss.php?version=2.0&amp;type=comments&amp;cid=178</wfw:commentRss>
    

    <author>andreas@dicp.de (andreas)</author>
    <content:encoded>
    &lt;p&gt;Nagios is probably one of the most used network monitoring systems around. Especially in environments that have been around for a while and contain a lot of on-premises nodes.&lt;/p&gt;

&lt;p&gt;I&#039;ve recently started to upgrade an existing installation which included a lot of automation and updating from Nagios Core 3.x to Nagios Core 4.x. This resulted in an updated Web Interface with more PHP code and a more modern design.&lt;p&gt;

&lt;p&gt;One main gripe I have about the Nagios interface however is the use of Frames. The problem has not changed since the 3.x days:
&lt;ul&gt;
 &lt;li&gt;Nagios uses frames&lt;/li&gt;
 &lt;li&gt;This means that the browser only ever shows the base url (https://example.com/nagios/) in the location bar&lt;/li&gt;
 &lt;li&gt;When navigating to a specific service, e.g. /nagios/cgi-bin/extinfo.cgi?type=2, the location bar is unchanged and still points at the base URL.&lt;/li&gt;
 &lt;li&gt;If I want to share a specific service status I need to copy the URL of the frame and send it to a colleague.&lt;/li&gt;
 &lt;li&gt;Said colleague will only see the service status when opening that URL, no navigation bar will be shown, because that&#039;s in a different frame which we&#039;re bypassing.&lt;/li&gt;
&lt;/ul&gt;
This is a common issue with framesets and a complaint that basically came up 5 minutes after the introduction of frames in 1996.&lt;p&gt;

&lt;p&gt;Despite these complaints, frames can actually be very useful in many cases. When developing your own software, there are multiple options available to work around these frameset limitations. When using third-party software such as Nagios however, there&#039;s fewer options available.&lt;br /&gt;
For Nagios Core 3.x I had replaced the Nagios provided &lt;i&gt;index.html&lt;/i&gt; page with my own &lt;i&gt;index.php&lt;/i&gt; page that takes an optional parameter for the address of the main frame which allowed to construct URLs that open the regular Nagios interface with the navigation bar on the left frame and a e.g. specific service opened on the main frame to the right.&lt;/p&gt;

&lt;p&gt;When porting this functionality I stumbled the fact that Nagios Core 4.x is already using PHP for some files and the default &lt;i&gt;index.php&lt;/i&gt; already seems to have a parameter called &quot;corewindow&quot; that seems to offer this functionality. Unfortunately, there is barely any documentation around for this parameter. The first thing I found is a ChangeLog entry (https://www.nagios.org/projects/nagios-core/4x/) indicating this functionality is disabled by default due to a potential security vulnerability:&lt;/p&gt;

&lt;blockquote&gt;
&lt;b&gt;4.3.0  02/21/2017&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Security&lt;/b&gt;
&lt;ul&gt;&lt;li&gt;Fix for CVE-2016-6209  The corewindow parameter (as in http://localhost/nagios?corewindow=www.somewhere.com) has been disabled by default. See the UPGRADING document for how to enable it.&lt;/li&gt;&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Well, Duh. If you take random URLs and use them to build a frameset defintion, this can indeed be &quot;misused&quot; to open a random URL inside your Frameset.&lt;br /&gt;
Personally, I wouldn&#039;t consider this a case of &quot;works as designed&quot; and not as a security issue but of course hapless users might be confused. Probably depends a lot on the users.&lt;/p&gt;

&lt;p&gt;But this is exactly the functionality we need except it&#039;s disabled. The &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/github.com/NagiosEnterprises/nagioscore/blob/master/UPGRADING&#039;);&quot;  href=&quot;https://github.com/NagiosEnterprises/nagioscore/blob/master/UPGRADING&quot; title=&quot;UPGRADING&quot;&gt;UPGRADING&lt;/a&gt; document states that one can re-enable the corewindow functionality using the &lt;i&gt;--enable-corewindow&lt;/i&gt; Parameter when building Nagios.&lt;br /&gt;
But re-enabling said functionality is even easier. Just change line 4 in the index.php file from
&lt;blockquote&gt;if (&quot;no&quot;== &quot;yes&quot; &amp;&amp;amp; isset($_GET[&#039;corewindow&#039;])) {&lt;/blockquote&gt; to &lt;blockquote&gt;if (&quot;yes&quot;== &quot;yes&quot; &amp;&amp;amp; isset($_GET[&#039;corewindow&#039;])) {&lt;/blockquote&gt;
Done, that&#039;s the same thing the &lt;i&gt;--enable-corewindow&lt;/i&gt; parameter does.&lt;br /&gt;
On my system, that file is found at &lt;i&gt;/usr/share/nagios/html/index.php&lt;i&gt;. Your system might be different.&lt;/p&gt;

&lt;p&gt;If you now open &lt;i&gt;/nagios/index.php?corewindow=nagios/tac.cgi&lt;/i&gt; the index file will open the Tactical Overview screen. Nice!&lt;/p&gt;

&lt;p&gt;Functionality restored using the default installation. Perfect!&lt;p&gt;

&lt;p&gt;But can we improve things?&lt;/p&gt;

&lt;p&gt;While looking for documentation for the corewindow parameter, I stumbled over &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/cgiincludes.html&#039;);&quot;  href=&quot;https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/cgiincludes.html&quot; title=&quot;Custom CGI Headers and Footers&quot;&gt;Custom CGI Headers and Footers&lt;/a&gt; on the Nagios documentation. It seems the CGIs can load files and embed them in the HTML page...&lt;/p&gt;

&lt;p&gt;This is brilliant. We can use some low key JavaScript logic to automatically update the browser location bar to add the corewindow parameter with the right link to the CGI.&lt;br /&gt;
This way, the location bar will always show a link to the specific view we&#039;re looking at right now and can be easily copy and pasted. No more right-click-&gt;frames-&gt;copy-frame-link dance.&lt;/p&gt;

&lt;p&gt;
This means we can create a file &lt;i&gt;/usr/share/nagios/html/ssi/common-header.ssi&lt;/i&gt; drop some Javascript in there that handles the updates of the location bar and we&#039;re done. Awesome. The code needed is super simple:
&lt;blockquote&gt;&lt;pre&gt;
&amp;lt;script&amp;gt;
        /*
         * Update the browser location bar to ensure ?corewindow= always contains the URI
         * to the current page.
         *
         * This allows a reload to reload the same page rather than going back to the main
         * frameset.
         */

        // Get the current URL of the parent window (assuming the frame is nested within it)
        var parentUrl = window.parent.location.href;

        // Get the path of the file from the current URL of the frame
        var filePath = window.location.pathname;

        // Remove the first slash from the path name
        filePath = filePath.substring(1);

        // Get any query string parameters passed to the file
        var queryString = window.location.search;

        // Remove any existing corewindow parameter from the query string
        queryString = queryString.replace(/(?:&amp;amp;|\?)corewindow=[^&amp;amp;]*&amp;amp;?/g, &amp;#039;&amp;#039;);

        // Construct the new query string with corewindow as the first parameter
        var newQueryString = &amp;#039;corewindow=&amp;#039; + filePath;

        // Append any existing query string parameters
        if (queryString) {
            // Emcode only the &amp;#039;?&amp;#039; and the &amp;#039;&amp;amp;&amp;#039; component of the path.
            newQueryString += encodeURIComponent(&amp;#039;?&amp;#039;) +
                queryString.substring(1).split(&amp;#039;&amp;amp;&amp;#039;).join(&amp;#039;%26&amp;#039;);
        }

        // Construct the updated URL with the new query string
        var updatedUrl = parentUrl.split(&amp;#039;?&amp;#039;)[0] + &amp;#039;?&amp;#039; + newQueryString;

        // Replace the URL of the parent window with the updated URL
        window.parent.history.replaceState(null, null, updatedUrl);
&amp;lt;/script&amp;gt;
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;/p&gt;

&lt;p&gt;And done, now clicking inside the Nagios interface will update the location bar to URLs such as https://nagios.example.com/nagios/?corewindow=nagios/cgi-bin/extinfo.cgi%3Ftype=2%26host=filer-cluster%26service=fs_%2Fdev%2Fvg%2Barc_vol_000%2Flv%2Bn%2Blvarc_vol_00000 which is a link that opens the fs_/dev/vg+arc_vol_000/lv+n+lvarc_vol_00000 service on the filer-cluster host. Easy to share. Perfect.&lt;/p&gt;

&lt;p&gt;Unfortunately, this solution is as close to perfect as we can build it using the shipped functionality, but it&#039;s not 100% perfect.
&lt;ul&gt;
 &lt;li&gt;This only works for .cgi files. The main.php file will not load the SSI file and thus it won&#039;t update the URL.&lt;br /&gt;
   Not problematic in the grand scheme of things but a minor nitpic.&lt;/li&gt;
 &lt;li&gt;Not all .cgis actuall load the SSI files. The map.cgi doesn&#039;t.&lt;br /&gt;
   Also not super problematic because the map is not really used by us. But YMMV.&lt;/li&gt;
&lt;/ul&gt;
But overall, still a massive UX improvement.&lt;/p&gt;

&lt;p&gt;Further reading:&lt;br /&gt;
Other people also have been using the SSI functionality to embed funky Javascript functionality. &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/theezitguy.wordpress.com/2015/08/16/nagios-improve-user-experience-with-ssi-and-javascript/&#039;);&quot;  href=&quot;https://theezitguy.wordpress.com/2015/08/16/nagios-improve-user-experience-with-ssi-and-javascript/&quot;&gt;https://theezitguy.wordpress.com/2015/08/16/nagios-improve-user-experience-with-ssi-and-javascript/&lt;/a&gt; is a good example. 
    </content:encoded>

    <pubDate>Sun, 25 Feb 2024 11:17:31 +0100</pubDate>
    <guid isPermaLink="false">http://193.7.178.18/archives/178-guid.html</guid>
    
</item>
<item>
    <title>Avocent PM webinterface issues</title>
    <link>http://193.7.178.18/archives/175-Avocent-PM-webinterface-issues.html</link>
            <category>Bawue.Net</category>
            <category>Fedora</category>
            <category>Hardware</category>
            <category>Teh Intarweb</category>
            <category>Unix</category>
    
    <comments>http://193.7.178.18/archives/175-Avocent-PM-webinterface-issues.html#comments</comments>
    <wfw:comment>http://193.7.178.18/wfwcomment.php?cid=175</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://193.7.178.18/rss.php?version=2.0&amp;type=comments&amp;cid=175</wfw:commentRss>
    

    <author>andreas@dicp.de (andreas)</author>
    <content:encoded>
    &lt;p&gt;&lt;a class=&#039;serendipity_image_link&#039; href=&#039;http://193.7.178.18/uploads/s-l1600.jpg&#039;&gt;&lt;!-- s9ymdb:192 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;110&quot; height=&quot;83&quot; style=&quot;border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://193.7.178.18/uploads/s-l1600.serendipityThumb.jpg&quot; alt=&quot;&quot;  /&gt;&lt;/a&gt;At &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/bawue.net&#039;);&quot;  href=&quot;https://bawue.net&quot;&gt;bawue.net&lt;/a&gt; we are using several Avocent PM 3000 power distribution units to connect our servers.&lt;br /&gt;
A nice feature of these PDUs is that they work great with our existing Cyclades console servers.&lt;/p&gt;

&lt;p&gt;In addition to the serial console and the SSH interface, these devices also offer a web interface. This interface never worked with Chrome or Chromium where it only shows a blank page. It does however work with Firefox, or so I thought at least.&lt;br /&gt;
I recently needed to verify something and found out that with the latest Firefox the webinterface on these devices is now not broken. Empty page, same as with Chrome.&lt;/p&gt;

&lt;p&gt;As there is no firmware upgrade, I tried figuring out what is going on.&lt;/p&gt;

&lt;p&gt;It turns out, the web interface was written using the JavaScript document.load() function to fetch content from the device. Unfortunately, this function was never standardized, never supported on Chrome or Safari and has by now been removed from Firefox as well.&lt;br /&gt;
Bummer!&lt;/p&gt;

&lt;p&gt;But thanks to Greasemonkey or Tampermonkey it is possible to make the web interface work again. We just need to provide a document.load() function that uses AJAX/XHR Requests to load data from the device and all is good.&lt;/p&gt;

&lt;p&gt;Such a userscript can be found &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/gist.github.com/ixs/58381ed5f8109b6a988a2eb06036b348&#039;);&quot;  href=&quot;https://gist.github.com/ixs/58381ed5f8109b6a988a2eb06036b348&quot;&gt;on my public github gist&lt;/a&gt;.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat,  7 Sep 2019 19:27:00 +0200</pubDate>
    <guid isPermaLink="false">http://193.7.178.18/archives/175-guid.html</guid>
    
</item>
<item>
    <title>The missing man page: cyc_ipmicmd - Avocent IPMI power control</title>
    <link>http://193.7.178.18/archives/174-The-missing-man-page-cyc_ipmicmd-Avocent-IPMI-power-control.html</link>
            <category>Bawue.Net</category>
            <category>Fedora</category>
            <category>Hardware</category>
            <category>Unix</category>
    
    <comments>http://193.7.178.18/archives/174-The-missing-man-page-cyc_ipmicmd-Avocent-IPMI-power-control.html#comments</comments>
    <wfw:comment>http://193.7.178.18/wfwcomment.php?cid=174</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://193.7.178.18/rss.php?version=2.0&amp;type=comments&amp;cid=174</wfw:commentRss>
    

    <author>andreas@dicp.de (andreas)</author>
    <content:encoded>
    &lt;p&gt;Avocent (formerly Cyclades) is a supplier for various datacenter management tools. They are best known for their rackmounted power distribution units and their serial console servers. Both devices run Linux and have been around for years.&lt;/p&gt;
&lt;p&gt;Both the now EOL&#039;d devices from Cyclades as well as the newer devices from Avocent can powercycle devices either through a serially attached smart PDU or through IPMI. Every device under the Advanced Console Server (ACS) label can control IPMI devices with a recent firmware.&lt;/p&gt;
&lt;p&gt;While the functionality of the attached PDUs is quite well documented, there&#039;s no matching documentation for the IPMI interface. The web-interface works but the logic is mostly inside the AcsWeb webserver binary.&lt;br /&gt;
There&#039;s a cyc_ipmicmd binary but that one doesn&#039;t offer any --help functionality to explain how to call it.&lt;/p&gt;
&lt;p&gt;For future reference here&#039;s the missing man page:&lt;p&gt;
&lt;pre&gt;
cyc_ipmicmd(1)                    General Commands Manual                    cyc_ipmicmd(1)

NAME
       cyc_ipmicmd - utility for power cycling servers via IPMI

SYNOPSIS
       cyc_ipmicmd SERVER COMMAND

DESCRIPTION
       The cyc_ipmicmd utility is a wrapper around /bin/ipmitool which allows to send IPMI
       power commands such as On, Off, Status and Cycle to configured devices.

       The server address as well as necessary authentication data is taken from
       /etc/IPMIServer.conf.

CONFIG FILE FORMAT
       The /etc/IPMIServer.conf file contains the necessary data to successfully send IPMI
       commands to remote devices.

       Each line contains one remote server definition with the following colon separated
       fields:

        - Numerical server ID (starting at 1)
        - IP address
        - Authentication Type (none, password, md2, md5)
        - Access Level (user, operator, admin)
        - Username
        - Password
        - Alias (human readable name)

       An example line might look as follows:
              1:192.168.0.1:password:operator:user:pass:Example Server:

SERVER parameter
       The server parameter is the numerical server ID taken from the first field of the
       configuration file.

COMMAND parameter
       The command parameter is numerical code which specifies which command is being
       sent to the remote IPMI device.

       0       Off
              Poweroff the server
       1      On
              Poweron the server
       2      Status
              Reportpower status
       3      Cycle
              Powercycle the server

EXAMPLES:
       Powercycle the first server:
              cyc_ipmicmd 1 3

AUTHOR:
       Andreas Thienemann
&lt;/pre&gt; 
    </content:encoded>

    <pubDate>Thu, 30 Apr 2015 11:10:38 +0200</pubDate>
    <guid isPermaLink="false">http://193.7.178.18/archives/174-guid.html</guid>
    
</item>
<item>
    <title>dss_cli, an Open-E Data Storage Server command line interpreter</title>
    <link>http://193.7.178.18/archives/172-dss_cli,-an-Open-E-Data-Storage-Server-command-line-interpreter.html</link>
            <category>Bawue.Net</category>
            <category>Fedora</category>
            <category>Hardware</category>
            <category>Teh Intarweb</category>
            <category>Unix</category>
    
    <comments>http://193.7.178.18/archives/172-dss_cli,-an-Open-E-Data-Storage-Server-command-line-interpreter.html#comments</comments>
    <wfw:comment>http://193.7.178.18/wfwcomment.php?cid=172</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://193.7.178.18/rss.php?version=2.0&amp;type=comments&amp;cid=172</wfw:commentRss>
    

    <author>andreas@dicp.de (andreas)</author>
    <content:encoded>
    &lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;dss_cli is a small command line program written in Python which can serve as the base for automating tasks on the Open-E Data Storage Server. A sysadmin can use it to control regular maintainance from the shell instead of having to log into the web-interface through a browser.&lt;br /&gt;
It can access the existing API via SSH and provides missing functionality by interfacing with the web-server on the DSS appliance. It is using both &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/wwwsearch.sourceforge.net/mechanize/&#039;);&quot;  href=&quot;http://wwwsearch.sourceforge.net/mechanize/&quot;&gt;mechanize&lt;/a&gt; and &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.crummy.com/software/BeautifulSoup/&#039;);&quot;  href=&quot;http://www.crummy.com/software/BeautifulSoup/&quot;&gt;Beautiful Soup&lt;/a&gt; to make it resiliant to changes in the webinterface. While it was originally written on a DSS v6, initial tests showed that it mostly works on the DSS v7 release as well.&lt;p&gt;

&lt;h2&gt;Background&lt;/h2&gt;
&lt;p&gt;The &amp;quot;Data Storage Server&amp;quot; from &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.open-e.com&#039;);&quot;  href=&quot;http://www.open-e.com&quot;&gt;Open-E&lt;/a&gt; is a linux based software appliance. After installing the software on a server, the server can then offer NAS and iSCSI storage to attached clients and is manageable through a web-interface.&lt;p&gt;

&lt;p&gt;One interesting feature of the appliance is, that it does offer failover for both iSCSI exported block devices as well as for NFS shared folders, something which makes it very interesting for &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.bawue.net&#039;);&quot;  href=&quot;http://www.bawue.net&quot;&gt;Bawue.Net&lt;/a&gt;. The active/passive failover pair should give us better availability for maintenance as one half of the failover pair can be taken down for maintenance without affecting the virtual machines using the filer as a storage.&lt;/p&gt;

&lt;p&gt;During testing of the DSS v6 system we did notice however a certain lack of functionality: The webinterface is great to manage the servers, create volumes, export these and set them up for replication. But using the webinterface is a manual process full of repetitive steps while the tasks at hand call for automation to reduce operator errors and to allow configuration through tools like puppet.&lt;/p&gt;

&lt;p&gt;In order to help with automation, the DSS appliance offers an API/CLI access via ssh: Generate a key, connect to the server via ssh and pass some commands:
&lt;pre class=&quot;screen&quot;&gt;$ ssh -p 22223 -i filer1.key -l api 192.168.2.220 get_driveslist -v
Unit       Size(GB)   Serial Number  Status
S001       1862.64    4096e40371761527 vg,arc_vol_000
S002       279.40     4096e41532029185 vg,arc_vol_001&lt;/pre&gt;
Unfortunately, the API is incomplete: It does allow for a lot of automation tasks, it does not export all the functionality to create working failover volumes and destroy them again. If there are plans to use the DSS filer as a storage backend for any kind of automated creation of virtualized servers these functions are sorely needed to prevent the need for manual interaction.&lt;/p&gt;

&lt;p&gt;In order to address this lack of functionality, I wrote dss_cli, a command line client aimed at owners and administrators of DSS appliances in order to support all daily administration tasks needed on these filers.&lt;/p&gt;

&lt;h2&gt;Future plans&lt;/h2&gt;
&lt;p&gt;Provide a second tool to combine common steps for creation of iSCSI and NAS targets in a cluster.&lt;br /&gt;
Otherwise I am also taking nominations for needed functionality.&lt;/p&gt;

&lt;h2&gt;Installation&lt;/h2&gt;
&lt;p&gt;The current code is available on &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/github.com/ixs/dss_cli&#039;);&quot;  href=&quot;https://github.com/ixs/dss_cli&quot;&gt;GitHub::ixs/dss_cli&lt;/a&gt; and is published under the GPLv2. Preqrequisites to running the dss_cli command is a recent Python installation with the &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/github.com/paramiko/paramiko&#039;);&quot;  href=&quot;https://github.com/paramiko/paramiko&quot;&gt;Paramiko&lt;/a&gt; module for SSH connectivity and &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/wwwsearch.sourceforge.net/mechanize/&#039;);&quot;  href=&quot;http://wwwsearch.sourceforge.net/mechanize/&quot;&gt;mechanize&lt;/a&gt; and &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.crummy.com/software/BeautifulSoup/&#039;);&quot;  href=&quot;http://www.crummy.com/software/BeautifulSoup/&quot;&gt;Beautiful Soup&lt;/a&gt; for the web-scraping functionality.&lt;/a&gt;

&lt;p&gt;Installation is simple: Download &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/github.com/ixs/dss_cli/archive/master.zip&#039;);&quot;  href=&quot;https://github.com/ixs/dss_cli/archive/master.zip&quot;&gt;the latest code&lt;/a&gt;, unzip it in a new directory and edit config.ini to reflect your environment.&lt;br /&gt;
The [failovergroup] section contains your failover pairs, one group per line.&lt;br /&gt;
The example below defines one failovergroup called main, containing the dss1 and the dss2 filer.&lt;br /&gt;
The [dss1] and [dss2] section define their address, their admin passwords, the ssh_key needed for the API functionality and whether they are the primary or the secondary host in the failover group.&lt;br /&gt;
&lt;pre class=&quot;screen&quot;&gt;
[failovergroups]
main = dss1 dss2

[dss1]
address = 192.168.220.1
password = admin
sshkey = dss1_api.key
mode = primary

[dss2]
address = 192.168.220.2
password = admin
sshkey = dss2_api.key
mode = secondary
&lt;/pre&gt;&lt;/p&gt;


&lt;h2&gt;Usage&lt;/h2&gt;
&lt;p&gt;&lt;pre class=&quot;screen&quot;&gt;./dss_cli --help
Usage: dss_cli [options] &lt;host|group&gt; &lt;command&gt;

Command Line Interface to interact with an Open-E DSS Storage Server

Options:
  -h, --help            show this help message and exit
  -f FILE, --file=FILE  Configuration file to use
  -l, --list            List all commands available
  -g, --failovergroup   List all configured failover groups
  -d, --debug

Use --list to get a list of all supported commands. Each command should
support the --help parameter to get a list of accepted arguments.
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Running &lt;i&gt;./dss-cli -l dss1&lt;/i&gt; does give a list of all commands supported on that device:&lt;br /&gt;
&lt;pre class=&quot;screen&quot;&gt;$ ./dss_cli -l filer1
build                     - Lists and sets default build.
check_mk_agent            - Returns information from check_mk monitor
create_iscsilv            - Creates a logical iSCSI Volume.
create_naslv              - Creates a logical NAS volume.
date                      - Sets time and date; please use the following format: yyyy-mm-dd hh:mm:ss
failover                  - This function allows you to stop, run or change the operation mode for the given server.
failover_task             - Manage a failover task
get_TXbytes               - Returns total number of bytes transmitted for the given interface.
get_TXpackets             - Returns total number of packets transmitted for the given interface.
get_driveslist            - Fetches a list of drives.
get_hwstatus              - Returns information from system hardware monitor.
get_memorystatus          - Fetches memory status.
get_nichealth             - Fetches the status of the given Network Interface Card.
get_nicslist              - Lists Network Interface Cards.
get_raidstatus            - Returns information about RAID.
help                      - Lists all available methods
iscsi_target_access       - Configure Target IP access
iscsi_target_assign       - Assign lv with given name to existing iSCSI target.
iscsi_target_create       - Creates a new iSCSI target.
iscsi_target_list         - Lists iSCSI targets (syntax: alias;name).
iscsi_target_remove       - Remove an existing iSCSI target
iscsi_target_restart      - Restart iSCSI target service.
iscsi_target_sessions     - Shows and manages iSCSI target sessions.
iscsi_target_status       - Lists the parameters of the selected target.
iscsi_target_unassign     - Unassign from given iSCSI target lvname.
lv_remove                 - Remove a logical volume
nas_settings_http         - Enables and disables access to shares via HTTP.
nas_share_access_afp      - Modifies AFP share access.
nas_share_access_ftp      - Enables and disables access to shares via FTP
nas_share_access_http     - Enables and disables access to shares via HTTP.
nas_share_access_nfs      - Enables and disables access to the given share via NFS.
nas_share_access_smb      - Modifies SMB/AFP share access.
nas_share_create          - Create share on specified volume.
nas_share_details         - Display detailed configuration of share
nas_share_edit            - Changes share location or comment.
nas_share_groups          - Groups manipulation functions.
nas_share_list            - Lists shares
nas_share_remove          - Removes the given share.
nas_share_toggle_smb      - Enable or disable SMB support for a share
nas_share_users           - Users manipulation functions.
nas_user_add              - Create user in the system.
nas_user_groups           - Adding and removing users to groups.
nas_user_remove           - Removes the given user from the system.
nas_user_rename           - Rename NAS user.
ntp                       - Fetches the time and date from an NTP server.
reboot                    - Reboots the system.
set_nic                   - Configures Network Interface Cards.
set_powersettings         - Sets the power button action scheme.
shutdown                  - Shuts the system down.
snapshot_task             - Starts and stops snapshots.
task                      - This function allows you to start task.
test                      - Generates an example of a help message.
unit_manager              - Creates new volume group or adds unit(s) to existing volume group.
update                    - Initiates and checks the status of software update.
version                   - Fetches the software version.
volume_group_status       - Lists Volume Groups.
volume_iscsi_remove       - Removes a logical iSCSI volume
volume_replication        - Adds and removes replication to volume.
volume_replication_mode   - Set volume replication mode to source or destination
volume_replication_remove - Removes replication from Volume
volume_replication_task_create - Create a volume replication task
volume_replication_task_remove - Remove a replication task
volume_replication_task_status - Status of a replication task
volume_replication_task_stop - Stop a replication task
volume_status             - Displays storage info.
&lt;/pre&gt;

&lt;h2&gt;Example&lt;/h2&gt;

&lt;p&gt;The following commands would serve to create a failover iSCSI volume on dss1 and dss2:&lt;/p&gt;
&lt;p&gt;Create the logical volumes on both filers as part of the arc_vol_000 volume group. Command line arguments are &lt;i&gt;create_iscsilv &amp;lt;vg_name&amp;gt; &amp;lt;size&amp;gt; blockio&lt;/i&gt;&lt;br /&gt;
The size argument is specified in 32MB blocks. 150GB * 1024 / 32 = 4800.&lt;br /&gt;
&lt;pre class=&quot;screen&quot;&gt;$ ./dss_cli filer1 create_iscsilv arc_vol_000 4800 blockio lvarc_vol_00000
$ ./dss_cli filer2 create_iscsilv arc_vol_000 4800 blockio lvarc_vol_00000&lt;/pre&gt;

&lt;p&gt;Enable volume replication for both logical volumes on both filers and set the logical volume on filer2 to be a secondary volume/replication destination.&lt;br /&gt;
&lt;pre class=&quot;screen&quot;&gt;$ ./dss_cli filer1 volume_replication add lvarc_vol_00000
$ ./dss_cli filer2 volume_replication add lvarc_vol_00000
$ ./dss_cli filer2 volume_replication_mode lvarc_vol_00000 secondary&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Create, start and monitor the replication task on the primary filer and give it 80MBps bandwidth for initial synchronisation.&lt;br /&gt;
&lt;pre class=&quot;screen&quot;&gt;$ ./dss_cli filer1 volume_replication_task_create lvarc_vol_00000 lvarc_vol_00000 failover_iscsi_target0 80
$ ./dss_cli filer1 task --start VREP failover_iscsi_target0
$ ./dss_cli filer1 volume_replication_task_status failover_iscsi_target0&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Create the iSCSI targets on both systems.&lt;br /&gt;
&lt;pre class=&quot;screen&quot;&gt;$ ./dss_cli filer1 iscsi_target_create target0
$ ./dss_cli filer2 iscsi_target_create target0&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Assign the created volume to the just created iSCSI target on both systems. The server will report back with a randomly generated SCSI id for the LUN. Make sure to pass this one when assigning the volume on the secondary system. These ids need to be the same.
&lt;pre class=&quot;screen&quot;&gt;$ ./dss_cli filer1 iscsi_target_assign target0 lvarc_vol_00000
lvarc_vol_00000:target0:0:wt:Dgp5VLni08UGb5W5
$ ./dss_cli filer2 iscsi_target_assign target0 lvarc_vol_00000 -s Dgp5VLni08UGb5W5
lvarc_vol_00000:target0:0:wt:Dgp5VLni08UGb5W5&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Add the replication task to the list of active failover tasks and make sure that failover services are started.&lt;br /&gt;
&lt;pre class=&quot;screen&quot;&gt;$ ./dss_cli filer1 failover_task failover_iscsi_target0 enable
$ ./dss_cli filer1 failover --start&lt;/pre&gt;&lt;/p&gt;

&lt;h2&gt;Contact&lt;/h2&gt;
Find me as &amp;quot;ixs&amp;quot; on the usual IRC networks. (IRCnet, EFnet, oftc, freenode) 
    </content:encoded>

    <pubDate>Thu, 16 May 2013 22:15:18 +0200</pubDate>
    <guid isPermaLink="false">http://193.7.178.18/archives/172-guid.html</guid>
    
</item>
<item>
    <title>Automatischer Login für Deutsche Telekom Hotspots</title>
    <link>http://193.7.178.18/archives/169-Automatischer-Login-fuer-Deutsche-Telekom-Hotspots.html</link>
            <category>Fedora</category>
            <category>Teh Intarweb</category>
            <category>Unix</category>
    
    <comments>http://193.7.178.18/archives/169-Automatischer-Login-fuer-Deutsche-Telekom-Hotspots.html#comments</comments>
    <wfw:comment>http://193.7.178.18/wfwcomment.php?cid=169</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://193.7.178.18/rss.php?version=2.0&amp;type=comments&amp;cid=169</wfw:commentRss>
    

    <author>andreas@dicp.de (andreas)</author>
    <content:encoded>
    &lt;p&gt;Es passiert regelmässiger, dass ich unterwegs bin und dort ein Telekom Hotspot vorhanden ist. Aktuell ist dies z.B. im Novotel Karlsruhe der Fall.&lt;/p&gt;
&lt;p&gt;Telekom Hotspots haben wie die meisten öffentlichen Hotspots ein sogenantes Captive Portal durch das die Authentifizierung stattfindet.&lt;/p&gt;
&lt;p&gt;Ich bin glücklicher Besitzer einer Telekom Hotspot Flatrate und möchte diesen Account gerne verwenden. Allerdings ist die regelmässig wiederkehrende Authentifizierung sehr nervig. Obwohl der Browser Login und Passwort nicht speichert wäre es dennoch schön wenn diese Anmeldung automatisch geschehen könnte.&lt;/p&gt;
&lt;p&gt;Gesagt, getan. Hier ein kleines Python Script dass genau diese Aufgabe übernimmt:&lt;/p&gt;

&lt;div class=&quot;geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#!/usr/bin/python&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;import&lt;/span&gt; BeautifulSoup, &lt;span style=&quot;color: #dc143c;&quot;&gt;re&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;from&lt;/span&gt; mechanize &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;import&lt;/span&gt; Browser&lt;br /&gt;&lt;br /&gt;url = &lt;span style=&quot;color: #483d8b;&quot;&gt;&#039;http://www.bawue.de/checkip.php?simple&#039;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #dc143c;&quot;&gt;user&lt;/span&gt; = &lt;span style=&quot;color: #483d8b;&quot;&gt;&#039;user@t-online.de&#039;&lt;/span&gt;&lt;br /&gt;password = &lt;span style=&quot;color: #483d8b;&quot;&gt;&#039;secret&#039;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;br = Browser&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;br.&lt;span style=&quot;color: #008000;&quot;&gt;open&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;url&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;response = br.&lt;span style=&quot;color: black;&quot;&gt;response&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;read&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#if br.title().startswith(&#039;HotSpot&#039;):&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;if&lt;/span&gt; br.&lt;span style=&quot;color: black;&quot;&gt;geturl&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;startswith&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #483d8b;&quot;&gt;&#039;https://hotspot.t-mobile.net/wlan/&#039;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;:&lt;br /&gt;&amp;#160; &amp;#160;&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;print&lt;/span&gt; &lt;span style=&quot;color: #483d8b;&quot;&gt;&#039;HotSpot captive portal detected&#039;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160;br.&lt;span style=&quot;color: black;&quot;&gt;select_form&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;name=&lt;span style=&quot;color: #483d8b;&quot;&gt;&#039;f_login&#039;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160;br&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #483d8b;&quot;&gt;&#039;username&#039;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt; = &lt;span style=&quot;color: #dc143c;&quot;&gt;user&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160;br&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #483d8b;&quot;&gt;&#039;password&#039;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt; = password&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160;br.&lt;span style=&quot;color: black;&quot;&gt;submit&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160;&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;if&lt;/span&gt; br.&lt;span style=&quot;color: black;&quot;&gt;geturl&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt; == &lt;span style=&quot;color: #483d8b;&quot;&gt;&#039;https://hotspot.t-mobile.net/wlan/welcome.do&#039;&lt;/span&gt;:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;print&lt;/span&gt; &lt;span style=&quot;color: #483d8b;&quot;&gt;&#039;Login successful&#039;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;print&lt;/span&gt; &lt;span style=&quot;color: #483d8b;&quot;&gt;&#039;Status page: https://hotspot.t-mobile.net/wlan/start.do&#039;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; br.&lt;span style=&quot;color: #008000;&quot;&gt;open&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;url&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; response = br.&lt;span style=&quot;color: black;&quot;&gt;response&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;read&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;strip&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;print&lt;/span&gt; &lt;span style=&quot;color: #483d8b;&quot;&gt;&#039;IP Address: %s&#039;&lt;/span&gt; % &lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;response&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160;&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;else&lt;/span&gt;:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;print&lt;/span&gt; &lt;span style=&quot;color: #483d8b;&quot;&gt;&#039;Login failure&#039;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;else&lt;/span&gt;:&lt;br /&gt;&amp;#160; &amp;#160;&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;print&lt;/span&gt; &lt;span style=&quot;color: #483d8b;&quot;&gt;&#039;Not a Telekom HotSpot&#039;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Sun, 10 Jun 2012 03:46:48 +0200</pubDate>
    <guid isPermaLink="false">http://193.7.178.18/archives/169-guid.html</guid>
    
</item>
<item>
    <title>A little shell spinner</title>
    <link>http://193.7.178.18/archives/167-A-little-shell-spinner.html</link>
            <category>Fedora</category>
            <category>Unix</category>
    
    <comments>http://193.7.178.18/archives/167-A-little-shell-spinner.html#comments</comments>
    <wfw:comment>http://193.7.178.18/wfwcomment.php?cid=167</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://193.7.178.18/rss.php?version=2.0&amp;type=comments&amp;cid=167</wfw:commentRss>
    

    <author>andreas@dicp.de (andreas)</author>
    <content:encoded>
    Sometimes you want to see if a connection to a remote system is still alive or you just want to keep it alive by transmitting some data.

I&#039;ve found the following little shell one-liner to be quite useful:

&lt;pre&gt;$ while true; do for i in &#039;|&#039; &#039;/&#039; &#039;-&#039; &#039;\&#039;; do echo -n $i; sleep 0.25; echo -ne &#039;\b&#039;; done; done&lt;/pre&gt;

This will create a little ascii spinner and keep a line spinning until you press CTRL-C.
 
    </content:encoded>

    <pubDate>Tue, 13 Sep 2011 11:03:05 +0200</pubDate>
    <guid isPermaLink="false">http://193.7.178.18/archives/167-guid.html</guid>
    
</item>
<item>
    <title>Monitoring a Snom phone with MRTG through SNMP</title>
    <link>http://193.7.178.18/archives/163-Monitoring-a-Snom-phone-with-MRTG-through-SNMP.html</link>
            <category>Fedora</category>
            <category>Hardware</category>
            <category>Unix</category>
    
    <comments>http://193.7.178.18/archives/163-Monitoring-a-Snom-phone-with-MRTG-through-SNMP.html#comments</comments>
    <wfw:comment>http://193.7.178.18/wfwcomment.php?cid=163</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://193.7.178.18/rss.php?version=2.0&amp;type=comments&amp;cid=163</wfw:commentRss>
    

    <author>andreas@dicp.de (andreas)</author>
    <content:encoded>
    &lt;p&gt;&lt;!-- s9ymdb:129 --&gt;&lt;img class=&quot;serendipity_image_left&quot; width=&quot;110&quot; height=&quot;102&quot; style=&quot;float: left; border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://193.7.178.18/uploads/snom360_angle.serendipityThumb.jpg&quot; alt=&quot;&quot;  /&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/en.wikipedia.org/wiki/Snom&#039;);&quot;  href=&quot;http://en.wikipedia.org/wiki/Snom&quot; title=&quot;Snom at Wikipedia&quot;&gt;Snom&lt;/a&gt; is the maker of pretty decent VoIP phones running Linux. I have had a &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/wiki.snom.com/Snom360&#039;);&quot;  href=&quot;http://wiki.snom.com/Snom360&quot; title=&quot;Snom360 Wiki&quot;&gt;Snom 360&lt;/a&gt; for some time now and am reasonably happy with it.&lt;/p&gt;

&lt;p&gt;The Snom phones do support SNMP but their SNMP daemon is severly limited. It only supports GETs on a small number of OIDs, doesn&#039;t support WALK and standard MIBs like the system-MIB are not supported. The Snom Wiki has &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/wiki.snom.com/Networking/Simple_Network_Management_Protocol_%28SNMP%29&#039;);&quot;  href=&quot;http://wiki.snom.com/Networking/Simple_Network_Management_Protocol_%28SNMP%29&quot; title=&quot;Snom SNMP Support&quot;&gt;a list of the supported OIDs and a description how to enable SNMP on the phones&lt;/a&gt;.&lt;br /&gt;
The limited support makes autodetection by network management systems or MRTG&#039;s cfgmaker fail. In order to chart this data, a manually created template is therefore needed.&lt;/p&gt;

&lt;h5&gt;Traffic Monitoring (bytes) a Snom Phone&lt;/h5&gt;
The Snom phone exports all it&#039;s interfaces aggregated. This means all vlans and locally generated traffic. The only traffic not exported is the traffic generated on the loopback interface and the traffic bypassing the phone completely via the internal switch. The latter means that the traffic of the machine connected to the PC/passthrough port is not monitored.

The MRTG template to chart the incoming and outgoing bytes is the following. The IP Address 192.168.2.124 would have to be changed, as well as the descriptive details.

&lt;div class=&quot;geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;######################################################################&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# System: Snom360&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Description: Snom VoIP Phone&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Contact: System Administration &amp;lt;root@localhost&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Location: Amsterdam, The Netherlands&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;######################################################################&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;### Interface Net &amp;gt;&amp;gt; Descr: &#039;Net&#039; | Name: &#039;Net Port&#039; | Ip: &#039;192.168.2.124&#039; | Eth: &#039;&#039; ###&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Target&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_byte&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;3&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;6&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;7526&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&amp;amp;&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;3&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;6&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;7526&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt;@&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;&lt;br /&gt;RouterUptime&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_byte&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;3&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;6&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;7526&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;8&lt;/span&gt;:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt;@&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;&lt;br /&gt;SetEnv&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_byte&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: MRTG_INT_IP=&lt;span style=&quot;color: #0000ff;&quot;&gt;&quot;&quot;&lt;/span&gt; MRTG_INT_DESCR=&lt;span style=&quot;color: #0000ff;&quot;&gt;&quot;Net&quot;&lt;/span&gt;&lt;br /&gt;MaxBytes&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_byte&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: &lt;span style=&quot;color: #cc66cc;&quot;&gt;12500000&lt;/span&gt;&lt;br /&gt;Title&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_byte&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: Traffic Analysis &lt;span style=&quot;color: #b1b100;&quot;&gt;for&lt;/span&gt; Net -- &lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;&lt;br /&gt;PageTop&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_byte&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: &amp;lt;h1&amp;gt;Traffic Analysis &lt;span style=&quot;color: #b1b100;&quot;&gt;for&lt;/span&gt; Net -- &lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div id=&lt;span style=&quot;color: #0000ff;&quot;&gt;&quot;sysdetails&quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;table&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;td&amp;gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt; in Amsterdam&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;td&amp;gt;root@localhost&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;td&amp;gt;Net Port&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;td&amp;gt;ethernetCsmacd &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&amp;#160;&amp;lt;td&amp;gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;100&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt; Mbits/s&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&amp;#160;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/table&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;h5&gt;Traffic Monitoring (packets) a Snom Phone&lt;/h5&gt;
The setup to monitor packets is basically the same as for traffic. MRTG can do this out of the box and only needs labels changed.

&lt;div class=&quot;geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;######################################################################&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# System: Snom360&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Description: Snom VoIP Phone&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Contact: System Administration &amp;lt;root@localhost&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Location: Amsterdam, The Netherlands&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;######################################################################&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;### Interface Net &amp;gt;&amp;gt; Descr: &#039;Net&#039; | Name: &#039;Net Port&#039; | Ip: &#039;192.168.2.124&#039; | Eth: &#039;&#039; ###&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Target&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_pkts&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;3&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;6&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;7526&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;&amp;amp;&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;3&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;6&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;7526&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt;@&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;&lt;br /&gt;RouterUptime&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_pkts&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;3&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;6&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;7526&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;8&lt;/span&gt;:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt;@&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;&lt;br /&gt;SetEnv&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_pkts&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: MRTG_INT_IP=&lt;span style=&quot;color: #0000ff;&quot;&gt;&quot;&quot;&lt;/span&gt; MRTG_INT_DESCR=&lt;span style=&quot;color: #0000ff;&quot;&gt;&quot;Net&quot;&lt;/span&gt;&lt;br /&gt;MaxBytes&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_pkts&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: &lt;span style=&quot;color: #cc66cc;&quot;&gt;10000000&lt;/span&gt;&lt;br /&gt;Title&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_pkts&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: Traffic Analysis &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;packets&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;for&lt;/span&gt; Net -- &lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;&lt;br /&gt;YLegend&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_pkts&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: Pkts per Second&lt;br /&gt;Legend1&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_pkts&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: Avg Input Unicast Packets&lt;br /&gt;Legend2&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_pkts&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: Avg Output Unicast Packets&lt;br /&gt;Legend3&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_pkts&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: Maximal Input Unicast Packets&lt;br /&gt;Legend4&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_pkts&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: Maximal Output Unicast Packets&lt;br /&gt;LegendI&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_pkts&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: &amp;amp;nbsp;ifInUcastPkts:&amp;amp;nbsp;&lt;br /&gt;LegendO&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_pkts&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: &amp;amp;nbsp;IfOutUcastPkts:&amp;amp;nbsp;&lt;br /&gt;ShortLegend&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_pkts&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: p/s&lt;br /&gt;PageTop&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;_Net_pkts&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;: &amp;lt;h1&amp;gt;Traffic Analysis &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;packets&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;for&lt;/span&gt; Net -- &lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div id=&lt;span style=&quot;color: #0000ff;&quot;&gt;&quot;sysdetails&quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;table&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;td&amp;gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;192&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;168&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;124&lt;/span&gt; in Amsterdam&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;td&amp;gt;root@localhost&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;td&amp;gt;Net Port&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;td&amp;gt;ethernetCsmacd &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/table&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;p&gt;Some other values worth charting could be CPU load and free memory or the number of registered extensions. This could be useful for tracking down errors. Unfortunately, mrtg is unable to chart this correctly out of the box and needs some help converting the data.&lt;br /&gt;
This is therefore left as an excercise to the reader.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Fri, 28 Jan 2011 10:58:57 +0100</pubDate>
    <guid isPermaLink="false">http://193.7.178.18/archives/163-guid.html</guid>
    
</item>
<item>
    <title>VirtualBox USB support on Fedora. The right way.</title>
    <link>http://193.7.178.18/archives/160-VirtualBox-USB-support-on-Fedora.-The-right-way..html</link>
            <category>Fedora</category>
            <category>Unix</category>
    
    <comments>http://193.7.178.18/archives/160-VirtualBox-USB-support-on-Fedora.-The-right-way..html#comments</comments>
    <wfw:comment>http://193.7.178.18/wfwcomment.php?cid=160</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>http://193.7.178.18/rss.php?version=2.0&amp;type=comments&amp;cid=160</wfw:commentRss>
    

    <author>andreas@dicp.de (andreas)</author>
    <content:encoded>
    &lt;p&gt;&lt;!-- s9ymdb:184 --&gt;&lt;img class=&quot;serendipity_image_left&quot; width=&quot;256&quot; height=&quot;256&quot; style=&quot;float: left; border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://193.7.178.18/uploads/drive-harddisk-usb.png&quot; alt=&quot;&quot;  /&gt;The &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.virtualbox.org/wiki/Editions&#039;);&quot;  href=&quot;http://www.virtualbox.org/wiki/Editions&quot; title=&quot;Editions - Virtual Box&quot;&gt;proprietary version of Oracle VirtualBox&lt;/a&gt; does offer USB support.&lt;br /&gt;
This means that the guest operating system can access USB devices plugged into the host system.&lt;/p&gt;

&lt;p&gt;This USB passthrough feature is also available with many other desktop virtualization solutions, e.g. KVM and Qemu. Nevertheless it seems VirtualBox is favoured by a large number of users who are installing VirtualBox only to find that they cannot actually make their USB devices visible to the guest operating system. The common problem seems to be that they checkboxes next to the devices are grayed out, preventing the user from marking them to be added to the guest.&lt;/p&gt;

&lt;p&gt;There are a large number of forum articles and blog posts available which all claim to have a solution to the issue. Very often the suggested solution is to change the mount options for /proc/bus/usb in fstab or add an appropriate entry. Sometimes it is suggested to mount usbdevfs to /sys/bus/usb/drivers. Some report success by editing certain udev rules so that files the in the procfs belong to the user executing the VirtualBox binary.&lt;/p&gt;

&lt;p&gt;All these solutions have one thing in common:&lt;br /&gt;
&lt;b&gt;They are all wrong!&lt;/b&gt;&lt;br /&gt;
The fact that they are mindlessly repeated by posters in a large number of user-centric web forums does not help at all.&lt;br /&gt;
It is still wrong!&lt;br /&gt;
&lt;a href=&quot;http://blog.vodkamelone.de/archives/143-Abysmal-harddrive-performance-and-the-uselessness-of-forums.html&quot; title=&quot;The uselessness of forums &quot;&gt;I said it before&lt;/a&gt; but it still is true: Web forums are full of cargo-cult users: No idea what they are doing but trying and talking about it in the hope that it will achieve something.&lt;/p&gt;

&lt;p&gt;The right solution is actually very simple. All that is needed is to add the user  running VirtualBox to the vboxusers group:
&lt;pre class=&quot;screen&quot;&gt;[root@minos ~]# usermod -a -G vboxusers athienemann
[root@minos ~]# groups athienemann
athienemann : athienemann vboxusers
[root@minos ~]# &lt;/pre&gt;

&lt;p&gt;That&#039;s all. The user athienemann now can add and remove USB devices from VirtualBox guests.&lt;br /&gt;
Wasn&#039;t that easy? No fiddling with udev or fstab needed.&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Sun,  7 Nov 2010 14:08:29 +0100</pubDate>
    <guid isPermaLink="false">http://193.7.178.18/archives/160-guid.html</guid>
    
</item>
<item>
    <title>BTRFS und die Lizenz...</title>
    <link>http://193.7.178.18/archives/157-BTRFS-und-die-Lizenz....html</link>
            <category>Fedora</category>
            <category>Unix</category>
    
    <comments>http://193.7.178.18/archives/157-BTRFS-und-die-Lizenz....html#comments</comments>
    <wfw:comment>http://193.7.178.18/wfwcomment.php?cid=157</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://193.7.178.18/rss.php?version=2.0&amp;type=comments&amp;cid=157</wfw:commentRss>
    

    <author>andreas@dicp.de (andreas)</author>
    <content:encoded>
    &lt;p&gt;Mein &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/blog.koehntopp.de&#039;);&quot;  href=&quot;http://blog.koehntopp.de&quot;&gt;geschätzter Kollege Kris&lt;/a&gt; schreibt etwas über &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/blog.koehntopp.de/archives/2566-Unix-Standards.html&#039;);&quot;  href=&quot;http://blog.koehntopp.de/archives/2566-Unix-Standards.html&quot;&gt;Unix und Standards&lt;/a&gt;. Neben der Tatsache dass das schöne an Standards ist, dass es so viele gibt und man sich einen aussuchen kann, erwähnte Kris auch die Befürchtung dass BTRFS möglicherweise relizensiert werden könnte.&lt;/p&gt;

&lt;p&gt;Die Gefahrt dass BTRFS relizensiert wird besteht nicht.&lt;/p&gt;

Zwar wurde die BTRFS Entwicklung bzw. der BTRFS-Haupt-Entwickler durch Oracle finanziert, der Code selber befindet sich jedoch mittlerweile im Upstream-Tree des Kernels. Damit gilt die GPL2 und diese Lizensierung kann nachträglich nicht geändert werden.&lt;br /&gt;
Eine andere Lizenz würde nur für zukünftige Versionen relevant sein.&lt;/p&gt;

&lt;p&gt;In diesem Fall kann die relizensierte Version als Fork angesehen werden und die bekannten Probleme kommen dann zur Geltung.&lt;br /&gt;
Der Spruch mit Eiche und Sau dürfte in diesem Fall nicht unangebracht sein.&lt;/p&gt;

Passend dazu hat die aktuelle Ausgabe der &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/lwn.net&#039;);&quot;  href=&quot;http://lwn.net&quot;&gt;Linux Weekly News&lt;/a&gt; eine &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/lwn.net/SubscriberLink/342892/64d645b2d3364c5b/&#039;);&quot;  href=&quot;http://lwn.net/SubscriberLink/342892/64d645b2d3364c5b/&quot;&gt;schöne Erklärung der technischen Features und der Architektur von BTRFS und erklärt nebenbei die Entstehungsgeschichte und warum es viel besser ist als ZFS&lt;/a&gt;.   
    </content:encoded>

    <pubDate>Mon, 27 Jul 2009 00:20:33 +0200</pubDate>
    <guid isPermaLink="false">http://193.7.178.18/archives/157-guid.html</guid>
    
</item>
<item>
    <title>Installing OpenWrt on a Microtik Routerboard RB433</title>
    <link>http://193.7.178.18/archives/148-Installing-OpenWrt-on-a-Microtik-Routerboard-RB433.html</link>
            <category>Fedora</category>
            <category>Hardware</category>
            <category>Unix</category>
    
    <comments>http://193.7.178.18/archives/148-Installing-OpenWrt-on-a-Microtik-Routerboard-RB433.html#comments</comments>
    <wfw:comment>http://193.7.178.18/wfwcomment.php?cid=148</wfw:comment>

    <slash:comments>7</slash:comments>
    <wfw:commentRss>http://193.7.178.18/rss.php?version=2.0&amp;type=comments&amp;cid=148</wfw:commentRss>
    

    <author>andreas@dicp.de (andreas)</author>
    <content:encoded>
    &lt;p&gt;&lt;!-- s9ymdb:160 --&gt;&lt;img class=&quot;serendipity_image_left&quot; width=&quot;67&quot; height=&quot;110&quot; style=&quot;float: left; border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://193.7.178.18/uploads/rb433s.serendipityThumb.jpg&quot; alt=&quot;&quot;  /&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/stoile.name/blog/&#039;);&quot;  href=&quot;http://stoile.name/blog/&quot; title=&quot;Dreams and Memories by Philipp Riegger&quot;&gt;A friend of mine&lt;/a&gt; wanted a small embedded linux router. After evaluating several options such as &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.routerboard.com/&#039;);&quot;  href=&quot;http://www.routerboard.com/&quot; title=&quot;Routerboard&quot;&gt;Routerboard&lt;/a&gt;, &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.soekris.com/&#039;);&quot;  href=&quot;http://www.soekris.com/&quot; title=&quot;Soekris Engineering&quot;&gt;Soekris&lt;/a&gt; or &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.pcengines.ch/alix.htm&#039;);&quot;  href=&quot;http://www.pcengines.ch/alix.htm&quot; title=&quot;PC Engines&quot;&gt;ALIX&lt;/a&gt; systems, he decided to get himself a &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/routerboard.com/comparison.html&#039;);&quot;  href=&quot;http://routerboard.com/comparison.html&quot; title=&quot;Routerboard overview&quot;&gt;Microtik Routerboard 433&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The RB433 is a small MIPS board based on the &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.atheros.com/pt/AR7100.htm&#039;);&quot;  href=&quot;http://www.atheros.com/pt/AR7100.htm&quot; title=&quot;Atheros AR7100 Product Brief&quot;&gt;Atheros AR7100 chipset&lt;/a&gt; with a 300MHz CPU, 64MB RAM, 3 100Base-TX ethernet ports and three slots for &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/en.wikipedia.org/wiki/MiniPCI&#039;);&quot;  href=&quot;http://en.wikipedia.org/wiki/MiniPCI&quot; title=&quot;MiniPCI @ Wikipedia&quot;&gt;MiniPCI Cards&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The Routerboard manufacturer &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.mikrotik.com/&#039;);&quot;  href=&quot;http://www.mikrotik.com/&quot; title=&quot;Microtik&quot;&gt;Microtik&lt;/a&gt; delivers these systems with a software called &quot;RouterOS&quot;. I haven&#039;t looked any closer at it but it seems to be Linux based system with some proprietary userspace management applications. RouterOS seems mostly to be just a Nortel-ish command line interface and a &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.urbandictionary.com/define.php?term=fugly&#039;);&quot;  href=&quot;http://www.urbandictionary.com/define.php?term=fugly&quot; title=&quot;Fugly - Fucking Ugly at UrbanDictionary&quot;&gt;fugly&lt;/a&gt; webinterface. Some people claim that RouterOS is kinda nifty, but it&#039;s definitely not hackable enough considering the plans my friend had with his device.&lt;/p&gt;

&lt;p&gt;To solve his dilemma, we did what everyone else does in a similar situation, we put a &lt;i&gt;real&lt;/i&gt; Linux on it:&lt;br /&gt;
OpenWrt to the rescue!&lt;/p&gt;

&lt;h4&gt;Getting to know the Routerboard&lt;/h4&gt;

&lt;p&gt;When connecting the power to the Routerboard, the system beeps after a short time and outputs some status messages to the serial port. In order to read these, one has to connect to the serial port via a &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/en.wikipedia.org/wiki/Null_modem&#039;);&quot;  href=&quot;http://en.wikipedia.org/wiki/Null_modem&quot; title=&quot;Null modem cable&quot;&gt;serial crossover cable&lt;/a&gt; and use a terminal program.&lt;/p&gt;

&lt;p&gt;Minicom is one such terminal program. Personally though, I prefer cu from the uucp package as it is rather lightweight. All one has to type is &lt;i&gt;cu -l ttyS0 -s 115200&lt;/i&gt; and the bootup messages from the routerboard connected to COM1 will be visible. If you&#039;re using any other terminal program, the console settings are the usual 115200bps, &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/en.wikipedia.org/wiki/8-N-1&#039;);&quot;  href=&quot;http://en.wikipedia.org/wiki/8-N-1&quot; title=&quot;8n1 at Wikipedia&quot;&gt;8 data bits, No parity bits and 1 stop bit&lt;/a&gt;.&lt;/p&gt;

&lt;pre class=&quot;screen&quot;&gt;
RouterBOOT booter 2.15

RouterBoard 433

Authorization: Passed
CPU frequency: 300 MHz
  Memory size:  64 MB

Press any key within 2 seconds to enter setup

&lt;/pre&gt;
&lt;p&gt;Now is a good time to press any key to enter the setup mode in order to see what the device can do.&lt;br /&gt;
You&#039;ll be presented with the following screen:&lt;/p&gt;

&lt;pre class=&quot;screen&quot;&gt;
RouterBOOT-2.15
What do you want to configure?
   d - boot delay
   k - boot key
   s - serial console
   o - boot device
   u - cpu mode
   f - cpu frequency
   r - reset booter configuration
   e - format nand
   g - upgrade firmware
   i - board info
   p - boot protocol
   x - exit setup
your choice: 
&lt;/pre&gt;

&lt;p&gt;Change the bootmode to tell the device _not_ to boot from the local flash chip (called NAND) but from the network. To do that, press &quot;o&quot; and &quot;e&quot;.&lt;br /&gt;
Afterwards press &quot;x&quot; to leave the setup.&lt;br /&gt;
The device will try to boot and get its kernel from the network.&lt;/p&gt;

&lt;pre class=&quot;screen&quot;&gt;
RouterBOOT booter 2.15

RouterBoard 433

Authorization: Passed
CPU frequency: 300 MHz
  Memory size:  64 MB

Press any key within 2 seconds to enter setup
trying dhcp protocol...........................................................
kernel loading failed
&lt;/pre&gt;

&lt;p&gt;So it seems the device is looking for a kernel.&lt;br /&gt;
Let&#039;s build one for it to boot sucessfully from...&lt;/p&gt;

&lt;h4&gt;Building OpenWrt Kamikaze&lt;/h4&gt;

&lt;p&gt;In order to correctly install the OpenWrt system a linux host is needed to build the kernel image on. I&#039;ve been using &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/fedoraproject.org/en/get-fedora&#039;);&quot;  href=&quot;http://fedoraproject.org/en/get-fedora&quot; title=&quot;Get Fedora&quot;&gt;Fedora 9&lt;/a&gt; from the &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/fedoraproject.org/&#039;);&quot;  href=&quot;http://fedoraproject.org/&quot; title=&quot;Fedora Project&quot;&gt;Fedora Project&lt;/a&gt; which did the job perfectly. Any other recent distribution should work equally well.&lt;/p&gt;

&lt;p&gt;First, check out the current development code via &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/en.wikipedia.org/wiki/Subversion_(software)&#039;);&quot;  href=&quot;http://en.wikipedia.org/wiki/Subversion_(software)&quot; title=&quot;Subversion Versioning System&quot;&gt;Subversion&lt;/a&gt; to have the greatest and latest code:
&lt;pre class=&quot;screen&quot;&gt;
[athienem@localhost ~]$ mkdir ~/openwrt
[athienem@localhost ~]$ cd ~/openwrt
[athienem@localhost openwrt]$ svn co https://svn.openwrt.org/openwrt/trunk/
[...]
Updated to revision 13193.
[athienem@localhost openwrt]$ 
&lt;/pre&gt;

&lt;p&gt;In order to install the system correctly we&#039;ll be needing two different OpenWrt images:&lt;br /&gt;
One image is a &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/en.wikipedia.org/wiki/JFFS2&#039;);&quot;  href=&quot;http://en.wikipedia.org/wiki/JFFS2&quot; title=&quot;JFFS2 at Wikipedia&quot;&gt;JFFS2&lt;/a&gt; or &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/en.wikipedia.org/wiki/SquashFS&#039;);&quot;  href=&quot;http://en.wikipedia.org/wiki/SquashFS&quot; title=&quot;SquashFS&quot;&gt;SquashFS&lt;/a&gt; image to install onto the target device.&lt;br /&gt;
The other image is the so called ramdisk image which can be booted over the network and contains a minimal shell. This image will be used to install the JFFS2 or SquashFS image onto the device and will never again be used. Think of it as a &quot;rescue image&quot;.&lt;/p&gt;

&lt;p&gt;Both images are basically built the same way.&lt;br /&gt;
First, change to the svn checkout directory called trunk and execute &lt;i&gt;make menuconfig&lt;/i&gt; to configure the OpenWrt image.&lt;/p&gt;

&lt;pre class=&quot;screen&quot;&gt;
[athienem@localhost openwrt]$ cd trunk/
[athienem@localhost trunk]$ make menuconfig
&lt;/pre&gt;

&lt;p&gt;This command will start the ncurses interface to generate a .config file. It should look familiar to people having built kernels before.&lt;br /&gt;
Make sure that &quot;Atheros AR71xx [2.6]&quot; is selected as the target system:&lt;br /&gt;
&lt;!-- s9ymdb:162 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;722&quot; height=&quot;433&quot; style=&quot;border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://193.7.178.18/uploads/menuconfig.png&quot; alt=&quot;&quot;  /&gt;&lt;br /&gt;
This will make sure that the resulting kernel is bootable on the Routerboard 433.&lt;/p&gt;

&lt;p&gt;The next step is to select the target image format, chose ramdisk for now:&lt;br /&gt;
&lt;!-- s9ymdb:163 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;721&quot; height=&quot;432&quot; style=&quot;border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://193.7.178.18/uploads/ramdisk.png&quot; alt=&quot;&quot;  /&gt;&lt;br /&gt;
Now select &amp;quot;&amp;lt; Exit &amp;gt;&amp;quot; in the main menu and confirm that you want to save your new OpenWrt configuration.&lt;/p&gt;

&lt;p&gt;The next step is to actually build the image by calling &quot;make 
&lt;pre class=&quot;screen&quot;&gt;
*** End of OpenWrt configuration.
*** Execute &#039;make&#039; to build the OpenWrt or try &#039;make help&#039;.
[athienem@localhost trunk]$ make
Checking &#039;working-make&#039;... ok.
Checking &#039;case-sensitive-fs&#039;... ok.
Checking &#039;working-gcc&#039;... ok.
Checking &#039;working-g++&#039;... ok.
Checking &#039;ncurses&#039;... ok.
Checking &#039;zlib&#039;... ok.
Checking &#039;gawk&#039;... ok.
Checking &#039;bison&#039;... ok.
Checking &#039;flex&#039;... ok.
Checking &#039;unzip&#039;... ok.
Checking &#039;bzip2&#039;... ok.
Checking &#039;patch&#039;... ok.
Checking &#039;perl&#039;... ok.
Checking &#039;wget&#039;... ok.
Checking &#039;gnutar&#039;... ok.
Checking &#039;autoconf&#039;... ok.
Checking &#039;non-root&#039;... ok.
Collecting target info: done
Collecting package info: done
Checking &#039;bison&#039;... ok.
Checking &#039;automake&#039;... ok.
&lt;span style=&quot;color: chocolate;&quot;&gt; make[2] tools/install&lt;/span&gt;
[...]
&lt;span style=&quot;color: chocolate;&quot;&gt; make[2] target/install
 make[3] -C target/linux install
 make[2] package/index&lt;/span&gt;
[athienem@localhost trunk]$ 
&lt;/pre&gt;

&lt;p&gt;Everything went fine and there should be a ramdisk image in elf format:
&lt;pre class=&quot;screen&quot;&gt;
[athienem@localhost trunk]$ ls -all bin/openwrt-ar71xx-vmlinux-initramfs.elf 
-rwxrwxr-x 1 athienem athienem 3735060 2008-11-13 22:27 &lt;span style=&quot;color: green;&quot;&gt;bin/openwrt-ar71xx-vmlinux-initramfs.elf&lt;/span&gt;
[athienem@localhost trunk]$ 
&lt;/pre&gt;

&lt;p&gt;The next step is to build the system image to be installed on the device. Execute &lt;i&gt;make menuconfig&lt;/i&gt; again but this time select either squashfs or jffs2 as the target image format instead of ramdisk:
&lt;!-- s9ymdb:164 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;720&quot; height=&quot;434&quot; style=&quot;border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://193.7.178.18/uploads/squashfs.png&quot; alt=&quot;&quot;  /&gt;&lt;br /&gt;
After saving the config, execute &lt;i&gt;make&lt;/i&gt; again. This time, it should be much faster as nearly everything is already compiled.&lt;/p&gt;

&lt;pre class=&quot;screen&quot;&gt;
#
# using defaults found in .config
#


*** End of OpenWrt configuration.
*** Execute &#039;make&#039; to build the OpenWrt or try &#039;make help&#039;.

[athienem@localhost trunk]$ make
++ mkdir -p /home/athienem/openwrt/trunk/staging_dir/toolchain-mips_gcc4.1.2
++ cd /home/athienem/openwrt/trunk/staging_dir/toolchain-mips_gcc4.1.2
++ mkdir -p bin lib include stamp
&lt;span style=&quot;color: chocolate;&quot;&gt; make[1] world&lt;/span&gt;
[...]
&lt;span style=&quot;color: chocolate;&quot;&gt; make[2] target/install
 make[3] -C target/linux install
 make[2] package/index&lt;/span&gt;
[athienem@localhost trunk]$ 
&lt;/pre&gt;

&lt;p&gt;Now the &lt;i&gt;bin/&lt;/i&gt; directory should be filled with some files:&lt;/p&gt;

&lt;pre class=&quot;screen&quot;&gt;
[athienem@localhost trunk]$ ls -all bin/
total 23656
drwxrwxr-x  3 athienem athienem    4096 2008-11-08 18:25 &lt;span style=&quot;color: navy;&quot;&gt;.&lt;/span&gt;
drwxrwxr-x 15 athienem athienem    4096 2008-11-13 22:44 &lt;span style=&quot;color: navy;&quot;&gt;..&lt;/span&gt;
-rw-rw-r--  1 athienem athienem     710 2008-11-13 22:46 md5sums
-rw-rw-r--  1 athienem athienem 1499367 2008-11-08 18:25 &lt;span style=&quot;color: maroon;&quot;&gt;openwrt-ar71xx-rootfs.tgz&lt;/span&gt;
-rw-rw-r--  1 athienem athienem 1441792 2008-11-08 18:25 openwrt-ar71xx-root.squashfs
-rw-rw-r--  1 athienem athienem 2492740 2008-11-13 22:46 &lt;span style=&quot;color: maroon;&quot;&gt;openwrt-ar71xx-uImage.gz&lt;/span&gt;
-rwxrwxr-x  1 athienem athienem 2248838 2008-11-08 18:25 &lt;span style=&quot;color: green;&quot;&gt;openwrt-ar71xx-vmlinux.bin&lt;/span&gt;
-rwxrwxr-x  1 athienem athienem 2258096 2008-11-08 18:25 &lt;span style=&quot;color: green;&quot;&gt;openwrt-ar71xx-vmlinux.elf&lt;/span&gt;
-rw-rw-r--  1 athienem athienem 1048576 2008-11-08 18:25 &lt;span style=&quot;color: maroon;&quot;&gt;openwrt-ar71xx-vmlinux.gz&lt;/span&gt;
-rwxrwxr-x  1 athienem athienem 3725815 2008-11-13 22:46 &lt;span style=&quot;color: green;&quot;&gt;openwrt-ar71xx-vmlinux-initramfs.bin&lt;/span&gt;
-rwxrwxr-x  1 athienem athienem 3735072 2008-11-13 22:46 &lt;span style=&quot;color: green;&quot;&gt;openwrt-ar71xx-vmlinux-initramfs.elf&lt;/span&gt;
-rw-rw-r--  1 athienem athienem 2555904 2008-11-13 22:46 &lt;span style=&quot;color: maroon;&quot;&gt;openwrt-ar71xx-vmlinux-initramfs.gz&lt;/span&gt;
-rw-rw-r--  1 athienem athienem 2293760 2008-11-13 22:46 &lt;span style=&quot;color: maroon;&quot;&gt;openwrt-ar71xx-vmlinux-initramfs.lzma&lt;/span&gt;
-rw-rw-r--  1 athienem athienem  786432 2008-11-08 18:25 &lt;span style=&quot;color: maroon;&quot;&gt;openwrt-ar71xx-vmlinux.lzma&lt;/span&gt;
drwxrwxr-x  3 athienem athienem    4096 2008-11-08 17:50 &lt;span style=&quot;color: navy;&quot;&gt;packages&lt;/span&gt;
[athienem@localhost trunk]$ 
&lt;/pre&gt;

&lt;h4&gt;Booting OpenWrt on the RouterBoard&lt;/h4&gt;

&lt;p&gt;To boot the routerboard, a dhcp server is needed to tell the bootloader on the Routerboard which IP address it should use and where to get it&#039;s bootable kernel image.&lt;br /&gt;
The tftp server is needed to actually serve said image to the RouterBoard.&lt;/p&gt;

&lt;p&gt;Under Fedora linux, installing both just needs the command &lt;i&gt;yum install -y dhcp tftp-server&lt;/i&gt;. To activate both services, chkconfig can be used as root:&lt;/p&gt;

&lt;pre class=&quot;screen&quot;&gt;
[root@localhost ~]# chkconfig dhcpd on
[root@localhost ~]# chkconfig tftp on
&lt;/pre&gt;

&lt;p&gt;The configuration for the dhcpd needs to be adapted to the local circumstances. The setup I&#039;ve been using was a crosslinked cable between the notebook and the Routerboard with a manually configured IP address of 192.168.23.254/24. All that is configured in that file is to assign the RouterBoard an IP address and tell it to boot the file vmlinux. Adapt the following file as needed for your own circumstances:&lt;/p&gt;

&lt;pre class=&quot;screen&quot;&gt;
[root@localhost ~]# cat /etc/dhcpd.conf 
# Global Parameters

authoritative;

max-lease-time 604800;
default-lease-time 3100;

ddns-update-style none;
ddns-ttl 7200;

allow booting;
allow bootp;
one-lease-per-client true;

subnet 192.168.23.0 netmask 255.255.255.0 {
	option routers 192.168.23.254;
	option subnet-mask 255.255.255.0;
	option broadcast-address 192.168.23.255;
	ignore client-updates;
}

group {
	host routerboard {
		hardware ethernet 00:0c:42:32:43:8a;
		next-server 192.168.23.254;
		fixed-address 192.168.23.2;
		filename &quot;vmlinux&quot;;
	}

}
[root@localhost ~]# 
&lt;/pre&gt;

&lt;p&gt;Start the dhcp server by calling &lt;i&gt;service dhcpd start&lt;/i&gt;, if there are any problems, look into &lt;i&gt;/var/log/messages&lt;/i&gt; and fix the issues noted there.&lt;/p&gt;

&lt;p&gt;The tftp-server has already been activated earlier but might need a &lt;i&gt;service xinetd restart&lt;/i&gt; to be really started. Do that.&lt;br /&gt;
Then copy the ramdisk image named &lt;i&gt;openwrt-ar71xx-vmlinux-initramfs.elf&lt;/i&gt; to the tftproot. This is &lt;i&gt;/tftpboot&lt;/i&gt; on older systems or &lt;i&gt;/var/lib/tftpboot/&lt;/i&gt; on newer systems. Name the copied file vmlinux.&lt;/p&gt;

&lt;p&gt;If everything is working fine, the system should boot:&lt;/p&gt;

&lt;pre class=&quot;screen&quot;&gt;
RouterBOOT booter 2.15

RouterBoard 433

Authorization: Passed
CPU frequency: 300 MHz
  Memory size:  64 MB

Press any key within 2 seconds to enter setup...

trying dhcp protocol... OK
resolved mac address 00:1C:23:03:AA:F8
Gateway: 192.168.23.254
transfer started ............................ transfer ok, time=1.68s
setting up elf image... OK
jumping to kernel code
Linux version 2.6.26.7 (athienem@localhost.localdomain) (gcc version 4.1.2) #1 Sat Nov 8 18:11:40 CET 2008
console [early0] enabled
CPU revision is: 00019374 (MIPS 24K)
Determined physical RAM map:
 memory: 04000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone PFN ranges:
  Normal          0 -&gt;    16384
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0:        0 -&gt;    16384
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,yaffs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit
Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
Writing ErrCtl register=000227c0
Readback ErrCtl register=000227c0
PID hash table entries: 256 (order: 8, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 60768k/65536k available (1762k kernel code, 4700k reserved, 312k data, 1572k init, 0k highmem)
SLUB: Genslabs=6, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Mount-cache hash table entries: 512
net_namespace: 484 bytes
NET: Registered protocol family 16
MIPS: machine is MikroTik RouterBOARD 433/AH
registering PCI controller with io_map_base unset
PCI: mapping irq 33 to pin1@0000:00:13.0
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NET: Registered protocol family 1
squashfs: version 3.0 (2006/03/15) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
yaffs Nov  8 2008 18:08:56 Installing. 
msgmni has been set to 118
io scheduler noop registered
io scheduler deadline registered (default)
Serial: 8250/16550 driver $Revision: 1.90 $ 1 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A
console handover: boot [early0] -&gt; real [ttyS0]
ag71xx_mdio: probed
eth0: Atheros AG71xx at 0xba000000, irq 5
eth1: Atheros AG71xx at 0xb9000000, irq 4
NAND flash driver for RouterBoard 4xx series version 0.1.10
NAND SPI clock 25000 kHz (AHB 150000 kHz / 6)
FLASH SPI clock 25000 kHz (AHB 150000 kHz / 6)
NAND device: Manufacturer ID: 0xad, Chip ID: 0x76 (Hynix NAND 64MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 828 at 0x00cf0000
Creating 3 MTD partitions on &quot;NAND 64MiB 3,3V 8-bit&quot;:
0x00000000-0x00040000 : &quot;booter&quot;
0x00040000-0x00400000 : &quot;kernel&quot;
0x00400000-0x04000000 : &quot;rootfs&quot;
mtd: partition &quot;rootfs&quot; set to be root filesystem
split_squashfs: no squashfs found in &quot;NAND 64MiB 3,3V 8-bit&quot;
Atheros AR71xx SPI Controller driver version 0.2.2
Atheros AR71xx hardware watchdog driver version 0.1.0
Registered led device: rb4xx:yellow:user
TCP vegas registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear &lt;greearb@candelatech.com&gt;
All bugs added by David S. Miller &lt;davem@redhat.com&gt;
Freeing unused kernel memory: 1572k freed
Algorithmics/MIPS FPU Emulator v1.5
[sighandler]: No more events to be processed, quitting.
[cleanup]: Waiting for children.
[cleanup]: All children terminated.
- preinit -
Press CTRL-C for failsafe

Please press Enter to activate this console. br-lan: Dropping NETIF_F_UFO since no NETIF_F_HW_CSUM feature.
device eth0 entered promiscuous mode
PPP generic driver version 2.4.2
ip_tables: (C) 2000-2006 Netfilter Core Team
nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
wlan: trunk
ath_hal: module license &#039;Proprietary&#039; taints kernel.
ath_hal: 2008-10-02 (AR5210, AR5211, AR5212, AR5416, RF5111, RF5112, RF2413, RF5413, RF2133, RF2425, REGOPS_FUNC, DFS, XR)
ath_rate_minstrel: Minstrel automatic rate control algorithm 1.2 (trunk)
ath_rate_minstrel: look around rate set to 10%
ath_rate_minstrel: EWMA rolloff level set to 75%
ath_rate_minstrel: max segment size in the mrr set to 6000 us
wlan: mac acl policy registered
ath_pci: trunk
PCI: Enabling device 0000:00:13.0 (0000 -&gt; 0002)
Atheros HAL provided by OpenWrt, DD-WRT and MakSat Technologies
wifi0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
wifi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: turboA rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: turboG rates: 6Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: H/W encryption support: WEP AES AES_CCM TKIP
ath_pci: wifi0: Atheros 5212: mem=0x10000000, irq=33
eth0: link up (100Mbps/Full duplex)
br-lan: port 1(eth0) entering learning state
br-lan: topology change detected, propagating
br-lan: port 1(eth0) entering forwarding state



BusyBox v1.11.2 (2008-11-08 17:55:16 CET) built-in shell (ash)
Enter &#039;help&#039; for a list of built-in commands.

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 KAMIKAZE (bleeding edge, r13141) -------------------
  * 10 oz Vodka       Shake well with ice and strain
  * 10 oz Triple sec  mixture into 10 shot glasses.
  * 10 oz lime juice  Salute!
 ---------------------------------------------------
root@OpenWrt:/# 
&lt;/pre&gt;

&lt;p&gt;If something didn&#039;t work out, check your system log to see what happens. Adding the &amp;quot;-s&amp;quot; parameter to the tftpd binary might be useful as it will log single requests.&lt;/p&gt;

&lt;h4&gt;Permanently installing OpenWrt on the RouterBoard&lt;/h4&gt;

&lt;p&gt;As we have an accessible Linux system running now on the RouterBoard the available tools such as scp and mtd can be used to copy the needed files onto the NAND device and thus permanently install OpenWrt on the device.&lt;/p&gt;

&lt;p&gt;Under Linux the NAND device is partitioned and can be accessed through the &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.linux-mtd.infradead.org/&#039;);&quot;  href=&quot;http://www.linux-mtd.infradead.org/&quot; title=&quot;Memory Technology Device Framework&quot;&gt;mtd framework&lt;/a&gt; which exports some information to userspace through the &lt;i&gt;/proc&lt;/i&gt; filesystem:
&lt;pre class=&quot;screen&quot;&gt;
root@OpenWrt:/# cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00040000 00004000 &quot;booter&quot;
mtd1: 003c0000 00004000 &quot;kernel&quot;
mtd2: 03c00000 00004000 &quot;rootfs&quot;
&lt;/pre&gt;

&lt;p&gt;As can easily be seen, there are three &amp;quot;partitions&amp;quot; available. Leave the one called &amp;quot;booter&amp;quot; alone, it might be important and contain the bootloader. I haven&#039;t checked. All we&#039;re interested in is &amp;quot;kernel&amp;quot; and &amp;quot;rootfs&amp;quot;. The former contains the kernel, the latter the root filesystem.&lt;/p&gt;

&lt;p&gt;To install the elf kernel binary named openwrt-ar71xx-vmlinux.elf, it has to be transferred onto the RouterBoard and written onto the second mtd partition. Make sure that the file is called &lt;i&gt;kernel&lt;/i&gt;.&lt;br /&gt;
&lt;b&gt;Note:&lt;/b&gt; OpenWrt configures its IP address to be 192.168.1.1 on bootup. You might have to change this with &lt;i&gt;ifconfig&lt;/i&gt;.&lt;/p&gt;

&lt;pre class=&quot;screen&quot;&gt;
root@OpenWrt:/# scp athienem@192.168.23.254:openwrt/trunk/bin/openwrt-ar71xx-vmlinux.elf /tmp/
root@OpenWrt:/# mount /dev/mtdblock1 /mnt/
yaffs: dev is 32505857 name is &quot;mtdblock1&quot;
yaffs: passed flags &quot;&quot;
yaffs: Attempting MTD mount on 31.1, &quot;mtdblock1&quot;
root@OpenWrt:/# mv /tmp/openwrt-ar71xx-vmlinux.elf /mnt/kernel
root@OpenWrt:/# ls /mnt
kernel      lost+found
root@OpenWrt:/# umount  /mnt/
save exit: isCheckpointed 0
root@OpenWrt:/# 
&lt;/pre&gt;

&lt;p&gt;The kernel image is installed.&lt;br /&gt;
The rootfs is even easier, as the mtd-device does not need to be mounted at all to write the squashfs image called openwrt-ar71xx-root.squashfs in my case.&lt;br /&gt;
This just needs to be written as is onto the mtd block device named rootfs:&lt;/p&gt;

&lt;pre class=&quot;screen&quot;&gt;
root@OpenWrt:/# scp athienem@192.168.23.254:openwrt/trunk/bin/openwrt-ar71xx-root.squashfs /tmp/
root@OpenWrt:/# cat /tmp/openwrt-ar71xx-root.squashfs &gt; /dev/mtdblock2
root@OpenWrt:/# 
&lt;/pre&gt;

&lt;p&gt;After a few seconds the squashfs image has been written and the device can be rebooted. Don&#039;t forget to disable the network boot in the Bios:&lt;/p&gt;

&lt;pre class=&quot;screen&quot;&gt;
root@OpenWrt:/# reboot
root@OpenWrt:/# br-lan: port 1(eth0) entering disabled state
device eth0 left promiscuous mode
br-lan: port 1(eth0) entering disabled state
eth0: link down
Restarting system.


RouterBOOT booter 2.15

RouterBoard 433

Authorization: Passed
CPU frequency: 300 MHz
  Memory size:  64 MB

Press any key within 2 seconds to enter setup..

RouterBOOT-2.15
What do you want to configure?
   d - boot delay
   k - boot key
   s - serial console
   o - boot device
   u - cpu mode
   f - cpu frequency
   r - reset booter configuration
   e - format nand
   g - upgrade firmware
   i - board info
   p - boot protocol
   x - exit setup
your choice: 
&lt;/pre&gt;

&lt;p&gt;Press &amp;quot;o&amp;quot; twice and &amp;quot;x&amp;quot; once to continue booting normally from the NAND.&lt;/p&gt;


&lt;pre class=&quot;screen&quot;&gt;
RouterBOOT booter 2.15

RouterBoard 433

Authorization: Passed
CPU frequency: 300 MHz
  Memory size:  64 MB

Press any key within 2 seconds to enter setup..
loading kernel from nand... OK
setting up elf image... OK
jumping to kernel code
Linux version 2.6.26.7 (athienem@localhost.localdomain) (gcc version 4.1.2) #2 Sat Nov 8 18:25:41 CET 2008
console [early0] enabled
CPU revision is: 00019374 (MIPS 24K)
Determined physical RAM map:
 memory: 04000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone PFN ranges:
  Normal          0 -&gt;    16384
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0:        0 -&gt;    16384
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,yaffs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit
Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
Writing ErrCtl register=000227c0
Readback ErrCtl register=000227c0
PID hash table entries: 256 (order: 8, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 62208k/65536k available (1762k kernel code, 3252k reserved, 312k data, 124k init, 0k highmem)
SLUB: Genslabs=6, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Mount-cache hash table entries: 512
net_namespace: 484 bytes
NET: Registered protocol family 16
MIPS: machine is MikroTik RouterBOARD 433/AH
registering PCI controller with io_map_base unset
PCI: mapping irq 33 to pin1@0000:00:13.0
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NET: Registered protocol family 1
squashfs: version 3.0 (2006/03/15) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
yaffs Nov  8 2008 18:08:56 Installing. 
msgmni has been set to 121
io scheduler noop registered
io scheduler deadline registered (default)
Serial: 8250/16550 driver $Revision: 1.90 $ 1 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A
console handover: boot [early0] -&gt; real [ttyS0]
ag71xx_mdio: probed
eth0: Atheros AG71xx at 0xba000000, irq 5
eth1: Atheros AG71xx at 0xb9000000, irq 4
NAND flash driver for RouterBoard 4xx series version 0.1.10
NAND SPI clock 25000 kHz (AHB 150000 kHz / 6)
FLASH SPI clock 25000 kHz (AHB 150000 kHz / 6)
NAND device: Manufacturer ID: 0xad, Chip ID: 0x76 (Hynix NAND 64MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 828 at 0x00cf0000
Creating 3 MTD partitions on &quot;NAND 64MiB 3,3V 8-bit&quot;:
0x00000000-0x00040000 : &quot;booter&quot;
0x00040000-0x00400000 : &quot;kernel&quot;
0x00400000-0x04000000 : &quot;rootfs&quot;
mtd: partition &quot;rootfs&quot; set to be root filesystem
split_squashfs: no squashfs found in &quot;NAND 64MiB 3,3V 8-bit&quot;
Atheros AR71xx SPI Controller driver version 0.2.2
Atheros AR71xx hardware watchdog driver version 0.1.0
Registered led device: rb4xx:yellow:user
TCP vegas registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear &lt;greearb@candelatech.com&gt;
All bugs added by David S. Miller &lt;davem@redhat.com&gt;
VFS: Mounted root (squashfs filesystem) readonly.
Freeing unused kernel memory: 124k freed
Please be patient, while OpenWrt loads ...
Algorithmics/MIPS FPU Emulator v1.5
- preinit -
Press CTRL-C for failsafe
- init -

Please press Enter to activate this console. br-lan: Dropping NETIF_F_UFO since no NETIF_F_HW_CSUM feature.
device eth0 entered promiscuous mode
PPP generic driver version 2.4.2
ip_tables: (C) 2000-2006 Netfilter Core Team

nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
wlan: trunk
ath_hal: module license &#039;Proprietary&#039; taints kernel.
ath_hal: 2008-10-02 (AR5210, AR5211, AR5212, AR5416, RF5111, RF5112, RF2413, RF5413, RF2133, RF2425, REGOPS_FUNC, DFS, XR)
ath_rate_minstrel: Minstrel automatic rate control algorithm 1.2 (trunk)
ath_rate_minstrel: look around rate set to 10%
ath_rate_minstrel: EWMA rolloff level set to 75%
ath_rate_minstrel: max segment size in the mrr set to 6000 us
wlan: mac acl policy registered
eth0: link up (100Mbps/Full duplex)
br-lan: port 1(eth0) entering learning state
br-lan: topology change detected, propagating
br-lan: port 1(eth0) entering forwarding state
ath_pci: trunk
PCI: Enabling device 0000:00:13.0 (0000 -&gt; 0002)
Atheros HAL provided by OpenWrt, DD-WRT and MakSat Technologies
wifi0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
wifi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: turboA rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: turboG rates: 6Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: H/W encryption support: WEP AES AES_CCM TKIP
ath_pci: wifi0: Atheros 5212: mem=0x10000000, irq=33



BusyBox v1.11.2 (2008-11-08 17:55:16 CET) built-in shell (ash)
Enter &#039;help&#039; for a list of built-in commands.

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 KAMIKAZE (bleeding edge, r13141) -------------------
  * 10 oz Vodka       Shake well with ice and strain
  * 10 oz Triple sec  mixture into 10 shot glasses.
  * 10 oz lime juice  Salute!
 ---------------------------------------------------
root@OpenWrt:/# 
&lt;/pre&gt;

&lt;p&gt;Done.&lt;/p&gt;

&lt;p&gt;OpenWrt has been installed on the device and can be used and configured as usual.&lt;/p&gt;
&lt;p&gt;For more information about configuring, using and customizing OpenWrt see the &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/downloads.openwrt.org/kamikaze/docs/openwrt.html&#039;);&quot;  href=&quot;http://downloads.openwrt.org/kamikaze/docs/openwrt.html&quot; title=&quot;OpenWrt Kamikaze Manual&quot;&gt;Kamikaze Manual&lt;/a&gt;, the &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/wiki.openwrt.org&#039;);&quot;  href=&quot;http://wiki.openwrt.org&quot; title=&quot;OpenWrt Wiki&quot;&gt;OpenWrt Wiki&lt;/a&gt; or use the source. For network related configuration issues, &lt;i&gt;/lib/network/config.sh&lt;/i&gt; and the files in &lt;i&gt;/lib/wifi/&lt;/i&gt; are a good start. 
    </content:encoded>

    <pubDate>Thu, 13 Nov 2008 23:56:00 +0100</pubDate>
    <guid isPermaLink="false">http://193.7.178.18/archives/148-guid.html</guid>
    
</item>
<item>
    <title>Spass mit der Rittal CMC-TC PUII</title>
    <link>http://193.7.178.18/archives/96-Spass-mit-der-Rittal-CMC-TC-PUII.html</link>
            <category>Bawue.Net</category>
            <category>CCC</category>
            <category>Fedora</category>
            <category>Hardware</category>
            <category>Unix</category>
    
    <comments>http://193.7.178.18/archives/96-Spass-mit-der-Rittal-CMC-TC-PUII.html#comments</comments>
    <wfw:comment>http://193.7.178.18/wfwcomment.php?cid=96</wfw:comment>

    <slash:comments>17</slash:comments>
    <wfw:commentRss>http://193.7.178.18/rss.php?version=2.0&amp;type=comments&amp;cid=96</wfw:commentRss>
    

    <author>andreas@dicp.de (andreas)</author>
    <content:encoded>
    &lt;p&gt;&lt;i&gt;[Note to english speaking readers, aggregating this blog: The following article is written in german about gaining root on a piece of embedded server monitor hardware from Rittal and configuring ssh access. If there is demand, I&#039;ll translate this article in english as well.]&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;Ich hatte zuvor ja schon &lt;a href=&quot;http://blog.vodkamelone.de/archives/74-Sesam-oeffne-dich-per-SNMP.html&quot; &gt;hier&lt;/a&gt; und &lt;a href=&quot;http://blog.vodkamelone.de/archives/73-Ein-Heim-fuer-Server.html&quot; &gt;hier&lt;/a&gt; ein wenig über das Rittal CMC-TC System gesprochen, dass wir verwenden um unseren Serverschrank zu überwachen.&lt;/p&gt;

&lt;p&gt;Das System selber ist soweit ja sehr schön, und hat auch ein paar nette Features, aber leider fehlt z.B. der ssh Zugang. Telnet anzubieten ist doch schon ein wenig schwach heutzutage. Das ganze wäre ja kein Problem, würde Rittal sich an die GPL Lizenz halten, und mir den Sourcecode und die Buildumgebung zur Verfügung stellen, die gebraucht wird um sich einen eigenen sshd zu installieren.&lt;br /&gt;
Nunja, mal schauen was das noch wird.

&lt;p&gt;Nun will ich aber dennoch einen ssh Daemon auf dem Gerät haben, was sich auch nicht als sonderlich kompliziert rausstellt. Man muss das Gerät nur booten und den vorhandenen sshd starten.&lt;/p&gt;

&lt;p&gt;Aber fangen wir vorne an.&lt;/p&gt;

&lt;p&gt;Schauen wir uns also mal die Bootmeldungen an:
&lt;pre class=&quot;screen&quot;&gt;
U-Boot 1.1.3 (Jun  8 2005 - 15:08:40)

U-Boot code: 20F00000 -&gt; 20F1A868  BSS: -&gt; 20F1EE48
RAM Configuration:
Bank #0: 20000000 16 MB
Board: CMC-PU2 (Rittal GmbH)
Flash:  8 MB
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
no DHCP
## Booting image at 10030000 ...
   Image Name:   ARM Linux-2.4.27
   Created:      2005-04-22   4:52:03 UTC
   Image Type:   ARM Linux Kernel Image (gzip compressed)
   Data Size:    698499 Bytes = 682.1 kB
   Load Address: 20008000
   Entry Point:  20008000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

Starting kernel ...

Linux version 2.4.27-vrs1 (mkr@s020403) (gcc version 2.95.4 20010319 (prerelease/franzo/20011204)) #2
     Fri Apr 22 06:49:12 CEST 2005
CPU: Arm920Tid(wb) revision 0
Machine: ATMEL AT91RM9200
On node 0 totalpages: 4096
zone(0): 4096 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/mtdblock3 ro ethaddr=00:d0:93:12:34:56 ip=192.168.0.190::::
     CMC-TC-PU2::off console=ttyS0,9600
mtdparts=cmc_pu2:128k(uboot)ro,64k(environment),768k(linux),4096k(root),-
Calibrating delay loop... 89.70 BogoMIPS
Memory: 16MB = 16MB total
Memory: 14452KB available (1382K code, 275K data, 60K init)
Dentry cache hash table entries: 2048 (order: 2, 16384 bytes)
Inode cache hash table entries: 1024 (order: 1, 8192 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 4096 (order: 2, 16384 bytes)
CPU: Testing write buffer: pass
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB.
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
 Amd/Fujitsu Extended Query Table v1.3 at 0x0040
number of CFI chips: 1
cfi_cmdset_0002: Disabling fast programming due to code brokenness.
Creating 5 MTD partitions on &quot;CMC PU2 flash&quot;:
0x00000000-0x00020000 : &quot;uboot&quot;
0x00020000-0x00030000 : &quot;environment&quot;
0x00030000-0x000f0000 : &quot;linux&quot;
0x000f0000-0x004f0000 : &quot;root&quot;
0x004f0000-0x00800000 : &quot;Partition_004&quot;
i2c-core.o: i2c core module version 2.6.1 (20010830)
i2c-dev.o: i2c /dev entries driver module version 2.6.1 (20010830)
ttyS0 at MMIO 0xfefc0000 (irq = 6) is a AT91_SERIAL
ttyS1 at MMIO 0xfefc4000 (irq = 7) is a AT91_SERIAL
ttyS2 at MMIO 0xfefc8000 (irq = 8) is a AT91_SERIAL
ttyS3 at MMIO 0xfefcc000 (irq = 9) is a AT91_SERIAL
ttyS4 at MMIO 0xfefff200 (irq = 1) is a AT91_SERIAL
eth0: Link now 100-FullDuplex
eth0: AT91 ethernet at 0xfefbc000 int=24 100-FullDuplex (00:d0:93:12:34:56)
eth0: Davicom 9196 PHY (Copper)
AT91 Watchdog Timer enabled (5 seconds)
Found AT91 i2c
I2C: RS5C372 RTC driver successfully loaded
CMC buzzer driver $Revision: 0.2 $
CMC digital IO driver $Revision: 0.2 $
Serial driver version 0.03 (2004-12-17) with no serial options enabled
ttyS5 at 0xc2084000 (irq = 29) is a TI16752
ttyS6 at 0xc2086000 (irq = 30) is a TI16752
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 1024 bind 1024)
eth0: Link now 100-FullDuplex
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
      device=eth0, addr=192.168.0.190, mask=255.255.255.0, gw=255.255.255.255,
     host=CMC-TC-PU2, domain=, nis-domain=(none),
     bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath=
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NetWinder Floating Point Emulator V0.97 (double precision)
VFS: Mounted root (cramfs filesystem) readonly.
Freeing init memory: 60K
serial console detected.  Disabling virtual terminals.
init started:  BusyBox v0.60.2 (2002.10.10-17:17+0000) multi-call binary
eth0: ROVR error
eth0: ROVR error
Startup CMC
no update..
CMC Applications
rs422, Version: V2.00, Build Date: Mon Sep 19 18:01:58 2005
eeprom, Version: V2.00, Build Date: Mon Sep 19 18:00:03 2005

rs232, Version: V2.00, Build Date: Mon Sep 19 18:39:00 2005

CMC-TC-PU2 Thu Jan 1  1970 00:00:15, User 0
CMC-TC-PU2 login: VCC status = OK
cmc_main, Version: V2.15, Build Date: Wed Nov 16 15:20:38 2005
No Options..

Setting up clock 18:03:30 15.06.2006

CMC-TC-PU2 Thu Jun 15  2006 18:03:35, User 0
CMC-TC 192.168.0.190 login:
&lt;/pre&gt;

Eindeutig. Ein Linux mit einer BusyBox Shell. Eine im Embedded-Bereich sehr verbreitete Kombination. In diesem Fall leider ein Lizenzverstoss.&lt;/p&gt;

&lt;p&gt;Jetzt stellt sich die Frage, wie man root wird. Als Login hat man naemlich nur cmc und admin zur Verfügung, die beide normale Useraccounts sind und anstelle einer Shell ein fertiges Menü starten.&lt;/p&gt;
&lt;p&gt;Im Nachhinein, nachdem man sich auf dem Gerät umgeschaut hat, fallen mir verschiedene Möglichkeiten ein, aber die einfachste ist dem Bootloader zu sagen, dass ich gerne eine Shell hätte.&lt;br /&gt;
Mehr Details gibt es im Rest des Artikels.&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://193.7.178.18/archives/96-Spass-mit-der-Rittal-CMC-TC-PUII.html#extended&quot;&gt;&quot;Spass mit der Rittal CMC-TC PUII&quot; vollständig lesen&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 29 Jun 2006 14:15:00 +0200</pubDate>
    <guid isPermaLink="false">http://193.7.178.18/archives/96-guid.html</guid>
    
</item>
<item>
    <title>libgarfield not found</title>
    <link>http://193.7.178.18/archives/86-libgarfield-not-found.html</link>
            <category>Fun</category>
            <category>Unix</category>
    
    <comments>http://193.7.178.18/archives/86-libgarfield-not-found.html#comments</comments>
    <wfw:comment>http://193.7.178.18/wfwcomment.php?cid=86</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://193.7.178.18/rss.php?version=2.0&amp;type=comments&amp;cid=86</wfw:commentRss>
    

    <author>andreas@dicp.de (andreas)</author>
    <content:encoded>
    &lt;p&gt;&lt;img width=&quot;184&quot; height=&quot;161&quot; style=&quot;float: left; border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://193.7.178.18/uploads/hatemondaysbear.gif&quot; alt=&quot;&quot;  /&gt; Ich schrieb früher schon einmal von &lt;a href=&quot;http://blog.vodkamelone.de/archives/39-The-gentoo-experience.html&quot;&gt;einem interessanten Erlebnis beim compilieren&lt;/a&gt; von Nautilus.&lt;/p&gt;
&lt;p&gt;Nun habe ich eben gerade beim kompilieren von &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.mboxgrep.org&#039;);&quot;  href=&quot;http://www.mboxgrep.org&quot;&gt;mboxgrep&lt;/a&gt;, einem Tool zum gezielten greppen nach Mails in einem Mailspool, eine andere nette Nachricht im Configure-Script gefunden:
&lt;/p&gt;
&lt;pre&gt;
checking for gzopen in -lz... yes
checking for BZ2_bzopen in -lbz2... yes
checking for like_monday in -lgarfield... no
&lt;/pre&gt;
&lt;p&gt;Man beachte die letzte Zeile. Dazu passt es ja ganz hervorragend, dass ./configure --help folgendes bietet:&lt;/p&gt;
&lt;pre&gt;
Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  [...]
  --without-sense-of-humor  If you have no sense of humor
&lt;/pre&gt; 
    </content:encoded>

    <pubDate>Wed, 29 Mar 2006 16:34:05 +0200</pubDate>
    <guid isPermaLink="false">http://193.7.178.18/archives/86-guid.html</guid>
    
</item>
<item>
    <title>LinuxTag Gedanken</title>
    <link>http://193.7.178.18/archives/63-LinuxTag-Gedanken.html</link>
            <category>The Real World</category>
            <category>Unix</category>
    
    <comments>http://193.7.178.18/archives/63-LinuxTag-Gedanken.html#comments</comments>
    <wfw:comment>http://193.7.178.18/wfwcomment.php?cid=63</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://193.7.178.18/rss.php?version=2.0&amp;type=comments&amp;cid=63</wfw:commentRss>
    

    <author>andreas@dicp.de (andreas)</author>
    <content:encoded>
    &lt;p&gt;&lt;img width=&quot;92&quot; height=&quot;110&quot; style=&quot;float: left; border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://193.7.178.18/uploads/linuxtag.serendipityThumb.gif&quot; alt=&quot;&quot;  /&gt;Mit Interesse habe ich bei &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/blog.joerghoh.de&#039;);&quot;  href=&quot;http://blog.joerghoh.de&quot;&gt;Jörg&lt;/a&gt; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/blog.joerghoh.de/index.php?/archives/39-Linuxtag-2005.html&#039;);&quot;  href=&quot;http://blog.joerghoh.de/index.php?/archives/39-Linuxtag-2005.html&quot;&gt;seine Kritik&lt;/a&gt; am &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.linuxtag.org&#039;);&quot;  href=&quot;http://www.linuxtag.org&quot;&gt;LinuxTag&lt;/a&gt; gelesen.&lt;/p&gt;

&lt;p&gt;Jörg meint, dass der LinuxTag mal eine ordentliche Imageberatung bräuchte und überhaupt mal kräftig überarbeitet gehört. Einerseits ist die Präsentation der Community katastrophal, andererseits ist der LinuxTag inzwischen thematisch uninteressant und man geht eigentlich nur noch hin um andere Leute zu treffen.&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://193.7.178.18/archives/63-LinuxTag-Gedanken.html#extended&quot;&gt;&quot;LinuxTag Gedanken&quot; vollständig lesen&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 28 Jun 2005 20:28:01 +0200</pubDate>
    <guid isPermaLink="false">http://193.7.178.18/archives/63-guid.html</guid>
    
</item>
<item>
    <title>LinuxTag Freitag, Tag 3 - Teil 1</title>
    <link>http://193.7.178.18/archives/61-LinuxTag-Freitag,-Tag-3-Teil-1.html</link>
            <category>Fedora</category>
            <category>Unix</category>
    
    <comments>http://193.7.178.18/archives/61-LinuxTag-Freitag,-Tag-3-Teil-1.html#comments</comments>
    <wfw:comment>http://193.7.178.18/wfwcomment.php?cid=61</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://193.7.178.18/rss.php?version=2.0&amp;type=comments&amp;cid=61</wfw:commentRss>
    

    <author>andreas@dicp.de (andreas)</author>
    <content:encoded>
    &lt;p&gt;&lt;img width=&quot;92&quot; height=&quot;110&quot; style=&quot;float: left; border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://193.7.178.18/uploads/linuxtag.serendipityThumb.gif&quot; alt=&quot;&quot;  /&gt;Endlich ausgeschlafen. Ich habe mich dann doch entschieden erst gegen
13:30 auf dem LinuxTag aufzutauchen. Das Vormittagsprogramm war dann doch nicht soooo wichtig. ;-D Ausgeschlafen (heute war es zum Glück ein wenig kühler), frisch geduscht ging es dann los mit dem Ziel erstmal Pizza oder sowas zu jagen.&lt;/p&gt;

&lt;p&gt;Netterweise traf ich auf dem Vorplatz ein paar Red Hat Leute die meinten ich solle einfach zum Stand gehen, sie hätten noch was zu essen.&lt;br /&gt;
Lecker. Mozarella, Tomate und Salat plus Brötchen.&lt;br /&gt;
Sogar ein sehr interessantes Zubereitung. Muss ich bei Gelegenheit mal selber probieren. Ein halbes Brötchen, mit Frischkäse oder Butter beschmiert, dann ein Salatblatt und oben drüber dann den Belag. Es gab Käse, Pute, Lachs, Mozarelle und Tomate.&lt;br /&gt;
Das ganze dann natürlich entsprechend verziert. Wallnuss und Kräuterbutter beim Käse, Petersilie beim Rest. Lecker!&lt;/p&gt;

&lt;p&gt;Gesättigt ging es dann weiter auf dem Linuxtag.&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://193.7.178.18/archives/61-LinuxTag-Freitag,-Tag-3-Teil-1.html#extended&quot;&gt;&quot;LinuxTag Freitag, Tag 3 - Teil 1&quot; vollständig lesen&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 25 Jun 2005 23:59:00 +0200</pubDate>
    <guid isPermaLink="false">http://193.7.178.18/archives/61-guid.html</guid>
    
</item>
<item>
    <title>LinuxTag Freitag, Tag 3 - Teil 2</title>
    <link>http://193.7.178.18/archives/62-LinuxTag-Freitag,-Tag-3-Teil-2.html</link>
            <category>Fedora</category>
            <category>Unix</category>
    
    <comments>http://193.7.178.18/archives/62-LinuxTag-Freitag,-Tag-3-Teil-2.html#comments</comments>
    <wfw:comment>http://193.7.178.18/wfwcomment.php?cid=62</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://193.7.178.18/rss.php?version=2.0&amp;type=comments&amp;cid=62</wfw:commentRss>
    

    <author>andreas@dicp.de (andreas)</author>
    <content:encoded>
    &lt;p&gt;&lt;img width=&quot;92&quot; height=&quot;110&quot; style=&quot;float: left; border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://193.7.178.18/uploads/linuxtag.serendipityThumb.gif&quot; alt=&quot;&quot;  /&gt;Wie sehr sich Pläne doch ändern können.&lt;br /&gt;
Eigentlich war ja angedacht nach dem &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.linuxtag.org&#039;);&quot;  href=&quot;http://www.linuxtag.org&quot;&gt;LinuxTag 2005&lt;/a&gt; noch mit dem &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.cccs.de&#039;);&quot;  href=&quot;http://www.cccs.de&quot;&gt;CCC Stuttgart&lt;/a&gt; und dem &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/entropia.de/&#039;);&quot;  href=&quot;http://entropia.de/&quot;&gt;CCC Karlsruhe/Entropia&lt;/a&gt; gemeinsam zu grillen.&lt;/p&gt;

&lt;p&gt;Pustekuchen.&lt;/p&gt;

&lt;p&gt;Nach Ende der Messe hing ich kurz am RedHat Stand rum, um mir was zu trinken zu holen, kurz aufräumen zu helfen und anschliessend zu schauen ob man noch tolle Sachen zum abgreifen findet. (Fand ich nicht.).&lt;br /&gt;
Als das dann erledigt war, meinte lx noch, man würde sich nachher noch im Hotel treffen und dann essen gehen, und ich solle doch mitkommen.&lt;br /&gt;
Der Beginn eines langen abends...&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://193.7.178.18/archives/62-LinuxTag-Freitag,-Tag-3-Teil-2.html#extended&quot;&gt;&quot;LinuxTag Freitag, Tag 3 - Teil 2&quot; vollständig lesen&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 25 Jun 2005 23:59:00 +0200</pubDate>
    <guid isPermaLink="false">http://193.7.178.18/archives/62-guid.html</guid>
    
</item>

</channel>
</rss>