Recipe needed, voodoo3 3500 TV AGP

Recipe needed, voodoo3 3500 TV AGP

Post by t.. » Wed, 31 Jul 2002 01:02:58



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

 
 
 

Recipe needed, voodoo3 3500 TV AGP

Post by Peter T. Breue » Wed, 31 Jul 2002 01:20:07



> 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

Install a driver first!

Peter

 
 
 

Recipe needed, voodoo3 3500 TV AGP

Post by Enrique Perez-Terr » Wed, 31 Jul 2002 03:57:51


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

 
 
 

Recipe needed, voodoo3 3500 TV AGP

Post by Michael Heimin » Wed, 31 Jul 2002 05:45:26




>> 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

> Install a driver first!

Asthonished, how the OP got the idea, he would need the bttv
module at all?

http://v3tv.sourceforge.net/about.php

Michael Heiming
--
Remove the +SIGNS case mail bounces.

 
 
 

Recipe needed, voodoo3 3500 TV AGP

Post by Michael Heimin » Wed, 31 Jul 2002 05:48:04


Enrique Perez-Terron

It's generally considered rude, to repost the same article only a
few hours later.

These URL should be helpfull, for general newsgroup usage:

http://tgos.org/newbie/index2.html
http://livinginternet.com/u/ua.htm

"ESR's Howto ask smart questions":
http://www.tuxedo.org/~esr/faqs/smart-questions.html

Good luck

Michael Heiming
--
Remove the +SIGNS case mail bounces.

 
 
 

Recipe needed, voodoo3 3500 TV AGP

Post by Peter T. Breue » Wed, 31 Jul 2002 05:56:26





>>> 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

>> Install a driver first!
> Asthonished, how the OP got the idea, he would need the bttv
> module at all?

Err, yeah, sorry. That would be the bttv driver, not just "a" driver.

Quote:> http://v3tv.sourceforge.net/about.php

Cute. For just that card, eh? But it doesn't look even slightly
stable. Oh well, looks like it works with string applied liberally!

Peter

 
 
 

Recipe needed, voodoo3 3500 TV AGP

Post by Michael Heimin » Wed, 31 Jul 2002 07:06:56




[..]
>> http://v3tv.sourceforge.net/about.php

> Cute. For just that card, eh? But it doesn't look even slightly
> stable. Oh well, looks like it works with string applied
> liberally!

It somehow works, it isn't really stable with Xfree 4.x, perhaps
because it was written for Xfree 3.x....

Regards

Michael Heiming
--
Remove the +SIGNS case mail bounces.

 
 
 

Recipe needed, voodoo3 3500 TV AGP

Post by Enrique Perez-Terr » Thu, 01 Aug 2002 06:22:46



> Enrique Perez-Terron

> It's generally considered rude, to repost the same article only a
> few hours later.

I'm sorry about the repost. The post did not show up even on my ISP's
server, usually it does within an hour. I don't know how come these
timestamps, I waited for about five hours. I had other reasons too
to think that the newsreader I was using had perhps not posted the
message at all.

Quote:> These URL should be helpfull, for general newsgroup usage:
...
> "ESR's Howto ask smart questions":
> http://www.tuxedo.org/~esr/faqs/smart-questions.html

I'm browsing it again. Good advices are ever green.

Quote:> Good luck

Thank you

/Enrique

 
 
 

Recipe needed, voodoo3 3500 TV AGP

Post by Enrique Perez-Terr » Thu, 01 Aug 2002 06:32:36





>  [..]
> >> http://v3tv.sourceforge.net/about.php

> > Cute. For just that card, eh? But it doesn't look even slightly
> > stable. Oh well, looks like it works with string applied
> > liberally!

> It somehow works, it isn't really stable with Xfree 4.x, perhaps
> because it was written for Xfree 3.x....

I'll soon find out. I have just compiled a kernel and will now compile
v3tv. Bet I won't get my computer online again for two days, because I
finally got the Bios upgrade I need to attach the new 60Gb disk...

/Enrique

 
 
 

Recipe needed, voodoo3 3500 TV AGP

Post by Enrique Perez-Terr » Thu, 01 Aug 2002 08:17:26




...
> Asthonished, how the OP got the idea, he would need the bttv
> module at all?

Searching the web and groups for "alias char-major-81-0", bttv
was the only thing to show up.

Does anyone know, what means the "-0" part, in generic terms?
I would guess 'subdevice' would be a keyword here...

Hey, I found it myself, and it is kinda interesting:

I had a look in videodev.c and found that file is not a real
driver. It is little more than a *oline to the actual driver
registered with each device minor number. That explains a little
bit of the interrelations between all these drivers:

