* [PATCH 3/3] Firmware for AF9035/AF9033 driver
@ 2012-02-22 22:22 Hans-Frieder Vogt
2012-02-23 9:20 ` Oliver Schinagl
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Hans-Frieder Vogt @ 2012-02-22 22:22 UTC (permalink / raw)
To: linux-media
Firmware for the AF9035/AF9033 driver.
irmware format for af903x driver:
copied from it9135-driver by Jason Dong (C) 2011 ITE Technologies, INC.
00000000: 8 chars "AF9035BX" Identifier of firmware
00000008: 4 bytes LE length of firmware following this:
32 + 4 + 4 + 4 + 4 + 4 + Firmware_CODELENGTH +
Firmware_SEGMENTLENGTH * Firmware_PARTITIONLENGTH * 5 +
5 + 2 + Firmware_scriptSets[0] * 5;
0000000C: 32 chars firmware release version
0000002C: 4 bytes BE link version
00000030: 4 bytes BE ofdm version
00000034: 4 bytes LE firmware code length (Firmware_CODELENGTH)
00000038: 1 bytes number of firmware segments (Firmware_SEGMENTLENGTH)
00000039: 3 bytes filler (0)
0000003C: 1 bytes number of firmware partitions (Firmware_PARTITIONLENGTH)
0000003D: 3 bytes filler (0)
00000040: Firmware_CODELENGTH bytes
0000abcd: description of firmware segments, for each segment in every
partition:
1 byte segment type (0: download firmware, 1: copy firmware, else:
direct write firmware)
4 bytes LE segment length
0000bcde: 1 byte Firmware_SEGMENTLENGTH check
0000bcdf: 1 byte Firmware_PARTITIONLENGTH check
0000bce0: 3 bytes filler (0)
0000bce3: 2 bytes LE number of firmware (demodulator) scripts
0000bce5: list of firmware scripts, for each entry:
4 bytes LE address
1 byte value
Signed-off-by: Hans-Frieder Vogt <hfvogt@gmx.net>
http://home.arcor.de/hfvogt/af903x/dvb-usb-af9035-03.fw => for Terratec T5
Ver. 2 / T6
http://home.arcor.de/hfvogt/af903x/dvb-usb-af9035-04.fw => for Avermedia A867
Hans-Frieder Vogt e-mail: hfvogt <at> gmx .dot. net
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 3/3] Firmware for AF9035/AF9033 driver
2012-02-22 22:22 [PATCH 3/3] Firmware for AF9035/AF9033 driver Hans-Frieder Vogt
@ 2012-02-23 9:20 ` Oliver Schinagl
2012-02-27 0:33 ` Daniel Glöckner
2012-03-20 0:32 ` Mauro Carvalho Chehab
2 siblings, 0 replies; 5+ messages in thread
From: Oliver Schinagl @ 2012-02-23 9:20 UTC (permalink / raw)
To: Hans-Frieder Vogt; +Cc: linux-media
Hi Hans,
I'm supprised the AF9035/AF9033 driver requires a firmware. The Asus
U3100 Mini plus doesn't require a 'firmware' really. The firmware that
is loaded, only contains an IR mapping table.
Oliver
On 22-02-12 23:22, Hans-Frieder Vogt wrote:
> Firmware for the AF9035/AF9033 driver.
>
> irmware format for af903x driver:
> copied from it9135-driver by Jason Dong (C) 2011 ITE Technologies, INC.
>
> 00000000: 8 chars "AF9035BX" Identifier of firmware
> 00000008: 4 bytes LE length of firmware following this:
> 32 + 4 + 4 + 4 + 4 + 4 + Firmware_CODELENGTH +
> Firmware_SEGMENTLENGTH * Firmware_PARTITIONLENGTH * 5 +
> 5 + 2 + Firmware_scriptSets[0] * 5;
> 0000000C: 32 chars firmware release version
> 0000002C: 4 bytes BE link version
> 00000030: 4 bytes BE ofdm version
> 00000034: 4 bytes LE firmware code length (Firmware_CODELENGTH)
> 00000038: 1 bytes number of firmware segments (Firmware_SEGMENTLENGTH)
> 00000039: 3 bytes filler (0)
> 0000003C: 1 bytes number of firmware partitions (Firmware_PARTITIONLENGTH)
> 0000003D: 3 bytes filler (0)
> 00000040: Firmware_CODELENGTH bytes
> 0000abcd: description of firmware segments, for each segment in every
> partition:
> 1 byte segment type (0: download firmware, 1: copy firmware, else:
> direct write firmware)
> 4 bytes LE segment length
> 0000bcde: 1 byte Firmware_SEGMENTLENGTH check
> 0000bcdf: 1 byte Firmware_PARTITIONLENGTH check
> 0000bce0: 3 bytes filler (0)
> 0000bce3: 2 bytes LE number of firmware (demodulator) scripts
> 0000bce5: list of firmware scripts, for each entry:
> 4 bytes LE address
> 1 byte value
>
> Signed-off-by: Hans-Frieder Vogt<hfvogt@gmx.net>
>
> http://home.arcor.de/hfvogt/af903x/dvb-usb-af9035-03.fw => for Terratec T5
> Ver. 2 / T6
> http://home.arcor.de/hfvogt/af903x/dvb-usb-af9035-04.fw => for Avermedia A867
>
> Hans-Frieder Vogt e-mail: hfvogt<at> gmx .dot. net
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 3/3] Firmware for AF9035/AF9033 driver
2012-02-22 22:22 [PATCH 3/3] Firmware for AF9035/AF9033 driver Hans-Frieder Vogt
2012-02-23 9:20 ` Oliver Schinagl
@ 2012-02-27 0:33 ` Daniel Glöckner
2012-02-27 22:35 ` Hans-Frieder Vogt
2012-03-20 0:32 ` Mauro Carvalho Chehab
2 siblings, 1 reply; 5+ messages in thread
From: Daniel Glöckner @ 2012-02-27 0:33 UTC (permalink / raw)
To: Hans-Frieder Vogt; +Cc: linux-media
On Wed, Feb 22, 2012 at 11:22:02PM +0100, Hans-Frieder Vogt wrote:
> 00000040: Firmware_CODELENGTH bytes
Some time ago I analyzed the firmware of the AF9035.
The firmware download command inside the on-chip ROM expects chunks
with a 7 byte header:
Byte 0: MCS 51 core
There are two inside the AF9035 (1=Link and 2=OFDM) with
separate address spaces
Byte 1-2: Big endian destination address
Byte 3-4: Big endian number of data bytes following the header
Byte 5-6: Big endian header checksum, apparently ignored by the chip
Calculated as ~(h[0]*256+h[1]+h[2]*256+h[3]+h[4]*256)
This might help locate the firmware inside the Windows drivers.
The Windows drivers often contain two copies of the same firmware.
Daniel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 3/3] Firmware for AF9035/AF9033 driver
2012-02-27 0:33 ` Daniel Glöckner
@ 2012-02-27 22:35 ` Hans-Frieder Vogt
0 siblings, 0 replies; 5+ messages in thread
From: Hans-Frieder Vogt @ 2012-02-27 22:35 UTC (permalink / raw)
To: Daniel Glöckner; +Cc: linux-media
Am Montag, 27. Februar 2012 schrieb Daniel Glöckner:
> On Wed, Feb 22, 2012 at 11:22:02PM +0100, Hans-Frieder Vogt wrote:
> > 00000040: Firmware_CODELENGTH bytes
>
> Some time ago I analyzed the firmware of the AF9035.
> The firmware download command inside the on-chip ROM expects chunks
> with a 7 byte header:
>
> Byte 0: MCS 51 core
> There are two inside the AF9035 (1=Link and 2=OFDM) with
> separate address spaces
> Byte 1-2: Big endian destination address
> Byte 3-4: Big endian number of data bytes following the header
> Byte 5-6: Big endian header checksum, apparently ignored by the chip
> Calculated as ~(h[0]*256+h[1]+h[2]*256+h[3]+h[4]*256)
>
> This might help locate the firmware inside the Windows drivers.
> The Windows drivers often contain two copies of the same firmware.
>
> Daniel
Daniel,
impressive!!!
Hans-Frieder Vogt e-mail: hfvogt <at> gmx .dot. net
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 3/3] Firmware for AF9035/AF9033 driver
2012-02-22 22:22 [PATCH 3/3] Firmware for AF9035/AF9033 driver Hans-Frieder Vogt
2012-02-23 9:20 ` Oliver Schinagl
2012-02-27 0:33 ` Daniel Glöckner
@ 2012-03-20 0:32 ` Mauro Carvalho Chehab
2 siblings, 0 replies; 5+ messages in thread
From: Mauro Carvalho Chehab @ 2012-03-20 0:32 UTC (permalink / raw)
To: Hans-Frieder Vogt; +Cc: linux-media
Em 22-02-2012 20:22, Hans-Frieder Vogt escreveu:
> Firmware for the AF9035/AF9033 driver.
>
> irmware format for af903x driver:
> copied from it9135-driver by Jason Dong (C) 2011 ITE Technologies, INC.
>
> 00000000: 8 chars "AF9035BX" Identifier of firmware
> 00000008: 4 bytes LE length of firmware following this:
> 32 + 4 + 4 + 4 + 4 + 4 + Firmware_CODELENGTH +
> Firmware_SEGMENTLENGTH * Firmware_PARTITIONLENGTH * 5 +
> 5 + 2 + Firmware_scriptSets[0] * 5;
> 0000000C: 32 chars firmware release version
> 0000002C: 4 bytes BE link version
> 00000030: 4 bytes BE ofdm version
> 00000034: 4 bytes LE firmware code length (Firmware_CODELENGTH)
> 00000038: 1 bytes number of firmware segments (Firmware_SEGMENTLENGTH)
> 00000039: 3 bytes filler (0)
> 0000003C: 1 bytes number of firmware partitions (Firmware_PARTITIONLENGTH)
> 0000003D: 3 bytes filler (0)
> 00000040: Firmware_CODELENGTH bytes
> 0000abcd: description of firmware segments, for each segment in every
> partition:
> 1 byte segment type (0: download firmware, 1: copy firmware, else:
> direct write firmware)
> 4 bytes LE segment length
> 0000bcde: 1 byte Firmware_SEGMENTLENGTH check
> 0000bcdf: 1 byte Firmware_PARTITIONLENGTH check
> 0000bce0: 3 bytes filler (0)
> 0000bce3: 2 bytes LE number of firmware (demodulator) scripts
> 0000bce5: list of firmware scripts, for each entry:
> 4 bytes LE address
> 1 byte value
>
> Signed-off-by: Hans-Frieder Vogt <hfvogt@gmx.net>
>
> http://home.arcor.de/hfvogt/af903x/dvb-usb-af9035-03.fw => for Terratec T5
> Ver. 2 / T6
> http://home.arcor.de/hfvogt/af903x/dvb-usb-af9035-04.fw => for Avermedia A867
Firmware patches should be against the linux-firmware tree [1].
[1] http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=summary
We need a licensing text signed by the board or chipset manufacturer, in order
to be able to add it there. If you can't get it, then the alternative is to change
the Documentation/dvb/get_dvb_firmware script to get it from somewhere (although
this is a bad option, as the firmware won't be distributed together with the Linux
distributions).
Regards,
Mauro
>
> Hans-Frieder Vogt e-mail: hfvogt <at> gmx .dot. net
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-03-20 0:33 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-22 22:22 [PATCH 3/3] Firmware for AF9035/AF9033 driver Hans-Frieder Vogt
2012-02-23 9:20 ` Oliver Schinagl
2012-02-27 0:33 ` Daniel Glöckner
2012-02-27 22:35 ` Hans-Frieder Vogt
2012-03-20 0:32 ` Mauro Carvalho Chehab
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).