On Wed, 2012-08-01 at 07:40 -0400, Jerry Haggard wrote:
> I swapped PCI slots (there's 2), blew it and no change. I put it back
> to the firmware from atrpms, and nothing has changed. Is the checksum
> mismatch from what's loaded onto the card or is it the checksum of
> what's on the disk? I've been obsessed with getting the right
> firmware since I assume the checksum was from what's on the disc. Is
> that wrong?
>
>
> And again, thanks for the help.
The MPEG encoder firmware used for the blackbird designs (GPIO connected
CX23416 or CX23417) should be the same one used with ivtv (PCI connected
CX23415 or CX23416) - it's the same hardware.
The firmware I happen to have on my machine:
$ ls -al /lib/firmware/v4l-cx2341x-enc.fw
-rwxr-xr-x. 1 root root 376836 Feb 17 2007 /lib/firmware/v4l-cx2341x-enc.fw
$ sha256sum -b /lib/firmware/v4l-cx2341x-enc.fw
56530c3884feaf587500d42fce47099f9f3af222e3c18f1a9f3d7f0fa916630a
*/lib/firmware/v4l-cx2341x-enc.fw
Which has a size that agrees with the cx88 driver here:
http://git.linuxtv.org/media_tree.git/blob/staging/for_v3.6:/drivers/media/video/cx88/cx88-blackbird.c#l62
The checksum being done by the cx88 driver is here:
http://git.linuxtv.org/media_tree.git/blob/staging/for_v3.6:/drivers/media/video/cx88/cx88-blackbird.c#l471
A 2's complement sum of the 1's complement of the data in the file, is
compared to the sum of the data read back from the device.
If you have a *single* PCI bus error in the memory_read() or
memory_write() functions, you're done/dead:
http://git.linuxtv.org/media_tree.git/blob/staging/for_v3.6:/drivers/media/video/cx88/cx88-blackbird.c#l250
A failed PCI read will return 0x according to the PCI
specifications.
I hope that helps you understand what might be going on, and where you
might need to ivestiagte further.
Regards,
Andy
> On Wed, Aug 1, 2012 at 7:16 AM, Jerry Haggard
> wrote:
> I've played with it a bit more. I cut the firmware out of the
> driver as suggested here:
>
>
> http://www.mythtv.org/wiki/AVerMedia_M150-D
>
>
> What I get is:
>
>
> cx88[0]/2-bb: Firmware and/or mailbox pointer not initialized
> or corrupted
> cx88-mpeg driver manager :01:01.2: firmware: requesting
> v4l-cx2341x-enc.fw
> cx88[0]/2-bb: ERROR: Firmware size mismatch (have 262144,
> expected 376836)
>
>
> What I always got before was:
>
>
> cx88[0]: subsystem: 1043:4823, board: ASUS PVR-416
> [card=12,autodetected], frontend(s): 0
> cx88[0]: TV tuner type 43, Radio tuner type -1
> IR RC5(x) protocol handler initialized
> IR RC6 protocol handler initialized
> All bytes are equal. It is not a TEA5767
> tuner 15-0060: Tuner -1 found with type(s) Radio TV.
> IR JVC protocol handler initialized
> IR Sony protocol handler initialized
> tda9887 15-0043: creating new instance
> tda9887 15-0043: tda988[5/6/7] found
> tuner 15-0043: Tuner 74 found with type(s) Radio TV.
> IR SANYO protocol handler initialized
> IR MCE Keyboard/mouse protocol handler initialized
> lirc_dev: IR Remote Control driver registered, major 248
> IR LIRC bridge handler initialized
> tuner-simple 15-0060: creating new instance
> tuner-simple 15-0060: type set to 43 (Philips NTSC MK3
> (FM1236MK3 or FM1236/F))
> cx88[0]/0: found at :01:01.0, rev: 5, irq: 21, latency:
> 64, mmio: 0xdd00
> IRQ 21/cx88[0]: IRQF_DISABLED is not guaranteed on shared IRQs
> cx88[0]/0: registered device video0 [v4l2]
> cx88[0]/0: registered device vbi0
> cx88[0]/0: registered device radio0
> cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.9 loaded
> cx88[0]/2: cx2388x 8802 Driver Manager
> cx88-mpeg driver manager :01:01.2: PCI INT A -> GSI 21
> (level, low) -> IRQ 21
> cx88[0]/2: found at :01:01.2, rev: 5, irq: 21, latency:
> 64, mmio: 0xde00
> IRQ 21/cx88[0]: IRQF_DISABLED is not guaranteed on shared IRQs
> cx2388x blackbird driver version 0.0.9 loaded
> cx88/2: registering cx8802 driver, type: blackbird access:
> shared
> cx88[0]/2: subsystem: 1043:4823, board: ASUS PVR-416 [card=12]
> cx88[0]/2: cx23416 based mpeg encoder (blackbird reference
> design)
> cx88[0]/2-bb: Firmware and/or mailbox pointer not initialized
> or corrupted
> cx88-mpeg driver manager :01:01.2: firmware: requesting
>