DebianThis forum is for the discussion of Debian Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Then run (NOTE: The following command is one line long. The `uname -r` part is placing your specific linux kernel version, so you may run into trouble if you have compiled your own kernel, in which case you should run 'apt-cache search ivtv' and find the correct modules for your system. You will also need to keep an eye on the 'linux-source-2.6.18' package, and be sure that you are getting the correct version. This can be verified by running the 'uname -r' command and noting the version displayed.)
I never understood all this "kernel headers" stuff. I made my own kernel, so I already have the headers and the source from that, right? Or do I just have the source, and no headers?
To complicate things, the debian packages for ivtv-modules are all in stable and are all 2.6-<arch>, not ivtv-modules-`uname -r` like in the command. So could I just install those and they would work?
I also looked in the kernel menu to try to install the modules that way, following this outline from gentoo:
Quote:
Newer Kernels (>=2.6.22)
Loadable module support -> Automatic kernel module loading (CONFIG_KMOD)
Device Drivers -> Multimedia Devices -> Video For Linux (CONFIG_VIDEO_DEV)
Device Drivers -> I2C support (CONFIG_I2C)
Device Drivers -> Multimedia Devices -> Enable Video For Linux API 1 (DEPRECATED) (CONFIG_VIDEO_V4L1)
Device Drivers -> Multimedia Devices -> Video capture adapters -> Conexant cx23416/cx23415 MPEG encoder/decoder support (CONFIG_VIDEO_IVTV) <- This is the option that builds the ivtv driver
but there is no cx23416/15 module in my options, only cx88-something. Did something happen between 2.6.22 and 2.6.24 that made them remove cx23416? I didn't see anything in the change logs, but I might have missed it. It's just really confusing.
Should I just downgrade to 2.6.18 and then use the debian command to make sure I get the right headers and everything? Or is there a way to install what I need for 2.6.24.2? I'm not running this specific version for any particular reason, i just had to redo the kernel recently for some network drivers, and I figured I might as well use a recent one.
I don't have a newer kernel, but for all my module needs, I use module-assistant. Follow step one and two. Then at step three do m-a a-i ivtv. If there's no appropriate binary module that will work, it should compile it for you.
And you're right, you shouldn't need kernel headers or source since you already have source for your running kernel. Many people install Debian without the source or headers for their current kernel so compiling stuff fails. You really only need the headers, but if you have the full source, that's redundant. That's why that line is usually there.
And installing the package ivtv-modules-`uname -r` will fail because there is no module built for your running kernel (2.6.24). So I would just install module-assistant and ivtv-utils.
I don't have a newer kernel, but for all my module needs, I use module-assistant. Follow step one and two. Then at step three do m-a a-i ivtv. If there's no appropriate binary module that will work, it should compile it for you.
And you're right, you shouldn't need kernel headers or source since you already have source for your running kernel. Many people install Debian without the source or headers for their current kernel so compiling stuff fails. You really only need the headers, but if you have the full source, that's redundant. That's why that line is usually there.
And installing the package ivtv-modules-`uname -r` will fail because there is no module built for your running kernel (2.6.24). So I would just install module-assistant and ivtv-utils.
thanks! I had already installed module-assistant and ivtv-utils from that command, but I didn't know what they did yet - I thought using those came later.
Module built, gui setup works over ssh, now I just have to get the card. (I'm assuming at least that's why modprobe says module not found ).
root@moe:~ # uname -r
2.6.24.2
root@moe:# module-assistant auto-install ivtv
Updated infos about 1 packages
Getting source for kernel version: 2.6.24.2
Kernel headers available in /lib/modules/2.6.24.2/source
apt-get install build-essential
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 15 not upgraded.
Done!
unpack
Extracting the package tarball, /usr/src/ivtv.tar.bz2, please wait...
Target package file /usr/src/ivtv-modules-2.6.24.2_1.0.3-2_i386.deb
already exists, not
rebuilding!
(however, you could use the -f switch to ignore it)
dpkg -Ei /usr/src/ivtv-modules-2.6.24.2_1.0.3-2_i386.deb
Version 1.0.3-2 of ivtv-modules-2.6.24.2 already installed, skipping.
the firmware is downloaded and installed in /lib/firmware:
Code:
root@moe:~ # ls /lib/firmware/
firmware.tar.gz v4l-cx2341x-dec.fw v4l-pvrusb2-24xxx-01.fw
license-end-user.txt v4l-cx2341x-enc.fw v4l-pvrusb2-29xxx-01.fw
license-oemihvisv.txt v4l-cx2341x-init.mpg
store v4l-cx25840.fw
root@moe:~ # modprobe ivtv
FATAL: Module ivtv not found.
Is there anything in dmesg or syslog that points to the problem? What card are you trying to use (and is it detected okay with lspci)?
I also vaguely remember needing to put something in /etc/modprobe.conf (I think). I'm not at home, but I'll check my box later this evening.
Also, can you manually check to see if the module is in /lib/modules/2.6.24.2/?
Oh, and I'm not sure you're supposed to have all of those firmwares installed, but maybe just the ones you need for your specific card. Maybe that's causing some grief?
>> i was moving those fw in and out of the "store" directory in case it made a difference, but it didn't seem to matter. maybe it will once the driver loads, but it doesn't seem to be what's preventing it from loading.
>> edit2: actually, there's nothing related to ivtv in /lib/modules/<version> or any of its subdirectories. :?: the modules seem to be in /usr/src/modules/ivtv/driver:
there's also i2c-drivers there, but /lib/modules/2.6.24.2/kernel/drivers has its own i2c. what should I do at this point? I tried moving the entire ivtv directory to /lib/modules/2.6.24.2/kernel/drivers, but it still didn't modprobe.
>> edit3: what's this? some frame buffer module? /lib/modules/2.6.24.2/kernel/drivers/media/video/ivtv/ivtvfb.ko?
I don't think that's the main driver, is it?
>> edit4: i tried modprobing that one, got this error:
FATAL: Error inserting ivtvfb (/lib/modules/2.6.24.2/kernel/drivers/media/video/ivtv/ivtvfb.ko): Unknown symbol in module, or unknown parameter (see dmesg)
dmesg:
ivtvfb: Unknown symbol ivtv_vapi_result
ivtvfb: Unknown symbol ivtv_cards_active
ivtvfb: Unknown symbol ivtv_debug
ivtvfb: Unknown symbol ivtv_udma_alloc
ivtvfb: Unknown symbol ivtv_udma_unmap
ivtvfb: Unknown symbol ivtv_vapi
ivtvfb: Unknown symbol ivtv_udma_prepare
ivtvfb: Unknown symbol ivtv_cards
ivtvfb: Unknown symbol ivtv_udma_setup
ivtvfb: Unknown symbol ivtv_vapi_result
ivtvfb: Unknown symbol ivtv_cards_active
ivtvfb: Unknown symbol ivtv_debug
ivtvfb: Unknown symbol ivtv_udma_alloc
ivtvfb: Unknown symbol ivtv_udma_unmap
ivtvfb: Unknown symbol ivtv_vapi
ivtvfb: Unknown symbol ivtv_udma_prepare
ivtvfb: Unknown symbol ivtv_cards
ivtvfb: Unknown symbol ivtv_udma_setup
Well, I think the driver should be a *.o file (ivtv.o???), which I didn't see in that directory listing. I'll check when I get home for what I did since I also have a PVR-150.
I did blunder across this, which implies that ivtv is built into kernels after 2.6.22. My machine is Etch (2.6.18) so maybe I won't be of any help.
Can you post the output of lsmod?
Oh yeah, and did you run depmod -a before trying to load the module.
Well, I think the driver should be a *.o file (ivtv.o???), which I didn't see in that directory listing. I'll check when I get home for what I did since I also have a PVR-150.
I did blunder across this, which implies that ivtv is built into kernels after 2.6.22. My machine is Etch (2.6.18) so maybe I won't be of any help.
I keep seeing that about >= 2.6.22 kernels, too, but I don't really get what it means. If it's available in the kernel, then why is there a need to do any of this other stuff (aside from the firmware)?
Anyway, I selected the module when rebuilding the kernel a few times, and that doesn't seem to provide any module. So I'm not sure I understand that they're talking about, like when this wiki says, "Please note: Debian GNU/Linux 4.0 comes with IVTV version 0.8.2. If for some odd reason you need newer IVTV drivers...
0.8.2?? all the recent ones I've seen everywhere are 0.2.x.
But I will happily downgrade to any kernel version necessary to get this to work. like I said, I'm only using this one b/c it was the most recent when I compiled recently for a new network card.
>yes, ran depmod -a
doesn't seem like it would help if there's no .ko module though, would it? do I need to do anything after the module-assistant auto-install?
The latest from the IVTV homepage is 0.10.6 for kernels 2.6.18 - 2.6.21.
Did you make sure your kernel configuration had the options compiled in that were listed in link from my previous post? Specifically "Conexant cx23416/cx23415 MPEG encoder/decoder support (CONFIG_VIDEO_IVTV)"
The latest from the IVTV homepage is 0.10.6 for kernels 2.6.18 - 2.6.21.
Did you make sure your kernel configuration had the options compiled in that were listed in link from my previous post? Specifically "Conexant cx23416/cx23415 MPEG encoder/decoder support (CONFIG_VIDEO_IVTV)"
the problem is, that doesn't exist. neither do some of the other ones. the closest to the cx2341x is something called "cx88-blackbird." It's in the menu as:
<M> Blackbird MPEG encoder support (cx2388x + cx23416)
so I'm assuming that's it. but the "help" page lists the module as cx88-blackbird. there is no video_ivtv that I can see. I tried modprobing cx88-blackbird after building the module, and it just gives a "no such device" error. wtf??
BT848 is there, but there is no WM8775 (Wolfson Microelectronics WM8775 (CONFIG_VIDEO_WM8775) in the wiki).
there's also no Conexant CX2584x audio/video decoders (CONFIG_VIDEO_CX25840), which the wiki says is also needed for pvr-150 cards.
so it's really hard to tell what to do or what's going on when the doc for this project is so bad. worst i've ever seen for any linux project, in fact. the wiki you provided is actually the best one, it's just that the kernel modules don't seem to be there.
Anyway, rants aside, here is every single option in multimedia. i've selected <M> for all of them just to expose anything nested. Maybe someone can tell me what I'm missing, because I don't see ivtv (aside from the blackbird module), the cx25840 or WM8775 in any of it:
Code:
│ │ --- Video capture adapters │ │
│ │ [ ] Enable advanced debug functionality │ │
│ │[*] Autoselect pertinent encoders/decoders and other helper chips │ │
│ │ <M> Virtual Video Driver │ │
│ │ <M> BT848 Video For Linux │ │
│ │ <M> SAA6588 Radio Chip RDS decoder support on BT848 cards │ │
│ │ <M> Quickcam BW Video For Linux │ │
│ │ <M> CPiA Video For Linux │ │
│ │ <M> CPiA USB Lowlevel Support
│ │ <M> CPiA2 Video For Linux │ │
│ │ <M> SAA5246A, SAA5281 Teletext processor │ │
│ │ <M> SAA5249 Teletext processor │ │
│ │ <M> SAB3036 tuner │ │
│ │ <M> Zoran ZR36057/36067 Video For Linux │ │
│ │ <M> Iomega Buz support │ │
│ │ <M> Pinnacle/Miro DC10(+) support │ │
│ │ <M> Pinnacle/Miro DC30(+) support │ │
│ │ <M> Linux Media Labs LML33 support │ │
│ │ <M> Linux Media Labs LML33R10 support │ │
│ │ <M> Philips SAA7134 support │ │
│ │ <M> Siemens-Nixdorf 'Multimedia eXtension Board' │ │
│ │ <M> Philips-Semiconductors 'dpc7146 demonstration board' │ │
│ │ <M> Hexium HV-PCI6 and Orion frame grabber │ │
│ │ <M> Hexium Gemini frame grabber │ │
│ │ <M> Conexant 2388x (bt878 successor) support │ │
│ │ <M> Blackbird MPEG encoder support (cx2388x + cx23416) │ │
│ │ <M> Marvell 88ALP01 (Cafe) CMOS Camera Controller support
I didn't have BT848 before (none of the other 3 wikis even mention it ), so I'm trying again with that. but since I don't have the other ones the other wiki says are needed, I'm not too optimistic. i did find 1.0.3, so i'll just go through the wiki without the Wolfson, etc. and see if works anyway.
that's 2.6.22, btw. I checked that one specifically, just in case they changed something in later kernels and took out the modules. but it doesn't seem to be there, either.
You might see what all is installed if you do a dpkg --get-selections |grep -i ivtv. Also, I found all my ivtv related stuff with locate ivtv. I'm a bit at a loss for where to go from here...
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.