After reboot, some cameras are missing and never appear

Forum for questions and support relating to the 1.24.x releases only.
skier
Posts: 29
Joined: Thu Dec 10, 2009 11:54 am

After reboot, some cameras are missing and never appear

Post by skier »

Clean install from source of Zoneminder 1.24.2 on Ubuntu server
9.10. This is an 8 camera setup with an 8 channel 8 chip BT878 card.

I really like Zoneminder; the more time I spend to get it to work and
the more I'm impressed with all the work (and good design) that went
into it. It's a complex system to get going but I feel once I finally
get it to work it will be better than any of the possible
alternatives!

Unfortunately I'm not quite there yet. When I switch on the server,
typically only a subset of the cameras show a picture. The others show
nothing at all (not blue, not red, not black: just no picture when you
click on the monitor name).

With ps I can see that the zmc processes are not running for the
missing cameras. For example (irrelevant columns trimmed for readability):

$ ps guawwx | fgrep zmc
www-data 1448 12:46 0:18 /usr/local/bin/zmc -d /dev/video0
www-data 1450 12:46 0:18 /usr/local/bin/zmc -d /dev/video1
www-data 1453 12:46 0:10 /usr/local/bin/zmc -d /dev/video2
www-data 1456 12:46 1:10 /usr/local/bin/zmc -d /dev/video3
www-data 1659 12:46 0:05 /usr/local/bin/zmc -d /dev/video4
www-data 1678 12:46 1:02 /usr/local/bin/zmc -d /dev/video5

...here video6 and video7 are missing. Even though I have the
watchdog running (ps shows zmwatch.pl is there), the missing zmc
processes never appear, even after half an hour.

If, on the console, I click source and then I save, even without
changing any parameters, then the relevant zmc processes appear and so
does the image.

How can I ensure that all 8 zmc processes are started properly after a
reboot? I thought I understood zmwatch.pl was supposed to fix that in
case it didn't already happen by itself?

Here, I just rebooted and tried again. This time it's just the zmc on
/dev/video7 that's missing. Yet in dmesg the output for bttv7 is just
the same as that for the other ones that have a zmc and are showing an
image. See this subsection: the reports for bttv6 and bttv7 look the
same to me, but camera 6 has a zmc and is showing a picture, and
camera 7 isn't.

[ 16.740130] bttv: Bt8xx card found (6).
[ 16.740150] bttv 0000:07:0e.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[ 16.740165] bttv6: Bt878 (rev 17) at 0000:07:0e.0, irq: 20, latency: 32, mmio: 0x90003000
[ 16.740217] bttv6: using: IVC-200 [card=102,insmod option]
[ 16.740219] IRQ 20/bttv6: IRQF_DISABLED is not guaranteed on shared IRQs
[ 16.740249] bttv6: gpio: en=00000000, out=00000000 in=00ffffff [init]
[ 18.750012] bttv6: tuner absent
[ 18.750100] bttv6: registered device video6
[ 18.750125] bttv6: registered device vbi6
[ 18.750151] bttv6: PLL: 28636363 => 35468950 .
[ 18.750943] bttv6: PLL: 28636363 => 35468950 .
[ 18.751457] bttv6: PLL: 28636363 => 35468950 .. ok
[ 18.790171] bttv: Bt8xx card found (7).
[ 18.790190] bttv 0000:07:0f.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
[ 18.790203] bttv7: Bt878 (rev 17) at 0000:07:0f.0, irq: 23, latency: 32, mmio: 0x90001000
[ 18.790256] bttv7: using: IVC-200 [card=102,insmod option]
[ 18.790258] IRQ 23/bttv7: IRQF_DISABLED is not guaranteed on shared IRQs
[ 18.790287] bttv7: gpio: en=00000000, out=00000000 in=00fffff6 [init]
[ 20.800013] bttv7: tuner absent
[ 20.800104] bttv7: registered device video7
[ 20.800141] bttv7: registered device vbi7
[ 20.800169] bttv7: PLL: 28636363 => 35468950 .
[ 20.800955] bttv7: PLL: 28636363 => 35468950 .
[ 20.801454] bttv7: PLL: 28636363 => 35468950 .. ok

And I confirm that just clicking on /dev/video7 (0) in the console,
and then hitting "save", is enough to activate it. But this is not
supposed to be an interactive setup.

Clues welcome.
gsaraber
Posts: 2
Joined: Thu Dec 03, 2009 8:54 pm

Post by gsaraber »

I'm having the same problem, about half the camaras show a black feed. I'll try and confirm if the process is there next time..
I tend to go into the 'Function' and change from modect to none, or from enabled to not and back, that makes the picture appear.
I'm using 1.24.1 and seems to be a new/recent problem.

I have 12 cameras, with an 8 channel and a 4 channel bt878 card
skier
Posts: 29
Joined: Thu Dec 10, 2009 11:54 am

Post by skier »

Interestingly,

1) if I kill one of these zmc processes by hand ("sudo kill 1440" or whatever from the command line), the watchdog recreates a new one immediately; so it is doing something, but somehow it's not noticing that some monitors are missing their zmc.

2) the sources that don't have a zmc process are orange, rather than red as I'd expect them to be. Something is not right.
skier
Posts: 29
Joined: Thu Dec 10, 2009 11:54 am

Post by skier »

How do I start a missing zmc (capture daemon) from the command line?

I tried

/usr/local/bin/zmc -d /dev/video3

but it just returned silently and the process wasn't there in ps (plus, it would have been owned by me rather than by www-data).

There must be a wrapper script somewhere that invokes this properly. What is it?
skier
Posts: 29
Joined: Thu Dec 10, 2009 11:54 am

Post by skier »

[quote="skier"]
There must be a wrapper script somewhere that invokes this properly. What is it?[/quote]

I found that restarting zoneminder, either from

sudo /etc/init.d/zm restart

or from the "running" link at the top of the console does restart the zmc processes, including some of the missing ones. However there's one of the 8 cameras (all on the same conexant bt878 8-chip board) that isn't coming up, no matter how much I restart zm.

I have also rebooted the whole computer.

On dmesg, the camera in question (number 3) doesn't seem any different from the others. And it was working a week ago. Seems like a software issue but what else should I check?

