[pvrusb2] Compile issue

Mike Isely isely at isely.net
Fri Dec 9 00:11:32 CST 2005


On Fri, 9 Dec 2005, cardboil wrote:

> I tried the 20051126 snapshot, but am getting same messages.  Here is some
> info from /var/log/messages:
>
> <snip>
>
> Dec  9 09:34:47 192 kernel: usb 1-5: new high speed USB device using
> ehci_hcd and address 3
> Dec  9 09:34:49 192 kernel: Linux video capture interface: v1.00
> Dec  9 09:34:49 192 kernel: v4l1_compat: no version for
> "struct_module" found: kernel tainted.
> Dec  9 09:34:49 192 kernel: pvrusb2: disagrees about version of symbol
> tveeprom_hauppauge_analog
> Dec  9 09:34:49 192 kernel: pvrusb2: Unknown symbol tveeprom_hauppauge_analog
> Dec  9 09:34:49 192 modprobe: FATAL: Error inserting pvrusb2
> (/lib/modules/2.6.14-1.1644_FC4/kernel/drivers/pvrusb2/pvrusb2.ko):
> Unknown symbol in module, or unknown parameter (see dmesg)
> Dec  9 09:34:49 192 usb.agent[3393]: ... can't load module pvrusb2
> Dec  9 09:34:49 192 usb.agent[3393]: missing kernel or user mode driver pvrusb2

Still no clue about this, but see my other message for more info.



>> Here is the info you requested:
>>
>> Distro: FC4
>> Kernel: 2.6.14-1.1644_FC4
>> Arch: i686
>> ivtv installed version: ivtv.i386 1:0.4.0-98.rhfc4.at and ivtv-kmdl 1:
>> 0.4.0-98.rhfc4.at
>> Video4Linux: I did install v4l from rpm -- video4linux.i386 1:
>> 20051112-61.rhfc4.at and video4linux-kmdl-2.6.14-1.1644_FC4.i686  1:
>> 20051112-61.rhfc4.at

I think I understand where that 0x49 id came from now.

The current v4l-dvb CVS has the "new" saa7115 module in it (and therefore 
so does 2.6.15-rcX kernels).  If you patched up your 2.6.14.x kernel with 
the latest V4L then you will have the new module.  I've just checked the 
CVS repository and the new module's driver ID is 73, or 0x49 in hex... 
(The symbolic name is I2C_DRIVERID_SAA711X, in linux/i2c-id.h.) Now, the 
pvrusb2 driver can detect and use this module, but the detection is only 
compiled in if you build pvrusb2 against a 2.6.15 release candidate.  You 
built against 2.6.14.1 so it was disabled.  Thus the chip driver attached 
but the pvrusb2 driver failed to recognize it.  I had to only enable it 
for 2.6.15 because prior to that kernel, the symbol I2C_DRIVERID_SAA711X 
didn't exist and so attempting to use it could cause a compilation error.

So, if you want to use that newer module, you can manually force the 
driver to compile for it.  Edit compat.h, read the comments, and edit 
appropriately (it should be obvious).

In the mean time I see a better way to handle this - rather than 
conditionalizing it against the version 2.6.15, I can instead just see if 
I2C_DRIVERID_SAA711X is defined in the build and if so then enable the 
detection.  Duh.

   -Mike


-- 
                         |         Mike Isely          |     PGP fingerprint
      Spammers Die!!     |                             | 03 54 43 4D 75 E5 CC 92
                         |   isely @ pobox (dot) com   | 71 16 01 E2 B5 F5 C1 E8
                         |                             |


More information about the pvrusb2 mailing list