Amanda-Users

Re: HELLO, I have trouble with chg-scsi: wrong emubarcode number

2003-07-25 16:47:48
Subject: Re: HELLO, I have trouble with chg-scsi: wrong emubarcode number
From: Ashwin Bijur <abijur AT craft-tech DOT com>
To: amanda-users AT amanda DOT org
Date: Fri, 25 Jul 2003 16:48:07 -0400
I commented "emubarcode 1" in the chg-scsi.conf file and now I don't get that error anymore.  Thank you very much, Jon.

Jon LaBadie wrote:
On Fri, Jul 25, 2003 at 12:32:50PM -0400, Ashwin Bijur wrote:
I am experiencing a problem with chg-scsi.  Whenever I execute 
"chg-scsi -inventory", I get back the following response:
BarCode == 1 and emubarcode == 1

This is saying you are claiming to have a barcode reader and
asking chg-scsi to emulate one also. Only one or the other
can be set to 1.

Our tape-changer is equipped with a bar code reader.  I have set 
"havebarcode 1", "emubarcode 0" in the chg-scsi.conf file. But
chg-scsi doesn't seem to pickup this information. When I ran "strings
-a /usr/local/etc/libexec/chg-scsi | grep emubarcode", I got the
following output:

emubarcode
emubarcode 1 # If you drive has no barcode reader this will try
BarCode == 1 and emubarcode == 1
emubarcode

So it seems that emubarcode is hardcoded as 1 in the binary file. Is
there any way to fix this or force chg-scsi to read the value for
emubarcode from the chg-scsi.conf file?

There is nothing in that grep output to suggest emubarcode is
hardcoded as 1; == is a test, not an assignment.

When I run "chg-scsi -genconf", I get the following information:
  ...
emubarcode       1   # If you drive has no barcode reader this will try
# keep an inventory of your tapes to find them faster
#
havebarcode 0 # Set this to 1 if you have an library with an

I peeked at the chg-scsi.c source code. emubarcode is initialized to 0.

However, I did note an oddity in the part of the code that reads the
config file. Where is detects "havebarcode", it uses the value,
0 or 1, that follows the configuration parameter. This is as expected.

When "emubarcode" is detected it is treated differently. It is treated
as a boolean and the value that follows is ignored. I.e. if "emubarcode"
is in chg-scsi.conf, THEN it is set to 1 regardless of the value.

I suggest you try eliminating the emubarcode entirely from your
chg-scsi.conf file (still setting "havebarcode 1") and see if that
works. It should pick-up the hardcoded emubarcode default of 0.
If that works, we can claim to the maintainers of the code that it
is a defect in the documentation or the source code.


<Prev in Thread] Current Thread [Next in Thread>