2007-02-11 10:27:57

by Patrick Ale

[permalink] [raw]
Subject: libsata doesn't like bus without master

Hi,

Something unrelated to the tests I am doing.

I found out that the libsata driver doesn't really cope or likes the
idea that you might have a controller without a master drive
configured.

In this case on ATA2 I have a CDROM drive, connected as slave.
ATA: abnormal status 0x7F on port 0x177
ATA: abnormal status 0x7F on port 0x177
ata2.01: ATAPI, max UDMA/66
ata2.01: configured for UDMA/66

And in another case, I have ATA5 with no drives connected at all:
pata_pdc2027x 0000:00:0f.0: PLL input clock 33508 kHz
ata5: PATA max UDMA/133 cmd 0xF88597C0 ctl 0xF8859FDA bmdma 0xF8859000 irq 19
ata6: PATA max UDMA/133 cmd 0xF88595C0 ctl 0xF8859DDA bmdma 0xF8859008 irq 19
scsi4 : pata_pdc2027x
ATA: abnormal status 0x8 on port 0xF88597DF


Maybe this is purely a cosmetic error where the error code can be
translated to something like "no drive attached" or maybe the drivers
assume you always configure a master drive on a controller, which
doesnt always have to be the case, especialy not with motherboards
these days where you get 2 ATA ports + 2 exta raid channels.


Patrick


2007-02-11 17:39:23

by Robert Hancock

[permalink] [raw]
Subject: Re: libsata doesn't like bus without master

Patrick Ale wrote:
> Something unrelated to the tests I am doing.
>
> I found out that the libsata driver doesn't really cope or likes the
> idea that you might have a controller without a master drive
> configured.
>
> In this case on ATA2 I have a CDROM drive, connected as slave.
> ATA: abnormal status 0x7F on port 0x177
> ATA: abnormal status 0x7F on port 0x177
> ata2.01: ATAPI, max UDMA/66
> ata2.01: configured for UDMA/66

Having a single drive on the channel configured as slave is not really a
legal configuration. (I believe the ATA standards say that it's
something that a host controller/driver/OS is allowed to support, but it
is not required to.) A single drive should always be set to master (and
connected to the end of the cable and not the middle, by the way).

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from [email protected]
Home Page: http://www.roberthancock.com/

2007-02-11 17:52:07

by Patrick Ale

[permalink] [raw]
Subject: Re: libsata doesn't like bus without master

On 2/11/07, Robert Hancock <[email protected]> wrote:
> Patrick Ale wrote:
> > Something unrelated to the tests I am doing.
> >
> > I found out that the libsata driver doesn't really cope or likes the
> > idea that you might have a controller without a master drive
> > configured.
> >
> > In this case on ATA2 I have a CDROM drive, connected as slave.
> > ATA: abnormal status 0x7F on port 0x177
> > ATA: abnormal status 0x7F on port 0x177
> > ata2.01: ATAPI, max UDMA/66
> > ata2.01: configured for UDMA/66
>
> Having a single drive on the channel configured as slave is not really a
> legal configuration. (I believe the ATA standards say that it's
> something that a host controller/driver/OS is allowed to support, but it
> is not required to.) A single drive should always be set to master (and
> connected to the end of the cable and not the middle, by the way).

It is very legal when one of your harddisks blows out and you take it
out temporarely and have no money for a replacement IMO. But then
again, this is probably an abnormality.

But still, it even complains when no drive is attached to a controller
at all. Since when you buy an add-on PCI card you get 2 connectors
even when you want to add one harddisk how does one deal with that?

2007-02-11 18:34:12

by Robert Hancock

[permalink] [raw]
Subject: Re: libsata doesn't like bus without master

