> fossil(#S/sdC0/fossil)...version...time...
> command 30
> data f0caaaf8 limit f0cab8f8 dlen 8291 status 0 error 0
> lba 605536 -> 605536, count 16 -> 16 (16)
>  0x00 0x06 0x6A 0x3D 0x09 0xE0 0x58
> 0x40: E307 0x42: C0000x48: 00
> 0x4A: 0000
> fossil: diskWriteRaw failed: /dev/sdC0/fossil: score 0x00005529: date Sun Apr 
> 5
>  06:37:19 PDT 2009
>  part=data block 21801: i/o error

did you type in this by hand?  i'm wondering about the
"dlen = 8291".  that should be 8192.

the device driver claims you owe him data
after doing 10 sectors.  but you would have given
him another sector, had you gotten an interrupt.

so the question is, why did you get the first 9 interrupts
and not get the 10th?

ยง9.1 #4 p. 64, ata 7 vol 2 says it should, but if you read
a little further it can deassert the interrupt if the
command register is written.

it's really hard to say anything useful without seeing
this problem up close.  a rather desperate guess might
be that this is a pio timing thing.  (note that this is
presented as an intel pci ide chipset.  there must be
a reason those registers are printed out for intel parts.) 
if it is, then dma mode from the get-go could fix the
problem.

is this an ahci-capable chipset?  or is virtual pc presenting
something odd?

- erik

Reply via email to