On 20.11.2008 23:07, Peter Stuge wrote:
Carl-Daniel Hailfinger wrote:
You need to implement a LPC protocol layer inside flashrom to do this.
Find an lmilk/wmilk tarball and translate the C++ code. Or maybe make a plugin system for flashrom using some kind of IPC. Pipes, shared memory, etc.
They drove the milksop and cheaplpc. The cheaplpc code I hinted at also does exactly this already.
I'll take a look in a week or so. Joseph, if you find time before that, please go ahead.
What's the license of that software?
lmilk/wmilk is GPL. cheaplpc.com software I don't know, I didn't download it.
My suggestion for these external flashers would be to specify the name of the host/programmer like "--host=lpcflasher" and possibly "--interface=/dev/lp0".
I'd like to counter with --master or --plugin. --host could imply networking and the term on LPC as well as SPI for something doing what the external hardware is doing here is a bus master.
--master is a good idea.
Parallell port abstraction is needed somewhere because every system does this differently. lmilk/wmilk already has that. I don't expect /dev/lp0 to be usable, if that exists then the kernel printer driver has already claimed the port. But maybe /dev/parport0 can work, or you do what lmilk does and simply program the port with OUTB/INB.
OUTB/INB may need root privileges and may not work with USB->LPT converters. Your point about a parallel port abstraction layer is valid, though.
Regards, Carl-Daniel