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

<channel>
	<title>Tobi's Corner &#187; OpenWRT</title>
	<atom:link href="http://tobiscorner.floery.net/category/projects/openwrt/feed" rel="self" type="application/rss+xml" />
	<link>http://tobiscorner.floery.net</link>
	<description>... the electronix portal</description>
	<lastBuildDate>Tue, 22 Jun 2010 06:54:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>About wait states</title>
		<link>http://tobiscorner.floery.net/projects/openwrt/about-wait-states/99</link>
		<comments>http://tobiscorner.floery.net/projects/openwrt/about-wait-states/99#comments</comments>
		<pubDate>Mon, 19 Mar 2007 22:30:16 +0000</pubDate>
		<dc:creator>theFloe</dc:creator>
				<category><![CDATA[OpenWRT]]></category>
		<category><![CDATA[Asus]]></category>
		<category><![CDATA[T6963]]></category>

		<guid isPermaLink="false">http://tobiscorner.floery.net/?p=99</guid>
		<description><![CDATA[For some time I&#8217;m struggling with the external Interface of ASUS WL-HDD Router models. I&#8217;m now trying to connect a T6963 based LCD. This failed because of the speed of the external bus. So I searched the linux code and found the initialization in sbmips.c under linux/arch/mips32/bcm47xxx/sbmips.c. I copied the code to my module and [...]]]></description>
			<content:encoded><![CDATA[<p>For some time I&#8217;m struggling with the external Interface of ASUS WL-HDD Router models.</p>
<p>I&#8217;m now trying to connect a T6963 based LCD. This failed because of the speed of the external bus. So I searched the linux code and found the initialization in sbmips.c under linux/arch/mips32/bcm47xxx/sbmips.c.<span id="more-99"></span></p>
<p>I copied  the code to my module and build a function to slow down the speed:</p>
<pre>static void extif_slowDown()  {
ulong hz,ns,tmp;
extifregs_t *eir;

if ((hz = sb_clock(sbh)) == 0)
hz = 100000000;
ns = 1000000000 / hz;

if ((eir = sb_setcore(sbh, SB_EXTIF, 0))) {
tmp = CEIL(1, ns) &lt; &lt; FW_W3_SHIFT;
tmp = tmp | (CEIL(1,ns) &lt;&lt; FW_W2_SHIFT);
tmp = tmp | (CEIL(200, ns) &lt;&lt; FW_W1_SHIFT);
tmp = tmp | CEIL(240, ns);
W_REG(&amp;eir-&gt;prog_waitcount, tmp);
}
}</pre>
<p>I had no clue what those parameters are for. For a first test the old values where doubled. Using a oscilloscope I could figure out 2 values:</p>
<table border="0">
<tbody>
<tr>
<td><a title="bild1.png" rel="attachment wp-att-100" href="http://tobiscorner.floery.net/projects/openwrt/about-wait-states/99/bild1png/"><img src="http://tobiscorner.floery.net/wp-content/bild1.thumbnail.png" border="0" alt="bild1.png" /></a></td>
<td><a title="bild2.png" rel="attachment wp-att-101" href="http://tobiscorner.floery.net/projects/openwrt/about-wait-states/99/bild2png/"><img src="http://tobiscorner.floery.net/wp-content/bild2.thumbnail.png" border="0" alt="bild2.png" /></a></td>
<td><a title="bild3.png" rel="attachment wp-att-102" href="http://tobiscorner.floery.net/projects/openwrt/about-wait-states/99/bild3png/"><img src="http://tobiscorner.floery.net/wp-content/bild3.thumbnail.png" border="0" alt="bild3.png" /></a></td>
</tr>
<tr>
<td>W3 = 40ns<br />
W2 = 40ns<br />
W1 = 100ns<br />
W0 = 200ns</td>
<td>W3 = 100ns<br />
W2 = 40ns<br />
W1 = 100ns<br />
W0 = 200ns</td>
<td>W3 = 40ns<br />
W2 = 100ns<br />
W1 = 100ns<br />
W0 = 200ns</td>
</tr>
</tbody>
</table>
<p>The upper signal is the /CS line and the lower the /WR line.  As you can see W3 defines the time from /WR high to /CS high, while W2 defines the time from /CS low to /RD low. What W1 and W0 are for I can only guess. The total low time of /CS increases with W0 but for W1 I coudn&#8217;t find a change (maybe it&#8217;s a timing value for reading from the interface).</p>
<p>I&#8217;m now playing with the timing parameters and looking what the LCD will display. Sometimes I can ge something on it and sometimes not.  I think I got the writing timing correct but reading to check the status bits is not in time&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://tobiscorner.floery.net/projects/openwrt/about-wait-states/99/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>the LCD module</title>
		<link>http://tobiscorner.floery.net/projects/openwrt/jukebox/the-lcd-module/65</link>
		<comments>http://tobiscorner.floery.net/projects/openwrt/jukebox/the-lcd-module/65#comments</comments>
		<pubDate>Mon, 11 Dec 2006 19:01:20 +0000</pubDate>
		<dc:creator>theFloe</dc:creator>
				<category><![CDATA[jukebox]]></category>
		<category><![CDATA[LCD]]></category>
		<category><![CDATA[Module]]></category>
		<category><![CDATA[OpenWRT]]></category>

		<guid isPermaLink="false">http://tobiscorner.floery.net/?p=65</guid>
		<description><![CDATA[So here you can find the current testing version of my module. It can be used to display some text but it has still some bugs lcd4wl Sourcecode kmod-lcd4wl_2430-brcm-1_mipsel.ipk Usage: To install the precompiled module download the ipk above and install it: ipkg install kmod-lcd4wl_2430-brcm-1_mipsel.ipk Then insert the module: insmod lcd4wl Using dmesg should show [...]]]></description>
			<content:encoded><![CDATA[<p>So here you can find the current testing version of my module. It can be used to display some text but it has still some bugs <img src='http://tobiscorner.floery.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> <span id="more-65"></span></p>
<ul>
<li><a title="lcd4wl Sourcecode" href="http://tobiscorner.floery.net/wp-content/lcd4wl1.zip">lcd4wl Sourcecode</a></li>
<li><a id="p67" href="http://tobiscorner.floery.net/wp-content/kmod-lcd4wl_2430-brcm-1_mipsel.ipk">kmod-lcd4wl_2430-brcm-1_mipsel.ipk</a></li>
</ul>
<p><strong>Usage:</strong></p>
<p>To install the precompiled module download the ipk above and install it:</p>
<blockquote><p>ipkg install kmod-lcd4wl_2430-brcm-1_mipsel.ipk</p></blockquote>
<p>Then insert the module:</p>
<blockquote><p>insmod lcd4wl</p></blockquote>
<p>Using dmesg should show you what to do next.</p>
<blockquote><p>mknod /dev/lcd c xxx 0<br />
&#8230; where xxx is the major number of your device</p></blockquote>
<p>After creating the device entry you can access your LCD with:</p>
<blockquote><p>echo &#8220;Hello OpenWRT\n\rShow me if it&#8217;s working&#8221; &gt; /dev/lcd</p></blockquote>
<p>for writing to the LCD or</p>
<blockquote><p>cat /dev/lcd</p></blockquote>
<p>to read from the LCD.</p>
<p><strong>Here the supported command: </strong></p>
<blockquote>
<ul>
<li>\n: Puts the cursor to the next line, on the same position</li>
<li>\r: Sets Cursor to the start of the current line</li>
<li>\i: Clear Display</li>
<li>\h: Move Cursor home</li>
<li>\dx: Set Display Status (x=0: off, x=1 on)</li>
<li>\cx: set Cursor (x=0 off, x=1 on)</li>
<li>\bx: set Blink (x=0 off, x=1 on)</li>
<li>\xx: Display shift (x=0 off, x=1 on)</li>
<li>\yx: Shift Direction (x=0 right, x=1 left)</li>
<li>\ax: Cursor increment (x=0 off, x=1 on)</li>
<li>\sx: Cursor shift (x=0 off, x=1 on)</li>
</ul>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://tobiscorner.floery.net/projects/openwrt/jukebox/the-lcd-module/65/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>LCD another try?</title>
		<link>http://tobiscorner.floery.net/projects/openwrt/jukebox/lcd-another-try/63</link>
		<comments>http://tobiscorner.floery.net/projects/openwrt/jukebox/lcd-another-try/63#comments</comments>
		<pubDate>Sat, 09 Dec 2006 11:28:16 +0000</pubDate>
		<dc:creator>theFloe</dc:creator>
				<category><![CDATA[jukebox]]></category>
		<category><![CDATA[LCD]]></category>
		<category><![CDATA[Module]]></category>
		<category><![CDATA[OpenWRT]]></category>

		<guid isPermaLink="false">http://tobiscorner.floery.net/?p=63</guid>
		<description><![CDATA[Today i successfully triggered the /CS line and now I know it&#8217;s working. In measurements before my oscilloscope was to slow to display the changes on the /CS line&#8230; So I conected the /CS line to the display&#8217;s Enable Pin. Moved R/W from A2 to A1 and adjusted my driver. I connected the display, loaded [...]]]></description>
			<content:encoded><![CDATA[<p>Today i successfully triggered the /CS line and now I know it&#8217;s working. In measurements before my oscilloscope was to slow to display the changes on the /CS line&#8230;<span id="more-63"></span></p>
<p>So I conected the /CS line to the display&#8217;s Enable Pin. Moved R/W from A2 to A1 and adjusted my driver. I connected the display, loaded the module and &#8230;. nothing!</p>
<p>So I started my PC Scope Software, connected CH1 to /CS line and GND and &#8230; HARDWARE  NOT FOUND. So I realized the fancy red led was dark and I checked the LPT-cable and the power connection. Hmm shouldn&#8217;t the red led on the power plug be on? Wow the transformer of the power plug din&#8217;t survive the night (btw. it was me going out not the power plug &#8230;). So I opened up a box and searched for a replacement power supply. Found an adjustable switching regulator and connected. The Software begann calibrating and reported: Calibration failed!</p>
<p>O.k. maybe the oscilloscope doesn&#8217;t like the switching power supply because of all this spikes and so&#8230;</p>
<p>But now back to topic: Why did the LCD stay blank&#8230; Maybe the bus interface is somehow to fast for that little display (but it worked with using 3 address lines). Is the Enable signaling correct? I will try using an inverter&#8230;</p>
<p>So I soldered a standard NPN inverted using a 2n3904 and 2 resistors connected everything, reloaded the kernel module and &#8230; nothing! Hmm it would be good having a working oscilloscope&#8230;</p>
<p>After that I think I&#8217;m gonna use the other solution&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://tobiscorner.floery.net/projects/openwrt/jukebox/lcd-another-try/63/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interfacing an LCD</title>
		<link>http://tobiscorner.floery.net/projects/openwrt/jukebox/interfacing-an-lcd/62</link>
		<comments>http://tobiscorner.floery.net/projects/openwrt/jukebox/interfacing-an-lcd/62#comments</comments>
		<pubDate>Thu, 07 Dec 2006 02:48:21 +0000</pubDate>
		<dc:creator>theFloe</dc:creator>
				<category><![CDATA[jukebox]]></category>
		<category><![CDATA[LCD]]></category>
		<category><![CDATA[Module]]></category>
		<category><![CDATA[OpenWRT]]></category>

		<guid isPermaLink="false">http://tobiscorner.floery.net/?p=62</guid>
		<description><![CDATA[Here I describe how to interface a Character LCD based on HD47780 or compatible controllers. Ext IF # LCD # D0 1 D0 7 D1 2 D1 8 D2 3 D2 9 D3 4 D3 10 D4 5 D4 11 D5 6 D5 12 D6 7 D6 13 D7 8 D7 14 A0 9 RS [...]]]></description>
			<content:encoded><![CDATA[<p>Here I describe how to interface a Character LCD based on HD47780 or compatible controllers.<span id="more-62"></span></p>
<blockquote>
<table border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<th>Ext IF</th>
<th width="50">#</th>
<th>LCD</th>
<th width="50">#</th>
</tr>
<tr>
<td>D0</td>
<td align="center">1</td>
<td>D0</td>
<td align="center">7</td>
</tr>
<tr>
<td>D1</td>
<td align="center">2</td>
<td>D1</td>
<td align="center">8</td>
</tr>
<tr>
<td>D2</td>
<td align="center">3</td>
<td>D2</td>
<td align="center">9</td>
</tr>
<tr>
<td>D3</td>
<td align="center">4</td>
<td>D3</td>
<td align="center">10</td>
</tr>
<tr>
<td>D4</td>
<td align="center">5</td>
<td>D4</td>
<td align="center">11</td>
</tr>
<tr>
<td>D5</td>
<td align="center">6</td>
<td>D5</td>
<td align="center">12</td>
</tr>
<tr>
<td>D6</td>
<td align="center">7</td>
<td>D6</td>
<td align="center">13</td>
</tr>
<tr>
<td>D7</td>
<td align="center">8</td>
<td>D7</td>
<td align="center">14</td>
</tr>
<tr>
<td>A0</td>
<td align="center">9</td>
<td>RS</td>
<td align="center">4</td>
</tr>
<tr>
<td>A1</td>
<td align="center">10</td>
<td>E</td>
<td align="center">6</td>
</tr>
<tr>
<td>A2</td>
<td align="center">11</td>
<td>RW</td>
<td align="center">5</td>
</tr>
<tr>
<td>A3</td>
<td align="center">12</td>
<td>&#8211;</td>
<td align="center"></td>
</tr>
<tr>
<td>+5V</td>
<td align="center">13</td>
<td>VDD</td>
<td align="center">2</td>
</tr>
<tr>
<td>/CS</td>
<td align="center">14</td>
<td>&#8211;</td>
<td align="center"></td>
</tr>
<tr>
<td>/RD</td>
<td align="center">15</td>
<td>&#8211;</td>
<td align="center"></td>
</tr>
<tr>
<td>/WR</td>
<td align="center">16</td>
<td>&#8211;</td>
<td align="center"></td>
</tr>
<tr>
<td>/INT</td>
<td align="center">17</td>
<td>&#8211;</td>
<td align="center"></td>
</tr>
<tr>
<td>GND</td>
<td align="center">18</td>
<td>VSS</td>
<td align="center">1</td>
</tr>
<tr>
<td></td>
<td align="center"></td>
<td>Vo (contrast)</td>
<td align="center">3</td>
</tr>
</tbody>
</table>
<p>Vo &#8230; connect a 10k poti between VDD and GND and the wiper to Vo.</p></blockquote>
<div style="color: red">This is only a test connection and it&#8217;s not very usable by now. You can get some random stuff on your display when other data is transfered on the bus.</div>
<p>For a better bus interface I have to look on the function of the /CS line in more detail so that the LCD doesn&#8217;t get disturbed by misc. data.<br />
To get some data onto the display I modified diag.c the kernel module that is used by OpenWRT to set the Router&#8217;s LEDs and to fetch some keys. diag.c can be found in: /location_where_you_unziped_openwrt/target/linux/packages/diag/src/. I added a own /proc entry called extif. And so I was able to display data that way:</p>
<blockquote><p>echo &#8220;iHello OpenWRT <img src='http://tobiscorner.floery.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> &#8221; &gt; /proc/diag/extif</p></blockquote>
<p>The &#8220;i&#8221; is only there to tell the module to initialize the display first.</p>
<p><strong>My Module</strong></p>
<p>Next step will be that i write a module on my own that handels everything <img src='http://tobiscorner.floery.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <a href="http://tobiscorner.floery.net/?p=65"> &#8211;&gt; Read here more about the module&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tobiscorner.floery.net/projects/openwrt/jukebox/interfacing-an-lcd/62/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The external Interface</title>
		<link>http://tobiscorner.floery.net/projects/openwrt/jukebox/the-external-interface/61</link>
		<comments>http://tobiscorner.floery.net/projects/openwrt/jukebox/the-external-interface/61#comments</comments>
		<pubDate>Wed, 06 Dec 2006 18:50:48 +0000</pubDate>
		<dc:creator>theFloe</dc:creator>
				<category><![CDATA[jukebox]]></category>
		<category><![CDATA[Asus]]></category>
		<category><![CDATA[LCD]]></category>
		<category><![CDATA[OpenWRT]]></category>

		<guid isPermaLink="false">http://tobiscorner.floery.net/?p=61</guid>
		<description><![CDATA[When you disassemble your unit you will find some solder pads right behind the IDE connector. This thread at www.openwrt.org shows the pinout and some pics and howto attach a UART-Chip there. The pinout: ---------- &#62; D0 D1 &#124; &#124; D2 D3 &#124; &#124; D4 D5 &#124; &#124; D6 D7 &#124; &#124; A0 A1 &#124; [...]]]></description>
			<content:encoded><![CDATA[<p>When you disassemble your unit you will find some solder pads right behind the IDE connector. <a href="http://forum.openwrt.org/viewtopic.php?id=7083" target="_blank">This thread</a> at <a href="http://www.openwrt.org" target="_blank">www.openwrt.org</a> shows the pinout and some pics and howto attach a UART-Chip there.</p>
<p><span id="more-61"></span><br />
The pinout:</p>
<table border="0">
<tbody>
<tr>
<td style="width: 50%">
<pre>----------
&gt; D0  D1 |
| D2  D3 |
| D4  D5 |
| D6  D7 |
| A0  A1 |
| A2  A3 |
|+5V /CS |
|/RD /WR |
|INT GND |
| NC  NC |
----------</pre>
</td>
<td style="width: 50%">
<pre>where:
D0 - D7: are the data lines
A0 - A3: are the address lines
+5V: +5V Supply Voltage
/CS: chip select (active low)
/RD: read strobe (avtice low)
/WR: write strobe (active low)
INT: Interrupt input
GND: Signal Ground
NC: Not connected

Note: all signals are 3.3V signals!</pre>
</td>
</tr>
</tbody>
</table>
<p>But adding a UART</p>
<blockquote><p>EXT_IF -&gt; UART -&gt; uC -&gt; Display &amp; Keys</p></blockquote>
<p>is somehow stupid. Because it could look like that:</p>
<blockquote><p>EXT_IF -&gt; Display &amp; Keys</p></blockquote>
<p>So I started reading though the kernel sources and found the UART initialisation process in sbmips.c somewhere in the arch/mips/bcm9&#8230;.. directory. But the function that where used like sb_gpioin didn&#8217;t leed me to success.</p>
<p>So i had a look at gpio.c (same directory as above). This is a kernel module for accessing GPIO (general purpose input output). Here the sb_gpioin and so functions were used again. I tried to hack some new lines there but, let us go to the next try:</p>
<p>kmod-diag: OpenWRT comes with a small module that is used to turn on/off the LED&#8217;s and to fetch some keypresses. While reading the source (diag.c) I realized the function: set_led_extif.</p>
<blockquote><p>volatile u8 *addr = (volatile u8 *) KSEG1ADDR(EXTIF_UART) + (led-&gt;gpio &amp; ~GPIO_TYPE_MASK);</p></blockquote>
<p>The adress of the external interface is between 0xBF800000 and 0xBF80000F. Only the low nibble (the 0&#215;0-0xF) will be seen at the external interface on address lines A0-A3.</p>
<blockquote><p>volatile u8 *addr = (volatile u8 *) KSEG1ADDR(EXTIF_UART) + (address &amp; 0x0F);</p></blockquote>
<p>Where address is the low nibble. Using the pointer *addr data can be read and written.</p>
<blockquote><p>*addr = 0xFF;  // write 0xFF<br />
data = *addr; // read data</p></blockquote>
<p>So that&#8217;s the trick.</p>
<p><strong>But what do /WR, /RD and /CS do?</strong></p>
<p>/WR: The slash (&#8220;/&#8221;) before the signals name tells you that the signal is active low. This means if a write transfer is handled by the bus this signals changes from HIGH to LOW before the transmission and changes back to HIGH after the transmission.</p>
<p>/RD: Same as above but signals that it&#8217;s a read instead of a write operation.</p>
<p>/CS: This signal goes low whenever an address between 0xBF800000 and 0xBF80000F is read or written. This additional signal is necassary do differ between for example 0xBF80000A and 0x2AD3456A (because only the last nibble the &#8220;A&#8221; would be seen on the address lines A0-A3).</p>
]]></content:encoded>
			<wfw:commentRss>http://tobiscorner.floery.net/projects/openwrt/jukebox/the-external-interface/61/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running OpenWRT on ASUS WL-HDD aka Yakumo Wireless Storage</title>
		<link>http://tobiscorner.floery.net/projects/openwrt/jukebox/running-openwrt-on-asus-wl-hdd-aka-yakumo-wireless-storage/60</link>
		<comments>http://tobiscorner.floery.net/projects/openwrt/jukebox/running-openwrt-on-asus-wl-hdd-aka-yakumo-wireless-storage/60#comments</comments>
		<pubDate>Wed, 06 Dec 2006 10:10:45 +0000</pubDate>
		<dc:creator>theFloe</dc:creator>
				<category><![CDATA[jukebox]]></category>
		<category><![CDATA[Asus]]></category>
		<category><![CDATA[OpenWRT]]></category>

		<guid isPermaLink="false">http://tobiscorner.floery.net/?p=60</guid>
		<description><![CDATA[Yes it&#8217;s possible to run Linux on that small little Devices with build in harddisc, wlan, lan and 1 usb host port. For more information about OpenWRT please visit http://www.openwrt.org. After you flashed the new firmware and successfully managed to establish a secure connection to your router you can beginn with installing some extra stuff. [...]]]></description>
			<content:encoded><![CDATA[<p>Yes it&#8217;s possible to run Linux on that small little Devices with build in harddisc, wlan, lan and 1 usb host port. For more information about OpenWRT please visit <a href="http://www.openwrt.org" target="_blank">http://www.openwrt.org</a>.</p>
<p><span id="more-60"></span><br />
After you flashed the new firmware and successfully managed to establish a secure connection to your router you can beginn with installing some extra stuff. But before installing it&#8217;s a good advise to enable the HDD first so you can install some packages there (Internal Flash in only 4MB). Good Documents about that step are availabe <a href="http://wiki.openwrt.org/IdeStorageHowTo?highlight=%28storage%29" target="_blank">here</a>.<br />
Now install some extra packages:</p>
<ul>
<li>samba &#8211; for filesharing with windows</li>
<li>mpd &#8211; the music player daemon</li>
<li>kmod-soundcore_2.4.30-brcm-2_mipsel.ipk (<a href="http://nthill.free.fr/openwrt/ipkg/testing/" target="_blank">download here</a>)</li>
<li>kmod-usb-audio_2.4.30-brcm-2_mipsel.ipk (<a href="http://nthill.free.fr/openwrt/ipkg/testing/" target="_blank">download here</a>)</li>
<li>what else do you need?</li>
</ul>
<p>So now get yourself a cheap usb soundstick. I bought mine for about 12$ in a local electronic store. The stick uses the C-Media chipset (CM108) which is fully supported and working <img src='http://tobiscorner.floery.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>For mpd setup have a look at /etc/mpd.conf (self-explaining config file). To get a Client for your host system naviagte to <a href="http://www.musicpd.org/clients.shtml" target="_blank">MPD Clients</a>.</p>
<p>I have modified the NAS-Device to have a small but powerfull mp3 player. One thing that I could improve is: To start/stop playing a host-platform must be up and running to control  mpd. That must change! So I started thinking of attaching a LCD-Display and some keys&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://tobiscorner.floery.net/projects/openwrt/jukebox/running-openwrt-on-asus-wl-hdd-aka-yakumo-wireless-storage/60/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
