User:Gordon/Optical Drive Testing Script

From FreekiWiki
< User:Gordon
Revision as of 13:41, 12 December 2009 by Gordon (talk | contribs)
Jump to navigation Jump to search

Optical drive testing is currently a time consuming, error prone manual process that relies too much on human judgement and doesn't yield enough information about the drives being tested.

I propose to write a script, provide associated test data, make a specification for sticky labels such that drives are better tested, better identified and labeled, and that a muckety-muck within Free Geek can easily update which drives are to be rejected due to insufficient capabilities merely by changing the options to the script.

Requirements

  • The script must correctly identify CD-ROM, CD-RW, DVD-ROM+CD-RW (combo), DVD +/- RW and CD-RW drives. I will leave DVD-RAM out.
  • The script must test read functionality from known-good CD-ROMs for CD capable drives.
  • The script must test read functionality from known-good DVD-ROMs for DVD capable drives.
  • The script must test read functionality on both the inner and outer surfaces of a known-good disc in order to rule out laser sled malfunctions.
  • The script must test and verify write functionality on a known-good CD-RW disc for CD write capable drives. We assume that the ability to successfully write to CD-RW (high laser power) indicates the ability to successfully write to CD-R.
    • If using sessions, the script must erase CD-RWs when they fill up with test sessions to enable their reuse.
  • The script must test and verify DVD-RW write functionality on a known-good DVD-RW disc for DVD write capable drives. We assume that the ability to successfully write to DVD-RW (high laser power) indicates the ability to successfully write to DVD-R and DVD+R/RW; see "questionable requirements" for more information on this assumption.
    • If using sessions, the script must erase DVD-RWs when they fill up with test sessions to enable their reuse.

RFC requirements

  • I believe that DVD+R/RW drives which are not capable of DVD-R/RW are a very small minority. In my (dated) research, DVD-R/RW is more widely compatible with various equipment than DVD+R/RW, so I propose testing only with DVD-R/RW and assuming this indicates DVD+R/RW functionality (if present) will also work, since the same physical hardware is involved; I further propose recycling any old drives that are not capable of DVD-R/RW (i.e. DVD+R/RW-only drives).

Nice to have

  • It'd be nice if the script could keep track of how many times a rewritable disc has been used and tell the user to discard it and use a new one after a certain number of rewrite cycles. The buildup of scratches and dirt on the disc surface and the limited write cycle life of rewritable disc media will necessitate periodic replacement of test discs.

Dependencies

  • The script will be written in Python (whatever version is installed by default in Ubuntu 9.10)
  • The script will depend on 'wodim'