2004-09-25 19:14:37

by micah milano

[permalink] [raw]
Subject: SiI3112 Serial ATA Maxtor 6Y120M0 incorrect geometry detected

I've got two Maxtor 6Y120M0 drives, same firmware, but they show up
with differing CHS when I attempt to partition them, however it seems
like other places on the system they are detected as having the same
properties. This is making setting up software raid-1 difficult.
Should I boot with a particular geometry specified on the kernel line
to make it correct?

Using fdisk -l on each disk you see that one reports 255 heads, 63
sectors/track, 14946 cylinders and the other reports 16 heads, 63
sectors/track, 238216 cylinders.

This is 2.6.7 (i'm here because the ipmi software from supermicro is
not working for 2.6.8 yet), and I am not able to follow this list, so
please CC me on any reply. I've tried to include all the useful
information, but if I neglected something, please let me know and I
will provide it right away.

Thanks for any insight, this is driving me a little batty,
micah

fdisk -l /dev/hde

Disk /dev/hde: 122.9 GB, 122942324736 bytes
255 heads, 63 sectors/track, 14946 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

fdisk -l /dev/hdg

Disk /dev/hdg: 122.9 GB, 122942324736 bytes
16 heads, 63 sectors/track, 238216 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

parted says:

parted /dev/hde
Error: The partition table on /dev/hde is inconsistent. There are many reasons
why this might be the case. However, the most likely reason is that Linux
detected the BIOS geometry for /dev/hde incorrectly. GNU Parted suspects the
real geometry should be 14946/255/63 (not 238216/16/63). You should check with
your BIOS first, as this may not be correct. You can inform Linux by adding the
parameter hde=14946,255,63 to the command line. See the LILO or GRUB
Information: The operating system thinks the geometry on /dev/hde is
238216/16/63. Therefore, cylinder 1024 ends at 503.999M.

parted /dev/hdg (no error):
Using /dev/hdg
Information: The operating system thinks the geometry on /dev/hdg is
238216/16/63. Therefore, cylinder 1024 ends at 503.999M.

cat /proc/ide/piix

Controller: 0

Intel PIIX4 Ultra 100 Chipset.
--------------- Primary Channel ---------------- Secondary Channel -------------
enabled enabled
--------------- drive0 --------- drive1 -------- drive0 ---------- drive1 ------
DMA enabled: no no yes no
UDMA enabled: no no yes no
UDMA enabled: X X 2 X
UDMA
DMA
PIO

cat /proc/ide/drivers
ide-scsi version 0.92
ide-cdrom version 4.61
ide-disk version 1.18

cat /proc/ide/hde/geometry
physical 16383/16/63
logical 65535/16/63

cat /proc/ide/hdg/geometry
physical 16383/16/63
logical 65535/16/63

hdparm -I /dev/hde

/dev/hde:

ATA device, with non-removable media
Model Number: Maxtor 6Y120M0
Serial Number: Y3MGJ4XE
Firmware Revision: YAR51EW0
Standards:
Supported: 7 6 5 4
Likely used: 7
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 240121728
device size with M = 1024*1024: 117246 MBytes
device size with M = 1000*1000: 122942 MBytes (122 GB)
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 1
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 0
Advanced power management level: unknown setting (0x0000)
Recommended acoustic management value: 192, current value: 254
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5 udma6
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* NOP cmd
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
* SMART feature set
* FLUSH CACHE EXT command
* Mandatory FLUSH CACHE command
* Device Configuration Overlay feature set
* Automatic Acoustic Management feature set
SET MAX security extension
Advanced Power Management feature set
* DOWNLOAD MICROCODE cmd
* SMART self-test
* SMART error logging
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
Checksum: correct


hdparm -I /dev/hdg

/dev/hdg:

ATA device, with non-removable media
Model Number: Maxtor 6Y120M0
Serial Number: Y3MGJ86E
Firmware Revision: YAR51EW0
Standards:
Supported: 7 6 5 4
Likely used: 7
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 240121728
device size with M = 1024*1024: 117246 MBytes
device size with M = 1000*1000: 122942 MBytes (122 GB)
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 1
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 0
Advanced power management level: unknown setting (0x0000)
Recommended acoustic management value: 192, current value: 254
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5 udma6
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* NOP cmd
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
* SMART feature set
* FLUSH CACHE EXT command
* Mandatory FLUSH CACHE command
* Device Configuration Overlay feature set
* Automatic Acoustic Management feature set
SET MAX security extension
Advanced Power Management feature set
* DOWNLOAD MICROCODE cmd
* SMART self-test
* SMART error logging
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
Checksum: correct

hdparm -i /dev/hde

/dev/hde:

Model=Maxtor 6Y120M0, FwRev=YAR51EW0, SerialNo=Y3MGJ4XE
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=DualPortCache, BuffSize=7936kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=240121728
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: (null):

* signifies the current active mode


hdparm -i /dev/hdg

/dev/hdg:

Model=Maxtor 6Y120M0, FwRev=YAR51EW0, SerialNo=Y3MGJ86E
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=DualPortCache, BuffSize=7936kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=240121728
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: (null):

* signifies the current active mode



ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH3: IDE controller at PCI slot 0000:00:1f.1
ICH3: chipset revision 2
ICH3: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0x2060-0x2067, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0x2068-0x206f, BIOS settings: hdc:pio, hdd:pio
hdc: CD-224E, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
SiI3112 Serial ATA: IDE controller at PCI slot 0000:03:02.0
SiI3112 Serial ATA: chipset revision 2
SiI3112 Serial ATA: 100% native mode on irq 26
ide2: MMIO-DMA , BIOS settings: hde:DMA, hdf:DMA
ide3: MMIO-DMA , BIOS settings: hdg:DMA, hdh:DMA
hde: Maxtor 6Y120M0, ATA DISK drive
ide2 at 0xf8858080-0xf8858087,0xf885808a on irq 26
hdg: Maxtor 6Y120M0, ATA DISK drive
ide3 at 0xf88580c0-0xf88580c7,0xf88580ca on irq 26
SiI3112 Serial ATA: IDE controller at PCI slot 0000:03:03.0
SiI3112 Serial ATA: chipset revision 2
SiI3112 Serial ATA: 100% native mode on irq 27
ide4: MMIO-DMA , BIOS settings: hdi:pio, hdj:pio
ide5: MMIO-DMA , BIOS settings: hdk:pio, hdl:pio
hdi: no response (status = 0xfe)
hdk: no response (status = 0xfe)
hdi: no response (status = 0xfe), resetting drive
hdi: no response (status = 0xfe)
hdk: no response (status = 0xfe), resetting drive
hdk: no response (status = 0xfe)
hde: max request size: 64KiB
hde: 240121728 sectors (122942 MB) w/7936KiB Cache, CHS=65535/16/63
/dev/ide/host2/bus0/target0/lun0: p1 p2 p3 < p5 p6 p7 p8 p9 >
hdg: max request size: 64KiB
hdg: 240121728 sectors (122942 MB) w/7936KiB Cache, CHS=65535/16/63
/dev/ide/host2/bus1/target0/lun0:
hdc: ATAPI 24X CD-ROM drive, 128kB Cache, UDMA(33)


