YooSee SD-M5 doorbell: 1080p, PoE, RTSP, Onvif, only $66

Joined
Dec 9, 2020
Messages
28
Reaction score
9
Location
Netherlands
Funny thing is, when I start a Telnet session again and top, I can still see the doorbell.sh running.

How would I go about using screen? I am still limited to what the installed busybox has for commands and the SD card reader seems faulty. I could use wget until the storage is full.
 

mrxyz

n3wb
Joined
May 4, 2020
Messages
28
Reaction score
19
Location
Island
You could use the other solution as well. If you want to install you would need to create a new image, embed screen and flash it. Or go to the local supermarket, spent $10 and buy a new one.
 
Joined
Dec 9, 2020
Messages
28
Reaction score
9
Location
Netherlands
Finally, had a typo (obviously) in the doorbell.sh. it was trying to run the mosquitto_pub from current directory (and not /npc/mosquitto_pub).
Thanks guys!
BTW @mrxyz, I think I somehow broke the reader, all other (and I have tried a lot) SD cards work fine elsewhere.

How could I pack a different kind of busybox to the firmware file?
 

petervk

n3wb
Joined
Mar 4, 2021
Messages
16
Reaction score
7
Location
Sydney
OK cool!

How could I pack a different kind of busybox to the firmware file?
busybox is on /bin which isn't in the partition that's flashed with npcupg.bin, so I dont think you can replace busybox. You can build a minimal busybox with only the utilities you need, and that should be able to fit on /npc as part of your npcupg.bin image.
 
Last edited:

NeilMick

n3wb
Joined
Oct 28, 2019
Messages
23
Reaction score
1
Location
UK
Patched Firmware 13.01.01.31 based on 13.01.01.30:
  • Has Telnet enabled
  • Has FPS fix, steady on 15fps
  • Stays up&running > 3 days, even when disconnected from WAN

Instructions to install:
Place npcupg.bin on root of (preferably empty) SD card
Insert SD card into slot on Doorbell
Open YooSee App -> Settings -> Firmware and select install. This will install the local firmware from SD.

I like to thank users @mrxyz, @sp00025, @SecuritySeeker, @petervk for their input and for sharing their work here.
I take no responsibility for any kind of damages or malfunctioning resulting from using attached firmware.
This isn't working for me but I've already got firmware 13.01.01.36 so the camera assumes it is newer and won't install.
 

NeilMick

n3wb
Joined
Oct 28, 2019
Messages
23
Reaction score
1
Location
UK
I formatted the micro sd in the camera and then added the bin file to the root, this seems to have done the trick.
 

NeilMick

n3wb
Joined
Oct 28, 2019
Messages
23
Reaction score
1
Location
UK
You could also use the IPCam tool provided in this thread to push the firmware to the doorbell.
Thanks very much for this firmware, the actually image quality of this is much better than my DB1 however the framerate drop and reboots were a no no.
 
Joined
Dec 9, 2020
Messages
28
Reaction score
9
Location
Netherlands
I do still have to look at the reboots one more time. It seems there still is a reboot every couple of days.
Or a solution to set the date time from script instead of using the app.
 

petervk

n3wb
Joined
Mar 4, 2021
Messages
16
Reaction score
7
Location
Sydney
From memory there was already an NTP client on the rootfs, I needed to setup a local server on my LAN as the camera is blocked from WAN.
 

madmaxchen

n3wb
Joined
Apr 11, 2021
Messages
3
Reaction score
1
Location
Germany
I got the NTP client running with
/mnt/disc1/busybox ntpd -q -p [server]
added in the /npc/dhcp.script. But this only gives UTC, I didn't manage to get my correct timezone set. Neither TZ variable nor a /etc/timezone helped. Also datetimectl is not supported by busybox.
Any idea?
 

petervk

n3wb
Joined
Mar 4, 2021
Messages
16
Reaction score
7
Location
Sydney
Yup that's exactly where I got to and then decided against using NTP...I'll get BI to add the timestamp
 

flurec

n3wb
Joined
Jul 9, 2020
Messages
6
Reaction score
3
Location
Virginia
Patched Firmware 13.01.01.31 based on 13.01.01.30:
  • Has Telnet enabled
  • Has FPS fix, steady on 15fps
  • Stays up&running > 3 days, even when disconnected from WAN

Instructions to install:
Place npcupg.bin on root of (preferably empty) SD card
Insert SD card into slot on Doorbell
Open YooSee App -> Settings -> Firmware and select install. This will install the local firmware from SD.

I like to thank users @mrxyz, @sp00025, @SecuritySeeker, @petervk for their input and for sharing their work here.
I take no responsibility for any kind of damages or malfunctioning resulting from using attached firmware.
Florissilfhout- I just want to say a big thank you to you and the other users you mentioned. This made the camera soooo much better. I could not use it reliably with shinobi or tinycam until I upgraded to this firmware. It stays on 15fps.

If you are having problems with consistent streaming/recording, use this firmware!

Thanks again Florissilfhout!
 

sp00025

