Archive for January, 2013


The day before yesterday, the USB Satellite Receiver I’ve ordered arrived. A few days earlier, the smartcard reader arrived. So, I guess I have all required components now.

Plugging the receiver into the USB port, nothing happens. Ok, dmesg shows a new device has been attached, but no module is being loaded. I guess I’m a bit spoiled, expecting everything to just work, all driver support just to be in the kernel. However, this time this was not the case. The device identifies itself as ID 0572:6831 Conexant Systems (Rockwell), Inc.

Downloading the sources from http://dvbsky.net/Support.html and compiling them. It gives me a packed version of the dvb_usb_dw2102 module, which actually was in my current version. Please note I’ve used the “media_build_bst_121102” version, and not the patches for 3.6, for now.
On the Raspberry Pi, this went without issues. On my laptop there are little issues, as this source package includes the whole media subsystem, and there are conflicting versions with existing kernel modules. I suppose I should investigate their patches too. But… as their patches are for 3.6.6 and I am already beyond…
Nevertheless, I got the device working, both on pi and laptop.

So, next is tvheadend. This is a TV streaming server, which will stream the received TV signals to my XBMC Pi, or, at least, what was the plan. It is configures through a web interface, which is rather heavy when having all channels from a satellite loaded. Firefox regularly freezes and pops up the script not responding dialog. Opera can handle it better then Firefox. Anyhow, using the web interface, setting up username, password, ip range etc. Setting up and scanning the satellite.

On the other Raspberry Pi, running OpenELEC XBMC, connecting to it. Well…. it doesn’t work as well as expected. Really having to convince it to change channels etc.
So, what’s the problem. At first, check if the satellite is aligned correctly. The DreamBox DM7000S has fine reception, so I don’t think that’s the problem. Is there a bottleneck is computing power or bandwidth somewhere in the chain. Note that the Raspberry Pi has it’s ethernet as USB device, which might be the issue. I don’t know if there is a hardware demuxer present in this receiver, but if this is not the case, it will have to stream the signal from the entire transponder over USB, which means a number of channels is sent. This might take up a huge part of the USB bandwidth, which might not leave enough to sent the channel we’re interested in over USB to the Ethernet. If this is the problem, a possible solution might be to hoop up an Ethernet adaptor on a different interface. I’ve read about SPI Ethernet adaptors, such as the ENC624J600 (100 Mbit) and ENC28J60 (10 Mbit). However, I have no idea of the performance of the SPI bus, on the Raspberry Pi, or even in general.

So… let’s compile a xbmc on the laptop, do some cross reference tests. Installing the package xbmc-git from aur. Editing the PKGBUILD is required, remove all the inclusion of libcec, otherwise it will not compile. It will go like, this is not a Raspberry Pi, I will not compile. LOL. Also install the PVR addons. Starting tvheadend and xbmc on the laptop, it works perfectly. So, at least we know now the receiver works fine. Now, connect it to the Pi. The laptop as client, this gives issues as well. So, it seems the Pi as server is the problem.

So, the next test is running XBMC on the Pi and tvheadend on the laptop. This still doesn’t work as desired. This makes me start to believe the Raspberry Pi is not (yet) suitable as a full media center. It worked fine for playing music and videos from files, but on streaming it still has issues. First of all, I have to switch the audio to MPEG2. It will default to AC3 encoded audio, and when this is selected, the channel will not show anything. I have to select MPEG2 audio, switch to a different channel, switch back, and I might get to see something. But in general, it feels unstable. XBMC might just decide to crash and restart when using the PVR client.

Perhaps I should let it rest for a while, because I am spending too much time on this. There is one other thing to try. Installing XBMC on the desktop machine as well, to see how it performs on streaming in general. (And everything on Pi as well, but I really think CPU power will be a problem then) Also… if cpu power is the issue, I still have this CubieBoard, which may come to the rescue. Otherwise I might have to look for a more powerful board.

Anyhow, this is it for now, I still have some more topics to talk about, but that will have to wait till later. But I still have to discuss oscam, usb issues and real time clocks.

Just a few things left do configure on my server Pi. One of them is setting up the scanner server. This is quite straight forwards, and it just takes a couple of minutes to set it up. (See ArchLinux wiki) The first step is to install sane and xinetd on the server:

[andre@rpi-server ~]$ yaourt -S sane xinetd

The next step is setting the allowed clients in /etc/sane.d/saned.conf


# required
localhost
# allow local subnet
192.168.178.0/24

And configuring xinetd. The file /etc/xinetd.d/sane already exists, and all that needs to be changed is setting disable to no. On the clients, add the ip address of the server to /etc/sane.d/net.conf and it just works! Awesome!

Another thing still on the TODO list is the IPv6 tunnel. Unfortunately, the ArchLinux wiki still only lists a configuration for the classical initscripts, and not for systemd. Twice, even: IPv6 – Tunnel Broker Setup and IPv6 – 6in4 Tunnel are describing the same thing.

So.. I guess let’s have a closer look at systemd, how to add custom services to it, right? So… there is a link to Systemd/Services which actually provides what I am looking for. No need to write a custom script. Just adjust it to the settings for the XS4ALL tunnel.

/etc/systemd/system/xs4all-ipv6.service


[Unit]
Description=XS4ALL IPv6 tunnel
After=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/ip tunnel add xs4all-ipv6 mode sit remote 194.109.5.241 local 83.160.145.152 ttl 255
ExecStart=/sbin/ip link set xs4all-ipv6 up mtu 1472
ExecStart=/sbin/ip addr add 2001:888:10:590::2/64 dev xs4all-ipv6
ExecStart=/sbin/ip -6 route add ::/0 dev xs4all-ipv6
ExecStop=/sbin/ip -6 route del ::/0 dev xs4all-ipv6
ExecStop=/sbin/ip link set xs4all-ipv6 down
ExecStop=/sbin/ip tunnel del xs4all-ipv6

[Install]
WantedBy=multi-user.target

So… let’s try it:


[root@rpi-server system]# systemctl start xs4all-ipv6
Job for xs4all-ipv6.service failed. See 'systemctl status xs4all-ipv6.service' and 'journalctl -xn' for details.
[root@rpi-server system]# systemctl status xs4all-ipv6.service
xs4all-ipv6.service - XS4ALL IPv6 tunnel
Loaded: loaded (/usr/lib/systemd/system/xs4all-ipv6.service; disabled)
Active: failed (Result: exit-code) since Thu, 2013-01-03 14:50:02 GMT; 8s ago
Process: 15926 ExecStart=/sbin/ip tunnel add xs4all-ipv6 mode sit remote 194.109.5.241 local 83.160.145.152 ttl 255 (code=exited, status=1/FAILURE)
CGroup: name=systemd:/system/xs4all-ipv6.service

[root@rpi-server system]# /sbin/ip tunnel add xs4all-ipv6 mode sit remote 194.109.5.241 local 83.160.145.152 ttl 255
add tunnel sit0 failed: No such device

No worky yet… there is no sit0 device. Sounds like a missing kernel module to me, which makes sense, as I did a full system upgrade ( pacman -Syu) yesterday, which included a new firmware and kernel, but I didn’t reboot yet. So… I think that’s the problem. And indeed it was, after reboot it doesn’t display the error message anymore. However, it doesn’t work yet.