Additionally, if I try to partition /dev/hdg (which has no partition
table yet), using fdisk, it strangley doesn't ask me for much
information, such as how large it should be:

fdisk /dev/hdg

The number of cylinders for this disk is set to 238216.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/hdg: 122.9 GB, 122942324736 bytes
16 heads, 63 sectors/track, 238216 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

Device Boot Start End Blocks Id System

Command (m for help): a
Partition number (1-4): 1
Warning: partition 1 has empty type

Command (m for help): p

Disk /dev/hdg: 122.9 GB, 122942324736 bytes
16 heads, 63 sectors/track, 238216 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

Device Boot Start End Blocks Id System
/dev/hdg1 * 1 1 0 0 Empty
Partition 1 does not end on cylinder boundary.

Command (m for help):


2004-09-25 21:07:01

by micah milano

[permalink] [raw]
Subject: Re: SiI3112 Serial ATA Maxtor 6Y120M0 incorrect geometry detected

Some interesting additional information... if I boot with 2.4.25, the
CHS in the dmesg changes to something else, in 2.6.7 it was
CHS=65535/16/63, in 2.4.25 it becomes CHS=238216/16/63.

Looking at what fdisk finds, they are different again:

fdisk -l /dev/hde

Disk /dev/hde: 122.9 GB, 122942324736 bytes
255 heads, 63 sectors/track, 14946 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

fdisk -l /dev/hdg

Disk /dev/hdg: 122.9 GB, 122942324736 bytes
16 heads, 63 sectors/track, 238216 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

Dmesg from 2.4.25:

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ide: late registration of driver.
ICH3: IDE controller at PCI slot 00:1f.1
ICH3: chipset revision 2
ICH3: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0x2060-0x2067, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0x2068-0x206f, BIOS settings: hdc:pio, hdd:pio
SiI3112 Serial ATA: IDE controller at PCI slot 03:02.0
SiI3112 Serial ATA: chipset revision 2
SiI3112 Serial ATA: not 100% native mode: will probe irqs later
ide2: MMIO-DMA , BIOS settings: hde:DMA, hdf:DMA
ide3: MMIO-DMA , BIOS settings: hdg:DMA, hdh:DMA
SiI3112 Serial ATA: IDE controller at PCI slot 03:03.0
SiI3112 Serial ATA: chipset revision 2
SiI3112 Serial ATA: not 100% native mode: will probe irqs later
ide4: MMIO-DMA , BIOS settings: hdi:pio, hdj:pio
ide5: MMIO-DMA , BIOS settings: hdk:pio, hdl:pio
hdc: CD-224E, ATAPI CD/DVD-ROM drive
hde: Maxtor 6Y120M0, ATA DISK drive
blk: queue f8826d08, I/O limit 4095Mb (mask 0xffffffff)
hdg: Maxtor 6Y120M0, ATA DISK drive
blk: queue f882715c, I/O limit 4095Mb (mask 0xffffffff)
hdi: no response (status = 0xfe)
hdk: no response (status = 0xfe)
ide1 at 0x170-0x177,0x376 on irq 15
ide2 at 0xf8879080-0xf8879087,0xf887908a on irq 26
ide3 at 0xf88790c0-0xf88790c7,0xf88790ca on irq 26
hde: attached ide-disk driver.
hde: 240121728 sectors (122942 MB) w/7936KiB Cache, CHS=238216/16/63
hdg: attached ide-disk driver.
hdg: 240121728 sectors (122942 MB) w/7936KiB Cache, CHS=238216/16/63
Partition check:
/dev/ide/host2/bus0/target0/lun0: [PTBL] [14946/255/63] p1 p2 p3 < p5 p6 p7 p8
p9 >/dev/ide/host2/bus1/target0/lun0:

Dmesg from 2.6.7:

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH3: IDE controller at PCI slot 0000:00:1f.1
ICH3: chipset revision 2
ICH3: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0x2060-0x2067, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0x2068-0x206f, BIOS settings: hdc:pio, hdd:pio
hdc: CD-224E, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
SiI3112 Serial ATA: IDE controller at PCI slot 0000:03:02.0
SiI3112 Serial ATA: chipset revision 2
SiI3112 Serial ATA: 100% native mode on irq 26
ide2: MMIO-DMA , BIOS settings: hde:DMA, hdf:DMA
ide3: MMIO-DMA , BIOS settings: hdg:DMA, hdh:DMA
hde: Maxtor 6Y120M0, ATA DISK drive
ide2 at 0xf8858080-0xf8858087,0xf885808a on irq 26
hdg: Maxtor 6Y120M0, ATA DISK drive
ide3 at 0xf88580c0-0xf88580c7,0xf88580ca on irq 26
SiI3112 Serial ATA: IDE controller at PCI slot 0000:03:03.0
SiI3112 Serial ATA: chipset revision 2
SiI3112 Serial ATA: 100% native mode on irq 27
ide4: MMIO-DMA , BIOS settings: hdi:pio, hdj:pio
ide5: MMIO-DMA , BIOS settings: hdk:pio, hdl:pio
hdi: no response (status = 0xfe)
hdk: no response (status = 0xfe)
hdi: no response (status = 0xfe), resetting drive
hdi: no response (status = 0xfe)
hdk: no response (status = 0xfe), resetting drive
hdk: no response (status = 0xfe)
hde: max request size: 64KiB
hde: 240121728 sectors (122942 MB) w/7936KiB Cache, CHS=65535/16/63
/dev/ide/host2/bus0/target0/lun0: p1 p2 p3 < p5 p6 p7 p8 p9 >
hdg: max request size: 64KiB
hdg: 240121728 sectors (122942 MB) w/7936KiB Cache, CHS=65535/16/63
/dev/ide/host2/bus1/target0/lun0:
hdc: ATAPI 24X CD-ROM drive, 128kB Cache, UDMA(33)

