neolink
neolink copied to clipboard
Registration with reolink servers failed
Describe the bug I have trouble connecting to my camera PT go via cellular, before it worked nearly a year without issues (thank you for that!). I have not changed anything but probably the camera updated automatically?
To Reproduce Steps to reproduce the behavior. Example:
- Create this configuration file:
[[cameras]]
name = "orto"
uid = "xxx"
username = "admin"
password = "xxx"
discovery = "cellular"
print_format = "Human"
[cameras.pause]
on_motion = true # Should pause when no motion
on_client = true # Should pause when no rtsp client
timeout = 2.1 # How long to wait after motion stops before pausing
[cameras.mqtt]
server = "xxx" # Address of the mqtt server
port = 1883 # mqtt servers port
credentials = ["xxx", "xxx"] # mqtt server login details
- Launch Neolink:
./neolink -c config.toml image --file-path snapshot.jpg orto
output
[2024-07-12T15:11:52Z INFO neolink] Neolink 459c9255ada7ebda281eba32a8a9b94a30c471f0 release
[2024-07-12T15:11:52Z INFO neolink::utils] orto: Connecting to camera at UID: xxx
[2024-07-12T15:12:07Z INFO neolink_core::bc_protocol] orto: Registration with reolink servers failed. Retrying: 1/10
[2024-07-12T15:12:23Z INFO neolink_core::bc_protocol] orto: Registration with reolink servers failed. Retrying: 2/10
[2024-07-12T15:12:54Z INFO neolink_core::bc_protocol] orto: Registration with reolink servers failed. Retrying: 3/10
[2024-07-12T15:13:10Z INFO neolink_core::bc_protocol] orto: Registration with reolink servers failed. Retrying: 4/10
[2024-07-12T15:13:26Z INFO neolink_core::bc_protocol] orto: Registration with reolink servers failed. Retrying: 5/10
[2024-07-12T15:13:43Z INFO neolink_core::bc_protocol] orto: Registration with reolink servers failed. Retrying: 6/10
[2024-07-12T15:14:15Z INFO neolink_core::bc_protocol] orto: Registration with reolink servers failed. Retrying: 7/10
[2024-07-12T15:14:32Z INFO neolink_core::bc_protocol] orto: Registration with reolink servers failed. Retrying: 8/10
[2024-07-12T15:14:49Z INFO neolink_core::bc_protocol] orto: Registration with reolink servers failed. Retrying: 9/10
[2024-07-12T15:15:06Z INFO neolink_core::bc_protocol] orto: Registration with reolink servers failed. Retrying: 10/10
[2024-07-12T15:15:23Z WARN neolink::common::camthread] orto: Connection Lost: Failed to connect to camera orto at UID: xxx on channel 0
Expected behavior Image with Snapshot created
Versions Neolink software: 459c9255ada7ebda281eba32a8a9b94a30c471f0 Reolink camera model and firmware: PT Go v3.0.320.00 Terminal via neolink 2024-07-12 um 17.11.45.pcap.zip
Do you know if the camera can connect to Reolink? This error usually occurs when the camera has not sent its current data to the Reolink server recently and usually clears up itself after awhile.
I can connect to the camera in the Reolink app without problems. I have the same problem when streaming in parallel with the Reolink app. I have attached a verbose log but it keeps running infinite without success.
From your log the Reolink relay is just reporting a port of 0 which is invalid. Not seeing anything that I could use to connect to.
Your also using an older build have you tried one of the newer ones? On a newer build there is a option debug = true that can be added to the [[cameras]] section of the config which prints the xml messages from the server more clearly.
I have created a new log with the newer version but I still have no success; the camera is a cellular camera via 4g
./neolink -c config.toml image --file-path snapshot.jpg orto
[2024-07-31T14:43:03Z INFO neolink] Neolink 459c9255ada7ebda281eba32a8a9b94a30c471f0 release
[2024-07-31T14:43:03Z INFO neolink::utils] orto: Connecting to camera at UID: 95270002M8RZPGB7
[2024-07-31T14:43:05Z INFO neolink_core::bc_protocol] orto: Trying map discovery
[2024-07-31T14:43:05Z INFO neolink_core::bc_protocol] orto: Trying relay discovery
[2024-07-31T14:43:07Z INFO neolink_core::bc_protocol] orto: Relay success 95270002M8RZPGB7 at 130.61.87.221:53092
[2024-07-31T14:43:07Z INFO neolink::utils] orto: Logging in
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n<Encryption version=\"1.1\">\n<type>md5</type>\n<nonce>66aa4d79-T9WDDL3uqjuwlzu7nrd4</nonce>\n</Encryption>\n</body>\n"
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n<DeviceInfo version=\"1.1\">\n<firmVersion>00000000000000</firmVersion>\n<IOInputPortNum>0</IOInputPortNum>\n<IOOutputPortNum>0</IOOutputPortNum>\n<diskNum>1</diskNum>\n<type>ipc</type>\n<channelNum>1</channelNum>\n<audioNum>1</audioNum>\n<ipChannel>0</ipChannel>\n<analogChnNum>1</analogChnNum>\n<resolution>\n<resolutionName>1080P</resolutionName>\n<width>1920</width>\n<height>1080</height>\n</resolution>\n<language>English</language>\n<sdCard>1</sdCard>\n<ptzMode>ptz</ptzMode>\n<typeInfo>IPC</typeInfo>\n<softVer>50413568</softVer>\n<hardVer>0</hardVer>\n<panelVer>0</panelVer>\n<hdChannel1>0</hdChannel1>\n<hdChannel2>0</hdChannel2>\n<hdChannel3>0</hdChannel3>\n<hdChannel4>0</hdChannel4>\n<norm>NTSC</norm>\n<osdFormat>YMD</osdFormat>\n<B485>0</B485>\n<supportAutoUpdate>1</supportAutoUpdate>\n<userVer>1</userVer>\n<secretCode>0000001628241445</secretCode>\n<authMode>0</authMode>\n</DeviceInfo>\n<StreamInfoList version=\"1.1\">\n<StreamInfo>\n<channelBits>1</channelBits>\n<encodeTable>\n<type>mainStream</type>\n<resolution>\n<width>1920</width>\n<height>1080</height>\n</resolution>\n<defaultFramerate>15</defaultFramerate>\n<defaultBitrate>1536</defaultBitrate>\n<framerateTable>15,10,5,2</framerateTable>\n<bitrateTable>256,512,768,1024,1536,2048</bitrateTable>\n</encodeTable>\n<encodeTable>\n<type>subStream</type>\n<resolution>\n<width>640</width>\n<height>360</height>\n</resolution>\n<defaultFramerate>5</defaultFramerate>\n<defaultBitrate>160</defaultBitrate>\n<framerateTable>15,10,5,2</framerateTable>\n<bitrateTable>64,128,160,192,256,384,512</bitrateTable>\n</encodeTable>\n</StreamInfo>\n<StreamInfo>\n<channelBits>1</channelBits>\n<encodeTable>\n<type>mainStream</type>\n<resolution>\n<width>1280</width>\n<height>720</height>\n</resolution>\n<defaultFramerate>15</defaultFramerate>\n<defaultBitrate>1536</defaultBitrate>\n<framerateTable>15,10,5,2</framerateTable>\n<bitrateTable>256,512,768,1024,1536,2048</bitrateTable>\n</encodeTable>\n<encodeTable>\n<type>subStream</type>\n<resolution>\n<width>640</width>\n<height>360</height>\n</resolution>\n<defaultFramerate>5</defaultFramerate>\n<defaultBitrate>160</defaultBitrate>\n<framerateTable>15,10,5,2</framerateTable>\n<bitrateTable>64,128,160,192,256,384,512</bitrateTable>\n</encodeTable>\n</StreamInfo>\n</StreamInfoList>\n</body>\n"
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n<VideoInput version=\"1.1\">\n<channelId>0</channelId>\n<bright>128</bright>\n<contrast>128</contrast>\n<saturation>128</saturation>\n<hue>128</hue>\n</VideoInput>\n</body>\n"
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n <Net3g4gInfo version=\"1.1\">\n <sigIntensityLevel>5</sigIntensityLevel>\n <sigIntensityValue>25</sigIntensityValue>\n <netMode>7</netMode>\n <mobileOperator>22210</mobileOperator>\n </Net3g4gInfo>\n</body>\n"
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n <BatteryList version=\"1.1\">\n <BatteryInfo>\n <channelId>0</channelId>\n <chargeStatus>chargeComplete</chargeStatus>\n <adapterStatus>adapter</adapterStatus>\n <voltage>4179</voltage>\n <current>-331</current>\n <temperature>39</temperature>\n <batteryPercent>100</batteryPercent>\n <lowPower>0</lowPower>\n <batteryVersion>2</batteryVersion>\n </BatteryInfo>\n </BatteryList>\n</body>\n"
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n<AbilityInfo version=\"1.1\">\n<userName>admin</userName>\n<system>\n<subModule>\n<abilityValue>, bootPwd_rw</abilityValue>\n</subModule>\n</system>\n<streaming>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>, streamTable_ro</abilityValue>\n</subModule>\n</streaming>\n<record>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>, subStreamRecord_ro</abilityValue>\n</subModule>\n</record>\n<network>\n<subModule>\n<abilityValue>, autontp_rw</abilityValue>\n</subModule>\n</network>\n<PTZ>\n<subModule>\n<abilityValue>, ptzInfo_ro</abilityValue>\n</subModule>\n</PTZ>\n<alarm>\n<subModule>\n<abilityValue>rfAlarm_rw</abilityValue>\n</subModule>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>motion_rw</abilityValue>\n</subModule>\n</alarm>\n<image>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>, ledState_rw</abilityValue>\n</subModule>\n</image>\n<video>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>, shelter_rw</abilityValue>\n</subModule>\n</video>\n<security>\n<subModule>\n<abilityValue>, bootPwd_rw</abilityValue>\n</subModule>\n</security>\n<replay>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>, seek_rw</abilityValue>\n</subModule>\n</replay>\n<disk>\n<subModule>\n<abilityValue>, hddInit_rw</abilityValue>\n</subModule>\n</disk>\n</AbilityInfo>\n</body>\n"
[2024-07-31T14:43:08Z INFO neolink::utils] orto: Connected and logged in
[2024-07-31T14:43:10Z WARN neolink::common::camthread] orto: Connection Lost: Missing ability: general with read permission has only none
[2024-07-31T14:43:10Z INFO neolink::common::camthread] orto: Attempt reconnect in 50ms
[2024-07-31T14:43:10Z INFO neolink::utils] orto: Connecting to camera at UID: 95270002M8RZPGB7
[2024-07-31T14:43:11Z INFO neolink_core::bc_protocol] orto: Trying map discovery
[2024-07-31T14:43:11Z INFO neolink_core::bc_protocol] orto: Trying relay discovery
[2024-07-31T14:43:13Z INFO neolink_core::bc_protocol] orto: Relay success 95270002M8RZPGB7 at 130.61.87.221:51168
[2024-07-31T14:43:13Z INFO neolink::utils] orto: Logging in
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n<Encryption version=\"1.1\">\n<type>md5</type>\n<nonce>66aa4d7e-xhSHEFM2kEOanfqur3dR</nonce>\n</Encryption>\n</body>\n"
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n<DeviceInfo version=\"1.1\">\n<firmVersion>00000000000000</firmVersion>\n<IOInputPortNum>0</IOInputPortNum>\n<IOOutputPortNum>0</IOOutputPortNum>\n<diskNum>1</diskNum>\n<type>ipc</type>\n<channelNum>1</channelNum>\n<audioNum>1</audioNum>\n<ipChannel>0</ipChannel>\n<analogChnNum>1</analogChnNum>\n<resolution>\n<resolutionName>1080P</resolutionName>\n<width>1920</width>\n<height>1080</height>\n</resolution>\n<language>English</language>\n<sdCard>1</sdCard>\n<ptzMode>ptz</ptzMode>\n<typeInfo>IPC</typeInfo>\n<softVer>50413568</softVer>\n<hardVer>0</hardVer>\n<panelVer>0</panelVer>\n<hdChannel1>0</hdChannel1>\n<hdChannel2>0</hdChannel2>\n<hdChannel3>0</hdChannel3>\n<hdChannel4>0</hdChannel4>\n<norm>NTSC</norm>\n<osdFormat>YMD</osdFormat>\n<B485>0</B485>\n<supportAutoUpdate>1</supportAutoUpdate>\n<userVer>1</userVer>\n<secretCode>0000001628241445</secretCode>\n<authMode>0</authMode>\n</DeviceInfo>\n<StreamInfoList version=\"1.1\">\n<StreamInfo>\n<channelBits>1</channelBits>\n<encodeTable>\n<type>mainStream</type>\n<resolution>\n<width>1920</width>\n<height>1080</height>\n</resolution>\n<defaultFramerate>15</defaultFramerate>\n<defaultBitrate>1536</defaultBitrate>\n<framerateTable>15,10,5,2</framerateTable>\n<bitrateTable>256,512,768,1024,1536,2048</bitrateTable>\n</encodeTable>\n<encodeTable>\n<type>subStream</type>\n<resolution>\n<width>640</width>\n<height>360</height>\n</resolution>\n<defaultFramerate>5</defaultFramerate>\n<defaultBitrate>160</defaultBitrate>\n<framerateTable>15,10,5,2</framerateTable>\n<bitrateTable>64,128,160,192,256,384,512</bitrateTable>\n</encodeTable>\n</StreamInfo>\n<StreamInfo>\n<channelBits>1</channelBits>\n<encodeTable>\n<type>mainStream</type>\n<resolution>\n<width>1280</width>\n<height>720</height>\n</resolution>\n<defaultFramerate>15</defaultFramerate>\n<defaultBitrate>1536</defaultBitrate>\n<framerateTable>15,10,5,2</framerateTable>\n<bitrateTable>256,512,768,1024,1536,2048</bitrateTable>\n</encodeTable>\n<encodeTable>\n<type>subStream</type>\n<resolution>\n<width>640</width>\n<height>360</height>\n</resolution>\n<defaultFramerate>5</defaultFramerate>\n<defaultBitrate>160</defaultBitrate>\n<framerateTable>15,10,5,2</framerateTable>\n<bitrateTable>64,128,160,192,256,384,512</bitrateTable>\n</encodeTable>\n</StreamInfo>\n</StreamInfoList>\n</body>\n"
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n<VideoInput version=\"1.1\">\n<channelId>0</channelId>\n<bright>128</bright>\n<contrast>128</contrast>\n<saturation>128</saturation>\n<hue>128</hue>\n</VideoInput>\n</body>\n"
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n <Net3g4gInfo version=\"1.1\">\n <sigIntensityLevel>5</sigIntensityLevel>\n <sigIntensityValue>26</sigIntensityValue>\n <netMode>7</netMode>\n <mobileOperator>22210</mobileOperator>\n </Net3g4gInfo>\n</body>\n"
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n <BatteryList version=\"1.1\">\n <BatteryInfo>\n <channelId>0</channelId>\n <chargeStatus>chargeComplete</chargeStatus>\n <adapterStatus>adapter</adapterStatus>\n <voltage>4180</voltage>\n <current>-268</current>\n <temperature>39</temperature>\n <batteryPercent>100</batteryPercent>\n <lowPower>0</lowPower>\n <batteryVersion>2</batteryVersion>\n </BatteryInfo>\n </BatteryList>\n</body>\n"
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n<AbilityInfo version=\"1.1\">\n<userName>admin</userName>\n<system>\n<subModule>\n<abilityValue>, bootPwd_rw</abilityValue>\n</subModule>\n</system>\n<streaming>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>, streamTable_ro</abilityValue>\n</subModule>\n</streaming>\n<record>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>, subStreamRecord_ro</abilityValue>\n</subModule>\n</record>\n<network>\n<subModule>\n<abilityValue>, autontp_rw</abilityValue>\n</subModule>\n</network>\n<PTZ>\n<subModule>\n<abilityValue>, ptzInfo_ro</abilityValue>\n</subModule>\n</PTZ>\n<alarm>\n<subModule>\n<abilityValue>rfAlarm_rw</abilityValue>\n</subModule>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>motion_rw</abilityValue>\n</subModule>\n</alarm>\n<image>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>, ledState_rw</abilityValue>\n</subModule>\n</image>\n<video>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>, shelter_rw</abilityValue>\n</subModule>\n</video>\n<security>\n<subModule>\n<abilityValue>, bootPwd_rw</abilityValue>\n</subModule>\n</security>\n<replay>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>, seek_rw</abilityValue>\n</subModule>\n</replay>\n<disk>\n<subModule>\n<abilityValue>, hddInit_rw</abilityValue>\n</subModule>\n</disk>\n</AbilityInfo>\n</body>\n"
[2024-07-31T14:43:14Z INFO neolink::utils] orto: Connected and logged in
[2024-07-31T14:43:16Z WARN neolink::common::camthread] orto: Connection Lost: Missing ability: general with read permission has only none
[2024-07-31T14:43:16Z INFO neolink::common::camthread] orto: Attempt reconnect in 100ms
[2024-07-31T14:43:16Z INFO neolink::utils] orto: Connecting to camera at UID: 95270002M8RZPGB7
[2024-07-31T14:43:16Z INFO neolink_core::bc_protocol] orto: Trying map discovery
[2024-07-31T14:43:16Z INFO neolink_core::bc_protocol] orto: Trying relay discovery
[2024-07-31T14:43:20Z INFO neolink_core::bc_protocol] orto: Relay success 95270002M8RZPGB7 at 130.61.87.221:51108
[2024-07-31T14:43:20Z INFO neolink::utils] orto: Logging in
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n<Encryption version=\"1.1\">\n<type>md5</type>\n<nonce>66aa4d85-2asI8FI8Vn0oRA1Ggemw</nonce>\n</Encryption>\n</body>\n"
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n<DeviceInfo version=\"1.1\">\n<firmVersion>00000000000000</firmVersion>\n<IOInputPortNum>0</IOInputPortNum>\n<IOOutputPortNum>0</IOOutputPortNum>\n<diskNum>1</diskNum>\n<type>ipc</type>\n<channelNum>1</channelNum>\n<audioNum>1</audioNum>\n<ipChannel>0</ipChannel>\n<analogChnNum>1</analogChnNum>\n<resolution>\n<resolutionName>1080P</resolutionName>\n<width>1920</width>\n<height>1080</height>\n</resolution>\n<language>English</language>\n<sdCard>1</sdCard>\n<ptzMode>ptz</ptzMode>\n<typeInfo>IPC</typeInfo>\n<softVer>50413568</softVer>\n<hardVer>0</hardVer>\n<panelVer>0</panelVer>\n<hdChannel1>0</hdChannel1>\n<hdChannel2>0</hdChannel2>\n<hdChannel3>0</hdChannel3>\n<hdChannel4>0</hdChannel4>\n<norm>NTSC</norm>\n<osdFormat>YMD</osdFormat>\n<B485>0</B485>\n<supportAutoUpdate>1</supportAutoUpdate>\n<userVer>1</userVer>\n<secretCode>0000001628241445</secretCode>\n<authMode>0</authMode>\n</DeviceInfo>\n<StreamInfoList version=\"1.1\">\n<StreamInfo>\n<channelBits>1</channelBits>\n<encodeTable>\n<type>mainStream</type>\n<resolution>\n<width>1920</width>\n<height>1080</height>\n</resolution>\n<defaultFramerate>15</defaultFramerate>\n<defaultBitrate>1536</defaultBitrate>\n<framerateTable>15,10,5,2</framerateTable>\n<bitrateTable>256,512,768,1024,1536,2048</bitrateTable>\n</encodeTable>\n<encodeTable>\n<type>subStream</type>\n<resolution>\n<width>640</width>\n<height>360</height>\n</resolution>\n<defaultFramerate>5</defaultFramerate>\n<defaultBitrate>160</defaultBitrate>\n<framerateTable>15,10,5,2</framerateTable>\n<bitrateTable>64,128,160,192,256,384,512</bitrateTable>\n</encodeTable>\n</StreamInfo>\n<StreamInfo>\n<channelBits>1</channelBits>\n<encodeTable>\n<type>mainStream</type>\n<resolution>\n<width>1280</width>\n<height>720</height>\n</resolution>\n<defaultFramerate>15</defaultFramerate>\n<defaultBitrate>1536</defaultBitrate>\n<framerateTable>15,10,5,2</framerateTable>\n<bitrateTable>256,512,768,1024,1536,2048</bitrateTable>\n</encodeTable>\n<encodeTable>\n<type>subStream</type>\n<resolution>\n<width>640</width>\n<height>360</height>\n</resolution>\n<defaultFramerate>5</defaultFramerate>\n<defaultBitrate>160</defaultBitrate>\n<framerateTable>15,10,5,2</framerateTable>\n<bitrateTable>64,128,160,192,256,384,512</bitrateTable>\n</encodeTable>\n</StreamInfo>\n</StreamInfoList>\n</body>\n"
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n<VideoInput version=\"1.1\">\n<channelId>0</channelId>\n<bright>128</bright>\n<contrast>128</contrast>\n<saturation>128</saturation>\n<hue>128</hue>\n</VideoInput>\n</body>\n"
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n <Net3g4gInfo version=\"1.1\">\n <sigIntensityLevel>5</sigIntensityLevel>\n <sigIntensityValue>25</sigIntensityValue>\n <netMode>7</netMode>\n <mobileOperator>22210</mobileOperator>\n </Net3g4gInfo>\n</body>\n"
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n <BatteryList version=\"1.1\">\n <BatteryInfo>\n <channelId>0</channelId>\n <chargeStatus>chargeComplete</chargeStatus>\n <adapterStatus>adapter</adapterStatus>\n <voltage>4179</voltage>\n <current>-276</current>\n <temperature>39</temperature>\n <batteryPercent>100</batteryPercent>\n <lowPower>0</lowPower>\n <batteryVersion>2</batteryVersion>\n </BatteryInfo>\n </BatteryList>\n</body>\n"
Payload Txt: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<body>\n<AbilityInfo version=\"1.1\">\n<userName>admin</userName>\n<system>\n<subModule>\n<abilityValue>, bootPwd_rw</abilityValue>\n</subModule>\n</system>\n<streaming>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>, streamTable_ro</abilityValue>\n</subModule>\n</streaming>\n<record>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>, subStreamRecord_ro</abilityValue>\n</subModule>\n</record>\n<network>\n<subModule>\n<abilityValue>, autontp_rw</abilityValue>\n</subModule>\n</network>\n<PTZ>\n<subModule>\n<abilityValue>, ptzInfo_ro</abilityValue>\n</subModule>\n</PTZ>\n<alarm>\n<subModule>\n<abilityValue>rfAlarm_rw</abilityValue>\n</subModule>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>motion_rw</abilityValue>\n</subModule>\n</alarm>\n<image>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>, ledState_rw</abilityValue>\n</subModule>\n</image>\n<video>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>, shelter_rw</abilityValue>\n</subModule>\n</video>\n<security>\n<subModule>\n<abilityValue>, bootPwd_rw</abilityValue>\n</subModule>\n</security>\n<replay>\n<subModule>\n<channelId>0</channelId>\n<abilityValue>, seek_rw</abilityValue>\n</subModule>\n</replay>\n<disk>\n<subModule>\n<abilityValue>, hddInit_rw</abilityValue>\n</subModule>\n</disk>\n</AbilityInfo>\n</body>\n"
[2024-07-31T14:43:20Z INFO neolink::utils] orto: Connected and logged in
[2024-07-31T14:43:22Z WARN neolink::common::camthread] orto: Connection Lost: Missing ability: general with read permission has only none
[2024-07-31T14:43:22Z INFO neolink::common::camthread] orto: Attempt reconnect in 200ms
[2024-07-31T14:43:22Z INFO neolink::utils] orto: Connecting to camera at UID: 95270002M8RZPGB7
These reconnects loops so on
This log actually has success at Relay success 95270002M8RZPGB7. The issue here is a different one at Missing ability: general with read permission has only none where it is complaining because the logged in user does not have correct permissions to adjust the clock
This is the usual response I expect
<?xml version="1.0" encoding="UTF-8" ?>
<body>
<AbilityInfo version="1.1">
<userName>PlainTextUsername</userName>
<system>
<subModule>
<abilityValue>general_rw, norm_rw, version_ro, uid_ro, autoReboot_rw, restore_rw, reboot_rw, shutdown_rw, dst_rw, log_ro, performance_ro, upgrade_rw, export_rw, import_rw, bootPwd_rw</abilityValue>
</subModule>
</system>
<network>
<subModule>
<abilityValue>port_rw, dns_rw, email_rw, ipFilter_rw, localLink_rw, pppoe_rw, upnp_rw, wifi_rw, ntp_rw, netStatus_rw, ptop_rw, autontp_rw</abilityValue>
</subModule>
</network>
<alarm>
<subModule>
<channelId>0</channelId>
<abilityValue>motion_rw</abilityValue>
</subModule>
</alarm>
<image>
<subModule>
<channelId>0</channelId>
<abilityValue>ispBasic_rw, ispAdvance_rw, ledState_rw</abilityValue>
</subModule>
</image>
<video>
<subModule>
<channelId>0</channelId>
<abilityValue>osdName_rw, osdTime_rw, shelter_rw</abilityValue>
</subModule>
</video>
</AbilityInfo>
</body>
Your camera is returning this
<?xml version=\"1.0\" encoding=\"UTF-8\" ?>
<body>
<AbilityInfo version=\"1.1\">
<userName>admin</userName>
<system>
<subModule>
<abilityValue>, bootPwd_rw</abilityValue>
</subModule>
</system>
<streaming>
<subModule>
<channelId>0</channelId>
<abilityValue>, streamTable_ro</abilityValue>
</subModule>
</streaming>
<record>
<subModule>
<channelId>0</channelId>
<abilityValue>, subStreamRecord_ro</abilityValue>
</subModule>
</record>
<network>
<subModule>
<abilityValue>, autontp_rw</abilityValue>
</subModule>
</network>
<PTZ>
<subModule>
<abilityValue>, ptzInfo_ro</abilityValue>
</subModule>
</PTZ>
<alarm>
<subModule>
<abilityValue>rfAlarm_rw</abilityValue>
</subModule>
<subModule>
<channelId>0</channelId>
<abilityValue>motion_rw</abilityValue>
</subModule>
</alarm>
<image>
<subModule>
<channelId>0</channelId>
<abilityValue>, ledState_rw</abilityValue>
</subModule>
</image>
<video>
<subModule>
<channelId>0</channelId>
<abilityValue>, shelter_rw</abilityValue>
</subModule>
</video>
<security>
<subModule>
<abilityValue>, bootPwd_rw</abilityValue>
</subModule>
</security>
<replay>
<subModule>
<channelId>0</channelId>
<abilityValue>, seek_rw</abilityValue>
</subModule>
</replay>
<disk>
<subModule>
<abilityValue>, hddInit_rw</abilityValue>
</subModule>
</disk>
</AbilityInfo>
</body>
I will look into matching up the permissions
The missing permission is general_rw which is the one used to read the time from the camera. I will try making it a soft error instead of a hard error in the next build
It looks a little bit like a parsing error for the Key <abilityValue> because also only the last value is there and before at each entry ,
This isn't parsed it's raw from the camera. It is just sending that odd script.
I have a build that fixes the issue with the camera permissions being missing. But the build on github needs updating because of upstream changes in the github runners.
I'll get that fixed tomorrow and send you a test build
My test build is here https://github.com/QuantumEntangledAndy/neolink/actions/runs/10209357490 but you are right that it just has the last , something if I had to guess its a bug in the camera firmware, because the debug=true dumps the raw bytes from the camera as text before our parser gets a hold of it
Unfortunately my camera is down actually and I can't change the 4g sim/contract. thanks for the fix, I will test it asap