- Controller: Intel ICH6 SATA controller, PCI ID 8086:2653
- Driver: ata_piix (SATA mode), ide_generic/piix (IDE mode)
- HD: Fujitsu MHT2080B, 77.7G
- CD/DVD writer: Matshita UJ-822s
hard disk controller and drive
The ICH6 controller is causing trouble. The HD performance is good (34MB/s from hdparm), but:
- To make the DVD-ROM drive work, the "piix" and "ide_generic" drivers are required. But Debian loads the SATA driver "ata_piix" first, which blocks the IO ports at 0170-0177, so that "piix" won't load. The standard debian kernel's libata implementation has no ATAPI support in libata, so that the CD-ROM isn't detected (I consider this a libata/ata_piix bug: if the CD drive can't be handled, the IO ports of that controller should be freed).
- Use "expert" mode and load "piix" and "ide-generic" in the media detection stage. Load "ata_piix" later.
Before rebooting, enter the following lines in /etc/mkinitrd/modules and rerun mkinitrd:
- If the modules are loaded in this order, they share the resources nicely.
Unfortunately, the ata_piix driver currently supports neither SMART command to monitor driver health nor Suspend/resume commands for saving disk power. The laptop-mode-tools package will be useless with this laptop until a replacement for hdparm for SATA drives is available (there is sdparm but it can't put disks in standby mode). Both SMART aund Suspend/Resume will be available soon, as announced on the the SATA software status page.
The SATA hard disk (Intel ICH6) was detected, but it was running in PIO mode with the generic IDE driver and was dead slow (measured 2.5MB/s) with the 2.4.27-2 kernel. The ata_piix driver of Sarge's 2.6.8-2 kernel failed to detect the ICH6 chipset. The X50's HDD can currently not be driven appropriately with the kernels available natively for Sarge.
CD-ROM drive/DVD burning
The ide_generic driver is used to access rhe CD/DVD under Debian (2.6.12). Therefore DMA is disabled, and the CD/DVD drive is extremely slow. This effectively makes watching DVDs or burning CDs impossible.
(people have suggested adding the ICH6 in "extended mode" to the list of devices supported by the piix IDE driver. This does not work on the X50, because the piix driver will now grab all interfaces and the HD won't be detected)
Workaround for kernels <2.6.14: Enable ATAPI support in libata by setting #define ATA_ENABLE_ATAPI in include/linux/libata.h and recompile your kernel. This works fine for me. The CD drive will now show up as SCSI device /dev/scd0. I get ~15x CD-writing speed with this setup.
Update: 2.6.14 has ATAPI support in libata enabled by default, no recompilation necessary. But ATAPI support now needs to be enabled by creating a file libata.conf in /etc/modprobe.d containing the line
options libata atapi_enabled=1
CD writing with cdrecord doesn't work with 2.6.14. Haven't yet figured out why. Other people have reported similar problems. 2.6.15-1 fixes this problem for me.
DVD playback: Strangely, playback of encrypted DVDs using libdvdcss2 did not work (read errors during playback) until I installed the DVD playback software bundled with the Laptop under Windows. After the Windows software had been installed, Linux DVD playback worked just fine.
Update 2005-12-22: I have been told this is due to the DVD region code being unset when the laptop is delivered. So I could have made the DVD playback work with the regionset tool. Unfortunately, it's now too late to test that.
cdrecord reported CD/DVD-Drive capabilities
# cdrecord -scanbus dev=ATAPI: Cdrecord-Clone 2.01.01a01 (i686-pc-linux-gnu) Copyright (C) 1995-2004 Joerg Schilling [...] scsibus1: 1,0,0 100) 'MATSHITA' 'DVD-RAM UJ-822S ' '1.00' Removable CD-ROM # cdrecord -prcap dev=ATA:1,0,0 Cdrecord-Clone 2.01.01a01 (i686-pc-linux-gnu) Copyright (C) 1995-2004 Joerg Schilling scsidev: 'ATA:1,0,0' devname: 'ATA' scsibus: 1 target: 0 lun: 0 Warning: Using badly designed ATAPI via /dev/hd* interface. Linux sg driver version: 3.5.27 Using libscg version 'ubuntu-0.8ubuntu1'. cdrecord: Warning: using inofficial version of libscg (ubuntu-0.8ubuntu1 '@(#)scsitransp.c 1.91 04/06/17 Copyright 1988,1995,2000-2004 J. Schilling'). Device type : Removable CD-ROM Version : 0 Response Format: 2 Capabilities : Vendor_info : 'MATSHITA' Identifikation : 'DVD-RAM UJ-822S ' Revision : '1.00' Device seems to be: Generic mmc2 DVD-R/DVD-RW. Drive capabilities, per MMC-3 page 2A: Does read CD-R media Does write CD-R media Does read CD-RW media Does write CD-RW media Does read DVD-ROM media Does read DVD-R media Does write DVD-R media Does read DVD-RAM media Does write DVD-RAM media Does support test writing Does read Mode 2 Form 1 blocks Does read Mode 2 Form 2 blocks Does read digital audio blocks Does restart non-streamed digital audio reads accurately Does support Buffer-Underrun-Free recording Does read multi-session CDs Does read fixed-packet CD media using Method 2 Does read CD bar code Does not read R-W subcode information Does read raw P-W subcode data from lead in Does return CD media catalog number Does return CD ISRC information Does support C2 error pointers Does deliver composite A/V data Does play audio CDs Number of volume control levels: 256 Does support individual volume control setting for each channel Does support independent mute setting for each channel Does not support digital output on port 1 Does not support digital output on port 2 Loading mechanism type: tray Does support ejection of CD via START/STOP command Does not lock media on power up via prevent jumper Does allow media to be locked in the drive via PREVENT/ALLOW command Is not currently in a media-locked state Does not support changing side of disk Does not have load-empty-slot-in-changer feature Does not support Individual Disk Present feature Maximum read speed: 5540 kB/s (CD 31x, DVD 4x) Current read speed: 5540 kB/s (CD 31x, DVD 4x) Maximum write speed: 3324 kB/s (CD 18x, DVD 2x) Current write speed: 3324 kB/s (CD 18x, DVD 2x) Rotational control selected: CLV/PCAV Buffer size in KB: 2048 Copy management revision supported: 1 Number of supported write speeds: 1 Write speed # 0: 3324 kB/s CLV/PCAV (CD 18x, DVD 2x)