[root@rpi-server andre]# systemctl start xs4all-ipv6
[root@rpi-server andre]# ifconfig
eth0: flags=4163 mtu 1500
inet 192.168.178.49 netmask 255.255.255.0 broadcast 192.168.178.255
inet6 fe80::ba27:ebff:fe89:f248 prefixlen 64 scopeid 0x20 ether b8:27:eb:89:f2:48 txqueuelen 1000 (Ethernet)
RX packets 1614 bytes 167190 (163.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1464 bytes 217606 (212.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73 mtu 16436
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 8 bytes 560 (560.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8 bytes 560 (560.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

xs4all-ipv6: flags=209 mtu 1472
inet6 fe80::53a0:9198 prefixlen 128 scopeid 0x20 inet6 2001:888:10:590::2 prefixlen 64 scopeid 0x0
sit txqueuelen 0 (IPv6-in-IPv4)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[root@rpi-server andre]# ping6 google.com
PING google.com(wi-in-x64.1e100.net) 56 data bytes
From tunnel1424.ipv6.xs4all.nl icmp_seq=1 Destination unreachable: Address unreachable
From tunnel1424.ipv6.xs4all.nl icmp_seq=2 Destination unreachable: Address unreachable
From tunnel1424.ipv6.xs4all.nl icmp_seq=3 Destination unreachable: Address unreachable
From tunnel1424.ipv6.xs4all.nl icmp_seq=4 Destination unreachable: Address unreachable
From tunnel1424.ipv6.xs4all.nl icmp_seq=5 Destination unreachable: Address unreachable
^C
--- google.com ping statistics ---
5 packets transmitted, 0 received, +5 errors, 100% packet loss, time 4005ms

So.. what’s wrong here? The Sever is set as the exposed host, therefore it should receive the tunnel packets. So that can’t be the problem. Also, using the old initscripts script it works. So… I guess I’ll have to look at the the differences. At first glance they look the same, so the difference got to be in the details. (note: the error messages are due the fact my system is no longer having support scripts for the old style initscripts)

[root@rpi-server andre]# /etc/rc.d/6in4-tunnel start
/etc/rc.d/6in4-tunnel: line 13: /etc/rc.conf: No such file or directory
/etc/rc.d/6in4-tunnel: line 14: /etc/rc.d/functions: No such file or directory
/etc/rc.d/6in4-tunnel: line 18: stat_busy: command not found
/etc/rc.d/6in4-tunnel: line 36: add_daemon: command not found
/etc/rc.d/6in4-tunnel: line 37: stat_done: command not found
[root@rpi-server andre]# ping6 google.com
PING google.com(wi-in-x65.1e100.net) 56 data bytes
64 bytes from wi-in-x65.1e100.net: icmp_seq=1 ttl=56 time=23.8 ms
64 bytes from wi-in-x65.1e100.net: icmp_seq=2 ttl=56 time=23.0 ms
64 bytes from wi-in-x65.1e100.net: icmp_seq=3 ttl=56 time=23.4 ms
64 bytes from wi-in-x65.1e100.net: icmp_seq=4 ttl=56 time=26.4 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 23.044/24.208/26.488/1.355 ms

The problem was rather stupid. A mistake I was struggling with last time I had to set this up. The “local” IP is supposed to LAN (internal) ip not my WAN (external) ip.

[root@rpi-server andre]# systemctl start xs4all-ipv6
[root@rpi-server andre]# ifconfig
eth0: flags=4163 mtu 1500
inet 192.168.178.49 netmask 255.255.255.0 broadcast 192.168.178.255
inet6 fe80::ba27:ebff:fe89:f248 prefixlen 64 scopeid 0x20 ether b8:27:eb:89:f2:48 txqueuelen 1000 (Ethernet)
RX packets 834 bytes 81976 (80.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 790 bytes 118486 (115.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73 mtu 16436
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 8 bytes 560 (560.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8 bytes 560 (560.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

xs4all-ipv6: flags=209 mtu 1472
inet6 fe80::c0a8:b231 prefixlen 128 scopeid 0x20 inet6 2001:888:10:590::2 prefixlen 64 scopeid 0x0
sit txqueuelen 0 (IPv6-in-IPv4)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[root@rpi-server andre]# ping6 google.com
PING google.com(wi-in-x71.1e100.net) 56 data bytes
64 bytes from wi-in-x71.1e100.net: icmp_seq=1 ttl=56 time=23.4 ms
64 bytes from wi-in-x71.1e100.net: icmp_seq=2 ttl=56 time=22.8 ms
^C
--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 22.897/23.150/23.403/0.253 ms

Now we got that working, the routing part. To configure the system as a IPv6 router, we add net.ipv6.conf.all.forwarding = 1 to /etc/sysctl.conf. Next we enable radvd. It appears I’ve already installed radvd, otherwise install it with pacman -S radvd.

The /etc/radvd.conf file contains tons of examples. So, we’ll have to a new file for this. We can use the XS4ALL auto create config file for this, as this is not distro specific. (ArchLinux isn’t on their list, they offer Debian, Redhat, FreeBSD, and some commercial Operating Systems like Mac OSX, Windows XP and Windows Vista)


interface eth0 {
AdvSendAdvert on;
AdvHomeAgentFlag off;

prefix 2001:888:1590::/64 {
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
};
};

Looking at their config file, they’ve disabled Mobile IPv6 support (AdvHomeAgentFlag off;), which is an interesting feature of IPv6. I attended a presentation about this when I was in Sweden, back in 2008. I wish features like this would be widely implemented by now. I mean… if the mobile phone networks supported this…. Think about it. Just keeping your TCP connections open while switching networks. The technology is out there… and has been for years, but no dog uses it.

Anyhow…. back to the configuration. On the other machines, IPv6 connectivity is not yet working. It seems, the system is not acting as a router yet. It appears the /etc/sysctl.conf is not parsed, as when I run sysctl -p it starts working. Some more things that have changed since the old initscripts days. Looking at the ArchLinux Wiki, we’re supposed to create a config file in /etc/sysctl.d/, and if we click the link on there, we see the file needs extension .conf, so, let’s create this file, reboot, and see if it just works.

[root@rpi-server sysctl.d]# echo net.ipv6.conf.all.forwarding = 1 > ipv6_router.conf

Unfortunately, after reboot, it’s still not working…

[andre@rpi-server sysctl.d]$ sysctl net.ipv6.conf.all.forwarding
net.ipv6.conf.all.forwarding = 0

Getting this to work is always a pain in the ass. And why isn’t it parsing the damn config files…. grrr, they are where they should be. Sysctl seem to be started, so it should parse the damn config file.

andre@rpi-server ~]$ systemctl status systemd-sysctl
systemd-sysctl.service - Apply Kernel Variables
Loaded: loaded (/usr/lib/systemd/system/systemd-sysctl.service; static)
Active: active (exited) since Thu, 1970-01-01 01:00:02 BST; 43 years and 0 months ago
Docs: man:systemd-sysctl.service(8)
man:sysctl.d(5)
Process: 49 ExecStart=/usr/lib/systemd/systemd-sysctl (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/systemd-sysctl.service

Please note it says 1970 as the Raspberry Pi doesn’t have a RTC, and this is executing early in the boot process (btw. I’ve ordered a I²C RTC to solve this problem)

Some more searching on the internet gave me some french blog. My french is very rusty, and when I had french class in high school, I totally sucked at is, so I won’t even try to read it, and just to the command to restart. After this the config file seems to be parsed. (Does it cache it or what?)

[root@rpi-server sysctl.d]# systemctl restart systemd-sysctl.service
[root@rpi-server sysctl.d]# sysctl net.ipv6.conf.all.forwarding
net.ipv6.conf.all.forwarding = 1

Let’s reboot. After reboot it is not set. So, even though systemctl says it got an active status, somehow, it is not. I’m tired of this, I will just hack it in. Adding systemctl restart systemd-sysctl.service to my tunnel script…. no change. trying sysctl net.ipv6.conf.all.forwarding=1 No change either. Ok. it seems systemctl config files require full paths. Now the hack works. So, the /usr/lib/systemd/system/xs4all-ipv6.service ended up looking like:


[Unit]
Description=XS4ALL IPv6 tunnel
After=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/ip tunnel add xs4all-ipv6 mode sit remote 194.109.5.241 local 192.168.178.49 ttl 255
ExecStart=/sbin/ip link set xs4all-ipv6 up mtu 1472
ExecStart=/sbin/ip addr add 2001:888:10:590::2/64 dev xs4all-ipv6
ExecStart=/sbin/ip -6 route add ::/0 dev xs4all-ipv6
ExecStart=/sbin/sysctl net.ipv6.conf.all.forwarding=1
ExecStop=/sbin/ip -6 route del ::/0 dev xs4all-ipv6
ExecStop=/sbin/ip link set xs4all-ipv6 down
ExecStop=/sbin/ip tunnel del xs4all-ipv6

[Install]
WantedBy=multi-user.target

Still, I would prefer to see the sysctl files parsed as it should. This is just a hack. So, I am not happy about this yet… however, the basic configuration is done now. I will have an image of the current content of the SD card (first 2 GB only) and then grow the file system to occupy the complete SD card.

Making the image of the card:

[root@hplaptop raspberrypi]# dd if=/dev/mmcblk0 of=rpi-server.img bs=1M count=1886
1886+0 records gelezen
1886+0 records geschreven
1977614336 bytes (2,0 GB) gekopieerd, 207,126 s, 9,5 MB/s

The original image was 1977614336 bytes, which is 1886 MiB. So, that’s the size of used part, before resizing. Please note, even though dd says MB and GB, it actually means MiB and GiB. I am creating this image in its original size, so I can write it to a different (size) SD card later if necessary.

Growing the file system I’ve already explained when I was discussing my other Pi.

At this stage, other stuff can be added to the installation. (And I should also take another look at qmeu userspace emulation) But also some server software meant for exposure to the internet, such as http, irc, and more. Thinking about my Media Center Project, perhaps the server Pi should run the tvheadend, and connect to the XBMC Pi over the network. It’s just… I am not that comfortable with running soft real time applications on a machine which can receive unknown load from the internet (and also my local network, but I have control over that)

Gelukkig 2013! Het nieuw jaar is weer begonnen, en traditioneel schrijf ik altijd een terugblik op het afgelopen jaar op mijn blog. Ik zat nog te twijfelen of ik deze in het Nederlands of het Engels zou schrijven, maar heb besloten het dit jaar in het Nederlands te doen.

Een jaar geleden begon 2012, een veelbesproken jaar, een jaar waarin alles zou veranderen of de wereld zou eindigen… een jaar dat beloofde een bijzonder jaar te worden. Maar nu, een jaar later, wat is er van uit gekomen? In ieder geval niet het einde van de wereld, anders zou ik dit stukje immers niet schrijven, nietwaar?

Afin, een jaar geleden… hoe begon het jaar. Occupy Eindhoven stond aan de stationsweg langs de Dommel. Toen Occupy tegen het einde van 2011 begon leek dit in lijn met de voorspellingen dat in 2012 alles zou veranderen… maar wat is daarvan terecht gekomen? Niet veel. De stationsweg was de doodsteek voor Occupy Eindhoven, en al spoedig werd Occupy Eindhoven ontruimd.

Alhoewel dit het einde voor het kamp van Occupy Eindhoven was, was dit niet het einde voor Occupy en gerelateerde zaken. Al voor de ontruiming van Occupy Eindhoven was er een artikel op de site van Omroep Brabant dat Occupy Eindhoven een ecodrop wilde. Dit idee is verder ontwikkeld, en hieruit is Beginhoven ontstaan, bestaande uit (een deel van) de harde kern van Occupy Eindhoven, en mensen die via andere wegen, zoals Transition Town Eindhoven, zich hebben aangesloten. Een aantal maanden later is een vereniging opgericht waarvan ik de secretaris ben.

Het idee van Beginhoven is ergens in Eindhoven een braakliggend terrein in te richten voor stadslandbouw en workshops. (Voor meer informatie zie de site van beginhoven) Echter, onderhandelingen met de gemeente verlopen traag, en na maanden hebben we nog steeds geen terrein.

Naast dit alles ben ik natuurlijk ook nog met mijn studie bezig, maar om hier nu veel over op mijn blog te zetten? En over het eerste deel van 2012 weet ik het al niet meer wat ik daar over kan vertellen… Vakken die ik het huidige semester volg, ja, dat is leuker. Ik volg onder andere het vak “The Hacker’s Hut”, een cursusje hacken als college. Eerste deel over websites (SQL injectie, XSS, etc.), tweede deel het echte werk (buffer overflow). Elementair niveau, maar wel leuk.

Een ander interessant vak was Cultuurfilosofie 2. Een vak over het culturele aspect van voedsel. Van voedselindustrie tot eten. Een college waarin ook de nodige maatschappelijke en ethische kwesties gekeken. Dit is echt een vak wat ik kan aanbevelen.

Mijn studie, hoe nu verder? Ik ben van plan om na de zomer aan mijn afstuderen te beginnen. Ik moet nog een vakje “Algebra” afronden. Zo’n homologievak, eigenlijk een backelor vak, maar verplicht voor mijn master aangezien ik mijn bachelor op het HBO heb gedaan. Als ik dat niet afgevinkt heb mag ik niet aan mijn afstuderen beginnen. Een openstaand mastervak zou wel nog tijdens mijn afstuderen mogen, maar zo’n homologatievak, nee dat kan niet. En het blijkt dat het niet hebben gehaald van dat Algebra vak geen gevolgen heeft gehad voor het kunnen volgen van een van mijn mastervakken. Dus de stof echt nodig hebben? Nee, het is alleen een vinkje nodig hebben, dus ik zie het meer als een bureaucratische verplichting dan wat anders.

Maar goed, verder, de afgelopen weken… zijn er misschien ook een paar interessante dingen gebeurd. Cindy kwam met plannen om de Ark op te gaan knappen en hier weer sociale activiteiten plaats te laten vinden. Daar kunnen misschien ook nog interessante dingen uit ontstaan.

Als ik even verder terug kijk, vanaf november zit er weer wat leven in Occupy Eindhoven. We hebben namelijk besloten elke maand op de 5e een actie te voeren in de stad. (Alleen slaan we 5 januari over, we zijn met kerstreces) Daarnaast wordt er elke week een stelling van de week op de site geplaatst.

2012…. tsja… een jaar waarin er veel gebeurd is. Beginhoven, Occupy Eindhoven, en recentelijk de Ark… dat wel, maar de grote revolutie is uitgebleven. Niet dat ik die had verwacht, verandering gaat traag, zo traag dat je het nauwelijks merkt. En dat is het gevaar, dat mensen teleurgesteld raken, omdat ze de verandering niet merken.

Maar goed, genoeg revolutionair geblaat nu, even geen stadslandbouw, tentjes en kraakpanden, laten we het over iets heel anders hebben. 2012 was natuurlijk ook het jaar van de Raspberry Pi. Een ARM computertje van zo’n $35. Toen dat ding uit kwam, het liep storm, die dingen verkochten beter als zoete broodjes. Ze konden de vraag gewoon niet aan. Mijn bloglezers zal het ongetwijfeld niet zijn ontgaan dat ik twee van zulke dingen bezit. Best geinige gingen. Ik ben van plan er eentje om te bouwen tot media center ding met satelliet ontvangst. Ik heb namelijk een Dreambox DM-7000S satelliet ontvanger. Aangezien een aantal zenders naar MPEG4 over is gestapt, kan ik deze zenders niet meer ontvangen. Vandaar dat ik een USB DVB-S2 ontvanger heb aangeschaft, die ik aan de Raspberry Pi wil hangen, en een kaartlezer voor mijn smartcard. Ik ben benieuwd wat dit gaat opleveren, al ben ik bang dat ik tegen de limieten van mijn eerste generatie Raspberry Pi ga aanlopen. Deze heeft slechts 256 MB RAM, waarvan de GPU, of beter gezegd, hardwarematige video decoder, 128 MB wil hebben. (Misschien dat een paar MB minder ook werkt, moet ik nog testen) Daarnaast wil ik hier ook een LCD schermpje aan hangen zodat de tv niet aan hoeft om muziek te luisteren.

En zo zijn er nog meer speelgoedjes, zo heb ik ook een CubieBoard aangeschaft, maar daar moet ik nog eens wat tijd voor maken. Dit is niet een “out-of-the-box-experience” zoals de Raspberry Pi. Hier moet nog wat meer voor gebeuren, en waarschijnlijk moet ik de VGA interface vanaf de pin header plukken. Hier moet ik nog eens een kabel voor verzinnen, aangezien een standaard kabeltje voor op pinheaders niet past. Hij is smaller en heeft kortere pinnetjes.

Naast mijn “ARMy” dat ik bouw, is er op deze server het afgelopen jaar ook een en ander gebeurd. Ik host tegenwoordig toch een aantal sites, en om die reden ga ik binnenkort de boel migreren naar een andere (opnieuw dedicated) server, om de boel eens wat overzichtelijker te regelen, en bovendien een einde te maken aan de overbelastingsproblemen die af en toe de kop op steken, maar die ik niet precies kan lokaliseren.

Weet je, ik ben met vanalles bezig, maar ik moet niet vergeten te studeren. Al is het maar voor dat domme vak Algebra… en ik moet ook nog iets aan Real Time Systems doen.. al heb ik het vak in principe al gehaald, ik moet nog (met een groep) een stukkie inleveren over een paar papers. Al krijg ik er 0 punten voor heb ik het vak nog gehaald, dus eigenlijk boeit dat niet echt. Het moet gewoon gebeuren, maar het heeft verder weinig gevolgen. Het is gewoon een vinkje.

Afin, genoeg geblaat, tijd om hier een einde aan te breien en jullie allemaal een gelukkig 2013 toe te wensen!
Iedereen een dikke *knuf*