Re-organized the forum to more cleanly delineate the development section, as the end user support side appears to have taken a life of its own!

Author Topic: Is there such a thing as OpenNVR firmware?  (Read 2570 times)

  • No avatar
  • *
April 10, 2017, 03:47:22 pm
Hey folks,

I'm relatively new to this IPCam world and thanks to all of you I've managed to answer most of my questions.

I do still have a couple of questions that I'm hoping you can help with.

Question 1:
I recently picked up a few of the cheap chinese IPCams that are running this firmware:
They have an internal ID of H264 50H20L_S39.

Based on what I've read in these forums and others, I believe this means they are running the HI3516C System on a Chip. Can any of you confirm this?

Question 2:
I see that we have an open source camera firmware available. Is anyone working on an open source NVR firmware?

I'm specifically thinking that it would be great if we had firmware that supported these generic NVR boxes out of China. For example, firmware that supports the HI3535 chip would be pretty good for someone like me who just wants a a few cameras at 1080p.

For me, I'm less concerned about people viewing my cams and more concerned about opening a back door into my home network. Having an open source firmware that is known to be secure and not part of some bot army might alleviate some of the worries many people seem to have regarding the security of these generic NVRs.

And yes, I realize I can double or triple my budget and get a better NVR. I might just do that. But first I wanted to understand what the minimum viable setup looks like.

  • No avatar
  • *****
April 17, 2017, 10:06:25 pm
Not really (opennvr firmware)

What you'll need to do is get hold of the SDK for the chipset, so that you can compile a kernel and app's.
Once you have that, then you can start building firmware and flash.

Issues are that not all hardware is identical, so you will have different NAND types, flash sizes, gpio usage etc.
Not insurmountable, but you'll generally want to pick the same hardware to develop, and port to.

The SDK for the HI3615C is here -

Let me know if you have problems downloading, I can put elsewhere.

Generally speaking, you'll want to open up whatever hardware you have.  Add serial headers, and connect up serial for minimal debugging, and for more serious stuff JTAG.  Boot up the hardware, and see what it tells you.  Hopefully you'll be able to see a boot log and bootloader, and communicate with it.

Developing with just serial is viable though if the hardware isn't too locked.
i.e. hopefully the device will have an accessible bootloader, then you can flash kernels and filesystems without too many headaches.

The flash will generally contain a bootloader (don't overwrite this, otherwise you'll need to use an SPI flasher or similar to rewrite).
The bootloader will load a kernel from the flash into ram, then execute it.
The kernel will then mount a filesystem from flash, and run the OS + programs.

A BSP or SDK allows you to build a kernel and programs (BSP = board support package.  SDK = software development kit).

Thats a brief overview.

  • No avatar
  • *
April 21, 2017, 09:30:28 pm
Thanks for that. Sadly that's all beyond my skillset, though I do know some EEs who might take it on as a side project.

I was kind of hoping to find that some industrious folks had already started a replacement firmware for one or more of the generic NVRs out there.

Oh well. I guess I need to knuckle down and find an NVR with software that doesn't suck. If you have any recommendations, I'd like to hear them.

Thanks again.