Toubleshooting BT878 - I've RTFM.... Core ZM question really
Toubleshooting BT878 - I've RTFM.... Core ZM question really
Can anyone give me a few pointers to get the best out of my BT878 card?
I have issues with it displaying only in Black & White. I know this is not a ZM issue as it's doing the same thing under xawtv.
What I really need to get a handle on is what config file to 'poke around' in to see if I can kick this up to colour. It's not a simple NTSC/PAL problem - I've messed with all of that. I know the card and cameras will do colour on M$.
I'm guessing that ZM is using V4L, but for the life of me I can't find a conf file for it or where the driver for it is being referenced. I'm OK with linux (no guru) but the penny has not dropped as to the loading of modules/drivers yet (so any gentle pointers on that would be welcomed).
Basically, I am trying to get a good understanding of how ZM is obtaining the video so I can look at the common root cause of the colour issue, and hopeully learn something useful to give back in the process. Any pointers most welcome.
I have issues with it displaying only in Black & White. I know this is not a ZM issue as it's doing the same thing under xawtv.
What I really need to get a handle on is what config file to 'poke around' in to see if I can kick this up to colour. It's not a simple NTSC/PAL problem - I've messed with all of that. I know the card and cameras will do colour on M$.
I'm guessing that ZM is using V4L, but for the life of me I can't find a conf file for it or where the driver for it is being referenced. I'm OK with linux (no guru) but the penny has not dropped as to the loading of modules/drivers yet (so any gentle pointers on that would be welcomed).
Basically, I am trying to get a good understanding of how ZM is obtaining the video so I can look at the common root cause of the colour issue, and hopeully learn something useful to give back in the process. Any pointers most welcome.
-
- Posts: 247
- Joined: Sun Jan 16, 2005 11:26 am
First of all my apologies for posting initially in the wrong place and to the moderator who was sensible enough to move this without flaming me. Also, thanks to the two people who have taken their time to follow up with advice here.
The stumbling block in all of this for me is Ubuntu. It's great in so far as this worked out of the tin with no major hangups. A couple of minor fiddles with Apache were needed but other than that ZM was up and running on a cheap webcam in minutes. Ditto, threw in the BT878 card and ZM found that without any trouble too. It's working just fine but the BT878 has 4 inputs of black and white. The underlying system seems to refuse to accept the BT878 card is PAL and will only give me output if I put 'AUTO' as the mode. I suspect the issue may be around this setting and a plain old misconfiguration.
Now back to the nuts and bolts of all this, being Ubuntu nothing is as you expect it to be. Dmsg has been raped by iptables logging (I really must just turn it off when I get round to it) but I caught it early after a reboot and sure enough there is information in there about the card - but it's like I say, it's working - I just want to play with the core 'driver settings' for want of a better description.
If only Ubuntu had an /etc/modprobe.conf for me to look at - but alas, it seems to be doing something more convoluted. I think that's the next mystery for me to get to the bottom of.
Thanks for the input - it's really appreciated.
The stumbling block in all of this for me is Ubuntu. It's great in so far as this worked out of the tin with no major hangups. A couple of minor fiddles with Apache were needed but other than that ZM was up and running on a cheap webcam in minutes. Ditto, threw in the BT878 card and ZM found that without any trouble too. It's working just fine but the BT878 has 4 inputs of black and white. The underlying system seems to refuse to accept the BT878 card is PAL and will only give me output if I put 'AUTO' as the mode. I suspect the issue may be around this setting and a plain old misconfiguration.
Now back to the nuts and bolts of all this, being Ubuntu nothing is as you expect it to be. Dmsg has been raped by iptables logging (I really must just turn it off when I get round to it) but I caught it early after a reboot and sure enough there is information in there about the card - but it's like I say, it's working - I just want to play with the core 'driver settings' for want of a better description.
If only Ubuntu had an /etc/modprobe.conf for me to look at - but alas, it seems to be doing something more convoluted. I think that's the next mystery for me to get to the bottom of.
Thanks for the input - it's really appreciated.
I've not got a shot of it, sorry However, it's plain old vanilla eBay 4ch thing with just 25fps. Currently I have my 'main' CCTV on units made by dedicated micros, so this is just to 'play' with.
However, I've had a number of these cards in the past and they all look much the same. 4 x BNC, 1 x 3.5 mic socket, single chip. I've ordered another one as it was 99p plus £6.99 p&p and I'm going to add that to the system. I'll take some pictures then and be happy to share them.
However, I've had a number of these cards in the past and they all look much the same. 4 x BNC, 1 x 3.5 mic socket, single chip. I've ordered another one as it was 99p plus £6.99 p&p and I'm going to add that to the system. I'll take some pictures then and be happy to share them.
My guess would be that you have a Pico clone card.
http://www.zoneminder.com/wiki/index.php/Pico2000
If you do a:It should return just what we are interested in and you can post that here.
Modprobe has changed a bit. configs are now kept in /etc/modprobe.d/ and loads the files in that directory. So assuming that you have the above card and it loaded with generic drivers you would do the following:
Create a bttv file in modprobe.d with the following in it:
I'll have to update that section of the wiki on kernel configuration, but major kudos for searching and getting this far
Restart the machine and use the above demg code to make sure the kernel loaded the proper driver instead of the generic.
http://www.zoneminder.com/wiki/index.php/Pico2000
If you do a:
Code: Select all
dmesg |grep bttv
Modprobe has changed a bit. configs are now kept in /etc/modprobe.d/ and loads the files in that directory. So assuming that you have the above card and it loaded with generic drivers you would do the following:
Create a bttv file in modprobe.d with the following in it:
Code: Select all
options bttv card=77 tuner=4 radio=0 triton1=0 vsfx=0 autoload=0
Restart the machine and use the above demg code to make sure the kernel loaded the proper driver instead of the generic.
I'd gotten as far as modprobe.d but where to put the options and how to reference them had stumped me. I guess anyone who has trawled google for answers will come across the age old problem of out of date info when Linux changes.
All I need to do is figure where to put the options (do I create a file '/etc/modprobe.d/options' and reference bttv in it? Will it find it? Can I get the system to reload this module without having to reboot? - my guess is stop zoneminder (to be safe) and then reprobe the card somehow)
Here is my very verbose 'dmesg' output - apologies for not trimming it - I think around 48.xxxxxx is the area of interest:
dmesg
All I need to do is figure where to put the options (do I create a file '/etc/modprobe.d/options' and reference bttv in it? Will it find it? Can I get the system to reload this module without having to reboot? - my guess is stop zoneminder (to be safe) and then reprobe the card somehow)
Here is my very verbose 'dmesg' output - apologies for not trimming it - I think around 48.xxxxxx is the area of interest:
dmesg
Code: Select all
[ 47.759652] Linux video capture interface: v2.00
[ 48.241481] bttv: driver version 0.9.17 loaded
[ 48.241486] bttv: using 8 buffers with 2080k (520 pages) each for capture
[ 48.241560] bttv: Bt8xx card found (0).
[ 48.241598] bttv0: Bt878 (rev 17) at 0000:02:00.0, irq: 17, latency: 32, mmio: 0xdc200000
[ 48.242200] bttv0: using: *** UNKNOWN/GENERIC *** [card=0,autodetected]
[ 48.242242] bttv0: gpio: en=00000000, out=00000000 in=00f360ff [init]
[ 48.651612] e1000: eth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX
[ 48.695831] e1000: eth1: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX/TX
[ 48.913318] input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8042/serio1/input/input3
[ 49.467479] ieee1394: raw1394: /dev/raw1394 device initialized
[ 49.526953] NOTE: The dv1394 driver is unsupported and may be removed in a future Linux release. Use raw1394 instead.
[ 49.794952] parport_pc 00:0f: reported by Plug and Play BIOS
[ 49.795156] parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,EPP,ECP,DMA]
[ 52.103138] NET: Registered protocol family 10
[ 52.103490] lo: Disabled Privacy Extensions
[ 61.073879] tveeprom 0-0050: Huh, no eeprom present (err=-121)?
[ 61.073887] bttv0: tuner type unset
[ 61.073891] bttv0: i2c: checking for MSP34xx @ 0x80... <7>eth0: no IPv6 routers present
[ 62.717163] eth1: no IPv6 routers present
[ 67.471126] not found
[ 67.471130] bttv0: i2c: checking for TDA9875 @ 0xb0... not found
[ 73.868376] bttv0: i2c: checking for TDA7432 @ 0x8a... not found
[ 80.265924] bttv0: registered device video0
[ 80.266098] bttv0: registered device vbi0
[ 80.299466] gameport: EMU10K1 is pci0000:02:03.1/gameport0, io 0x9000, speed 537kHz
[ 80.440894] bt878: AUDIO driver version 0.0.0 loaded
[ 80.440953] bt878: Bt878 AUDIO function found (0).
[ 80.440984] bt878_probe: card id=[0x0], Unknown card.
[ 80.440985] Exiting..
[ 80.440995] bt878: probe of 0000:02:00.1 failed with error -22
You can call the file any thing you want really, the above suggestion was just to make it easy to find later should you need to adjust your bttv settings you don't have to remember where you put them.cordel wrote:My guess would be that you have a Pico clone card.
http://www.zoneminder.com/wiki/index.php/Pico2000
If you do a:It should return just what we are interested in and you can post that here.Code: Select all
dmesg |grep bttv
Modprobe has changed a bit. configs are now kept in /etc/modprobe.d/ and loads the files in that directory. So assuming that you have the above card and it loaded with generic drivers you would do the following:
Create a bttv file in modprobe.d with the following in it:Restart the machine and use the above demg code to make sure the kernel loaded the proper driver instead of the generic.Code: Select all
options bttv card=77 tuner=4 radio=0 triton1=0 vsfx=0 autoload=0
I trimmed your dmesg for you so glean it over and things should become apparent that the generic driver is being used which is typical for a card without an eprom.
Of coarse if you understand how to unload all the modules and reload them then no need to restart the machine.
The following commands are used to manage modules:
rmmod --> removes a module from the kernel
insmod --> Inserts a module in the kernel
modprobe --> used to insert or remove modules from the kernel you likely use this a majority of the time.
lsmod --> List status of modules in the kernel
depmod --> Used to find out what other modules a module depends on
modinfo --> To get more information on a module
You can get manual pages for any command in *nix by running man [command]
ie.
man modprobe
This will give you the description of the commands and the proper syntax for each.
rmmod --> removes a module from the kernel
insmod --> Inserts a module in the kernel
modprobe --> used to insert or remove modules from the kernel you likely use this a majority of the time.
lsmod --> List status of modules in the kernel
depmod --> Used to find out what other modules a module depends on
modinfo --> To get more information on a module
You can get manual pages for any command in *nix by running man [command]
ie.
man modprobe
This will give you the description of the commands and the proper syntax for each.
My sincere thanks to you Cordel. I had an incline to some of those commands but I can't really say I've had to call on them to the point where I understand them.
So; if I want to unload the bttv module - which I guess covers the whole BT878 chipset board range more or less, I guess (and please correct me if I am wrong) I would:
First stop Zoneminder (or any application making use of that hardware)??
Then force a reload of the module (to make use of the options file placed in /etc/modprobe.d/) using something like modprobe bttv
(Excuse lack of exact syntax, I'll go through man for it). It sounds plausible to me, but I prefer to double check my thinking.
So; if I want to unload the bttv module - which I guess covers the whole BT878 chipset board range more or less, I guess (and please correct me if I am wrong) I would:
First stop Zoneminder (or any application making use of that hardware)??
Then force a reload of the module (to make use of the options file placed in /etc/modprobe.d/) using something like modprobe bttv
(Excuse lack of exact syntax, I'll go through man for it). It sounds plausible to me, but I prefer to double check my thinking.
BTTV + BT878 4ch CARD (PAL) + Ubuntu Interpid Ibex (8.10)
I've just got to say:
!!!!!!YOU IS THE MAN!!!!
Did this:
created the file '/etc/modprobe.d/bttv-options' containing this line:
STOPPED ZM (initially missed this and got: ERROR: Module bttv is in use)
As root (#) I did
# rmmod bt878
# rmmod bttv
Finally did:
# modprobe bttv
.... there was a long pause - checked dmesg......
# dmesg | grep bttv
[ 6168.970018] bttv0: unloading
[ 6373.104463] bttv: driver version 0.9.17 loaded
[ 6373.104470] bttv: using 8 buffers with 2080k (520 pages) each for capture
[ 6373.107090] bttv: Bt8xx card found (0).
[ 6373.107114] bttv0: Bt878 (rev 17) at 0000:02:00.0, irq: 17, latency: 32, mmio: 0xdc200000
[ 6373.107600] bttv0: using: GrandTec Multi Capture Card (Bt878) [card=77,insmod option]
[ 6373.107645] bttv0: gpio: en=00000000, out=00000000 in=00f360ff [init]
[ 6379.502216] bttv0: tuner absent
[ 6379.507579] bttv0: registered device video0
[ 6379.507912] bttv0: registered device vbi0
[ 6379.508088] bttv0: PLL: 28636363 => 35468950 .. ok
Fire up ZM to find I still had black and white.... BUT WAIT!
Changed it back from AUTO to PAL and Volia! Colour!
(Previously under PAL there was no video)
So, a great big thank you !
--------------------------------------------------------------------------------
Added this to the title:
BTTV BT878 4ch CARD (PAL) Ubuntu Interpid Ibex (8.10) NO COLOUR
Just to help google bots and searched here
!!!!!!YOU IS THE MAN!!!!
Did this:
created the file '/etc/modprobe.d/bttv-options' containing this line:
Code: Select all
options bttv card=77 tuner=4 radio=0 triton1=0 vsfx=0 autoload=0
As root (#) I did
# rmmod bt878
# rmmod bttv
Finally did:
# modprobe bttv
.... there was a long pause - checked dmesg......
# dmesg | grep bttv
[ 6168.970018] bttv0: unloading
[ 6373.104463] bttv: driver version 0.9.17 loaded
[ 6373.104470] bttv: using 8 buffers with 2080k (520 pages) each for capture
[ 6373.107090] bttv: Bt8xx card found (0).
[ 6373.107114] bttv0: Bt878 (rev 17) at 0000:02:00.0, irq: 17, latency: 32, mmio: 0xdc200000
[ 6373.107600] bttv0: using: GrandTec Multi Capture Card (Bt878) [card=77,insmod option]
[ 6373.107645] bttv0: gpio: en=00000000, out=00000000 in=00f360ff [init]
[ 6379.502216] bttv0: tuner absent
[ 6379.507579] bttv0: registered device video0
[ 6379.507912] bttv0: registered device vbi0
[ 6379.508088] bttv0: PLL: 28636363 => 35468950 .. ok
Fire up ZM to find I still had black and white.... BUT WAIT!
Changed it back from AUTO to PAL and Volia! Colour!
(Previously under PAL there was no video)
So, a great big thank you !
--------------------------------------------------------------------------------
Added this to the title:
BTTV BT878 4ch CARD (PAL) Ubuntu Interpid Ibex (8.10) NO COLOUR
Just to help google bots and searched here
Hi, I just cant get my cart to work.
I followed the procedure above.
every thing looks fine except this line
Running tvtime form command
My first card did this so i thought the card is faulty and got n new one and it gives the same problem
Can any one help PLEASE.
I followed the procedure above.
Code: Select all
dmesg | grep bttv
[ 13.584363] bttv: driver version 0.9.17 loaded
[ 13.584367] bttv: using 8 buffers with 2080k (520 pages) each for capture
[ 13.585350] bttv: Bt8xx card found (0).
[ 13.585875] bttv 0000:01:06.0: PCI INT A -> Link[APC3] -> GSI 18 (level, low) -> IRQ 18
[ 13.585885] bttv0: Bt878 (rev 2) at 0000:01:06.0, irq: 18, latency: 16, mmio: 0xfd8ff000
[ 13.585899] bttv0: using: GrandTec Multi Capture Card (Bt878) [card=77,insmod option]
[ 13.585944] bttv0: gpio: en=00000000, out=00000000 in=00f36fff [init]
[ 14.384019] bttv0: tuner absent
[ 14.385029] bttv0: registered device video0
[ 14.385207] bttv0: registered device vbi0
[ 14.385227] bttv0: PLL: 28636363 => 35468950 .. ok
Code: Select all
[ 13.585875] bttv 0000:01:06.0: PCI INT A -> Link[APC3] -> GSI 18 (level, low) -> IRQ 18
Code: Select all
videoinput: Driver refuses to start streaming: Device or resource busy.
videoinput: Can't read frame. Error was: Invalid argument (0).
videoinput: Driver refuses to stop streaming: Invalid argument.
videoinput: Can't free frame 0: Device or resource busy
videoinput: Can't free frame 1: Device or resource busy
videoinput: Can't free frame 2: Device or resource busy
videoinput: Can't free frame 3: Device or resource busy
videoinput: Driver refuses to start streaming: Device or resource busy.
videoinput: Can't read frame. Error was: Invalid argument (0).
videoinput: Driver refuses to stop streaming: Invalid argument.
videoinput: Can't free frame 0: Device or resource busy
videoinput: Can't free frame 1: Device or resource busy
videoinput: Can't free frame 2: Device or resource busy
videoinput: Can't free frame 3: Device or resource busy
videoinput: Driver refuses to start streaming: Device or resource busy.
videoinput: Can't read frame. Error was: Invalid argument (0).
videoinput: Driver refuses to stop streaming: Invalid argument.
videoinput: Can't free frame 0: Device or resource busy
videoinput: Can't free frame 1: Device or resource busy
videoinput: Can't free frame 2: Device or resource busy
videoinput: Can't free frame 3: Device or resource busy
videoinput: Driver refuses to start streaming: Device or resource busy.
videoinput: Can't read frame. Error was: Invalid argument (0).
videoinput: Driver refuses to stop streaming: Invalid argument.
videoinput: Can't free frame 0: Device or resource busy
.
.
.
.
Can any one help PLEASE.