thirtythreeforty / neolink

An RTSP bridge to Reolink IP cameras
https://www.thirtythreeforty.net/posts/2020/05/hacking-reolink-cameras-for-fun-and-profit/
GNU Affero General Public License v3.0
893 stars 151 forks source link

Reolink Argus Pro 3 stream parsing error #218

Open sanglt opened 3 years ago

sanglt commented 3 years ago

Describe the bug I tried the latest version with Battery support on both Docker and Ubuntu server. Both return error for Argus Pro 3 camera.

To Reproduce

  1. Create this configuration file:
bind = "0.0.0.0"

[[cameras]]
name = "outdoor"
username = "admin"
password = "XXXXX"
uid = "9527XXXXXS74A"
stream = "mainStream"
  1. Launch Neolink with RUST_LOG=debug
  2. Check the log from Neolink processs

Expected behavior A stream should working and can be view from VLC...

Versions Neolink software: Neolink 0.4.0 f10f9f9706a7e9db7503f6a0fe7ff24ce493162a release Reolink camera model and firmware: Argus Pro 3 - Firmware v3.0.0.307_21051100

Logs:

[2021-11-01T01:13:34Z INFO  neolink::rtsp] outdoor: Camera reports firmware version v3.0.0.307_21051100
[2021-11-01T01:13:34Z INFO  neolink::rtsp] outdoor: Starting video stream Main Stream (Clear)
[2021-11-01T01:13:34Z DEBUG neolink_core::bc::xml] Struct: start to parse "body"
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(body, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(AlarmEventList, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(AlarmEvent, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(channelId, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(channelId)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(status, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(status)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(AItype, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(AItype)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(recording, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(recording)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(timeStamp, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(timeStamp)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(AlarmEvent)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(AlarmEventList)
[2021-11-01T01:13:34Z DEBUG neolink_core::bc_protocol::connection::bcconn] Ignoring uninteresting message ID 33
[2021-11-01T01:13:34Z DEBUG neolink_core::bc::xml] Struct: start to parse "body"
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(body, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(AlarmEventList, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(AlarmEvent, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(channelId, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(channelId)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(status, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(status)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(AItype, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(AItype)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(recording, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(recording)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(timeStamp, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(timeStamp)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(AlarmEvent)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(AlarmEventList)
[2021-11-01T01:13:34Z DEBUG neolink_core::bc_protocol::connection::bcconn] Ignoring uninteresting message ID 33
[2021-11-01T01:13:34Z DEBUG neolink_core::bc::xml] Struct: start to parse "body"
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(body, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(AlarmEventList, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(AlarmEvent, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(channelId, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(channelId)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(status, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(status)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(AItype, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(AItype)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(recording, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(recording)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(timeStamp, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(timeStamp)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(AlarmEvent)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(AlarmEventList)
[2021-11-01T01:13:34Z DEBUG neolink_core::bc_protocol::connection::bcconn] Ignoring uninteresting message ID 33
[2021-11-01T01:13:34Z DEBUG neolink_core::bc::xml] Struct: start to parse "body"
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(body, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(AlarmEventList, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(AlarmEvent, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(channelId, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(channelId)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(status, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(status)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(AItype, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(AItype)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(recording, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(recording)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched StartElement(timeStamp, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(timeStamp)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(AlarmEvent)
[2021-11-01T01:13:34Z DEBUG yaserde::de] Fetched EndElement(AlarmEventList)
[2021-11-01T01:13:34Z DEBUG neolink_core::bc_protocol::connection::bcconn] Ignoring uninteresting message ID 33
[2021-11-01T01:13:35Z DEBUG neolink_core::bc::xml] Struct: start to parse "Extension"
[2021-11-01T01:13:35Z DEBUG yaserde::de] Fetched StartElement(Extension, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-01T01:13:35Z DEBUG yaserde::de] Fetched StartElement(binaryData, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-01T01:13:35Z DEBUG yaserde::de] Fetched Characters(1)
[2021-11-01T01:13:35Z DEBUG yaserde::de] Fetched EndElement(binaryData)
[2021-11-01T01:13:37Z DEBUG neolink_core::bc_protocol] Dropping camera
[2021-11-01T01:13:37Z DEBUG neolink_core::bc_protocol::connection::bcconn] Shutting down BcConnection...
[2021-11-01T01:13:37Z DEBUG neolink_core::bc_protocol::connection::bcconn] Shutdown finished OK
[2021-11-01T01:13:37Z ERROR neolink::rtsp] Error streaming from camera outdoor, will retry in 1s: Error while streaming outdoor

    Caused by:
        0: Media Deserialization error
        1: Parsing error
[2021-11-01T01:13:37Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp read poll aborted
[2021-11-01T01:13:37Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp write poll aborted
[2021-11-01T01:13:38Z DEBUG neolink_core::bc_protocol] Trying uid 9527xxxxxxxxBS74A
[2021-11-01T01:13:38Z DEBUG neolink_core::bc_protocol::connection::udpconn::discover] Broadcasting to: [(255.255.255.255, 2015), (255.255.255.255, 2018), (192.168.10.255, 2015), (192.168.10.255, 2018)]
QuantumEntangledAndy commented 3 years ago

This is difficult to diagnose, you have a working connection, that logs in, requests video, starts getting media stream then... drops the connection???? Ideally I'd need a wireshark dump, are you able to help with some more in depth debugging?

sanglt commented 3 years ago

@QuantumEntangledAndy Sure I'm happy to help.

This is the command I used: sudo tcpdump -i ens33 udp and host 192.168.10.144 -XAvvv -w camera.tcpdump I stop the tcpdump after 2 error happen.

camera.tcpdump.zip

QuantumEntangledAndy commented 3 years ago

Thanks I may need to make a debug build for this because argus pro 2 uses aes encryption that makes tcpdumps a little hard to read. I will have a go later and get back to you.

QuantumEntangledAndy commented 3 years ago

I have a build that can configure the encryption level here could you please get another tcpdump using this and the following config

bind = "0.0.0.0"

[[cameras]]
name = "outdoor"
username = "admin"
password = "XXXXX"
uid = "9527XXXXXS74A"
stream = "mainStream"
encryption = 1

fyi:

p.s. you may have to wait for the build to finish building before you can use it maybe 20-40 mins

sanglt commented 3 years ago

Thanks for your quick action. Here is the output of sudo tcpdump -i ens33 udp and host 192.168.10.144 -XAvvv -w camera-8c9b724.tcpdump

camera-8c9b724.tcpdump.zip

The version I used:

neolink --version
[2021-11-01T04:12:08Z INFO  neolink] Neolink 8c9b724268b4d57a9e419ac848e0d604d7893ee2 release
QuantumEntangledAndy commented 3 years ago

So looking through this I can see that most of the stream looks good. The only odd thing I have found so far is that msgcode 243 is replying with a status code of 405 Method Not Allowed.

We are not 100% sure what 234 is doing, it is something that was obsevered with the Lumus-ECO camera and it was presummed to be a udp keep alive as it dosen't seem to do anything else.

Might I ask if you logged in with an admin or non admin username to the camera? If it is a non admin it might explain the 405. If possible could you test with a admin account and tell me if it behaves any better (no need for a dump I think)

sanglt commented 3 years ago

The Battery model can only have single admin user. It's not possible to add other user. Current setting use admin creds.

What I can do is: I can use Reolink PC app and take another tcpdump if you need.

Thanks

sanglt commented 3 years ago

This is the tcpdump from my laptop using Reolink PC client application for doing live view of camera:

camera-pc-client.tcpdump.zip

QuantumEntangledAndy commented 3 years ago

I see I will look at the pc dump but those are encrypted with AES again (if you are using a client from this year) so I cannot look into them in detail

QuantumEntangledAndy commented 3 years ago

So your offical client dosen't seem to send keep alive at all. This is unexpected because certainly on the eco I worked on, if there was no message from the client within a few seconds then the camera would drop the connection.

I feel like this will be one of those issues where I cannot properly debug without access to the camera. Sorry about that :(

sanglt commented 3 years ago

I'm happy to help if need. Which mean I can setup VPN access for you.

sanglt commented 3 years ago

Also, I found an old version v3.5.6.55 release from 2019. Here the tcpdump trace:

camera-pc-client-v3.5.6.55.tcpdump.zip

QuantumEntangledAndy commented 3 years ago

Oh this dump is helpful for another reason too. Because it contains the details of how to check things like FloodLight status which was requested to another issue, so thanks for that :)

QuantumEntangledAndy commented 3 years ago

I've got to get back to work but I will see if I can work out more later

QuantumEntangledAndy commented 3 years ago

I noticed that the last message from the camera that the neolink received succefully had many keep alive replies in it. I also noticed some trouble with having too many keep alives too quickly while working on another part of the camera.

If you get the time could you try this other branches build. It was something else that I was working on for pausable streams but it also includes some rate limiting to the keep alive that might be relevent.

sanglt commented 3 years ago

Hi @QuantumEntangledAndy

Thanks for your help. This is the first thing I do when I got home. The error still persists. Here is the dump and debug log:

camera-1c218b3.tcpdump.zip


[2021-11-02T09:05:46Z INFO  neolink::rtsp] outdoor: Camera reports firmware version v3.0.0.307_21051100
[2021-11-02T09:05:46Z INFO  neolink::rtsp] outdoor: Starting video stream Main Stream (Clear)
[2021-11-02T09:05:46Z DEBUG neolink_core::bc::xml] Struct: start to parse "body"
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(body, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(VideoInput, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(channelId, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(channelId)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(bright, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(128)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(bright)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(contrast, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(128)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(contrast)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(saturation, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(128)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(saturation)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(hue, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(128)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(hue)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(VideoInput)
[2021-11-02T09:05:46Z DEBUG neolink_core::bc_protocol::connection::bcconn] Ignoring uninteresting message ID 78
[2021-11-02T09:05:46Z DEBUG neolink_core::bc::xml] Struct: start to parse "body"
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(body, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(Serial, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(channelId, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(channelId)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(baudRate, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(9600)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(baudRate)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(dataBit, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(CS8)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(dataBit)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(stopBit, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(1)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(stopBit)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(parity, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(parity)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(flowControl, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(flowControl)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(controlProtocol, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(PELCO_D)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(controlProtocol)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(controlAddress, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(1)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(controlAddress)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(Serial)
[2021-11-02T09:05:46Z DEBUG neolink_core::bc_protocol::connection::bcconn] Ignoring uninteresting message ID 79
[2021-11-02T09:05:46Z DEBUG neolink_core::bc::xml] Struct: start to parse "body"
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(body, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(FloodlightStatusList, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(FloodlightStatus, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(channel, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(channel)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(status, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(status)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(FloodlightStatus)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(FloodlightStatusList)
[2021-11-02T09:05:46Z DEBUG neolink_core::bc_protocol::connection::bcconn] Ignoring uninteresting message ID 291
[2021-11-02T09:05:46Z DEBUG neolink_core::bc::xml] Struct: start to parse "body"
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(body, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(BatteryList, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(BatteryInfo, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(channelId, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(channelId)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(chargeStatus, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(chargeStatus)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(adapterStatus, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(solarPanel)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(adapterStatus)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(voltage, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(3809)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(voltage)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(current, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(-686)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(current)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(temperature, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(21)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(temperature)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(batteryPercent, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(84)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(batteryPercent)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(lowPower, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(lowPower)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(batteryVersion, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(2)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(batteryVersion)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(BatteryInfo)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(BatteryList)
[2021-11-02T09:05:46Z DEBUG neolink_core::bc_protocol::connection::bcconn] Ignoring uninteresting message ID 252
[2021-11-02T09:05:46Z DEBUG neolink_core::bc::xml] Struct: start to parse "Extension"
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(Extension, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(binaryData, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(1)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(binaryData)
[2021-11-02T09:05:46Z DEBUG neolink_core::bc::xml] Struct: start to parse "body"
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(body, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG neolink_core::bc::xml] Struct: start to parse "AlarmEventList"
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(AlarmEventList, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-02T09:05:46Z DEBUG neolink_core::bc::xml] Struct: start to parse "AlarmEvent"
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(AlarmEvent, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(channelId, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(channelId)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(status, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(status)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(AItype, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(AItype)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(recording, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(recording)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(timeStamp, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(timeStamp)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(AlarmEvent)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(AlarmEventList)
[2021-11-02T09:05:46Z DEBUG neolink_core::bc_protocol::connection::bcconn] Ignoring uninteresting message ID 33
[2021-11-02T09:05:46Z DEBUG neolink_core::bc::xml] Struct: start to parse "body"
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(body, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG neolink_core::bc::xml] Struct: start to parse "AlarmEventList"
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(AlarmEventList, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-02T09:05:46Z DEBUG neolink_core::bc::xml] Struct: start to parse "AlarmEvent"
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(AlarmEvent, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(channelId, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(channelId)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(status, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(status)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(AItype, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(AItype)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(recording, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(recording)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(timeStamp, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(timeStamp)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(AlarmEvent)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(AlarmEventList)
[2021-11-02T09:05:46Z DEBUG neolink_core::bc_protocol::connection::bcconn] Ignoring uninteresting message ID 33
[2021-11-02T09:05:46Z DEBUG neolink_core::bc::xml] Struct: start to parse "body"
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(body, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG neolink_core::bc::xml] Struct: start to parse "AlarmEventList"
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(AlarmEventList, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-02T09:05:46Z DEBUG neolink_core::bc::xml] Struct: start to parse "AlarmEvent"
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(AlarmEvent, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(channelId, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(channelId)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(status, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(status)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(AItype, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(AItype)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(recording, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(recording)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(timeStamp, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(timeStamp)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(AlarmEvent)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(AlarmEventList)
[2021-11-02T09:05:46Z DEBUG neolink_core::bc_protocol::connection::bcconn] Ignoring uninteresting message ID 33
[2021-11-02T09:05:46Z DEBUG neolink_core::bc::xml] Struct: start to parse "body"
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(body, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG neolink_core::bc::xml] Struct: start to parse "AlarmEventList"
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(AlarmEventList, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-02T09:05:46Z DEBUG neolink_core::bc::xml] Struct: start to parse "AlarmEvent"
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(AlarmEvent, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"}, [version -> 1.1])
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(channelId, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(channelId)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(status, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(status)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(AItype, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(none)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(AItype)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(recording, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(recording)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched StartElement(timeStamp, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched Characters(0)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(timeStamp)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(AlarmEvent)
[2021-11-02T09:05:46Z DEBUG yaserde::de] Fetched EndElement(AlarmEventList)
[2021-11-02T09:05:46Z DEBUG neolink_core::bc_protocol::connection::bcconn] Ignoring uninteresting message ID 33
[2021-11-02T09:05:47Z DEBUG neolink::rtsp::gst] Gstreamer launch str: "(  ( input-selector name=vid_inputselect ! rtph265pay name=pay0 ) ( appsrc name=vidsrc is-live=true block=true emit-signals=false max-bytes=52428800 do-timestamp=true format=GST_FORMAT_TIME ! queue silent=true  max-size-bytes=10485760  min-threshold-bytes=1024 ! h265parse ! tee name=vid_src_tee ( vid_src_tee. ! queue silent=true  max-size-bytes=10485760  min-threshold-bytes=1024 ! vid_inputselect.sink_0 ) ) (  ! queue silent=true  max-size-bytes=10485760  min-threshold-bytes=1024 ! vid_inputselect.sink_1 ) ( input-selector name=aud_inputselect ! fakesink ) ( appsrc name=audsrc is-live=true block=true emit-signals=false max-bytes=52428800 do-timestamp=true format=GST_FORMAT_TIME  ! queue silent=true  max-size-bytes=10485760  min-threshold-bytes=1024 ! aud_inputselect.sink_0 ) ( audiotestsrc wave=silence ! queue silent=true  max-size-bytes=10485760  min-threshold-bytes=1024 ! aud_inputselect.sink_1 ) )"
[2021-11-02T09:05:47Z DEBUG neolink::rtsp::gst] Gstreamer launch str: "(  ( input-selector name=vid_inputselect ! rtph265pay name=pay0 ) ( appsrc name=vidsrc is-live=true block=true emit-signals=false max-bytes=52428800 do-timestamp=true format=GST_FORMAT_TIME ! queue silent=true  max-size-bytes=10485760  min-threshold-bytes=1024 ! h265parse ! tee name=vid_src_tee ( vid_src_tee. ! queue silent=true  max-size-bytes=10485760  min-threshold-bytes=1024 ! vid_inputselect.sink_0 ) ) (  ! queue silent=true  max-size-bytes=10485760  min-threshold-bytes=1024 ! vid_inputselect.sink_1 ) ( input-selector name=aud_inputselect ! audioconvert ! rtpL16pay name=pay1 ) ( appsrc name=audsrc is-live=true block=true emit-signals=false max-bytes=52428800 do-timestamp=true format=GST_FORMAT_TIME ! queue silent=true max-size-bytes=10485760 min-threshold-bytes=1024 ! aacparse ! decodebin ! queue silent=true  max-size-bytes=10485760  min-threshold-bytes=1024 ! aud_inputselect.sink_0 ) ( audiotestsrc wave=silence ! queue silent=true  max-size-bytes=10485760  min-threshold-bytes=1024 ! aud_inputselect.sink_1 ) )"
[2021-11-02T09:05:49Z DEBUG neolink_core::bc_protocol] Dropping camera
[2021-11-02T09:05:49Z DEBUG neolink_core::bc_protocol::connection::bcconn] Shutting down BcConnection...
[2021-11-02T09:05:49Z DEBUG neolink_core::bc_protocol::connection::bcconn] Ignoring uninteresting message ID 3
[2021-11-02T09:05:49Z DEBUG neolink_core::bc_protocol::connection::bcconn] Shutdown finished OK
[2021-11-02T09:05:49Z ERROR neolink::rtsp] Error streaming from camera outdoor, will retry in 1s: Error while streaming outdoor

    Caused by:
        0: Media Deserialization error
        1: Parsing error
[2021-11-02T09:05:49Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp read poll aborted
[2021-11-02T09:05:49Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp write poll aborted
QuantumEntangledAndy commented 3 years ago

Still not working :(. Next I think I'll try feeding your bytes from the dump through the program manually and see if I can replicate it that way.

mplogas commented 2 years ago

@QuantumEntangledAndy: I am experiencing the same error for my Argus 2 cameras.

Nov 10 17:07:52 neolink neolink[5483]: [2021-11-10T16:07:52Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp read poll aborted
Nov 10 17:07:52 neolink neolink[5483]: [2021-11-10T16:07:52Z ERROR neolink::rtsp] Error streaming from camera test3, will retry in 1s: Error while streaming test3
Nov 10 17:07:52 neolink neolink[5483]:
Nov 10 17:07:52 neolink neolink[5483]:     Caused by:
Nov 10 17:07:52 neolink neolink[5483]:         0: Media Deserialization error
Nov 10 17:07:52 neolink neolink[5483]:         1: Parsing error
Nov 10 17:07:52 neolink neolink[5483]: [2021-11-10T16:07:52Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp write poll aborted
Nov 10 17:07:53 neolink neolink[5483]: [2021-11-10T16:07:53Z INFO  neolink::rtsp] test3: Connecting to camera at UID: 95270000xxxxxx
Nov 10 17:07:53 neolink neolink[5483]: [2021-11-10T16:07:53Z INFO  neolink::rtsp] test3: Logging in
Nov 10 17:07:53 neolink neolink[5483]: [2021-11-10T16:07:53Z INFO  neolink::rtsp] test3: Connected and logged in
Nov 10 17:07:54 neolink neolink[5483]: [2021-11-10T16:07:54Z INFO  neolink::rtsp] test3: Camera time is already set: 2021-11-10 17:07:48 +1
Nov 10 17:07:54 neolink neolink[5483]: [2021-11-10T16:07:54Z INFO  neolink::rtsp] test3: Camera reports firmware version 0620_361_316_25
Nov 10 17:07:54 neolink neolink[5483]: [2021-11-10T16:07:54Z INFO  neolink::rtsp] test3: Starting video stream Main Stream (Clear)

It appears to be totally random and can sometimes recover from error (see log). Let me know if you need more verbose log or a tcpdump.

QuantumEntangledAndy commented 2 years ago

So I found some time to pass your bytes and I think I've found it. I am currently discussing it in #237.

Your packets revealed a new facet of the protocol. It might come with the recent firmware or be unique to these cameras as I've never seen this with any of my cameras.

I'll have to write up additions to the protocol and then ask for more tests.

QuantumEntangledAndy commented 2 years ago

I have a build here that might fix this, could you test for me

QuantumEntangledAndy commented 2 years ago

I am not sure if you are still having issues or not, but in case you are we have had progress with the error in #226 and have an updated build that should get it working here. Alternatively you can use our docker build

docker pull quantumentangledandy/neolink:argus2_media
sanglt commented 2 years ago

Thanks @QuantumEntangledAndy

I tried that last build and still got an error. Sorry, I'm a bit busy at this time of the year.

Today I tried again with your new build and it's working perfectly.

Thanks for your hard work.

GimpArm commented 2 years ago

Just wanted to say I was having the same problem as described. Now I’ve been running that test docker image for 4 days without any errors.

QuantumEntangledAndy commented 2 years ago

@GimpArm thanks for the update another week and I should be able to write up the PR. Day jobs are every good at getting in the way of fun programming sometimes haha.

Cloverdex commented 2 years ago

Hi all, I'm also having trouble with the Argus 3 Pro.

I am getting the following in the command prompt window.

[2021-12-14T01:25:36Z ERROR neolink::rtsp] Error streaming from camera ChickenCam4, will retry in 1s: Error while streaming ChickenCam4

Caused by:
    0: Media Deserialization error
    1: Parsing error

[2021-12-14T01:25:36Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp read poll aborted [2021-12-14T01:25:36Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp write poll aborted

I have tried the different builds listed above (running windows), and the same issue appears to occur.

If I wait long enough the camera seems to connect but seems to take a long time and then randomly disconnects.

Any help would be greatly appreciated.

QuantumEntangledAndy commented 2 years ago

@Cloverdex If you are sure that you are using latest builds above and it still dosen't work you will need to send me a wireshark doump so that I can analyse it.

Cloverdex commented 2 years ago

Hi @QuantumEntangledAndy, I have tried the windows build from here: https://github.com/thirtythreeforty/neolink/actions/runs/1570347760 and the one from here that is further up in this post: https://github.com/QuantumEntangledAndy/neolink/actions/runs/1534694282

Both seem to result in the deserialisation / UDP read/write errors, though the second link fails "less".

I will try and get a wireshark dump from you, though I have never used it before so I'm not sure I know what I'm doing!

Thanks!

QuantumEntangledAndy commented 2 years ago

You say that on the last build it fails "less". Could you please check if the error message has changed for that build or not?

Cloverdex commented 2 years ago

@QuantumEntangledAndy So with the build from here: https://github.com/thirtythreeforty/neolink/actions/runs/1570347760 The following errors occur (and they are more extensive):

[2021-12-14T02:56:45Z INFO  neolink_core::bc_protocol::connection::udpconn::discover] Trying remote discovery against reolink servers
thread '<unnamed>' panicked at 'There to be a local ip: PlatformNotSupported("windows")', crates\core\src\bc_protocol\connection\udpconn\discover.rs:304:48
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread '<unnamed>' panicked at 'There to be a local ip: PlatformNotSupported("windows")', crates\core\src\bc_protocol\connection\udpconn\discover.rs:304:48
[2021-12-14T02:56:46Z ERROR neolink::rtsp] Error streaming from camera ChickenCam4, will retry in 1s: Error while streaming ChickenCam4

    Caused by:
        0: Media Deserialization error
        1: Parsing error
[2021-12-14T02:56:46Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp read poll aborted
[2021-12-14T02:56:46Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp write poll aborted
[2021-12-14T02:56:47Z ERROR neolink::rtsp] Error streaming from camera ChickenCam4, will retry in 1s: Error while streaming ChickenCam4

    Caused by:
        0: Media Deserialization error
        1: Parsing error
[2021-12-14T02:56:47Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp read poll aborted
[2021-12-14T02:56:47Z INFO  neolink::rtsp] ChickenCam4: Connecting to camera at UID: 95270002TQ5M1CDU
[2021-12-14T02:56:47Z INFO  neolink::rtsp] ChickenCam4: Logging in
[2021-12-14T02:56:47Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp write poll aborted
[2021-12-14T02:56:48Z INFO  neolink::rtsp] ChickenCam4: Connected and logged in
[2021-12-14T02:56:48Z INFO  neolink::rtsp] ChickenCam4: Starting video stream Sub Stream (Fluent)
[2021-12-14T02:56:48Z ERROR neolink::rtsp] Error streaming from camera ChickenCam4, will retry in 1s: Error while streaming ChickenCam4

    Caused by:
        0: Media Deserialization error
        1: Parsing error
[2021-12-14T02:56:48Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp read poll aborted
[2021-12-14T02:56:48Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp write poll aborted

A few more from later on...

[2021-12-14T03:04:28Z ERROR neolink_core::bc_protocol::connection::bcconn] caused by: I/O error
[2021-12-14T03:04:28Z ERROR neolink_core::bc_protocol::connection::bcconn] caused by: I/O error
[2021-12-14T03:04:28Z ERROR neolink_core::bc_protocol::connection::bcconn] caused by: Connection timedout when reading from udp channel
[2021-12-14T03:04:28Z ERROR neolink_core::bc_protocol::connection::bcconn] caused by: Connection timedout when reading from udp channel
[2021-12-14T03:04:28Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp read poll aborted
[2021-12-14T03:04:28Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp read poll aborted
[2021-12-14T03:04:28Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp write poll aborted
[2021-12-14T03:04:28Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp write poll aborted
[2021-12-14T03:04:33Z WARN  neolink_core::bc_protocol] Could not log out, ignoring: Connection error
[2021-12-14T03:04:33Z ERROR neolink::rtsp] Error streaming from camera ChickenCam4, will retry in 1s: Failed to manage the camera settings

    Caused by:
        Timeout
[2021-12-14T03:04:33Z ERROR neolink::rtsp] Error streaming from camera ChickenCam4, will retry in 2s: Failed to login to ChickenCam4

This build seems to take ages for the cameras to pop up in Blue Iris, and when they do they drop out quite quickly.

With the build from here: https://github.com/thirtythreeforty/neolink/actions/runs/1570347760 all the cameras pop up (still quite slowly), but my E1's don't seem to drop out at all, and the Argus 2 and 3 Pro seem to drop out at random with the error messages posted above.

Hope that's not clear as mud!

QuantumEntangledAndy commented 2 years ago

You unfortunatly missed the error message I wanted. I want to know what 1570347760 says, is it still Media Deserialization error or is there something else?

What I suspect is that 1570347760 has fixed your Media Deserialization error and you have another error now on top perhaps related to udp since the E1 works.

Please provide this info and dump when you can and I'll try looking into it

Cloverdex commented 2 years ago

@QuantumEntangledAndy my apologies. For 1570347760, the error is just focused on Media Deserialization error. I don't see anything else of note in the log but I have pasted below an extended amount snippet from what I did earlier on.

[2021-12-14T03:57:34Z INFO  neolink_core::bc_protocol::connection::udpconn::discover] Trying remote discovery against reolink servers
[2021-12-14T03:57:34Z INFO  neolink_core::bc_protocol::connection::udpconn::discover] Trying remote discovery against reolink servers
thread '<unnamed>thread '' panicked at '<unnamed>There to be a local ip: PlatformNotSupported("windows")' panicked at '', There to be a local ip: PlatformNotSupported("windows")crates\core\src\bc_protocol\connection\udpconn\discover.rs', :crates\core\src\bc_protocol\connection\udpconn\discover.rs304::30448:
48note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

[2021-12-14T03:57:58Z ERROR neolink::rtsp] Error streaming from camera ChickenCam4, will retry in 1s: Error while streaming ChickenCam4

    Caused by:
        0: Media Deserialization error
        1: Parsing error
[2021-12-14T03:57:58Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp read poll aborted
[2021-12-14T03:57:58Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp write poll aborted
[2021-12-14T03:57:59Z INFO  neolink::rtsp] ChickenCam4: Connecting to camera at UID: 95270002TQ5M1CDU
[2021-12-14T03:57:59Z INFO  neolink::rtsp] ChickenCam4: Logging in
[2021-12-14T03:58:00Z INFO  neolink::rtsp] ChickenCam4: Connected and logged in
[2021-12-14T03:58:00Z INFO  neolink::rtsp] ChickenCam4: Camera time is already set: 2021-12-14 14:58 +10
[2021-12-14T03:58:01Z INFO  neolink::rtsp] ChickenCam4: Camera reports firmware version v3.0.0.307_21051100
[2021-12-14T03:58:01Z INFO  neolink::rtsp] ChickenCam4: Starting video stream Main Stream (Clear)
[2021-12-14T03:58:24Z ERROR neolink::rtsp] Error streaming from camera ChickenCam4, will retry in 1s: Error while streaming ChickenCam4

    Caused by:
        0: Media Deserialization error
        1: Parsing error
[2021-12-14T03:58:24Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp read poll aborted
[2021-12-14T03:58:24Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp write poll aborted

This then just repeats over and over.

QuantumEntangledAndy commented 2 years ago

Umm sorry but I think I was reffering to the wrong number above, I think we need this one 1534694282 and I gave the wrong number.

Cloverdex commented 2 years ago

Hey @QuantumEntangledAndy, So with 1534694282

I get a very similar result:

neolink rtsp --config config.toml [2021-12-14T05:07:28Z INFO neolink] Neolink ff76e4d2d737034319ea452fd532eba13d9edbec release [2021-12-14T05:07:29Z INFO neolink::rtsp] ChickenCam4: Connecting to camera at UID: 95270002TQ5M1CDU [2021-12-14T05:07:29Z INFO neolink::rtsp] ChickenCam4: Connecting to camera at UID: 95270002TQ5M1CDU [2021-12-14T05:07:29Z INFO neolink::rtsp] ChickenCam4: Logging in [2021-12-14T05:07:29Z INFO neolink::rtsp] ChickenCam4: Logging in [2021-12-14T05:07:29Z INFO neolink::rtsp] ChickenCam4: Connected and logged in [2021-12-14T05:07:29Z INFO neolink::rtsp] ChickenCam4: Starting video stream Sub Stream (Fluent) [2021-12-14T05:07:29Z INFO neolink::rtsp] ChickenCam4: Connected and logged in [2021-12-14T05:07:30Z INFO neolink::rtsp] ChickenCam4: Camera time is already set: 2021-12-14 16:07:30 +10 [2021-12-14T05:07:30Z INFO neolink::rtsp] ChickenCam4: Camera reports firmware version v3.0.0.307_21051100 [2021-12-14T05:07:30Z INFO neolink::rtsp] ChickenCam4: Starting video stream Main Stream (Clear) [2021-12-14T05:07:53Z ERROR neolink::rtsp] Error streaming from camera ChickenCam4, will retry in 1s: Error while streaming ChickenCam4

Caused by:
    0: Media Deserialization error
    1: Parsing error

[2021-12-14T05:07:53Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp read poll aborted [2021-12-14T05:07:53Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp write poll aborted [2021-12-14T05:07:59Z INFO neolink_core::bc_protocol::connection::udpconn::discover] Trying remote discovery against reolink servers thread '' panicked at 'There to be a local ip: PlatformNotSupported("windows")', crates\core\src\bc_protocol\connection\udpconn\discover.rs:304:48 note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

At this point everything seems to stop working in Blue Iris.

I run neolink again and it's almost identical to 1570347760

neolink rtsp --config config.toml [2021-12-14T05:14:30Z INFO neolink] Neolink ff76e4d2d737034319ea452fd532eba13d9edbec release [2021-12-14T05:14:30Z INFO neolink::rtsp] ChickenCam4: Connecting to camera at UID: 95270002TQ5M1CDU [2021-12-14T05:14:30Z INFO neolink::rtsp] ChickenCam4: Connecting to camera at UID: 95270002TQ5M1CDU [2021-12-14T05:14:31Z INFO neolink::rtsp] ChickenCam4: Logging in [2021-12-14T05:14:31Z INFO neolink::rtsp] ChickenCam4: Logging in [2021-12-14T05:14:31Z INFO neolink::rtsp] ChickenCam4: Connected and logged in [2021-12-14T05:14:31Z INFO neolink::rtsp] ChickenCam4: Connected and logged in [2021-12-14T05:14:31Z INFO neolink::rtsp] ChickenCam4: Starting video stream Sub Stream (Fluent) [2021-12-14T05:14:32Z INFO neolink::rtsp] ChickenCam4: Camera time is already set: 2021-12-14 16:14:32 +10 [2021-12-14T05:14:32Z INFO neolink::rtsp] ChickenCam4: Camera reports firmware version v3.0.0.307_21051100 [2021-12-14T05:14:32Z INFO neolink::rtsp] ChickenCam4: Starting video stream Main Stream (Clear) [2021-12-14T05:14:55Z ERROR neolink::rtsp] Error streaming from camera ChickenCam4, will retry in 1s: Error while streaming ChickenCam4

Caused by:
    0: Media Deserialization error
    1: Parsing error

[2021-12-14T05:14:55Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp read poll aborted [2021-12-14T05:14:55Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp write poll aborted [2021-12-14T05:14:56Z INFO neolink::rtsp] ChickenCam4: Connecting to camera at UID: 95270002TQ5M1CDU [2021-12-14T05:14:56Z INFO neolink::rtsp] ChickenCam4: Logging in [2021-12-14T05:14:57Z INFO neolink::rtsp] ChickenCam4: Connected and logged in [2021-12-14T05:14:57Z INFO neolink::rtsp] ChickenCam4: Camera time is already set: 2021-12-14 16:14:57 +10 [2021-12-14T05:14:57Z INFO neolink::rtsp] ChickenCam4: Camera reports firmware version v3.0.0.307_21051100 [2021-12-14T05:14:57Z INFO neolink::rtsp] ChickenCam4: Starting video stream Main Stream (Clear) [2021-12-14T05:15:21Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp read poll aborted [2021-12-14T05:15:21Z ERROR neolink::rtsp] Error streaming from camera ChickenCam4, will retry in 1s: Error while streaming ChickenCam4

Caused by:
    0: Media Deserialization error
    1: Parsing error

[2021-12-14T05:15:21Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp write poll aborted

QuantumEntangledAndy commented 2 years ago

I see thank you, sorry for all the questions but it is helpful to know such info when tracing errors.

At this point I will need the wireshark dump to proceed

Cloverdex commented 2 years ago

No worries at all. I really appreciate the help so please don't apologise for the questions. I had a quick look at wireshark and have to admit I do not understand how to use it. I will have a read up on it and if I can figure it out, and post the information that you need here. Thank you for all the time you've spent on this!

QuantumEntangledAndy commented 2 years ago

Maybe this will help wireshark

Cloverdex commented 2 years ago

Morning @QuantumEntangledAndy Thank you for the very clear guide as to what to do. I have attached the wireshark dump below, as well as my configuration file. I've removed the other cameras from it.

Apologies for the filesize, it was too large to upload so I've put it on my google drive: https://drive.google.com/drive/folders/1ZGjdNCs5baNVQNXLBFFGWPiIAABvjOW7?usp=sharing

I removed the E1 Pro's from the config. It took around 5 minutes for the Argus 3 Pro to show up with a viewable feed (hence the giant log size).

Cloverdex commented 2 years ago

Hi @QuantumEntangledAndy Just wondering if the above wireshark dump provided you with any insights as to what could be going wrong?

Thanks!

surfzoid commented 2 years ago

Hi, I'm running neolink under RPI p400 against argus3 (no pro) and have similar issues. From official android client, most of time I need to repeat 5 or 10 time to have the connection.

Here it is the basic log :

GST_DEBUG=3 ./neolink --config ./sample_config.toml [2022-01-07T12:23:59Z INFO neolink] Neolink 57c55e4121c0fe7abf9916f00df8d4bb9dd468c8 release [2022-01-07T12:23:59Z WARN neolink] Deprecated command line option. Please use: neolink rtsp --config=Config { cameras: [CameraConfig { name: "tracteurs", camera_addr: None, camera_uid: Some("XXXXXXXXXXXX"), username: "admin", password: Some("XXXXXXXXXX"), timeout: None, format: None, stream: "subStream", permitted_users: None, channel_id: 0 }], bind_addr: "0.0.0.0", bind_port: 8554, certificate: None, tls_client_auth: "none", users: [] } [2022-01-07T12:24:04Z INFO neolink_core::bc_protocol::connection::udpconn::discover] Trying remote discovery against reolink servers [2022-01-07T12:24:06Z INFO neolink::rtsp] tracteurs: Connecting to camera at UID: XXXXXXXXXXXXXXXXXXX [2022-01-07T12:24:06Z INFO neolink::rtsp] tracteurs: Logging in [2022-01-07T12:24:11Z ERROR neolink_core::bc_protocol::connection::bcconn] Deserialization error: Deserialization error [2022-01-07T12:24:11Z ERROR neolink_core::bc_protocol::connection::bcconn] caused by: I/O error [2022-01-07T12:24:11Z ERROR neolink_core::bc_protocol::connection::bcconn] caused by: Connection timedout when reading from udp channel [2022-01-07T12:24:11Z ERROR neolink::rtsp] Error streaming from camera tracteurs, will retry in 1s: Failed to login to tracteurs

Caused by:
    Timeout

[2022-01-07T12:24:11Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp write poll aborted [2022-01-07T12:24:11Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp read poll aborted [2022-01-07T12:24:17Z INFO neolink_core::bc_protocol::connection::udpconn::discover] Trying remote discovery against reolink servers [2022-01-07T12:24:19Z INFO neolink::rtsp] tracteurs: Connecting to camera at UID: XXXXXXXXXXXXXXXXXXX [2022-01-07T12:24:19Z INFO neolink::rtsp] tracteurs: Logging in ^C

surfzoid commented 2 years ago

Very interesting, I just used the Ubuntu x86_64 version from home page,under an other Linux computer and it works! Is there some missing commit in arm V7 version?

QuantumEntangledAndy commented 2 years ago

@surfzoid

The armv7 should not be missing anything. They are all built together in same way.

Your error on the armv7 is suggesting timeout issues.

surfzoid commented 2 years ago

@surfzoid

The armv7 should not be missing anything. They are all built together in same way.

Your error on the armv7 is suggesting timeout issues.

Hi Yes some time it is timeout other time it is dropped connection but my copy paste is cut by GitHub , could provide me tuto to have more debug info?

QuantumEntangledAndy commented 2 years ago

A timeout can result in a message saying dropped connection. UDP connection has multiple layers and multiple timeouts. Certain combinations of them result in a dropped connection message. Which is caused by an underlying timeout.

surfzoid commented 2 years ago

I believe I see my mistake, the job for battery camera came from @twistedddx app, the broadcast is on local network, the one where my RPI is, but cam is far away, through OpenVPN. There is a way to "bypass"the broadcast and directly specify the OpenVPN IP/port ?

twistedddx commented 2 years ago

What is my app? I know nearly nothing about the argus cameras.

surfzoid commented 2 years ago

What is my app? I know nearly nothing about the argus cameras.

Sorry for this second mistake, few years ago there was another app write in python and my old memories believe that was your 😃

QuantumEntangledAndy commented 2 years ago

It should work if the vpn is setup correctly.

All of my initial testing of the protocol was done over vpn since I don't own a battery camera someone set up a vpn network for me to use theirs.

However I never got local only discovery to work over vpn. The broadcast would go out we would see it appearing on the other end of the connection but no reply would come. All connections had to be made using remote discovery over the Reolink servers.

surfzoid commented 2 years ago

Well perhaps this is because the pi is at OpenVPN server side and camera at OpenVPN client side ?

stiggz83 commented 2 years ago

I'm seeing the same issue with Argus 3.

Wireshark dump attached, i may not have done it right, appreciate any time given to take look

neolink.pcapng.gz

Hi all, I'm also having trouble with the Argus 3 Pro.

I am getting the following in the command prompt window.

[2021-12-14T01:25:36Z ERROR neolink::rtsp] Error streaming from camera ChickenCam4, will retry in 1s: Error while streaming ChickenCam4

Caused by:
    0: Media Deserialization error
    1: Parsing error

[2021-12-14T01:25:36Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp read poll aborted [2021-12-14T01:25:36Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp write poll aborted

I have tried the different builds listed above (running windows), and the same issue appears to occur.

If I wait long enough the camera seems to connect but seems to take a long time and then randomly disconnects.

Any help would be greatly appreciated.

surfzoid commented 2 years ago

I'm seeing the same issue with Argus 3.

Wireshark dump attached, i may not have done it right, appreciate any time given to take look

neolink.pcapng.gz

Hi all, I'm also having trouble with the Argus 3 Pro. I am getting the following in the command prompt window. [2021-12-14T01:25:36Z ERROR neolink::rtsp] Error streaming from camera ChickenCam4, will retry in 1s: Error while streaming ChickenCam4

Caused by:
    0: Media Deserialization error
    1: Parsing error

[2021-12-14T01:25:36Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp read poll aborted [2021-12-14T01:25:36Z ERROR neolink_core::bc_protocol::connection::udpconn] Udp write poll aborted I have tried the different builds listed above (running windows), and the same issue appears to occur. If I wait long enough the camera seems to connect but seems to take a long time and then randomly disconnects. Any help would be greatly appreciated.

I have same as you with one cam of two, same with official client, because the wifi signal is poor and internet connection too. Try to select substream in your config file should help an little.