Additionally, here is my 2.6.7 kernel config:

#
# Automatically generated make config: don't edit
#
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_STANDALONE=y
CONFIG_BROKEN_ON_SMP=y

#
# General setup
#
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_LOG_BUF_SHIFT=14
CONFIG_HOTPLUG=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set

#
# Loadable module support
#
# CONFIG_MODULES is not set

#
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
CONFIG_MPENTIUM4=y
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
CONFIG_X86_GENERIC=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_ALIGNMENT_16=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
# CONFIG_SMP is not set
# CONFIG_PREEMPT is not set
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_TSC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
CONFIG_X86_MCE_P4THERMAL=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
CONFIG_MICROCODE=y
# CONFIG_X86_MSR is not set
CONFIG_X86_CPUID=y

#
# Firmware Drivers
#
# CONFIG_EDD is not set
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_HIGHMEM=y
# CONFIG_HIGHPTE is not set
CONFIG_MATH_EMULATION=y
CONFIG_MTRR=y
# CONFIG_EFI is not set
# CONFIG_REGPARM is not set

#
# Power management options (ACPI, APM)
#
# CONFIG_PM is not set

#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_ASUS=y
CONFIG_ACPI_TOSHIBA=y
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_BUS=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y
# CONFIG_X86_PM_TIMER is not set

#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
# CONFIG_PCI_USE_VECTOR is not set
# CONFIG_PCI_LEGACY_PROC is not set
CONFIG_PCI_NAMES=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set

#
# PCMCIA/CardBus support
#
# CONFIG_PCMCIA is not set

#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_MISC=y

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_FW_LOADER=y
# CONFIG_DEBUG_DRIVER is not set

#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set

#
# Plug and Play support
#

#
# Block devices
#
CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
CONFIG_BLK_DEV_NBD=y
# CONFIG_BLK_DEV_CARMEL is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_INITRD=y
# CONFIG_LBD is not set

#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
CONFIG_BLK_DEV_IDESCSI=y
# CONFIG_IDE_TASK_IOCTL is not set
# CONFIG_IDE_TASKFILE_IO is not set

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_CMD640 is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
CONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
CONFIG_BLK_DEV_SIIMAGE=y
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_ARM is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
CONFIG_CHR_DEV_SG=y

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y

#
# SCSI Transport Attributes
#
CONFIG_SCSI_SPI_ATTRS=y
# CONFIG_SCSI_FC_ATTRS is not set

#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_MEGARAID is not set
CONFIG_SCSI_SATA=y
# CONFIG_SCSI_SATA_SVW is not set
CONFIG_SCSI_ATA_PIIX=y
# CONFIG_SCSI_SATA_PROMISE is not set
# CONFIG_SCSI_SATA_SX4 is not set
CONFIG_SCSI_SATA_SIL=y
# CONFIG_SCSI_SATA_SIS is not set
# CONFIG_SCSI_SATA_VIA is not set
# CONFIG_SCSI_SATA_VITESSE is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
CONFIG_SCSI_QLA2XXX=y
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set

#
# Multi-device support (RAID and LVM)
#
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_LINEAR=y
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
CONFIG_MD_RAID5=y
# CONFIG_MD_RAID6 is not set
CONFIG_MD_MULTIPATH=y
CONFIG_BLK_DEV_DM=y
CONFIG_DM_CRYPT=y

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set

#
# I2O device support
#
# CONFIG_I2O is not set

#
# Networking support
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_NETLINK_DEV=y
CONFIG_UNIX=y
CONFIG_IPMI_SOCKET=y
CONFIG_NET_KEY=y
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_FWMARK=y
CONFIG_IP_ROUTE_NAT=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_TOS=y
CONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set

#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
CONFIG_IPV6=y
CONFIG_IPV6_PRIVACY=y
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
CONFIG_INET6_IPCOMP=y
CONFIG_IPV6_TUNNEL=y
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set

#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=y
CONFIG_IP_NF_FTP=y
CONFIG_IP_NF_IRC=y
CONFIG_IP_NF_TFTP=y
CONFIG_IP_NF_AMANDA=y
CONFIG_IP_NF_QUEUE=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_LIMIT=y
CONFIG_IP_NF_MATCH_IPRANGE=y
CONFIG_IP_NF_MATCH_MAC=y
CONFIG_IP_NF_MATCH_PKTTYPE=y
CONFIG_IP_NF_MATCH_MARK=y
CONFIG_IP_NF_MATCH_MULTIPORT=y
CONFIG_IP_NF_MATCH_TOS=y
CONFIG_IP_NF_MATCH_RECENT=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_DSCP=y
CONFIG_IP_NF_MATCH_AH_ESP=y
CONFIG_IP_NF_MATCH_LENGTH=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_MATCH_TCPMSS=y
# CONFIG_IP_NF_MATCH_STEALTH is not set
CONFIG_IP_NF_MATCH_HELPER=y
CONFIG_IP_NF_MATCH_STATE=y
CONFIG_IP_NF_MATCH_CONNTRACK=y
CONFIG_IP_NF_MATCH_OWNER=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_REDIRECT=y
# CONFIG_IP_NF_TARGET_NETMAP is not set
CONFIG_IP_NF_TARGET_SAME=y
CONFIG_IP_NF_NAT_LOCAL=y
CONFIG_IP_NF_NAT_SNMP_BASIC=y
CONFIG_IP_NF_NAT_IRC=y
CONFIG_IP_NF_NAT_FTP=y
CONFIG_IP_NF_NAT_TFTP=y
CONFIG_IP_NF_NAT_AMANDA=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_TOS=y
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_IP_NF_TARGET_DSCP=y
CONFIG_IP_NF_TARGET_MARK=y
CONFIG_IP_NF_TARGET_CLASSIFY=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_IP_NF_TARGET_ULOG=y
CONFIG_IP_NF_TARGET_TCPMSS=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARP_MANGLE=y
# CONFIG_IP_NF_RAW is not set