[ 6.290006] bttv0: tuner absent
[ 6.290074] bttv0: registered device video0
[ 6.290095] bttv0: registered device vbi0
[ 6.290114] bttv0: registered device radio0
[ 6.290139] bttv0: PLL: 28636363 => 35468950 ..
[ 6.312169] bttv0: PLL: 28636363 => 35468950 .
[ 6.312272] bttv0: PLL: 28636363 => 35468950 . ok
[ 6.330127] ok
[ 6.330281] bttv: Bt8xx card found (1).
[ 6.330300] bttv 0000:07:09.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
[ 6.330314] bttv1: Bt878 (rev 17) at 0000:07:09.0, irq: 21, latency: 32, mmio: 0x9000d000
[ 6.330344] bttv1: using: IVC-200 [card=102,insmod option]
[ 6.330346] IRQ 21/bttv1: IRQF_DISABLED is not guaranteed on shared IRQs
[ 6.330389] bttv1: gpio: en=00000000, out=00000000 in=00ffffff [init]
[ 6.330409] bt878 #1 [sw]: bus seems to be busy
[ 6.331525] ok
[ 6.865798] __ratelimit: 9 callbacks suppressed
[ 6.865801] type=1503 audit(1261609826.683:14): operation="open" pid=987 parent=986 profile="/usr/sbin/mysqld" requested_mask="r::" denied_mask="r::" fsuid=0 ouid=0 name="/sys/devices/system/cpu/"
[ 7.040015] usb-storage: device scan complete
[ 7.045721] type=1503 audit(1261609826.863:15): operation="open" pid=1011 parent=1010 profile="/usr/sbin/mysqld" requested_mask="r::" denied_mask="r::" fsuid=0 ouid=0 name="/sys/devices/system/cpu/"
[ 7.160715] scsi 8:0:0:0: Direct-Access Seagate FreeAgent Pro 400A PQ: 0 ANSI: 4
[ 7.164879] type=1503 audit(1261609826.983:16): operation="open" pid=1126 parent=1018 profile="/usr/sbin/mysqld" requested_mask="r::" denied_mask="r::" fsuid=0 ouid=0 name="/sys/devices/system/cpu/"
[ 7.401680] sd 8:0:0:0: Attached scsi generic sg2 type 0
[ 7.540014] sd 8:0:0:0: [sdb] 1465149168 512-byte logical blocks: (750 GB/698 GiB)
[ 7.570005] sd 8:0:0:0: [sdb] Write Protect is off
[ 7.570008] sd 8:0:0:0: [sdb] Mode Sense: 1c 00 00 00
[ 7.570010] sd 8:0:0:0: [sdb] Assuming drive cache: write through
[ 7.660005] sd 8:0:0:0: [sdb] Assuming drive cache: write through
[ 7.660055] sdb: sdb1
[ 7.790009] sd 8:0:0:0: [sdb] Assuming drive cache: write through
[ 7.790061] sd 8:0:0:0: [sdb] Attached SCSI disk
[ 8.068989] type=1503 audit(1261609827.883:17): operation="open" pid=1228 parent=1227 profile="/usr/sbin/mysqld" requested_mask="r::" denied_mask="r::" fsuid=0 ouid=0 name="/sys/devices/system/cpu/"
[ 8.340007] bttv1: tuner absent
[ 8.340070] bttv1: registered device video1
[ 8.340092] bttv1: registered device vbi1
[ 8.340118] bttv1: PLL: 28636363 => 35468950 .
[ 8.340754] bttv1: PLL: 28636363 => 35468950 .
[ 8.340762] bttv1: PLL: 28636363 => 35468950 .. ok
[ 8.361342] ok
[ 8.380054] ok
[ 8.380116] bttv: Bt8xx card found (2).
[ 8.380136] bttv 0000:07:0a.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[ 8.380150] bttv2: Bt878 (rev 17) at 0000:07:0a.0, irq: 20, latency: 32, mmio: 0x9000b000
[ 8.380192] bttv2: using: IVC-200 [card=102,insmod option]
[ 8.380194] IRQ 20/bttv2: IRQF_DISABLED is not guaranteed on shared IRQs
[ 8.380230] bttv2: gpio: en=00000000, out=00000000 in=00ffffff [init]
[ 8.380249] bt878 #2 [sw]: bus seems to be busy
[ 9.221391] type=1503 audit(1261609829.043:18): operation="open" pid=1278 parent=1277 profile="/usr/sbin/mysqld" requested_mask="r::" denied_mask="r::" fsuid=0 ouid=0 name="/sys/devices/system/cpu/"
[ 9.294356] type=1503 audit(1261609829.113:19): operation="open" pid=1289 parent=1288 profile="/usr/sbin/mysqld" requested_mask="r::" denied_mask="r::" fsuid=0 ouid=0 name="/sys/devices/system/cpu/"
[ 10.390011] bttv2: tuner absent
[ 10.390079] bttv2: registered device video2
[ 10.390105] bttv2: registered device vbi2
[ 10.390132] bttv2: PLL: 28636363 => 35468950 .
[ 10.390726] bttv2: PLL: 28636363 => 35468950 .
[ 10.391213] bttv2: PLL: 28636363 => 35468950 .. ok
[ 10.411706] ok
[ 10.430077] ok
[ 10.430144] bttv: Bt8xx card found (3).
[ 10.430164] bttv 0000:07:0b.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
[ 10.430177] bttv3: Bt878 (rev 17) at 0000:07:0b.0, irq: 23, latency: 32, mmio: 0x90009000
[ 10.430220] bttv3: using: IVC-200 [card=102,insmod option]
[ 10.430222] IRQ 23/bttv3: IRQF_DISABLED is not guaranteed on shared IRQs
[ 10.430251] bttv3: gpio: en=00000000, out=00000000 in=00ffffff [init]
[ 10.430269] bt878 #3 [sw]: bus seems to be busy
[ 12.440013] bttv3: tuner absent
[ 12.440086] bttv3: registered device video3
[ 12.440108] bttv3: registered device vbi3
[ 12.440135] bttv3: PLL: 28636363 => 35468950 .
[ 12.440822] bttv3: PLL: 28636363 => 35468950 .
[ 12.441299] bttv3: PLL: 28636363 => 35468950 .. ok
[ 12.461616] ok
[ 12.480057] ok
[ 12.480122] bttv: Bt8xx card found (4).
[ 12.480141] bttv 0000:07:0c.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[ 12.480155] bttv4: Bt878 (rev 17) at 0000:07:0c.0, irq: 22, latency: 32, mmio: 0x90007000
[ 12.480199] bttv4: using: IVC-200 [card=102,insmod option]
[ 12.480201] IRQ 22/bttv4: IRQF_DISABLED is not guaranteed on shared IRQs
[ 12.480229] bttv4: gpio: en=00000000, out=00000000 in=00ffffff [init]
[ 12.480248] bt878 #4 [sw]: bus seems to be busy
[ 14.490012] bttv4: tuner absent
[ 14.490079] bttv4: registered device video4
[ 14.490103] bttv4: registered device vbi4
[ 14.490131] bttv4: PLL: 28636363 => 35468950 .
[ 14.490726] bttv4: PLL: 28636363 => 35468950 .
[ 14.491192] bttv4: PLL: 28636363 => 35468950 .. ok
[ 14.511675] ok
[ 14.530056] ok
[ 14.530119] bttv: Bt8xx card found (5).
[ 14.530139] bttv 0000:07:0d.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
[ 14.530152] bttv5: Bt878 (rev 17) at 0000:07:0d.0, irq: 21, latency: 32, mmio: 0x90005000
[ 14.530199] bttv5: using: IVC-200 [card=102,insmod option]
[ 14.530202] IRQ 21/bttv5: IRQF_DISABLED is not guaranteed on shared IRQs
[ 14.530229] bttv5: gpio: en=00000000, out=00000000 in=00ffffff [init]
[ 14.530248] bt878 #5 [sw]: bus seems to be busy
[ 16.540014] bttv5: tuner absent
[ 16.540105] bttv5: registered device video5
[ 16.540128] bttv5: registered device vbi5
[ 16.540156] bttv5: PLL: 28636363 => 35468950 .. ok
[ 16.580096] bttv: Bt8xx card found (6).
[ 16.580113] bttv 0000:07:0e.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[ 16.580125] bttv6: Bt878 (rev 17) at 0000:07:0e.0, irq: 20, latency: 32, mmio: 0x90003000
[ 16.580167] bttv6: using: IVC-200 [card=102,insmod option]
[ 16.580170] IRQ 20/bttv6: IRQF_DISABLED is not guaranteed on shared IRQs
[ 16.580200] bttv6: gpio: en=00000000, out=00000000 in=00ffffff [init]
[ 16.580219] bt878 #6 [sw]: bus seems to be busy
[ 17.050011] eth0: no IPv6 routers present
[ 18.590022] bttv6: tuner absent
[ 18.590095] bttv6: registered device video6
[ 18.590122] bttv6: registered device vbi6
[ 18.590150] bttv6: PLL: 28636363 => 35468950 .
[ 18.590971] bttv6: PLL: 28636363 => 35468950 .
[ 18.591512] bttv6: PLL: 28636363 => 35468950 .. ok
[ 18.611705] ok
[ 18.630157] ok
[ 18.630226] bttv: Bt8xx card found (7).
[ 18.630244] bttv 0000:07:0f.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
[ 18.630255] bttv7: Bt878 (rev 17) at 0000:07:0f.0, irq: 23, latency: 32, mmio: 0x90001000
[ 18.630294] bttv7: using: IVC-200 [card=102,insmod option]
[ 18.630296] IRQ 23/bttv7: IRQF_DISABLED is not guaranteed on shared IRQs
[ 18.630325] bttv7: gpio: en=00000000, out=00000000 in=00fffff9 [init]
[ 18.630344] bt878 #7 [sw]: bus seems to be busy
[ 20.640012] bttv7: tuner absent
[ 20.640092] bttv7: registered device video7
[ 20.640115] bttv7: registered device vbi7
[ 20.640144] bttv7: PLL: 28636363 => 35468950 .
[ 20.640865] bttv7: PLL: 28636363 => 35468950 .
[ 20.641362] bttv7: PLL: 28636363 => 35468950 .. ok
[ 20.661688] ok
[ 20.680075] ok
User avatar
cordel
Posts: 5210
Joined: Fri Mar 05, 2004 4:47 pm
Location: /USA/Washington/Seattle

Post by cordel »

IRQ 20/bttv6: IRQF_DISABLED is not guaranteed on shared IRQs
Would certainly create the problem. IRQ conflicts would produce exactly what you describe. Nice to see they produce a notice now in dmesg.
skier
Posts: 29
Joined: Thu Dec 10, 2009 11:54 am

Post by skier »

Thanks!

So how would I go about fixing the IRQ conflicts? I remember the days of the ISA bus and dip-switches but I thought the IRQs were all automatically assigned by the PCI fairies these days... Plus, all 8 chips are on the same card.

Clues most welcome!
Thanks again
mastertheknife
Posts: 678
Joined: Wed Dec 16, 2009 4:32 pm
Location: Israel

Post by mastertheknife »

Hi,
In some BIOSes, you can change IRQs for each pci slot.
Also, try disabling some unused ports and such in the BIOS, this should free up some IRQs.
You can disable these:
- Printer port (LPT)
- Mouse PS/2 port (if you use a USB mouse)
- Serial port(s)
- Onboard VGA (if you have onboard video but use a video card)
- Onboard Modem
There are probably more things that are possible to disable to free up some IRQs such as USB ports but those are all i could think of right now.
skier
Posts: 29
Joined: Thu Dec 10, 2009 11:54 am

Post by skier »

Thanks for the suggestions but unfortunately no joy.

In this (intel) bios, it looks like you can't change IRQs for each slot.

I have disabled the printer port and the floppy drive. I'm using the mouse, the onboard VGA and the USB and there was no option to disable serial or modem (not even sure if they're there in the first place).

Net result? only 3 cameras out of 8 are awake after the reboot, and the same error as highlighted above is still in dmesg...

BTW, if all these problems are due to IRQ conflicts, can someone explain why I did get all 8 cameras working together at some point?
whatboy
Posts: 304
Joined: Mon Aug 31, 2009 10:31 pm

Post by whatboy »

Maybe this is dumb, but have you try swapping the card on another slot???

Some DVR cards need heatsinks... yours have them???
User avatar
cordel
Posts: 5210
Joined: Fri Mar 05, 2004 4:47 pm
Location: /USA/Washington/Seattle

Post by cordel »

Having a Intel bios is a good thing, they have the least conflicts.
after disabling things in the bios though you usually have to set an option to reassign IRQs, though the named option escapes my memory. Moving the card to another will reassign as well.

What so you get from -> cat /proc/interrupts

Another issue could also be if modprobe has not finished setting up the and detecting options for the card before ZM starts. though I don't suspect this is what is happening.
skier
Posts: 29
Joined: Thu Dec 10, 2009 11:54 am

Post by skier »

Thanks guys.

This is the output of cat /proc/interrupts:

Code: Select all

           CPU0       CPU1       
  0:         25          0   IO-APIC-edge      timer
  1:          8          0   IO-APIC-edge      i8042
  8:          0          0   IO-APIC-edge      rtc0
  9:          0          0   IO-APIC-fasteoi   acpi
 12:        132          0   IO-APIC-edge      i8042
 16:      18842          0   IO-APIC-fasteoi   uhci_hcd:usb3, heci
 17:          0          0   IO-APIC-fasteoi   pata_marvell
 18:          0          0   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb7
 19:          0          0   IO-APIC-fasteoi   uhci_hcd:usb6
 20:          6          0   IO-APIC-fasteoi   bttv2, bttv6
 21:    2921393          0   IO-APIC-fasteoi   uhci_hcd:usb4, bttv1, bttv5
 22:    5833091          0   IO-APIC-fasteoi   bttv0, HDA Intel, bttv4
 23:          4          0   IO-APIC-fasteoi   ehci_hcd:usb2, uhci_hcd:usb5, bttv3, bttv7
 29:    1882138          0   PCI-MSI-edge      ahci
 30:      22092          0   PCI-MSI-edge      eth0
 31:          1          0   PCI-MSI-edge      i915
NMI:          0          0   Non-maskable interrupts
LOC:    1013329    1907323   Local timer interrupts
SPU:          0          0   Spurious interrupts
CNT:          0          0   Performance counter interrupts
PND:          0          0   Performance pending work
RES:         91        176   Rescheduling interrupts
CAL:        110       3817   Function call interrupts
TLB:      11447       5136   TLB shootdowns
TRM:          0          0   Thermal event interrupts
THR:          0          0   Threshold APIC interrupts
MCE:          0          0   Machine check exceptions
MCP:        130        130   Machine check polls
ERR:          0
MIS:          0
I have not yet moved the card to another slot.

The card didn't come with heatsinks nor did it say anywhere in its docs that they ought to be fitted. It's the 8-channel one on this page:
http://www.camsecure.co.uk/Zoneminder.html
(page reached via the "shop" link on Zoneminder site).

Can you explain one thing here please? Will I need one IRQ for the whole card or one for each chip on the card? Because it's unlikely there will ever be that many free, even if I disabled everything including the stuff I actually need! Can at least several chips share the same IRQ? And, if so, how do I make them do that?
mastertheknife
Posts: 678
Joined: Wed Dec 16, 2009 4:32 pm
Location: Israel

Post by mastertheknife »

Most devices do share IRQs, but in some cases, it can cause conflicts.

I see all the 8 chips are detected, and if they are all detected, it means the driver successfully managed to "talk" to all chips so maybe your problem is a software one, and maybe perhaps related to ZoneMinder.
Also, when you copied that output, which inputs didnt work?
And for testing purposes, can you try a watching all 8 channels with a different program (e.g. xawtv)?

By the way, you might want to put heatsinks on these bt878 chips, they generate a lot of heat and probably won't last long without heatsinks.
skier
Posts: 29
Joined: Thu Dec 10, 2009 11:54 am

Post by skier »

OK guys, I opened up the case, removed the other PCI card (there are only two PCI slots), moved the BTTV card from one slot to the other for good measure, disabled one more thing in the bios (the audio), then booted up the box again and the result is the same as before :-(

First, only cameras 0 and 1 came up. (I mean, only these two had a zmc process running when I checked with ps.)

After
sudo /etc/init.d/zm restart
I got 7 out of 8 cameras, namely 0 1 2 4 5 6 7 (3 missing).

Repeating this arbitrarily many times still hasn't given me camera 3 back.

The camera itself is fine: I swapped the connectors for cameras 2 and 3 and could see the missing picture OK.

@Cordel:
IRQ 20/bttv6: IRQF_DISABLED is not guaranteed on shared IRQs

Would certainly create the problem. IRQ conflicts would produce exactly what you describe. Nice to see they produce a notice now in dmesg.
I have been getting this message all along (see my post of 10 Dec) and, back then, there were times when I could see all 8 cameras, after fiddling with the "source" settings for the missing ones. Now, since at least the 24th, I haven't been able to get a picture ever from channel number 3. To be more specific, I've never again been able to get a zmc process to run on that channel.

The IRQ-related error messages I get now are essentially the same I got before moving this card in another slot and removing the other card. It looks like each IRQ (from 20 to 23) is used by 2 of the 8 channels and, at least to me, there doesn't seem to be anything special about channel 3 that doesn't work compared to the others that instead work.

Code: Select all

$ dmesg | fgrep IRQ
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] NR_IRQS:4352 nr_irqs:440
[    0.315006] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 9 10 *11 12)
[    0.315095] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 9 *10 11 12)
[    0.315181] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 *9 10 11 12)
[    0.315265] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 9 10 *11 12)
[    0.315350] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 9 10 *11 12)
[    0.315434] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 *9 10 11 12)
[    0.315517] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 7 9 10 *11 12)
[    0.315602] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 7 9 *10 11 12)
[    0.315762] PCI: Using ACPI for IRQ routing
[    0.377189] pci 0000:00:1c.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[    0.377205] pci 0000:00:1c.1: PCI INT B -> GSI 16 (level, low) -> IRQ 16
[    0.377218] pci 0000:00:1c.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[    0.377231] pci 0000:00:1c.3: PCI INT D -> GSI 19 (level, low) -> IRQ 19
[    0.377240] pci 0000:00:1c.4: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[    0.531734] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.532201] serial 0000:00:03.3: PCI INT B -> GSI 17 (level, low) -> IRQ 17
[    0.533568] ahci 0000:00:1f.2: PCI INT A -> GSI 19 (level, low) -> IRQ 19
[    0.631401] pata_marvell 0000:02:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[    0.631793] pata_acpi 0000:00:03.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[    0.632333] ehci_hcd 0000:00:1a.7: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[    0.650783] ehci_hcd 0000:00:1d.7: PCI INT A -> GSI 23 (level, low) -> IRQ 23
[    0.670885] uhci_hcd 0000:00:1a.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    0.671097] uhci_hcd 0000:00:1a.1: PCI INT B -> GSI 21 (level, low) -> IRQ 21
[    0.671315] uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
[    0.671513] uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 19 (level, low) -> IRQ 19
[    0.671719] uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[    1.931322] e1000e 0000:00:19.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[    4.572784] heci 0000:00:03.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    4.791842] i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    5.157065] bttv 0000:07:08.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
[    5.157096] IRQ 21/bttv0: IRQF_DISABLED is not guaranteed on shared IRQs
[    7.200160] bttv 0000:07:09.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[    7.200217] IRQ 22/bttv1: IRQF_DISABLED is not guaranteed on shared IRQs
[    9.250144] bttv 0000:07:0a.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
[    9.250203] IRQ 23/bttv2: IRQF_DISABLED is not guaranteed on shared IRQs
[   11.300127] bttv 0000:07:0b.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[   11.300177] IRQ 20/bttv3: IRQF_DISABLED is not guaranteed on shared IRQs
[   13.350128] bttv 0000:07:0c.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
[   13.350177] IRQ 21/bttv4: IRQF_DISABLED is not guaranteed on shared IRQs
[   15.420124] bttv 0000:07:0d.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[   15.420606] IRQ 22/bttv5: IRQF_DISABLED is not guaranteed on shared IRQs
[   17.470207] bttv 0000:07:0e.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
[   17.470271] IRQ 23/bttv6: IRQF_DISABLED is not guaranteed on shared IRQs
[   19.520179] bttv 0000:07:0f.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[   19.520244] IRQ 20/bttv7: IRQF_DISABLED is not guaranteed on shared IRQs

What do I get now from /proc/interrupts?

Code: Select all

$ cat /proc/interrupts 
           CPU0       CPU1       
  0:         25          0   IO-APIC-edge      timer
  1:        581          0   IO-APIC-edge      i8042
  8:          0          0   IO-APIC-edge      rtc0
  9:          0          0   IO-APIC-fasteoi   acpi
 12:        387          0   IO-APIC-edge      i8042
 16:       1171          0   IO-APIC-fasteoi   uhci_hcd:usb3, heci
 17:          0          0   IO-APIC-fasteoi   pata_marvell
 18:          0          0   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb7
 19:          0          0   IO-APIC-fasteoi   uhci_hcd:usb6
 20:     171789          0   IO-APIC-fasteoi   bttv3, bttv7
 21:     351286          0   IO-APIC-fasteoi   uhci_hcd:usb4, bttv0, bttv4
 22:     294796          0   IO-APIC-fasteoi   bttv1, bttv5
 23:     238255          0   IO-APIC-fasteoi   ehci_hcd:usb2, uhci_hcd:usb5, bttv2, bttv6
 29:     170176          0   PCI-MSI-edge      ahci
 30:      20234          0   PCI-MSI-edge      eth0
 31:          1          0   PCI-MSI-edge      i915
NMI:          0          0   Non-maskable interrupts
LOC:     179990     286182   Local timer interrupts
SPU:          0          0   Spurious interrupts
CNT:          0          0   Performance counter interrupts
PND:          0          0   Performance pending work
RES:         45         57   Rescheduling interrupts
CAL:         50        164   Function call interrupts
TLB:       4219        452   TLB shootdowns
TRM:          0          0   Thermal event interrupts
THR:          0          0   Threshold APIC interrupts
MCE:          0          0   Machine check exceptions
MCP:          9          9   Machine check polls
ERR:          0
MIS:          0
The bttvX have jumped around compared to last time, but still two of them per IRQ, and the bttv3 that has problems is now only sharing with another bttv, whereas previously it was also sharing with ehci_hcd:usb2, uhci_hcd:usb5. I see no obvious pattern here, especially as all other 7 channels work.

@mastertheknife:
I see all the 8 chips are detected, and if they are all detected, it means the driver successfully managed to "talk" to all chips so maybe your problem is a software one, and maybe perhaps related to ZoneMinder.
Any other hints on what to reconfigure?
As I said, what used to bring back dead channels before (ie fiddling with the source settings and saving them) now no longer works as a fix.
Also, when you copied that output, which inputs didnt work?
bttv3
And for testing purposes, can you try a watching all 8 channels with a different program (e.g. xawtv)?
Sadly no, because this is a server box that doesn't even have X installed.
By the way, you might want to put heatsinks on these bt878 chips, they generate a lot of heat and probably won't last long without heatsinks.
As the card apparently wasn't designed for heatsinks, assuming I buy some of the appropriate size, what's the best way to clamp them down securely? Or should I just paste them on and hope they make enough contact as is?
whatboy
Posts: 304
Joined: Mon Aug 31, 2009 10:31 pm

Post by whatboy »

Disable ACPI on BIOS... and daemon...
Locked