Hello,
I'm having a lot of problems with getting ivtv firmware to load at
boot for my PVR-150 in my MythTV Backend server using Debian Lenny
kernel 2.6.22. I am using x86_64 verison of Debian with no module options.
mythbox-mbe:~# uname -r
2.6.22-2-amd64
This is a stock Debian kernel from the official Debian repositories . I
have made no changes to it.
Hardware:
SuperMicro PDSMA+
Xeon x3210 (2.13GHz Quad)
4GB ECC RAM (2 x Kingston KVR667D2E5K2/2G (240-Pin DDR2 SDRAM DDR2 667
(PC2 5300) ECC Unbuffered Dual Channel Kit Server Memory)
I installed the package "the debian way":
# m-a update,prepare
# m-a a-i ivtv-source
# dpkg -i /usr/src/ivtv-modules-*.deb
and then downloaded and untared the firmware in the
/usr/lib/hotplug/firmware directory
Here is the ivtv error message from dmesg:
mythbox-mbe:~# dmesg | grep ivtv
ivtv: ==================== START INIT IVTV ====================
ivtv: version 1.0.0 (2.6.22-2-amd64 SMP mod_unload ) loading
ivtv0: Autodetected Hauppauge card (cx23416 based)
ivtv0: unable to open firmware v4l-cx2341x-enc.fw (must be 376836 bytes)
ivtv0: did you put the firmware in the hotplug firmware directory?
ivtv0: Retry loading firmware
ivtv0: unable to open firmware v4l-cx2341x-enc.fw (must be 376836 bytes)
ivtv0: did you put the firmware in the hotplug firmware directory?
ivtv0: Error initializing firmware
ivtv0: Error -19 on initialization
ivtv: ==================== END INIT IVTV ====================
Here are my firmware directories as defined in /lib/udev/hotplug.functions:
mythbox-mbe:~# cat /lib/udev/hotplug.functions | grep firmware
FIRMWARE_DIRS='/lib/firmware /usr/local/lib/firmware
/usr/lib/hotplug/firmware'
The contents of /usr/lib/hotplug/firmware:
mythbox-mbe:~# ls -la /usr/lib/hotplug/firmware/
total 820
drwxr-xr-x 2 root root 4096 2007-10-24 22:25 .
drwxr-xr-x 3 root root 4096 2007-10-24 20:37 ..
-rw-r--r-- 1 root root 2285 2006-03-28 14:02 dvb-fe-bcm3510-01.fw
-rw-r--r-- 1 root root 262144 2006-05-26 02:35 v4l-cx2341x-dec.fw
-rw-r--r-- 1 root root 376836 2007-02-17 06:32 v4l-cx2341x-enc.fw
-rw-r--r-- 1 root root 155648 2006-05-26 02:52 v4l-cx2341x-init.mpg
-rw-r--r-- 1 root root 16382 2006-05-26 02:35 v4l-cx25840.fw
Placing the firmware files (actual files, not symlinks) in
/usr/local/lib/firmware produces the same result.
If I place the firmware in /lib/firmware (actual files, not symlinks) I
get kernel panics with my logs full of errors like this:
Nov 3 20:23:38 mythbox-mbe kernel: DMA: Out of SW-IOMMU space for 6144
bytes at device 0000:00:1f.1
Nov 3 20:23:38 mythbox-mbe kernel: DMA: Out of SW-IOMMU space for 8192
bytes at device 0000:00:1f.1
Nov 3 20:23:38 mythbox-mbe kernel: DMA: Out of SW-IOMMU space for 16384
bytes at device 0000:00:1f.1
Nov 3 20:23:38 mythbox-mbe kernel: DMA: Out of SW-IOMMU space for 12288
bytes at device 0000:00:1f.1
Nov 3 20:23:38 mythbox-mbe kernel: DMA: Out of SW-IOMMU space for 45056
bytes at device 0000:00:1f.1
mythbox-mbe:~# lspci -v | grep 00:1f.1
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE
Controller (rev 01) (prog-if 8a [Master SecP PriP])
mythbox-mbe:~# lspci -vn
00:1f.1 0101: 8086:27df (rev 01) (prog-if 8a [Master SecP PriP])
Subsystem: 15d9:7980
Flags: bus master, medium devsel, latency 0, IRQ 18
I/O ports at 01f0 [size=8]
I/O ports at 03f4 [size=1]
I/O ports at 0170 [size=8]
I/O ports at 0374 [size=1]
I/O ports at 30a0 [size=16]
My PVR-150 card:
mythbox-mbe:~# lspci -v | grep Multimedia
0f:02.0 Multimedia video controller: Internext Compression Inc iTVC16
(CX23416) MPEG-2 Encoder (rev 01)
mythbox-mbe:~# lspci -vn | grep 0f:02.0
0f:02.0 0400: 4444:0016 (rev 01)
Subsystem: 0070:8003
Flags: bus master, medium devsel, latency 64, IRQ 20
Memory at e8000000 (32-bit, prefetchable) [size=64M]
Capabilities: [44] Power Management version 2
The 4 ATSC tuner cards that are also in the box:
mythbox-mbe:~# lspci -v | grep Network
0f:03.0 Network controller: Techsan Electronics Co Ltd B2C2 FlexCopII
DVB chip / Technisat SkyStar2 DVB card (rev 02)
0f:04.0 Network controller: Techsan Electronics Co Ltd B2C2 FlexCopII
DVB chip / Technisat SkyStar2 DVB card (rev 02)
0f:05.0 Network controller: Techsan Electronics Co Ltd B2C2 FlexCopII
DVB chip / Technisat SkyStar2 DVB card (rev 02)
0f:06.0 Network controller: Techsan Electronics Co Ltd B2C2 FlexCopII
DVB chip / Technisat SkyStar2 DVB card (rev 02)
mythbox-mbe:~# lspci -vn
0f:03.0 0280: 13d0:2103 (rev 02)
Subsystem: 13d0:2103
Flags: bus master, slow devsel, latency 64, IRQ 21
Memory at ed040000 (32-bit, non-prefetchable) [size=64K]
I/O ports at 6080 [size=32]
0f:04.0 0280: 13d0:2103 (rev 02)
Subsystem: 13d0:2103
Flags: bus master, slow devsel, latency 64, IRQ 22
Memory at ed050000 (32-bit, non-prefetchable) [size=64K]
I/O ports at 60a0 [size=32]
0f:05.0 0280: 13d0:2103 (rev 02)
Subsystem: 13d0:2103
Flags: bus master, slow devsel, latency 64, IRQ 23
Memory at ed060000 (32-bit, non-prefetchable) [size=64K]
I/O ports at 60c0 [size=32]
0f:06.0 0280: 13d0:2103 (rev 02)
Subsystem: 13d0:2103
Flags: bus master, slow devsel, latency 64, IRQ 20
Memory at ed070000 (32-bit, non-prefetchable) [size=64K]
I/O ports at 60e0 [size=32]
After boot with the firmware files in either /usr/lib/hotplug/firmware
or /usr/local/lib/firmware I can remove the ivtv modules and reload them
manually with success:
ivtv: ==================== START INIT IVTV ====================
ivtv: version 1.0.0 (2.6.22-2-amd64 SMP mod_unload ) loading
ivtv0: Autodetected Hauppauge card (cx23416 based)
ivtv0: loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
ivtv0: Encoder revision: 0x02060039
cx25840 5-0044: cx25841-23 found @ 0x88 (ivtv i2c driver #0)
wm8775 5-001b: chip found @ 0x36 (ivtv i2c driver #0)
tuner 5-0061: chip found @ 0xc2 (ivtv i2c driver #0)
ivtv0: Autodetected Hauppauge WinTV PVR-150
ivtv0: reopen i2c bus for IR-blaster support
cx25840 5-0044: cx25841-23 found @ 0x88 (ivtv i2c driver #0)
wm8775 5-001b: chip found @ 0x36 (ivtv i2c driver #0)
tuner 5-0061: chip found @ 0xc2 (ivtv i2c driver #0)
ivtv0: Registered device video0 for encoder MPEG (4 MB)
ivtv0: Registered device video32 for encoder YUV (2 MB)
ivtv0: Registered device vbi0 for encoder VBI (1 MB)
ivtv0: Registered device video24 for encoder PCM audio (1 MB)
ivtv0: Initialized Hauppauge WinTV PVR-150, card #0
ivtv: ==================== END INIT IVTV ====================
I have enabled logging for hotplug and the load order of IVTV related
modules is as follows:
mythbox-mbe:~# lsmod | grep ivtv
ivtv 135632 0
i2c_algo_bit 10884 1 ivtv
cx2341x 16516 1 ivtv
tveeprom 22288 1 ivtv
firmware_class 15360 5 ivtv,cx25840,bcm3510,nxt200x,b2c2_flexcop
videodev 32512 1 ivtv
v4l2_common 24320 6 tuner,ivtv,wm8775,cx25840,cx2341x,videodev
v4l1_compat 16388 2 ivtv,videodev
i2c_core 31488 15
tuner,ivtv,w83793,wm8775,cx25840,bcm3510,lgdt330x,nxt200x,mt352,stv0299,b2c2_flexcop,i2c_algo_bit,tveeprom,dvb_pll,i2c_i801
Order of above modules loaded by hotplug. /dev/hotplug.log
NAME TYPE SEQ NUM
i2c_core module 1298
v4l1_compat module 1299
v4l2_common module 1300
videodev module 1307
firmware_class module 1308
tveeprom module 1309
tveeprom driver 1310
cx2341x module 1311
i2c_algo_bit module 1313
ivtv driver 1318
ivtv module 1319
cx25840 module 1359
cx25840 driver 1360
wm8775 module 1361
wm8775 driver 1362
Can anyone offer ideas of what I can do or shove me in the right
direction? I've searched the mailing list archives (users and dev) and
I'm having a hard time finding anyone with the same issue on a version
1.0 driver.
Thank you for any insights.
Michael Hanson
_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users