Virtual OS/2 International Consumer Education
VOICE Home Page: http://www.os2voice.org
October 2004

Newsletter Index
< Previous Page | Next Page >
Feature Index

editor@os2voice.org


CD/DVD ReWriters, RSJ and how to avoid RSJ "capturing" your writer at bootup

By Peter Brown © October 2004

Something that seems to crop up in OS/2, eCS and RSJ newsgroups and forums on a regular basis is:

"Having installed RSJ, how do I setup my (ATAPI) CD/DVD Writer so that it is possible to use it with other writing software such as cdrecord, UDF formatting, dvddao as well as with RSJ?"

If your CD/DVD writer is ATAPI, you could have it available all the time as a CD/DVD-ROM and still use RSJ with it. This involves using DANIATAPI.FLT as a replacement for LOCKCDR.FLT. I also recommend DANIS506.ADD as a replacement for IBM1S506.ADD as it enables bus mastering on more chipsets.

The explanation is a little long but if you have the patience to read it. . .

I have an LG Electronics GSA-4040B DVD writer that works with RSJ, cdrecord2, dvddao and the UDF file system. To achieve this it is necessary to modify the RSJ statements in CONFIG.SYS and possibly add or change some drivers.

Preparing the RSJ Configuration

The RSJ driver that "captures" the writer at bootup is the LOCKCDR.FLT driver. This driver automatically detects a lot of devices at bootup and supplies the necessary device information that may not exist within the RSJ supplied \cdwfs\cddrv.inf writer information file. We need to disable this driver and replace it with DANIATAPI.FLT driver.

As LOCKCDR.FLT will no longer be available to supply the RSJ writing software with our writer information, we need to make sure that it is available somehow. If the RSJ software does not find that information, it may not work correctly, if at all. Luckily the RSJ software looks in \cdwfs\cddrv.inf for writer information if it is not supplied by the LOCKCDR.FLT driver. We must find the writer's description so that a profile can be added to \cdwfs\cddrv.inf, if necessary. There are several ways to find this:

  1. the RSJ utilities
  2. the cdrecord utilities
  3. the information from DANIS506

1. RSJ software reports this on the System page of the CD Writer Control notebook so you could carefully copy the details from there. This must be done before disabling the driver.

2. Obtain the necessary details from cdrecord using the following command in the cdrecord directory:

[G:\cdrecord]cdrecord2 -scanbus > scsi.txt

This creates a text file, scsi.txt, with the details. Here is a snippet from one I did earlier:

Cdrecord-Clone 2.01a27 (i386-pc-os2_emx) Copyright (C) 1995-2004 J÷rg Schilling
Using libscg version 'schily-0.8'
scsibus0:
    0,0,0     0) 'IBM     ' 'DPSS-318350N    ' 'S96H' Disk
    0,1,0     1) *
    0,2,0     2) *
    0,3,0     3) *
    0,4,0     4) *
    0,5,0     5) *
    0,6,0     6) 'IBM     ' 'DPSS-318350N    ' 'S96H' Disk
    0,7,0     7) *
scsibus1:
    1,0,0   100) *
    1,1,0   101) 'HL-DT-ST' 'DVDRAM GSA-4040B' 'A303' Removable CD-ROM
    1,2,0   102) *
    1,3,0   103) *
    1,4,0   104) *
    1,5,0   105) *
    1,6,0   106) *
    1,7,0   107) *
scsibus2:
    2,0,0   200) *
    2,1,0   201) *

The useful thing about the cdrecord2 output is that you also get the SCSI ID required to use the device with cdrecord2 and dvddao. In the above my DVD ReWriter is listed at 1,1,0 which means that for cdrecord2 and dvddao the writing device is dev=1,1,0.

3. It is also possible to get details from the output of this command:

[g:\]copy ibms506$ con:
\DEV\IBMS506$ => \DEV\CON
R1.6.8       /VL /BM /A:0 /80WIRE
            Daniela's Bus Master IDE Driver for OS/2 Version 1.6.8
Controller:0  Port:01F0 IRQ:0E  Status:OK BusMaster Scatter/Gather
  VIA 571 PCI to IDE IC Rev:06 VID:1106 DID:0571 @33MHz
 Unit:0 Status:OK ATAPI BusMaster UltraDMA2/PIO4
  Model:HL-DT-ST DVDRAM GSA-4040B               A303

     1 file copied

The \cdwfs\cddrv.inf file contains a "Dummy" line which is a template when adding writer info to this file. As I found with the OEM device in the list below it can be a bit difficult getting all the spaces in the right places but the output from cdrecord2 helps there as it is possible to count the number of spaces.

Here are some "info lines" that I have added over the past couple of years:

  OEM      "24X10X40 CD-RW "  2.06  "        24X10X40 CD-RW  " N/A cdatapi ATAPI CUESHEET  ________24X10X40_CD-RW__2
  LITE-ON  "LTR-32123S"       XS0R  "LITE-ON LTR-32123S      " N/A cdatapi ATAPI CUESHEET  LITE-ON_LTR-32123S______X
  HL-DT-ST "DVDRAM GSA-4040B" A303  "HL-DT-STDVDRAM GSA-4040B" N/A cdatapi ATAPI CUESHEET  N/A
  Dummy    "dummy"            N/A   "dummy   dummy           " N/A cdatapi ATAPI CUESHEET  N/A

Notice the above includes the DVD ReWriter ID, GSA-4040B, shown in the output from both the cdrecord -scanbus and copy ibms506$ con: commands.

