[bookport] Re: bc_sig.bb

  • From: buhrow@xxxxxxxxxxxxxxxxxxxxx (Brian Buhrow)
  • To: bookport@xxxxxxxxxxxxx
  • Date: Wed, 1 Feb 2006 13:30:42 -0800

        Hello Walt.  Here's what I'm getting at.  When the Bookport is plugged
into your computer, it presents itself as a USB mass storage device, which
is a standard USB protocol which is used to attach flash drives, thumb
drives, external USB hard drives, etc.  The only communication between the
computer and the Bookport is via this protocol.  As a result, the only way
the Bookort can convey details about itself is to place files on its
storage media, which the transfer utility knows to look for and to
interpret.  The process works in reverse when you do things like update the
firmware on your bookport.  When you update the firmware, the transfer
utility puts it on your Bookport's flash card in a file that the bookport
will look for the next time it reboots.  When the bookport is unplugged from
the computer, it reboots in stand-alone mode, at which point it looks for
the magic firmware file, and, if it finds it, it updates the firmware in
its internal flash memory, deletes the file and reboots again.  Since the
file is not there now, it proceeds to operate normally.
        Although the transfer utility can tell that a bookport was plugged
into a USB port, it cannot tell what the firmware revision or serial number
of that bookport is.  However, if the transfer utility knows that there is
a filed called BCSIG._BB present, which was placed by the bookport firmware
before it was plugged into the computer, it can read this file, which will
tell it the serial number of the bookport, the firmware revision, etc.
        It's my supposition that the firmware, when it creates the BCSIG._BB
file, doesn't bother to check to see if the file on a given flash card
matches the current Bookport's parameters, but only checks to see if the
file exists.  If it does, it leaves it alone, and if it doesn't, as you so
eloquently tested, it creates it.  So, if you stick a blank flash card into
one bookport, and wait for it to create the BCSIG._BB file, then, when you
stick it into the next bookport, it won't bother to overwrite the "wrong"
BCSIG._BB file.  Remember, the only communication between the computer and
the Bookport is via the mass storage protocol I mentioned earlier, so the
transfer utility will think it's talking to the Bookport which created the
BCSIG._BB file, rather than the one which is actually talking to the
computer.
        It might be that the transfer utility doesnt tie Audible.com books to
a given Bookport unit, but it certainly could be made to do so.  And, certainly,
it is critical that the transfer utility know which version of firmware
exists on your bookport.
        In any case, I'm happy to know that the BCSIG._BB file is placed on
pre-formatted flash cards, regardless of whether it formats them itself.
The reason is that I've found I can partition my flash cards a bit more
efficiently than does the Bookport by default, and thus get a few more
megabyts of space out of my cards.

Hope that helps.
-Brian


Other related posts: