2006-02-09 17:01:50

by Zoltan Boszormenyi

[permalink] [raw]
Subject: Re: CD writing in future Linux (stirring up a hornets' nest)

Hi!

>DervishD <[email protected]> wrote:
>
>> Could you please clarify which things are broken by Matthias
>> patch? This way he (or other developer) can prepare a better patch
>> and maintain it. BTW, I patched my cdrecord with Matthias patch and
>> nothing seems to be broken :? Maybe am I missing something?
>
>It is completely broken and thus makes no sense at all.
>
>As I did write it looks lie a dentist drills a hole into an aking tooth
>and then claims to be complete with the whole treatment.
>
>J?rg
>
>

It is a nicely written metaphor but hardly qualifies as a technical
argument.
Sorry, -1 point for you for being such a bully. You obviously didn't look at
Matthias' patch, you even expressed unwillingness to look at it.
I would be _very_ surprised if at the end you actually read or
(oh, the horror!) test it.

I have followed every such threads that ended in a flamefest.

Folks, please, cdrecord is GPL, at least up to 2.01.01a06.
Take this version and ask for help from the wizards at forum.rpc1.org
in forking. They drink, eat and breath CD-R[W] and DVD+-R[W] firmwares,
they surely know vendor commands, they must be able to understand
J?rg's software and maybe improve upon it. They can validate the
ossdvd patch, and fix it if it's buggy. 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!

Best regards,
Zolt?n B?sz?rm?nyi


2006-02-09 22:34:06

by Sam Vilain

[permalink] [raw]
Subject: Re: CD writing in future Linux (stirring up a hornets' nest)

Zoltan Boszormenyi wrote:
> Folks, please, cdrecord is GPL, at least up to 2.01.01a06.
> Take this version and ask for help from the wizards at forum.rpc1.org
> in forking. They drink, eat and breath CD-R[W] and DVD+-R[W] firmwares,
> they surely know vendor commands, they must be able to understand
> J?rg's software and maybe improve upon it. They can validate the
> ossdvd patch, and fix it if it's buggy. 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/

This sounds like a sensible idea.

I honestly don't understand why people let themselves get all worked up
and spend so much energy on someone who's clearly diverging in their
ideals from the spirit of the community. I also don't know why they
think they have a right to demand things of a volunteer in the first
place.

The only difference between this troll and any other troll is that the
troll is the original author and copyright holder, but he appears to
have stepped down as a Free Software author.

Why spend effort on trolls when you can instead branch/fork the code
base and spend that effort productively?

Sam.

2006-02-10 08:01:26

by Luke Dashjr

[permalink] [raw]
Subject: Firmware Flashing (Was: CD writing in future Linux (stirring up a hornets' nest))

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);