n3wb
Joined
Jul 26, 2020
Messages
15
Reaction score
7
Location
Madrid
I got the NTP client running with
/mnt/disc1/busybox ntpd -q -p [server]
added in the /npc/dhcp.script. But this only gives UTC, I didn't manage to get my correct timezone set. Neither TZ variable nor a /etc/timezone helped. Also datetimectl is not supported by busybox.
Any idea?
It was possible in my setup to use ntp to set the needed time, albeit a faked timezone use. TZ variable is working and needs some adjustment by -1 to achieve the correct readings.... Say if you need UTC-5, set it to UTC-6. With "export TZ=UTC-6" and the quoted ntp command it will sync to the correct time. Only, setting environment variable in dhcp.script fails. So putting the ntp command there even after export TZ will sync only to UTC.

UPDATE:
Either DST is not assumed, or /npc/npc executable inits timezone settings, but nothing helps to shift system level time from the UTC. You can even set correct time in your telnet shell, but the system time will be UTC as you can read on the video stream watermark.

I block internet access for the doorbell in my router, so to be able to use ntp I run an ntp server on local network. In such a setup what I miss is a simple way to flash the FW without the vendor provided app. If anyone knows how do do it via telnet without setting TFTP server, etc., please share your thoughts.
 
Last edited:

brommetje

n3wb
Joined
Apr 21, 2020
Messages
6
Reaction score
0
Location
Holland
Florissilfhout- I just want to say a big thank you to you and the other users you mentioned. This made the camera soooo much better. I could not use it reliably with shinobi or tinycam until I upgraded to this firmware. It stays on 15fps.

If you are having problems with consistent streaming/recording, use this firmware!

Thanks again Florissilfhout!
Maybe studit question if I’m going to use this image do I still need the app to configure RTSP password and other things?
 

petervk

n3wb
Joined
Mar 4, 2021
Messages
16
Reaction score
7
Location
Sydney
In such a setup what I miss is a simple way to flash the FW without the vendor provided app. If anyone knows how do do it via telnet without setting TFTP server, etc., please share your thoughts.
If you copy the firmware file to the root of the uSD card, called npcupg.bin and boot the camera, it should pickup that there's a new image and flash it.
 

sp00025

n3wb
Joined
Jul 26, 2020
Messages
15
Reaction score
7
Location
Madrid
If you copy the firmware file to the root of the uSD card, called npcupg.bin and boot the camera, it should pickup that there's a new image and flash it.
Nooo, it does not work this way. Otherwise, the firmware always updates on boot if npcupg.bin is not removed from your SD. Using windows software like IPCTestTool is also of a little help as it requires the cloud connection to operate.

BTW, I tried the image made by @Florissilfhout and indeed it works much better than my old one. Thanks @Florissilfhout. Also your approach to read debug info from the npc process is simpler than the one I described, so I like it. Together with fps fix, a newer FW solved the problem with a flaky ONVIF stream. Now it plays nicely with Home Assistant using ONVIF integration.

One more idea I've got looking into my Dahua camera. It can upload a snapshot image taken on any Event by FTP into my Home Assistant server. As it also provides an event, such snapshot can be further sent using appropriate notification. I found it useful for several reasons: the snapshot is more synchronised with an event, without a delay normally present if it is taken from rtsp stream. Also it is less prone to image corruption... I think it can be useful in a doorbell too, if for example a motion detection is used. With this approach your Home automation system will be responsible for sending all notifications. No need to have each device with camera sending snapshots to Telegram or Slack independently.
 
Last edited:

whoami ™

Getting the hang of it
Joined
Aug 4, 2019
Messages
121
Reaction score
98
Location
South Florida
Patched Firmware 13.01.01.31 based on 13.01.01.30:
  • Has Telnet enabled
  • Has FPS fix, steady on 15fps
  • Stays up&running > 3 days, even when disconnected from WAN

Instructions to install:
Place npcupg.bin on root of (preferably empty) SD card
Insert SD card into slot on Doorbell
Open YooSee App -> Settings -> Firmware and select install. This will install the local firmware from SD.

I like to thank users @mrxyz, @sp00025, @SecuritySeeker, @petervk for their input and for sharing their work here.
I take no responsibility for any kind of damages or malfunctioning resulting from using attached firmware.
Thank you so much to everyone who worked on this. Two years ago I invested a lot of time attempting to solve this 5 fps limitation. After finding the string in the firmware, making an attempt at ghidra and researching for a month or two I came to the realization this was above my paygrade. I gave up in defeat and thought it was over.... Tonight I installed the firmware patch you guys have been working on and am getting a steady stream of 15fps. :clap: Thank you... This really makes this cam viable now that the chop is gone from 5 fps.

YooSee's website states
Image sensor: SmartSens SC2235
SmartSens's Product list says
Max Frame Rate 1920H x 1080V @50fps

I ran strings on ncp.exe... Now I feel overwhelmed and hopeless....

Code:
[%s, %d]:something is moving, frame rate is normal
[%s, %d]:nothing is moving, frame rate is down
VENC_autoDownFrameRate
vNightModeDownFrameRate
I think something is wrong with their code... More like something is moving, frame rate is down... and stays down
same with NightModeDownFrameRate
 
Last edited:
Top