<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-80168360663649604</atom:id><lastBuildDate>Mon, 05 Jun 2023 07:50:02 +0000</lastBuildDate><category>audio</category><category>upnp</category><category>openwrt</category><category>java</category><category>maven</category><category>gupnp</category><category>osgi</category><category>ubuntu</category><category>weld</category><category>c</category><category>debian</category><category>dropbox</category><category>keepass</category><category>raspberry pi</category><category>ssh</category><category>virtualbox</category><title>cat /dev/snapshot</title><description></description><link>http://dev-snapshot.blogspot.com/</link><managingEditor>noreply@blogger.com (Unknown)</managingEditor><generator>Blogger</generator><openSearch:totalResults>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-5376871113467129709</guid><pubDate>Sun, 23 Feb 2014 23:25:00 +0000</pubDate><atom:updated>2014-03-09T13:23:00.335+01:00</atom:updated><title>Integrating Jenkins, SonarQube, and Nexus</title><description>In this post I will describe a solution to add a portal page, a common header and a dynamic panel to each of the three tools Jenkins, SonarQube, and Nexus. Those modifications lead to a better visual integration and intensifies the impression that the tools belong together.&lt;br /&gt;
&lt;br /&gt;
As a pre-requisite you need an Apache HTTP server, configured as reverse proxy and the tools accessible via the following context path:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;/jenkins&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;/sonarqube&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;/nexus&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
The folder structure which contains the portal page and the customization fragments looks like this:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;index.html&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;js&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;portal-panel.js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;jenkins-customization.js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;sonarqube-customization.js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;nexus-customization.js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;require-2.1.11.js&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;jquery-1.11.0.js&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2&gt;
Portal Page&lt;/h2&gt;
&lt;div&gt;
The portal page &lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;index.html&lt;/span&gt;&amp;nbsp;is available under the context root and basically contains the following links:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;lt;a href=&quot;https://draft.blogger.com/jenkins&quot;&amp;gt;Jenkins&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;lt;a href=&quot;https://draft.blogger.com/sonarqube&quot;&amp;gt;SonarQube&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;lt;a href=&quot;https://draft.blogger.com/nexus&quot;&amp;gt;Nexus&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;lt;a href=&quot;https://draft.blogger.com/wiki&quot;&amp;gt;Wiki&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;lt;a href=&quot;mailto:xxx@yyy.zzz&quot;&amp;gt;Mail&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2&gt;
Portal Panel&lt;/h2&gt;
&lt;div&gt;
The portal panel is a small box at the top of the page at a fixed position. When the mouse enters the box it gets maximized and displays buttons for accessing the other tools. When the mouse exits the box, the box shrinks to its initial size. When scrolling the page down, the box remains at the top of the window so that the other the tools are accessible from everywhere in the page.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/-Oq97umwWw_Y/Uwpv0qrbURI/AAAAAAAAcZs/7Dvxtn8Fyfo/s1600/Portal_panel_small.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-Oq97umwWw_Y/Uwpv0qrbURI/AAAAAAAAcZs/7Dvxtn8Fyfo/s1600/Portal_panel_small.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-_It8Qcw0orM/Uwpv0vXQ2rI/AAAAAAAAcZo/C3gnO0KUAt0/s1600/Portal_panel_large.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-_It8Qcw0orM/Uwpv0vXQ2rI/AAAAAAAAcZo/C3gnO0KUAt0/s1600/Portal_panel_large.png&quot; height=&quot;54&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
The panel heavily relies on jQuery to do the animations and the styling. The following block contains the script with some information removed for clarity:&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;function poller()
{
    // wait until jQuery becomes ready
    if(typeof jQuery !== &quot;undefined&quot;) {

        // settings
        var animMillis = 200;
        var collapsedWidth = 30;
        var height = 30;
        var expandedWidth = 350;
        var logo = &quot;/img/Logo.png&quot;;
        var email = &quot;xxx@yyy.zzz&quot;;
        var germanMailText = &quot;Hallo Support Team,%0A%0AQuelle: &quot; +
            window.location.href + &quot;%0A%0A%0A%0AMit freundlichen Gruessen,%0A&quot;;
        var englishMailText = &quot;Hello Support Team,%0A%0AOrigin: &quot; +
            window.location.href + &quot;%0A%0A%0A%0AWith Kind regards,%0A&quot;;

        // add center method to jQuery
        jQuery.fn.center = function () {
            this.css(&quot;position&quot;, &quot;fixed&quot;);
            this.css(&quot;top&quot;, &quot;0px&quot;);
            var width = jQuery(this).width();
            var left = Math.max(0, ((jQuery(window).width() - width) / 2) + 
                                   jQuery(window).scrollLeft());
            this.css(&quot;left&quot;, left + &quot;px&quot;);
            return this;
        }
        
        // detect mail language
        var language = window.navigator.userLanguage ||
                       window.navigator.language;
        var mailText = englishMailText;
        if (language.indexOf(&#39;de&#39;) == 0) {
            mailText = germanMailText;
        }

        // add markup (removed for clarity)
        jQuery(&quot;body&quot;).append(&#39;MARKUP&#39;);

        // style markup (removed for clarity)
        jQuery(&quot;#portalPanel&quot;).css(&quot;STYLING&quot;);
        jQuery(&quot;#portalLogo&quot;).css(&quot;STYLING&quot;);
        jQuery(&quot;#portalMenu&quot;).css(&quot;STYLING&quot;);
        jQuery(&quot;.portalButton&quot;).css(&quot;STYLING&quot;);
        jQuery(&quot;.portalButton a:link&quot;).css(&quot;STYLING&quot;);
        jQuery(&quot;.portalButtonMagenta&quot;).css(&quot;STYLING&quot;);
        jQuery(&quot;.portalButtonDark&quot;).css(&quot;STYLING&quot;);
        jQuery(&quot;.portalButtonLight&quot;).css(&quot;STYLING&quot;);

        // button animation
        jQuery(&quot;.portalButtonMagenta&quot;).hover(function() {
            jQuery(this).css(&quot;background-color&quot;, &quot;#f59fcd&quot;);
        }, function() {
            jQuery(this).css(&quot;background-color&quot;, &quot;#d8006f&quot;);
        });
        jQuery(&quot;.portalButtonDark&quot;).hover(function() {
            jQuery(this).css(&quot;background-color&quot;, &quot;#b1b1b1&quot;);
        }, function() {
            jQuery(this).css(&quot;background-color&quot;, &quot;#4c4c4c&quot;);
        });
        jQuery(&quot;.portalButtonLight&quot;).hover(function() {
            jQuery(this).css(&quot;background-color&quot;, &quot;#f2f2f2&quot;);
        }, function() {
            jQuery(this).css(&quot;background-color&quot;, &quot;#b8b8b8&quot;);
        });

        // make box relocate when browser window is resized
        jQuery(window).bind(&#39;resize&#39;, function() {
            jQuery(&#39;#portalPanel&#39;).center();
        });

        // initial state
        jQuery(&quot;#portalPanel&quot;).center();
        jQuery(&quot;#portalLogo&quot;).show();
        jQuery(&quot;#portalMenu&quot;).hide();
        
        // animate the box
        var dirin = true;
        jQuery(&quot;#portalPanel&quot;).hover(function() {
            dirin = true;
            jQuery(&#39;#portalMenu&#39;).clearQueue().stop(true, true, true);
            jQuery(&#39;#portalPanel&#39;).clearQueue().stop(true, true, true);
            jQuery(&#39;#portalLogo&#39;).clearQueue().stop(true, true, true);

            if (dirin) {
                jQuery(&#39;#portalLogo&#39;).fadeOut(animMillis, function() {
                    if (dirin) {
                        var left = Math.max(0,
                            ((jQuery(window).width() - expandedWidth) / 2) + 
                            jQuery(window).scrollLeft());
                        jQuery(&#39;#portalPanel&#39;).animate({&#39;width&#39;:expandedWidth +
                               &#39;px&#39;, &#39;left&#39;:left + &#39;px&#39;}, animMillis, &#39;swing&#39;,
                            function() {
                              if (dirin) {
                                jQuery(&#39;#portalMenu&#39;).fadeIn(animMillis,
                                  function() {
                                    // do nothing
                                });
                              }
                        });
                    }
                });
            }
        }, function() {
            dirin = false;
            jQuery(&#39;#portalMenu&#39;).clearQueue().stop(true, true, true);
            jQuery(&#39;#portalPanel&#39;).clearQueue().stop(true, true, true);
            jQuery(&#39;#portalLogo&#39;).clearQueue().stop(true, true, true);
            
            if (!dirin) {
                jQuery(&#39;#portalMenu&#39;).fadeOut(animMillis, function() {
                    if (!dirin) {
                        var left = Math.max(0,
                            ((jQuery(window).width() - collapsedWidth) / 2) +
                            jQuery(window).scrollLeft());
                        jQuery(&#39;#portalPanel&#39;).animate({&#39;width&#39;:collapsedWidth +
                               &#39;px&#39;, &#39;left&#39;:left + &#39;px&#39;}, animMillis, &#39;swing&#39;,
                            function() {
                              if (!dirin) {
                                jQuery(&#39;#portalLogo&#39;).fadeIn(animMillis,
                                  function() {
                                    jQuery(&#39;#portalLogo&#39;).show();
                                });
                            }
                        });
                    }
                });
            }
        });
    }
    else
    {
        setTimeout(poller, 100);
    }    
}

poller();
&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;h2&gt;
Jenkins Customization&lt;/h2&gt;
&lt;div&gt;
To use &lt;a href=&quot;http://jquery.com/&quot;&gt;jQuery&lt;/a&gt; in our customization fragments the Jenkins&amp;nbsp;&lt;a href=&quot;https://wiki.jenkins-ci.org/display/JENKINS/jQuery+Plugin&quot;&gt;jQuery plugin&lt;/a&gt;&amp;nbsp;must be installed via the Jenkins Update Center. The plugin adds the jQuery JavaScript library to each Jenkins page without colliding with Jenkins&#39; JavaScript. Because Jenkins uses the jQuery shortcut &quot;$&quot; for one of its own functions, jQuery can only be accessed by using the full name &quot;jQuery&quot;.&lt;/div&gt;
&lt;div&gt;
Download the latest release of the&amp;nbsp;&lt;a href=&quot;https://github.com/mrumpf/page-markup&quot;&gt;page-markup&lt;/a&gt;&amp;nbsp;plugin and&amp;nbsp;copy the &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;page-markup.hpi&lt;/span&gt; to the folder&amp;nbsp;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;JENKINS_HOME/plugins&lt;/span&gt;.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
Finally the plugins need to be activated by restarting the Jenkins server.&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
Add the following snippet to the text area under&amp;nbsp;&lt;b&gt;Manage Jenkins -&amp;gt; Configure System -&amp;gt; Additional Page HTML Markup -&amp;gt; Header HTML&lt;/b&gt;&amp;nbsp;to extend the Jenkins HTML page:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;style type=&quot;text/css&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;#top-panel {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; display:none;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; background: none;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;.top-sticker, #top-sticker {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; top: 62px;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;script src=&quot;/js/require-2.1.11.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;require([&quot;/js/jenkins-customization.js&quot;], function(util) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; // nothing to do&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;});&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;require([&quot;/js/portal-panel.js&quot;], function(util) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; // nothing to do&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;});&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;The small CSS part hides the Jenkins logo and the blue header so that it does not flicker when the page is reloaded. Because the jQuery code takes some time to get executed, the logo is displayed shortly if no countermeasures are taken.&lt;/span&gt;&lt;/div&gt;
&lt;h2&gt;
SonarQube Customization&lt;/h2&gt;
&lt;div&gt;
Download the &lt;a href=&quot;https://github.com/mrumpf/sonar-pagedecoration-plugin&quot;&gt;sonar-pagedecoration-plugin&lt;/a&gt; and install it manually to the &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$SONARQUBE_HOME/extensions/plugins&lt;/span&gt; folder of your SonarQube installation. You need to restart SonarQube to get the plugin activated.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Add the following snippet to the &lt;b&gt;Settings -&amp;gt; General Settings -&amp;gt; Page Decoration -&amp;gt; Script&lt;/b&gt; text area and click on &lt;b&gt;Save Page Decoration Settings&lt;/b&gt; to add the fragment to the SonarQube HTML page:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;script src=&quot;/js/require-2.1.11.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;require([&quot;/js/sonarqube-customization.js&quot;], function(util) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; // nothing to do&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;});&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;require([&quot;/js/portal-panel.js&quot;], function(util) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; // nothing to do&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;});&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
The SonarQube customization does not need to load jQuery explicitly as SonarQube already uses jQuery in its HTML pages.&lt;br /&gt;
&lt;h2&gt;
Nexus Customization&lt;/h2&gt;
&lt;div&gt;
Download the &lt;a href=&quot;https://github.com/mrumpf/nexus-pagedecoration-plugin/releases&quot;&gt;nexus-pagedecoration-plugin&lt;/a&gt;,&amp;nbsp;unzip the file &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;nexus-pagedecoration-plugin-2.7.1-01-bundle.zip&lt;/span&gt;&amp;nbsp;to the folder &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;SONATYPE_WORK/nexus/plugin-repository&lt;/span&gt; and restart Nexus to activate the plugin. &amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Add the following snippet to the &lt;b&gt;Administration -&amp;gt; Page Decoration &amp;nbsp;-&amp;gt; Pre Head&lt;/b&gt;&amp;nbsp;text area and click on&amp;nbsp;&lt;b&gt;Save&lt;/b&gt;&amp;nbsp;to add the fragment to the Nexus HTML page:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;style type=&quot;text/css&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;load.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;div#branding img {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; display:none;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;div#header {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; background-color: white;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; background-image: none;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;script src=&quot;/js/require-2.1.11.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;require([&quot;/js/jquery-1.11.0.min.js&quot;], function(util) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; require([&quot;/js/nexus-customization.js&quot;], function(util) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; // nothing to do&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; });&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; require([&quot;/js/portal-panel.js&quot;], function(util) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; // nothing to do&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; });&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;});&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In Nexus the original logo also needs to be hidden to avoid flickering upon page reload.&lt;/div&gt;
&lt;div&gt;
The Nexus UI is based upon ExtJS so that jQuery needs to pulled first. When jQuery has been loaded completely, the other JavaScript files get loaded and are executed.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The scripts can be found in the following GitHub project:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://github.com/mrumpf/software-build-service/tree/master/portal&quot;&gt;https://github.com/mrumpf/software-build-service/tree/master/portal&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://dev-snapshot.blogspot.com/2014/02/integrating-jenkins-sonarqube-and-nexus.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-Oq97umwWw_Y/Uwpv0qrbURI/AAAAAAAAcZs/7Dvxtn8Fyfo/s72-c/Portal_panel_small.png" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-4723826889194933565</guid><pubDate>Sun, 23 Feb 2014 17:34:00 +0000</pubDate><atom:updated>2014-02-23T18:34:35.644+01:00</atom:updated><title>Page decoration plugins for Jenkins, SonarQube, and Nexus</title><description>&lt;div&gt;
While trying to apply a common visual layout to the tools&amp;nbsp;&lt;a href=&quot;http://jenkins-ci.org/&quot;&gt;Jenkins&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://www.sonarqube.org/&quot;&gt;SonarQube&lt;/a&gt;, and&amp;nbsp;&lt;a href=&quot;http://www.sonatype.org/nexus/&quot;&gt;Nexus&lt;/a&gt;&amp;nbsp;I learned that there are some plugins available, but none of them really fits the intended purpose.&lt;/div&gt;
&lt;div&gt;
Jenkins has no easy way of changing its appearance and the&amp;nbsp;&lt;a href=&quot;https://wiki.jenkins-ci.org/display/JENKINS/Simple+Theme+Plugin&quot;&gt;Simple Theme plugin&lt;/a&gt; comes only close to what is needed. In SonarQube there is a &lt;a href=&quot;http://docs.codehaus.org/display/SONAR/Branding+Plugin&quot;&gt;Branding plugin&lt;/a&gt;&amp;nbsp;with which you can display an image at the top of each page, but that&#39;s basically all. The Nexus plugin to change the &lt;a href=&quot;http://blog.sonatype.com/2010/02/custom-logo-nxpro/&quot;&gt;Sonatype Nexus logo is available for the professional version only&lt;/a&gt;, but buying the professional version just for being able to change the logo is not really an option.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Analyzing the APIs of the different tools revealed that similar extension points are offered in order to inject HTML fragments into the HTML page:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Jenkins:&lt;/b&gt;&amp;nbsp;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;hudson.model.PageDecorator&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;SonarQube (since 3.3):&lt;/b&gt; &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;org.sonar.api.web.PageDecoration&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Nexus:&lt;/b&gt; &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;org.sonatype.nexus.plugins.rest.NexusIndexHtmlCustomizer&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
For Jenkins and SonarQube I found plugins which use these extension points, although the plugins are not available via the official plugin repositories and therefore somewhat hidden from the public:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Jenkins:&lt;/b&gt; &lt;a href=&quot;https://wiki.jenkins-ci.org/display/JENKINS/Page+Markup+Plugin&quot;&gt;page-markup&lt;/a&gt;&amp;nbsp;(&lt;a href=&quot;https://github.com/mrumpf/page-markup&quot;&gt;GitHub&lt;/a&gt;)&lt;br /&gt;The &lt;a href=&quot;https://software.sandia.gov/trac/fast/wiki/PageMarkup&quot;&gt;original Subversion repository&lt;/a&gt; has been &lt;a href=&quot;https://github.com/bklang/page-markup&quot;&gt;forked to GitHub&lt;/a&gt; but the plugin has not made it into the Jenkins Plugin Repository yet.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;SonarQube:&lt;/b&gt; &lt;a href=&quot;https://github.com/fcrespel/sonar-pagedecoration-plugin&quot;&gt;sonar-pagedecoration-plugin&lt;/a&gt;&amp;nbsp;(&lt;a href=&quot;https://github.com/mrumpf/sonar-pagedecoration-plugin&quot;&gt;GitHub&lt;/a&gt;)&lt;br /&gt;It seems as if there has been no attempt at getting the plugin into the &lt;a href=&quot;http://docs.codehaus.org/display/SONAR/Plugin+Library&quot;&gt;SonarQube Plugin Forge&lt;/a&gt; yet.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Nexus:&lt;/b&gt; No plugin available or at least I did not find one yet.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Inspired from the Blog postings &quot;&lt;a href=&quot;http://hanzelmann.de/blog/2012/09/13/nexus-plugins-and-ui-contributions/&quot;&gt;Nexus and UI contributions&lt;/a&gt;&quot; and &quot;&lt;a href=&quot;http://hanzelmann.de/blog/2012/09/16/extending-nexus-navigation/&quot;&gt;Extending Nexus UI&lt;/a&gt;&quot; I decided to write my own plugin which matches the functionality of the SonarQube&#39;s pagedecoration and the Jenkins&#39;s page-markup plugins.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The new&amp;nbsp;&lt;a href=&quot;https://github.com/mrumpf/nexus-pagedecoration-plugin&quot;&gt;nexus-pagedecoration-plugin&lt;/a&gt; adds a menu item &quot;&lt;b&gt;Page Decoration&lt;/b&gt;&quot; to the Administration section of the Nexus UI:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/-Ni1gkHRtdxA/UwoGugngvGI/AAAAAAAAcZQ/ZySSX11ac-8/s1600/2014-02-23+15_33_10-Clipboard.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-Ni1gkHRtdxA/UwoGugngvGI/AAAAAAAAcZQ/ZySSX11ac-8/s1600/2014-02-23+15_33_10-Clipboard.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The corresponding Page Decoration tab provides text areas for all the four extension points:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Pre Head&lt;/li&gt;
&lt;li&gt;Post Head&lt;/li&gt;
&lt;li&gt;Pre Body&lt;/li&gt;
&lt;li&gt;Post Body&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
You can add HTML fragments to each of the text areas and when saving the changes and reloading the page, the fragments will be rendered into the Nexus UI HTML page.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://1.bp.blogspot.com/-dzOV41d622g/UwoHbwRdt_I/AAAAAAAAcZY/WwVimvnJwfs/s1600/2014-02-23+15_35_57-Sonatype+Nexus.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-dzOV41d622g/UwoHbwRdt_I/AAAAAAAAcZY/WwVimvnJwfs/s1600/2014-02-23+15_35_57-Sonatype+Nexus.png&quot; height=&quot;187&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
The&amp;nbsp;&lt;a href=&quot;https://github.com/mrumpf/nexus-pagedecoration-plugin&quot;&gt;nexus-pagedecoration-plugin&lt;/a&gt;&amp;nbsp;is available under the &lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0.html&quot;&gt;Apache 2.0 license&lt;/a&gt; and is hosted on Github. The initial release for Nexus 2.7.1-01 can be found under &lt;a href=&quot;https://github.com/mrumpf/nexus-pagedecoration-plugin/releases/tag/v2.7.1-01&quot;&gt;GitHub releases&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
For the other plugins I did a fork on GitHub and made some releases on GitHub:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mrumpf/page-markup&quot;&gt;page-markup&lt;/a&gt;&amp;nbsp;release: &lt;a href=&quot;https://github.com/mrumpf/page-markup/releases/tag/v0.4-SNAPSHOT&quot;&gt;v0.4-SNAPSHOT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/fcrespel/sonar-pagedecoration-plugin&quot;&gt;sonar-pagedecoration-plugin&lt;/a&gt; release: &lt;a href=&quot;https://github.com/mrumpf/sonar-pagedecoration-plugin/releases/tag/v1.0.1-SNAPSHOT&quot;&gt;v1.0.1-SNAPSHOT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mrumpf/nexus-pagedecoration-plugin&quot;&gt;nexus-pagedecoration-plugin&lt;/a&gt; release: &lt;a href=&quot;https://github.com/mrumpf/nexus-pagedecoration-plugin/releases/tag/v2.7.1-01&quot;&gt;v2.7.1-01&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><link>http://dev-snapshot.blogspot.com/2014/02/page-decoration-plugins-for-jenkins.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-Ni1gkHRtdxA/UwoGugngvGI/AAAAAAAAcZQ/ZySSX11ac-8/s72-c/2014-02-23+15_33_10-Clipboard.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-8758621619783873639</guid><pubDate>Mon, 10 Jun 2013 19:06:00 +0000</pubDate><atom:updated>2013-06-10T21:16:13.985+02:00</atom:updated><title>Music Player Daemon on Raspberry Pi</title><description>&lt;span style=&quot;font-family: inherit;&quot;&gt;This is not yet another &quot;how to configure &lt;a href=&quot;http://www.musicpd.org/&quot;&gt;MPD&lt;/a&gt; on the Raspberry Pi&quot; article, because there are a lot of excellent &lt;a href=&quot;http://www.musicpd.org/&quot;&gt;MPD&lt;/a&gt; HOWTOs already available:&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://hempeldesigngroup.com/embedded/stories/raspberry-pi-setup-as-mpd-sever/&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;http://hempeldesigngroup.com/embedded/stories/raspberry-pi-setup-as-mpd-sever/&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.t3node.com/blog/streaming-audio-with-mpd-and-icecast2-on-raspberry-pi/&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;http://www.t3node.com/blog/streaming-audio-with-mpd-and-icecast2-on-raspberry-pi/&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://lesbonscomptes.com/pages/raspmpd.html&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;http://lesbonscomptes.com/pages/raspmpd.html&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;However, I experienced a bottleneck with the configuration described by those articles. The load was slightly over 1 but it was high enough to cause some stuttering every 30 seconds.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;The first optimization is to avoid using a separate streaming solution like icecast2. MPD has its own, built-in streaming plugin which can be configured like this:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;audio_output {&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; type            &quot;httpd&quot;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; name            &quot;My HTTP Stream&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; encoder         &quot;flac&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; port            &quot;8000&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; bitrate         &quot;96&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; format          &quot;44100:16:2&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;But before adding this you need to check your sound card default output parameters:
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;sudo cat /proc/asound/card0/pcm0p/sub0/hw_params&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;which returns something like this:
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;access: RW_INTERLEAVED&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;format: S16_LE&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;subformat: STD&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;channels: &lt;b&gt;2&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;rate: &lt;b&gt;44100&lt;/b&gt; (44100/1)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;period_size: 5513&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;buffer_size: 22050&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Then note the rate and channels above and make sure they are the same as in mpd.conf:&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;audio_output {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; type &quot;alsa&quot;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; name &quot;My ALSA Device&quot;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; device &quot;hw:0,0&quot;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;# optional&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;b&gt;&amp;nbsp; format &quot;44100:16:2&quot; # CHECK rate and channels&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; mixer_device &quot;default&quot;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;# optional&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; mixer_control &quot;PCM&quot; # optional&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; mixer_index &quot;0&quot; # optional&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;audio_output &lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; type &quot;httpd&quot;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; name &quot;My HTTP Stream&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; # we are using a faster encoder note that some player might not supprt Flac&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;b&gt;encoder &quot;flac&quot;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;port &quot;8000&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;b&gt;&amp;nbsp; # quality &quot;5.0&quot;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;# do not define if bitrate is defined&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;b&gt;&amp;nbsp; # leave at 128 and check cpu usage...&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;b&gt;&amp;nbsp; bitrate &quot;96&quot;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp;# do not define if quality is defined&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; format &quot;44100:16:2&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;# This setting will change all decoded audio to be converted to the specified&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;# format before being passed to the audio outputs. By default, this setting is&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;# disabled.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;#&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;b&gt;audio_output_format &quot;44100:16:2&quot;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;
#&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;# If MPD has been compiled with libsamplerate support, this setting specifies&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;# the sample rate converter to use. Possible values can be found in the&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;# mpd.conf man page or the libsamplerate documentation. By default, this is&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;# setting is disabled.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;#&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;b&gt;samplerate_converter &quot;Fastest Sinc Interpolator&quot;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The important hints for those optimizations came from the Raspberry Pi Forum &lt;a href=&quot;http://www.raspberrypi.org/phpBB3/viewtopic.php?t=43670&amp;amp;p=350142&quot;&gt;here&lt;/a&gt;.&lt;/div&gt;
</description><link>http://dev-snapshot.blogspot.com/2013/06/music-player-daemon-on-raspberry-pi.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-9083095254128168955</guid><pubDate>Mon, 08 Oct 2012 12:27:00 +0000</pubDate><atom:updated>2012-11-13T15:53:27.426+01:00</atom:updated><title>Debugging UPnP/DLNA traffic to a Sony LCD TV</title><description>The issue I have is that my Sony LCD TV seems to be very picky regarding the UPnP/DLNA protocol when playing media from a control point to the television. The Android App &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.bubblesoft.android.bubbleupnp&amp;amp;hl=en&quot;&gt;BubbleUPnP&lt;/a&gt; does a good job here as playing music works out of the box. Initial tests with the&amp;nbsp;&lt;a href=&quot;http://4thline.org/projects/cling/&quot;&gt;Cling Java library&lt;/a&gt; to play music does not work out of the box.&amp;nbsp;Therefore I wanted to debug the HTTP SOAP protocol in order to see where the differences are.&lt;br /&gt;
&lt;br /&gt;
The UPnP inspector tools discover all UPnP devices on the network, but they cannot monitor the traffic between the devices as the communication is happening directly (service discovery is via multicast):&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://coherence.beebits.net/wiki/UPnP-Inspector&quot;&gt;UPnP-Inspector&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://live.gnome.org/GUPnP/&quot;&gt;GUPnP Universal Control Point&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Because of a switched network the traffic does not go through my OpenWRT router either, so sniffing on the WLAN-LAN bridge br-lan does not work either.&amp;nbsp;That means the only chance to get a hook into the communication channel was to use&amp;nbsp;&lt;a href=&quot;http://arpspoof.sourceforge.net/&quot;&gt;arpspoof&lt;/a&gt;, part of the &lt;a href=&quot;http://www.monkey.org/~dugsong/dsniff/&quot;&gt;dsniff&lt;/a&gt; networking tool-chain, together with tcpdump and wireshark for sniffing and visualization.&lt;br /&gt;
&lt;br /&gt;
&quot;ARP spoofing[1] is a computer hacking technique whereby an attacker sends fake (&quot;spoofed&quot;) Address Resolution Protocol (ARP) messages onto a Local Area Network. Generally, the aim is to associate the attacker&#39;s MAC address with the IP address of another host (such as the default gateway), causing any traffic meant for that IP address to be sent to the attacker instead.&quot; (See&amp;nbsp;&lt;a href=&quot;http://en.wikipedia.org/wiki/ARP_spoofing&quot;&gt;http://en.wikipedia.org/wiki/ARP_spoofing&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
On my Ubuntu desktop the following packages need to be installed to get started:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;sudo apt-get install dsniff wireshark tcpdump&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Three devices are part of the show:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Android Phone - 192.168.0.107&lt;/li&gt;
&lt;li&gt;Sony LCD TV - 192.168.0.77&lt;/li&gt;
&lt;li&gt;Desktop PC - 192.168.0.17&lt;/li&gt;
&lt;/ul&gt;
Before spoofing can be set up we need to make sure that IP packages are forwarded on the desktop machine:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;sudo &quot;echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
We need to tell the Android Phone&amp;nbsp;that we are the&amp;nbsp;Sony LCD TV:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;sudo arpspoof -i eth0 -t 192.168.0.107 192.168.0.77&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
and the Sony LCD TV that we are the Android Phone:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sudo arpspoof -i eth0 -t 192.168.0.77 192.168.0.107&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Then the sniffing can be started with the following command&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;sudo &quot;tcpdump not arp -s0 -w - | wireshark -k -i -&quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
In Wireshark you can simply search for the String &quot;AVTransportURI&quot; (Edit / Find packet... / Find By: String &quot;AVTransportURI&quot; / Search In: Packet Bytes) to find the HTTP request that informs the LCD TV which song to play.&lt;br /&gt;
Right click on the selected line and choose &quot;Decode as...&quot; from the context menu. Then swith to the &quot;Transport&quot; tab and select &quot;HTTP&quot; from the list. Finally click on &quot;OK&quot; to decode the packet as HTTP.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://1.bp.blogspot.com/-KO3f7_i1nbY/UHLEbt3XiWI/AAAAAAAAQvU/YTyjfKTdUfc/s1600/Selection_001.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;215&quot; src=&quot;http://1.bp.blogspot.com/-KO3f7_i1nbY/UHLEbt3XiWI/AAAAAAAAQvU/YTyjfKTdUfc/s320/Selection_001.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;POST /upnp/control/AVTransport HTTP/1.1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;Content-type: text/xml;charset=&quot;utf-8&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;Soapaction: &quot;urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;Content-Length: 1493&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;Host: 192.168.0.77:52323&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;Connection: Keep-Alive&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;User-Agent: Android/4.1.1 UPnP/1.0 BubbleUPnP/1.5.4&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; standalone=&quot;yes&quot;?&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;lt;s:Envelope s:encodingStyle=&quot;http://schemas.xmlsoap.org/soap/encoding/&quot; xmlns:s=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;s:Body&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&amp;lt;u:SetAVTransportURI xmlns:u=&quot;urn:schemas-upnp-org:service:AVTransport:1&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&amp;lt;InstanceID&amp;gt;0&amp;lt;/InstanceID&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&amp;lt;CurrentURI&amp;gt;http://192.168.0.107:57645/external/audio/media/10839.mp3&amp;lt;/CurrentURI&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&amp;lt;CurrentURIMetaData&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;lt;DIDL-Lite xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:dlna=&quot;urn:schemas-dlna-org:metadata-1-0/&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;item id=&quot;/external/audio/albums/6/10839&quot; parentID=&quot;/external/audio/albums/6&quot; restricted=&quot;1&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;upnp:class&amp;gt;object.item.audioItem.musicTrack&amp;lt;/upnp:class&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;dc:title&amp;gt;Blind Willie&amp;lt;/dc:title&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;dc:creator&amp;gt;Rob Towns&amp;lt;/dc:creator&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;upnp:artist&amp;gt;Rob Towns&amp;lt;/upnp:artist&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;upnp:albumArtURI&amp;gt;http://192.168.0.107:57645/external/audio/albums/6.jpg&amp;lt;/upnp:albumArtURI&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;upnp:album&amp;gt;media&amp;lt;/upnp:album&amp;gt;&amp;lt;dc:date&amp;gt;2001-01-01&amp;lt;/dc:date&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;res protocolInfo=&quot;http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_CI=0&quot; size=&quot;2703360&quot; duration=&quot;0:02:15.000&quot;&amp;gt;http://192.168.0.107:57645/external/audio/media/10839.mp3&amp;lt;/res&amp;gt;&amp;lt;/item&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;lt;/DIDL-Lite&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&amp;lt;/CurrentURIMetaData&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&amp;lt;/u:SetAVTransportURI&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;/s:Body&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;lt;/s:Envelope&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
With this method it will be easily possible to tweak a Cling Java client to speak to the Sony LCD TV.</description><link>http://dev-snapshot.blogspot.com/2012/10/debugging-upnpdlna-traffic-to-sony-lcd.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-KO3f7_i1nbY/UHLEbt3XiWI/AAAAAAAAQvU/YTyjfKTdUfc/s72-c/Selection_001.png" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-731964016327294565</guid><pubDate>Tue, 14 Aug 2012 12:09:00 +0000</pubDate><atom:updated>2012-08-14T14:10:31.434+02:00</atom:updated><title>Use Java 7 on Buildhive</title><description>Changing source and target version to 1.7 is not sufficient to enable Java 7 on Buildhive at the moment.&lt;br /&gt;
Adding the following profile to your Maven POM makes sure that your local build is not affected by the special configuration and when running on Buildhive, JDK 7 is used for both build and test-run.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;lt;profiles&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;profile&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;id&amp;gt;buildhive&amp;lt;/id&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;build&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;plugins&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;plugin&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;maven-compiler-plugin&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;version&amp;gt;2.5.1&amp;lt;/version&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;configuration&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;source&amp;gt;1.7&amp;lt;/source&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;target&amp;gt;1.7&amp;lt;/target&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;showDeprecation&amp;gt;true&amp;lt;/showDeprecation&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;showWarnings&amp;gt;true&amp;lt;/showWarnings&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;encoding&amp;gt;UTF-8&amp;lt;/encoding&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;executable&amp;gt;/opt/jdk/jdk1.7.0/bin/javac&amp;lt;/executable&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;fork&amp;gt;true&amp;lt;/fork&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/configuration&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/plugin&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;plugin&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;maven-surefire-plugin&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;configuration&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;jvm&amp;gt;/opt/jdk/jdk1.7.0/bin/java&amp;lt;/jvm&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;forkMode&amp;gt;once&amp;lt;/forkMode&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/configuration&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/plugin&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/plugins&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/build&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/profile&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;lt;/profiles&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
The profile can be selected by adding the following line to the configuration of your Buildhive job:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;Maven Goals:&amp;nbsp;-Pbuildhive clean install&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://dev-snapshot.blogspot.com/2012/08/use-java-7-on-buildhive.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-1908235582580734127</guid><pubDate>Sat, 30 Jun 2012 10:26:00 +0000</pubDate><atom:updated>2012-07-17T23:49:27.351+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">raspberry pi</category><title>Raspberry Pi</title><description>My Raspberry Pi finally arrived after 4 months:&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://lh4.ggpht.com/-d4He0twcz6g/T-7UaBINYfI/AAAAAAAAJTQ/2exhKrF50Ck/1341051972105.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
The stable Debian distribution &quot;Squeeze&quot; does not contain support for all of the Raspberry Pi features. That means there is no way around the the latest Debian &quot;Wheezy&quot; image:&amp;nbsp;&lt;a href=&quot;http://www.raspberrypi.org/archives/1435&quot;&gt;http://www.raspberrypi.org/archives/1435&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
But even with the latest image version there is still some configuration effort left...&lt;br /&gt;
&lt;h2&gt;

&lt;/h2&gt;
&lt;h2&gt;

WLAN Stick&lt;/h2&gt;
&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;For network connectivity I have chosen the Conrad WLAN Stick N150 Nano, which is based on the following chipset: USB: 0BDA:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
Unfortunately this chipset has some issues with the current drivers from both Debian Linux images as discussed in the forum thread&amp;nbsp;&lt;a href=&quot;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=26&amp;amp;t=6256&amp;amp;sid=85adf66d944a48285a706d8cb6884190&amp;amp;start=350&quot; style=&quot;background-color: white;&quot;&gt;Automatic setup for RTL8188CUS based wifi adapters&lt;/a&gt;.&amp;nbsp;&lt;span style=&quot;background-color: white;&quot;&gt;By executing the script &lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;install-rtl8188cus-latest.sh&lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp;from the forum thread, the adapter started working immediately after the script was finished.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;The general WLAN configuration is described in detail in the Debian Wiki:&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://wiki.debian.org/WiFi/HowToUse#Command_Line&quot;&gt;http://wiki.debian.org/WiFi/HowToUse#Command_Line&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;

&lt;/h2&gt;
&lt;h2&gt;

Analog Audio&lt;/h2&gt;
&lt;span style=&quot;font-size: small; font-weight: normal;&quot;&gt;The following commands must be issued to activate the analog output of the Raspberry Pi:&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre style=&quot;border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;&lt;div style=&quot;line-height: normal; white-space: normal;&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;sudo apt-get install alsa-utils gstreamer-tools \\&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: &#39;Times New Roman&#39;;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;madplay gstreamer0.10-alsa&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;sudo modprobe snd_bcm2835&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;sudo amixer cset numid=3 1&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/pre&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;Now you can play a mp3 audio stream via the ALSA device like this:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre style=&quot;border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;&lt;div style=&quot;line-height: normal; white-space: normal;&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;gst-launch souphttpsrc \\ location=http://dradio_mp3_dlf_m.akacast.akamaistream.net/7/249/142684/v1/gnl.akacast.akamaistream.net/dradio_mp3_dlf_m \\&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: &#39;Times New Roman&#39;;&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;! mad \\&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &#39;Times New Roman&#39;;&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;! audioconvert \\&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &#39;Times New Roman&#39;;&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;! audioresample \\&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &#39;Times New Roman&#39;;&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;! alsasink device=hw:0&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/pre&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;The fact that the device needs to be specified explicitly &quot;device=hw:0&quot; indicates another issue here as this is not necessary on my desktop Linux machine.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;For testing the output without an internet connection you can use the following commands:&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre style=&quot;border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;&lt;div style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal; white-space: normal;&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;cd /opt/vs/src/hello_pi&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;make&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal; white-space: normal;&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;./hello_audio&lt;/span&gt;&lt;/div&gt;
&lt;/pre&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;The audio output is not as clear as I expected it to be. I still hear some clicking noises when playing a stream. I hope this will be fixed in upcoming releases of the analog audio driver.&lt;/span&gt;&lt;br /&gt;
&lt;h2&gt;

GPIO Ports&lt;/h2&gt;
In a first test I connected a button to the GPIO port 0 and tried to read the switch state via a simple script:&lt;br /&gt;
&lt;pre style=&quot;border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;sudo -s
&lt;/span&gt;&lt;span style=&quot;line-height: 1.1em;&quot;&gt;echo &quot;0&quot; &amp;gt; /sys/class/gpio/export
&lt;/span&gt;&lt;span style=&quot;line-height: 1.1em;&quot;&gt;echo &quot;in&quot; &amp;gt; /sys/class/gpio/gpio0/direction
&lt;/span&gt;&lt;span style=&quot;line-height: 1.1em;&quot;&gt;watch &lt;/span&gt;&lt;span style=&quot;background-color: #f9f9f9; line-height: 1.1em;&quot;&gt;cat /sys/class/gpio/gpio0/value&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;When pressing and holding the button pressed for at least 2 seconds you will see that the value turns from 1 (not pressed) to 0 (pressed).&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Because the polling approach consumes too much resources I started looking after an interrupt solution.&lt;br /&gt;
The Debian &quot;Wheezy&quot; Beta version does not support interrupts for input ports. However, patches exist and have been included into Linux kernel version 3.2.21 from here:&amp;nbsp;&lt;a href=&quot;http://www.bootc.net/archives/2012/07/01/new-revision-of-3-2-21/&quot; style=&quot;background-color: white;&quot;&gt;http://www.bootc.net/archives/2012/07/01/new-revision-of-3-2-21/&lt;/a&gt;&lt;br /&gt;
In order to download the kernel and activate it, run the following commands (NOTE: the kernel version changes quite frequently, so the 3.2.23 might be outdated):&lt;br /&gt;
&lt;pre style=&quot;border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;&lt;div style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal; white-space: normal;&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;wget http://apt.bootc.net/debian/pool/main/l/linux-source-3.2.23-rpi1+/linux-image-3.2.23-rpi1+_1_armel.deb
sudo dpkg -i linux-image-3.2.23-rpi1+_1_armel.deb&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal; white-space: normal;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;sudo cp /boot/vmlinuz-3.2.23-rpi1+ /boot/kernel.img&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/pre&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;After a reboot the kernel provides interrupts on GPIO input ports and a simple C application published on the following thread demonstrates how to handle interrupts:&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://www.raspberrypi.org/phpBB3/viewtopic.php?t=7509&amp;amp;p=92074&quot; style=&quot;background-color: white;&quot;&gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?t=7509&amp;amp;p=92074&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</description><link>http://dev-snapshot.blogspot.com/2012/06/raspberry-pi.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-d4He0twcz6g/T-7UaBINYfI/AAAAAAAAJTQ/2exhKrF50Ck/s72-c/1341051972105.png" height="72" width="72"/><thr:total>0</thr:total><georss:featurename>Böblingen, Böblingen</georss:featurename><georss:point>48.68133 9.00883</georss:point></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-3779101496636188184</guid><pubDate>Sat, 03 Mar 2012 21:50:00 +0000</pubDate><atom:updated>2012-03-09T22:38:54.032+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">debian</category><category domain="http://www.blogger.com/atom/ns#">ubuntu</category><title>Wake On LAN</title><description>Under Ubuntu I chose the following way to activate wake on LAN on the eth0 device:&lt;br /&gt;
&lt;br /&gt;
# Install ethtool&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sudo apt-get install ethtool&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
# Create init script to set the wol bit on the device&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sudo vi /etc/init.d/wakeonlan&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;#!/bin/sh&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;ethtool -s eth0 wol g&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;exit&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
# Make the script executable&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sudo chmod a+x /etc/init.d/wakeonlan&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
# Create the init links&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sudo update-rc.d wakeonlan defaults&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
Under Debian the following approach has been chosen:&lt;br /&gt;
&lt;br /&gt;
# Get root&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sudo su -&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
# Edit the network interface configuration&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;vi&amp;nbsp;/etc/network/interfaces&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
# Add the lines post-up/pre-down to your network device section&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;iface eth0 inet dhcp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; post-up /usr/sbin/ethtool -s $IFACE wol g&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pre-down /usr/sbin/ethtool -s $IFACE wol g&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The post-up/post-down commands execute the ethtool each time the eth0 device gets started or stopped. This happens also during boot (post-up) and shutdown (pre-down).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Both approaches activate WOL on the network device so that the machine can be started by sending a WOL package.&lt;/div&gt;</description><link>http://dev-snapshot.blogspot.com/2012/03/wake-on-lan.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-7383062932439110271</guid><pubDate>Sat, 31 Dec 2011 15:36:00 +0000</pubDate><atom:updated>2012-01-02T09:56:40.954+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">java</category><category domain="http://www.blogger.com/atom/ns#">maven</category><category domain="http://www.blogger.com/atom/ns#">osgi</category><category domain="http://www.blogger.com/atom/ns#">weld</category><title>Deploying weld-osgi to jcoderz.org repository</title><description>For deploying weld-osgi to the jcoderz.org repository the following modifications to the &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;pom.xml&lt;/span&gt; files are necessary (after applying the wagon-ssh extensions to the your Maven installation, see previous post):&lt;br /&gt;
&lt;br /&gt;
1. Deploy the WELD API packages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;git clone -b WELD-963 http://github.com/mathieuancelin/api.git WELD-963&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;cd WELD-963&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;vi pom.xml&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;# Add the following XMl fragment to the maven-deploy-plugin&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;build&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;plugins&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;plugin&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;maven-deploy-plugin&amp;lt;/artifactId&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;configuration&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;skip&amp;gt;true&amp;lt;/skip&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/configuration&amp;gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependencies&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependency&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;org.apache.maven.wagon&amp;lt;/groupId&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;wagon-ssh&amp;lt;/artifactId&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;2.2&amp;lt;/version&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependency&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependencies&amp;gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/plugin&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/plugins&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/build&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;mvn -e clean install &lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;-Dmaven.test.skip=true&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;mvn
 -e deploy 
-DaltDeploymentRepository=jcoderz-snapshots::default::scp://jcoderz.org/var/www/repos/maven2-snapshot/
 -Dmaven.test.skip=true&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;cd ..&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
2. Deploy the WELD OSGi packages&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;git clone -b weld-osgi http://github.com/mathieuancelin/core.git weld-osgi&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;cd weld-osgi&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;vi &lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;pom.xml &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt; &lt;span style=&quot;font-size: x-small;&quot;&gt;# Add the following XML into the &amp;lt;build&amp;gt;/&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;lt;plugins&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; tag section&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;plugin&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;maven-deploy-plugin&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependencies&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependency&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;org.apache.maven.wagon&amp;lt;/groupId&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;wagon-ssh&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;2.2&amp;lt;/version&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependency&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependencies&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/plugin&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;mvn -e clean install &lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;-Dmaven.test.skip=true&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;mvn
 -e deploy 
-DaltDeploymentRepository=jcoderz-snapshots::default::scp://jcoderz.org/var/www/repos/maven2-snapshot/
 -Dmaven.test.skip=true&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;cd environments/osgi&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;# Deploy weld-osgi-parent pom.xml to the repository (Is there a way to include the parent pom.xml in the previous run?)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;mvn
 -e -N deploy 
-DaltDeploymentRepository=jcoderz-snapshots::default::scp://jcoderz.org/var/www/repos/maven2-snapshot/
 -Dmaven.test.skip=true&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
With those deployments the repository is prepared to compile the m3server project...</description><link>http://dev-snapshot.blogspot.com/2011/12/for-deploying-weld-osgi-to-jcoderz.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-3363517613385088476</guid><pubDate>Sat, 31 Dec 2011 15:08:00 +0000</pubDate><atom:updated>2012-01-01T09:44:34.977+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">java</category><category domain="http://www.blogger.com/atom/ns#">maven</category><category domain="http://www.blogger.com/atom/ns#">ssh</category><title>Maven 3: SSH deployment to foreign repository</title><description>&lt;br /&gt;
Using the &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;maven-deploy-plugin&lt;/span&gt; to deploy artifacts to a repository that is not the original target repository of a project is getting complicated with Maven 3 when the wagon SSH provider is not part of the Maven distribution.&lt;br /&gt;
&lt;br /&gt;
The following JAR files must be added to the Maven distribution into the &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;lib/ext&lt;/span&gt; extension folder:&lt;br /&gt;
&lt;ul style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;jsch-0.1.44-1.jar&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;plexus-utils-3.0.jar&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;plexus-interactivity-api-1.0-alpha-6.jar&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;wagon-ssh-2.2.jar&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;wagon-ssh-external-2.2.jar&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;wagon-ssh-common-2.2.jar&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
Then the parent &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;pom.xml&lt;/span&gt; of the project must be extended by the&amp;nbsp; following lines:&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;build&gt;&lt;/build&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;lt;build&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt;plugins&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;plugin&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupid&amp;gt;org.apache.maven.plugins&amp;lt;/groupid&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactid&amp;gt;maven-deploy-plugin&amp;lt;/artifactid&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dependencies&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dependency&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupid&amp;gt;org.apache.maven.wagon&amp;lt;/groupid&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactid&amp;gt;wagon-ssh&amp;lt;/artifactid&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;2.2&amp;lt;/version&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;/dependency&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/dependencies&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/plugin&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt;/plugins&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;      &amp;lt;/build&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;settings.xml&lt;/span&gt; contains the user credentials and looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;  

&amp;lt;servers&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;lt;server&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;id&amp;gt;myrepo-snapshots&amp;lt;/id&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;username&amp;gt;username&amp;lt;/username&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;privatekey&amp;gt;${user.home}/.ssh/id_rsa&amp;lt;/privatekey&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;passphrase&amp;gt;key-passphrase&amp;lt;/passphrase&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;filepermissions&amp;gt;666&amp;lt;/filepermissions&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;directorypermissions&amp;gt;777&amp;lt;/directorypermissions&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/server&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/servers&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp; 

&lt;/span&gt;&lt;/pre&gt;
Then the deploy phase can be executed like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;mvn deploy -DaltDeploymentRepository=myrepo-snapshots::default::scp://host:port/var/www/repos/maven2-snapshot/&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://dev-snapshot.blogspot.com/2011/12/maven-3-ssh-deploy-to-foreign.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-6858830863491161727</guid><pubDate>Tue, 06 Dec 2011 22:11:00 +0000</pubDate><atom:updated>2012-07-17T23:45:34.912+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">java</category><category domain="http://www.blogger.com/atom/ns#">maven</category><category domain="http://www.blogger.com/atom/ns#">osgi</category><category domain="http://www.blogger.com/atom/ns#">weld</category><title>Building weld-osgi</title><description>In case you want to use &lt;a href=&quot;http://seamframework.org/Weld&quot;&gt;Weld&lt;/a&gt; inside your OSGi application you first need to compile a few branches on your own:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mathieuancelin/api/tree/WELD-963&quot;&gt;WELD-963&lt;/a&gt; branch of the weld/api project &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mathieuancelin/core/tree/weld-osgi&quot;&gt;weld-osgi&lt;/a&gt; branch from the weld/core project&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Those branches will soon be merged into the official Weld codebase. But in the meantime you need to follow the steps below in order to get the packages compiled.&lt;br /&gt;
A prerequisite is that git and Maven 3 is available &lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;git clone -b WELD-963 http://github.com/mathieuancelin/api.git WELD-963&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;cd WELD-963&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;mvn clean install&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;cd ..&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;git clone -b weld-osgi http://github.com/mathieuancelin/core.git weld-osgi&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;cd weld-osgi&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;mvn clean install -Dmaven.test.skip=true&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;find . -name &quot;weld-osgi-core*SNAPSHOT.jar&quot; -exec cp {} . \;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: inherit;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: inherit;&quot;&gt;
The last command above copies the following files into your current directory:&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;weld-osgi-core-api-1.1.5-SNAPSHOT.jar&lt;/li&gt;
&lt;li&gt;weld-osgi-core-extension-1.1.5-SNAPSHOT.jar&lt;/li&gt;
&lt;li&gt;weld-osgi-core-integration-1.1.5-SNAPSHOT.jar&lt;/li&gt;
&lt;li&gt;weld-osgi-core-mandatory-1.1.5-SNAPSHOT.jar&lt;/li&gt;
&lt;li&gt;weld-osgi-core-spi-1.1.5-SNAPSHOT.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;font-family: inherit;&quot;&gt;
You can now deploy those packages into your local repository so that they can be used in your own project&#39;s pom.xml.&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;pre class=&quot;brush: bash; title: ; notranslate&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;mvn deploy:deploy-file -DgroupId=org.jboss.weld.osgi \&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;brush: bash; title: ; notranslate&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;                       -DartifactId=weld-osgi-core-api \&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;brush: bash; title: ; notranslate&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;                       -Dversion=1.1.5-SNAPSHOT \&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;brush: bash; title: ; notranslate&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;                       -Dpackaging=jar \&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;brush: bash; title: ; notranslate&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;                       -Dfile=weld-osgi-core-api-1.1.5-SNAPSHOT.jar&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;brush: bash; title: ; notranslate&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;mvn install:install-file -DgroupId=org.jboss.weld.osgi  \&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;brush: bash; title: ; notranslate&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;                         -DartifactId=weld-osgi-core-extension  \&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;brush: bash; title: ; notranslate&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;                         -Dversion=1.1.5-SNAPSHOT \&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;brush: bash; title: ; notranslate&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;                         -Dpackaging=jar \&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;brush: bash; title: ; notranslate&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;                         -Dfile=weld-osgi-core-extension-1.1.5-SNAPSHOT.jar
mvn install:install-file -DgroupId=org.jboss.weld.osgi  \&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;brush: bash; title: ; notranslate&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;                         -DartifactId=weld-osgi-core-integration  \&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;brush: bash; title: ; notranslate&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;                         -Dversion=1.1.5-SNAPSHOT \&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;brush: bash; title: ; notranslate&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;                         -Dpackaging=jar \&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;brush: bash; title: ; notranslate&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;                         -Dfile=weld-osgi-core-integration-1.1.5-SNAPSHOT.jar&lt;/span&gt;&lt;/pre&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;mvn install:install-file -DgroupId=org.jboss.weld.osgi&amp;nbsp; \&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -DartifactId=weld-osgi-core-mandatory&amp;nbsp; \&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -Dversion=1.1.5-SNAPSHOT \&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -Dpackaging=jar \&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -Dfile=weld-osgi-core-mandatory-1.1.5-SNAPSHOT.jar&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;mvn install:install-file -DgroupId=org.jboss.weld.osgi&amp;nbsp; \&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -DartifactId=weld-osgi-core-spi&amp;nbsp; \&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -Dversion=1.1.5-SNAPSHOT \&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -Dpackaging=jar \&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -Dfile=weld-osgi-core-spi-1.1.5-SNAPSHOT.jar&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
The pom.xml of your assembly package might look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependency&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;org.jboss.weld.osgi&amp;lt;/groupId&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;weld-osgi-core-api&amp;lt;/artifactId&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;1.1.5-SNAPSHOT&amp;lt;/version&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;scope&amp;gt;runtime&amp;lt;/scope&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependency&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependency&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;org.jboss.weld.osgi&amp;lt;/groupId&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;weld-osgi-core-extension&amp;lt;/artifactId&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;1.1.5-SNAPSHOT&amp;lt;/version&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;scope&amp;gt;runtime&amp;lt;/scope&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependency&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependency&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;org.jboss.weld.osgi&amp;lt;/groupId&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;weld-osgi-core-integration&amp;lt;/artifactId&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;1.1.5-SNAPSHOT&amp;lt;/version&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;scope&amp;gt;runtime&amp;lt;/scope&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependency&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependency&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;org.jboss.weld.osgi&amp;lt;/groupId&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;weld-osgi-core-mandatory&amp;lt;/artifactId&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;1.1.5-SNAPSHOT&amp;lt;/version&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;scope&amp;gt;runtime&amp;lt;/scope&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependency&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependency&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;org.jboss.weld.osgi&amp;lt;/groupId&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;weld-osgi-core-spi&amp;lt;/artifactId&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;1.1.5-SNAPSHOT&amp;lt;/version&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;scope&amp;gt;runtime&amp;lt;/scope&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependency&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;</description><link>http://dev-snapshot.blogspot.com/2011/12/building-weld-osgi.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-2757859677681897195</guid><pubDate>Fri, 19 Aug 2011 23:45:00 +0000</pubDate><atom:updated>2011-08-20T01:56:41.357+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">audio</category><category domain="http://www.blogger.com/atom/ns#">openwrt</category><category domain="http://www.blogger.com/atom/ns#">upnp</category><title>m3player version 0.1.3 released</title><description>&lt;a href=&quot;http://www.jcoderz.org/m3dditiez/wiki/m3ddity-player&quot;&gt;m3player version 0.1.3&lt;/a&gt; has the following new features:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;m3player can be run as a daemon with &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;-d&lt;/span&gt; or &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;--daemonise&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;The name of the UPnP Media Renderer can be configured by &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;-n&lt;/span&gt; or &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;--name&lt;/span&gt;. This is done by copying the XML files from /usr/share/m3player to /var/lib/m3player and filtering place-holders in some of the files. &lt;/li&gt;
&lt;li&gt;The version of the MediaRenderer device can be configured by &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;-r&lt;/span&gt; or &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;--root&lt;/span&gt;. The default is &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;MediaRendererV2.xml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;The UPnP server can be bound to a network interface, specified by &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;-i&lt;/span&gt; or &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;--interface&lt;/span&gt;. Example: &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;eth0&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;The help output shows an overview of all the parameters available:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;$ ./m3player -h&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;nbsp; m3player [OPTION...]&lt;/div&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Help Options:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; -h, --help&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Show help options&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Application Options:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; -c, --config&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Path to the config file&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Default: /etc/m3player/m3player.ini)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; -p, --pid&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Path to the pid file&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Default: /var/run/m3player.pid)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; -s, --xmlsource&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Path to the XML source folder&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Default: /usr/share/m3player)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; -t, --xmltarget&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Path to the XML target folder&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Default: /var/lib/m3player)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; -n, --name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The name of the player instance&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Default: HOSTNAME)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; -r, --root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The name of the root device file&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Default: MediaRendererV2.xml)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; -l, --log&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The name of the log file&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Default: /var/log/m3player.log)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; -i, --interface&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The name of the interface the process&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; is bound to (e.g. eth0)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; -d, --daemonise&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fork the player as daemon&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
</description><link>http://dev-snapshot.blogspot.com/2011/08/m3player-version-013-released.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-7942773626519283194</guid><pubDate>Thu, 11 Aug 2011 19:29:00 +0000</pubDate><atom:updated>2012-07-17T23:46:32.147+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">audio</category><category domain="http://www.blogger.com/atom/ns#">c</category><category domain="http://www.blogger.com/atom/ns#">upnp</category><title>Turning m3player into a daemon</title><description>As most of the public HOWTOs seem to be either incomplete or a bit outdated and because I have no copy of the book &lt;a href=&quot;http://www.amazon.com/Programming-Environment-Addison-Wesley-Professional-Computing/dp/0201563177&quot;&gt;Advanced Programming in the UNIX Environment&lt;/a&gt;, I was happy to find the following microHOWTOs:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.microhowto.info/howto/cause_a_process_to_become_a_daemon.html&quot;&gt;Cause a process to become a daemon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.microhowto.info/howto/cause_a_process_to_become_a_daemon_in_c.html&quot;&gt;Cause a process to become a daemon in c&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
By following the steps, described there I was able to turn &lt;a href=&quot;http://www.jcoderz.org/m3dditiez/wiki/m3ddity-player&quot;&gt;m3player&lt;/a&gt; into a daemon. The daemon behavior can be turned on by passing the &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;-d&lt;/span&gt; or &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;--daemon&lt;/span&gt; switches to the command line. When the daemon switch is specified, all output (&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;stdout&lt;/span&gt; and &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;stderr&lt;/span&gt;) gets redirected into the log file at the default location &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;/var/log/m3player.log&lt;/span&gt; or to the location, specified by the &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;-l&lt;/span&gt; or &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;--logfile&lt;/span&gt; switch.</description><link>http://dev-snapshot.blogspot.com/2011/08/turning-m3player-into-daemon.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-8140233438173603395</guid><pubDate>Sun, 31 Jul 2011 23:22:00 +0000</pubDate><atom:updated>2011-08-01T01:33:36.523+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">audio</category><category domain="http://www.blogger.com/atom/ns#">openwrt</category><category domain="http://www.blogger.com/atom/ns#">upnp</category><title>m3player version 0.1.2 released</title><description>I just released version 0.1.2 of &lt;a href=&quot;http://www.jcoderz.org/m3dditiez/wiki/m3ddity-player&quot;&gt;m3player&lt;/a&gt;. The new version includes:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Compilation and packaging for OpenWRT&lt;/li&gt;
&lt;li&gt;Installation of the ipkg package on the TL-WR1043ND device&lt;/li&gt;
&lt;li&gt;Support for command-line parameters:&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;config - Path to the config file (&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;/etc/m3player/m3player.ini&lt;/span&gt;)&lt;/li&gt;
&lt;li&gt;pidfile - Location of the PID file (&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;/var/run/m3player.pid&lt;/span&gt;)&lt;/li&gt;
&lt;li&gt;xmlfolder - Location of the descriptor XML files (&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;/usr/share/m3player&lt;/span&gt;)&lt;/li&gt;
&lt;li&gt;name - Set the name of the player instance (Hostname or m3player)&lt;/li&gt;
&lt;li&gt;filename - The name of the root device file (&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;MediaRenderedV1.xml&lt;/span&gt;)&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Support for an INI file (&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;/etc/m3player/m3player.ini&lt;/span&gt;)&lt;/li&gt;
&lt;li&gt;Fixes to the GStreamer pipeline to work in the stripped down OpenWRT environment with only a few plugins &lt;/li&gt;
&lt;/ul&gt;When launching the &lt;a href=&quot;http://www.jcoderz.org/m3dditiez/wiki/m3ddity-player&quot;&gt;m3player&lt;/a&gt; it starts playing the first entry from the preset list.&lt;br /&gt;
&lt;br /&gt;
The next version will include support for preset switching via the QSS button.</description><link>http://dev-snapshot.blogspot.com/2011/08/m3player-version-012-released.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-9217706134517399241</guid><pubDate>Sun, 31 Jul 2011 21:48:00 +0000</pubDate><atom:updated>2011-08-09T10:37:43.302+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">audio</category><category domain="http://www.blogger.com/atom/ns#">openwrt</category><category domain="http://www.blogger.com/atom/ns#">upnp</category><title>Building a TP-Link TL-WR1043ND OpenWRT 10.03 image for MP3 audio playback</title><description>This article gives a step-by-step description on how to get the &lt;a href=&quot;http://www.jcoderz.org/m3dditiez/wiki/m3ddity-player&quot;&gt;m3ddity-player&lt;/a&gt; working on the TP-Link TL-WR1043ND device, using the stable version of OpenWRT 10.03 (backfire). &lt;br /&gt;
&lt;br /&gt;
First you need to checkout the OpenWRT 10.03 (backfire) branch:&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;svn co svn://svn.openwrt.org/openwrt/branches/backfire&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;cd backfire &lt;/div&gt;&lt;br /&gt;
Then the feed for the &lt;a href=&quot;http://www.jcoderz.org/m3dditiez/wiki/m3ddity-player&quot;&gt;m3ddity-player&lt;/a&gt; must be added:&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;cp feeds.conf.default feeds.conf&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;echo &quot;src-svn jcoderz http://www.jcoderz.org/svn/m3dditiez/branches/openwrt-10.3/packages&quot; &amp;gt;&amp;gt; feeds.conf&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;./scripts/feeds update ./scripts/feeds install -a  &lt;/div&gt;&lt;br /&gt;
Now run menuconfig and select the necessary modules:&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;make menuconfig&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
The following list shows only menuconfig entries where settings have been changed. Settings not shown here are left untouched.&lt;br /&gt;
&lt;br /&gt;
Target System (Atheros AR71xx/AR7240/AR913x)&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt; Target Profile (TP-Link TL-WR1043ND v1)&lt;br /&gt;
&lt;br /&gt;
Global build settings ---&amp;gt;&lt;br /&gt;
&amp;nbsp; [*] Remove ipkg/opkg status/data files in final images&lt;br /&gt;
&amp;nbsp; [ ] Enable ipv6 support in packages&lt;br /&gt;
&lt;br /&gt;
[*] Build the OpenWRT based toolchain&lt;br /&gt;
[*] Image configuration ---&amp;gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;192.168.0.5) &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;LAN DNS server&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;192.168.0.5) &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;LAN Gateway&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;(255.255.255.0) LAN Network Mask&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;192.168.0.111&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;) LAN IP Address&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt; &lt;br /&gt;
Base system&lt;br /&gt;
&amp;nbsp; &amp;lt;*&amp;gt; block-mount&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt; &amp;gt; dnsmasq&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt; &amp;gt; firewall&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;Kernel Modules&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; Filesystems&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;*&amp;gt; kmod-fs-ext3 (for USB drive)&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;*&amp;gt; kmod-nls-utf8&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; Other modules&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;lt;*&amp;gt; kmod-ledtrig-netdev&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; Sound Support&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;*&amp;gt; kmod-sound-core&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; USB Support&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;*&amp;gt; kmod-usb-core&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;*&amp;gt;&amp;nbsp;&amp;nbsp; kmod-usb-audio&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;*&amp;gt; kmod-usb-ohci&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;*&amp;gt; kmod-usb-storage (for USB drive)&lt;br /&gt;
&lt;br /&gt;
Network&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt; &amp;gt; ppp&lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt; &amp;gt; iptables&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; Time Synchronization&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;lt;*&amp;gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt; ntpdate&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt; Multimedia&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt;*&amp;gt; gst-mod-alsa&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt;*&amp;gt; gst-mod-mad&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt;*&amp;gt; gst-mod-souphttpsrc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt;*&amp;gt; gstreamer&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt;*&amp;gt; m3ddity-player (only with &lt;a href=&quot;http://www.jcoderz.org/m3dditiez/wiki/openwrt-packages&quot;&gt;jCoderZ.org&lt;/a&gt; modules) &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;Utilities&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt;*&amp;gt; alsa-utils (for alsamixer/alsactl)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;After the configuration step is completed, the image can be compiled with the following command:&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;make&lt;/span&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;
The next steps assume that the router is already running a stable version of OpenWRT (flashed initially via the original vendor UI). If that is the case you can now connect to the router by running:&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;telnet 192.168.0.111 # The IP configured during menuconfig&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Now copy the new image to a location on the router with enough space, for example a USB stick (/dev/sda1): &lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;mkdir /mnt/usb&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;mount -t ext2 /dev/sda1 /mnt/usb&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt; cd /mnt/usb&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;scp USERNAME@HOST:HOME/backfire/bin/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bin .&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Now drop the caches:&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;echo 3 &amp;gt; /proc/sys/vm/drop_caches&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Then reflash the image with the following command:&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;mtd -r write openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bin firmware&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The router will reboot and you can connect again after reboot:&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;telnet 192.168.0.111&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Replace the USB stick with the USB audio device and run the m3ddity-player with the following command:&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;m3player&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Now you should hear a sound as the m3player starts playing one of its presets from the config file /etc/m3player/m3player.ini.&lt;/div&gt;</description><link>http://dev-snapshot.blogspot.com/2011/07/building-tp-link-tl-wr1043nd-openwrt.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-659908601942599654</guid><pubDate>Sun, 24 Jul 2011 22:44:00 +0000</pubDate><atom:updated>2011-07-25T07:31:58.329+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">audio</category><category domain="http://www.blogger.com/atom/ns#">openwrt</category><category domain="http://www.blogger.com/atom/ns#">upnp</category><title>Music player fully integrated into the OpenWRT build process</title><description>The &lt;a href=&quot;http://www.jcoderz.org/m3dditiez/wiki/m3ddity-player&quot;&gt;m3ddity-player&lt;/a&gt; and the GUPnP libraries, on which the player depends upon, can now easily be build for OpenWRT, just follow the steps below:&lt;br /&gt;
&lt;br /&gt;
1. Checkout the trunk version of OpenWRT&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;svn co svn://svn.openwrt.org/openwrt/trunk&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;cd trunk&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
2. Add the &lt;a href=&quot;http://www.jcoderz.org/m3dditiez/&quot;&gt;jCoderZ&lt;/a&gt; package repository to the list of feeds&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;cp feeds.conf.default feeds.conf&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;echo &quot;src-svn jcoderz &quot; \&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;http://www.jcoderz.org/svn/m3dditiez/trunk/&quot; \&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;openwrt/packages&quot; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;&amp;gt;&amp;gt; feeds.conf&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;./scripts/feeds update&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;./scripts/feeds install -a&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
3. Run menuconfig and select the packages as described &lt;a href=&quot;http://dev-snapshot.blogspot.com/2011/07/building-openwrt-image-optimized-for.html&quot;&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;br /&gt;
make menuconfig&lt;/div&gt;&lt;br /&gt;
4. Additionally select the package Multimedia/m3ddity-player. This automatically selects the necessary GUPnP libraries.&lt;br /&gt;
&lt;br /&gt;
5. Finally, you can build the image&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;br /&gt;
make -j 5&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;But be warned, the trunk version of OpenWRT might be broken and flashing the image might result in a bricked device that can only be restored via the serial console. For the TL-WR1043ND, this even involves soldering! &lt;/b&gt;</description><link>http://dev-snapshot.blogspot.com/2011/07/music-player-fully-integrated-into.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-1029235620529050360</guid><pubDate>Sun, 24 Jul 2011 11:31:00 +0000</pubDate><atom:updated>2012-06-25T23:40:33.555+02:00</atom:updated><title>jCoderZ.org</title><description>The OpenWRT music player, which I have blogged about recently, has found a&amp;nbsp; home at &lt;a href=&quot;https://github.com/jCoderZ/m3player&quot;&gt;https://github.com/jCoderZ/m3player&lt;/a&gt;</description><link>http://dev-snapshot.blogspot.com/2011/07/jcoderzorg.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-8928152157089007017</guid><pubDate>Tue, 19 Jul 2011 18:21:00 +0000</pubDate><atom:updated>2011-08-12T00:03:45.323+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">audio</category><category domain="http://www.blogger.com/atom/ns#">openwrt</category><category domain="http://www.blogger.com/atom/ns#">upnp</category><title>Quest for a USB audio device part 2...</title><description>&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif; line-height: 18px;&quot;&gt;The new audio devices arrived but unfortunately they show the same glitches as the devices I tested &lt;a href=&quot;http://dev-snapshot.blogspot.com/2011/07/seeking-cheap-usb-audio-device-that.html&quot;&gt;before&lt;/a&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;1.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;a href=&quot;http://www.logilink.eu/showproduct/UA0053.htm&quot;&gt;USB Soundkarte mit Virtual 3D Soundeffekt LogiLink®&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;This device is also based on the chipset &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Tenx Technology, Inc. TP6911 Audio Headset&lt;/span&gt; and has the same issues as the previous device (USB Sound Audio), i.e. the output is far too loud.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;b&gt;2.&amp;nbsp;&lt;a href=&quot;http://www.logilink.eu/showproduct/UA0078.htm&quot;&gt;USB Soundkarte mit Virtual 7.1 Soundeffekt LogiLink®&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;The sound is good but as with the previous device a clicking noise is heard during reboot, power-off, power-on, plug-in/out. The chipset is&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;C-Media Electronics, Inc. Audio Adapter&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;So both adapters use the same chipsets and show the same issues. It seems as if there are not too many different cheap USB audio devices on the market, just rebranded stuff from the same manufacturer.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;... to be continued!&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://dev-snapshot.blogspot.com/2011/07/quest-for-usb-audio-device-part-2.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-5658636499521421669</guid><pubDate>Wed, 13 Jul 2011 20:48:00 +0000</pubDate><atom:updated>2011-07-17T18:57:19.731+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">audio</category><category domain="http://www.blogger.com/atom/ns#">openwrt</category><category domain="http://www.blogger.com/atom/ns#">upnp</category><title>Seeking a cheap USB audio device that works with the TP-Link TL-WR1043ND under OpenWRT</title><description>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;I&#39;m seeking for a USB audio device that works with&amp;nbsp;the TP-Link TL-WR1043ND under OpenWRT. Until now I tried 2 different devices with unacceptable issues.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;1.&amp;nbsp;&lt;/span&gt;USB Sound Audio (Amazon)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-qWqnVo0dbP8/Th4AOAsdarI/AAAAAAAAElw/m7Hwk4flU3U/s1600/TP6911.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;http://2.bp.blogspot.com/-qWqnVo0dbP8/Th4AOAsdarI/AAAAAAAAElw/m7Hwk4flU3U/s200/TP6911.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;The device gets detected under Linux as &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;Tenx Technology, Inc. TP6911 Audio Headset&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;. The following warnings are reported by&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;dmesg&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt; when connecting the device:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #666666; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small; line-height: 18px;&quot;&gt;usb_audio: Warning! Unlikely big volume range (=13568), cval-&amp;gt;res is probably wrong.&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #666666; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;usb_audio: [2] FU [PCM Playback Volume] ch = 2, val = 2560/16128/1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #666666; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;usb_audio: Warning! Unlikely big volume range (=6096), cval-&amp;gt;res is probably wrong.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #666666; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;usb_audio: [5] FU [Mic Capture Volume] ch = 1, val = 0/6096/1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;The issue with this device is that the volume level is so high that it cannot be controlled. Between mute and&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;10% the output sounds distorted. At 20% the volume level is at its maximum, with no audible change between 20% and 100%.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;2. auvisio Visual Sound Technologies (pearl.de)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-7uen3q5pdPQ/Th4AVGQtxQI/AAAAAAAAEl0/vizbd1NDDCU/s1600/auvisio-virtual-7-1-usb.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;166&quot; src=&quot;http://1.bp.blogspot.com/-7uen3q5pdPQ/Th4AVGQtxQI/AAAAAAAAEl0/vizbd1NDDCU/s200/auvisio-virtual-7-1-usb.gif&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18px;&quot;&gt;The device gets detected as&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;C-Media Electronics, Inc. Audio Adapter&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 18px;&quot;&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;The issue with the device is that a very loud clicking sound gets played when the OpenWRT router starts-up or during shutdown/power-off. The sound is quite loud and it will be very annoying when using the router as a music-player.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;&lt;b&gt;Next&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;Both devices are unsuitable for using them with the router. The next try will be with the following devices...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1e2515; font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 11px;&quot;&gt;&lt;a href=&quot;http://www.logilink.eu/showproduct/UA0078.htm&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 12px; font-weight: bold;&quot;&gt;USB Soundkarte mit Virtual 7.1 Soundeffekt LogiLink®&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1e2515; font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: normal;&quot;&gt;&lt;a href=&quot;http://www.logilink.eu/showproduct/UA0053.htm&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 12px; font-weight: bold;&quot;&gt;USB Soundkarte mit Virtual 3D Soundeffekt LogiLink®&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://dev-snapshot.blogspot.com/2011/07/seeking-cheap-usb-audio-device-that.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-qWqnVo0dbP8/Th4AOAsdarI/AAAAAAAAElw/m7Hwk4flU3U/s72-c/TP6911.jpg" height="72" width="72"/><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-2209399897671280754</guid><pubDate>Wed, 13 Jul 2011 19:36:00 +0000</pubDate><atom:updated>2011-07-17T18:32:26.194+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">audio</category><category domain="http://www.blogger.com/atom/ns#">openwrt</category><category domain="http://www.blogger.com/atom/ns#">upnp</category><title>Make ALSA settings persistent on OpenWRT</title><description>The command-line tool &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;alsamixer&lt;/span&gt; can be used to control the volume of the USB audio output:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-EHJmq1aKXrI/Th3tP-sqcLI/AAAAAAAAEls/SGdLN4yRHo4/s1600/alsamixer.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;212&quot; src=&quot;http://2.bp.blogspot.com/-EHJmq1aKXrI/Th3tP-sqcLI/AAAAAAAAEls/SGdLN4yRHo4/s320/alsamixer.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Unfortunately the setting does not survive a reboot. Another tool from the alsa-utils package can be used for this purpose: &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;alsactl&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
After setting the volume with &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;alsamixer&lt;/span&gt;, the following command persists the current setting in the file-system for device 0:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;alsactl -f /etc/alsa/alsa0.state store 0&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
During startup, the state must be restored again. This can be achieved by adding the following command to &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;/etc/rc.local&lt;/span&gt;:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;alsactl -f /etc/alsa/alsa0.state restore 0&lt;/span&gt;</description><link>http://dev-snapshot.blogspot.com/2011/07/make-alsa-settings-persistent-on.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-EHJmq1aKXrI/Th3tP-sqcLI/AAAAAAAAEls/SGdLN4yRHo4/s72-c/alsamixer.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-4649488311850165342</guid><pubDate>Wed, 13 Jul 2011 18:36:00 +0000</pubDate><atom:updated>2011-07-24T13:19:48.729+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">audio</category><category domain="http://www.blogger.com/atom/ns#">openwrt</category><category domain="http://www.blogger.com/atom/ns#">upnp</category><title>Building an OpenWRT image optimized for MP3 audio playback</title><description>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;For the audio-renderer, see revious posts, I decided to switch to the trunk version of OpenWRT.&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;I experienced some issues with the USB audio hardware and the trunk version should prove that there are no issues with the USB audio drivers which are already fixed.&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;The following configuration is for the bleeding-edge version, some module names have changed so it cannot be applied to the Kamikaze (10.3) version without modification (e.g. block-mount contains the overlay functionality and kmod-fs-ext4 has support for all ext file-system versions).&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;&lt;b&gt;NOTE: This configuration has stripped all modules which are not necessary for USB audio and Wireless LAN.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;Target System: Atheros AR71xx/AR7240/AR913x/AR934x)&lt;br /&gt;
Target Profile: TP-Link TL-WR1043ND v1&lt;br /&gt;
&lt;br /&gt;
Global build settings ---&amp;gt;&lt;br /&gt;
&amp;nbsp; [*] Remove ipkg/opkg status/data files in final images&lt;br /&gt;
&amp;nbsp; [ ] Enable ipv6 support in packages&lt;br /&gt;
&lt;br /&gt;
LATER: Strip unnecessary exports from kernel image&lt;br /&gt;
LATER: Strip unnecessary functions from libraries&lt;br /&gt;
&lt;br /&gt;
[*] Build the OpenWRT Image Builder&lt;br /&gt;
[*] Build the OpenWRT SDK&lt;br /&gt;
[*] Build the OpenWRT based toolchain&lt;br /&gt;
[*] Image configuration ---&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LAN Gateway: 192.168.0.5&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LAN Network Mask:&amp;nbsp;&lt;a href=&quot;tel:255.255.255.0&quot; target=&quot;_blank&quot; value=&quot;+492552552550&quot;&gt;255.255.255.0&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LAN IP Address: 192.168.0.111&lt;br /&gt;
&lt;br /&gt;
Base system&lt;br /&gt;
&amp;nbsp; &amp;lt;*&amp;gt; block-mount&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt; &amp;gt; dnsmasq&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt; &amp;gt; firewall&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;Kernel Modules&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; Filesystems&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;*&amp;gt; kmod-fs-ext4 (for USB drive)&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; Native Language Support&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;*&amp;gt; kmod-nls-utf8&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt; &amp;nbsp; Sound Support&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;*&amp;gt; kmod-sound-core&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;*&amp;gt; kmod-usb-audio&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; USB Support&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;*&amp;gt; kmod-usb-ohci&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;*&amp;gt; kmod-usb-storage (for USB drive)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; Other Modules (not sure yet whether they are needed)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ??? *gpio* ??? (Buttons for preset-switching ???)&lt;br /&gt;
&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;Network&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt; &amp;gt; ppp&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; Firewall&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt; &amp;gt; iptables&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; Time Synchronization&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;lt;*&amp;gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt; ntpclient&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt; Multimedia&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt;*&amp;gt; gst-mod-alsa&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt;*&amp;gt; gst-mod-mad&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt;*&amp;gt; gst-mod-souphttpsrc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt;*&amp;gt; gstreamer&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt;*&amp;gt; gstreamer-utils (for gst-* tools)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;Utilities&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt;*&amp;gt; alsa-utils (for alsamixer/alsactl)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;After the configuration step is completed, the image can be compiled with the following command:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;make -j 5 # on a quad-core machine&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;With the configuration above the compiled image is 5248kB large, which means 2944kB are free for modules and configuration in the /overlay file-system.&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Then you can connect to the router with the following command (assuming that OpenWRT is already installed):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;telnet 192.168.0.111&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Copy the new image to a location on the router with enough space (I use a 32MB USB stick with ext2 file-system which I mount under /mnt/usb):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;scp USERNAME@HOST:HOME/openwrt-trunk/bin/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bin .&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Now drop the caches:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;echo 3 &amp;gt; /proc/sys/vm/drop_caches&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Then reflash the image with the following command:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;mtd -r write&amp;nbsp;openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bin firmware&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;The router will reboot and when connecting via telnet again, the&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;setup can be tested with the following command:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;gst-launch souphttpsrc location=http://87.248.219.60/stream/swr_mp3_m_swr1bwa ! mad ! alsasink&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Et viola, the USB audio device will play the radio station! Hopefully&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;.....&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&amp;nbsp;;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial,Helvetica,sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://dev-snapshot.blogspot.com/2011/07/building-openwrt-image-optimized-for.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-995797967880655202</guid><pubDate>Sat, 09 Jul 2011 13:40:00 +0000</pubDate><atom:updated>2011-07-17T18:32:55.355+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dropbox</category><category domain="http://www.blogger.com/atom/ns#">keepass</category><title>Using a password safe on multiple platforms</title><description>After the Playstation Network Hack I decided to change to secure passwords for all my accounts. The drawback is that nobody can remember secure passwords anymore, so there is no way around using a password safe.&lt;br /&gt;
&lt;br /&gt;
The only application that is available on all the different platforms I use is KeePass (V1.x on Windows, KeePassX under Linux, and KeePassDroid on Android). Under Windows the the 1.x version must be used in order to stick to the same file format as the KeePassX and the KeePassDroid applications.&lt;br /&gt;
&lt;br /&gt;
Using one database file on many different devices has proven to be a challenge as the file must be located where it can be accessed from all the different devices.&lt;br /&gt;
&lt;br /&gt;
My first approach was to use a WebDAV folder which is available from hosters like web.de or 1&amp;amp;1 in Germany.&lt;br /&gt;
The Linux support for WebDAV is good, dav2fs does what I was looking for and I found absolutely no issues while using it.&lt;br /&gt;
Unfortunately Windows 7 64Bit support for WebDAV is severly broken. Access to the online folder was working a few days but it stopped working, being unable to connect anymore (Error 0x80070043). All the hints and workarounds I found did not work for my business notebook. I also tried the different WebDAV client tools like &lt;a href=&quot;http://www.netdrive.net/&quot;&gt;NetDrive&lt;/a&gt; for example. None of them was working reliably in a corporate environment behind a proxy and I did not want to find workarounds for the issues of the WebDAV clients.&lt;br /&gt;
There is also no free WebDAV support available&amp;nbsp;on Android, making the protocol unusable on my phone and tablet. The consequence would be either to copy the file manually or to extend KeePassDroid in order to access databases via HTTPS/WebDAV.&lt;br /&gt;
&lt;br /&gt;
After a few weeks of pain when trying to log into an account with a secure password I decided to give DropBox a try. Clients are available for all the devices I have and adding an account is very easy and can be setup in under a minute.&lt;br /&gt;
&lt;br /&gt;
DropBox has been configured to create a new folder and not to sync the whole user&#39;s home folder:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Windows: C:\Users\(USERNAME)&lt;username&gt;\Dropbox&lt;/username&gt;&lt;/li&gt;
&lt;li&gt;Linux: /home/(USERNAME)&lt;username&gt;/Dropbox&lt;/username&gt;&lt;/li&gt;
&lt;li&gt;Android: /mnt/sdcard/dropbox&lt;/li&gt;
&lt;/ul&gt;On all platforms the extension &quot;kdb&quot; has been associated with the KeePass application, so opening the DropBox folder and double-clicking/pressing on the kdb file opens KeePass/KeePassX/KeePassDroid which asks for the database password.&lt;br /&gt;
&lt;br /&gt;
So far DropBox seems to be the solution to my problem. I can access the database with only 2 passwords to remember, the one for the password safe file and the other one for the DropBox account.&lt;br /&gt;
&lt;br /&gt;
However, one issue with concurrent access to the same KeePass file remains. The KeePass application writes a lock file to signal that the database is being used by an instance of the application. Different instances create and delete the lock file so that the file is completely useless in the scenario, described above. The message that a lock file has been found and whether the database should be opened read-only must either be ignored or followed. When followed new entries can be added on one device only.&lt;br /&gt;
&lt;br /&gt;
When you add an entry to the database on one platform this change is propagated to the other devices because of the DropBox sync. Unfortunately running instancs of KeePass do not recognize that a file has changed in the DropBox folder. Only when you add an account there and you try to save the database file you get a message that the file in the file-system has changed.&lt;br /&gt;
The&lt;br /&gt;
&lt;br /&gt;
The solution to this issue would be that KeePass reloads the file on a regular basis as long as no entries have been added. In case a user has added an entry KeePass could do a merge of the two database files by comparing entries one by one and adding new ones to the loaded database before persisting it again.&lt;br /&gt;
&lt;br /&gt;
As long as this has not been implemented the only work-around is to do some configuration on the clients so that the application/database is likely to be closed each time you switch the device.&lt;br /&gt;
One setting is not minimize the application window into the system tray. That keeps the window open and reminds you, when you, for example, cleanup the desktop of your business notebook in evening, to close the application. The next morning you need to reopen the database and load all entries that have been added last evening on your other devices.&lt;br /&gt;
&lt;br /&gt;
A small step into the merge direction would be to notify the user when the database in the file-system has changed. If such a notification pops-up the database can be closed and re-opened again.&lt;br /&gt;
&lt;br /&gt;
I have created feature requests for each of the three projects:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;KeePass:&amp;nbsp;&lt;a href=&quot;https://sourceforge.net/tracker/?func=detail&amp;amp;aid=3362189&amp;amp;group_id=95013&amp;amp;atid=609908&quot;&gt;3362189&lt;/a&gt;&amp;nbsp;(Closed, Rejected:&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; color: #555555; line-height: 19px;&quot;&gt;&lt;a href=&quot;http://keepass.info/help/base/multiuser.html&quot;&gt;http://keepass.info/help/base/multiuser.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;)&lt;/li&gt;
&lt;li&gt;KeePassX:&amp;nbsp;&lt;a href=&quot;https://sourceforge.net/tracker/?func=detail&amp;amp;aid=3362184&amp;amp;group_id=166631&amp;amp;atid=839782&quot;&gt;3362184&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;KeePassDroid:&amp;nbsp;&lt;a href=&quot;http://code.google.com/p/keepassdroid/issues/detail?id=206&quot;&gt;206&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;</description><link>http://dev-snapshot.blogspot.com/2011/07/using-password-safe-on-multiple.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-2299081279877188325</guid><pubDate>Mon, 27 Jun 2011 21:26:00 +0000</pubDate><atom:updated>2011-07-17T18:33:10.538+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">audio</category><category domain="http://www.blogger.com/atom/ns#">openwrt</category><category domain="http://www.blogger.com/atom/ns#">upnp</category><title>Radio presets</title><description>&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;One important feature for the audio renderer is the support for &lt;b&gt;presets&lt;/b&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;I do not want to search for my mobile phone in order to select a music source when I enter the kitchen in the morning. The use-case where you turn on your analog radio and the tuning wheel is right at the position of your favorite radio station is unbeatable simple.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Therefore the audio-renderer has a list of MP3 streaming URLs where the first one will be played upon startup of the process. The channels can be switched by sending a signal to the server process:&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;kill -USR1 &amp;lt;PID of audio-renderer&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;This is a good way to hijack an unused button of your router &lt;/span&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;(for example the QSS button of the TP-Link WR1043ND) &lt;/span&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;and write a simple script as shown here: &lt;a href=&quot;http://wiki.openwrt.org/doc/howto/hardware.button&quot;&gt;http://wiki.openwrt.org/doc/howto/hardware.button&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;There is currently no support for M3U files as this is not supported by Gstreamer.&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt; The MP3 streams must be extracted manually from the M3U files.&lt;/span&gt;</description><link>http://dev-snapshot.blogspot.com/2011/06/radio-presets.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-515693795501759649</guid><pubDate>Mon, 27 Jun 2011 21:05:00 +0000</pubDate><atom:updated>2011-08-02T14:48:26.481+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">audio</category><category domain="http://www.blogger.com/atom/ns#">openwrt</category><category domain="http://www.blogger.com/atom/ns#">upnp</category><title>UPnP audio renderer released</title><description>A very early version of my UPnP audio-renderer had been released on Gitorius https://gitorious.org/gupnp-audio-renderer (&lt;b&gt;Update 2011-08-01&lt;/b&gt;: It has been renamed to m3player and been moved to &lt;a href=&quot;http://www.jcoderz.org/m3dditiez/wiki/m3ddity-player&quot;&gt;here&lt;/a&gt;). It implements the necessary parts of the UPnP MediaRenderer specification. &lt;br /&gt;
&lt;br /&gt;
The implementation is based on excellent frameworks like:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.gupnp.org/&quot;&gt;GUPnP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://gstreamer.freedesktop.org/&quot;&gt;GStreamer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://developer.gnome.org/glib/&quot;&gt;GLib&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;The initial target for the renderer is the &lt;a href=&quot;http://www.openwrt.org/&quot;&gt;OpenWRT&lt;/a&gt; platform (see previous articles about a WiFi music player). I decided to use C instead of Vala (that was a decision against Rygel) as the memory constraints are very limited and I need to save memory whereever possible. Although my C language skills are a bit rusty, I did not want to learn another language. Additionally, the usage of Vala would increase the effort to port the whole vala stuff to the OpenWRT build-system. Luckily GStreamer and GLib are already available on OpenWRT.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update 2011-07-31&lt;/b&gt;: Porting Vala packages to OpenWRT seems to be less complex as many source tarballs already contain the C source, generated by the valac pre-compiler, so no valac must be available during the OpenWRT build process.&lt;br /&gt;
&lt;br /&gt;
The requirements for the implementation are:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;audio-only renderer (usually routers do not have displays) with a focus on MP3&lt;/li&gt;
&lt;li&gt;small memory footprint (my router has only 32MB available)&lt;/li&gt;
&lt;li&gt;easy porting to different platforms (not dependent to where Vala has been ported)&lt;/li&gt;
&lt;li&gt;support for presets (which can be switched by pressing a button on the router device)&lt;/li&gt;
&lt;/ol&gt;The renderer is being tested with the UPnP Control Point &lt;a href=&quot;http://bebopfreak.wordpress.com/upnplayer/&quot;&gt;UPnPlay&lt;/a&gt; on my HTC Legend. &lt;br /&gt;
&lt;br /&gt;
The next steps are:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Rounding the rough edges&lt;/li&gt;
&lt;li&gt;Packaging for Debian/Ubuntu&lt;/li&gt;
&lt;li&gt;Makefiles for OpenWRT&lt;/li&gt;
&lt;li&gt;Cleaning up the codebase&lt;/li&gt;
&lt;/ol&gt;&lt;b&gt;Update 2011-07-31&lt;/b&gt;: The gupnp-audio-renderer has been renamed to m3ddity-player and it found a home &lt;a href=&quot;http://www.jcoderz.org/m3dditiez/wiki/m3ddity-player&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;ol&gt;&lt;/ol&gt;</description><link>http://dev-snapshot.blogspot.com/2011/06/upnp-audio-renderer-released.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-7359915366930899050</guid><pubDate>Mon, 13 Jun 2011 15:53:00 +0000</pubDate><atom:updated>2011-07-17T18:33:48.876+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">audio</category><category domain="http://www.blogger.com/atom/ns#">upnp</category><title>Compile a development version of GUPnP from HEAD</title><description>Follow the commands below in order to setup a local environment for working with the latest development version of the GUPNP framework.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;mkdir $(pwd)/base&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;git clone&amp;nbsp;http://git.gnome.org/browse/gssdp&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;cd gssdp&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;./autogen.sh --prefix=$(pwd)/../base --exec-prefix=$(pwd)/../base&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;make &amp;amp;&amp;amp; make install&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;cd ..&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;git clone http://git.gnome.org/browse/gupnp&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;cd gupnp&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;PKG_CONFIG_PATH=$(pwd)/../base/lib/pkgconfig ./autogen.sh --prefix=$(pwd)/../base --exec-prefix=$(pwd)/../base&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;cd ..&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;git clone http://git.gnome.org/browse/gupnp-tools&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;cd gupnp-tools&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;PKG_CONFIG_PATH=$(pwd)/../base/lib/pkgconfig ./autogen.sh --prefix=$(pwd)/../base --exec-prefix=$(pwd)/../base&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;cd ..&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Run the following commands for setting the environment to use the fresh compiled libraries instead of the OS provided ones (Empathy under Ubuntu 11.04 uses an older version of the GUPNP libraries. I ran into segmentation faults because the libraries did not match):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;export PATH=$(pwd)/base/bin&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$(pwd)/gupnp/examples&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;:$PATH&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;export LD_LIBRARY_PATH=$(pwd)/base/lib&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$LD_LIBRARY_PATH&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;export PKG_CONFIG_PATH=$(pwd)/base/lib/pkgconfig:$PKG_CONFIG_PATH&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Now you can execute several examples or tests to check whether everything works as expected:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;light-server &amp;amp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;gupnp-universal-cp &amp;amp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;The GUI application GUPnP Universal Control Point shows an entry &quot;Kitchen Lights&quot;, which is provided by the light-server application started above.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;</description><link>http://dev-snapshot.blogspot.com/2011/06/compile-development-version-of-gupnp.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-80168360663649604.post-2901214019266367170</guid><pubDate>Sun, 12 Jun 2011 14:36:00 +0000</pubDate><atom:updated>2011-07-17T18:33:54.433+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">audio</category><category domain="http://www.blogger.com/atom/ns#">openwrt</category><category domain="http://www.blogger.com/atom/ns#">upnp</category><title>Building a custom OpenWRT image for the TP-Link TL-WR1043ND</title><description>&lt;table style=&quot;text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt; &lt;td&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-My4aqk4nBL4/TfSaA1akJ5I/AAAAAAAAEkg/GpWbxKqabLs/s1600/IMAG0292.jpg&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;133&quot; src=&quot;http://1.bp.blogspot.com/-My4aqk4nBL4/TfSaA1akJ5I/AAAAAAAAEkg/GpWbxKqabLs/s200/IMAG0292.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-eqzxpdUiMJ8/TfSaC26_9QI/AAAAAAAAEkk/5lGKpLAiEvs/s1600/IMAG0293.jpg&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;133&quot; src=&quot;http://3.bp.blogspot.com/-eqzxpdUiMJ8/TfSaC26_9QI/AAAAAAAAEkk/5lGKpLAiEvs/s200/IMAG0293.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
For my low-budget wireless music player I had to tweak OpenWRT in order to support my setup. For initial tests I decided to use the&amp;nbsp;&lt;a href=&quot;http://mpd.wikia.com/&quot;&gt;Music Player Daemon&lt;/a&gt;&amp;nbsp;and &lt;a href=&quot;http://www.underbit.com/products/mad/&quot;&gt;madplay&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The following steps describe how to setup OpenWRT on the TP-Link WR1043ND. It assumes that the OpenWRT 10.03.1-rc4 firmware has already been installed, that the IP address of the router has been set to 192.168.0.111, and that an USB audio, as well as that an USB stick has been connected to the device via an USB hub.&lt;br /&gt;
&lt;br /&gt;
Checkout the 10.03 branch (currently 10.03.1-rc5)&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ svn co svn://svn.openwrt.org/openwrt/branches/backfire&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ cd backfire&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Download and install all packages:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ ./scripts/feeds update -a&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ ./scripts/feeds install -a&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Run menuconfig and select a few more items so that they are available without the need to install packages first:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ make menuconfig&lt;/span&gt;&lt;br /&gt;
-&amp;gt; Target Profile: TP-Link TL-WR1043ND&lt;br /&gt;
-&amp;gt; [*] Build the OpenWrt Image Builder&lt;br /&gt;
-&amp;gt; [*] Build the OpenWrt SDK&lt;br /&gt;
-&amp;gt; [*] Build the OpenWrt based Toolchain&lt;br /&gt;
-&amp;gt; [*] Image Configuration&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;() LAN Gateway: &lt;gw-address&gt;&lt;/gw-address&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;(192.168.1.1) LAN Network Address: 192.168.0.111&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Exit&lt;br /&gt;
-&amp;gt; Base System&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;*&amp;gt; block-hotplug&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;*&amp;gt; block-extroot&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Exit&lt;br /&gt;
-&amp;gt; Kernel Modules&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;-&amp;gt; Filesystems&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;*&amp;gt; kmod-fs-ext2&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Exit&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;-&amp;gt; USB Support&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;*&amp;gt; kmod-usb-core&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;*&amp;gt; &amp;nbsp; kmod-usb-audio&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;*&amp;gt; &amp;nbsp; kmod-usb-ohci&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;*&amp;gt; &amp;nbsp; kmod-usb-storage&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;*&amp;gt; &amp;nbsp; kmod-usb-storage-extras&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;*&amp;gt; &amp;nbsp; kmod-usb-usb2&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Exit&lt;br /&gt;
-&amp;gt; Sound&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;m&gt; mpd&lt;/m&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;m&gt; mpc&lt;/m&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;m&gt; madplay&lt;/m&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Exit&lt;br /&gt;
Exit&lt;br /&gt;
&lt;br /&gt;
On quad core machines you can run make with 5 parallel jobs:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ make -j 5&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Install the new image by running the following commands:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ telnet 192.168.0.111&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ scp USER&lt;user&gt;@HOST&lt;host&gt;:HOME&lt;home&gt;/workspaces/openwrt/backfire/bin/ar71xx/openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin .&lt;/home&gt;&lt;/host&gt;&lt;/user&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ cd /tmp&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ mtd -r write openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin firmware&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Because WLAN will not be configured after flashing a new image, you need a cable connection.&lt;br /&gt;
After the reboot is finished you can connect to the device like this:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ telnet 192.168.0.111&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Because mpd and madplay consume more space than the router has available on its root partition, the extroot feature must be enabled.&amp;nbsp;Enable extroot for the USB stick by modifiying fstab:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ vi /etc/config/fstab&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;================================&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;config mount&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; option target &amp;nbsp; /overlay&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; option device &amp;nbsp; &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;b&gt;/dev/sda1&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; option fstype &amp;nbsp; &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;b&gt;ext2&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; option options &amp;nbsp;rw,sync&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; option enabled &amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;b&gt;1&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; option enabled_fsck 0&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;================================&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;;&quot;&gt;Reboot the device again so that the extroot overlay becomes available:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;;&quot;&gt;&lt;/span&gt;$ reboot&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Connect to the device again:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ telnet 192.168.0.111&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I have setup an Apache on my desktop machine in order to easily provide the packages to the device. For using the local HTTP server, opkg must be configured like this (my desktop machine has IP 192.168.0.17):&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ vi /etc/opkg.conf&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;================================&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;src/gz packages http://192.168.0.17/packages&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;...&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;================================&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;When this is done you can update the package list:&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ opkg update&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Now the packages mpd, mpc, and madplay can be installed:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ opkg install mpd mpc madplay&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The&amp;nbsp;mpd&amp;nbsp;daemon needs some special folder setup:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ mkdir -p ~/.mpd/playlists&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Make sure mpd starts when the device boots up by adding the follownig line to rc.local:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ vi /etc/rc.local&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;================================&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;mpd /etc/mpd.conf&lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;================================&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;In oder to disconnect the wired LAN connection, you need to setup&amp;nbsp;WLAN:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ vi /etc/config/wireless&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Change the following entries:&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;================================&lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;config wifi-device &amp;nbsp;radio0&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;...&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;# REMOVE THIS LINE TO ENABLE WIFI:&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;b&gt;#option disabled 1&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;config wifi-iface&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;...&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red; font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;option mode sta # Client mode&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red; font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;option ssid mySSID # Your SSID&lt;ssid&gt;&lt;/ssid&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red; font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;option encryption psk2 # WPA-PSK2&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;option key 12345678901234567890 # Your network key&lt;/b&gt;&lt;/span&gt;&lt;psk&gt;&lt;/psk&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;================================&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;Configure DHCP so that the device asks the DHCP server for an IP address:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ vi /etc/config/network&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Change the lan interface (eth0.1) like this:&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;================================&lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;config &#39;interface&#39; &#39;lan&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;option &#39;ifname&#39;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&#39;eth0.1&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;option &#39;proto&#39;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&#39;dhcp&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;================================&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;Now you can start WiFi like this:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ wifi up&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
After that you can unplug the LAN cable. The router should be connected to your WLAN and it should acquire an IP address from your local network DHCP server. Make sure that you do not gave a MAC Filter enabled in case it does not work ;)&lt;br /&gt;
&lt;br /&gt;
For an intial test you can updload a MP3 file to the device:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ scp &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;USER&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;user&gt;@HOST&lt;host&gt;:HOME&lt;home&gt;/test.mp3 /tmp&lt;/home&gt;&lt;/host&gt;&lt;/user&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;user&gt;&lt;host&gt;&lt;home&gt;&lt;br /&gt;
&lt;/home&gt;&lt;/host&gt;&lt;/user&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
With madplay the MP3 can be played like this:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ madplay /tmp/test.mp3&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
With the following script running on your desktop machine you can make the Music Play Daemon play a Shoutcast audio stream:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ export MPD_HOST=192.168.0.111&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ mpc add http://89.179.179.5:8040&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ mpc play&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;</description><link>http://dev-snapshot.blogspot.com/2011/06/building-custom-openwrt-image-for-tp.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-My4aqk4nBL4/TfSaA1akJ5I/AAAAAAAAEkg/GpWbxKqabLs/s72-c/IMAG0292.jpg" height="72" width="72"/><thr:total>0</thr:total></item></channel></rss>