#
# IPv6: Netfilter Configuration
#
CONFIG_IP6_NF_QUEUE=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MATCH_LIMIT=y
CONFIG_IP6_NF_MATCH_MAC=y
CONFIG_IP6_NF_MATCH_RT=y
CONFIG_IP6_NF_MATCH_OPTS=y
CONFIG_IP6_NF_MATCH_FRAG=y
CONFIG_IP6_NF_MATCH_HL=y
CONFIG_IP6_NF_MATCH_MULTIPORT=y
CONFIG_IP6_NF_MATCH_OWNER=y
CONFIG_IP6_NF_MATCH_MARK=y
CONFIG_IP6_NF_MATCH_IPV6HEADER=y
CONFIG_IP6_NF_MATCH_AHESP=y
CONFIG_IP6_NF_MATCH_LENGTH=y
CONFIG_IP6_NF_MATCH_EUI64=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_TARGET_LOG=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_TARGET_MARK=y
# CONFIG_IP6_NF_RAW is not set
CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set

#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set

#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CBQ=y
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_HFSC=y
# CONFIG_NET_SCH_CSZ is not set
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_RED=y
CONFIG_NET_SCH_SFQ=y
CONFIG_NET_SCH_TEQL=y
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_GRED=y
CONFIG_NET_SCH_DSMARK=y
# CONFIG_NET_SCH_DELAY is not set
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=y
CONFIG_NET_CLS_ROUTE4=y
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=y
CONFIG_NET_CLS_U32=y
CONFIG_NET_CLS_RSVP=y
CONFIG_NET_CLS_RSVP6=y
CONFIG_NET_CLS_POLICE=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=y
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# Ethernet (10 or 100Mbit)
#
# CONFIG_NET_ETHERNET is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
CONFIG_E1000=y
# CONFIG_E1000_NAPI is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set

#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set

#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set

#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
CONFIG_SHAPER=y
# CONFIG_NETCONSOLE is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set

#
# Input device support
#CONFIG_INPUT=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input I/O drivers
#
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
CONFIG_SERIO_PCIPS2=y

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_COMPUTONE is not set
# CONFIG_ROCKETPORT is not set
# CONFIG_CYCLADES is not set
# CONFIG_DIGIEPCA is not set
# CONFIG_DIGI is not set
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
# CONFIG_SYNCLINK is not set
# CONFIG_SYNCLINKMP is not set
# CONFIG_N_HDLC is not set
# CONFIG_RISCOM8 is not set
# CONFIG_SPECIALIX is not set
# CONFIG_SX is not set
# CONFIG_RIO is not set
# CONFIG_STALDRV is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
# CONFIG_SERIAL_8250_ACPI is not set
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_MULTIPORT=y
CONFIG_SERIAL_8250_RSA=y

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_QIC02_TAPE is not set

#
# IPMI
#
CONFIG_IPMI_HANDLER=y
CONFIG_IPMI_PANIC_EVENT=y
CONFIG_IPMI_PANIC_STRING=y
CONFIG_IPMI_DEVICE_INTERFACE=y
CONFIG_IPMI_SI=y
CONFIG_IPMI_SMB=y
CONFIG_IPMI_WATCHDOG=y

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
CONFIG_HW_RANDOM=y
CONFIG_NVRAM=y
CONFIG_RTC=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set

#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
# CONFIG_AGP is not set
# CONFIG_DRM is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_HANGCHECK_TIMER is not set

#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_ALGOPCF=y

#
# I2C Hardware Bus support
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_I810 is not set
# CONFIG_I2C_ISA is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PIIX4=y
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
CONFIG_SCx200_ACB=y
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_VOODOO3 is not set

#
# Hardware Sensors Chip support
#
# CONFIG_I2C_SENSOR is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set

#
# Other I2C Chip support
#
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set

#
# Misc devices
#
# CONFIG_IBM_ASM is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set

#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set

#
# Graphics support
#
CONFIG_FB=y
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
CONFIG_FB_VESA=y
CONFIG_VIDEO_SELECT=y
# CONFIG_FB_HGA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON_OLD is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_VIRTUAL is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_PCI_CONSOLE=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_FONT_6x11 is not set
# CONFIG_FONT_PEARL_8x8 is not set
# CONFIG_FONT_ACORN_8x8 is not set
# CONFIG_FONT_MINI_4x6 is not set
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set

#
# Logo configuration
#
# CONFIG_LOGO is not set

#
# Sound
#
# CONFIG_SOUND is not set

#
# USB support
#
# CONFIG_USB is not set

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set

#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
# CONFIG_EXT2_FS_SECURITY is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
# CONFIG_EXT3_FS_SECURITY is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
# CONFIG_REISERFS_FS_XATTR is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_QUOTA=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=y
CONFIG_UDF_FS=y

#
# DOS/FAT/NT Filesystems
#
# CONFIG_FAT_FS is not set
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
CONFIG_DEVFS_FS=y
# CONFIG_DEVFS_MOUNT is not set
# CONFIG_DEVFS_DEBUG is not set
CONFIG_DEVPTS_FS_XATTR=y
# CONFIG_DEVPTS_FS_SECURITY is not set
CONFIG_TMPFS=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
# CONFIG_EXPORTFS is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y

#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="cp437"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=y
CONFIG_NLS_CODEPAGE_775=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_CODEPAGE_852=y
CONFIG_NLS_CODEPAGE_855=y
CONFIG_NLS_CODEPAGE_857=y
CONFIG_NLS_CODEPAGE_860=y
CONFIG_NLS_CODEPAGE_861=y
CONFIG_NLS_CODEPAGE_862=y
CONFIG_NLS_CODEPAGE_863=y
CONFIG_NLS_CODEPAGE_864=y
CONFIG_NLS_CODEPAGE_865=y
CONFIG_NLS_CODEPAGE_866=y
CONFIG_NLS_CODEPAGE_869=y
CONFIG_NLS_CODEPAGE_936=y
CONFIG_NLS_CODEPAGE_950=y
CONFIG_NLS_CODEPAGE_932=y
CONFIG_NLS_CODEPAGE_949=y
CONFIG_NLS_CODEPAGE_874=y
CONFIG_NLS_ISO8859_8=y
CONFIG_NLS_CODEPAGE_1250=y
CONFIG_NLS_CODEPAGE_1251=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_ISO8859_3=y
CONFIG_NLS_ISO8859_4=y
CONFIG_NLS_ISO8859_5=y
CONFIG_NLS_ISO8859_6=y
CONFIG_NLS_ISO8859_7=y
CONFIG_NLS_ISO8859_9=y
CONFIG_NLS_ISO8859_13=y
CONFIG_NLS_ISO8859_14=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_KOI8_R=y
CONFIG_NLS_KOI8_U=y
CONFIG_NLS_UTF8=y