To use video4linux one always needs the driver "vidoedev", no matter
what hardware one has. This device will take the major number 81.
When a device file with major number 81 is opened, the videodev
driver requests the module "char-major-81-%d" where %d becomes
the minor number o the device being opened. Later on, all reads and
writes on the device are simply forwarded to this module. Similar
for ioctl, poll, etc.

That also indicates a fragment of a recipe:
1. find out what driver the voodoo3 actually needs. Say it is 'X'.
2. put in /etc/modules:
   alias char-major-81   videodev
   alias char-major-81-0 X

This also indicates that if you have several such devices, you could
add their drivers in further aliases:
   alias char-major-81-1 Y
   alias char-major-81-2 Z
etc.
These devices would then be accessible as /dev/vidoe1, /dev/vidoe2, etc.

/Enrique

 
 
 

Recipe needed, voodoo3 3500 TV AGP

Post by Michael Heimin » Thu, 01 Aug 2002 08:34:08


Enrique Perez-Terron

[..]

Quote:> That also indicates a fragment of a recipe:
> 1. find out what driver the voodoo3 actually needs. Say it is 'X'.

It's all written looking at the URL I allready posted to this
thread....

http://v3tv.sourceforge.net/install.php

7.  You should see a successful load. Running "/sbin/lsmod" should
display

          Module                  Size  Used by
          voodoo-mixer            4032   0 (unused)
          voodoo-msp3400         14208   1
          voodoo-tuner            3648   1
          v3tv                   23296   1
          vpx322x                 8272   0 [v3tv]
          i2c-algo-bit            7296   1 [v3tv]
          videodev                4640   3 [v3tv]
          i2c-core               12496   0 [voodoo-mixer                        
          voodoo-msp3400 voodoo-tuner v3tv vpx322x  i2c-algo-bit]

8. Start your favourite TV program and enjoy.

9. Here is one way to set the whole thing up in /etc/rc.d/rc.local.
In your /etc/rc.d/rc.local file add the following lines:

          /sbin/insmod /lib/modules/2.2.16/misc/i2c-core.o
          /sbin/insmod /lib/modules/2.2.16/misc/i2c-algo-bit.o
          /sbin/insmod /lib/modules/2.2.16/misc/videodev.o
          /sbin/insmod /lib/modules/2.2.16/misc/vpx322x.o
          /sbin/insmod /lib/modules/2.2.16/misc/v3tv.o ddc=0
          /sbin/insmod /lib/modules/2.2.16/misc/voodoo-tuner.o
          /sbin/insmod /lib/modules/2.2.16/misc/voodoo-msp3400.o
          /sbin/insmod /lib/modules/2.2.16/misc/voodoo-mixer.o
[...]

I'd prefer using modprobe, but that's another story...

Michael Heiming
--
Remove the +SIGNS case mail bounces.

 
 
 

Recipe needed, voodoo3 3500 TV AGP

Post by Enrique Perez-Terr » Sun, 04 Aug 2002 07:28:33






>  [..]
> > >> http://v3tv.sourceforge.net/about.php

> > > Cute. For just that card, eh? But it doesn't look even slightly
> > > stable. Oh well, looks like it works with string applied
> > > liberally!

> > It somehow works, it isn't really stable with Xfree 4.x, perhaps
> > because it was written for Xfree 3.x....

> I'll soon find out. I have just compiled a kernel and will now compile
> v3tv. Bet I won't get my computer online again for two days, because I
> finally got the Bios upgrade I need to attach the new 60Gb disk...

It works!

Needed som lines in /etc/modules.conf:

  # i2c
  alias char-major-89     i2c-dev

  # v3tv
  alias char-major-81     videodev
  alias char-major-81-0   v3tv
  options v3tv            ddc=0

There is one nuisance: Whenever I touch the mouse, xawtv goes just magenta.
This looks like a bug. The only way I have found to get the picture back
is to switch channels using the keyboard, and then switch back.

I have a vague memory of having read somewhere that tv cards typically use
some specific color to indicate the region of the screen that the tv can
overwrite with the images. This is to make it possible to have overlapping
windows. Then I remember it saying that they picked magenta as a color that
does not occur very frequently on ordinary computer screens.

None of the keyboard shortcuts seem to work. Only the arrow keys seem to work.
(They are used to change channels.) I cannot adjust the volume.
I also cannot use the scantv program to generate a config file for xawtv.

I do get some messages in /var/log/messages, failed requests for
char-major-81-226. I think this is related to scantv.

I see in the kernel's Documentation/devices.txt that
charracter device 81, minor numbers 224 etc. are "Vertical blank interrupt"
- and I know no more than before I read that.

I had previously reduced the screen resolution to 1024x768 and depth 16.
Some posts in the groups said that was necessary to make some tv cards work.
I will experiment to see if I can have higher resolution, at least when I
am not using the tv.

/Enrique