« August 2010 »
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

This is hot

Upgrade VIA Epia-Board to current 2.6.28.7
599 times viewed
23.02.2009 18:41
t3blog Update to version 0.8.1 (Security, Bugfixes)
156 times viewed
03.02.2010 14:33
LaTeX Font Selection
83 times viewed
29.01.2010 17:17
linux.bigga.de now with RSS Feed
81 times viewed
25.11.2009 09:36

[blog...]

Currently the posts are filtered by: embedded
Reset this filter to see all posts.

15.05.2010
14:28

Tiny "fit-PC 2" Replacing Old Desktop PC

Recently I bought a "fit-PC 2" from CompuLab to replace my desktop PC at the Weltcafé reception. The predecessor was a Fujitsu Siemens computer from 2003 which replaced itself for a short time my VIA Epia EN1200.

 

I made a photo of these three computers and I measured approximatley the power consumption. And it's really estonishing: the tiny "fit-PC 2" is the fastest of it all and consumes only about 10 W even during watching youtube-videos.

 

Inside the metal box is working a single core Intel Atom Z530 with Hyper Threading at 1.6 GHz. It's equipped with 1 GB DDR2-RAM, a Samsung 250GB hard disk and even a RaLink RT3090 wireless card. There is only a HDMI-output but CompuLab includes a HDMI-DVI connector. With my DVI-VGA adaptors I cannot see any analog output but I don't need it at all.

 

The "fit-PC 2" comes preinstalled with Ubuntu 9.10. Of course, I tried to upgrade immediately to current Ubuntu 10.04 but afterwards the graphic output was slow and my special resolution (1440x900) failed :-(

Reason for this is the Intel Graphics inside: a GMA 500. For this you need the Intel Embedded Graphics Driver (iegd) for X.org. But this driver is closed source and it's not available yet for xorg-server 1.7 which is used in Ubuntu 10.04.

 

So, I had to reinstall Ubuntu 9.10 which was quite easy: download desktop ISO-image, write it with unetbootin on a USB-memory stick, boot and install. And now I'm waiting for Intel and follow the "fit-PC 2" forum for a release of Ubuntu 10.04 for "fit-PC 2".

 

I like this tiny device. It's sufficiant fast for my needs, it's silent (you only here the hard disk a little bit), has low power consumption and it's perfect small.

 

I bought my device from in Germany from SH EDV Vertrieb for 406 EUR including VAT and shipping to Germany.

 

 

Here is a /proc/cpuinfo for people like me googleing for it:

ab@ab-fit:~$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 28
model name	: Intel(R) Atom(TM) CPU Z530   @ 1.60GHz
stepping	: 2
cpu MHz		: 800.000
cache size	: 512 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 1
apicid		: 0
initial apicid	: 0
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat 
                  clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc 
                  arch_perfmon pebs bts pni dtes64 monitor ds_cpl vmx est tm2 ssse3 
                  xtpr pdcm movbe lahf_lm tpr_shadow vnmi flexpriority
bogomips	: 3191.90
clflush size	: 64
power management:

processor	: 1
vendor_id	: GenuineIntel
cpu family	: 6
model		: 28
model name	: Intel(R) Atom(TM) CPU Z530   @ 1.60GHz
stepping	: 2
cpu MHz		: 800.000
cache size	: 512 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 1
apicid		: 1
initial apicid	: 1
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat 
                  clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc 
                  arch_perfmon pebs bts pni dtes64 monitor ds_cpl vmx est tm2 
                  ssse3 xtpr pdcm movbe lahf_lm tpr_shadow vnmi flexpriority
bogomips	: 3191.94
clflush size	: 64
power management:
20.03.2010
18:00

Install Linux ISO-Images onto USB Drive Using unetbootin

 

Some time ago I read an article about unetbootin. As I had very often the pain to install Linux on CF-card or USB-drive, I bookmarked it for the next adventure.

 

Yesterday, I had to use it the first time. It's already in debian-testing (version 408-1). Only some short notes about using it:

  • let root (and other users) popup programs on your desktop:
    xhost +
  • start as root:
    unetbootin
  • plug in your USB-drive
  • select a distribution/live system. I tested:
    - Xubuntu
    - Slax
  • download and install the iso-image with unetbootin
  • take the USB-drive to the computer you want to boot and HOPE, it will be able to boot from USB

 

Luckily my J8F9-Board _sometimes_ likes booting from USB. I didn't understand why it most of the time ignores the BIOS setting. But now it's running again with Xubuntu 9.10.

 

 

08.03.2010
18:31

Via Epia EN1200 cpuinfo

processor       : 0
vendor_id       : CentaurHauls
cpu family      : 6
model           : 10
model name      : VIA Esther processor 1200MHz
stepping        : 9
cpu MHz         : 1196.946
cache size      : 128 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge cmov
pat clflush acpi mmx fxsr sse sse2 tm pni est tm2 rng rng_en ace ace_en ace2
ace2_en phe phe_en pmm pmm_en
bogomips        : 2393.89
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 32 bits virtual
power management:

29.10.2009
19:43

Replace Bash Indirect Variable Expansion Feature

replace bash syntax with POSIX conform equivalent

Debian and Ubuntu changed the default shell /bin/sh from bash (Bourne Again Shell) to dash (Debian Almquist Shell).

The advantage of dash is its size, speed and POSIX compliance. The disadvantage is that many scripts written for bash won't work anymore because bash has specific features - so called "bashisms".

 

One of this bashisms, I used frequently in the xxsvideo build system is the " indirect variable expansion". Which makes it possible to execute the following script:

#!/bin/bash                                                                                                                                        
                                                                                                                                                  
CONFIG_BUSYBOX=y

PACKAGENAME="BUSYBOX"
PACKAGECONFIG=CONFIG\_$PACKAGENAME

if [ "${!PACKAGECONFIG}" = "y" ]; then
        echo $PACKAGENAME "is selected"
else
        echo $PACKAGENAME "is NOT selected"
fi

If you call this script with bash you receive as expected "BUSYBOX is selected".

With dash you see:

./test.sh: 13: Bad substitution

I was looking a long time for the right way to replace this {!VAR} statement. But it's quite simple and suddenly I found a thread describing it:

#!/bin/dash

CONFIG_BUSYBOX=y

PACKAGENAME="BUSYBOX"

PACKAGECONFIG=CONFIG\_$PACKAGENAME

if [ "$(eval echo '$'$PACKAGECONFIG)" = "y" ]; then
    echo $PACKAGENAME "is selected"
else
    echo $PACKAGENAME "is NOT selected"
fi

 

In short: With dash you write:

eval echo '$'$VARIABLE

which is equivalent to bash

echo ${!VARIABLE}

 

... I think ;-)

 

