Thursday, April 24, 2008

I've had a network camera attached to the side of my house for a few years now and it's been quite handy but one day it just died. The picture looked a bit fuzzy, so I went out to wipe the glass in front of the lens. That didn't help so I unplugged it to take a closer look. I didn't see anything wrong with the lens so I plugged it back in, but it never turned on again. I even opened it and replaced a big capacitor (the only non SMT part on the board), but it was not going to come back to life. This event suddenly put me in the market for a new network camera, so I went over to Newegg and looked around at their net cams.

I use a Debian Linux server with the motion camera software to record motion on the camera, so I needed something that was compatible with that software. All the motion software needs is a URL to a jpeg or mjpeg file. My previous camera was a Panasonic BL-C1A, which worked quite well in Firefox, Safari, IE and with my motion recording software. On the Newegg site there were a number of similarly priced cameras that had many neat features that my old camera lacked. I needed to avoid anything that required IE and ActiveX to work, as that almost always means a buggy piece of junk. I found the Linksys WVC54GC and the Zonet ZVC7610 which both seemed to have mjpeg and mpeg4 features, and seemed promising. The Linksys camera seemed to be supported by motion, but it was a bit larger than my old camera and could not do mpeg4 and mjpeg simultaneously. The Zonet camera however claimed to be able to do both, was only slightly larger than my old camera and after the rebate would cost about $50. I ordered it and a few days later it arrived at my house.

That brings me to the rest of the review... the things that you won't find in the datasheet or on the manufacturer's website.

The camera does not actually have the mpeg4 feature. I've sent a request to Zonet's tech support to confirm this, and I'll modify this if I hear back, but it's been a week now so I'm not holding my breath. I think they probably just copied the datasheet for their more expensive ZVC7630 product.

The camera is set to use DHCP by default so it will start working immediately, but you'll have to find it on your network. I used fping to find it on my network.

The image quality seems good, but not as sharp as my old camera. You have to turn the lens to focus it, and this allows it to focus as close as a few inches. Here's an image from my camera, about 6" from the bunny finger puppet. The low light performance is reasonable, and the frame rate seems to be close to the advertised 30fps.

The mjpeg URL is not documented in the manual anywhere. I fired up wireshark to find the URL which is http://admin:admin@[camera IP address]/cgi/mjpg/mjpeg.cgi. Unfortunately the format of this mjpeg stream is not compatible with motion. It's also not compatible with Firefox or Safari's native mjpeg support, which is why Zonet had to include a Java applet to handle their custom mjpeg stream format. This is unfortunate.

The single jpeg images are accessed at the URL http://admin:admin@[camera IP address]/cgi/jpg/image.cgi. This wasn't documented either, but it was quite obvious once I looked at the open source files provide by Trendnet for their version of this hardware the IP110.

This brings me to the open source topic and the GPL issues. It seems that Zonet and Trendnet are selling the same hardware with re-branded firmware that appears to come from Allnet for their model 2281 camera. Some of the software in the camera has the name of Fitivision Technology and the hardware matches their CS-100A device, so they seem to be the likely OEM for this device. They even have a live demo of a similar camera. The camera software is built with Linux and makes heavy use of BusyBox, so it seems that Zonet is violating the GPL by not providing source code anywhere. I've asked them to provide me with a copy of the source code, so maybe they will rectify this situation. I've heard that the BusyBox developers have had some success enforcing the GPL in court so hopefully the device manufacturers are becoming aware of their obligations when using GPL software.

A nice discovery came when I scanned the camera with nmap. It turns out the camera is running it's web server on port 80 and a telnet server on port 15566. The telnet server provides direct access to a root shell and no password is required. I'm still exploring the filesystem and applications on the camera, but I've been able to use the tftp client to move files to an from the camera. Eventually I hope to be able to replace or fix the mjpeg.cgi application with one that provides Firefox compatible mjpeg streams.

By now I've decided to keep the camera and I mailed in my rebate request. The next logical step was to get out my screwdriver and crack open the case to see what's inside.

Here are some photos of what I found.

The major chips areEthernetIP100Ahttp://www.icplus.com.tw/pp-IP100A.html

Flash storageEN29LV320http://www.eonsdi.com/pdf/EN29LV320.pdf

FitiARM CPU?

The conclusion: I think the Zonet camera is a good piece of hardware, and it's cheap which is always nice. Since much of the software is open source, I have some hope that I will eventually be able to get mjpeg streams compatible with Firefox. I think the Panasonic is a better choice due to it's superior browser compatibility, and I'll pick that one next time I need another camera. The Zonet camera has potential, but still has a lot of room for improvement to the software.

Update July 6, 2009:I got side tracked with an IP-9100A camera server and recently took another look at this camera. I searched for firmware updates that might fix the problems but the only company that seems to provide any updates is Trendnet. I found that if I edited /etc/info.conf and set ModelName = TV-IP110 and ModelNumber = 1.0.0-16 it would accept the Trendnet firmware. Unfortunately the firmware (build 57) didn't fix the mjpeg stream and it disabled telnet access, but I had saved an earlier copy of the firmware (build 16) which restored the telnet access.

I've also learned that this hardware is the same as the Micronet SP5511 and like Zonet they do not provided any firmware updates or GPL source code.