aha152x vs. Yamaha 6416 (on 2.2.14 OR 2.3.99-pre5)

From: Bill Bumgarner (bbum@codefab.com)
Date: Tue Apr 18 2000 - 22:39:05 EST


I'm in the process of turning a machine that is considered useless in the
windows world into a very useful Linux box. Common story, I'm sure.

In particular, I'm building out a Linux box that is equipped with:

        - 133 mhz pentium on a VX motherboard w/64 MB ram
        - 3 GB boot device
        - 30 GB maxtor drive for data
        - ultra cheesy Kingston NE2000 clone [10mbps] in an EISA/ISA slot
        - ultra cheap Adaptec 1505/1510 in a EISA/ISA slot
        - random video card [I don't do X on this machine]
        - Yamaha 6416 6x CDR writer on the Adaptec [properly terminated on
card and at device]

The point is to be able to download audio CD images [shn files w/md5sum
signatures] from etree.org and be able to do all of the processing on Linux
to yield audio CDs. I have had great success in getting it to work, but
am having some difficulties optimizing the whole thing. Software details:

        - have tried the 2.2.14 [debian packaged] kernel
        - just build the 2.3.99-pre5 kernel [more on this in a moment]
        - using cdrdao to burn DAO audio
        - using cdrecord to diddle drive [eject, mostly]

        - aha152x driver w/parameters "0x340,10" -- rest of the parameters
are left as default.

I'm to the point now where I can do consistent simulations and writes at
4x. This worked under both the 2.2.14 and the 2.3.99-pre5 kernel. (The
2.3.99-pre5 kernel also fixes a number of other problems; doesn't choke
slightly on mounting the 30GB drive, for one.)

However, I cannot do a 6x simulation! I haven't tried a 6x write. I
consistently see:

Writing track 01 (mode AUDIO/AUDIO)...
cdrdao: Input/output error. : scsi sendcmd: retryable error
CDB: 2A 00 00 00 4D 27 00 00 0D 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 03 00 00 00 00 0A 00 00 00 00 0C 0A 00 00
Sense Key: 0x3 Medium Error, Segment 0
Sense Code: 0x0C Qual 0x0A (write error - padding blocks added) Fru 0x0
Sense flags: Blk 0 (not valid)
ERROR: Write data failed.
ERROR: Writing failed - buffer under run?
ERROR: Simulation failed.

(occurs after 5 to 60 blocks written in simulation)

Reading the source for the aha152x driver, there was a bunch of
maintenance work around Christmas last year that indicated that it improved
performance and the interrupt/IO handling. So, given that a buffer under
run would indicate a performance issue, my hope was that moving from
2.2.14 to 2.3.99 would fix the problem-- while the machine boots about 40%
faster with the new kernel, it still won't do a successful simulation at
6x.

A 6x simulation requires about 1,070 kbits/second sustained bandwidth. If
I remember correctly, the cheesy adaptec card I'm using *should* be able
to sustain that level of bandwidth. In other words, I believe that there
is either a problem with my configuration and/or hardware OR a bug in the
kernel/driver-- all things considered, I find it far more likely that it is
in my configuration than a bug in the kernel/driver.

However, I'm stumped as to how to further diagnose the problem.

It is interesting to note that I just did a 4x simulation [Hendrix show
from 1969 :-] and cdrdao reports:

Wrote 305896 blocks. Buffer fill min 93%/max 100%.

BTW: The ultimate point of this whole operation is to write all this up
in a big FAQ along with a few very useful python scripts and dump it back
to the community.... It took me a considerable amount of time to figure
out how to take all the necessary steps to make this work-- I'd like to
give something back such that less technical folks can have a similar set
up with a hell of a lot less tedium involved in going there.

b.bum

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Apr 23 2000 - 21:00:14 EST