<?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"
	>

<channel>
	<title>x29a - Life is a Project</title>
	<atom:link href="http://blog.chris007.de/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.chris007.de</link>
	<description>w00t?</description>
	<pubDate>Sun, 08 Aug 2010 16:05:45 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>ICQ is going to die!</title>
		<link>http://blog.chris007.de/?p=264</link>
		<comments>http://blog.chris007.de/?p=264#comments</comments>
		<pubDate>Sun, 08 Aug 2010 14:58:28 +0000</pubDate>
		<dc:creator>BEni</dc:creator>
		
		<category><![CDATA[TheInternet]]></category>

		<category><![CDATA[icq]]></category>

		<category><![CDATA[im]]></category>

		<category><![CDATA[instant messanger]]></category>

		<category><![CDATA[jabber]]></category>

		<category><![CDATA[switch over]]></category>

		<category><![CDATA[xmpp]]></category>

		<guid isPermaLink="false">http://blog.chris007.de/?p=264</guid>
		<description><![CDATA[&#8230; if you follow this post and switch over to XMPP (formerly known as Jabber).
Tired of some weird russian sounding pal requesting you to authorize him? Like five times a day? Tired of calling your buddies on the phone, just to check whether &#8220;ICQ is down&#8221;? Tired of the message &#8220;your client cannot handle the [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; if you follow this post and switch over to XMPP (formerly known as Jabber).</p>
<p>Tired of some weird russian sounding pal requesting you to authorize him? Like five times a day? Tired of calling your buddies on the phone, just to check whether &#8220;ICQ is down&#8221;? Tired of the message &#8220;your client cannot handle the protocoll, please update&#8221; which is connected to protocoll changes which again the free (and i especially mean ad-free) clients have to deal with?</p>
<p>Well, todays downtime was the straw, that broke the camels back. Im done with ICQ. Forever!</p>
<p>I wanted to create an XMMP account for ages, but didnt find the time and the motivation to read up on that technique. I didnt do that stuff now either, i just created an account and i am now trying to convert the people i want to stay in touch with to also switch over.</p>
<p>Basically thats the deal: XMPP is an open standard protocoll, which allows instant messaging (and such) in a free and decentralized way. That is, you can run your own server OR you sign up at a public server like jabber.org or in my case jabber.ccc.de. It doesnt really matter which server you use, since the servers communicate with each other, to transmit your message.</p>
<p>Most clients (like Pidgin) should support the XMPP protocol directly or via plugins. The easy routine for the beginning is:</p>
<p>1. Fire up your client and go to the option to manage your accounts</p>
<p>2. Create a new account with your ID (e.g. hanswoerst@myhost.com), a password (which will be saved at the server in plaintext, so trust the server or dont use your bankaccount password [which you shouldnt be doing anyways!!]), and the host (myhost.com). The client should then finish the process of registration, and your ready to go. You might have to search the net for specific instructions for your client. Its probably totally easy!</p>
<p>3. Tell your friends and beloved ones that your not on ICQ anymore but instead on XMPP. Exchange your Jabber ID&#8217;s, and continue chatting</p>
<p>There is a lot more to XMPP, but as i said, i didnt yet get into reading about the kewl stuff. For now, its a good supplement for ICQ. Stuff like Tunnels (which let you use ICQ over Jabber), the fact that most Mailservices let you use your adress as XMPP login (like mytum.de or gmx.de or gmail.com) or security (e.g. <a title="OTR" href="http://www.cypherpunks.ca/otr/help/3.2.0/levels.php?lang=en" target="_blank">OTR</a>) are up to some future research.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chris007.de/?feed=rss2&amp;p=264</wfw:commentRss>
		</item>
		<item>
		<title>Using BASH for network socket operation</title>
		<link>http://blog.chris007.de/?p=238</link>
		<comments>http://blog.chris007.de/?p=238#comments</comments>
		<pubDate>Tue, 08 Jun 2010 15:40:37 +0000</pubDate>
		<dc:creator>BEni</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[bash]]></category>

		<category><![CDATA[network]]></category>

		<category><![CDATA[script]]></category>

		<category><![CDATA[shell]]></category>

		<category><![CDATA[socket]]></category>

		<category><![CDATA[tcp]]></category>

		<category><![CDATA[udp]]></category>

		<guid isPermaLink="false">http://blog.chris007.de/?p=238</guid>
		<description><![CDATA[Use bash to read/write from a network socket without using netcat or so]]></description>
			<content:encoded><![CDATA[<p>In order to solve a programming assignment (send a &#8220;TEST&#8221; to an UDP service and readout the result [beeing "success"]) i looked into socket programming with the BASH command shell.</p>
<p>Here is the code:</p>
<pre># configuration
HOST="127.0.0.1"
PORT="1337"

# define functions
socksend ()
{
	SENDME="$1"
	echo "sending: $SENDME"
	echo -ne "$SENDME" &gt;&amp;5 &amp;
}

sockread ()
{
	LENGTH="$1"
	RETURN=`dd bs=$1 count=1 &lt;&amp;5 2&gt; /dev/null`
}

echo "trying to open socket"
# try to connect
if ! exec 5&lt;&gt; /dev/udp/$HOST/$PORT; then
  echo "`basename $0`: unable to connect to $HOST:$PORT"
  exit 1
fi
echo "socket is open"

# send request
socksend "TEST"

# read 7 bytes for "success"
sockread 7
echo "RETURN: $RETURN"</pre>
<p>The procedure is fairly easy:<br />
- create a filedescriptor (using number 5 because 0,1,2 are for system stdin/stdout/stderr, so i am on the safe side) and link it to the special device /dev/udp (/dev/tcp for tcp connections).<br />
- read/write to the fd</p>
<p>Attention: your bash must be compiled with this feature, otherwise there wont be any /dev/udp or /dev/tcp devices.</p>
<p>My post should answer the question posted here:</p>
<p><a title="linuxquestions.org on blocking read" href="http://www.linuxquestions.org/questions/programming-9/writing-to-and-reading-from-a-socket-from-bash-script-794812/" target="_blank">http://www.linuxquestions.org/questions/programming-9/writing-to-and-reading-from-a-socket-from-bash-script-794812/</a></p>
<p>Also, i stumbled across those pages which where quite helpful for getting started:</p>
<p><a title="basic example of bash networking" href="http://blogmag.net/blog/read/49/Network_programing_with_bash" target="_blank">http://blogmag.net/blog/read/49/Network_programing_with_bash</a></p>
<p><a title="another example of bash networking" href="http://thesmithfam.org/blog/2006/05/23/bash-socket-programming-with-devtcp-2/" target="_blank">http://thesmithfam.org/blog/2006/05/23/bash-socket-programming-with-devtcp-2/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chris007.de/?feed=rss2&amp;p=238</wfw:commentRss>
		</item>
		<item>
		<title>How to turn a T-Online S100 Settop Box into a Server</title>
		<link>http://blog.chris007.de/?p=200</link>
		<comments>http://blog.chris007.de/?p=200#comments</comments>
		<pubDate>Tue, 01 Dec 2009 15:01:38 +0000</pubDate>
		<dc:creator>BEni</dc:creator>
		
		<category><![CDATA[Computers]]></category>

		<category><![CDATA[TheInternet]]></category>

		<category><![CDATA[box]]></category>

		<category><![CDATA[gentoo]]></category>

		<category><![CDATA[install]]></category>

		<category><![CDATA[lfs]]></category>

		<category><![CDATA[s100]]></category>

		<category><![CDATA[server]]></category>

		<category><![CDATA[set]]></category>

		<category><![CDATA[stage3]]></category>

		<category><![CDATA[t-online]]></category>

		<category><![CDATA[tarball]]></category>

		<category><![CDATA[top]]></category>

		<guid isPermaLink="false">http://blog.chris007.de/?p=200</guid>
		<description><![CDATA[Over at my other posts here and here i described how to turn an IBM Netvista 2200 Netclient into a lowpower server and the problems i had with its &#8220;intresting&#8221; hardware (no bootloader, usb1.1, &#8230;).
After my server was down for a couple of weeks i started to look for a replacement system that consumes little [...]]]></description>
			<content:encoded><![CDATA[<p>Over at my other posts <a title="IBM Netvista 2200" href="http://blog.chris007.de/?p=10" target="_blank">here</a> and <a title="New Kernel IBM Netvista 2200" href="http://blog.chris007.de/?p=185" target="_blank">here</a> i described how to turn an IBM Netvista 2200 Netclient into a lowpower server and the problems i had with its &#8220;intresting&#8221; hardware (no bootloader, usb1.1, &#8230;).</p>
<p>After my server was down for a couple of weeks i started to look for a replacement system that consumes little power, is cheap and can run linux nicely. My search brought me to the T-Online S100 Settopbox. It was developed as a PayTV receiver but the program was discontinued so people are getting rid of their boxes. Little do they know that it makes a great server.</p>
<p>Where to get it? Look at Ebay, i got mine for 25Eur which is a good price for this piece of hardware.</p>
<p>The box features:</p>
<p>* 733 Mhz Mobile Celeron CPU<br />
* 128MB Ram<br />
* USB 2.0<br />
* 100Mbit Network<br />
* Power Supply built-in</p>
<p>Since it was used as a TV Box it also features a remote control, cinch sound-out, and various tv (scart, av) outs but no vga out.</p>
<p>So in order to install and configure the server a little hardware modification is useful. If you have a working distribution and know for sure that you can ssh into it once the machine booted, you can change the bios setting to boot from the external usb drive blindly. but since i built my distribution myself thats not part of this posting.</p>
<p>In order to use a monitor you need to build a special VGA cable. The pinlayout is mentioned over at the very useful page <a title="zenega wiki vga" href="http://wiki.zenega-user.de/index.php?title=VGA#VGA-Anschlusskabel" target="_blank">zenega-user.de</a>. It states to connect some pins on the vga side, those are GROUND and according to <a href="http://forum.zenega-user.de/viewtopic.php?f=34&amp;t=6957" target="_blank">this post</a> you can connect 2,4,6 on the S100 side and 5, 6, 7, 8, 10 on the VGA side.</p>
<p>I soldered the cable and drilled a hole for the connector into the top of the box. Works like a charm. While you have your box open, remove the DOM (Disk on module) from the IDE-Slot.</p>
<p>Next step is to properly set the BIOS. On bootup you can enter the BIOS by pressing the DEL key. Its advised to update the BIOS to the latest (109 means 1.09) version. A local copy of the 109-Rom can be found <a href="http://blog.chris007.de/wp-content/uploads/2009/12/s100_bios_109.zip">here</a>, it contains the actual .rom, a dos622 bootdisk image and the amibios updatetool. Password for the archive is: update. <a href="http://forum.zenega-user.de/viewtopic.php?t=4610" target="_blank">This</a> post explains how to update the bios. I used the preinstalled version (107 i think) and updated it later through my linux with flashrom, see below.</p>
<p>When in your BIOS settings, use your keyboard (USB i might add) and cursor over to bootup settings, set &#8220;boot into Windows CE&#8221; to &#8220;no&#8221; and select your usbstick (which is attached in the back) as boot device. After saving your settings, the S100 should try to boot from your usbstick.</p>
<p>Now lets prepare the usbstick with a nice operating system. The following steps where executed on an IBM X31 laptop running Ubuntu 9.04 32Bit. You could run a virtual image (Virtualbox/VMWare) on Windows/Mac if you dont have a linux around.</p>
<p>We are going to prepare a Gentoo system for the S100 but until its ready to use we need to work on our buildsystem/hostsystem. If you never worked with Gentoo or a Gentoo install have the <a title="Gentoo Handbook" href="http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1" target="_blank">Gentoo Handbook</a> open somewhere on the side.</p>
<p>First of all, we will need to download a decent stage3 tarball. So lets create a working directory and go for it. All lines starting with # are executed on your commandline/shell. I would work as superuser (Ubuntu: #sudo su) but its up to you to decide which steps need superrights and which ones can do without.</p>
<pre># mkdir -p /opt/s100gentoo &amp;&amp; cd /opt/s100gentoo</pre>
<p>Now we are getting the stage3 tarball, select a Mirror from <a href="http://www.gentoo.org/main/en/mirrors2.xml">here</a> and look for a recent i686 stage 3 tarball.</p>
<pre># wget -c ftp://gentoo.inode.at/source/releases/x86/autobuilds/current-stage3/stage3-i686-20091124.tar.bz2</pre>
<p>After the download finished we need to extract the tarball</p>
<pre># tar xjvpf stage3-i686-*.tar.bz2</pre>
<p>Now we have the base of our system in /opt/s100gentoo. In order to install and configure it apropriatly for the S100 we will use an chroot environment. I created a little script which mounts the necessary devices into the environment and cleans up after usage. Edit the file &#8220;startGentoo.sh&#8221; and put the following contents into it:</p>
<pre>
#!/bin/bash
cp -L /etc/resolv.conf /opt/s100gentoo/etc/
mount -t proc none /opt/s100gentoo/proc
mount -o bind /dev /opt/s100gentoo/dev
chroot /opt/s100gentoo /bin/bash
umount /opt/s100gentoo/proc
umount /opt/s100gentoo/dev
echo "done"
</pre>
<p>Now make it executable and start it (root needed)</p>
<pre># chmod +x startGentoo.sh &amp;&amp; sudo ./startGentoo.sh</pre>
<p>And taadaa, the terminal should have changed to something like
<pre>hostname / #</pre>
<p>. To distinguish between inputs IN the chroot environment and the hostsystem i will use
<pre>c #</pre>
<p> for chroot commands and
<pre>#</pre>
<p> (as used before) for the host system.</p>
<p>First lets configure the chroot system then update the components and finally install userspace applications. Check if you can connect to the internet (ping or something) and if not consult the handbook for tipps.</p>
<pre>c # env-update &amp;&amp; source /etc/profile</pre>
<p>You might want to set a password for the root user, too</p>
<pre>c # passwd</pre>
<p>Next edit your
<pre>/etc/make.conf</pre>
<p> according to your needs using your favourite editor (like nano or vim). My make.conf is attached at the end of the post.<br />
Next we will update the portage tree, select a profile (10.0 hardened), update the system and install some useful apps.</p>
<pre>
c # emerge --sync --quiet
c # emerge -av portage
c # eselect profile set 5
c # emerge -Dav world
c # rc-update add sshd default
c # rc-update add net.eth0 default
</pre>
<p>The last step will take longer but i happened to come across some Illegal Instructions so recompiling the whole system with the new -march settings is a good idea.<br />
Now its time to install some useful applications. Its up to you what to install, you can look for programs by using </p>
<pre>c # emerge --search foo</pre>
<p>The following apps are installed on my machine (from the top of my head):</p>
<pre>c # emerge -av dhcpcd screen rtorrent lighttpd pciutils usbutils \
libftdi irssi openssh openvpn sudo ccache grub sqlite git subversion \
gentoolkit gitosis php zlib</pre>
<p>Some packages might depend on each other so you have to install them seperatly (one first, then the other, play with the USE variable or mask other packages. See handbook).<br />
You need to configure all the packages accordingly, since every system differs this is not part of my tutorial. Configuring /etc/fstab and /etc/conf.d/net is mandatory for the system to boot later.<br />
Next big todo is building a kernel. I attached my 2.6.31 config at the end, it works but might not be the most optimized. In order to build your own kernel you need to get the kernel sources copy my .config there, create a symlink and make it.</p>
<pre>
c # emerge -av gentoo-sources
c # cd /usr/src/linux-2.6.3*
c # wget http://blog.chris007.de/wp-content/uploads/2009/12/config.txt
c # mv config.txt .config
c # make -j2
</pre>
<p>I attached my kernel at the end. I tried to build everything necessary into the kernel since im not a big fan of modules. Once the kernel built correctly you need to copy it to your boot directory.</p>
<pre>c # cp arch/x86/boot/bzImage /boot/kernel-2.6.31</pre>
<p>If you want to use AuFS (like for /usr/portage) to safe some space you need to patch your kernel sources. </p>
<pre>
c # cd /usr/src/
c # git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git aufs2-standalone.git
c # cd aufs-standalone.git
c # git checkout origin/aufs2-31
</pre>
<p>Now follow &#8220;3. Configuration and Compilation&#8221; (apply two patches, copy files to linuxsource, build it with approriate .config) on the <a href="http://aufs.sourceforge.net/">official AuFS page</a>. See my /etc/fstab on how to use AuFS.</p>
<p>Another important change is related with the frontpanel leds. To tell them to stop blinking after bootup edit the file /etc/conf.d/local.start which will get executed after bootup and before the userprompt. Put the follwing into it:</p>
<pre>
# stop the frontleds from blinking
echo "disabling LED blinking"
/bin/stty 38400 cs8 -parenb -cstopb -F /dev/ttyS1
echo -e '\xa2\xb2\xa2\xb2\xa2\xb2' &gt; /dev/ttyS1
</pre>
<p>If you plan to update the bios from within linux you can install flashrom already via svn:</p>
<pre>
c # cd /root
c # svn co svn://coreboot.org/flashrom/trunk flashrom
c # cd flashrom
c # make
</pre>
<p>Later (beeing on your S100 running linux nicely) you can update your BIOS with the following command (assuming you downloaded the BIOS.bin to the current folder):</p>
<pre>
# flashrom -w BIOS_109.ROM
</pre>
<p>Make sure it verified ok, if you have questions visit the official page <a href="http://flashrom.org/Flashrom">here</a> or ask the nice guys in #flashrom@freenode.</p>
<p>After this step we are ready to prepare the usbstick with our fresh system and test everything. Leave the chroot (exit) and become root (if not already happened). Put the desired usb stick in a free usb port (im using a 4GB usb2.0 stick, costs about 10Eur), see which device it gets mapped to (dmesg and look for /dev/sd*1) and unmount the device if your system automatically mounts it (umount /dev/sdc1). In my case im referring to /dev/sdc as the usb stick and /dev/sdc1 as the first partition on the stick.<br />
<strong>CAREFUL ATTENTION DANGER. If you use a wrong device, you might end up with an empty harddrive. Just wanted to mention that all operations are at your own risk</strong><br />
Next we will format the stick using fdisk</p>
<pre># fdisk /dev/sdc</pre>
<p>In case there was a partition on the stick, delete it (d, 1) and create a new primary one (n, p, 1,enter, enter, t, 83, enter) and check (p) that the stick contains a partition using the whole space of type linux. Make it bootable (a,1) and write the changes to the stick (w).<br />
Next we will create an ext2 filesystem on the device using an high number of inodes and a small blocksize (because we will be having lots of little files). This step might take a while</p>
<pre># mke2fs -b 1024 -I 128 -L "root" -i 1024 /dev/sdc1</pre>
<p>After the filesystem was created we mount the stick to /mnt and copy the filesystem over. You might want to edit your /opt/s100gentoo/boot/grub/menu.lst, mine is attached at the end. The delayroot wait is essential so the kernel can detect the usbstick.</p>
<pre>
# mount /dev/sdc1 /mnt
# cd /opt/s100gentoo
# rsync -a . /mnt/
# echo '(hd0)  /dev/sdc' &gt; /mnt/boot/grub/device.map
# grub-install --root-directory=/mnt /dev/sdc
</pre>
<p>Now you should have a bootable usbstick loaded with your own gentoo system and grub installed. Plug it into your S100 and boot it up. Hopefully it will work like a charm and ask you for a username and password. If not, happy debugging.</p>
<p>Because the box only features 128Mb of ram and some buildoperations (like glibc) need a bit more (will throw weird error messages otherwise) i grabbed an old 2GB usbstick (allthough like 256MB would probably suffice) and turned it into swap. I know it will eventually brake because of the limitted amount of write cycles but then again, its like 2eur. Format the stick with fdisk like above but use the type 82 (Linux swap), write changes with &#8220;w&#8221;. Then use mkswap  to make the partition into a swappartition and swapon  to actually use it. Change your /etc/fstab accordingly and you should be all set.</p>
<p>Below you will find some links which were useful for me and the output of some commands directly from my server. Also you will find some essential configs.</p>
<p>In case you run into any problems feel free to comment here or contact me directly.</p>
<p>Links:<br />
- <a href="http://www.ccac.rwth-aachen.de/~michaels/index.php/hardware/s100">s100 Linux modification</a><br />
- <a href="http://flashrom.org/Flashrom">Flashrom</a><br />
- <a href="http://forum.zenega-user.de/">Zenega Community</a><br />
- <a href="http://aufs.sourceforge.net/">AuFS</a><br />
- <a href="http://www.kkittel.de/s100.html">German site</a></p>
<p>Files:<br />
- <a href='http://blog.chris007.de/wp-content/uploads/2009/12/fstab.txt'>/etc/fstab</a><br />
- <a href='http://blog.chris007.de/wp-content/uploads/2009/12/kernel-2631.zip'>/boot/kernel-2.6.31</a><br />
- <a href='http://blog.chris007.de/wp-content/uploads/2009/12/config.txt'>/usr/src/linux/.config</a><br />
- <a href='http://blog.chris007.de/wp-content/uploads/2009/12/menulst.txt'>/boot/grub/menu.lst</a><br />
- <a href='http://blog.chris007.de/wp-content/uploads/2009/12/makeconf.txt'>/etc/make.conf</a><br />
- <a href='http://blog.chris007.de/wp-content/uploads/2009/12/lspci.txt'>lspci</a><br />
- <a href='http://blog.chris007.de/wp-content/uploads/2009/12/top.txt'>top</a><br />
- <a href='http://blog.chris007.de/wp-content/uploads/2009/12/uname.txt'>uname -a</a><br />
- <a href='http://blog.chris007.de/wp-content/uploads/2009/12/cpuinfo.txt'>cat /proc/cpuinfo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chris007.de/?feed=rss2&amp;p=200</wfw:commentRss>
		</item>
		<item>
		<title>How to boot a decent Kernel on your IBM Netvista 2200 (8363)</title>
		<link>http://blog.chris007.de/?p=185</link>
		<comments>http://blog.chris007.de/?p=185#comments</comments>
		<pubDate>Mon, 16 Nov 2009 23:38:25 +0000</pubDate>
		<dc:creator>BEni</dc:creator>
		
		<category><![CDATA[Computers]]></category>

		<category><![CDATA[2200]]></category>

		<category><![CDATA[8363]]></category>

		<category><![CDATA[ibm]]></category>

		<category><![CDATA[ibm2200]]></category>

		<category><![CDATA[kernel]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[netvista]]></category>

		<category><![CDATA[thin client]]></category>

		<guid isPermaLink="false">http://blog.chris007.de/?p=185</guid>
		<description><![CDATA[So over at this post i described how to in general get linux running on this device.
Since i had some issues with my usbcluster (lvm over 4 usbsticks) i wanted to update udev, which in current versions needs a kernel beyond 2.6.27. Building a 2.6.31 first failed, i searched the net a bit and emailed [...]]]></description>
			<content:encoded><![CDATA[<p>So over at <a href="http://blog.chris007.de/?p=10" target="_blank">this post</a> i described how to in general get linux running on this device.</p>
<p>Since i had some issues with my usbcluster (lvm over 4 usbsticks) i wanted to update udev, which in current versions needs a kernel beyond 2.6.27. Building a 2.6.31 first failed, i searched the net a bit and emailed some people and finally got a response from antonio (big thanks again) forwarding an email from Georg Schiesser who located the troublemaker.</p>
<p>Once again its the missing RTC. Because of the following lines, kernels beyond 2.6.24* wont boot:</p>
<pre>arch/x86/kernel/rtc.c:
/*
* If UIP is clear, then we have &gt;= 244 microseconds before
* RTC registers will be updated.  Spec sheet says that this
* is the reliable way to read RTC - registers. If UIP is set
* then the register access might be invalid.
*/
while ((CMOS_READ(RTC_FREQ_SELECT) &amp; RTC_UIP))
cpu_relax();</pre>
<p>Disabling the last two lines helped. So you have to comment them out, as well as the known patches.</p>
<p>These are:</p>
<pre>drivers/video/geode/gx1fb_core.c

replace the line
static char mode_option[32] = "640x480-16@60";
by
static char mode_option[32] = "1024x768-16@60";</pre>
<p>and</p>
<pre>arch/x86/kernel/setup.c

replace
ROOT_DEV = old_decode_dev(boot_params.hdr.root_dev);

by

ROOT_DEV = Root_SDA1;</pre>
<p>Watch out, normally you hardcode Root_HDA1 which is the CF card with the old ATA drivers. In my kernelconfig im using ATA SFF which maps the CF card to SDA1 and any usb devices to /dev/uba1 and so on. Play with the drivers at own will. You can also disable DMA by changing</p>
<pre>drivers/ata/libata-core.c

static int libata_dma_mask = .... to static int libata_dma_mask = 0;</pre>
<p>after building your kernel, take the file &#8220;vmlinux&#8221; from /usr/src/linux/arch/x86/boot/compressed (with linux -&gt; linux-2.6.31/, i used the vanilla sources) and binary patch it. source i found somewhere is attached. copy it to your /usr/src/linux directory, build it (gcc -o patch.app patch_nvista.c) and start ./patch.app. it should patch the right file and copy the output to /usr/src/linux/kernel.2&#215;00. Use that file to boot.</p>
<p>Problems i am still facing: the new kernel wont boot of my 8GB CF card and i dont want to strip my RootFS that much (next working size is 2GB :(). Im trying to solve that by using a busybox init which mounts an usbstick which contains my rootfs. Disadvantage: its wicked slow! Kind of working version is attached as tar.gz. Just unpack that to a relativly small CF Card and edit to your needs.</p>
<p>Second problem which kind of led to my &#8220;solution&#8221; with the busybox init is that there seems to be some cache-limit the kernel runs into. I just couldnt boot anything beyond 2.5MB (tried embedding an initramfs directly into the kernel but it got too big). So keep that in mind.</p>
<p>Since i dont have enough time right now to test any further this blog entry can be seen as a share of information &#8220;as is&#8221;, so that people can work on it and with it to get their babies a decent kernel. Feel free to contact me tho if you have any questions!</p>
<p>- <a href="http://blog.chris007.de/wp-content/uploads/2009/11/config_linux_2_6_31.txt">config_linux_2_6_31</a><br />
- <a href="http://blog.chris007.de/wp-content/uploads/2009/11/patch_nvista.c">patch_nvista</a><br />
- <a href="http://blog.chris007.de/wp-content/uploads/2009/11/initramfs_rawtar.gz">initramfs</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chris007.de/?feed=rss2&amp;p=185</wfw:commentRss>
		</item>
		<item>
		<title>Sanyo XG-NV2E Beamer - old but working!</title>
		<link>http://blog.chris007.de/?p=162</link>
		<comments>http://blog.chris007.de/?p=162#comments</comments>
		<pubDate>Tue, 31 Mar 2009 17:13:32 +0000</pubDate>
		<dc:creator>chris007</dc:creator>
		
		<category><![CDATA[Projects]]></category>

		<category><![CDATA[Volksbeamer]]></category>

		<category><![CDATA[beamer]]></category>

		<category><![CDATA[fans]]></category>

		<category><![CDATA[lcd]]></category>

		<category><![CDATA[modding]]></category>

		<category><![CDATA[projector]]></category>

		<category><![CDATA[sharp]]></category>

		<category><![CDATA[xenon]]></category>

		<guid isPermaLink="false">http://blog.chris007.de/?p=162</guid>
		<description><![CDATA[The best things are the things you dont have to pay for. Air, Water (not yet), Love (in most cases not), and, my new beamer which has been given me as a gift.
Ok, its probably not a _new_ beamer, but it&#8217;s a new one for me!
I do not know the exact age of my new [...]]]></description>
			<content:encoded><![CDATA[<p>The best things are the things you dont have to pay for. Air, Water (not yet), Love (in most cases not), and, my new beamer which has been given me as a gift.<br />
Ok, its probably not a _new_ beamer, but it&#8217;s a new one for me!<br />
I do not know the exact age of my new toy but I think it&#8217;s about 10 years old, probably one of the first beamers with 3 LCD technology. The lamp inside has done already 1532h of the estimated 2000h. A new lamp is about 450 (!) €.<br />
More information/technical data about it: <a href="http://www.hcinema.de/pro/anzeigen.php?angabe=sharpxgnv2e" target="_blank">here.</a></p>
<p>450 € for a new 120W UHP lamp is much money, especially for such an old machine.</p>
<p>Besides that, it makes a great hullabaloo while working&#8230;<br />
Because it&#8217;s only worth about 75 € (saw it on the Bay), and besides that I usually do not sell gifts, I&#8217;m thinking about modding that thing! Modding? Yes Modding!<br />
A nice place to find information about modding a beamer or build up a really nice beamer from scratch is the <a href="http://www.diy-community.de/" target="_blank">DIY-Community</a>.</p>
<p>First thing I&#8217;ve done after doing a test run was to disassemble it and to take photographs.<br />
Here the results:</p>

<a href='http://blog.chris007.de/?attachment_id=167' title='XG-NV2E'><img src="http://blog.chris007.de/wp-content/uploads/2009/03/p1000223-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://blog.chris007.de/?attachment_id=168' title='XG-NV2E - Rear View'><img src="http://blog.chris007.de/wp-content/uploads/2009/03/p1000230-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://blog.chris007.de/?attachment_id=169' title='XG-NV2E - Bottom View'><img src="http://blog.chris007.de/wp-content/uploads/2009/03/p1000232-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://blog.chris007.de/?attachment_id=170' title='XG-NV2E - 120W UHP Lamp'><img src="http://blog.chris007.de/wp-content/uploads/2009/03/p1000234-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://blog.chris007.de/?attachment_id=171' title='XG-NV2E - Detail of 120W UHP Burner'><img src="http://blog.chris007.de/wp-content/uploads/2009/03/p1000237-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://blog.chris007.de/?attachment_id=174' title='XG-NV2E - Front View Open'><img src="http://blog.chris007.de/wp-content/uploads/2009/03/p1000244-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://blog.chris007.de/?attachment_id=173' title='XG-NV2E - Top View Open'><img src="http://blog.chris007.de/wp-content/uploads/2009/03/p1000242-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://blog.chris007.de/?attachment_id=172' title='XG-NV2E - Rear View Open'><img src="http://blog.chris007.de/wp-content/uploads/2009/03/p1000239-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://blog.chris007.de/?attachment_id=175' title='XG-NV2E - PSU Data'><img src="http://blog.chris007.de/wp-content/uploads/2009/03/p1000246-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>

<p>So, what&#8217;s the plan?</p>
<p>Important is to reduce the noise this thing is generating, so I want to replace the fans inside with newer ones, hopefully more silent ones. But as you can see on the photos, this is probably not so easy. Perhaps I will only replace the fans on the back and  the bottom side, they are blowing out of the housing, so probably the ones you can hear mostly. But, not so easy again, the fan on the bottom side is under the whole electronics inside, you have to remove alle the guts to replace it. A lot of uncomfortable work!</p>
<p>The other thing is the huge price for a new lamp. But other people do not want do pay this much for a new lamp also. The idea: removing the burner out of the reflector of an original lamp and replacing it with a Xenon light.<br />
Xenon lights have the right color temperature and do not consume excessively much power (35 W / 50 W are enough). You can get a Xenon kit (usually used for cars) for about 60-80 €. A kit consists of a Xenon bulb and the ballast you need. You see a replacement bulb is affordable.<br />
The replacement of the UHP burner may be some challenge because it&#8217;s glued in with gypsum and you should glue in the Xenon bulb with gypsum again because of temperature stability reasons.<br />
The ballast is usually driven by 12 V, but I&#8217;ve heard there are also 230 V models available. Inside the beamer there&#8217;s not much space left, so it could be hard to fit the needed electronics in there. Another task is to make the beamer work without the original burner (he will miss it!) and to integrate the lamp in a way that it will turn on and off only when it&#8217;s supposed to be.</p>
<p>You see it&#8217;s no afternoon project, perhaps no weekend project either.</p>
<p>I will look foor some fitting ultra-quiet fans at first - the Xenon part of the modding is delayed until the original lamp dies.</p>
<p>If you have experience doing such things, pls let me know!</p>
<p>Greets</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chris007.de/?feed=rss2&amp;p=162</wfw:commentRss>
		</item>
		<item>
		<title>Using Opentracker - a free, small, fast and powerful tool</title>
		<link>http://blog.chris007.de/?p=154</link>
		<comments>http://blog.chris007.de/?p=154#comments</comments>
		<pubDate>Sun, 22 Feb 2009 17:03:21 +0000</pubDate>
		<dc:creator>BEni</dc:creator>
		
		<category><![CDATA[Computers]]></category>

		<category><![CDATA[bittorrent]]></category>

		<category><![CDATA[install]]></category>

		<category><![CDATA[opentracker]]></category>

		<category><![CDATA[torrent]]></category>

		<category><![CDATA[tracker]]></category>

		<guid isPermaLink="false">http://blog.chris007.de/?p=154</guid>
		<description><![CDATA[What is a tracker in this context? In order to expain that, i need to explain the bittorrent protocoll a little.
Bittorrent as a great and fully legal concept to exchange data. The bad things you hear in the media are cases where people used this concept to exchange data which has copyright on itself.
The principle [...]]]></description>
			<content:encoded><![CDATA[<p>What is a tracker in this context? In order to expain that, i need to explain the bittorrent protocoll a little.</p>
<p>Bittorrent as a great and fully legal concept to exchange data. The bad things you hear in the media are cases where people used this concept to exchange data which has copyright on itself.</p>
<p>The principle is quite easy. You install a bittorrent client, download a small file which contains all the necessary data (ending normally .torrent), tell your client to process that information and it will start to transfer files with other people who want or have that file. So if you made your own movie and want to share it, but are short on bandwidth and/or transferlimit you could make a torrent and in the best case have to share the movie once. Then after taking it down, other peers (people who take part in the sharing) will exchange the parts they have and need. So with higher distribution of your file, new leechers (people who download stuff) will face higher availibilty and probably more downspeed.</p>
<p>But how do peers know which others peers have and offer parts? Thats where the tracker joins the game. The tracker is a central point of communcation (its adress is located in the .torrent file, mentioned above) where all clients connect to (via http) and receive information about other clients. There are some so called &#8220;open trackers&#8221; that allow everybody to announce their files but this article is about the software &#8220;opentracker&#8221; which allows you to run your own tracker.</p>
<p>In order to get your own tracker you need to download, configure, compile and run the software. All ressources and steps can be found here: <a title="Opentracker at Erdgeist" href="http://erdgeist.org/arts/software/opentracker/" target="_blank">opentracker homepage</a>. In short: check out from cvs, edit the Makefile to enable/disable features (for example whitelisting), make, run. You need the libowfat library in order to build opentracker.</p>
<p>Now to run your tracker you need to call the binary. Along can be passed some arguments, that will change its behavior. To tell the tracker to listen on the port 4321 (instead of 6969 by default) and use whitelist.txt as whitelist run:</p>
<p>./opentracker -p 4321 -P 4321 -w whitelist.txt</p>
<p>The file &#8220;whitelist.txt&#8221; contains the hash of each torrent you want to allow, seperated by a newline.</p>
<p>If you are running your tracker behind a router of firewall, be sure to forward/allow the port you have your tracker listening to.</p>
<p>Opentracker also supports some stats. The URL for stats is</p>
<p>http://trackerdomain:port/stats?mode=</p>
<p>followed by the mode you want to know. It could be: peer, conn, scrp, udp4, busy, torr, fscr, herr, top10, renew, syncs, version, startstop, toraddrem.</p>
<p>This information is taken from ot_http.c at about line 160, look for &#8220;static ssize_t http_handle_stats(&#8221;. If you want to restrict access to your stats, remove the comment (#) in the Makefile in front of &#8220;FEATURES+=-DWANT_RESTRICT_STATS&#8221;. Opentracker also supports <a title="MRTG" href="http://oss.oetiker.ch/mrtg/" target="_blank">mrtg</a> for visualisation of statistic data.</p>
<p>To quit opentracker, just kill it (ctrl+c or kill -9 &lt;pid&gt;).</p>
<p>Too bad there is only little to no documentation about this great piece of software. But its so efficient with ressources that even The Pirate Bay uses it for their trackers, and they are the &#8220;worlds biggest tracker&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chris007.de/?feed=rss2&amp;p=154</wfw:commentRss>
		</item>
		<item>
		<title>Kinda like Guitar Hero</title>
		<link>http://blog.chris007.de/?p=138</link>
		<comments>http://blog.chris007.de/?p=138#comments</comments>
		<pubDate>Mon, 16 Feb 2009 19:20:15 +0000</pubDate>
		<dc:creator>BEni</dc:creator>
		
		<category><![CDATA[TheInternet]]></category>

		<category><![CDATA[addiction]]></category>

		<category><![CDATA[controller]]></category>

		<category><![CDATA[frets on fire]]></category>

		<category><![CDATA[game]]></category>

		<category><![CDATA[guitar]]></category>

		<category><![CDATA[guitar hero]]></category>

		<category><![CDATA[jamlegend]]></category>

		<category><![CDATA[wireless]]></category>

		<category><![CDATA[xbox]]></category>

		<guid isPermaLink="false">http://blog.chris007.de/?p=138</guid>
		<description><![CDATA[So you know that game where you hit some colored buttons on a plastic guitar and play along kewl songs on the Playstation or Xbox?
The thing is, you need a console for that and it costs money to buy the game and/or the guitar. Solution?
Well, the guys over at JamLegend.com solved that problem by providing [...]]]></description>
			<content:encoded><![CDATA[<p>So you know that game where you hit some colored buttons on a plastic guitar and play along kewl songs on the Playstation or Xbox?</p>
<p>The thing is, you need a console for that and it costs money to buy the game and/or the guitar. Solution?</p>
<p>Well, the guys over at <a title="JamLegend" href="http://www.jamlegend.com/refer/li/117663" target="_blank">JamLegend.com</a> solved that problem by providing a game which only needs your browser (flashbased) and the keyboard. So thats 2 out of 2 requirements pretty much every computer meets today. Im running it within Firefox3 on Windows XP since Flash seems to have problems on my Ubuntu Laptop. And when you have the music lagging behind the keys, its no fun. Believe me!</p>
<p>The principle is simple: you put your fingers around the keyboard like you would around a guitar (no must, do however you like to!), and strum the string with the enter key. Notes are &#8220;falling&#8221; from the top, and as soon as they pass the field on the buttom, you have to hit them.</p>
<p>There are different difficulties (normal to legendary) and modes (tab and strum), as well as a ranking system, friends community, ability to submit your own songs, duellmode, showdownmode and more to come and all: FOR FREE. If you doubt its something youd like, just play without signing up.</p>
<p>After playing a little with the keyboard i decided i need to have one of those guitars. They are about 40Eur at <a title="Amazon.de" href="http://www.amazon.de/gp/product/B000W15WCI" target="_blank">Amazon</a>. I chose the wireless version since i want to be able to move freely whilst playing a good song. In order to get the xbox controller working on your PC, you need a special receiver (tried bluetooth and WLAN, didnt work) which you can get bundled with a regular controller also at <a title="Amazon Receiver" href="http://www.amazon.de/gp/product/B000H7FCB8" target="_blank">Amazon</a> for again 40Eur. That makes 80 plus some postage, but you can of course sell the controller again.</p>
<p>Once you have everything beside you, you need to install the XBox Windows drivers (should come along on a CD or check <a title="Microsoft.com " href="http://www.microsoft.com/hardware/download/download.aspx?category=Gaming" target="_blank">Microsoft</a>) and some software to map Joysticksignals to normal keyboard inputs.</p>
<p>I came across <a title="Joy2Key at Sourceforge" href="http://sourceforge.net/projects/joy2key/" target="_blank">Joy2Key</a>, of which you can find a windows-build <a title="Joy2Key Windows Build" href="http://www.electracode.com/4/joy2key/JoyToKey%20English%20Version.htm" target="_blank">here</a>. The problem with Joy2Key is, that it cant map the CoolieHat as which the strumming button is recognized. At least i didnt find a way. Thats why i tried <a title="JoyCur" href="http://www.deinmeister.de/jct.htm" target="_blank">JoyCur</a>. Its a tiny program (35kB) that can map every function of the Joystick/Gamepad/Guitar to keyboard strikes. Very good, thanks to that, im ready to map all my keys to play Jamlegend with my Guitar Hero controller. AWESOME!</p>
<p>If you want a standalone program like GuitarHero but cant afford it, check out <a title="Frets on Fire" href="http://fretsonfire.sourceforge.net/" target="_blank">Frets on Fire</a>. But dont take the newest (1.3.something) version, its full of bugs. Rather look through the forums to find an old stable version and get some songs from there, while you are at it.</p>
<p>Im happy with my setup, i inspired lots of friends already, maybe you&#8217;ll have some fun as well!</p>
<p>Here some results, just to show you what it looks and sounds like =)</p>
<p><a href="http://www.youtube.com/watch?v=xk8uK_Ka0jA">Canon Rock on Jamlegend.com</a></p>
<p>Happy Jamming!</p>
<p>PS: Attention! High risk of addiction! Seriously!</p>
<p>Check out: http://www.southparkzone.com/episodes/1113/Guitar-Queer-o.html</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chris007.de/?feed=rss2&amp;p=138</wfw:commentRss>
		</item>
		<item>
		<title>Google is overprotective</title>
		<link>http://blog.chris007.de/?p=127</link>
		<comments>http://blog.chris007.de/?p=127#comments</comments>
		<pubDate>Sat, 31 Jan 2009 15:18:46 +0000</pubDate>
		<dc:creator>BEni</dc:creator>
		
		<category><![CDATA[TheInternet]]></category>

		<category><![CDATA[attack]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[hacker]]></category>

		<category><![CDATA[malware]]></category>

		<guid isPermaLink="false">http://blog.chris007.de/?p=127</guid>
		<description><![CDATA[Outch, whats going wrong here?
When searching google it &#8216;protects&#8217; you from every link (see screenshot). Thats pretty uncomfortable since you have to copy+paste every link.
The reason seems to be that stopbadware.org is down, so google declares the internet as malware.
think some people will have to find a new job, since the advantage of google, beeing [...]]]></description>
			<content:encoded><![CDATA[<p>Outch, whats going wrong here?</p>
<p>When searching google it &#8216;protects&#8217; you from every link (see screenshot). Thats pretty uncomfortable since you have to copy+paste every link.</p>
<div id="attachment_129" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.chris007.de/wp-content/uploads/2009/01/screenshot-google-malware-google-suche-mozilla-firefox1.png"><img class="size-medium wp-image-129" src="http://blog.chris007.de/wp-content/uploads/2009/01/screenshot-google-malware-google-suche-mozilla-firefox1-300x149.png" alt="Google declares the internet to beeing malware" width="300" height="149" /></a><p class="wp-caption-text">Google declares the internet to beeing malware</p></div>
<p>The reason seems to be that stopbadware.org is down, so google declares the internet as malware.</p>
<div id="attachment_130" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.chris007.de/wp-content/uploads/2009/01/screenshot-malware-warnung-mozilla-firefox.png"><img class="size-medium wp-image-130" src="http://blog.chris007.de/wp-content/uploads/2009/01/screenshot-malware-warnung-mozilla-firefox-300x150.png" alt="Yahoo is malware!" width="300" height="150" /></a><p class="wp-caption-text">Yahoo is malware!</p></div>
<p>think some people will have to find a new job, since the advantage of google, beeing fast and direct is now gone and people use alternatives like yahoo search or metacrawler.</p>
<p>lets see what waves this incident will make, im curiously waiting for an official statement. maybe hackers found this vulnerability?</p>
<p>see also: <a title="German Online Press Heise noticed the error" href="http://www.heise.de/newsticker/Google-warnt-bei-allen-Suchtreffern-vor-Malware--/meldung/126681" target="_blank">http://www.heise.de/newsticker/Google-warnt-bei-allen-Suchtreffern-vor-Malware&#8211;/meldung/126681</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chris007.de/?feed=rss2&amp;p=127</wfw:commentRss>
		</item>
		<item>
		<title>Art?</title>
		<link>http://blog.chris007.de/?p=122</link>
		<comments>http://blog.chris007.de/?p=122#comments</comments>
		<pubDate>Sun, 25 Jan 2009 15:18:16 +0000</pubDate>
		<dc:creator>BEni</dc:creator>
		
		<category><![CDATA[Art]]></category>

		<category><![CDATA[cigarette]]></category>

		<category><![CDATA[comic]]></category>

		<category><![CDATA[stone age]]></category>

		<guid isPermaLink="false">http://blog.chris007.de/?p=122</guid>
		<description><![CDATA[So sometimes when i think about something funny, i try to draw it, i know it sucks, but with 6.5 billion people on the world and with 1/5 of them beeing connected to the internet, the chances are pretty high somebody will get a funny second out of it. And just to maximalize the chances, [...]]]></description>
			<content:encoded><![CDATA[<p>So sometimes when i think about something funny, i try to draw it, i know it sucks, but with 6.5 billion people on the world and with 1/5 of them beeing connected to the internet, the chances are pretty high somebody will get a funny second out of it. And just to maximalize the chances, heres the translation: &#8220;Can you give me a light&#8221;.</p>
<p><a href="http://blog.chris007.de/wp-content/uploads/2009/01/haste_mal_feuer1.png"><img class="aligncenter size-medium wp-image-124" src="http://blog.chris007.de/wp-content/uploads/2009/01/haste_mal_feuer1-300x225.png" alt="" width="300" height="225" /></a></p>
<p>Actually i just wanted to post something again and since the picture was rotting on my desktop i wanted to clean it away.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chris007.de/?feed=rss2&amp;p=122</wfw:commentRss>
		</item>
		<item>
		<title>Linux is quietly braking my harddrive</title>
		<link>http://blog.chris007.de/?p=115</link>
		<comments>http://blog.chris007.de/?p=115#comments</comments>
		<pubDate>Wed, 08 Oct 2008 19:07:01 +0000</pubDate>
		<dc:creator>BEni</dc:creator>
		
		<category><![CDATA[Computers]]></category>

		<category><![CDATA[bug]]></category>

		<category><![CDATA[harddrive]]></category>

		<category><![CDATA[ibm]]></category>

		<category><![CDATA[laptop]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[patch]]></category>

		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.chris007.de/?p=115</guid>
		<description><![CDATA[So i wondered if linux could be the reason for my laptop battery draining so fast. During my search through the web i found this intresting Article: German Ubuntu-Wiki on Harddrivebug
Because of a bug in the acpi-settings, harddrives in laptops are told to park their read/write head, allthough there is no need to while beeing [...]]]></description>
			<content:encoded><![CDATA[<p>So i wondered if linux could be the reason for my laptop battery draining so fast. During my search through the web i found this intresting Article: <a title="laptop harddrive bug" href="http://wiki.ubuntuusers.de/Notebook-Festplatten-Bug" target="_blank">German Ubuntu-Wiki on Harddrivebug</a></p>
<p>Because of a bug in the acpi-settings, harddrives in laptops are told to park their read/write head, allthough there is no need to while beeing on AC. In order to save battery it makes sense to park the head while in batterymode though. Since the parking procedure is limitted bei abraison, its good to help the hardrive survive.</p>
<p>This can be achieved by installing a script which checks if the laptop is running on AC or battery and then uses hdparm to set the harddrive into power saving mode or not. Its described in the above mentioned link <a title="Fix harddrive crasher" href="http://wiki.ubuntuusers.de/Notebook-Festplatten-Bug#Dauerhafte-Methode-1:-Debian-Fix" target="_blank">here</a>.</p>
<p>I have a rather new harddrive in my laptop (IBM X31) which i leave on AC practically 24/7. I just checked with the following command:</p>
<pre>sudo smartctl -A /dev/sdX | grep -E "(Load_Cycle_Count|ID)" &amp;&amp; date</pre>
<p>and the outcome is a little concerning:</p>
<pre>root@x31:/# smartctl -A /dev/sda | grep -E "(Load_Cycle_Count|ID)" &amp;&amp; date
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
193 Load_Cycle_Count        0x0012   001   001   000    Old_age   Always       -       1593642
225 Load_Cycle_Count        0x0012   001   001   000    Old_age   Always       -       1593642
Wed Oct  8 20:42:53 CEST 2008</pre>
<p>RAW_VALUE is the actual count of parkings the head did in his lifetime. Manufacturers claim that harddrives have between 300k and 600k cycles. I already have 1.6M.<br />
VALUE should be 100, the closer it gets to 0 the more cycles the head had and the more likely a harddrive crash is.</p>
<p>After applying the patch and rebooting i havent had a single parking yet, lets see if now the temprature of the harddrive becomes a problem. Im definatly overdue for a big backup!</p>
<p>My advice: do the patch, or at least check your cycles!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chris007.de/?feed=rss2&amp;p=115</wfw:commentRss>
		</item>
	</channel>
</rss>
