From: Luke-Jr <luke@dashjr.org>
To: linux-kernel@vger.kernel.org
Cc: Zoltan Boszormenyi <zboszor@freemail.hu>
Subject: Firmware Flashing (Was: CD writing in future Linux (stirring up a hornets' nest))
Date: Fri, 10 Feb 2006 08:01:20 +0000 [thread overview]
Message-ID: <200602100801.23404.luke@dashjr.org> (raw)
In-Reply-To: <43EB7E28.2030208@freemail.hu>
On Thursday 09 February 2006 17:38, Zoltan Boszormenyi wrote:
> For those who don't know, there even exists a firmware updater for Pioneer
> DVD+-RW drives that work on Linux with /dev entries, on a live system,
> without the need for a reboot... http://lasvegas.rpc1.org/
> Look, Jörg, they don't need HOST/TARGET/LUN triplets for this task!
On the topic of firmware updating, I also have a project for a
firmware-flashing API that supports both BTC and BenQ DVD burners (in theory,
anyway-- it's 100% untested at this point). It uses libscg (indirectly,
though calls to fwscsi_*) to access the devices, but uses regular old /dev
device names (or the SCSI number things). If anyone wants a snapshot (or CVS
access, to contribute), let me know and I'll post it in my public_html...
Current plugins:
Image formats: CVT, Intel HEX, and BenQ EXE
User interfaces: 'fwflash' (commandline)
Devices:
DVD+-RW: BTC and BenQ
Build output:
lib/libfwflash.so
lib/libfwflashscsi.so
lib/fwflash/device/dvdrw_benq.so
lib/fwflash/device/dvdrw_btc.so
lib/fwflash/imgfmt/benq_exe.so
lib/fwflash/imgfmt/cvt.so
lib/fwflash/imgfmt/intel_hex.so
bin/fwflash
Current API (unstable):
--- core.h ---
extern const char * fwflash_get_error ();
extern void fwflash_error (const char *fmt, ...);
extern void fwflash_warn (const char *fmt, ...);
extern void fwflash_checksum (const unsigned char *data, size_t size, const
char **wanted, void *output);
extern void fwflash_checksum_one (const unsigned char *data, size_t size,
const char *wanted, void *output);
extern int fwflash_flash (hdevice, himage);
extern hdevice fwflash_device_open (const char *);
extern const char * fwflash_device_name (hdevice);
extern const char * fwflash_device_id (hdevice);
extern const char * fwflash_device_protocol_name (hdevice);
extern const char * fwflash_device_firmware_id (hdevice);
extern himage fwflash_image_open (const char *);
extern const char * fwflash_image_name (himage);
extern const char * fwflash_image_format_name (himage);
extern const char * fwflash_image_echksum (himage);
extern const char * fwflash_image_achksum (himage);
extern int fwflash_image_verify_chksum (himage);
extern const char * fwflash_image_firmware_id (himage);
extern const char * fwflash_image_device_id (himage);
extern size_t fwflash_image_data_size (himage);
extern const char * fwflash_image_data (himage);
--- device.h ---
extern const char * fwdevice_protocol_name ();
extern void * fwdevice_load_file (FILE *);
extern void * fwdevice_load_filename (const char *);
extern const char * fwdevice_name (void *);
extern const char * fwdevice_id (void *);
extern const char * fwdevice_firmware_id (void *);
extern int fwdevice_flash_image (void *h, himage img);
--- imgfmt.h ---
extern const char * fwimage_format_name ();
extern void * fwimage_load_file (FILE *);
extern void * fwimage_load_filename (const char *);
extern const char * fwimage_name (void *);
extern const char * fwimage_echksum (void *);
extern const char * fwimage_achksum (void *);
extern int fwimage_verify_chksum (void *);
extern const char * fwimage_firmware_id (void *);
extern const char * fwimage_device_id (void *);
extern size_t fwimage_data_size (void *);
extern const char * fwimage_data (void *);
--- scsi.h ---
extern void * fwscsi_open_filename (const char *fn);
extern void * fwscsi_open_scsidev (int bus, int target, int lun);
extern void fwscsi_cmd_setbyte (void *h, int i, char v);
extern void fwscsi_cmd_setcdb (void *h, char *data, size_t len);
extern int fwscsi_exec_command (void *h, const char *flags, char *buf, int
bufsize);
prev parent reply other threads:[~2006-02-10 8:01 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-09 17:38 CD writing in future Linux (stirring up a hornets' nest) Zoltan Boszormenyi
2006-02-09 22:33 ` Sam Vilain
2006-02-10 8:01 ` Luke-Jr [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200602100801.23404.luke@dashjr.org \
--to=luke@dashjr.org \
--cc=linux-kernel@vger.kernel.org \
--cc=zboszor@freemail.hu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.