List Info

Thread: atadev->param.model problem or bug with Marvell 88SE6811 chip




atadev->param.model problem or bug with Marvell 88SE6811 chip
country flaguser name
Russian Federation
2008-05-10 19:46:08
I have device detection problem with device attached to
atapci0: <Marvell ATA controller> port
0xec00-0xec07,0xe880-0xe883,0xe800-0xe807,0xe480-0xe483,0xe4
00-0xe40f mem 0xfebffc00-0xfebfffff irq 16 at device 0.0 on
pci3
(ASUS P5E3 motherboard).
It seems that this controller not fills
atadev->param.model as current 
ata-all.c code expects:

    if (!error &&
(isprint(atadev->param.model[0]) ||
		   isprint(atadev->param.model[1]))) {

so whole probe is just skipped!
Namely it not pass printable atadev->param.model[0] or 
atadev->param.model[0] chars.

Here is 2 devices (master/slave) param.model hexdump and
some debugging info:

command ATA_ATAPI_IDENTIFY
error 0
model
00:00:20:20:00:00:20:20:00:00:20:20:00:00:20:20:00:00:20:20:
00:00:20:20:00:00:00:00:00:00:00:00:00:00:00:00:00:00:2e:31
      ^^ ^^
...
command ATA_ATAPI_IDENTIFY
error 0
model
00:00:37:31:00:00:34:32:00:00:20:20:00:00:20:20:00:00:20:20:
00:00:20:20:00:00:00:00:00:00:00:00:00:00:00:00:00:00:2e:31
      ^^ ^^
As you can see, both first bytes are NULs. Those devices
works perfectly
under M$ Win. I don't familiar with ATA specs. Is there some
ideas
why it happens, what is the right fix or possible
workaround?

-- 
http://ache.pp.ru/
_______________________________________________
freebsd-currentfreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-curre
nt
To unsubscribe, send any mail to
"freebsd-current-unsubscribefreebsd.org"

Re: atadev->param.model problem or bug with Marvell 88SE6811 chip
user name
2008-05-11 21:14:31
If I comment out isprint() check like that:

     if (!error /*&&
(isprint(atadev->param.model[0]) ||
 		   isprint(atadev->param.model[1]))*/) {

I got semi-meaningful detection results and 2 devices
present (all CD/DVD 
info is right here but DMA/transfer mode is wrong):

ata2-master: pio=PIO0 wdma=UNSUPPORTED udma=UNSUPPORTED
cable=40 wire
ata2-slave: pio=PIO0 wdma=UNSUPPORTED udma=UNSUPPORTED
cable=40 wire
acd0: FAILURE - SETFEATURES SET TRANSFER MODE
status=51<READY,DSC,ERROR> error=4<ABORTED>
acd0: <1./> DVDROM drive at ata2 as master
acd0: read 10820KB/s (1720KB/s), 2048KB buffer, BIOSPIO
acd0: Reads: CDR, CDRW, CDDA stream, DVDROM, DVDR, DVDRAM,
packet
acd0: Writes:
acd0: Audio: play, 256 volume levels
acd0: Mechanism: ejectable tray, unlocked
acd0: Medium: DVD 120mm data disc
acd1: <17 24 1./84 19> DVDR drive at ata2 as slave
acd1: read 8268KB/s (8268KB/s) write 8268KB/s (8268KB/s),
2048KB buffer, PIO0
acd1: Reads: CDR, CDRW, CDDA stream, DVDROM, DVDR, packet
acd1: Writes: CDR, CDRW, DVDR, test write, burnproof
acd1: Audio: play, 2 volume levels
acd1: Mechanism: ejectable tray, unlocked
acd1: Medium: no/blank disc

But... The ATA driver takes a long time to reinit ata2
channel at the boot 
and mount failed with several reinit attempts too, so
something else is 
wrong with this chip initialization besides strange model
field:( Like I 
already say, it works under M$ Win perfectly with standard
windows IDE 
driver.

-- 
http://ache.pp.ru/
_______________________________________________
freebsd-currentfreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-curre
nt
To unsubscribe, send any mail to
"freebsd-current-unsubscribefreebsd.org"

Re: atadev->param.model problem or bug with Marvell 88SE6811 chip
user name
2008-05-12 01:00:13
Andrey Chernov wrote:
> I have device detection problem with device attached
to
> atapci0: <Marvell ATA controller> port
0xec00-0xec07,0xe880-0xe883,0xe800-0xe807,0xe480-0xe483,0xe4
00-0xe40f mem 0xfebffc00-0xfebfffff irq 16 at device 0.0 on
pci3
> (ASUS P5E3 motherboard).
> It seems that this controller not fills
atadev->param.model as current 
> ata-all.c code expects:

Can you try this patch and show verbose dmesg with patched
kernel?

-- 
WBR, Andrey V. Elsukov

_______________________________________________
freebsd-currentfreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-curre
nt
To unsubscribe, send any mail to
"freebsd-current-unsubscribefreebsd.org"
  
Re: atadev->param.model problem or bug with Marvell 88SE6811 chip
country flaguser name
Russian Federation
2008-05-12 01:25:14
On Mon, May 12, 2008 at 10:00:13AM +0400, Andrey V. Elsukov
wrote:
> Andrey Chernov wrote:
>> I have device detection problem with device
attached to
>> atapci0: <Marvell ATA controller> port
0xec00-0xec07,0xe880-0xe883,0xe800-0xe807,0xe480-0xe483,0xe4
00-0xe40f mem 0xfebffc00-0xfebfffff irq 16 at device 0.0 on
pci3
>> (ASUS P5E3 motherboard).
>> It seems that this controller not fills
atadev->param.model as current 
>> ata-all.c code expects:
> 
> Can you try this patch and show verbose dmesg with
patched kernel?

I change them to atadev->param.config and
atadev->param.reserved2
since there is no such members in atadev directly. Results
are:

ata2: IDENTIFY DEVICE data is complete, word2 is 0x0000
ata2: IDENTIFY DEVICE data is complete, word2 is 0x0000

(per each channel)

-- 
http://ache.pp.ru/
_______________________________________________
freebsd-currentfreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-curre
nt
To unsubscribe, send any mail to
"freebsd-current-unsubscribefreebsd.org"

Re: atadev->param.model problem or bug with Marvell 88SE6811 chip
user name
2008-05-20 03:26:57
Actually ATAPI devices are identified with the ATAPI
IDENTIFY command  
just as they should.

-Søren




On 12May, 2008, at 14:49 , Scott Long wrote:

> Andrey Chernov wrote:
>> On Mon, May 12, 2008 at 10:00:13AM +0400, Andrey V.
Elsukov wrote:
>>> Andrey Chernov wrote:
>>>> I have device detection problem with device
attached to
>>>> atapci0: <Marvell ATA controller>
port  
>>>> 0xec00 
>>>>
-0xec07,0xe880-0xe883,0xe800-0xe807,0xe480-0xe483,0xe400-0xe
40f  
>>>> mem 0xfebffc00-0xfebfffff irq 16 at device
0.0 on pci3
>>>> (ASUS P5E3 motherboard).
>>>> It seems that this controller not fills
atadev->param.model as  
>>>> current ata-all.c code expects:
>>> Can you try this patch and show verbose dmesg
with patched kernel?
>> I change them to atadev->param.config and
atadev->param.reserved2
>> since there is no such members in atadev directly.
Results are:
>> ata2: IDENTIFY DEVICE data is complete, word2 is
0x0000
>> ata2: IDENTIFY DEVICE data is complete, word2 is
0x0000
>> (per each channel)
>
> ATAPI devices should be getting their identifying
strings via an
> MMC INQ command instead of an ATA IDENTIFY command. 
What happens
> if you add the atapicam driver?
>
> Scott
>
>

_______________________________________________
freebsd-currentfreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-curre
nt
To unsubscribe, send any mail to
"freebsd-current-unsubscribefreebsd.org"

Re: atadev->param.model problem or bug with Marvell 88SE6811 chip
country flaguser name
Russian Federation
2008-05-21 23:06:56
On Tue, May 20, 2008 at 10:26:57AM +0200, S?ren Schmidt
wrote:
> Actually ATAPI devices are identified with the ATAPI
IDENTIFY command just 
> as they should.

Soren, what do you say about the problem itself? Why this
controller works 
under everything, including BIOS, Linux, M$Win, but not
under FreeBSD?
Even if I comment out model isprint() check, it just goes to
long retries.
It is handeled under M$Win using standard pciide driver
which does not any 
special thing. It means it is FreeBSD which does something
unneded to it.

-- 
http://ache.pp.ru/
_______________________________________________
freebsd-currentfreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-curre
nt
To unsubscribe, send any mail to
"freebsd-current-unsubscribefreebsd.org"

[1-6]

about | contact  Other archives ( Real Estate discussion Medical topics )