Feisty ships with OLD cx2341x mpeg encoder firmware

Bug #99107 reported by Michael Krufky
30
Affects Status Importance Assigned to Milestone
linux-source-2.6.20 (Ubuntu)
Won't Fix
Undecided
Unassigned
Gutsy
Invalid
Undecided
Unassigned
linux-source-2.6.22 (Ubuntu)
Invalid
Undecided
Unassigned
Gutsy
Invalid
Undecided
Unassigned
linux-ubuntu-modules-2.6.22 (Ubuntu)
Invalid
Medium
Unassigned
Gutsy
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: linux-source-2.6.20

Feisty is shipping the old cx2341x encoder firmware image, fw size: 262144

Hauppauge has officially released a newer image, fw size: 376836

This newer version of the "v4l-cx2341x-enc.fw" firmware image improves reliability over the older image.

The difference between the 376836 image over the 262144 image enables all registers in the cx2341x mpeg encoder to be initialized to the proper state.

The official firmware tarball, containing cx2341x, cx25840 and pvrusb2 firmware,
along with licenses, can be downloaded from:

http://dl.ivtvdriver.org/ivtv/firmware/

Both the pvrusb2 driver and the cx88-blackbird mpeg encoder driver are each compatable with the new firmware image as of: 2.6.20.2

All ivtv branches are already compatable with the new firmware image.

Changed in linux-source-2.6.20:
assignee: nobody → phillip-lougher
importance: Undecided → Low
status: Unconfirmed → In Progress
Revision history for this message
Michael Krufky (mkrufky) wrote :

this affects all kernels 2.6.20 and after ... and priority should NOT be low on this..... any driver that depends on cx2341x.ko is BROKEN under ubuntu with this old firmware. new code needs the *official* firmware, please update asap.

Revision history for this message
Michael Krufky (mkrufky) wrote :

dmesg output, using the bad firmware currently shipped by ubuntu:

[ 2363.688000] cx88[0]/2-bb: Firmware and/or mailbox pointer not initialized or corrupted
[ 2363.728000] cx88[0]/2-bb: ERROR: Firmware size mismatch (have 262144, expected 376836)
[ 2366.060000] cx88[0]/2-bb: Firmware and/or mailbox pointer not initialized or corrupted
[ 2366.100000] cx88[0]/2-bb: ERROR: Firmware size mismatch (have 262144, expected 376836)

...this is using cx88-blackbird. pvrusb2 and ivtv would report the same error.

Changed in linux-source-2.6.20:
importance: Low → Medium
Changed in linux-source-2.6.20:
status: New → Won't Fix
Changed in linux-source-2.6.22:
status: In Progress → Invalid
Changed in linux-ubuntu-modules-2.6.22:
assignee: nobody → phillip-lougher
importance: Undecided → Medium
status: New → In Progress
Revision history for this message
Peter Schwenke (bluetoad) wrote :

This is also reported with more detail in https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/131464
for Feisty and https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/131464 for Gutsy. I didn't notice this bug until now when I was going to look for possible firmware related ivtv bugs.

Revision history for this message
Peter Schwenke (bluetoad) wrote :

I put the wrong link to the Gutsy version of the bug (#140921) I reported before I noticed this one. I'll copy the text here:

I believe that the wrong firmware has been included for the ivtv driver. I haven't actually installed Gutsy on
my MythTV box. However, experience with https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/131464 in Feisty will show this is true.

The file is ./ubuntu-firmware/ivtv/v4l-cx2341x-enc.fw with file size 262144 bytes.

On http://www.hauppauge.com/pages/support/support_pvr150.html there is a download button link which downloads http://hauppauge.lightpath.net/software/pvr150/cd_pvr150_27.zip

The file DriverA2/HcwFalcn.rom should be the file ./ubuntu-firmware/ivtv/v4l-cx2341x-enc.fw. I have attached that
file to this bug report.

I have checked the ivtv driver in the kernel source code to verify this is still the correct version of the firmware.

in drivers/media/video/ivtv/ivtv-firmware.c see

void ivtv_firmware_versions(struct ivtv *itv)
{
        u32 data[CX2341X_MBOX_MAX_DATA];

        /* Encoder */
        ivtv_vapi_result(itv, data, CX2341X_ENC_GET_VERSION, 0);
        IVTV_INFO("Encoder revision: 0x%08x\n", data[0]);

        if (data[0] != 0x02060039)
                IVTV_WARN("Recommended firmware version is 0x02060039.\n");

and

static int ivtv_firmware_copy(struct ivtv *itv)
{
 IVTV_DEBUG_INFO("Loading encoder image\n");
 if (load_fw_direct(CX2341X_FIRM_ENC_FILENAME,
     itv->enc_mem, itv, IVTV_FW_ENC_SIZE) != IVTV_FW_ENC_SIZE) {

where
#define IVTV_FW_ENC_SIZE (376836)

Which is the size of the version of firmware I recommend

See https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/131464 for more detail

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Gutsy lum commit df35c34f7b6785cdd6224f5c6e40b02393fc0801

Changed in linux-ubuntu-modules-2.6.22:
assignee: phillip-lougher → timg-tpi
status: In Progress → Fix Committed
Revision history for this message
Tim Gardner (timg-tpi) wrote :
Changed in linux-source-2.6.22:
assignee: phillip-lougher → nobody
importance: Medium → Undecided
Martin Pitt (pitti)
Changed in linux-source-2.6.22:
status: New → Invalid
Changed in linux-source-2.6.20:
status: New → Invalid
Revision history for this message
Martin Pitt (pitti) wrote :

Accepted into gutsy-proposed, please test and give feedback here.

 linux-ubuntu-modules-2.6.22 (2.6.22-14.38) gutsy-proposed; urgency=low
 .
   [Amit Kucheria]
 .
   * Poulsbo: Update DRM driver to sync with moblin tree
 .
   [Phillip Lougher]
 .
   * Backport lookup_one_len_nd NFS changes from Unionfs 2.0
     - LP: #137765, 103044
   * Backport unionfs_statfs from Unionfs 2.0
     - LP: #137765, 103044
 .
   [Tim Gardner]
 .
   * postinst does not run depmod correctly.
     - LP: #134193
   * depmod uses incorrect options in postinst and postrm
     - LP: #134193
   * Add STAC9228 DMIC support.
     - LP: #153963
   * l-u-m ships with OLD cx2341x mpeg encoder firmware
     - LP: #99107
   * Prevent hard system locks when lirc_pvr150 is loaded
     - LP: #156747
   * Fix version ipw3945 string for Centrino Mobile Test (CMT).
     - LP: #128360

Changed in linux-ubuntu-modules-2.6.22:
status: New → Fix Committed
Revision history for this message
Tim Gardner (timg-tpi) wrote :

Stuck in -proposed since December. Did it fix anyone's problems?

Changed in linux-ubuntu-modules-2.6.22:
assignee: timg-tpi → nobody
Revision history for this message
Taavi Burns (taavi-burns) wrote :

Fixed my problem. I was wondering why worked-fine-a-year-ago mythtv install started logging out whenever I tried to watch TV... Please do get this in so I don't have to overwrite the provided firmwares every time there's a kernel update. Thanks! :)

Revision history for this message
Steve Langasek (vorlon) wrote :

marking as invalid for > gutsy.

Changed in linux-ubuntu-modules-2.6.22:
status: Fix Committed → Invalid
Revision history for this message
Michael Krufky (mkrufky) wrote :

Gutsy continues to ship the wrong firmware -- the CX2341X firmware of file size 262144 is not compatable with the cx2341x drivers in the 2.6.22 kernel

This *is* a bug, and should *really* be fixed.

Revision history for this message
Peter Schwenke (bluetoad) wrote :

I upgraded the MythTV box to Gutsy at the end of the week and the problem was still there. So I manually copied the firmware. Has anybody checked Hardy for this?

Revision history for this message
Steve Langasek (vorlon) wrote : Re: [Bug 99107] Re: Feisty ships with OLD cx2341x mpeg encoder firmware

Hi Peter,

On Fri, May 02, 2008 at 10:59:26PM -0000, Peter Schwenke wrote:
> I upgraded the MythTV box to Gutsy at the end of the week and the
> problem was still there. So I manually copied the firmware.

There is a test package published in the gutsy-proposed archive, per
<https://wiki.ubuntu.com/StableReleaseUpdates>. Could you perhaps test that
this updated linux-ubuntu-modules package provides the correct firmware for
your system, without any need to copy it from elsewhere? That would help us
move forward with making this fix more broadly available.

> Has anybody checked Hardy for this?

Michale Krufky (the bug submitter) assures me that the hardy version of the
package ships the correct firmware.

--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
<email address hidden> <email address hidden>

Revision history for this message
Peter Schwenke (bluetoad) wrote :

Thanks, Steve. The proposed package appears to work. I shut the machine and unplugged the power cable for a while to be sure.
I also did a diff against the version I know works. It was the same.

Out of curiosity I looked in the log

Apr 28 18:34:03 localhost kernel: [ 17.972991] ivtv0: loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
Apr 30 12:38:22 localhost kernel: [ 16.169889] ivtv0: loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
Apr 30 12:42:31 localhost kernel: [ 37.316811] ivtv0: loaded v4l-cx2341x-enc.fw firmware (4159358440 bytes)
Apr 30 12:50:43 localhost kernel: [ 73.965952] ivtv0: loaded v4l-cx2341x-enc.fw firmware (4159358712 bytes)
Apr 30 13:12:33 localhost kernel: [ 37.744499] ivtv0: loaded v4l-cx2341x-enc.fw firmware (3753791152 bytes)
Apr 30 19:19:00 localhost kernel: [ 40.864140] ivtv0: loaded v4l-cx2341x-enc.fw firmware (4160022704 bytes)
May 2 17:50:53 localhost kernel: [ 44.521680] ivtv0: loaded v4l-cx2341x-enc.fw firmware (4112929192 bytes)
May 3 17:49:02 localhost kernel: [ 17.092000] ivtv0: loaded v4l-cx2341x-enc.fw firmware (4158938176 bytes)
May 3 18:53:16 localhost kernel: [ 39.520010] ivtv0: loaded v4l-cx2341x-enc.fw firmware (4159006368 bytes)
May 3 19:09:06 localhost kernel: [ 38.497783] ivtv0: loaded v4l-cx2341x-enc.fw firmware (3755470048 bytes)
May 3 19:11:29 localhost kernel: [ 41.065579] ivtv0: loaded v4l-cx2341x-enc.fw firmware (4155587432 bytes)

Apr 30 is probably when I upgraded to Gutsy. It looks the kprintf statement in Gutsy might be whacko. The last boot is definitely with the proposed package.
If nobody else has a look, I'll look next week.

Revision history for this message
Martin Pitt (pitti) wrote :

l-u-m copied from gutsy-proposed to gutsy-updates.

Changed in linux-ubuntu-modules-2.6.22:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.