Patrick Ale wrote:
> On 2/11/07, Robert Hancock <[email protected]> wrote:
>> Patrick Ale wrote:
>> > Something unrelated to the tests I am doing.
>> >
>> > I found out that the libsata driver doesn't really cope or likes the
>> > idea that you might have a controller without a master drive
>> > configured.
>> >
>> > In this case on ATA2 I have a CDROM drive, connected as slave.
>> > ATA: abnormal status 0x7F on port 0x177
>> > ATA: abnormal status 0x7F on port 0x177
>> > ata2.01: ATAPI, max UDMA/66
>> > ata2.01: configured for UDMA/66
>>
>> Having a single drive on the channel configured as slave is not really a
>> legal configuration. (I believe the ATA standards say that it's
>> something that a host controller/driver/OS is allowed to support, but it
>> is not required to.) A single drive should always be set to master (and
>> connected to the end of the cable and not the middle, by the way).
>
> It is very legal when one of your harddisks blows out and you take it
> out temporarely and have no money for a replacement IMO. But then
> again, this is probably an abnormality.

Then in that case you should set the remaining drive as master. That's
just the way PATA is. A lot of BIOSes won't even detect a drive that's
set as slave with no master present.

> But still, it even complains when no drive is attached to a controller
> at all. Since when you buy an add-on PCI card you get 2 connectors
> even when you want to add one harddisk how does one deal with that?

Yeah, that's a better point. It's not really complaining, but we could
probably have a better way of suppressing that message. I think it's
largely there so that we can debug issues with drives not being detected
when they should.

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from [email protected]
Home Page: http://www.roberthancock.com/

2007-02-11 18:41:47

by Patrick Ale

[permalink] [raw]
Subject: Re: libsata doesn't like bus without master

On 2/11/07, Robert Hancock <[email protected]> wrote:
> Patrick Ale wrote:
> > On 2/11/07, Robert Hancock <[email protected]> wrote:
> >> Patrick Ale wrote:
> Then in that case you should set the remaining drive as master. That's
> just the way PATA is. A lot of BIOSes won't even detect a drive that's
> set as slave with no master present.

Yea, I guess you're right. For me it isnt a problem, This error
message will disappear for me anyway, since I am going to re-add the
drive now, like I said yesterday, I am re-adding stuff one by one, to
isolate problems.

I can just imagine that switching a jumper might not be as easy for
everybody, especialy when they bought special front-loading harddisk
bays for their disks and all, for the very reason of not having to
open the case.

> Yeah, that's a better point. It's not really complaining, but we could
> probably have a better way of suppressing that message. I think it's
> largely there so that we can debug issues with drives not being detected
> when they should.

It's not like it is causing any problems, nothing hangs or slows down
at boot time, its just something I came across when checking my dmesg
and wanted to inform the list so I could see if this was normal
behaviour or not :)


Patrick

Subject: Re: libsata doesn't like bus without master

On Sun, 11 Feb 2007, Robert Hancock wrote:
> Then in that case you should set the remaining drive as master. That's
> just the way PATA is. A lot of BIOSes won't even detect a drive that's
> set as slave with no master present.

I have seen at least three *thousand* boxes configured that way in the last
five years. From at least a hundred different vendors (almost all of them
small "system assembler" vendors that mix generic and customer-specified
parts).

For some stupid reason, it appears that the norm around here (Brazil) is
that "no brand" boxes get assembled with ATAPI devices in slave mode.
Usually they attach it to the second channel using an 40-wire cable, even if
there is nothing using the first channel.

There is an amazing ammount of hardware out there which needs PATA drivers
to deal as gracefully as possible on a ATAPI PATA device alone as slave on a
channel, and I'd say at that point it is best to just deal with ATA PATA
devices in that configuration, too.

--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh

2007-02-11 20:09:19

by Patrick Ale

[permalink] [raw]
Subject: Re: libsata doesn't like bus without master

On 2/11/07, Henrique de Moraes Holschuh <[email protected]> wrote:
> On Sun, 11 Feb 2007, Robert Hancock wrote:
> > Then in that case you should set the remaining drive as master. That's
> > just the way PATA is. A lot of BIOSes won't even detect a drive that's
> > set as slave with no master present.
>

> For some stupid reason, it appears that the norm around here (Brazil) is
> that "no brand" boxes get assembled with ATAPI devices in slave mode.
> Usually they attach it to the second channel using an 40-wire cable, even if
> there is nothing using the first channel.

Yes, this is actually one of the reasons i mentioned sometimes having
only a slave drive can be a "legal" way to connect drives. I've lived
in Curitiba and Rio for a while (familiar cities to you I guess) and
sometimes we just had no choice to yank the master drive out of its
bay and keep running with what we had, cause money wasnt exactly
growing in trees where I used to work.

