All of lore.kernel.org
 help / color / mirror / Atom feed
From: russell@lls.lls.com (Russell Brown)
To: linux-ide@vger.kernel.org
Subject: Do SATA Tapes work on *any* SATA controller?
Date: Tue, 24 Jun 2008 15:55:26 +0100 (BST)	[thread overview]
Message-ID: <m1KB9va-003v2oa@lls.lls.com> (raw)


Executive Summary: Do SATA Tape drives work at all?


Ages past (March 28th) I posted to this list about my problems with Sony
AIT tape drives on a nVidia MCP55 SATA controller (using sata_nv).

I never did get them working so I've just bought a Silicon Image PCI SiI
3512 SATA controller (using the sata_sil driver) to see if it might
work.

Sadly it doesn't and I still can't write tapes on a SATA drive with
Linux 2.6.25.1.

So before I put my SATA Tape drives in the bin, bite the bullet and
purchase SCSI versions and SCSI controllers I thought I'd ask if the
list knew of *any* SATA controller that works with tape drives in Linux?

Anyone? At all?



The Tape drives work with a (Sony supplied JMicron) USB to SATA adaptor
so I'm quite sure it's a SATA driver/controller issue and not a Tape
drive problem (I've now tried three drives just to make sure).

FWIW, dmesg for a failed tape write using sata_sil goes like:

ata8: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata8.00: configured for UDMA/100
ata8: EH complete
st0: Sense Key : Aborted Command [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
        72 0b 00 00 00 00 00 0e 09 0c 00 00 00 03 00 00 
		00 00 00 00 a0 10 
st0: Add. Sense: No additional sense information
st0: Sense Key : Unit Attention [current] 
Info fld=0x1
st0: Add. Sense: Power on, reset, or bus device reset occurred
st0: Error on write filemark.
st0: Sense Key : Not Ready [current] 
st0: Add. Sense: Logical unit not ready, cause not reportable

and my original post re the sata_nv problems was:


>I'm trying to use a Sony AIT SDX-870V tape drive on an NVidia MCP55
>SATA controller and it's basically not working :-(  
>
>I've tried two tape drives, different cables, different SATA ports and
>various kernels upto 2.6.25-rc7.  All suffer from the same problem when
>reading/writing data.  FWIW I do have a SATA CDRW drive on the same
>system and can read from that all day long without problems.
>
>The drive status is readable (and doing this doesn't cause failures):
>
># mt -f /dev/st0 status
>SCSI 2 tape drive:
>File number=0, block number=-1, partition=0.
>Tape block size 1024 bytes. Density code 0xb3 (no translation).
>Soft error count since last status=0
>General status bits on (1010000):
> ONLINE IM_REP_EN
>#
>
>If I write (using tar cvf /dev/st0...) a small amount of data, then some
>it gets written (I can read back half a dozen files). Anything
>non-trivial however always results in:
>
>ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
>ata3.00: BMDMA stat 0x4
>ata3.00: cmd a0/01:00:00:00:28/00:00:00:00:00/a0 tag 0 dma 10240 out
>         cdb 0a 01 00 00 0a 00 00 00  00 00 00 00 00 00 00 00
>         res 10/00:03:00:00:00/00:00:00:00:00/a0 Emask 0x2 (HSM
>violation)
>ata3: soft resetting link
>ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>ata3.00: configured for UDMA/100
>ata3: EH complete
>st0: Sense Key : Aborted Command [current] [descriptor]
>Descriptor sense data with sense descriptors (in hex):
>        72 0b 00 00 00 00 00 0e 09 0c 00 00 00 03 00 00 
>        00 00 00 00 a0 10 
>st0: Add. Sense: No additional sense information
>st0: Sense Key : Unit Attention [current] 
>Info fld=0x1
>st0: Add. Sense: Power on, reset, or bus device reset occurred
>st0: Error on write filemark.
>st0: Sense Key : Not Ready [current] 
>st0: Add. Sense: Logical unit not ready, cause not reportable
>
>
>The drive detection bit from kern.log goes:
>
>Mar 28 09:56:34 build kernel: ata1: SATA link down (SStatus 0 SControl 300)
>Mar 28 09:56:34 build kernel: ata2: SATA link down (SStatus 0 SControl 300)
>Mar 28 09:56:34 build kernel: ACPI: PCI Interrupt Link [LSA1] enabled at IRQ 22
>Mar 28 09:56:34 build kernel: ACPI: PCI Interrupt 0000:00:05.1[B] -> Link [LSA1] -> GSI 22 (level, low) -> IRQ 22
>Mar 28 09:56:34 build kernel: PCI: Setting latency timer of device 0000:00:05.1 to 64
>Mar 28 09:56:34 build kernel: scsi3 : sata_nv
>Mar 28 09:56:34 build kernel: scsi4 : sata_nv
>Mar 28 09:56:34 build kernel: ata3: SATA max UDMA/133 cmd 0xa880 ctl 0xa800 bmdma 0xa080 irq 22
>Mar 28 09:56:34 build kernel: ata4: SATA max UDMA/133 cmd 0xa480 ctl 0xa400 bmdma 0xa088 irq 22
>Mar 28 09:56:34 build kernel: ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>Mar 28 09:56:34 build kernel: ata3.00: ATAPI: SONY    SDX-870V, 0100, max UDMA/100
>Mar 28 09:56:34 build kernel: ata3.00: applying bridge limits
>Mar 28 09:56:34 build kernel: ata3.00: configured for UDMA/100
>Mar 28 09:56:34 build kernel: ata4: SATA link down (SStatus 0 SControl 300)
>Mar 28 09:56:34 build kernel: scsi 3:0:0:0: Sequential-Access SONY SDX-870V         0100 PQ: 0 ANSI: 3
>Mar 28 09:56:34 build kernel: st 3:0:0:0: Attached scsi tape st0
>Mar 28 09:56:34 build kernel: st 3:0:0:0: st0: try direct i/o: yes (alignment 4 B)
>Mar 28 09:56:34 build kernel: st 3:0:0:0: Attached scsi generic sg6 type 1
>Mar 28 09:56:34 build kernel: ACPI: PCI Interrupt Link [LSA2] enabled at IRQ 21
>Mar 28 09:56:34 build kernel: ACPI: PCI Interrupt 0000:00:05.2[C] -> Link [LSA2] -> GSI 21 (level, low) -> IRQ 21
>Mar 28 09:56:34 build kernel: PCI: Setting latency timer of device 0000:00:05.2 to 64
>Mar 28 09:56:34 build kernel: scsi5 : sata_nv
>Mar 28 09:56:34 build kernel: scsi6 : sata_nv
>Mar 28 09:56:34 build kernel: ata5: SATA max UDMA/133 cmd 0xa000 ctl 0x9c00 bmdma 0x9480 irq 21
>Mar 28 09:56:34 build kernel: ata6: SATA max UDMA/133 cmd 0x9880 ctl 0x9800 bmdma 0x9488 irq 21
>Mar 28 09:56:34 build kernel: ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>Mar 28 09:56:34 build kernel: ata5.00: ATAPI: ASUS    DRW-2014L1T, 1.00, max UDMA/66
>Mar 28 09:56:34 build kernel: ata5.00: configured for UDMA/66
>Mar 28 09:56:34 build kernel: ata6: SATA link down (SStatus 0 SControl 300)
>Mar 28 09:56:34 build kernel: scsi 5:0:0:0: CD-ROM            ASUS DRW-2014L1T      1.00 PQ: 0 ANSI: 5
>Mar 28 09:56:34 build kernel: sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form2 cdda tray
>Mar 28 09:56:34 build kernel: Uniform CD-ROM driver Revision: 3.20
>Mar 28 09:56:34 build kernel: sr 5:0:0:0: Attached scsi CD-ROM sr0
>Mar 28 09:56:34 build kernel: sr 5:0:0:0: Attached scsi generic sg7 type 5
>Mar 28 09:56:34 build kernel: ACPI: PCI Interrupt Link [LUB2] enabled at IRQ 20
>
>lspci -v (for the SATA stuff) shows:
>
>00:05.0 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a3) (prog-if 85 [Master SecO PriO])
>        Subsystem: Super Micro Computer Inc Unknown device a011
>        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 23
>        I/O ports at b480 [size=8]
>        I/O ports at b400 [size=4]
>        I/O ports at b080 [size=8]
>        I/O ports at b000 [size=4]
>        I/O ports at ac00 [size=16]
>        Memory at dfaf9000 (32-bit, non-prefetchable) [size=4K]
>        Capabilities: [44] Power Management version 2
>        Capabilities: [b0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/2 Enable-
>        Capabilities: [cc] HyperTransport: MSI Mapping
>
>00:05.1 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a3) (prog-if 85 [Master SecO PriO])
>        Subsystem: Super Micro Computer Inc Unknown device a011
>        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 22
>        I/O ports at a880 [size=8]
>        I/O ports at a800 [size=4]
>        I/O ports at a480 [size=8]
>        I/O ports at a400 [size=4]
>        I/O ports at a080 [size=16]
>        Memory at dfaf8000 (32-bit, non-prefetchable) [size=4K]
>        Capabilities: [44] Power Management version 2
>        Capabilities: [b0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/2 Enable-
>        Capabilities: [cc] HyperTransport: MSI Mapping
>
>00:05.2 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a3) (prog-if 85 [Master SecO PriO])
>        Subsystem: Super Micro Computer Inc Unknown device a011
>        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 21
>        I/O ports at a000 [size=8]
>        I/O ports at 9c00 [size=4]
>        I/O ports at 9880 [size=8]
>        I/O ports at 9800 [size=4]
>        I/O ports at 9480 [size=16]
>        Memory at dfaf7000 (32-bit, non-prefetchable) [size=4K]
>        Capabilities: [44] Power Management version 2
>        Capabilities: [b0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/2 Enable-
>        Capabilities: [cc] HyperTransport: MSI Mapping
>
>
>Using the 'sonytools' utility, I can do things like eject the tape (mt
>does that too) but trying a 'longer' command like tape format results in:
>
>#  sonytape /dev/st0 -p
>SONY tape device detected.
>SONY SDX-870V   Revision: 0100
>Please Load Tape In Drive!
>Sleeping 60 seconds.
>Formatting Tape.
>Request Sense data: 0x72 0x0b 0x47 0x00 0x00 0x00 0x00 0x0e 0x09 0x0c 
> 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x02 0x00 0x00 
> 0xa0 0x58 
>Unknown Sense Code, No additional sense information
>Done.
>#
>
>and dmesg for this failure says:
>
>ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
>ata3.00: cmd a0/00:00:00:16:00/00:00:00:00:00/a0 tag 0 pio 24 out
>         cdb 15 10 00 00 16 00 00 00  00 00 00 00 00 00 00 00
>         res 58/00:00:00:02:00/00:00:00:00:00/a0 Emask 0x6 (timeout)
>ata3.00: status: { DRDY DRQ }
>ata3: port is slow to respond, please be patient (Status 0xd0)
>ata3: device not ready (errno=-16), forcing hardreset
>ata3: hard resetting link
>ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>ata3.00: configured for UDMA/100
>ata3: EH complete
>st0: Sense Key : Unit Attention [current] 
>st0: Add. Sense: Power on, reset, or bus device reset occurred
>
>As I said earlier, small amounts of data work like so:
>
># tar cvf /dev/st0 .
>./
>./sonytape
>./nori_trace.txt
>./SDX-870V.pdf
>./sonytape_linux_v2.8.tar.gz
>./sdx870v_0100.v87
>./datap.bin
>./readme_sonytape_linux_v2.8.txt
>./chnginq.txt
># tar vtf /dev/st0
>drwxrwxr-x root/root         0 2008-03-27 15:07 ./
>-rwxr-xr-x root/root    135282 2008-03-19 18:29 ./sonytape
>-rw-rw-r-- root/root   1360365 2008-03-27 15:07 ./nori_trace.txt
>-rw------- root/root    481793 2008-03-27 14:48 ./SDX-870V.pdf
>-rw-rw-r-- root/root     57566 2008-03-27 14:48
>./sonytape_linux_v2.8.tar.gz
>-rw------- root/root   1514496 2008-03-27 14:48 ./sdx870v_0100.v87
>-r-xr-xr-x root/root     65536 2003-07-20 16:43 ./datap.bin
>-rw-r--r-- root/root     12674 2008-03-19 15:28
>./readme_sonytape_linux_v2.8.txt
>-r-xr-xr-x root/root        28 2008-03-19 18:15 ./chnginq.txt
>#
>
>So it's seemingly something to do with the amount of data being sent to
>the drive.
>
>Can anyone suggest a course of action to getting this fixed?  I'm very
>happy to stick debug in bits of the kernel and report results.
>

-- 
 Regards,
     Russell
 --------------------------------------------------------------------
| Russell Brown          | MAIL: russell@lls.com PHONE: 01780 471800 |
| Lady Lodge Systems     | WWW Work: http://www.lls.com              |
| Peterborough, England  | WWW Play: http://www.ruffle.me.uk         |
 --------------------------------------------------------------------

             reply	other threads:[~2008-06-24 15:04 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-24 14:55 Russell Brown [this message]
2008-06-25 11:59 ` Do SATA Tapes work on *any* SATA controller? Tejun Heo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m1KB9va-003v2oa@lls.lls.com \
    --to=russell@lls.lls.com \
    --cc=linux-ide@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.