Browsing the groups I find people who claim they have followed the
instructions to the letter when installing their tv cards, but I just
cannot find any recipes anywhere.
I have a fresh installation of RedhHat 7.3, and I do
$ xawtv
This is xawtv-3.73, running on Linux/i586 (2.4.18-3)
can't open /dev/video0: No such device
v4l: open /dev/video0: No such device
v4l2: open /dev/video0: No such device
no video grabber device available
like countless others on the net.
In the /var/log/messages I get
modprobe: Can't locate module char-major-81
so I guess I need something in my /etc/modules.
Looking around at what others have, or recommend, and then looking at
/usr/src/linux/Documentation/* files, I have tried
# i2c
alias char-major-89 i2c-dev
options i2c-core i2c_debug=1
options i2c-algo-bit bit_test=1
# bttv
alias char-major-81 videodev
alias char-major-81-0 bttv
options bttv card=68 radio=1
options tuner type=32 debug=1
and in a startup script:
modprobe char-major-89
modprobe char-major-81
modprobe char-major-81-0
modprobe tdfxfb
but then I get (in /var/log/messages):
i2c-algo-bit.o: i2c bit algorithm module
bttv: driver version 0.7.91 loaded
bttv: using 2 buffers with 2080k (4160k total) for capture
bttv: Host bridge is VIA Technologies, Inc. VT82C597 [Apollo VP3]
/lib/modules/2.4.18-3/kernel/drivers/media/video/bttv.o:
init_module: No such device
Hint: insmod errors can be caused by incorrect module parameters,
including invalid IO or IRQ parameters
/lib/modules/2.4.18-3/kernel/drivers/media/video/bttv.o:
insmod char-major-81-0 failed
(long lines lines broken and indented by me)
I really lack the most basic understanding of what I am dealing
with. If xawtv says 'no such device' and there are modprobe complaints
about char-major-81, I realize the system is trying to load a module
to handle some device. xawtv mentions /dev/video0, which is a
character device with major device number 81. The kernel's
Documentation/devices.txt says
81 char video4linux
which sounds promising. However, there is apparently no single thing
called vidoe4linux when it comes to drivers.
Which are the possible devices to put in an alias line? What are
those devices really? How can I know if i2c is related or needed by
the video4linux device I pick? etc. If videodev is the right one for
char-major-81, what is char-major-81-0?
It feels like repairing a car when not knowing the difference between
a motor and a wheel. "I have three Goodyear gizmos, they say I need
four. Can I use this Suzuki outboard motor, or should I try that
Michelin thing? I cannot get any more Goodyear thingies."
Can anyone please enlighten me? Any piece of information might be
a usefull contribution, however small.
I looked at the kernel source for the bttv device, and it seems to
require a PCI device that has a vendor ID of PCI_VENDOR_ID_BROOKTREE
(0x109e). Doing lspci I see that I do not have any such device. Then,
what other devices are there besides bttv that could fill the slot?
Searching the groups for hours, I have only found references like
'alias char-major-81-0 bttv'. The Documentation/vidoe4linux/bttv
directory in the kernel sources has a file CARDLIST which lists
card=68 - 3Dfx VoodooTV FM (Euro), VoodooTV 200 (USA)
but that must be a different thing, not? It also lists some tuners,
and
type=32 - Samsung PAL TCPM9091PD27
seems a perfect match given the label on the metal box on my Voodoo3
card:
SAMSUNG TCPM9091PD27D
but maybe my card has something else than the Brooktree bt848 or bt878
chips.
There also seem to be references on the net to one or more projects to
write drivers for the Voodoo3, but then these seem to be dead, I don't
know. At the same time there are so many postings about Voodoo3 and
linux that I get the impression that this card works great for a lot
of people. Am I mistaken (again)?
Anyway, just in case there are somebody around that dechiffers this
stuff, here is the output of lspci -n and lspci -v.
/Enrique
00:00.0 Class 0600: 1106:0598 (rev 04)
00:01.0 Class 0604: 1106:8598
00:07.0 Class 0601: 1106:0586 (rev 41)
00:07.1 Class 0101: 1106:0571 (rev 06)
00:07.3 Class 0680: 1106:3040 (rev 10)
00:0b.0 Class 0200: 1113:1211 (rev 10)
00:0c.0 Class 0200: 8e2e:3000
01:00.0 Class 0300: 121a:0005 (rev 01)
00:00.0 Host bridge: VIA Technologies, Inc. VT82C598 [Apollo MVP3] (rev 04)
Flags: bus master, medium devsel, latency 64
Memory at e0000000 (32-bit, prefetchable) [size=64M]
Capabilities: [a0] AGP version 1.0
00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo MVP3/Pro133x AGP] (prog-if 00 [Normal decode])
Flags: bus master, 66Mhz, medium devsel, latency 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 0000e000-0000efff
Memory behind bridge: d0000000-dfffffff
Prefetchable memory behind bridge: a0000000-afffffff
00:07.0 ISA bridge: VIA Technologies, Inc. VT82C586/A/B PCI-to-ISA [Apollo VP] (rev 41)
Flags: bus master, stepping, medium devsel, latency 0
00:07.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP])
Flags: bus master, medium devsel, latency 64
I/O ports at f000 [size=16]
00:07.3 Bridge: VIA Technologies, Inc. VT82C586B ACPI (rev 10)
Flags: medium devsel
00:0b.0 Ethernet controller: Accton Technology Corporation SMC2-1211TX (rev 10)
Subsystem: Accton Technology Corporation EN-1207D Fast Ethernet Adapter
Flags: bus master, medium devsel, latency 64, IRQ 10
I/O ports at 6800 [size=256]
Memory at e4000000 (32-bit, non-prefetchable) [size=256]
Capabilities: [50] Power Management version 1
00:0c.0 Ethernet controller: KTI ET32P2
Flags: medium devsel, IRQ 12
I/O ports at 6c00 [size=32]
Expansion ROM at 00004000 [disabled] [size=16K]
01:00.0 VGA compatible controller: 3Dfx Interactive, Inc. Voodoo 3 (rev 01) (prog-if 00 [VGA])
Subsystem: 3Dfx Interactive, Inc. Voodoo3 3500 TV (PAL)
Flags: 66Mhz, fast devsel, IRQ 5
Memory at d0000000 (32-bit, non-prefetchable) [size=32M]
Memory at a0000000 (32-bit, prefetchable) [size=32M]
I/O ports at e000 [size=256]
Expansion ROM at <unassigned> [disabled] [size=64K]
Capabilities: [54] AGP version 1.0
Capabilities: [60] Power Management version 1