10.06.2009
20:57

Enable Traffic Shaping on Fritz!Box 7170

I'm using a Fritz!Box Fon WLAN 7170 as Hotspot in my caf'e. The DSL speed is 6000kBit/s and I only want people use 1MBit/s maximum. The Fritz!Box offers traffic shaping only to prioritize VOIP over common traffic.

 

If you have linux box, you may use the tc command to do the following traffic shaping using class based queues (cbq):

 

 

#!/bin/sh

DEV=eth0
DEV=tiwlan0
TC=tc
RATE=768kbit

# erase all old
$TC qdisc del dev $DEV root

# set new
modprobe cls_u32

$TC qdisc add dev $DEV root handle 1: cbq avpkt 1000 bandwidth 10mbit
$TC class add dev $DEV parent 1: classid 1:1 cbq rate $RATE \
             allot 1500 prio 5 bounded isolated

$TC filter add dev $DEV parent 1: protocol ip prio 16 u32 \
         match ip dst 0.0.0.0/0 flowid 1:1

Ok, this is a very hard limit of 768kBits/s for the whole WLAN-interface of the Fritz!Box. Of course you may add lter rules for specific hosts, ports, netmasks or whatever. See the lartc-guide for details.

 

So far theory. But how to get this stuff working on the Fritz!Box? I found the Freetz-project which modifies the original firmware. You may add kernel modules, some applications and a new webinterface.

  1. checkout freetz-stable-1.0 from SVN (freetz-stable-1.1 didn't work with my box - it rebootet every 10 seconds)
  2. do a config and build (make menuconfig; make) and install the image in images/
  3. add the modules sch_cbq,ko and cli_u32.ko to kernel/Config.in
  4. apply my patch add-iproute2-freetz-1.0.patch
  5. make menuconfig; make and install the new image

This is a very rough howto. Don't hesitate to ask you questions as comment.

[ 22.07.2010 ]