The "info" line added to the RSJ cddrv.inf file for my LG GSA-4040B is:

HL-DT-ST   "DVDRAM GSA-4040B"  A303   "HL-DT-STDVDRAM GSA-4040B"   N/A                   cdatapi   ATAPI      CUESHEET     N/A

Modifying config.sys

Having added the "info line" - hopefully correctly - we now need to look at drivers and CONFIG.SYS statements. I am using the following drivers:

  daniatapi.flt
  danis506.add
  aspirout.sys

I also use the following software:

  dvddao
  cdrtools2
  RSJ V5.05

You can find the latest RSJ software at http://www.rsj.de/stage/en/cdwriter/cd_os2.asp and latest versions of the other software and drivers on http://hobbes.nmsu.edu.

The UDF v2.1.3 update, available for eCS and IBM, is also installed and makes UDF very useable here - especially with DVD-RAM media.

With all of the above drivers and software it is worth having a look through the documentation.

You need to enable bus mastering for your writer - I think that the RSJ PDF file does mention this (Page 94).

Here are my CONFIG.SYS statements, in the order that they appear in my CONFIG.SYS file, to use an ATAPI DVD ReWriter (applies to CD ReWriters as well) on the first IDE channel (Master) on the first IDE controller. (I have a SCSI hard drive so do not need the first controller for an IDE boot drive.)

device=G:\os2\boot\unicode.sys

  REM ***** DVD and CD IFS
  IFS=G:\OS2\BOOT\UDF.IFS
  IFS=G:\OS2\BOOT\CDFS.IFS /Q /W

  REM ***** Base DRIVERS - Required Drivers for this system
  REM ***** Dania's drivers used in preference to ibm1s506.add, ibmidecd.flt and ibmatapi.flt - for DVDRW
  REM ***** Turn on DMA capability for DVDRW - Master on IDE0 /A:0=IDE0 /BM=Switch on Bus Mastering /80WIRE=80 wire cable
  BASEDEV=DANIS506.ADD /VL /BM /A:0 /80WIRE
  BASEDEV=DANIATAPI.FLT /V
  BASEDEV=OS2ASPI.DMD /ALL

  REM ***** DEVICES - Required Drivers for this system
  DEVICE=G:\OS2\BOOT\OS2CDROM.DMD /V
  REM ***** ASPI ROUTER - required for CDRecord/2, SANE & ATAPI > SCSI
  DEVICE=G:\OS2\BOOT\aspirout.sys

  REM *** RSJ CD-Writer File System ***
  REM ***** BASEDEV=LOCKCDR.FLT - using DANIATAPI.FLT see BaseDev section
  DEVICE=k:\CDWFS\RSJSCSI.SYS
  IFS=k:\CDWFS\CDWFS.IFS
  RUN=k:\CDWFS\CDWFSD.EXE -p "K:/CDWFS/RSJcache" -c102400 -b32768 -t2 -i3 -s0
Notice: no RSJIDECD.FLT, no LOCKCDR.FLT, no IBMIDECD.FLT drivers required. daniatapi.flt makes these files redundant.

I have found that OS2ASPI.DMD can "misbehave" if given too many options - it seems to work best with either /ALL or /SHARE but not so well with both.

ASPIROUT.SYS is required for ATAPI to SCSI control; you load it to take full advantage of your CD/DVD ReWriter.

The Results

Having installed drivers and made the above changes to CONFIG.SYS and cddrv.inf files it is necessary to reboot. RSJ should no longer "capture" the writing device at bootup.

The setup above allows me to use my DVD ReWriter:

Heck, I previously had the same setup as above with a CDRW (the device with the descriptive name of OEM in the cddrv.inf file snip above) and had it doing CD copying using Nero Burning ROM V5.5, under Odin until something changed in Odin.

As a digression the firmware revision A303 is a "ripped" version of the LG firmware which seems to help avoid some "Region issues." For those interested or feeling experimental the Dangerous Bros site http://tdb.rpc1.org/ may be worth a visit.

[Editor's Notes]

I have made the changes Peter discussed above to see how it worked.

  1. My primary disk drive adapter is SCSI, and the CDRW device is a SCSI device (Teac r58s). The two other DVD-ROMs in the computer are both on IDE adapters. The SCSI drivers are loaded before the IDE driver. As a result the SCSI devices are scanned first.
  2. Without LOCKCDR.FLT a new drive object appeared, the CDRW; this is normal. In my case it changed the drive letters of the two DVD-ROM drives (from L:/M: to M:/N:).
  3. Part of my startup.cmd includes the line: cdattach p:
    which attached the CDRW as an RSJ accessible device. After making Peter's changes, I had two drives for the same device: the one attached by RSJ, and the one found by DANIATAPI.FLT. Having the drive attached at startup was useful for me. In the new, more versatile arrangement, it would be removed and attached only when necessary for access by RSJ.
  4. Because the writable drive is no longer locked, it is possible for other programs to disrupt a write session in progress. Care must be taken to maintain a quiescent system during a write. Even starting winos2 could be hazardous. Newer writers have "Burn Proof" and "Just-Link" technologies which should resume a burn correctly.

References:

Latest RSJ version: http://www.rsj.de/stage/en/cdwriter/cd_os2.asp
Hobbes software archive: http://hobbes.nmsu.edu
Dangerous Bros: http://tdb.rpc1.org/


Feature Index
editor@os2voice.org
< Previous Page | Newsletter Index | Next Page >
VOICE Home Page: http://www.os2voice.org