Running Debian on the Fujitsu-Siemens Scaleo
I was tempted by the relatively low for a HTPC price tag of 200£ for a reasonably full system (everything but drives). In a hindsight I should have followed the "If it looks to good to be true turn around and walk away" principle. It looks like it will take as much as 50£+ of extra investment to make the system up to scratch.
Hardware
lspci (after throwing out the rather useless Realtek
WiFi? PCI card).
00:00.0 Host bridge: Intel Corporation 82915G/P/GV/GL/PL/910GL Memory Controller Hub (rev 04)
00:02.0 VGA compatible controller: Intel Corporation 82915G/GV/910GL Integrated Graphics Controller (rev 04)
00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 04)
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 04)
00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 04)
00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 04)
00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 04)
00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 04)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d4)
00:1f.0 ISA bridge: Intel Corporation 82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (rev 04)
00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 04)
00:1f.2 IDE interface: Intel Corporation 82801FB/FW (ICH6/ICH6W) SATA Controller (rev 04)
00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 04)
01:05.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306 Fire II IEEE 1394 OHCI Link Layer Controller (rev 80)
01:06.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
01:0b.0 Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev d1)
lsusb
Bus 005 Device 002: ID 1509:925d
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 1509:9242
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 006: ID 05af:0319 Jing-Mold Enterprise Co., Ltd
Bus 003 Device 004: ID 116f:0007 Silicon 10 Technology Corp.
Bus 003 Device 002: ID 04b4:6560 Cypress Semiconductor Corp. CY7C65640 USB-2.0 "TetraHub"
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
The Good
The Scaleo uses the common design for most Fujitsu systems where there is no CPU FAN and the hot air from the CPU is sucked directly into the power supply intake. Very good for noise levels. It is surprisingly nearly silent. The box has a large number of vents to further facilitate any thermal venting. The CPU has a huge heatpipe heatsink which in itself will cost retail north of 20£.
The motherboard is a standard Intel ATX most likely shared with some of the Fuji desktop systems. One low profile PCIE, 3 low profile PCIs, one PCI has a riser to accommodate 2 more standard PCI cards. The maplin config comes with a Video Capture board and a PCI
WiFi? card.
The drive caddy has rubber mounting to reduce noise and is capable to completely eliminate the vibrations from the Hitachi 250G drive I ended up using. There are two full size drive slots - 5" for DVD and 3" for a hard drive.
It suspends to RAM and restores fine under X. As all nearly all Intel 9xx after resuming text consoles are dead. However, that is good enough for use as a media center which never leaves X when up and running. It uses 4.2W in suspend-to-RAM which is fairly reasonable for a P4 based system with a lot of USB peripherals.
The Bad
There is only one IDE ATA port and only one SATA port on the motherboard. So if you want to use both a ATA DVD and a SATA drive you are out of luck.
The drive caddy is very far away from the power supply and is cooled solely via convection. As a result this is clearly not an always on machine. A standard SATA or ATA 3 inch drive will quickly reach temperatures in excess of 47C.
Maplin's default config comes with only one DIMM. As a result it does not utilise the full capabilities of the memory controller. Replacing it with 4x256M or 4x512M of memory is a very good idea.
The Plain Ugly
I have not used Intel GMAs for a long time and I have forgotten just how bad they are. The only reason they are used by anyone is because Intel keeps shovelling them down everyone's throat through mandatory bundling. It is pathetic when a 2009 machine with a 3GHz CPU has video performance which is
*WORSE* than 7 year old Pentium 3s with AGP cards. It started winding me up during install with the pathetically slow terminal scrolling, redrawing left right and center and continued doing so all the way until I tried some media on it.
To add insult to injury the network card is a Realtek 8139. The worst (performancewise) PCI network adapter still manufactured today onboard in a media system. Someone was smoking something very interesting when specifying the hardware for this machine (and most importantly not sharing). Just copying stuff off NFS from a reasonably fast server (Via iDot SW RAID 1) over a 100M link was enough to keep the CPU load at a 100% and nearly all of it in-kernel (system). While it may just about cope to read DVD bitrate material via NFS or SMB off a network server, using it to stream or to accept a stream especially in RTP is an outright delusion. And in order just to make things even more interesting it has a broken
NetBoot? Rom which corrupts the Linux initrd when trying to boot from the network. So the machine cannot run diskless either.
Overall, the system is not capable of displaying DVD resolution on any modern TV (720p+) and is useless without spending at least 40£ on more hardware.
Getting the various non-replaceable bits and pieces to work
LCD Display
I dug up a few references to the module uses in the display on the internet. The starting point was
here. However, I will recommend anyone not to use that. It is not in a form I trust - I would rather use source a properly signed package.
After some more digging I found out the origin of the files on that site. However, the tarball where they come from is as messy as a tarball gets. Binaries not cleaned up, the configure and automake files are messed up, etc. So I ended up isolating the actual sources for dm140, reviewing them and adding them to the debian package by hand.
After that it worked for simple stuff and the included examples in lcdproc. However the moment I tried a more complex example (the fortune script from the LCD package) it coredumped. So frankly the source floating around the internet is not fit for purpose at present. I am going to sit down and run it under gdb when I get some free time to fix it to a state where it can go into the main lcdproc tree (it misses bounds checking here and there).
Card reader
The card reader is not always detected reliably on boot. A few resets from suspend to RAM later it is detected and seems to work (need proper testing).
IR Remote control
The IR is a bog standard Philips version of Microsoft Media Center remote and it just works with the standard config files from the
MythTV? library. However the PC itself has no means to configure any wake-up from USB different from USB keyboard events. So it is not possible to wake it with the remote if it has been put to sleep which is genuinely stupid.
Use as a Media Center
I am using it with my standard
navigation setup based around konqueror with the only difference from my previous P3 based media center being that it is not diskless. This way I can put it into suspend-to-RAM from the remote using an elementary shell script bound to the power key via lirc.
After getting sufficiently annoyed by the GMA I found an open-box HP Nvidia Qudaro NVS 290 at a good discount price and managed to adapt it to low-profile (HP ships a card that was designed and intended as low profile as a full profile only). Unfortunately here is where I hit the worst of the Scaleo quirks.
Adding an PCI-E Graphics card (Nvidia)
Once I added the Quadro NVS the sound started showing clearly audible interruptions. A quick investigation showed that the retarded thing had allocated the Intel HDA to the same interrupt as the nvidia.
pacem:~# cat /proc/interrupts
CPU0
0: 67 IO-APIC-edge timer
1: 2 IO-APIC-edge i8042
6: 3 IO-APIC-edge floppy
8: 2 IO-APIC-edge rtc0
9: 0 IO-APIC-fasteoi acpi
14: 13422 IO-APIC-edge ide0
15: 0 IO-APIC-edge ide1
16: 118394 IO-APIC-fasteoi uhci_hcd:usb5, nvidia, HDA Intel
17: 2 IO-APIC-fasteoi ohci1394
18: 1507691 IO-APIC-fasteoi uhci_hcd:usb4, eth0
19: 0 IO-APIC-fasteoi uhci_hcd:usb2, ata_piix
23: 45183 IO-APIC-fasteoi uhci_hcd:usb1, ehci_hcd:usb3
NMI: 0 Non-maskable interrupts
LOC: 717071 Local timer interrupts
RES: 0 Rescheduling interrupts
CAL: 0 function call interrupts
TLB: 0 TLB shootdowns
TRM: 0 Thermal event interrupts
SPU: 0 Spurious interrupts
ERR: 0
MIS: 0
From there on no matter what I did, no matter what cards I added or removed the defects in sound reproduction remained there. I was ready to write off the investment and either relegate the machine to desktop use or pull
nvidia out and suffer GMA output. However, reading the driver source and options gave me an idea on how to solve it and voila - it started working as it should. I enabled
Message Signalled Interrupts on the HDA. This moved the HDA to a virtual interrupt of its own and it started working properly:
CPU0
0: 67 IO-APIC-edge timer
1: 2 IO-APIC-edge i8042
6: 3 IO-APIC-edge floppy
8: 2 IO-APIC-edge rtc0
9: 0 IO-APIC-fasteoi acpi
14: 13422 IO-APIC-edge ide0
15: 0 IO-APIC-edge ide1
16: 118394 IO-APIC-fasteoi uhci_hcd:usb5, nvidia
17: 2 IO-APIC-fasteoi ohci1394
18: 1507691 IO-APIC-fasteoi uhci_hcd:usb4, eth0
19: 0 IO-APIC-fasteoi uhci_hcd:usb2, ata_piix
23: 45183 IO-APIC-fasteoi uhci_hcd:usb1, ehci_hcd:usb3
222: 60678 PCI-MSI-edge HDA Intel
NMI: 0 Non-maskable interrupts
LOC: 717071 Local timer interrupts
RES: 0 Rescheduling interrupts
CAL: 0 function call interrupts
TLB: 0 TLB shootdowns
TRM: 0 Thermal event interrupts
SPU: 0 Spurious interrupts
ERR: 0
MIS: 0
Looking around the web there is a slew of various choppy sound problem conditions related to HDA. I would not be surprised if a lot of them are actually the same as the one I have encountered and can be solved using the same solution.
Once I was done with the changes the system showed fairly reasonable performance - around 100 W in use, 4.7W in suspend to RAM. Load average and thermals were also fairly good:
| Load Average |
|
| System Temperature |
|
| Nvidia GPU Temperature |
The peaks above 54 are from running the system with the lid off. Its thermals are actually better with the lid on |