#
# Profiling support
#
# CONFIG_PROFILING is not set

#
# Kernel hacking
#
CONFIG_DEBUG_KERNEL=y
CONFIG_EARLY_PRINTK=y
CONFIG_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_STACK_USAGE is not set
CONFIG_DEBUG_SLAB=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_HIGHMEM is not set
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_FRAME_POINTER is not set
# CONFIG_4KSTACKS is not set
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y

#
# Security options
#

#
# Grsecurity
#
CONFIG_GRKERNSEC=y
# CONFIG_GRKERNSEC_LOW is not set
# CONFIG_GRKERNSEC_MEDIUM is not set
# CONFIG_GRKERNSEC_HIGH is not set
CONFIG_GRKERNSEC_CUSTOM=y

#
# Address Space Protection
#
# CONFIG_GRKERNSEC_KMEM is not set
# CONFIG_GRKERNSEC_IO is not set
CONFIG_GRKERNSEC_PROC_MEMMAP=y
CONFIG_GRKERNSEC_BRUTE=y
CONFIG_GRKERNSEC_HIDESYM=y

#
# Role Based Access Control Options
#
CONFIG_GRKERNSEC_ACL_HIDEKERN=y
CONFIG_GRKERNSEC_ACL_MAXTRIES=3
CONFIG_GRKERNSEC_ACL_TIMEOUT=30

#
# Filesystem Protections
#
CONFIG_GRKERNSEC_PROC=y
CONFIG_GRKERNSEC_PROC_USER=y
# CONFIG_GRKERNSEC_PROC_ADD is not set
CONFIG_GRKERNSEC_LINK=y
CONFIG_GRKERNSEC_FIFO=y
# CONFIG_GRKERNSEC_CHROOT is not set

#
# Kernel Auditing
#
# CONFIG_GRKERNSEC_AUDIT_GROUP is not set
# CONFIG_GRKERNSEC_EXECLOG is not set
CONFIG_GRKERNSEC_RESLOG=y
# CONFIG_GRKERNSEC_CHROOT_EXECLOG is not set
# CONFIG_GRKERNSEC_AUDIT_CHDIR is not set
CONFIG_GRKERNSEC_AUDIT_MOUNT=y
# CONFIG_GRKERNSEC_AUDIT_IPC is not set
CONFIG_GRKERNSEC_SIGNAL=y
CONFIG_GRKERNSEC_FORKFAIL=y
CONFIG_GRKERNSEC_TIME=y
# CONFIG_GRKERNSEC_PROC_IPADDR is not set

#
# Executable Protections
#
CONFIG_GRKERNSEC_EXECVE=y
CONFIG_GRKERNSEC_DMESG=y
CONFIG_GRKERNSEC_RANDPID=y
# CONFIG_GRKERNSEC_TPE is not set

#
# Network Protections
#
CONFIG_GRKERNSEC_RANDNET=y
CONFIG_GRKERNSEC_RANDISN=y
CONFIG_GRKERNSEC_RANDID=y
CONFIG_GRKERNSEC_RANDSRC=y
CONFIG_GRKERNSEC_RANDRPC=y
# CONFIG_GRKERNSEC_SOCKET is not set

#
# Sysctl support
#
CONFIG_GRKERNSEC_SYSCTL=y

#
# Logging Options
#
CONFIG_GRKERNSEC_FLOODTIME=10
CONFIG_GRKERNSEC_FLOODBURST=4

#
# PaX
#
CONFIG_PAX=y

#
# PaX Control
#
CONFIG_PAX_SOFTMODE=y
# CONFIG_PAX_EI_PAX is not set
CONFIG_PAX_PT_PAX_FLAGS=y
CONFIG_PAX_NO_ACL_FLAGS=y
# CONFIG_PAX_HAVE_ACL_FLAGS is not set
# CONFIG_PAX_HOOK_ACL_FLAGS is not set

#
# Non-executable pages
#
# CONFIG_PAX_NOEXEC is not set

#
# Address Space Layout Randomization
#
CONFIG_PAX_ASLR=y
# CONFIG_PAX_RANDKSTACK is not set
CONFIG_PAX_RANDUSTACK=y
CONFIG_PAX_RANDMMAP=y
# CONFIG_PAX_NOVSYSCALL is not set
# CONFIG_SECURITY is not set

#
# Cryptographic options
#
CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_CAST5=y
CONFIG_CRYPTO_CAST6=y
# CONFIG_CRYPTO_ARC4 is not set
CONFIG_CRYPTO_DEFLATE=y
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_TEST is not set

#
# Library routines
#
# CONFIG_CRC32 is not set
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_STD_RESOURCES=y
CONFIG_PC=y


