Re: [PATCH 3/3] Firmware for AF9035/AF9033 driver
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. : 8 chars AF9035BXIdentifier of firmware 0008: 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; 000C: 32 chars firmware release version 002C: 4 bytes BE link version 0030: 4 bytes BE ofdm version 0034: 4 bytes LE firmware code length (Firmware_CODELENGTH) 0038: 1 bytes number of firmware segments (Firmware_SEGMENTLENGTH) 0039: 3 bytes filler (0) 003C: 1 bytes number of firmware partitions (Firmware_PARTITIONLENGTH) 003D: 3 bytes filler (0) 0040: Firmware_CODELENGTH bytes abcd: 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 bcde: 1 byte Firmware_SEGMENTLENGTH check bcdf: 1 byte Firmware_PARTITIONLENGTH check bce0: 3 bytes filler (0) bce3: 2 bytes LE number of firmware (demodulator) scripts bce5: list of firmware scripts, for each entry: 4 bytes LE address 1 byte value Signed-off-by: Hans-Frieder Vogt hfv...@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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 3/3] Firmware for AF9035/AF9033 driver
Am Montag, 27. Februar 2012 schrieb Daniel Glöckner: On Wed, Feb 22, 2012 at 11:22:02PM +0100, Hans-Frieder Vogt wrote: 0040: 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 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 3/3] Firmware for AF9035/AF9033 driver
On Wed, Feb 22, 2012 at 11:22:02PM +0100, Hans-Frieder Vogt wrote: 0040: 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 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 3/3] Firmware for AF9035/AF9033 driver
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. : 8 chars AF9035BXIdentifier of firmware 0008: 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; 000C: 32 chars firmware release version 002C: 4 bytes BE link version 0030: 4 bytes BE ofdm version 0034: 4 bytes LE firmware code length (Firmware_CODELENGTH) 0038: 1 bytes number of firmware segments (Firmware_SEGMENTLENGTH) 0039: 3 bytes filler (0) 003C: 1 bytes number of firmware partitions (Firmware_PARTITIONLENGTH) 003D: 3 bytes filler (0) 0040: Firmware_CODELENGTH bytes abcd: 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 bcde: 1 byte Firmware_SEGMENTLENGTH check bcdf: 1 byte Firmware_PARTITIONLENGTH check bce0: 3 bytes filler (0) bce3: 2 bytes LE number of firmware (demodulator) scripts bce5: list of firmware scripts, for each entry: 4 bytes LE address 1 byte value Signed-off-by: Hans-Frieder Vogthfv...@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: hfvogtat gmx .dot. net -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 3/3] Firmware for AF9035/AF9033 driver
Firmware for the AF9035/AF9033 driver. irmware format for af903x driver: copied from it9135-driver by Jason Dong (C) 2011 ITE Technologies, INC. : 8 chars AF9035BXIdentifier of firmware 0008: 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; 000C: 32 chars firmware release version 002C: 4 bytes BE link version 0030: 4 bytes BE ofdm version 0034: 4 bytes LE firmware code length (Firmware_CODELENGTH) 0038: 1 bytes number of firmware segments (Firmware_SEGMENTLENGTH) 0039: 3 bytes filler (0) 003C: 1 bytes number of firmware partitions (Firmware_PARTITIONLENGTH) 003D: 3 bytes filler (0) 0040: Firmware_CODELENGTH bytes abcd: 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 bcde: 1 byte Firmware_SEGMENTLENGTH check bcdf: 1 byte Firmware_PARTITIONLENGTH check bce0: 3 bytes filler (0) bce3: 2 bytes LE number of firmware (demodulator) scripts bce5: list of firmware scripts, for each entry: 4 bytes LE address 1 byte value Signed-off-by: Hans-Frieder Vogt hfv...@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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html