Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: tda1004x.c and support of future firmware



Hello Luke,

On 07/01/04 23:37, Luke Anderson wrote:
as you may be aware, the firmware for tda1004x is stored in /usr/lib/hotplug/firmware/tda1004x.bin. However a problem arises whenever a new firmware is released because the offsets are different within that file.

May I suggest that tda1004x.c be modified to explicitly search the firmware file for the hex starting with 0x2F, 0xC6, 0x41 and ending with 0x72,0xD6 so long as this length is 'roughly' 30554 bytes. Using this information in determining the offset/length.

This extra little bit of "intelligence" will support forseeable firmwares and ensure this is no longer a problem which comes up in the forums :).
In the following, I'll refer to the CVS version of the driver, not the driver within the official kernel. The driver in CVS already uses the kernel-i2c interface, while the version in the official kernel still uses thes the proprietary dvb i2c interface.

My thoughts:

1. Rename the default firmware from "tda1004x.bin" to "dvb-fe-tda1004x-2.15a.fw". Add a comment that users should extract and rename their firmware appropriately.

2. Add a module parameter "firmware" which specifies the firmware file the driver should ask for. This can be used by users to override the default firmware location.

PS. I would write the patch myself but am not sure I'm capable.
Keep up the excellent work.
You just need to extend tda10045h_fwinfo or tda10046h_fwinfo with the appropriate informations about the firmware you like to add. If there'll ever be two firmwares that have the same file_size, then we need to store some more informations to distinguish the different versions.

The offset is 0x38EF9. The firmware starts with the bytes 0x2F, 0xC6, 0x41,
is 30554 bytes in length and ends with 0x72, 0xD6.
Hm, looks like you already have all the parameters needed.

CU
Michael.




Home | Main Index | Thread Index