Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Asecam / Jieuno (fullhan / vatilon) integration #1610

Open
mtrakal opened this issue Nov 20, 2024 · 5 comments
Open

Asecam / Jieuno (fullhan / vatilon) integration #1610

mtrakal opened this issue Nov 20, 2024 · 5 comments

Comments

@mtrakal
Copy link

mtrakal commented Nov 20, 2024

Hello, I would like to help / provide some small info for cameras.

SoC of my cameras is fh8856v200 or fh8856/IF56N

There is my repo with extracted partitions, etc: https://github.com/mtrakal/ipc-vatilon

I'm not able to help with integration itself, but if you will need anything get from cameras or be a beta tester with firmware I can be that person :).


I still didn't catch network traffic / didn't try to / while upgrading FW, so I don't know process how camera is possible to flash firmware without uboot / uart usage. It's not possible in camera UI itself, but possible by some external tool. But it's work for some of next days for me, if I'll have some time :)

@darrylb123
Copy link

I have a number of the ASECAM Vatilon PB1 cameras. They can be affected by something on the network that causes them to all reboot at once. This can continue for some time, all rebooting regularly. I am willing to assist where I can. I upgraded the firmware using the Windows tool. It didn't help with the reboots but it may be the way to install alternative firmware.

@mtrakal
Copy link
Author

mtrakal commented Nov 28, 2024

I have a number of the ASECAM Vatilon PB1 cameras. They can be affected by something on the network that causes them to all reboot at once. This can continue for some time, all rebooting regularly. I am willing to assist where I can. I upgraded the firmware using the Windows tool. It didn't help with the reboots but it may be the way to install alternative firmware.

In the camera WebGui is possible to setup autoreboot. Maybe you have it enabled?
I have no issue with reboots of camera when this settings is disabled. But I have it enabled to reboot once per day to cleanup possible FW memleaks, sync time again, etc.

image

@darrylb123
Copy link

darrylb123 commented Nov 28, 2024 via email

@mtrakal
Copy link
Author

mtrakal commented Nov 29, 2024

I upgraded the firmware using the Windows tool. It didn't help with the reboots but it may be the way to install alternative firmware.

Yeah, I already caught FW upgrade packets, but it's a bit useless because it's encrypted. So App and Cam changed the keys and session and encrypted the rest of the communication. So until we know the algorithm and how the key is build, we are lost I think this simple way for upgrade FW, but we have 2 others ⏬.

Discover camera is based on Broadcast on Network L2 (ARP broadcast on same network area):

{
    "DeviceType": "IPC",
    "ChannelNum": 1,
    "DeviceModel": "PB4",
    "DeviceModel2": "PB",
    "DeviceName": "PB4",
    "CloudID": "__CLEARED__",
    "SerialNo": "__CLEARED__",
    "NetType": 1,
    "MAC": "__CLEARED__",
    "DHCP": 0,
    "Address": "10.0.0.33",
    "Submask": "255.255.255.0",
    "GateWay": "10.0.0.254",
    "DNS": "10.0.0.252",
    "TCPPort": 8600,
    "RTSPPort": 554,
    "HTTPPort": 80,
    "Language": "English",
    "SoftwareVersion": "V1.13.23-20240524",
    "DeviceRunTime": 78,
    "QWTEnable": false,
    "IPAdaptive": 1,
    "LampType": 1,
    "DayNightSwitch": 0,
    "P2PType": 4,
    "P2PPID": "__CLEARED__",
    "P2PQRCode": "__CLEARED__",
    "LensCount": 1,
    "StreamCount": 2,
    "StreamNumPerChannel": 2,
    "NetTypeSet": 1,
    "NetProtocolSet": 143,
    "Status": 2,
    "Version": 1,
    "Scode": "__CLEARED__"
}

After that application sends UDP packet to camera IP address with body:

{
  "operation": "login",
  "param": {
    "user": "JmsRxTtVEW+J5da5aSt3lw==",
    "password": "bC+UKGMPDDiynIUE9ViJzw==",
    "heartbeat_timeinterval": 1,
    "heartbeat_timeoutcounts": 3,
    "sessionid": 179511328,
    "encryptionkey": "EOtDcH4DFPJZj2CDhLFNAg==",
    "roletype": 5
  }
}

So we know, that decrypted user = admin and password = 123456.

Response is:

{
  "operation": "login_response",
  "code": 0,
  "msg": "successful ",
  "sessionid": 179511328,
  "encryptionkey": "HO55v18ZnC9cL6pJe0U9Tg=="
}

And the rest is encryped with new key.


But we already have ROOT access to telnet, so I don!t think, that we need use standard way how to upgrade firmware, when you can (I supose) re-mount partition as write or use dd to rewrite flash memory. Not sure, but expecting, that with root bash / bussybox it is possible.


And second tested variant - the author of articles on Reddit already used UART and flash his own custom FW (changed default password to telnet with custom one). So flash new FW is not the main problem I think :)

@darrylb123
Copy link

darrylb123 commented Nov 29, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants