New install, and I've been through (and solved) the "not enough shared memory" problem, the "your camera has a password" problem, the "wget can't retrieve a jpeg" problem... and I *still* can't get a picture. All my other logfiles seem quiescent, now, except the syslog, which does this dance:
Jun 18 23:22:19 frank zma_m3[3869]: WAR [Waiting for capture daemon]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Connected to host, socket = 6]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Request sent]
Jun 18 23:22:19 frank zmc_m3[3861]: ERR [Select timed out]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Connected to host, socket = 6]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Request sent]
Jun 18 23:22:19 frank zmc_m3[3861]: ERR [Select timed out]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Connected to host, socket = 6]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Request sent]
Jun 18 23:22:19 frank zmc_m3[3861]: ERR [Select timed out]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Connected to host, socket = 6]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Request sent]
Jun 18 23:22:19 frank zmc_m3[3861]: ERR [Select timed out]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Connected to host, socket = 6]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Request sent]
Jun 18 23:22:19 frank zmc_m3[3861]: ERR [Select timed out]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Connected to host, socket = 6]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Request sent]
Jun 18 23:22:19 frank zmc_m3[3861]: ERR [Select timed out]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Connected to host, socket = 6]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Request sent]
Jun 18 23:22:19 frank zmc_m3[3861]: ERR [Select timed out]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Connected to host, socket = 6]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Request sent]
Jun 18 23:22:19 frank zmc_m3[3861]: ERR [Select timed out]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Connected to host, socket = 6]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Request sent]
Jun 18 23:22:19 frank zmc_m3[3861]: ERR [Select timed out]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Connected to host, socket = 6]
Jun 18 23:22:19 frank zmc_m3[3861]: DB3 [Request sent]
Jun 18 23:22:19 frank zmc_m3[3861]: ERR [Select timed out]
Jun 18 23:22:20 frank zma_m3[3869]: WAR [Waiting for capture daemon]
An strace of a manually run zmc confirms that yes, it appears to be opening the socket to the camera ok, it just doesn't get anything back:
gettimeofday({1119148750, 700788}, {240, 0}) = 0
rt_sigprocmask(SIG_UNBLOCK, [USR1 USR2], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [USR1 USR2], NULL, 8) = 0
gettimeofday({1119148750, 701050}, {240, 0}) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("10.10.10.10")}, 16)
= 0
write(3, "GET /SnapshotJPEG?Resolution=640"..., 134) = 134
select(4, [3], NULL, NULL, {0, 500}) = 0 (Timeout)
gettimeofday({1119148750, 795896}, {240, 0}) = 0
I can get a single frame manually with either Firefox on my windows box or wget on the zm linux box successfully at this point, using the path I have in the monitor for this camera:
frank:/appl/zm121/images # zmu -q -v -m 3
Monitor 3(TM-1)
Id : 3
Name : TM-1
Type : Remote
Host : 10.10.10.10
Port : 80
Path : SnapshotJPEG?Resolution=640x480&Quality=Clarity
Width : 640
Height : 480
Palette : 4
Colours : 3
Event Prefix : Event-
Label Format : %%s - %y/%m/%d %H:%M:%S
Label Coord : 0,0
Image Buffer Count : 40
Warmup Count : 25
Pre Event Count : 10
Post Event Count : 10
Alarm Frame Count : 1
Section Length : 600
Maximum FPS : 0.00
Reference Blend %ge : 10
Track Motion : 0
Function: 4 - Continuous Record
Zones : 1
Id : 3
Label : All
Type: 1 - Active
Limits : 0,0 - 639,479
Alarm RGB : ff0000
Check Method: 3 - Blobs
Min Pixel Threshold : 25
Max Pixel Threshold : 0
Min Alarm Pixels : 9216
Max Alarm Pixels : 230400
Filter Box : 3,3
Min Filter Pixels : 9216
Max Filter Pixels : 230400
Min Blob Pixels : 6144
Max Blob Pixels : 0
Min Blobs : 1
Max Blobs : 0
I've confirmed the size of the image, and tried the path in the monitor setup both with and without the leading slash.
My SHMALL and SHMMAX are both bumped way up, and that cured that batch of errors earlier.
My console shows both mode and address as orange when in monitor mode, and both as green when in record mode, but of course, I don't actually record anything. My monitor page shows a black image, and 0.0 fps.
---
I made the mistake of believing my boss on Tuesday when he said the client for whom we were looking into implementing ZoneMinder had changed their mind -- and then they arrested someone for theft Thursday, and changed their mind on Friday.
It is, obviously, Saturday night.
Hopefully, someone will see the obvious thing I'm missing here... :-}
SOLVED: zmc times out on select with Pana BL-C10
SOLVED: zmc times out on select with Pana BL-C10
Last edited by Baylink on Wed Jun 22, 2005 10:17 pm, edited 1 time in total.
Following up to my own posting...
This was happening with 1.21.0, and remains the case with 1.21.1.
Short recap of the core problem: wget can pull a jpeg off the camera, but zmc times out on the select call, after successfully opening a TCP stream to it.
Short recap of the core problem: wget can pull a jpeg off the camera, but zmc times out on the select call, after successfully opening a TCP stream to it.
Ok, then...
In a wildly strange twist... it's working now. Not sure what I did, honestly.
Well... it's *almost* working. It will record, and monitor, and playback events...
but if I pull up a monitor window, and close it later, and then open another one on the same camera in less than some undetermined timeout, I get a broken image -- *unless* I switch to a different scaling, or to still mode; both of those work ok.
Anyone ever seen *that* one?
Well... it's *almost* working. It will record, and monitor, and playback events...
but if I pull up a monitor window, and close it later, and then open another one on the same camera in less than some undetermined timeout, I get a broken image -- *unless* I switch to a different scaling, or to still mode; both of those work ok.
Anyone ever seen *that* one?
SOLVED: it was the timeout value, obviously
As I noted somewhere else, the problem was that I'd turned the global timeout down to 500ms from the default 2500ms.