Next to that, we had the so called "paraguay" quality assembled
hardware, which basicly means someone, somewhere put some hardware
together and if it didnt work, you had a problem since its all you
could get.

Now, I agree with Robert, people should assemble and maintain their
hardware as much as possible, following the specs. But sometimes it
just isnt possible to do that, for whatever the reason might be. And I
honestly havent found any old or new mainboard that doesnt allow you
to have only a slave drive. I did see the opposite tho. A master drive
that just refused to get detected cause the jumper wasnt set to
"master only" (hello Western Digital).

I don't know, the error i saw is nothing critical, I am just wondering
how valid the "abnormal" notation is, if you go by the specs of ATA,
yes, it is. If you go by daily practice, then in my honest opinion, it
isnt.

Then again, there are way more important things to deal with right now
than cosmetics :)


Patrick

2007-02-13 16:05:21

by Mark Lord

[permalink] [raw]
Subject: Re: libsata doesn't like bus without master

Robert Hancock wrote:
>>
> Having a single drive on the channel configured as slave is not really a
> legal configuration.

Sure it is. Not ideal, but "legal" in every respect,
and suprisingly common "in the wild" since the early 1990s.

> (I believe the ATA standards say that it's
> something that a host controller/driver/OS is allowed to support, but it
> is not required to.)

Exactly. Perfectly legal, in other words. If it's not working with libata,
then we need to fix libata.

Cheers

2007-02-13 20:17:41

by Tejun Heo

[permalink] [raw]
Subject: Re: libsata doesn't like bus without master

Patrick Ale wrote:
> ATA: abnormal status 0x8 on port 0xF88597DF
>
> Maybe this is purely a cosmetic error where the error code can be
> translated to something like "no drive attached" or maybe the drivers
> assume you always configure a master drive on a controller, which
> doesnt always have to be the case, especialy not with motherboards
> these days where you get 2 ATA ports + 2 exta raid channels.

Yeah, it is a cosmetic error message that should have been killed quite
a while ago. I just keep forgetting about it. Will kill it soon.

--
tejun

2007-02-21 20:41:31

by Vincent Legoll

[permalink] [raw]
Subject: Re: libsata doesn't like bus without master

I logged:
http://bugzilla.kernel.org/show_bug.cgi?id=8051

That is looking very similar to what this thread is about.

But the fact that this bites on a laptop, where you cannot
modify cabling/jumpering of the drives is annoying.

The drive is even properly recognized when booting from
a cd inserted in it. The BIOS may initialize it differently then.

--
Vincent Legoll

2007-02-21 20:48:04

by Vincent Legoll

[permalink] [raw]
Subject: Re: libsata doesn't like bus without master

Argh I think I screwed the mail threading, I was refering to:

http://ussg.iu.edu/hypermail/linux/kernel/0702.1/1060.html

From: Patrick Ale
Date: Sun Feb 11 2007 - 05:28:21 EST

Sorry

--
Vincent Legoll

2007-02-21 21:01:43

by Patrick Ale

[permalink] [raw]
Subject: Re: libsata doesn't like bus without master

On 2/21/07, Vincent Legoll <[email protected]> wrote:
> Argh I think I screwed the mail threading, I was refering to:
>
> http://ussg.iu.edu/hypermail/linux/kernel/0702.1/1060.html
>
> From: Patrick Ale
> Date: Sun Feb 11 2007 - 05:28:21 EST
>
> Sorry

Yea, I know.. I mail too much.. too much time at hands and all ;-)

But serious, The second "abnormal" error "ATA: abnormal status 0x8 on
port 0xF88597DF", I got feedback from, by Tejun. He confirmed that, as
I thought, this was a cosmectic error messages for "No devices found".

The first one got some debate as if it was legal to have a slave
without a master and all and the last thing I saw written on this
email that we (that is, the linux developers and the maintainers, I
dont code anything other than 'Hello world' and even that might
segfault) should support it and if we dont yet, fix it.


