<?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>BitProcessor IT Consulting</title>
	<atom:link href="http://www.bitprocessor.be/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bitprocessor.be</link>
	<description></description>
	<lastBuildDate>Fri, 27 Apr 2012 08:41:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Hide the Skydrive icon from the MacOS X dock</title>
		<link>http://www.bitprocessor.be/2012/04/27/hide-the-skydrive-icon-from-the-macos-x-dock/</link>
		<comments>http://www.bitprocessor.be/2012/04/27/hide-the-skydrive-icon-from-the-macos-x-dock/#comments</comments>
		<pubDate>Fri, 27 Apr 2012 08:35:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[SkyDrive]]></category>

		<guid isPermaLink="false">http://www.bitprocessor.be/?p=352</guid>
		<description><![CDATA[<p></p> <p>What&#8217;s not to like about <a title="SkyDrive" href="https://skydrive.live.com/" target="_blank">Microsoft SkyDrive</a>? Early adopters, or in other words, people that signed up for a free SkyDrive account before April 23rd 2012, can keep their 25GB online storage forever if they ask(ed) for it.</p> <p>As a Mac user, I was happy to see they launched a MacOS X [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-353" title="Skydrive-Logo" src="http://www.bitprocessor.be/wp-content/uploads/2012/04/Skydrive-Logo.jpg" alt="" width="150" height="103" /></p>
<p>What&#8217;s not to like about <a title="SkyDrive" href="https://skydrive.live.com/" target="_blank">Microsoft SkyDrive</a>? Early adopters, or in other words, people that signed up for a free SkyDrive account before April 23rd 2012, can keep their 25GB online storage forever if they ask(ed) for it.</p>
<p>As a Mac user, I was happy to see they launched a MacOS X compatible client application for SkyDrive. There was just one little thing that bothered me: I don&#8217;t want that SkyDrive icon sitting in my Dock all the time while it&#8217;s running. The small B&amp;W status icon in the menu bar is enough for me.</p>
<p>There is a quick fix however, just open up a Terminal window and type the following:</p>
<p><code>defaults write /Applications/SkyDrive.app/Contents/Info.plist LSUIElement 1</code></p>
<p>If SkyDrive was already running, just close it and start it again. You&#8217;ll see that the Dock icon is gone !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitprocessor.be/2012/04/27/hide-the-skydrive-icon-from-the-macos-x-dock/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Hema &#8220;Always Ready&#8221; 2100mAh</title>
		<link>http://www.bitprocessor.be/2012/04/10/hema-always-ready-2100mah/</link>
		<comments>http://www.bitprocessor.be/2012/04/10/hema-always-ready-2100mah/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 20:48:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.bitprocessor.be/?p=344</guid>
		<description><![CDATA[<p><br /> Brand: Hema &#8211; Type: Always Ready 2100mAh<br /> Battery Type: NiMH LSD<br /> Advertised capacity: 2100mAh<br /> Advertised capacity after 12 months: 80% of 2100mAh</p> <p>Tests were conducted using a Maha Powerex MH-C9000</p> <p>Initial capacity, measured with the &#8220;Discharge&#8221; mode on the Powerex,<br /> using different discharge speeds:</p> <p>Battery 1 &#8211; discharged at [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-348" title="Hema Always Ready 2100mAh" src="http://www.bitprocessor.be/wp-content/uploads/2012/04/oplaadbare-batterijen-always-ready-aa-41220501-big.jpg" alt="Hema Always Ready 2100mAh" width="235" height="260" /><br />
Brand: Hema &#8211; Type: Always Ready 2100mAh<br />
Battery Type: NiMH LSD<br />
Advertised capacity: 2100mAh<br />
Advertised capacity after 12 months: 80% of 2100mAh</p>
<p>Tests were conducted using a Maha Powerex MH-C9000</p>
<p>Initial capacity, measured with the &#8220;Discharge&#8221; mode on the Powerex,<br />
using different discharge speeds:</p>
<p>Battery 1 &#8211; discharged at 100mA: 1893mAh<br />
Battery 2 &#8211; discharged at 200mA: 1804mAh<br />
Battery 3 &#8211; discharged at 500mA: 1766mAh<br />
Battery 4 &#8211; discharged at 1000mA: 1718mAh</p>
<p>It is unknown when these batteries were produced and how much time they spent in the store.<br />
All values are above the 80% range (0.8 x 2100 = 1680).</p>
<p>After a &#8220;Break-in&#8221; on the Powerex, the batteries all reached their advertised capacity:</p>
<p>Battery 1: 2102mAh<br />
Battery 2: 2092mAh<br />
Battery 3: 2106mAh<br />
Battery 4: 2105mAh</p>
<p>Is this a good buy ? Well, to be certain, the batteries should be stored unused and tested again in one year. That apart, the not-that-bad-capacity straight from the store, their price (EUR 9.95 in NL / EUR 11 in BE) and the real capacity matching the advertised capacity all seem to make these batteries a good buy.</p>
<p>Future will tell how &#8220;LSD&#8221; they really are: they will be used in a wireless keyboard &amp; mouse &#8211; running endlessly on Alkaline batteries, but terrible with classic NiMH batteries because of the high self-discharge rate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitprocessor.be/2012/04/10/hema-always-ready-2100mah/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alix 2D13 &amp; Debian Squeeze</title>
		<link>http://www.bitprocessor.be/2011/11/13/alix-2d13-debian-squeeze/</link>
		<comments>http://www.bitprocessor.be/2011/11/13/alix-2d13-debian-squeeze/#comments</comments>
		<pubDate>Sun, 13 Nov 2011 20:31:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://txt.bitprocessor.be/?p=202</guid>
		<description><![CDATA[<p>This post will explain the steps needed to get <a title="Debian" href="http://www.debian.org/" target="_blank">Debian</a> 6 (Squeeze) running on an Alix 2D13 from <a title="PC Engines" href="http://pcengines.ch/" target="_blank">PC Engines</a> (it might also work for other models). They are based on information I found on other pages on the internet. However, when following the steps explained on these pages [...]]]></description>
			<content:encoded><![CDATA[<p>This post will explain the steps needed to get <a title="Debian" href="http://www.debian.org/" target="_blank">Debian</a> 6 (Squeeze) running on an Alix 2D13 from <a title="PC Engines" href="http://pcengines.ch/" target="_blank">PC Engines</a> (it might also work for other models). They are based on information I found on other pages on the internet. However, when following the steps explained on these pages I encountered one or more problems and decided to write a blog post of my own. The steps described in the post were used by myself &#8211; step-by-step &#8211; and checked multiple times.</p>
<p>We will assume the following:</p>
<ul>
<li>You have a working setup with Debian 6 (32 or 64 bit doesn&#8217;t matter) with internet connection</li>
<li>A CF card of minimum 1GB is connected to you computer, device name is /dev/sdb</li>
</ul>
<p><strong>Partitioning and formatting the flash card</strong><br />
Create a single partition on the flash card and put an ext2 filesystem on it. Don&#8217;t forget to erase any existing partitions first. Afterwards, mount the newly create filesystem. Note that we are using an Ext2 filesystem. Using a journaled filesystem such as Ext3 is not a good idea, as this creates extra wear on your flash card.</p>
<pre>fdisk /dev/sdb
mkfs.ext2 /dev/sdb1
mkdir /mnt/cf
mount /dev/sdb1 /mnt/cf</pre>
<pre></pre>
<p>&nbsp;</p>
<p><strong>Loading a basic debian system on the CF </strong></p>
<pre>debootstrap --arch i386 squeeze /mnt/cf http://ftp.debian.org/debian</pre>
<p>&nbsp;</p>
<p><strong>Mount special filesystems and chroot</strong></p>
<pre>mount -t proc none /mnt/cf/proc
mount -t sysfs none /mnt/cf/sys
mount -o bind /dev /mnt/cf/dev/
LC_ALL=C chroot /mnt/cf /bin/bash
mount devpts /dev/pts -t devpts</pre>
<p>&nbsp;</p>
<p><strong>Filesystems</strong><br />
In order to minimize wear on the flash card, <em>noatime</em> was added to the mount options. This prevents the filesystem from updating access times. The <em>tmpfs</em> memory filesystem was used for some of the folders, basically for the same reason (minimize wear). The CF will be <em>/dev/sda</em> once installed in the Alix. Edit the file <em>/etc/fstab</em> :</p>
<pre>proc /proc proc noatime,defaults 0 0
/dev/sda1 / ext2 noatime,defaults 0 1
tmpfs /tmp tmpfs noatime,defaults 0 0
tmpfs /var/tmp tmpfs noatime,defaults 0 0
tmpfs /var/run tmpfs noatime,defaults 0 0
tmpfs /var/log tmpfs noatime,defaults 0 0
tmpfs /var/lock tmpfs noatime,defaults 0 0</pre>
<p>&nbsp;</p>
<p><strong>Network configuration</strong><br />
Edit the file <em>/etc/network/interfaces</em>. The example below will configure one of the network interfaces with IP address 192.168.1.250. Feel free to edit these values for your specific situation.</p>
<pre>auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
   address 192.168.1.250
   netmask 255.255.255.0</pre>
<p>&nbsp;</p>
<p><strong>Serial console</strong><br />
Disable TTYs and put a getty on the serial console. Edit the file <em>/etc/inittab </em>:</p>
<pre>#1:2345:respawn:/sbin/getty 38400 tty1
#2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6

T0:23:respawn:/sbin/getty -L ttyS0 38400 vt100</pre>
<p>&nbsp;</p>
<p><strong>Grub: preparations</strong><br />
Install the grub package on the CF and create the file <em>menu.lst</em>, which will be used later on. Don&#8217;t configure grub at this stage.</p>
<pre>apt-get install grub
cp /usr/lib/grub/i386-pc/* /boot/grub</pre>
<p>&nbsp;</p>
<p>Create /boot/grub/menu.lst (flash card will be <em>sda</em> on Alix):</p>
<pre>default 0
timeout 5

serial --unit=0 --speed=38400 --word=8 --parity=no --stop=1
terminal --timeout=5 serial console

title Debian
root (hd0,0)
kernel /vmlinuz root=/dev/sda1 ro console=ttyS0,38400n8
initrd /boot/initrd.img</pre>
<p>&nbsp;</p>
<p><strong>Install the kernel</strong><br />
We will install a 486 kernel, as this seems to be the best option for the CPU present in the Alix. More information about this can be found via the links at the bottom of this post.</p>
<pre>apt-get install linux-image-486</pre>
<p>&nbsp;</p>
<p><strong>Final customizations</strong><br />
Change the root password:</p>
<pre>passwd root</pre>
<p>&nbsp;</p>
<p>Install the SSH server daemon. You can skip this skip if console access via serial connection is sufficient.</p>
<pre>apt-get install openssh-server</pre>
<p>&nbsp;</p>
<p>Disable udev network interface rules:</p>
<pre>rm /etc/udev/rules.d/70-persistent-net.rules
chmod 444 /lib/udev/write_net_rules</pre>
<p>&nbsp;</p>
<p>Configure the locale to en_US.UTF-8:</p>
<pre>apt-get install locales
dpkg-reconfigure locales</pre>
<p>&nbsp;</p>
<p>Create the file setlocale.sh in /etc/profile.d, with the following contents:</p>
<pre>#!/bin/bash
export LC_ALL=en_US.UTF-8</pre>
<p>&nbsp;</p>
<p><strong>Final steps before booting the Alix</strong></p>
<pre>umount /dev/pts</pre>
<p>&nbsp;</p>
<p>Exit the chroot &amp; umount special filesystems:</p>
<pre>exit
umount /mnt/cf/proc
umount /mnt/cf/sys
umount /mnt/cf/dev/</pre>
<p>&nbsp;</p>
<p>Install grub in the MBR &amp; umount the flash card:</p>
<pre>grub-install --no-floppy --root-directory=/mnt/cf /dev/sdb
umount /mnt/cf</pre>
<p>&nbsp;</p>
<p><strong>Ready&#8230; Set&#8230; GO&#8230; </strong><br />
Install the flash card in the Alix at this point, and power up the machine. Hook up a serial cable to see what&#8217;s happening. Set serial terminal to 38400baud 8n1. You should see some output from the BIOS, followed by a message from GRUB that it is loading. After a few moments, you&#8217;ll see a login prompt. At this point, you can&#8217;t see any output from the kernel. We&#8217;ll change this now.</p>
<p>Login with the root user and the password you picked in one of the previous steps. Next, edit the file <em>/etc/default/grub </em>:</p>
<pre>GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0,38400n8"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=38400 --unit=0 --word=8 --parity=no --stop=1"</pre>
<p>&nbsp;</p>
<p>Now run:</p>
<pre>update-grub</pre>
<p>&nbsp;</p>
<p>Reboot the Alix. You should now see a nice bootmenu and all kernel-output.<br />
<strong></strong></p>
<p><strong>Links</strong></p>
<ul>
<li><a href="https://mseiwald.at/doc/alix/installation">https://mseiwald.at/doc/alix/installation</a></li>
<li><a href="http://kristof.vanhertum.be/?p=3">http://kristof.vanhertum.be/?p=3</a></li>
<li><a href="http://wiki.soekris.info/Installing_Ubuntu_7.04_Server_via_debootstrap">http://wiki.soekris.info/Installing_Ubuntu_7.04_Server_via_debootstrap</a></li>
<li><a href="http://www.twam.info/hardware/chost-i586-vs-i486-on-amd-geode-lx">http://www.twam.info/hardware/chost-i586-vs-i486-on-amd-geode-lx</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bitprocessor.be/2011/11/13/alix-2d13-debian-squeeze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up NAT64 &amp; DNS64</title>
		<link>http://www.bitprocessor.be/2011/05/31/setting-up-nat64-dns64/</link>
		<comments>http://www.bitprocessor.be/2011/05/31/setting-up-nat64-dns64/#comments</comments>
		<pubDate>Tue, 31 May 2011 09:33:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[dns64]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nat64]]></category>
		<category><![CDATA[tayga]]></category>
		<category><![CDATA[totd]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://txt.bitprocessor.be/?p=173</guid>
		<description><![CDATA[<p>In this post, I will try to explain how to setup NAT64 &#38; DNS64 in order to enable an IPv6 LAN (no IPv4 enabled) to talk to a mixed IPv4 en IPv6 Internet. It is assumed that there are no IPv4 hosts left in the LAN. In the setup there is one gateway for both [...]]]></description>
			<content:encoded><![CDATA[<p>In this post, I will try to explain how to setup NAT64 &amp; DNS64 in order to enable an IPv6 LAN (no IPv4 enabled) to talk to a mixed IPv4 en IPv6 Internet.  It is assumed that there are no IPv4 hosts left in the LAN. In the setup  there is one gateway for both native IPv6 traffic and translated (NAT64) IPv4 traffic. This gateway is also the DNS64 server.</p>
<p><strong> Operating system and packages</strong><br />
The setup was built using <a href="http://www.ubuntu.com/" target="_blank">Ubuntu</a> 10.04 server, using the following packages:</p>
<ul>
<li> Router Advertisements: <a href="http://www.litech.org/radvd/" target="_blank">RADVD</a> (available via ubuntu package manager)</li>
<li>DNS64: <a href="http://www.dillema.net/software/totd.html" target="_blank">TOTD</a> (available via ubuntu package manager)</li>
<li>NAT64: <a href="http://www.litech.org/tayga/" target="_blank">TAYGA</a> (<a href="http://ubuntu.wikimedia.org/ubuntu/pool/universe/t/tayga/" target="_blank">available here as a package</a>)</li>
<li>DHCPv6: WIDE-DHCPV6-SERVER (available via ubuntu package manager)</li>
</ul>
<p><strong>Interfaces &amp; prefixes</strong><br />
The following interfaces &amp; prefixes were used (replace values by your own where needed):</p>
<ul>
<li>Assigned IPv6 subnet: 4000:0:0::/48</li>
<li>LAN IPv6 subnet : 4000:0:0:1::/64</li>
<li>LAN interface: eth4</li>
<li>IPv4 Internet interface: eth0</li>
<li>NAT64 tunnel interface: nat64</li>
<li>6to4 NAT range: 4000:0:0:2:EEEE::/96 (should be within your own subnet)</li>
<li>GW IP: 4000:0:0:1::1/64</li>
<li>An Internet based DNS server with IP 99.99.99.99</li>
</ul>
<p><strong>RADVD &amp; DHCPv6 configuration</strong><br />
RADVD will take care of sending Router Advertisements to the clients, enabling SLAAC (Stateless Address Auto-configuration). Is should be configured like this (/etc/radvd.conf):</p>
<pre>interface eth4
{
    AdvSendAdvert on;
    AdvManagedFlag off;     //stateless autoconfiguration
    AdvOtherConfigFlag on;  //clients get extra parameters via DHCPv6
    MaxRtrAdvInterval 10;   //resend RA @ random times, max 10sec delay
    prefix 4000:0:0:1::/64  //announce prefix to clients
    {
        AdvOnLink on;
        AdvAutonomous on;
    };
    RDNSS 4000:0:0:1::1
    {
    };
};</pre>
<p>&nbsp;</p>
<p>While the RDNSS messages are sufficient for some operating systems like iOS and Linux (with extra rdnssd packages), others need their DNS via DHCPv6 (such as Windows 7). Mac OS X doesn’t listen to any of them and needs a manual DNS configuration.<br />
The DHCPv6 configuration is rather simple. Put the following line in /etc/wide-dhcpv6/dhcp6s.conf:</p>
<pre>option domain-name-servers 4000:0:0:1::1;</pre>
<p>&nbsp;</p>
<p><strong>DNS64: TOTD</strong><br />
The TOTD package is a DNS64 + forwarding daemon (it doesn’t handle DNS itself):</p>
<ul>
<li> If an AAAA request is made for a hostname that has AAAA records, the original AAAA record is returned</li>
<li>If an AAAA request is made for a hostname that only has an A record, TOTD will translate the original A record (holding an IPv4 address) into an IPv6 record, using the prefix configured in its configuration file (/etc/totd.conf) :</li>
</ul>
<pre>forwarder 99.99.99.99 port 53   //forward DNS requests to this server
prefix 4000:0:0:2:EEEE::        //this prefix is used for translation
port 53</pre>
<p>&nbsp;</p>
<p><strong>NAT64: TAYGA</strong><br />
The TAYGA package takes care of the NAT64 process. Whenever DNS64 returns a translated address to a client, it connects to the newly generated IPv6 address through its default GW. The GW itself sends the package to his nat64 tunnel interface which is managed by the TAYGA daemon. The daemon creates a mapping between the IPv6 address of the client computer and an IPv4 address of the private address range, as configured. As a last step, the IPv6 address as returned by DNS64 is translated back to the original IPv4 address and sent out to the Internet, using normal NAT44.<br />
This is how it’s configured:<br />
Create the following configuration file (/etc/tayga.conf):</p>
<pre>tun-device nat64              //name of the NAT64 tunnel device
ipv4-addr 172.16.254.1        //IP address of the remote tunnel endpoint
prefix 4000:0:0:2:EEEE::/96   //IPv6 prefix of translated IPv4 addresses
dynamic-pool 172.16.254.0/24  //pool for mapping IPv6 client &lt;-&gt; IPv4</pre>
<p>&nbsp;</p>
<p>Next, let TAYGA create the tunnel device and add the necessary IP addresses &amp; routes:</p>
<pre>tayga --mktun                               //create tunnel devices
ip link set nat64 up
ip addr add 172.16.0.1 dev nat64            //local endpoint of the tunnel
ip addr add 4000:0:0:1::1 dev nat64         //same IP as GW
ip route add 172.16.254.0/24 dev nat64      //send through tunnel
ip route add 4000:0:0:2:EEEE::/96 dev nat64 //send through tunnel
tayga -d</pre>
<p>(or use /etc/init.d/tayga start &#8211; the -d option gives some debugging information)</p>
<p>The translated (IPv4) packets will be sent to the default GW for IPv4 connectivity. The only thing left is to translate the source address (the local IPv4 endpoint address of the nat64 tunnel) to the public IPv4 address of your internet interface. This is done with IPTABLES:</p>
<pre>iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o nat64
                    -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i nat64 -o eth0 -j ACCEPT</pre>
<p>&nbsp;</p>
<p><strong>IP Forwarding</strong><br />
If you haven’t done so already, turn on IP forwarding on the gateway:</p>
<pre>echo 1 &gt; /proc/sys/net/ipv4/conf/all/forwarding
echo 1 &gt; /proc/sys/net/ipv6/conf/all/forwarding</pre>
<p>(can also be done via sysctl commands etc…)</p>
<p><strong>Debugging</strong></p>
<ul>
<li>To check if the DNS64 is working correctly, try doing some nslookup&#8217;s (or dig). Hostnames that normally do not return an AAAA record should now return a &#8220;fake&#8221; one with a value within the configured range. If that&#8217;s not happening, first check your /etc/resolv.conf on your local machine to see if it points to the correct server</li>
<li>NAT64 problems can be checked by running tcpdump on your gateway, especially on the nat64 tunnel interface</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bitprocessor.be/2011/05/31/setting-up-nat64-dns64/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Curl-Loader and ARP cache issues</title>
		<link>http://www.bitprocessor.be/2011/02/10/curl-loader-and-arp-cache-issues/</link>
		<comments>http://www.bitprocessor.be/2011/02/10/curl-loader-and-arp-cache-issues/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 08:51:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[benchmark]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[arp]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[curl-loader]]></category>
		<category><![CDATA[haproxy]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[loadbalancer]]></category>

		<guid isPermaLink="false">http://txt.bitprocessor.be/?p=157</guid>
		<description><![CDATA[<p>A few days ago, I was looking for a HTTP taffic generator and found <a href="http://curl-loader.sourceforge.net/" target="_blank">Curl-Loader</a>. This tool allows you to query your webservers for a certain URL at maximum speed with a configurable number of concurrent clients, each using their own, unique IP address generated on-the-fly by Curl-Loader.</p> <p>In my case, Curl-Loader was [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago, I was looking for a HTTP taffic generator and found <a href="http://curl-loader.sourceforge.net/" target="_blank">Curl-Loader</a>. This tool allows you to query your webservers for a certain URL at maximum speed with a configurable number of concurrent clients, each using their own, unique IP address generated on-the-fly by Curl-Loader.</p>
<p>In my case, Curl-Loader was started on 2 machines, generating a total load of 4000 simultaneous clients, each querying the same URL from a Load-Balanced setup with 2 servers running HAProxy in an Active/Standby setup using HeartBeat and 4 backend webservers (3 active/1 backup) running Lighttpd.</p>
<p>When Curl-Loader is started, it generates an IP address per client connection, so running 4000 clients results in 4000 IP addresses connecting to the Load-Balancer. During the test, the Load-Balancer and traffic generators were in the same network, so the Load-Balancer suddenly had to cope with 4000 new ARP entries.</p>
<p>What I could notice was, that, as the number of clients went up (Curl-Loader does this gradually &#8211; in a configurable way), the number of connections and traffic load on the Load-Balancer went downhill.</p>
<p>A quick look in dmesg output on the Load-Balancer showed the following :</p>
<blockquote><p>[  513.254026] Neighbour table overflow.</p></blockquote>
<p>Turns out, this means that the table holding the ARP cache is a bit&#8230; well&#8230; overcrowded and reaches its hard maximum of number of entries, so it&#8217;s time to start tweaking a few parameters&#8230;</p>
<p>There are three (actually 4, but the last one isn&#8217;t needed here) parameters controlling the ARP cache size and garbage collecting:.</p>
<ul>
<li><strong>gc_thresh1</strong> is the minimum number of entries in the ARP cache. If the actual number of entries is below this value, the garbage collector will not run (default value on Debian Lenny: 128)</li>
<li><strong>gc_thresh2 </strong> is the soft maximum number of entries. If the actual number of entries is above this value for more than 5 seconds, the garbage collector will run (default value on Debian Lenny: 512)</li>
<li><strong>gc_thresh3 </strong>is the hard maximum number of entries. If the actual number of entries is above this value, the garbage collector with immediately run. It is also the maximum value of ARP entries that can be kept in the table (default value on Debian Lenny: 1024)</li>
<li><strong>gc_interval </strong>is the interval the garbage collection will run and remove entries that are no longer in use (default value on Debian Lenny: 30)</li>
</ul>
<p>The value of these parameters can be read by issuing the following command:</p>
<blockquote><p>cat /proc/sys/net/ipv4/neigh/default/gc_thresh1</p></blockquote>
<p>To change their value, use the sysctl command, or echo a new value into the parameter:</p>
<blockquote><p>sysctl -w net.ipv4.neigh.default.gc_thresh3=1024000</p></blockquote>
<p>In the test setup, I changed all three gc_thresh values up to 1024000 allowing a million entries in the ARP cache, and the garbage collection will never run. Is this ideal ? Maybe not, but during load testing, it allows not to be confronted with ARP cache issues.</p>
<p>Some links :</p>
<ul>
<li>Curl-Loader: <a href="http://curl-loader.sourceforge.net/" target="_blank">http://curl-loader.sourceforge.net/</a></li>
<li>A blog posting on the same issue, in a slightly different context: <a href="http://blog.lachmann.org/2010/01/neighbour-table-overflow/" target="_blank">http://blog.lachmann.org/2010/01/neighbour-table-overflow/</a></li>
<li>HAProxy: <a href="http://haproxy.1wt.eu/" target="_blank">http://haproxy.1wt.eu/</a></li>
<li>Lighttpd: <a href="http://www.lighttpd.net/" target="_blank">http://www.lighttpd.net/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bitprocessor.be/2011/02/10/curl-loader-and-arp-cache-issues/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Benchmarking an USB hub straight from Hong-Kong</title>
		<link>http://www.bitprocessor.be/2010/12/28/benchmarking-an-usb-hub-straight-from-hong-kong/</link>
		<comments>http://www.bitprocessor.be/2010/12/28/benchmarking-an-usb-hub-straight-from-hong-kong/#comments</comments>
		<pubDate>Tue, 28 Dec 2010 17:30:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[benchmark]]></category>
		<category><![CDATA[DealExtreme]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://txt.bitprocessor.be/?p=145</guid>
		<description><![CDATA[<p>We all know it, most of our stuff is made in China nowadays, even <a title="Apple" href="http://www.apple.com" target="_blank">Apple</a> products &#8211; products I love BTW ! But when we buy something from the big brands, in a local shop, everybody needs to earn some money on it : the constructor, shipment, the wholesale trader, the local [...]]]></description>
			<content:encoded><![CDATA[<p>We all know it, most of our stuff is made in China nowadays, even <a title="Apple" href="http://www.apple.com" target="_blank">Apple</a> products &#8211; products I love BTW ! But when we buy something from the big brands, in a local shop, everybody needs to earn some money on it : the constructor, shipment, the wholesale trader, the local dealer etc&#8230; So, how about buying directly in China ? That&#8217;s where a website like <a title="DealExtreme" href="http://www.dealextreme.com" target="_blank">DealExtreme</a> comes in the picture, the products you order on this website are shipped directly from Hong-Kong, for free (if you&#8217;re lucky to live in a country that is in their free shipping list). Sure, they sell crappy stuff but they also sell good products : like replacement iPod batteries,iPod sync cables etc&#8230; for just a couple of Dollars. Is it the real thing ? No ! Does it work ? Yes, it very often really does !</p>
<p>That&#8217;s what this posting is about, I bought myself a little USB hub from DealExtreme, <a href="http://www.dealextreme.com/details.dx/sku.45770" target="_blank">this one</a> to be exact.</p>
<p>After more then a month of waiting (yes, you have to be patient sometimes), it finally arrived today !</p>
<p>Here&#8217;s a speed test of the little thing, using an USB stick directly on the USB port of a Fujitsu-Siemens Lifebook E4010 and the same stick, plugged into the USB hub &#8211; the result : no speed lost at all !</p>
<p><em>Stick directly on USB port :</em><br />
<code><br />
/dev/sdb1:<br />
Timing cached reads:   800 MB in  2.00 seconds = 400.03 MB/sec<br />
Timing buffered disk reads:   58 MB in  3.10 seconds =  18.68 MB/sec</code></p>
<p><em>And plugged into the USB hub :</em><br />
<code><br />
/dev/sdb1:<br />
Timing cached reads:   800 MB in  2.00 seconds = 399.99 MB/sec<br />
Timing buffered disk reads:   58 MB in  3.10 seconds =  18.69 MB/sec</code></p>
<p>Result : /me happy !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitprocessor.be/2010/12/28/benchmarking-an-usb-hub-straight-from-hong-kong/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to add static DHCP leases on a Belgacom b-box 2</title>
		<link>http://www.bitprocessor.be/2010/12/23/139/</link>
		<comments>http://www.bitprocessor.be/2010/12/23/139/#comments</comments>
		<pubDate>Thu, 23 Dec 2010 19:45:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[b-box 2]]></category>
		<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://txt.bitprocessor.be/?p=139</guid>
		<description><![CDATA[<p><a href="http://txt.bitprocessor.be/wp-content/uploads/2010/12/BELGACOM_BBOX2_SELECTED_01.jpg"></a>Always wanted to configure some static DHCP leases on a Belgacom b-box 2 ?</p> <p>Here&#8217;s how you can accomplish it :</p> <p>First of all, open the administration pages of the router, and then :</p> Click on Advanced Settings and next on Network Interfaces In the column Interface Name, click on LAN Bridge On the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://txt.bitprocessor.be/wp-content/uploads/2010/12/BELGACOM_BBOX2_SELECTED_01.jpg"><img class="alignright size-full wp-image-131" title="bbox2" src="http://txt.bitprocessor.be/wp-content/uploads/2010/12/BELGACOM_BBOX2_SELECTED_01.jpg" alt="" width="150" height="113" /></a>Always wanted to configure some static DHCP leases on a Belgacom b-box 2 ?</p>
<p>Here&#8217;s how you can accomplish it :</p>
<p>First of all, open the administration pages of the router, and then :</p>
<ul>
<li>Click on <em>Advanced Settings</em> and next on <em>Network Interfaces</em></li>
<li>In the column <em>Interface Name</em>, click on <em>LAN Bridge</em></li>
<li>On the <em>Connection Properties</em> page, click on the <em>Settings</em> button, at the bottom of the page</li>
<li>On the <em>Configure Connection</em> page, look for the text <em>IP Address Distribution</em> and click on it</li>
<li>You are now on the <em>IP Address Distribution</em> page, click on the <em>Connection List </em>button</li>
<li>You can now edit already existing dynamic leases and change them to static ones or you can add new static leases.</li>
</ul>
<p>Good luck !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitprocessor.be/2010/12/23/139/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to deny SharePoint access to a specific user</title>
		<link>http://www.bitprocessor.be/2010/12/20/how-to-deny-sharepoint-access-to-specific-user/</link>
		<comments>http://www.bitprocessor.be/2010/12/20/how-to-deny-sharepoint-access-to-specific-user/#comments</comments>
		<pubDate>Mon, 20 Dec 2010 15:50:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://txt.bitprocessor.be/?p=123</guid>
		<description><![CDATA[<p>I needed to block a certain user from using SharePoint, but there was one little problem : the Domain Users group was granted access.</p> <p>No worries, no need to create a new group &#8211; just exclude the necessary user(s) from accessing SharePoint :</p> <p>Go to SharePoint Central Administration :</p> Click Application Management Click Policy for [...]]]></description>
			<content:encoded><![CDATA[<p>I needed to block a certain user from using SharePoint, but there was one little problem : the <em>Domain Users</em> group was granted access.</p>
<p>No worries, no need to create a new group &#8211; just exclude the necessary user(s) from accessing SharePoint :</p>
<p>Go to SharePoint Central Administration :</p>
<ul>
<li>Click <em>Application Management</em></li>
<li>Click <em>Policy for Web Application</em></li>
<li>Click <em>Add Users</em></li>
<li>Select the Web Application you want to deny users access to</li>
<li>Click <em>Next</em></li>
<li>In the users box, put the AD user or  group you want to deny access to</li>
<li>Check the box next to <em>Deny All &#8211; Has no access </em></li>
<li>Click <em>Finish</em></li>
</ul>
<p>ALL DONE !</p>
<p>Source :</p>
<p><a href="http://fnoja.blogspot.com/2008/05/excluding-and-ad-group-from-site.html" target="_blank">http://fnoja.blogspot.com/2008/05/excluding-and-ad-group-from-site.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitprocessor.be/2010/12/20/how-to-deny-sharepoint-access-to-specific-user/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Getting Time Machine to backup to an Ethernet HD</title>
		<link>http://www.bitprocessor.be/2010/09/30/getting-time-machine-to-backup-to-an-ethernet-hdd/</link>
		<comments>http://www.bitprocessor.be/2010/09/30/getting-time-machine-to-backup-to-an-ethernet-hdd/#comments</comments>
		<pubDate>Thu, 30 Sep 2010 17:16:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Time Machine]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[disk]]></category>
		<category><![CDATA[ethernet]]></category>
		<category><![CDATA[lacie]]></category>
		<category><![CDATA[time machine]]></category>

		<guid isPermaLink="false">http://txt.bitprocessor.be/?p=108</guid>
		<description><![CDATA[<p>This website has an excellent description on how to get it to work :<br /> <a href="http://adamcohenrose.blogspot.com/2008/02/time-machine-wireless-backup-without.html">http://adamcohenrose.blogspot.com/2008/02/time-machine-wireless-backup-without.html</a></p> <p>I successfully configured Time Machine backup to a Lacie 1TB Ethernet Disk following this guide. The only thing I did different was not specifying the &#8220;megabytes&#8221;-parameter with the hdiutil command because it didn&#8217;t seem necessary to me.</p>]]></description>
			<content:encoded><![CDATA[<p>This website has an excellent description on how to get it to work :<br />
<a href="http://adamcohenrose.blogspot.com/2008/02/time-machine-wireless-backup-without.html">http://adamcohenrose.blogspot.com/2008/02/time-machine-wireless-backup-without.html</a></p>
<p>I successfully configured Time Machine backup to a Lacie 1TB Ethernet Disk following this guide. The only thing I did different was not specifying the &#8220;megabytes&#8221;-parameter with the hdiutil command because it didn&#8217;t seem necessary to me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitprocessor.be/2010/09/30/getting-time-machine-to-backup-to-an-ethernet-hdd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Card Readers : old vs. new</title>
		<link>http://www.bitprocessor.be/2010/05/31/card-readers-old-vs-new/</link>
		<comments>http://www.bitprocessor.be/2010/05/31/card-readers-old-vs-new/#comments</comments>
		<pubDate>Mon, 31 May 2010 18:38:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[benchmark]]></category>
		<category><![CDATA[Card Reader]]></category>
		<category><![CDATA[Xbench]]></category>

		<guid isPermaLink="false">http://txt.bitprocessor.be/?p=101</guid>
		<description><![CDATA[<p>The past 4, maybe 5 years I used a 23-in-1 card reader I once got from eBay, initially with SD cards to transfer pictures taken with my previous camera (JPEGs). At a certain moment in time, I got myself a Canon EOS 30D and continued to use the same card reader to copy RAW image [...]]]></description>
			<content:encoded><![CDATA[<p>The past 4, maybe 5 years I used a 23-in-1 card reader I once got from eBay, initially with SD cards to transfer pictures taken with my previous camera (JPEGs). At a certain moment in time, I got myself a Canon EOS 30D and continued to use the same card reader to copy RAW image files from CF-cards to my hard drive. Always thought it took quite a while to copy a full 2GB CF card, but I always presumed it was normal. Until today&#8230;</p>
<p>We needed an extra card reader, so I got myself a <em>hama USB 2.0 Card Reader 35 in 1 </em>for EUR 9,99.</p>
<p>Back at home, I did some tests with big files and a 2GB CF card and immediately noticed the speed difference. To be sure it wasn&#8217;t just a &#8220;new is better&#8221;-feeling, I fired up Xbench on my MacBook, which gave the following result &#8211; both with a Sandisk Extreme III 2GB CF card.</p>
<p><strong>old reader from eBay :</strong></p>
<pre>Disk Test	4.69
	Sequential	5.39
		Uncached Write	4.90	3.01 MB/sec [4K blocks]
		Uncached Write	4.95	2.80 MB/sec [256K blocks]
		Uncached Read	6.35	1.86 MB/sec [4K blocks]
		Uncached Read	5.58	2.81 MB/sec [256K blocks]
	Random	4.15
		Uncached Write	1.31	0.14 MB/sec [4K blocks]
		Uncached Write	7.84	2.51 MB/sec [256K blocks]
		Uncached Read	231.89	1.64 MB/sec [4K blocks]
		Uncached Read	15.11	2.80 MB/sec [256K blocks]</pre>
<p><strong>hama card reader :</strong></p>
<pre>Disk Test	7.96
	Sequential	24.63
		Uncached Write	25.00	15.35 MB/sec [4K blocks]
		Uncached Write	26.69	15.10 MB/sec [256K blocks]
		Uncached Read	17.00	4.97 MB/sec [4K blocks]
		Uncached Read	38.32	19.26 MB/sec [256K blocks]
	Random	4.75
		Uncached Write	1.29	0.14 MB/sec [4K blocks]
		Uncached Write	18.91	6.06 MB/sec [256K blocks]
		Uncached Read	534.45	3.79 MB/sec [4K blocks]
		Uncached Read	100.92	18.73 MB/sec [256K blocks]</pre>
<p>Conclusion : save a lot of time, get a decent card reader</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitprocessor.be/2010/05/31/card-readers-old-vs-new/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

