|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Xceive firmwares seem to use Big Endian for encoding size, delay and reset.
Kernel drivers uses Little Endian. Before this patch, method 1 were fixing
endian only for size.
This patch changes the behavior to change endian also for delay and reset.
With this change, with HVR12x0 file, method (1) works for all firmwares.
This produces a very optimized script.
The seek method is known to work with firmwares version 2.7 and 2.5. However,
drivers with firmware version 1.x have a different internal format. So, another
seek method will be required to allow the script to work on those firmwares.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
This is the tool used to generate extract_xc3028.pl.
Once you have a firmware file, generated from other methods, like usb dumps,
this tool allows to seek the firmware inside a windows driver, creating an
extrating script.
There are two methods to seek for a firmware:
1) a complete firmware seek;
2) seek for firmware hunks. For each firmware segment, it writes the
segment size, and seeks for the segment inside the firmware.
The result of method 2) is not optimized.
In the case of hvr12x0 driver, the base firmwares didn't hit method (1), so,
the extracting tool broke it into several small segments. This is not
optimized, but works.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|