On Sat, 25 Sep 2004 14:14:09 -0500, micah milano <[email protected]> wrote:
> I've got two Maxtor 6Y120M0 drives, same firmware, but they show up
> with differing CHS when I attempt to partition them, however it seems
> like other places on the system they are detected as having the same
> properties. This is making setting up software raid-1 difficult.
> Should I boot with a particular geometry specified on the kernel line
> to make it correct?
>
> Using fdisk -l on each disk you see that one reports 255 heads, 63
> sectors/track, 14946 cylinders and the other reports 16 heads, 63
> sectors/track, 238216 cylinders.
>
> This is 2.6.7 (i'm here because the ipmi software from supermicro is
> not working for 2.6.8 yet), and I am not able to follow this list, so
> please CC me on any reply. I've tried to include all the useful
> information, but if I neglected something, please let me know and I
> will provide it right away.
>
> Thanks for any insight, this is driving me a little batty,
> micah
>
> fdisk -l /dev/hde
>
> Disk /dev/hde: 122.9 GB, 122942324736 bytes
> 255 heads, 63 sectors/track, 14946 cylinders
> Units = cylinders of 16065 * 512 = 8225280 bytes
>
> fdisk -l /dev/hdg
>
> Disk /dev/hdg: 122.9 GB, 122942324736 bytes
> 16 heads, 63 sectors/track, 238216 cylinders
> Units = cylinders of 1008 * 512 = 516096 bytes
>
> parted says:
>
> parted /dev/hde
> Error: The partition table on /dev/hde is inconsistent. There are many reasons
> why this might be the case. However, the most likely reason is that Linux
> detected the BIOS geometry for /dev/hde incorrectly. GNU Parted suspects the
> real geometry should be 14946/255/63 (not 238216/16/63). You should check with
> your BIOS first, as this may not be correct. You can inform Linux by adding the
> parameter hde=14946,255,63 to the command line. See the LILO or GRUB
> Information: The operating system thinks the geometry on /dev/hde is
> 238216/16/63. Therefore, cylinder 1024 ends at 503.999M.
>
> parted /dev/hdg (no error):
> Using /dev/hdg
> Information: The operating system thinks the geometry on /dev/hdg is
> 238216/16/63. Therefore, cylinder 1024 ends at 503.999M.
>
> cat /proc/ide/piix
>
> Controller: 0
>
> Intel PIIX4 Ultra 100 Chipset.
> --------------- Primary Channel ---------------- Secondary Channel -------------
> enabled enabled
> --------------- drive0 --------- drive1 -------- drive0 ---------- drive1 ------
> DMA enabled: no no yes no
> UDMA enabled: no no yes no
> UDMA enabled: X X 2 X
> UDMA
> DMA
> PIO
>
> cat /proc/ide/drivers
> ide-scsi version 0.92
> ide-cdrom version 4.61
> ide-disk version 1.18
>
> cat /proc/ide/hde/geometry
> physical 16383/16/63
> logical 65535/16/63
>
> cat /proc/ide/hdg/geometry
> physical 16383/16/63
> logical 65535/16/63
>
> hdparm -I /dev/hde
>
> /dev/hde:
>
> ATA device, with non-removable media
> Model Number: Maxtor 6Y120M0
> Serial Number: Y3MGJ4XE
> Firmware Revision: YAR51EW0
> Standards:
> Supported: 7 6 5 4
> Likely used: 7
> Configuration:
> Logical max current
> cylinders 16383 16383
> heads 16 16
> sectors/track 63 63
> --
> CHS current addressable sectors: 16514064
> LBA user addressable sectors: 240121728
> device size with M = 1024*1024: 117246 MBytes
> device size with M = 1000*1000: 122942 MBytes (122 GB)
> Capabilities:
> LBA, IORDY(can be disabled)
> Queue depth: 1
> Standby timer values: spec'd by Standard, no device specific minimum
> R/W multiple sector transfer: Max = 16 Current = 0
> Advanced power management level: unknown setting (0x0000)
> Recommended acoustic management value: 192, current value: 254
> DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5 udma6
> Cycle time: min=120ns recommended=120ns
> PIO: pio0 pio1 pio2 pio3 pio4
> Cycle time: no flow control=120ns IORDY flow control=120ns
> Commands/features:
> Enabled Supported:
> * NOP cmd
> * READ BUFFER cmd
> * WRITE BUFFER cmd
> * Host Protected Area feature set
> * Look-ahead
> * Write cache
> * Power Management feature set
> Security Mode feature set
> * SMART feature set
> * FLUSH CACHE EXT command
> * Mandatory FLUSH CACHE command
> * Device Configuration Overlay feature set
> * Automatic Acoustic Management feature set
> SET MAX security extension
> Advanced Power Management feature set
> * DOWNLOAD MICROCODE cmd
> * SMART self-test
> * SMART error logging
> Security:
> Master password revision code = 65534
> supported
> not enabled
> not locked
> not frozen
> not expired: security count
> not supported: enhanced erase
> Checksum: correct
>
> hdparm -I /dev/hdg
>
> /dev/hdg:
>
> ATA device, with non-removable media
> Model Number: Maxtor 6Y120M0
> Serial Number: Y3MGJ86E
> Firmware Revision: YAR51EW0
> Standards:
> Supported: 7 6 5 4
> Likely used: 7
> Configuration:
> Logical max current
> cylinders 16383 16383
> heads 16 16
> sectors/track 63 63
> --
> CHS current addressable sectors: 16514064
> LBA user addressable sectors: 240121728
> device size with M = 1024*1024: 117246 MBytes
> device size with M = 1000*1000: 122942 MBytes (122 GB)
> Capabilities:
> LBA, IORDY(can be disabled)
> Queue depth: 1
> Standby timer values: spec'd by Standard, no device specific minimum
> R/W multiple sector transfer: Max = 16 Current = 0
> Advanced power management level: unknown setting (0x0000)
> Recommended acoustic management value: 192, current value: 254
> DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5 udma6
> Cycle time: min=120ns recommended=120ns
> PIO: pio0 pio1 pio2 pio3 pio4
> Cycle time: no flow control=120ns IORDY flow control=120ns
> Commands/features:
> Enabled Supported:
> * NOP cmd
> * READ BUFFER cmd
> * WRITE BUFFER cmd
> * Host Protected Area feature set
> * Look-ahead
> * Write cache
> * Power Management feature set
> Security Mode feature set
> * SMART feature set
> * FLUSH CACHE EXT command
> * Mandatory FLUSH CACHE command
> * Device Configuration Overlay feature set
> * Automatic Acoustic Management feature set
> SET MAX security extension
> Advanced Power Management feature set
> * DOWNLOAD MICROCODE cmd
> * SMART self-test
> * SMART error logging
> Security:
> Master password revision code = 65534
> supported
> not enabled
> not locked
> not frozen
> not expired: security count
> not supported: enhanced erase
> Checksum: correct
>
> hdparm -i /dev/hde
>
> /dev/hde:
>
> Model=Maxtor 6Y120M0, FwRev=YAR51EW0, SerialNo=Y3MGJ4XE
> Config={ Fixed }
> RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
> BuffType=DualPortCache, BuffSize=7936kB, MaxMultSect=16, MultSect=off
> CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=240121728
> IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
> PIO modes: pio0 pio1 pio2 pio3 pio4
> DMA modes: mdma0 mdma1 mdma2
> UDMA modes: udma0 udma1 udma2
> AdvancedPM=yes: disabled (255) WriteCache=enabled
> Drive conforms to: (null):
>
> * signifies the current active mode
>
> hdparm -i /dev/hdg
>
> /dev/hdg:
>
> Model=Maxtor 6Y120M0, FwRev=YAR51EW0, SerialNo=Y3MGJ86E
> Config={ Fixed }
> RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
> BuffType=DualPortCache, BuffSize=7936kB, MaxMultSect=16, MultSect=off
> CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=240121728
> IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
> PIO modes: pio0 pio1 pio2 pio3 pio4
> DMA modes: mdma0 mdma1 mdma2
> UDMA modes: udma0 udma1 udma2
> AdvancedPM=yes: disabled (255) WriteCache=enabled
> Drive conforms to: (null):
>
> * signifies the current active mode
>
> ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> ICH3: IDE controller at PCI slot 0000:00:1f.1
> ICH3: chipset revision 2
> ICH3: not 100% native mode: will probe irqs later
> ide0: BM-DMA at 0x2060-0x2067, BIOS settings: hda:pio, hdb:pio
> ide1: BM-DMA at 0x2068-0x206f, BIOS settings: hdc:pio, hdd:pio
> hdc: CD-224E, ATAPI CD/DVD-ROM drive
> ide1 at 0x170-0x177,0x376 on irq 15
> SiI3112 Serial ATA: IDE controller at PCI slot 0000:03:02.0
> SiI3112 Serial ATA: chipset revision 2
> SiI3112 Serial ATA: 100% native mode on irq 26
> ide2: MMIO-DMA , BIOS settings: hde:DMA, hdf:DMA
> ide3: MMIO-DMA , BIOS settings: hdg:DMA, hdh:DMA
> hde: Maxtor 6Y120M0, ATA DISK drive
> ide2 at 0xf8858080-0xf8858087,0xf885808a on irq 26
> hdg: Maxtor 6Y120M0, ATA DISK drive
> ide3 at 0xf88580c0-0xf88580c7,0xf88580ca on irq 26
> SiI3112 Serial ATA: IDE controller at PCI slot 0000:03:03.0
> SiI3112 Serial ATA: chipset revision 2
> SiI3112 Serial ATA: 100% native mode on irq 27
> ide4: MMIO-DMA , BIOS settings: hdi:pio, hdj:pio
> ide5: MMIO-DMA , BIOS settings: hdk:pio, hdl:pio
> hdi: no response (status = 0xfe)
> hdk: no response (status = 0xfe)
> hdi: no response (status = 0xfe), resetting drive
> hdi: no response (status = 0xfe)
> hdk: no response (status = 0xfe), resetting drive
> hdk: no response (status = 0xfe)
> hde: max request size: 64KiB
> hde: 240121728 sectors (122942 MB) w/7936KiB Cache, CHS=65535/16/63
> /dev/ide/host2/bus0/target0/lun0: p1 p2 p3 < p5 p6 p7 p8 p9 >
> hdg: max request size: 64KiB
> hdg: 240121728 sectors (122942 MB) w/7936KiB Cache, CHS=65535/16/63
> /dev/ide/host2/bus1/target0/lun0:
> hdc: ATAPI 24X CD-ROM drive, 128kB Cache, UDMA(33)
>
> Additionally, if I try to partition /dev/hdg (which has no partition
> table yet), using fdisk, it strangley doesn't ask me for much
> information, such as how large it should be:
>
> fdisk /dev/hdg
>
> The number of cylinders for this disk is set to 238216.
> There is nothing wrong with that, but this is larger than 1024,
> and could in certain setups cause problems with:
> 1) software that runs at boot time (e.g., old versions of LILO)
> 2) booting and partitioning software from other OSs
> (e.g., DOS FDISK, OS/2 FDISK)
>
> Command (m for help): p
>
> Disk /dev/hdg: 122.9 GB, 122942324736 bytes
> 16 heads, 63 sectors/track, 238216 cylinders
> Units = cylinders of 1008 * 512 = 516096 bytes
>
> Device Boot Start End Blocks Id System
>
> Command (m for help): a
> Partition number (1-4): 1
> Warning: partition 1 has empty type
>
> Command (m for help): p
>
> Disk /dev/hdg: 122.9 GB, 122942324736 bytes
> 16 heads, 63 sectors/track, 238216 cylinders
> Units = cylinders of 1008 * 512 = 516096 bytes
>
> Device Boot Start End Blocks Id System
> /dev/hdg1 * 1 1 0 0 Empty
> Partition 1 does not end on cylinder boundary.
>
> Command (m for help):
>

Subject: Re: SiI3112 Serial ATA Maxtor 6Y120M0 incorrect geometry detected

Hi,

This was discussed to death on lkml.

To make long story short:
- BIOS CHS is _useless_ for IDE driver
- IDE driver returns different geometry for 2.[2,4,6].x kernels
- Andries removed ide-geometry.c in 2.5 but didn't HDIO_GETGEO ioctl
- BIOS CHS is available through EDD driver now
- this is a parted problem

I'm tired of this issue and this is what I'm going to do:
- remove CHS info from IDE printks and /proc/ide/
- add BLKGETSTART ioctl for getting partition's start sector
(this is the only legitimate use of HDIO_GETGEO currently)
- at least obsolete HDIO_GETGEO in IDE or even remove it (failing is
better than returning unexpected results)
- silence complainers :)

Bartlomiej

On Sat, 25 Sep 2004 16:03:15 -0500, micah milano <[email protected]> wrote:
> Some interesting additional information... if I boot with 2.4.25, the
> CHS in the dmesg changes to something else, in 2.6.7 it was
> CHS=65535/16/63, in 2.4.25 it becomes CHS=238216/16/63.

2004-09-26 00:47:45

by Alan

[permalink] [raw]
Subject: Re: SiI3112 Serial ATA Maxtor 6Y120M0 incorrect geometry detected

On Sad, 2004-09-25 at 23:15, Bartlomiej Zolnierkiewicz wrote:
> - BIOS CHS is _useless_ for IDE driver
> - IDE driver returns different geometry for 2.[2,4,6].x kernels
> - Andries removed ide-geometry.c in 2.5 but didn't HDIO_GETGEO ioctl
> - BIOS CHS is available through EDD driver now
(Occasionally 8)
> - this is a parted problem
(and fixed in parted patches)

> - remove CHS info from IDE printks and /proc/ide/
> - add BLKGETSTART ioctl for getting partition's start sector
> (this is the only legitimate use of HDIO_GETGEO currently)

If you drop the CHS/LBA/.. information from the printk's it might be
nice to replace ith with "in CHS" "in LBA28" "in LBA48" mode information
since that is the only thing it really told people.

2004-09-26 10:29:49

by Andries E. Brouwer

[permalink] [raw]
Subject: Re: SiI3112 Serial ATA Maxtor 6Y120M0 incorrect geometry detected

On Sun, Sep 26, 2004 at 12:15:33AM +0200, Bartlomiej Zolnierkiewicz wrote:

> I'm tired of this issue and this is what I'm going to do:
> - remove CHS info from IDE printks and /proc/ide/
> - add BLKGETSTART ioctl for getting partition's start sector
> (this is the only legitimate use of HDIO_GETGEO currently)
> - at least obsolete HDIO_GETGEO in IDE or even remove it (failing is
> better than returning unexpected results)
> - silence complainers :)
>
> Bartlomiej

Yes. Consider returning 0 for C/H/S in HDIO_GETGEO.

We need the BLKGETSTART ioctl for another reason:
the field start of a struct hd_geometry has 32 bits
and fails for partitions starting past the 2TB mark.
So, just like BLKGETSIZE64, this BLKGETSTART must
return a u64 and return an offset in bytes.

As we all know, geometry is meaningless for IDE.
But it is not for MFM/RLL and similar ancient stuff.
If support for old disks is not broken yet, try not to break it.

Andries

Subject: Re: SiI3112 Serial ATA Maxtor 6Y120M0 incorrect geometry detected

On Sun, 26 Sep 2004 12:29:37 +0200, Andries Brouwer
<[email protected]> wrote:
> On Sun, Sep 26, 2004 at 12:15:33AM +0200, Bartlomiej Zolnierkiewicz wrote:
>
> > I'm tired of this issue and this is what I'm going to do:
> > - remove CHS info from IDE printks and /proc/ide/
> > - add BLKGETSTART ioctl for getting partition's start sector
> > (this is the only legitimate use of HDIO_GETGEO currently)
> > - at least obsolete HDIO_GETGEO in IDE or even remove it (failing is
> > better than returning unexpected results)
> > - silence complainers :)
> >
> > Bartlomiej
>
> Yes. Consider returning 0 for C/H/S in HDIO_GETGEO.
>
> We need the BLKGETSTART ioctl for another reason:
> the field start of a struct hd_geometry has 32 bits
> and fails for partitions starting past the 2TB mark.
> So, just like BLKGETSIZE64, this BLKGETSTART must
> return a u64 and return an offset in bytes.

Yes, I though so. Also u64 is 64-bit safe.

> As we all know, geometry is meaningless for IDE.
> But it is not for MFM/RLL and similar ancient stuff.
> If support for old disks is not broken yet, try not to break it.

OK.

2004-09-27 15:50:28

by micah milano

[permalink] [raw]
Subject: Re: SiI3112 Serial ATA Maxtor 6Y120M0 incorrect geometry detected

I agree that parted reports an error, however I think there is
something else going on. When I run fdisk there is a different CHS
reported for each disk, even though they are the same geometry. I
can't partition the second disk to have the same partition sizes as
the other disk because of this. I only mentioned parted because I was
trying every partitioner there is.

I am glad to hear I am helping tighten up some code to make things
clearer, but I was hoping someone might have a solution for how I can
partition this second identical disk so it has identical partition
sizing as the first so I can put software RAID mirroring on them. From
what it sounds like you guys are saying (IANALKH) dmesg is reporting
the wrong CHS, and parted has a fix for its error, but is there
something I can do to get the partition sizing right?

thanks for the quick replies!
micah


On Sun, 26 Sep 2004 12:59:48 +0200, Bartlomiej Zolnierkiewicz
<[email protected]> wrote:
> On Sun, 26 Sep 2004 12:29:37 +0200, Andries Brouwer
> <[email protected] > wrote:
> > On Sun, Sep 26, 2004 at 12:15:33AM +0200, Bartlomiej Zolnierkiewicz wrote:
> >
> > > I'm tired of this issue and this is what I'm going to do:
> > > - remove CHS info from IDE printks and /proc/ide/
> > > - add BLKGETSTART ioctl for getting partition's start sector
> > > (this is the only legitimate use of HDIO_GETGEO currently)
> > > - at least obsolete HDIO_GETGEO in IDE or even remove it (failing is
> > > better than returning unexpected results)
> > > - silence complainers :)
> > >
> > > Bartlomiej
> >
> > Yes. Consider returning 0 for C/H/S in HDIO_GETGEO.
> >
> > We need the BLKGETSTART ioctl for another reason:
> > the field start of a struct hd_geometry has 32 bits
> > and fails for partitions starting past the 2TB mark.
> > So, just like BLKGETSIZE64, this BLKGETSTART must
> > return a u64 and return an offset in bytes.
>
> Yes, I though so. Also u64 is 64-bit safe.
>
> > As we all know, geometry is meaningless for IDE.
> > But it is not for MFM/RLL and similar ancient stuff.
> > If support for old disks is not broken yet, try not to break it.
>
> OK.
>

2004-09-27 19:32:16

by Andries E. Brouwer

[permalink] [raw]
Subject: Re: SiI3112 Serial ATA Maxtor 6Y120M0 incorrect geometry detected

On Mon, Sep 27, 2004 at 10:50:23AM -0500, micah milano wrote:
> I agree that parted reports an error, however I think there is
> something else going on. When I run fdisk there is a different CHS
> reported for each disk, even though they are the same geometry.

A disk does not have a geometry, so two disks, even when identical
cannot be said to have the same geometry.

A geometry is a phantom, invented, depending on many parameters,
and one of them is the interface used. So, the same disk may get
different geometries on hdb and hdc.

See the FAQ http://www.win.tue.nl/~aeb/linux/Large-Disk-14.html#ss14.2
"14.2 Nonproblem: Identical disks have different geometry?"

> I can't partition the second disk to have the same partition sizes as
> the other disk because of this. I only mentioned parted because I was
> trying every partitioner there is.

Most existing partitioners allow you to specify your favourite
geometry.

> I was hoping someone might have a solution for how I can
> partition this second identical disk so it has identical partition
> sizing as the first so I can put software RAID mirroring on them. From
> what it sounds like you guys are saying (IANALKH) dmesg is reporting
> the wrong CHS, and parted has a fix for its error, but is there
> something I can do to get the partition sizing right?

No, it is entirely different. CHS is completely arbitrary and fake.
At least, as long as your disk is Linux only.
As soon as you use Windows on the same disk, you must be careful
to invent the same numbers that the BIOS will invent.

So, you think of some numbers - your birthday or so - and specify
the same numbers to fdisk while partitioning both disks.
Common numbers are S=63 and H=255. Don't specify C if you can avoid it.

Andries