Question for you tho, since I have two laptops with the same chipset
and more ore less same configuration (Siemens LifeBook E series with
the same DVD writer and an HP laptop), do you use native SATA mode? or
Legacy/Compatible mode?

In the latter case it might explain why you see one master connected
to one bus and a slave to the other. If you use legacy SATA mode you
should just see drive 0 and drive 1.

At least, that's how it works here :)


Patrick

2007-02-21 21:04:27

by Patrick Ale

[permalink] [raw]
Subject: Re: libsata doesn't like bus without master

On 2/21/07, Patrick Ale <[email protected]> wrote:
> On 2/21/07, Vincent Legoll <[email protected]> wrote:

>
> In the latter case it might explain why you see one master connected
> to one bus and a slave to the other. If you use legacy SATA mode you
> should just see drive 0 and drive 1.

Oh and! In case you use native SATA your harddisk will be driven by
the sata driver, and your CD-ROM driver by the pata driver, which in
case of piix is all the same driver so no worries there, but I thought
this would be nice to know information never the less :)

Patrick

2007-02-21 22:07:24

by Vincent Legoll

[permalink] [raw]
Subject: Re: libsata doesn't like bus without master

On 2/21/07, Patrick Ale <[email protected]> wrote:
> But serious, The second "abnormal" error "ATA: abnormal status 0x8 on
> port 0xF88597DF", I got feedback from, by Tejun. He confirmed that, as
> I thought, this was a cosmectic error messages for "No devices found".

I get 0x7F, but already knew it was harmless, I think Tejun enlightened
me about that some time ago...

> The first one got some debate as if it was legal to have a slave
> without a master and all and the last thing I saw written on this
> email that we (that is, the linux developers and the maintainers, I
> dont code anything other than 'Hello world' and even that might
> segfault) should support it and if we dont yet, fix it.

Yep, I read that, at the same time as your other messages from
linux-ide, and a reply I got from Alan asking for the bug report, so
I reported what I got.

> Question for you tho, since I have two laptops with the same chipset
> and more ore less same configuration (Siemens LifeBook E series with
> the same DVD writer and an HP laptop), do you use native SATA mode? or
> Legacy/Compatible mode?

Don't thik I saw that as configurable in that BIOS.
[checking...]
No there is no such settings...

> In the latter case it might explain why you see one master connected
> to one bus and a slave to the other. If you use legacy SATA mode you
> should just see drive 0 and drive 1.

Maybe, or it is just the fact that is a strange laptop from a little .ch
vendor...

> At least, that's how it works here :)

I wish I could make it work here too ;-)

--
Vincent Legoll

2007-02-22 08:12:20

by Paul Rolland

[permalink] [raw]
Subject: RE: libsata doesn't like bus without master

Hello,

> The first one got some debate as if it was legal to have a slave
> without a master and all and the last thing I saw written on this
> email that we (that is, the linux developers and the maintainers, I
> dont code anything other than 'Hello world' and even that might
> segfault) should support it and if we dont yet, fix it.

<please no flame war>

Just to add my $0.02 on this point : this could also be one of the problem
I'm facing on my machine right now, but the point is that Windows supports
it perfectly. At least that proves it can work, and it does work.

</please no flame war>

So, as far as I'm concerned, that sounds legal... Also, running old Linux IDE
code is no problem with a bus that only has a slave...

Regards,
Paul

2007-02-22 08:38:25

by Patrick Ale

[permalink] [raw]
Subject: Re: libsata doesn't like bus without master

On 2/22/07, Paul Rolland <[email protected]> wrote:
> Hello,


> <please no flame war>
>
I dont think there is one or that this reply of yours could cause it :P

> Just to add my $0.02 on this point : this could also be one of the problem
> I'm facing on my machine right now, but the point is that Windows supports
> it perfectly. At least that proves it can work, and it does work.

If I read the posts correctly it was allready established that the
drivers in Linux should support this but yes, I do agree with you,
whatever a BIOS supports should be supported by the kernel as well in
my opinion. And, at least the BIOSes and drives I used, support single
slave operations, how stupid this might be :)

Anyways, today is my first day at work again after a fever, so I will
be messing with stuff and hardware again, and will try to do some more
tests/breakage hoorah.

Patrick