This is yet another page for installing GNU/Linux on a DELL Inspiron 8500. It is possible that most of this information can be used with the DELL Inspiron 8600, since they are very similar models.
I will report how I got most of the components working, and give some tips on how to do some tasks the "Debian way", although I am still new to Debian myself.
A summary of components and installation status follows.
|Graphics card||ATI Radeon Mobility 9000||Working||-||Default debian X server does not work. 4.3.0 downloaded|
|Screen||WSXGA+ (1680x1050)||Working||-||1680x1050 modeline auto-detected!|
|Hard Disk||Hitachi DK23EB-40 (40 GB)||Working||-||UDMA 100 available after kernel compile|
|DVD/CDRW||Hitachi GCC-4240N||Working||-||SCSI emulation needed for cdrecord|
|On-board Ethernet||Broadcom BCM4401||Working||17-10-2003||driver module builtin from 2.4.21 and on|
|On-board Sound Card||Intel i810||Some problems||-||Works with alsa. Some problems with modem|
|On-board Modem||Pctel||Some problems||-||No driver in kernel. Driver source exists|
|Mini-pci wireless||DELL Truemobile 1150||Working||15-11-2003||Could not connect aux antenna|
|Touchpad/Stick||Unknown||Working||-||Works out of the box|
|PCMCIA/Cardbus||Texas Instruments||Working||-||Works out of the box|
|Infared||Unknown||Working||-||SIR driver. Only up to 115200 bps|
|Firewire||Texas Instruments||Working||-||Works out of the box|
|USB||Intel||Working||-||Works out of the box with USB2 support.|
|Keyboard special keys||-||Working||-||Some hacks needed|
All downloadable files all located in this directory.
The laptop came with Windows XP Home pre-Installed. I resized the Windows XP partition to 6 GB and installed debian woody (3.0r0) to the rest of the disk, from the CDs (7 of them). When the installation ended, almost nothing worked (this is quite expected on a laptop installation). Once I got the ethernet working, I hacked the apt sources file (replaced the CD entries with network entries) and updated everything:
# apt-get update # apt-get -u upgrade
Essentially, from that moment on, my system was not 3.0r0 anymore :-).
When I performed the installation, linux 2.4.20 was the stable kernel. I started with some tips from Graeme Wilford's page (thanks Graeme). Kernel patches that have found their way into the main kernel source tree have fixed some problems reported by Graeme. For instance, the IDE chipset problem and the immature ACPI have been fixed with recent kernels (like 2.4.22 I am using now).
What you will see in this page is the result of experimentation with different kernels and packages, so I cannot document exactly how I arrived at this state step by step. I will explain though, my current configuration and report updates from now on. It is possible that I forgot to include in this page some of the configuration I did, so if you find such a case, please contact me so that I can update this page and make it more usefull.
Update 26-12-2003: I am now using kernel 2.6.0
I got linux kernel 2.4.22 from my local kernel mirror and applied the ACPI patch for that kernel (I got that from the ACPI4Linux page).
If you don't compile the kernel the "debian way" you are not a true
debian user :-). You will need to install the kernel-package
package in order to do that. Documentation for the compilation proccess
can be found on the man page of make-kpkg and the documentation
Briefly, here is how it goes:
tar xzvf linux-2.4.22.tar.gz cd linux-2.4.22 patch -p1 < acpi-20030918-2.4.22.diff
For the configuration you can either use an old configuration file (here is mine):
$ cp config-2.4.22 .config $ make oldconfig
or start from the beginning:
$ make menuconfig
Nothing unusual up to this point, but here is where the debian magic begins:
# make-kpkg --revision Custom.1 binary
This command will produce four debian packages on the directory below the kernel tree. Installing the kernel is as easy as installing the packages:
dpkg -i kernel-image-2.4.22_Custom.1_i386.deb dpkg -i kernel-headers-2.4.22_Custom.1_i386.deb dpkg -i kernel-source-2.4.22_Custom.1_all.deb (optional) dpkg -i kernel-doc-2.4.22_Custom.1_all.deb (optional)
The default lilo.conf has two entries for /vmlinuz and /vmlinuz.old. Every time you install a kernel package, the new kernel is linked to /vmlinuz and the old to /vmlinuz.old. So when the post-install script of the kernel-image package is executed, both the latest kernel and the previous kernel are installed. It never hurts though to check these things, if you don't want to be looking for rescue disks...
NOTE: The standard way to find kernel headers nowadays is the link /lib/modules/`uname -r`/build. This link *should* point to the root of the kernel tree (only the include directory is used). After the compilation, this links points to the kernel you untared (/usr/local/src/linux-2.4.22 for me). If this link is to be operational, you have two choices. Either leave the untared kernel intact, or change the link to point at /usr/src/kernel-headers-2.4.22 which is the location debian installs kernel headers. I did the former, because I like to have handy the kernel sources of the running kernel.
When it comes to modules configuration, the "debian way" is NEVER to edit /etc/modules.conf file by hand. A file has to be added in the directory /etc/modutils, with the contents you would normally put in modules.conf, and the utility update-modules has to be called afterwards (warning: changes are coming here for 2.6.x). Quite an elegant solution for installation of packages with kernel modules.
If you want a module to be loaded at system start-up you have to edit the file /etc/modules. One line per module, without options. My file looks like this:
# /etc/modules: kernel modules to load at boot time. # # This file should contain the names of kernel modules that are # to be loaded at boot time, one per line. Comments begin with # a "#", and everything on the line after them are ignored. ptserial sbp2 usb-uhci mousedev hid usbmouse snd-card-0 i8k usb-storage
DELL issues BIOS updates from time to time. There is a changelog, but I can't always figure out to what extent they have helped with linux problems.
Anyway, I got the laptop with version A02, but right now I have flashed up to A05. DELL's site is quite complicated so I can't give a direct link from where I got that, go find it yourself if you don't trust me :-).
Testing, testing and testing... I started with tips from Graeme's page and kernel 2.4.20 to get the battery and proccessor working properly. A lot of experimentation and two kernel versions after that, things are more stable.
I now use 2.4.22 with a minimal (and probably irrelevant) patch from the ACPI4Linux page (see kernel section). The power and lid switches, the battery and the proccessor are all recognized properly. Some problems that still exist:
At the time of this writting I am using bios version A05. I see this at boot time with ACPI debug enabled (google bite):
ACPI: have wakeup address 0xc0001000 On node 0 totalpages: 130990 zone(0): 4096 pages. zone(1): 126894 pages. zone(2): 0 pages. Dell Inspiron with broken BIOS detected. Refusing to enable the local APIC. ACPI: RSDP (v000 DELL ) @ 0x000fdf00 ACPI: RSDT (v001 DELL CPi R 0x27d3091e ASL 0x00000061) @ 0x1fff0000 ACPI: FADT (v001 DELL CPi R 0x27d3091e ASL 0x00000061) @ 0x1fff0400 ACPI: DSDT (v001 INT430 SYSFexxx 0x00001001 MSFT 0x0100000e) @ 0x00000000 ACPI: Subsystem revision 20030918 tbxface-0117  acpi_load_tables : ACPI Tables successfully acquired Parsing all Control Methods:......................................................................................................................................................................... Table [DSDT](id F004) - 418 Objects with 67 Devices 169 Methods 5 Regions ACPI Namespace successfully loaded at root c046ffdc evxfevnt-0093  acpi_enable : Transition to ACPI mode successful evgpeblk-0748  ev_create_gpe_block : GPE 00 to 31 [_GPE] 4 regs at 0000000000000828 on int 9 schedule_task(): keventd has not started Completing Region/Field/Buffer/Package initialization:............................................................... Initialized 5/5 Regions 10/10 Fields 23/23 Buffers 25/25 Packages (426 nodes) Executing all Device _STA and_INI methods:.................................................................... 68 Devices found containing: 68 _STA, 3 _INI methods ACPI: Interpreter enabled ACPI: Using PIC for interrupt routing ACPI: System [ACPI] (supports S0 S1 S3 S4bios S4 S5) ACPI: PCI Root Bridge [PCI0] (00:00) ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] ACPI: PCI Interrupt Link [LNKA] (IRQs 9 10 *11) ACPI: PCI Interrupt Link [LNKB] (IRQs 5 7) ACPI: PCI Interrupt Link [LNKC] (IRQs 9 10 *11) ACPI: PCI Interrupt Link [LNKD] (IRQs 5 7 9 10 *11) ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 9 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 9 10 *11 12 14 15) ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.AGP_._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIE._PRT] ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11 ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11 ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11 ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 11 ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11 PCI: Using ACPI for IRQ routing PCI: if you experience problems, try using option 'pci=noacpi' or even 'acpi=off' ACPI: AC Adapter [AC] (on-line) ACPI: Battery Slot [BAT0] (battery present) ACPI: Battery Slot [BAT1] (battery absent) ACPI: Lid Switch [LID] ACPI: Power Button (CM) [PBTN] ACPI: Sleep Button (CM) [SBTN] ACPI: Processor [CPU0] (supports C1 C2 C3, 6 performance states, 8 throttling states) ACPI: Thermal Zone [THM] (53 C)
The i8k module does not load gracefully, so I compiled it as a module and forced it to load. I created /etc/modutils/i8k with the following contents:
#i8k has to be forced options i8k force=1
After the module loads (see this), I can do:
$ cat /proc/i8k 1.0 A05 137KT21 48 1 2 144630 114360 -1 2
I use this module with the i8k plugin for GKrellM. Recently, after noticing that the fans where working too much, and they stopped at gkrellm stutdown, I found out that this plugin regulated the fan speed according to the temperature. This sucks! I want the system to regulate the fan speed, not an application.
While looking at the plugin code I found an option that disables the command sending to the kernel, but also disables reading the status from /proc/i8k. After applying this patch, and recompiling with make fake, the plugin does read the speed from proc and does not issue commands.
With the default debian kernel, the IDE controller is not recognized so DMA is NOT enabled. Booting with the new, shiny kernel fixes this problem:
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx ICH4: IDE controller at PCI slot 00:1f.1 PCI: Enabling device 00:1f.1 (0005 -> 0007) ICH4: chipset revision 3 ICH4: not 100% native mode: will probe irqs later ide0: BM-DMA at 0xbfa0-0xbfa7, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0xbfa8-0xbfaf, BIOS settings: hdc:DMA, hdd:pio hda: HITACHI_DK23EB-40, ATA DISK drive blk: queue c048c8e0, I/O limit 4095Mb (mask 0xffffffff) hdc: HL-DT-STCD-RW/DVD-ROM GCC-4240N, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 hda: attached ide-disk driver. hda: host protected area => 1 hda: 78140160 sectors (40008 MB) w/2048KiB Cache, CHS=4864/255/63, UDMA(100) Partition check: hda: hda1 hda2 hda3 hda4 < hda5 hda6 > ide: late registration of driver.
and gives something like this:
# hdparm -t /dev/hda /dev/hda: Timing buffered disk reads: 64 MB in 2.25 seconds = 28.44 MB/sec
After a kernel upgrade (I don't remember which one, but it was somewhere around 2.4.21 I think), the radeonfb module auto-detected the LCD panel size and automatically adjusted the console frame buffer! Now I have a cute penguin at startup (which is what is all about :-) ) and a decent console font. I see this at startup:
radeonfb: ref_clk=2700, ref_div=12, xclk=19500 from BIOS radeonfb: panel ID string: 7T774^D154P1 radeonfb: detected LCD panel size from BIOS: 1680x1050 Console: switching to colour frame buffer device 210x65 radeonfb: ATI Radeon M9 Lf DDR SGRAM 32 MB radeonfb: DVI port LCD monitor connected radeonfb: CRT port no monitor connected
Here is my XF86Config-4 file. Initially I had to define the modeline for 1680x1050 myself (I found it in another site). One of the updates caused the modeline to get automatically detected so I commented my entry (it was probably the radeonfb update). Here are the device and monitor sections:
Section "Device" Identifier "RADEON 9000 - ati" # native X driver, loads "radeon" module Driver "ati" # Kernel hangs when this is enabled # Option "AGPMode" "4" # This works Option "AGPFastWrite" "on" # Option "DDCMode" "on" # Option "CloneDisplay" "1" # Option "CloneMode" "640x480" EndSection Section "Monitor" Identifier "TFT" HorizSync 30-60 VertRefresh 60 Option "DPMS" # UseModes "WIDE" EndSection
Actually there are two drivers for this card, ati (included in the X server) and fglrx (released by ATI, with binary-only parts). I have tried them both and they work pretty fine when it comes to X on the TFT monitor. I choose the ati driver not only because the other is proprietary, but because it offers nothing more.
As expected, the dri module included in the kernel is really old, and it fails to work with X. I downloaded dri source from the X server site and compiled the dri module, but when I enable DRI the system hangs some times on X server shutdown.
No luck with the proprietary DRI driver either. The system hangs when I switch from X to console.
As a result, I disabled DRI in X to avoid this problems. No 3D accelaration for me, but I don't really mind, I can wait for the next version (I haven't found much use for it anyway).
No luck here either. No TV-out support for the ati driver.
With the fglrx driver, the TV does show something, but the image is really messed up (looks like a really wrong modeline for the screen). Moreover, when I switch from console to X and back, something weird happens to the color map.
Both drivers work with the external monitor. The main problem is that the graphics card drives the CRT at "1680x1050" which is a resolution that no sane CRT monitor supports. I had no luck driving the external monitor and the LCD panel at different resolutions, although I have not done extensive tests. If someone has a solution from this problem (pereferably with the ati driver), please contact me.
There is a lot of history here. Initially drivers existed only here. Later, broadcom started giving its own drivers (source), here.
From version 2.4.22-pre10, the official linux kernel tree has a driver for the bcm 440x card. I don't know where the source that was embedded in the kernel came from.
For some time I have been using the driver from broadcom (version 2.0.5), without any problems. Now I switched to the driver included in the kernel and is seems to be working good as well.
For the auto module loading to work, I created the file /etc/modutils/eth0 with the following contents:
# build-in ethernet card from Broadcom alias eth0 b44
Update 17-10-2003: I just discovered that the on board ethernet auto detects a cross or straight etnernet configuration. The b44 module has some problems with that. I was using a straight etnernet cable to connect two computers and this driver failed some times. The only solution I found was to remove the module and reload it.
The chipset of the sound card works pretty well with ALSA. I tried all the versions from 0.9.4 that was out a few months ago, to 0.9.7c that was released recently. They all worked fine. I compiled the driver, the library and the utilities myself, although some debian packages do exist. I compiled with --with-cards=intel8x0 and added another file (/etc/modutils/alsa) to the modules directory with the following contents:
# ALSA portion alias char-major-116 snd alias snd-card-0 snd-intel8x0 # module options should go here # OSS/Free portion alias char-major-14 soundcore alias sound-slot-0 snd-card-0 # card #1 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss
The only problem I had so far is that all channels are muted on system startup. The alsa sound script that is installed at /etc/init.d/alsasound is supposed to restore the volume levels on startup to a preffered setting by calling the alsactl utility, but I had no luck with that yet.
No driver exitst in the main kernel tree. A driver for the modem can be found here (compile with --with-hal=i8xx). This driver works with the problems reported by Graeme (no dialtone can be heard, a "DELAYED" is returned at dial-out). The DELAYED problem is fixed by a later version found at this site.
For modules configuration, I added the file /etc/modutils/modem with the following contents:
# Built-in modem from PCTEL # values from /proc/pci alias char-major-62 ptserial install ptserial insmod -f ptserial irq=11 iobase=0xb400 iobase1=0xb080 country_code=0
This it the kernel output when I load the pctel and ptserial modules:
AC97 modem device forced to iobase_0=0xb400, iobase_1=0xb080, irq=11 PCTel driver version 0.9.7-6 [5.05c-4.27.215 (09-14-2001)] (MR) (2002-01-31) with MANY_PORTS SHARE_IRQ SERIAL_PCI AUDIO_ROUTING[INTEL] enabled. PCTel driver built on [Linux 2.4.22 i686 unknown "2.4.22 <132118>"] with gcc-2.95.4. ttyS15 at 0xb400 (irq = 11) is a PCTel
A device has to be added to access the modem:
mknod c /dev/ttyS15 62 79
I noticed that when the modem is first accessed, the frequency of the sound card is messed up (the sound plays faster than normal). I tried loading the modules in a different order but the problem still exists. I have not looked into this, because I never use the modem (my network access is always through the ethernet card),
I bought the Dell truemobile mini-pci wireless card after reading reports that is is supported on linux. Indeed the card was recognized with the first boot.
Surprisingly, the card was used by the PCMCIA subsystem. The orinoco_cs module was loaded, which I already had compiled as a module in my kernel. I had compiled the orinoco_pci driver to be prepared, but that wasn't needed at all. It looks like the mini-pci slot is bridged to the second PCMCIA slot. Well, that explains the detection of the second PCMCIA slot in linux...
Of course I have the same problem the others did with the antenna. The auxiliary antenna cable is too short to be connected to this card. A cable was included in the package, but there is no way to find where the other side ends inside the laptop. So I connected only the main antenna and so far I have no problem with reception.
The infared interface it binded by the BIOS to ttyS1 and works with the irtty driver. The debian packages required are idra-common and irda-tools. I edited the /etc/irda.conf file:
#irda.conf Version: 1.0 IRDADEV=/dev/ttyS1 #DONGLE= # specify dongle type DISCOVERY=-s ENABLE=yes # if you do not need to start irattach, set "no"
The irattach daemon (called by the irda script /etc/init.d/irda) now make the ttyS1 device available for applications. I have used the irda port successfully with my NOKIA phone (7110) and gnokii (or xgnokii).
The irtty module restricts the irda port to serial speeds (115200 bps), while the port can support higher speeds. I have found no use for the rest of the supported irda protocols (irLAN, irNET, irCOMM) and the serial speed is enough for communication with the mobile phone. The proper way to support the irda device is with an FIR driver (4Mbps), but I believe that such driver does not exist for this chipset.
I use firewire with an external hard disk enclosure from CHRONOS. It works pretty well with the ohci1394 and sbp2 modules.
ohci1394: $Rev: 1010 $ Ben Collins <email@example.com> ohci1394_0: OHCI-1394 1.1 (PCI): IRQ= MMIO=[faffd800-faffdfff] Max Packet=This script is needed for the hot-plugging to work properly. I run this script every time I remove the hard disk. Kernel 2.6 will support hot-plugging internally, so this will not be needed.
usb.c: registered new driver usbdevfs usb.c: registered new driver hub usb-uhci.c: $Revision: 1.275 $ time 00:00:22 Oct 17 2003 usb-uhci.c: High bandwidth mode enabled PCI: Setting latency timer of device 00:1d.0 to 64 usb-uhci.c: USB UHCI at I/O 0xbf80, IRQ 11 usb-uhci.c: Detected 2 ports usb.c: new USB bus registered, assigned bus number 1 hub.c: USB hub found hub.c: 2 ports detected PCI: Setting latency timer of device 00:1d.1 to 64 usb-uhci.c: USB UHCI at I/O 0xbf40, IRQ 11 usb-uhci.c: Detected 2 ports usb.c: new USB bus registered, assigned bus number 2 hub.c: USB hub found hub.c: 2 ports detected PCI: Setting latency timer of device 00:1d.2 to 64 usb-uhci.c: USB UHCI at I/O 0xbf20, IRQ 11 usb-uhci.c: Detected 2 ports usb.c: new USB bus registered, assigned bus number 3 hub.c: USB hub found hub.c: 2 ports detected usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
Using the ehci-hcd module:
ehci_hcd 00:1d.7: Intel Corp. 82801DB USB2 ehci_hcd 00:1d.7: irq 11, pci mem e2aa8c00 usb.c: new USB bus registered, assigned bus number 4 ehci_hcd 00:1d.7: enabled 64bit PCI DMA PCI: 00:1d.7 PCI cache line size set incorrectly (0 bytes) by BIOS/FW. PCI: 00:1d.7 PCI cache line size corrected to 128. ehci_hcd 00:1d.7: USB 2.0 enabled, EHCI 1.00, driver 2003-Jun-19/2.4the USB2 devices (the disk enclosure and the memory stick) where recognized correctly and operated at high speeds.
Also works pretty well. At first, I used the IDE-CDROM driver, but later I switched to SCSI emulation because of the cdrecord software requirements. I compiled IDE-CDROM driver and the SCSI emulation (ide-scsi) drivers as modules and the SCSI-CDROM driver builtin. When the system boots my device is recognized as a SCSI CD-ROM drive:
hdc: HL-DT-STCD-RW/DVD-ROM GCC-4240N, ATAPI CD/DVD-ROM drive SCSI subsystem driver Revision: 1.00 hdc: attached ide-scsi driver. scsi0 : SCSI host adapter emulation for IDE ATAPI devices Vendor: HL-DT-ST Model: RW/DVD GCC-4240N Rev: D110 Type: CD-ROM ANSI SCSI revision: 02 Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0 sr0: scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray Uniform CD-ROM driver Revision: 3.12
Some Debian script automatically fixes the /dev/cdrom0 link to point now at /dev/scd0, which is the correct device.
I have written CDs at the highest speed available (24X) with no problems. Some disks refuse to be written at high speeds, but I guess this is due to the detection of the cdrecord software.
My DVD/CDRW combo is region 1 because I bought it from the US. Recently a firmware has been released from the The firmware page that makes the region information reset on every reboot. So technically, the DVD is not region free, it still has only 5 changes, but on every boot the number always resets to 5. I downloaded the firmware and the related DOS utilities from this page.
I created this Xmodmap file and saved it to my home directory as ".Xmodmap". By default gnome does not allow user-defined keymaps, so I had to add allow-user-modmap to the /etc/X11/Xsession.options file. After this, I was able to grab the keycodes with the sawfish configuration tool and assign functions to them. I configured the CD buttons (the ones on the right) to control xmms.
This is my sawfish configuration for the keys:
|Key||Code||Action ("run-shell-command" directive)|
|CDROM eject||F28||eject /cdrom|
|Next Track||F29||ps -ef | grep xmms | grep -v grep && xmms -f|
|Previous Track||F30||ps -ef | grep xmms | grep -v grep && xmms -r|
|Stop||F31||ps -ef | grep xmms | grep -v grep && xmms -s|
|Play/Pause||F32||ps -ef | grep xmms | grep -v grep && xmms -t|
|Mute||F33||amixer set Master toggle; amixer set Headphone toggle|
|Volume Up||F34||amixer set Master 2+; amixer set Headphone 2+|
|Volume Down||F35||amixer set Master 2-; amixer set Headphone 2-|
Being curious about ACPI suspend states, I gave the 2.6.x kernel a try. I downloaded and compiled 2.6.0-test7. I also needed the updated module utilities, which are now called module-init-tools, from http://www.apt-get.org/. Fortunately, these are fully backwards compatible with 2.4, so now that I switched back to 2.4.22 I still use these toos and still am 2.6.x ready :-).
Suspend to RAM does work with 2.6. I lost the mouse on resume but everything else seems to be working. Suspend to disk hangs, but I have not tried it extensively. The radeon framebuffer does not work anymore. Overall though, 2.6 seems promising.
The radeon problem was fixed with
this one line patch.
Update 30-1-2004: According to the kernel changelog, this problem was fixed in 2.6.2-rc2. I believe this is the same patch I mentioned above.
I now run kernel 2.6.0. Here is what I have seen so far.
Stuff that work:
Stuff that don't work anymore:
New stuff, not tested:
Email: amanous at softlab.ntua.gr