[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#462488: marked as done (kernel: Promise PDC40718-based SATA card -- port numbering problem)



Your message dated Fri, 25 Jan 2008 10:15:01 +0100
with message-id <20080125091501.GD1446@baikonur.stro.at>
and subject line Bug#462488: kernel: Promise PDC40718-based SATA card -- port numbering problem
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: kernel
Severity: important

I'm having a problem with inconsistent numbering of the four internal
SATA ports on a Promise SATA300 TX4 controller (PCI, non-RAID, uses
Promise PDC40718 chip).

The ports are physically labelled 1, 2, 3, 4 on the card -- but the
ports are logically treated by the driver as if they were labelled
4, 2, 1, and 3, respectively.

If that were all that was going on, I could live with it by just
ignoring the labels printed on the card.  However, when my system's
BIOS is told to boot from "SCSI", it boots off the drive on the
PHYSICALLY lowest-numbered port (i.e., based on the labels printed
on the card).  The driver, on the other hand, assigns drive names
(sda, sdb, etc.) based on the logical port numbers.

Thus, /dev/sda may not necessarily be the same as the boot drive.
If, for instance, I have two SATA drives plugged into physically
labelled ports 1 and 2, the computer will try to boot off the drive
plugged into port #1 -- but Debian will consider that drive to be
/dev/sdb (and treat the drive plugged into port #2 as /dev/sda).

If I want two drives to be treated the same by the BIOS and by
Debian, I need to plug them into ports #2 and #4, or #3 and #4,
so that the two conflicting enumerations of the ports will give
consistent results.  This also means that it is impossible to
connect more than two drives to the card and have the system boot
from the drive that Debian will consider to be /dev/sda.

I suppose I could work around this issue by setting up my "second"
drive to be bootable, and by installing GRUB on that drive (which,
even though it's the boot drive, will be treated as /dev/sdb by
Debian).  Or, I could include a PATA drive in my system and use
it as the boot drive, instead of one of the SATA drives.

But I would think the "real" solution should be for the driver
to number the ports to match what the printing on the card (and
apparently also the BIOS) thinks -- so that if a disk is plugged
into the port labelled "Port 1", that disk will be /dev/sda.

-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-5-k7
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)



--- End Message ---
--- Begin Message ---
On Fri, Jan 25, 2008 at 12:12:57AM -0800, Rich Wales wrote:
> 
> Thus, /dev/sda may not necessarily be the same as the boot drive.
> If, for instance, I have two SATA drives plugged into physically
> labelled ports 1 and 2, the computer will try to boot off the drive
> plugged into port #1 -- but Debian will consider that drive to be
> /dev/sdb (and treat the drive plugged into port #2 as /dev/sda).
> 
the kernel never guarantees boot ordering, usee UUID in fstab
and boot args.



--- End Message ---

Reply to: