SYNOPSIS

       btcflash dev=device [ options ] [ f=firmwarefile ]


DESCRIPTION

       Btcflash is used to read update the Firmware for a BTC DRW1008 DVD+/-RW
       recorder.

       Be very careful when writing firmware as this program  does  not  check
       for the correctness of the target device.

       The  device refers to scsibus/target/lun of the drive. Communication on
       SunOS is done with the SCSI general driver scg.  Other  operating  sys-
       tems  are  using  a library simulation of this driver.  Possible syntax
       is: dev= scsibus,target,lun or dev= target,lun.  In  the  latter  case,
       the  drive  has to be connected to the default SCSI bus of the machine.
       Scsibus, target and lun are integer numbers.  Some operating systems or
       SCSI  transport  implementations  may  require to specify a filename in
       addition.  In this case the correct syntax  for  the  device  is:  dev=
       devicename:scsibus,target,lun  or  dev=  devicename:target,lun.  If the
       name of the device node that has been specified on such a system refers
       to  exactly  one SCSI device, a shorthand in the form dev= devicename:@
       or dev= devicename:@,lun may be used instead of  dev=  devicename:scsi-
       bus,target,lun.


       To access remote SCSI devices, you need to prepend the SCSI device name
       by a remote device indicator. The remote  device  indicator  is  either
       REMOTE:user@host: or  REMOTE:host:
       A  valid  remote  SCSI  device  name may be: REMOTE:user@host: to allow
       remote SCSI bus scanning or REMOTE:user@host:1,0,0 to access  the  SCSI
       device at host connected to SCSI bus # 1,target 0 lun 0.


       To  access  SCSI  devices  via  alternate transport layers, you need to
       prepend the SCSI device name  by  a  transport  layer  indicator.   The
       transport  layer  indicator may be something like USCSI: or ATAPI:.  To
       get a list of supported transport layers for your  platform,  use  dev=
       HELP:


       To  make btcflash portable to all UNIX platforms, the syntax dev= devi-
       cename:scsibus,target,lun is preferred as is hides OS  specific  knowl-
       edge  about  device names from the user.  A specific OS must not neces-
       sarily support a way to specify a real device file name nor  a  way  to
       specify scsibus,target,lun.


       Scsibus  0  is the default SCSI bus on the machine. Watch the boot mes-
       sages for more information or look into  /var/run/dmesg.boot  for  more
       information  about the SCSI configuration of your machine.  If you have
       problems to figure out what values  for  scsibus,target,lun  should  be
       used, try the -scanbus option of btcflash.
              port,  you need to use the control device (e.g.  /dev/rcd0.ctl).
              A  correct  device   specification   in   this   case   may   be
              dev=/dev/rcd0.ctl:@ .

              On Linux, drives connected to a parallel port adapter are mapped
              to a virtual SCSI bus. Different adapters are mapped to  differ-
              ent targets on this virtual SCSI bus.

              If no dev option is present, cdrecord will try to get the device
              from the CDR_DEVICE environment.

              If the argument to the dev= option does not contain the  charac-
              ters  ',',  '/',  '@' or ':', it is interpreted as an label name
              that may be found in the file /usr/local/etc/cdrecord (see FILES
              section).

       timeout=#
              Set  the  default  SCSI command timeout value to # seconds.  The
              default SCSI command timeout is the  minimum  timeout  used  for
              sending  SCSI  commands.  If a SCSI command fails due to a time-
              out, you may try to raise the default SCSI command timeout above
              the  timeout  value  of the failed command.  If the command runs
              correctly with a raised command timeout, please report the  bet-
              ter timeout value and the corresponding command to the author of
              the program.  If no timeout option is present, a default timeout
              of 40 seconds is used.

       debug=#, -d
              Set  the  misc  debug value to # (with debug=#) or increment the
              misc debug level by one (with -d).  If  you  specify  -dd,  this
              equals to debug=2.  This may help to find problems while opening
              a driver for libscg.  as well as with sector  sizes  and  sector
              types.   Using -debug slows down the process and may be the rea-
              son for a buffer underrun.

       kdebug=#, kd=#
              Tell the scg-driver to modify the kernel debug value while  SCSI
              commands are running.

       -silent, -s
              Do not print out a status report for failed SCSI commands.

       -v     Increment  the  level of general verbosity by one.  This is used
              e.g. to display the progress of the process.

       -V     Increment the verbose level with respect of SCSI command  trans-
              port  by  one.  This helps to debug problems during the process,
              that occur in the  CD-Recorder.   If  you  get  incomprehensible
              error  messages  you  should  use this flag to get more detailed
              output.  -VV will show data buffer content in  addition.   Using
              -V or -VV slows down the process.

              operating system, the value is reduced to the maximum value that
              is  possible  with  the current operating system.  Sometimes, it
              may help to further reduce the transfer size or to  enhance  it,
              but  note that it may take a long time to find a better value by
              experimenting with the ts= option.




EXAMPLES


ENVIRONMENT

       RSH    If the RSH environment is present, the  remote  connection  will
              not be created via rcmd(3) but by calling the program pointed to
              by RSH.  Use e.g.  RSH=/usr/bin/ssh to  create  a  secure  shell
              connection.

              Note  that  this  forces cdrecord to create a pipe to the rsh(1)
              program and disallows cdrecord to directly  access  the  network
              socket to the remote server.  This makes it impossible to set up
              performance parameters and slows down the connection compared to
              a root initiated rcmd(3) connection.

       RSCSI  If the RSCSI environment is present, the remote SCSI server will
              not be the program /usr/local/sbin/rscsi but the program pointed
              to by RSCSI.  Note that the remote SCSI server program name will
              be ignored if you log in using an account that has been  created
              with a remote SCSI server program as login shell.


SEE ALSO

       cdrecord(1), rcmd(3), ssh(1).


NOTES


DIAGNOSTICS

       A typical error message for a SCSI command looks like:

              btcflash: I/O error. test unit ready: scsi sendcmd: no error
              CDB:  00 20 00 00 00 00
              status: 0x2 (CHECK CONDITION)
              Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 25 00 00 00 00 00
              Sense Key: 0x5 Illegal Request, Segment 0
              Sense Code: 0x25 Qual 0x00 (logical unit not supported) Fru 0x0
              Sense flags: Blk 0 (not valid)
              cmd finished after 0.002s timeout 40s

       The  first  line  gives information about the transport of the command.
       The text after the first colon gives the error text for the system call
       from  the  view  of  the  kernel. It usually is: I/O error unless other
       problems happen. The next words contain a  short  description  for  the
       SCSI  command  that fails. The rest of the line tells you if there were
       any problems for the transport of the command over the SCSI bus.  fatal
       error  means that it was not possible to transport the command (i.e. no
       device present at the requested SCSI address).


       The sixth line is the error text for the sense code and the sense qual-
       ifier if available.  If the type of the device is known, the sense data
       is  decoded  from  tables  in scsierrs.c .  The text is followed by the
       error value for a field replaceable unit.

       The seventh line prints the block number that is related to the  failed
       command  and  text for several error flags. The block number may not be
       valid.

       The eight line reports the timeout set up for this command and the time
       that the command really needed to complete.



BUGS


AUTHOR

       Joerg Schilling
       Seestr. 110
       D-13353 Berlin
       Germany

       Additional information can be found on:
       http://www.fokus.fhg.de/usr/schilling/cdrecord.html

       If you have support questions, send them to:

       cdrecord-support@berlios.de
       or other-cdwrite@lists.debian.org

       If you have definitely found a bug, send a mail to:

       cdrecord-developers@berlios.de
       or schilling@fokus.fhg.de

       To subscribe, use:

       http://lists.berlios.de/mailman/listinfo/cdrecord-developers
       or http://lists.berlios.de/mailman/listinfo/cdrecord-support



Joerg Schilling                    06/02/08                       BTCFLASH(1L)

Man(1) output converted with man2html