Popular A9 mini Wi-Fi camera & the HA challenge

You joined this community only to attack a two year old post of mine ? I feel honored ! Of course you’re probably the same troll as the one before, but you know what ? Yes you’re right ! I don’t understand the point of buying cheap low quality crap. It’s a waste of your time, of your money, it increases e-waste and depletes the limited resources of the planet for - well - crap.

Hopefully this new account of yours may become a productive member of the community now ! Looking forward to it :wink:

3 Likes

Hi,

thank you for your work. I got it running in a Ubuntu VM and I can access the list of available cameras and I see my camera there, but if I try to view the live feed or snapshot, I get [HTTP] Camera request timeout.

I’ve set up the redirection to the server IP, and tried multiple public MQTT brokers.

Did I miss anything?

Best regards,
TomySLO

Nevermind, my router was blocking DNS requests from WAN. Disabled that and now it works.

1 Like

Great work! Much appreciated. I’ve read all replies here, and I fully understand that the goal is to have a local stream, without out the chinese bloat, or any reporting outside our home/whatever location.

Is that you’re next step in this journey? I actually though the goal about connecting and execution scripts on the camera itself, was the main required thing. But maybe I’m mixing two different models of the camera, as that part was mentioned here, too.

I have the A9_B V1.3_220516 as one other user also have, mentioned here in the thread.

I’ll follow the progress, and let me know if you need some (maybe useful) details from a “fresh camera”. I’ve not done anything to it. If so, please give me clear instructions on what you need from it :smiley: .

De-tour comment:
I smiled while reating the short de-tour about cheap vs. bad qual. product and more. But let’s face it. If you’re the person who ordered the camera, only to provide your wifi SSID and WPA, well… Good luck.

I’m the person who opened up the camera, placed on the table, and started Googling. I’ve not even powered it up, yet. This thread has some very useful things in it, so I’m really excited to follow the journey. Hopefully a nice patch/injecting will give us the right super power :woman_superhero: of the camera, like the community things related to the dafang product :grinning_face_with_smiling_eyes:.

Hello!

This is awsome, thank you for your effort!

My experience so far:
1.
With local DNS override and internet access blocked, when pairing in APP (primarily i tried this to set the SSID on the cam, as my pc is not wifi enabled) the camera tried to request:

Mar 11 18:21:53 POST /app/api/ApiSysDevices/a9bindingAppDevice?devicesCode=081231231231&userKey=asdasd&devicesName=0800c0004521&random=JKLMNO&token=612313123 HTTP/1.1
Mar 11 18:21:53 Host: v720.naxclow.com
Mar 11 18:21:53 version: 202212011602

This threw an error in the app:
Exception happened during processing of request from ('192.168.x.x', 52435)
Traceback (most recent call last):
  File "/usr/lib/python3.8/socketserver.py", line 316, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python3.8/socketserver.py", line 347, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python3.8/socketserver.py", line 360, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/root/a9-v720/src/v720_http.py", line 58, in __init__
    BaseHTTPRequestHandler.__init__(self, request, client_address, server)
  File "/usr/lib/python3.8/socketserver.py", line 747, in __init__
    self.handle()
  File "/usr/lib/python3.8/http/server.py", line 427, in handle
    self.handle_one_request()
  File "/usr/lib/python3.8/http/server.py", line 415, in handle_one_request
    method()
  File "/root/a9-v720/src/v720_http.py", line 211, in do_POST
    self.error(f'Unknown POST query @ {self.path}')
AttributeError: 'v720_http' object has no attribute 'error'

After completing the device pairing in the app, thus setting the SSID (with internet access enabled and no DNS override), i disabled internet access and re-enabled the DNS overrides, and the cam succesfully connected to your server! (Snapshot and the mjpeg also works.)

  1. The server doesn’t handle disconnects gracefully, so in case the CAM reconnects a9_naxclow.py needs to be restarted

wd40

Hi, v720_http.error is used for logging error, and there seems camera wants to do some request which i didn’t see before. Could you, please, open the issue in GitHub

Also guys, if you face any issues - try to add argument -v, it will give ‘verbose’ output and show more details to check what happens.

@exetico There are no possibility to have scripts inside the camera, it fully closed and like almost always happens with ‘chinesse’ code it has written not so good and this is happiness that it works as expected.
Writing own firmware it’s an interesting task, but it’s not an option due to a lot of people simply can’t and wouldn’t ‘flash’ it.

About next steps, in the end of March i will be back to home from my trip and buy a few new cameras, could be fine to add as much as possible supported and tested versions to the server.

What could be helpful - open a new issue on the GitHub with wireshark capture from yours camera (or at least short description what happens when you are using the Chinese application, see issue #3)

2 Likes

i have fixed the disconnection issue, could you check it?

Also, i would be appreciated if you send to me more details about not handled POST request

I am having some issues getting the server started,
i have tried just about every version of python3
3.6 - > 3.10 and having installed tdqm for them as best i could. im still stuck here

root@camera-server:~/a9-v720-master# python3.10 src/a9_naxclow.py -s
Traceback (most recent call last):
  File "/root/a9-v720-master/src/a9_naxclow.py", line 7, in <module>
    from tqdm.auto import tqdm
ModuleNotFoundError: No module named 'tqdm'
root@camera-server:~/a9-v720-master# 

what version of python should i use ? and how do i get tqdm installed?
pip3 does not do it i cant get pip3.10 to work? is Ubuntu 18.04 too old?
its just what i had running.

what is everybody else running ?

not sure what I’m missing I’m out of ideas
prerequisite packages ? suggestions ?

this should be the kind thing that would be awesome having just be crammed into a docker haha
dhcp server, mosquitto, video server, and all of this python3

I have never built a docker though… not that I even have a working template HAHA

Rune

i am using debian buster which have

Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux

Try to install tqdm via apt install python3-tqdm

Use docker is, also, good idea, but, anyway, dns server will be separated and should be configured on a local router

thanks . i will run one of them one up

Rune

i finally got the server started now. running on debian 11, its also running a local mosquitto
seperate pihole dhcp is pointing the two domains to the server’s IP

root@camera-debian:~/a9-v720-master# python3 -V
Python 3.9.2

but the camera is not happy camper :grin:.

in my Terminal on the server I’m getting these repetitive fault messages

----------------------------------------
2023-03-22 04:42:38,243  [  ERROR] [HTTP] Unknown POST query @ /app/api/ApiSysDevices/a9bindingAppDevice?devicesCode=0800c0010E2D&userKey=570c13c536ca2fafb1fcec4790879e54&devicesName=0800c0010E2D&random=XYZABC&token=a5b2c263cb
----------------------------------------
Exception occurred during processing of request from ('192.168.1.164', 52433)
Traceback (most recent call last):
  File "/usr/lib/python3.9/socketserver.py", line 316, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python3.9/socketserver.py", line 347, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python3.9/socketserver.py", line 360, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/root/a9-v720-master/src/v720_http.py", line 58, in __init__
    BaseHTTPRequestHandler.__init__(self, request, client_address, server)
  File "/usr/lib/python3.9/socketserver.py", line 720, in __init__
    self.handle()
  File "/usr/lib/python3.9/http/server.py", line 427, in handle
    self.handle_one_request()
  File "/usr/lib/python3.9/http/server.py", line 415, in handle_one_request
    method()
  File "/root/a9-v720-master/src/v720_http.py", line 220, in do_POST
    self.wfile.write('Unknown POST request')
  File "/usr/lib/python3.9/socketserver.py", line 799, in write
    self._sock.sendall(b)
TypeError: a bytes-like object is required, not 'str'
----------------------------------------

and in the serial terminal on the camera

[rtc_serviceOptS - 763]-Error: Error ...
[Naxc_jsonGetInt - 71]-Error: cJSON_Parse FAILED FAILE
[rtc_serviceOptS - 763]-Error: Error ...
[Naxc_jsonGetInt - 71]-Error: cJSON_Parse FAILED FAILE
[rtc_serviceOptS - 763]-Error: Error ...
[Naxc_jsonGetInt - 71]-Error: cJSON_Parse FAILED FAILE
[rtc_serviceOptS - 763]-Error: Error ...
[Naxc_jsonGetInt - 71]-Error: cJSON_Parse FAILED FAILE

http://SERVER/dev/list
just shows

[]

will carry on tomorrow.

Rune

Just update the server, i have added handler for ‘a9bindingAppDevice’ request, i don’t know will it works or no, because i didn’t see such request on my side and only can suggest the server response.

Would appreciate if you add wireshark capture to real Chinese server with a real application/camera (where this request happens)

In any case, let me know

i have live video wohoo :wink:

now i just have to figure out what to do with it… haha

1 Like

I got this type camera. Is it “hack-able”? :slight_smile: There is XRAD TECH XR872 AT L5108CA9AP1 chip on it…


Everything is hackable, need to take it in the hands. You may connect RX/TX to uart-ttl probe and post somewhere what’s happens inside.

Leave here a link, where it could be bought.

Which application it uses?

Thank for an answer!
I bought it on Aliexpress, few years ago :slight_smile: Just found it in my drawer, hope will be useful for something…

sorry bro. i didnt undestan step by step make fake server. because I don’t really understand programming languages. and my english is bad.

I have i different model of this camera A9_wificam_20211124 with open SSID named BATA014453OVOJI

This is some pictures of the board. I identified UART pins on the bottom.

This an UART log while starting and connecting to my test wifi setup.
I also captured packets while changing configuration and watching live from the mobile app, but for now reverse engineered this part is out of my scope.

May be someone will have better knowledge of Thread Operating System.

<0xfc>
 \ | /
- RT -     Thread Operating System
 / | \     3.1.0 build Nov  5 2022
 2006 - 2018 Copyright by rt-thread team

OSK Rev: R-3.0.22
SDK Rev: 3.0.33
mac:C8 47 8C A6 69 9A 
[FUNC]rwnxl_init
IP Rev: W4-3.0.33-P0
[bk]tx_txdesc_flush
[FUNC]calibration_main

rfcali_mode:0

tssi:b-137, g-120
Manual cal wrong rate:127
Manual cal wrong rate:127
Manual cal wrong rate:127
lpf_i & q in flash is:128, 128
xtal in flash is:25
xtal_cali:25
[FUNC]ps_init
[FUNC]func_init_extended OVER!!!

start_type:3
lwIP-2.0.2 initialized!
beken wlan hw init
drv_pm_init
<0x1b>[32;22m[I/FAL] RT-Thread Flash Abstraction Layer (V0.4.0) initialize success.<0x1b>[0m
msh />cmd 1:3 
size:400 total_block:3aa000
<0x1b>[32;22m[I/FAL] The FAL MTD NOR device (download) created successfully<0x1b>[0m
LFS Filesystem initialized! download ==> /flash0*[ilnkp2p\src\IpcDevSys.c][3437],IpcSysInit:gStartType=3,gDcOrBattery=0

[ilnkp2p\src\IpcDevCfg.c][ 239],initStaticParam:use serverseq=2,svr=SWPNPDPFLVAOLNSXPHSQPIEOPAIDENLXHXEHIFLKPGLRHUARSTLQEEEPSU<break>
cVersion=2_4_2_50
cVersion=2_4_2_50
[ilnkp2p\src\IpcDevCfg.c][ 526],IpcCfgInit:2:616-->get from  ezConfig BATA014453OVOJI:TBVRRF:

[ilnkp2p\libp2p\Xq_p2pUtils.c][1907],XqP2pIdCheck:get pre: BATA,sec OVOJI sn 14453

[ilnkp2p\libp2p\Xq_p2pUtils.c][1914],XqP2pIdCheck:to chk new p2pid-->PYF:BATA014453OVOJI:TBVRRF

[ilnkp2p\libp2p\Xq_p2pUtils.c][1935],XqP2pIdCheck:ok!!- compare sec=OVOJI,sec1=OUOII, _p2pSecCode2=OVOJI[TBVRRF]

[ilnkp2p\src\IpcDevCfg.c][ 547],IpcCfgInit:0-->get from  ezConfig BATA014453OVOJI:TBVRRF:

[ilnkp2p\src\IpcDevCfg.c][ 596],IpcCfgInit:0--> get from config BATA014453OVOJI:TBVRRF:

[ilnkp2p\src\IpcDevCfg.c][ 634],IpcCfgInit:sTm=1514765167,cTm=1514765167[Mon Jan  1 00:06:07 2018
],rTm=1514765167

[ilnkp2p\src\IpcDevCfg.c][1449],IpcCfgItemGet:failed--->EC_KEY_VID_REC_EN

[ilnkp2p\src\IpcDevCfg.c][1531],IpcCfgItemGet:failed--->EC_KEY_SLEEP

[ilnkp2p\src\IpcDevCfg.c][1548],IpcCfgItemGet:failed--->EC_KEY_SLEEP

[ilnkp2p\src\IpcDevSys.c][3490],IpcSysInit:dwnType=0----->pwr=3895:3600:0

sysmode=0,t=827,ret=4,gShutdwonValue=0
no music file
[ilnkp2p\src\IpcDevSys.c][3854],_StartupWiFiInfChk:no wifi.ini file

[ilnkp2p\src\IpcDevSys.c][4149],_StartupFctChk:failed _StartupWiFiInfChk---->[-1]
[ilnkp2p\src\IpcDevSys.c][3538],IpcSysInit:_StartupFctChk--->-1,gFctChkOn=0
[ilnkp2p\src\IpcDevSys.c][ 384],IpcFuncSwitch:enter-------->

[ilnkp2p\src\IpcDevWlan.c][ 443],IpcWifiStop:mode=2,gWifiConnected=0
sending broadcast_deauth failed vif_entry == NULL
[ilnkp2p\src\IpcDevSys.c][ 459],IpcFuncSwitch:exit-------->0

[ilnkp2p\src\IpcDevSys.c][3550],IpcSysInit:_StartupFctChk--->-1,gFctChkOn=0
[ilnkp2p\src\IpcDevSys.c][3330],normalRun:normalRun--->0,gFctChkOn=0
sysmode=1,t=886
[ilnkp2p\src\IpcDevSys.c][ 384],IpcFuncSwitch:enter-------->

[ilnkp2p\src\IpcDevWlan.c][ 414],IpcWifiStart:
mode=2,ssid=BATA014453OVOJI,psk=12345678

[ilnkp2p\src\IpcDevWlan.c][ 130],ap_setup:chann=2,mac=c8:47:8c:a6:69:4d

[ilnkp2p\src\IpcDevWlan.c][ 152],ap_setup:set ip info: 192.168.1.1,255.255.255.0,192.168.1.1,c8:47:8c:a6:69:4d

[ilnkp2p\src\IpcDevWlan.c][ 154],ap_setup:ssid:BATA014453OVOJI  key:

Soft_AP_start
[saap]MM_RESET_REQ
[bk]tx_txdesc_flush
[saap]ME_CONFIG_REQ
[saap]ME_CHAN_CONFIG_REQ
[saap]MM_START_REQ
[csa]csa_in_progress[0:0]-clear
mm_add_if_req_handler:0
hapd_intf_add_vif,type:3, s:0, id:0
apm start with vif:0
------beacon_int_set:100 TU
set_active param 0
[msg]APM_STOP_CFM
update_ongoing_1_bcn_update
mm_set_vif_state_req_handler
vif_idx:0, ch_idx:0, bcmc_idx:2
update_ongoing_1_bcn_update
uap_ip_start

configuring interface uap (with Static IP)
using static ip...
please use rtthread dncp start server
[DHCP] dhcpd_start: ap
[DHCP] ip_start: [192.168.1.100]
[DHCP] ip_end: [192.168.1.254]
[DHCP] dhcp_server_start(): starting new DHCP server
[DHCP] dhcp_server_start(): starting DHCP server
def netif is no ap's netif, sending boardcast or no-subnet ip packets may failed
[ilnkp2p\src\IpcDevWlan.c][ 434],IpcWifiStart:IpcWifiStart=208

[ilnkp2p\src\IpcDevSys.c][ 459],IpcFuncSwitch:exit-------->0

[ilnkp2p\src\IpcDevSys.c][1669],sdPlugChk:sd-cd value=0,gSdPlugIn=-1

[ilnkp2p\src\IpcDevSys.c][3388],normalRun:IpcSysInit=0,t=1012

start watch dog
rt_hw_wdg_start time=10000 threshold=500
ble start no ble name
ble name:BK7231BT-01, c9:47:8c:a6:69:9a
EM_BLE_END:0xe10
-----rw_main task init----
cmd---->202518556
h4tl_init
h4tl_read_start 
BLE Rev: B4-3.0.33-P0
-----rw_main  start----
gapm_cmp_evt_handler operation = 0x1, status = 0x0 
gapm_cmp_evt_handler operation = 0x3, status = 0x0 
STACK INIT OK
ble create new db
ble_env->start_hdl = 0xa
prf_task_id:120, state:1
BLE_CREATE_DB_OK
gapm_cmp_evt_handler operation = 0x1b, status = 0x0 
appm start advertising
2----open I2C2
chNmb=8,sensor=0,gUsedCam=abc03,allNmb=8
[ilnkp2p\avServer\iLnkAvServer.c][ 428],vidBitrateSet:sNo=5120,bLH=[7168:0],vBuf=18432:49152:32768:-559038737

[ilnkp2p\avServer\iLnkAvServer.c][ 459],vidBitrateSet:sNo=5120,bLH=[7168:0],vBuf=18432:49152:32768:-559038737

[ilnkp2p\src\IpcCustomAV.c][1445],_VidFrameGetTh:gSnsDir=0

[ilnkp2p\src\IpcDevSys.c][ 974],keyBtnHandler:btn00405444_event_val=0

[ilnkp2p\src\IpcDevSys.c][ 978],keyBtnHandler:key_btn press down 

[ilnkp2p\src\IpcDevWlan.c][ 321],IpcWifiStatusGet:bk_wlan_ap_is_up:wifiMode=2,ret=1

[ilnkp2p\src\InkP2pModule.c][ 101],IpcP2pStart:p2p starte,bP2pStarted=[0]

[ilnkp2p\libipc\IpcDevAPI.c][  47],_IpcInit:info[688]:
p2pID=BATA014453OVOJI:SWPNPDPFLVAOLNSXPHSQPIEOPAIDENLXHXEHIFLKPGLRHUARS<break>
[ilnkp2p\libipc\IpcDevAPI.c][  50],_IpcInit:info---P2pInit()

[ilnkp2p\libipc\IpcDevP2P.c][ 426],P2pInit:sNmb=2
 		cNmb=6
 		cBuf=32
 		sStr=SWPNPDPFLVAOLNSXPHSQPIEOPAIDENLXHXEHIFLKPGLR<break>
[ilnkp2p\libp2p\XQP2P_API.c][  41],XQP2P_InitializeExt:sNmb=2
 		cNmb=6
 		cBuf=32
		sStr=SWPNPDPFLVAOLNSXPHSQPIEOPAIDENLXHXEH<break>
[ilnkp2p\libp2p\Xq_p2pEntry.c][1472],P2P_Init:MaxNmbOfSession=2
		MaxNmbOfChannel=6
		MaxSizeOfChannel=32
		1032
		1072
		20
	<break>
[ilnkp2p\libp2p\OsEncryptBase.c][ 643],XqCodeTableInit:codeTable=1352

[ilnkp2p\libp2p\Xq_p2pEntry.c][ 144],GlobalParamInit:
NodeName=TBVRRF


[ilnkp2p\libp2p\Xq_p2pEntry.c][ 158],GlobalParamInit:

_g_params:
sessionNmb=2
channelNmb=6
bufferSize=32
svrStr=SWPNPDPFLVAOL<break>
[ilnkp2p\libp2p\Xq_p2pEntry.c][1487],P2P_Init:GlobalParams_Init=0,st_globalParams=420,_g_pVerifyParam=524

[ilnkp2p\libp2p\Xq_p2pEntry.c][1508],P2P_Init:mpSize=64----P2PPktPool_Get

closesocket: invalid s=0
closesocket: invalid s=0
[ilnkp2p\libp2p\Xq_p2pEntry.c][1641],[ilnkp2p\libp2p\Xq_p2pEntry.c][ 664],BCstListenProc:error[-1]-BrdCstSktFDPut

PCstListenProc:error[-1]-BrdCstSktFDPut

<break>
n==16

[ilnkp2p\libipc\IpcDevP2P.c][ 435],P2pInit:info!!! P2pInit=0

[ilnkp2p\libipc\IpcDevAPI.c][  59],_IpcInit:info---IpcSession_Init()

[ilnkp2p\libipc\IpcDevCallback.c][  77],cb_CallRegist:cmd nmb=8

[ilnkp2p\libipc\IpcDevAPI.c][ 173],IpcLibStart:info---Using external ringbuf,check CB ifexisted

[ilnkp2p\libipc\IpcDevSession.c][ 997],LstnThStart:bInet[0]-->_ListenThread

[ilnkp2p\src\Ink[ilnkp2p\libipc\IpcDevSession.c][ 671],_ListenThread:_ListenThread-----start

[ilnkp2p\libipc\IpcDevSession.c][ 689],_ListenThread:bInet=0-->listening by id:BATA014453OVOJI,devName=TBVRRF

[ilnkp2p\libp2p\XQP2P_API.c][  86],XQP[ilnkp2p\libipc\IpcDevSession.c][ 856],CmdRecvTh:CmdRecvThread start...

PpcDevSession.c][ 856],CmdRecvTh:CmdRecvThread start...

<break>
Co[ilnkp2p\src\InkP2pModule.c][ 173],IpcP2pStart:IpcP2pStart=0

[ilnkp2p\src\IpcDevSys.c][2992],_mon500chk:1--Mode=1,wlan=1:1,IDR=0,sd=1,conn=0,keep=0:-1:0,[0:1]wla2chk:1--Mode=1,wlan=1:1,IDR=0,sd=1,conn=0,keep=0:[ilnkp2p\libp2p\Xq_p2pEntry.c][ 554],BrdCstSktGet:error[XqSckIfValid=-1],pSession->sktFd=4

[ilnkp2p\libp2p\Xq_p2pEntry.c][1155],SessionGet:session id is BATA-014453-OVOJI

gParam.bFlagServen=2,run=0,gSdTh=0,rec=0,t=<break>
[ilnkp2p\src\IpcDevSys.c][2654],IpcSysSchChk:ret=2,bValid=3,schItem=1

[ilnkp2p\record\IpcRecMgrEx.c][1329],IpcRecSwitch:bOnOff=1 && pParam->recType==2,record_md.record_type==0

[ilnkp2p\record\IpcRecrcRecMgrEx[ilnkp2p\libp2p\Xq_p2pSession.c][ 387],pSessionStart:sock=5,localAddr is 0.0.0.0:62510,udpPort4=62510

Mession.c][ 387],pSessionStart:sock=5,localAddr is 0.0.0.0:62510,udpPort4=62510

<break>
ecord_type==0

[ilnkp2p\record\IpcRecMgrEx.c][1103],_RecWrtThStart:audio=1: write=0 && recType=[2,0],duration=300

[ilnkp2p\src\IpcDevSys.c][2[ilnkp2p\record\IpcRecMgrEx.c][ 905],_RecWrtTh:audio=1: write=0 && recType=[2,0],duration=300

[ilnkp2p\src\IpcDevSys.c][ 384],IpcFuncSwitch:enter-------->

[ilnkp2p\src\IpcDevSys.c][ 459],IpcFuncSwitch:exit-------->0

659],IpcFuncSwitch:exit-------->0

<break>
 && recType=[2,0],duration=300

<break>
1,gVidCounter=0

close on th=0
[ilnkp2p\src\IpcCustomAV.c][1467],_VidFrameGetTh:0-->1:1  0:3856:1110:1413,vCho=[abc03:0:18432],s=-1,fps=0,diff=1514765167

[ilnkp2p\record\IpcRecMgrEx.c][1179],IpcRecAviOpen:open recording time=1514765168,DurationSec=300

[ilnkp2p\record\IpcRecMgrEx.c][ 446],create_avi_file_and_dir:use default SD_DETECT_BIT 0

[ilnkp2p\record\Xq_aviLib.c][1544],AVI_Init_fd_1:trace broken----->
[ilnkp2p\record\Xq_aviLib.c][1557],AVI_Init_fd_1:trace broken----->
[ilnkp2p\src\IpcDevSys.c][ 974],keyBtnHandler:btn00405444_event_val=1

[ilnkp2p\src\IpcDevSys.c][ 985],keyBtnHandler:key_btn press up --> -1

[ilnkp2p\src\IpcDevSys.c][1011],keyBtnHandler:<0xbf><0xec><0xb0><0xb4> --> 1464:0:0

[ilnkp2p\record\Xq_aviLib.c][1579],AVI_Init_fd_1:trace broken----->
[ilnkp2p\record\Xq_aviLib.c][1588],AVI_Init_fd_1:trace broken----->
[ilnkp2p\record\Xq_aviLib.c][1598],AVI_Init_fd_1:trace broken----->
[ilnkp2p\record\Xq_aviLib.c][1279],AVI_init_file_header:tracer----->2048

[ilnkp2p\record\Xq_aviLib.c][1383],AVI_init_file_header:tracer----->2

[ilnkp2p\record\Xq_aviLib.c][1442],AVI_init_file_header:tracer----->1712

[ilnkp2p\record\Xq_aviLib.c][1467],AVI_init_file_header:tracer----->2048,AVI->fdes=7,AVI->pos=2048

[ilnkp2p\record\Xq_aviLib.c][1480],AVI_init_file_header:tracer----->0[errno=0]

[ilnkp2p\record\Xq_aviLib.c][1492],AVI_init_file_header:tracer----->2048[errno=0]

[ilnkp2p\record\Xq_aviLib.c][1517],AVI_init_file_header:tracer----->2048

[ilnkp2p\record\Xq_aviLib.c][1527],AVI_init_file_header:tracer----->2048

[ilnkp2p\record\Xq_aviLib.c][1607],AVI_Init_fd_1:trace broken----->
[ilnkp2p\record\Xq_aviLib.c][1621],AVI_Init_fd_1:trace broken----->
[ilnkp2p\record\IpcRecMgrEx.c][ 523],create_avi_file_and_dir:Create /sd/record/20180101/0_1514765168_300_2_0.a tmLen=300!

[ilnkp2p\record\IpcRecMgrEx.c][1205],IpcRecAviOpen:open recording ok =1 time=1514765168,DurationSec=300

[ilnkp2p\record\IpcRecMgrEx.c][ 932],_RecWrtTh:audio=1: write=1 && recType=[2,2],tmLen=300

adc-buf:00900cf8, adc-buf-len:5120, ch:1
adc-buf:00900cf8, adc-buf-len:5120, ch:1
set adc channel 1 
set adc sample rate 8000 
[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=1,diffInterval=1,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=2,diffInterval=2,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=3,diffInterval=3,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=4,diffInterval=4,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=5,diffInterval=5,recordTimeLen=300

[ilnkp2p\src\IpcDevSys.c][2992],_mon500chk:1--Mode=1,wlan=1:1,IDR=0,sd=1,conn=0,keep=0:-1:0,[0:1]wlan=2,run=500,gSdTh=0,rec=1,<break>
[ilnkp2p\src\IpcDevSys.c][2654],IpcSysSchChk:ret=2,bValid=3,schItem=1

[ilnkp2p\record\IpcRecMgrEx.c][1329],IpcRecSwitch:bOnOff=1 && pParam->recType==2,record_md.record_type==2

[ilnkp2p\src\IpcDevSys.c][2670],_sysMonRecSch:gVidGetPts=1514765173---->gVidPresPts=1514765167,gSysMode=1,gVidCounter=0

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=6,diffInterval=6,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=7,diffInterval=7,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=8,diffInterval=8,recordTimeLen=300

close on th=0
[ilnkp2p\src\IpcCustomAV.c][1467],_VidFrameGetTh:0-->1:1  0:3927:6740:10769,vCho=[abc03:0:18432],s=-1,fps=0,diff=10

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=9,diffInterval=9,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=10,diffInterval=10,recordTimeLen=300

[ilnkp2p\src\IpcDevSys.c][2992],_mon500chk:1--Mode=1,wlan=1:1,IDR=0,sd=1,conn=0,keep=0:-1:0,[0:1]wlan=2,run=1000,gSdTh=0,rec=1<break>
[ilnkp2p\src\IpcDevSys.c][2654],IpcSysSchChk:ret=2,bValid=3,schItem=1

[ilnkp2p\record\IpcRecMgrEx.c][1329],IpcRecSwitch:bOnOff=1 && pParam->recType==2,record_md.record_type==2

[ilnkp2p\src\IpcDevSys.c][2670],_sysMonRecSch:gVidGetPts=1514765178---->gVidPresPts=1514765173,gSysMode=1,gVidCounter=0

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=11,diffInterval=11,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=12,diffInterval=12,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=13,diffInterval=13,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=14,diffInterval=14,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=15,diffInterval=15,recordTimeLen=300

[ilnkp2p\src\IpcDevSys.c][2992],_mon500chk:1--Mode=1,wlan=1:1,IDR=0,sd=1,conn=0,keep=0:-1:0,[0:1]wlan=2,run=1500,gSdTh=0,rec=1<break>
[ilnkp2p\src\IpcDevSys.c][2654],IpcSysSchChk:ret=2,bValid=3,schItem=1

[ilnkp2p\record\IpcRecMgrEx.c][1329],IpcRecSwitch:bOnOff=1 && pParam->recType==2,record_md.record_type==2

[ilnkp2p\src\IpcDevSys.c][2670],_sysMonRecSch:gVidGetPts=1514765183---->gVidPresPts=1514765178,gSysMode=1,gVidCounter=0

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=16,diffInterval=16,recordTimeLen=300

hapd_intf_sta_add:1, vif:0
rc_init: station_id=0 format_mod=0 pre_type=0 short_gi=0 max_bw=0
rc_init: nss_max=0 mcs_max=255 r_idx_min=0 r_idx_max=11 no_samples=10
sta_idx:0, pm_state:0
wpa_hostapd_no_password_connected
ap_index:0
sta_id:0
send connected msg
===wlan_event_handle:10===
[WLAN_MGNT]wlan[DHCP] [dhcp_server_recv:305] ap recv 292
[DHCP] [dhcp_server_recv:367] msg_type=3
 _server_recv:367] msg_type=3
<break>
[DHCP] [dhcp_server_recv:305] ap recv 292
[DHCP] [dhcp_server_recv:367] msg_type=1
[DHCP] [dhcp_server_recv:305] ap recv 298
[DHCP] [dhcp_server_recv:367] msg_type=3
[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=17,diffInterval=17,recordTimeLen=300

[DHCP] [dhcp_server_recv:305] ap recv 300
[DHCP] [dhcp_server_recv:367] msg_type=3
[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=18,diffInterval=18,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=19,diffInterval=19,recordTimeLen=300

close on th=0
[ilnkp2p\src\IpcCustomAV.c][1467],_VidFrameGetTh:0-->1:1  0:3913:16900:20699,vCho=[abc03:0:18432],s=-1,fps=0,diff=10

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=20,diffInterval=20,recordTimeLen=300

[ilnkp2p\src\IpcDevSys.c][2992],_mon500chk:1--Mode=1,wlan=1:1,IDR=0,sd=1,conn=0,keep=0:-1:0,[0:1]wlan=2,run=2000,gSdTh=0,rec=1<break>
[ilnkp2p\src\IpcDevSys.c][2654],IpcSysSchChk:ret=2,bValid=3,schItem=1

[ilnkp2p\record\IpcRecMgrEx.c][1329],IpcRecSwitch:bOnOff=1 && pParam->recType==2,record_md.record_type==2

[ilnkp2p\src\IpcDevSys.c][2670],_sysMonRecSch:gVidGetPts=1514765188---->gVidPresPts=1514765183,gSysMode=1,gVidCounter=0

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=21,diffInterval=21,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=22,diffInterval=22,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=23,diffInterval=23,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=24,diffInterval=24,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=25,diffInterval=25,recordTimeLen=300

[ilnkp2p\src\IpcDevSys.c][2992],_mon500chk:1--Mode=1,wlan=1:1,IDR=0,sd=1,conn=0,keep=0:-1:0,[0:1]wlan=2,run=2500,gSdTh=0,rec=1<break>
[ilnkp2p\src\IpcDevSys.c][2654],IpcSysSchChk:ret=2,bValid=3,schItem=1

[ilnkp2p\record\IpcRecMgrEx.c][1329],IpcRecSwitch:bOnOff=1 && pParam->recType==2,record_md.record_type==2

[ilnkp2p\src\IpcDevSys.c][2670],_sysMonRecSch:gVidGetPts=1514765193---->gVidPresPts=1514765188,gSysMode=1,gVidCounter=0

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=26,diffInterval=26,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=27,diffInterval=27,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=28,diffInterval=28,recordTimeLen=300

close on th=0
[ilnkp2p\src\IpcCustomAV.c][1467],_VidFrameGetTh:0-->1:1  0:3895:27017:30639,vCho=[abc03:0:18432],s=-1,fps=0,diff=10

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=29,diffInterval=29,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=30,diffInterval=30,recordTimeLen=300

[ilnkp2p\src\IpcDevSys.c][2992],_mon500chk:1--Mode=1,wlan=1:1,IDR=0,sd=1,conn=0,keep=0:-1:0,[0:1]wlan=2,run=3000,gSdTh=0,rec=1<break>
[ilnkp2p\src\IpcDevSys.c][2654],IpcSysSchChk:ret=2,bValid=3,schItem=1

[ilnkp2p\record\IpcRecMgrEx.c][1329],IpcRecSwitch:bOnOff=1 && pParam->recType==2,record_md.record_type==2

[ilnkp2p\src\IpcDevSys.c][2670],_sysMonRecSch:gVidGetPts=1514765198---->gVidPresPts=1514765193,gSysMode=1,gVidCounter=0

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=31,diffInterval=31,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=32,diffInterval=32,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=33,diffInterval=33,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=34,diffInterval=34,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=35,diffInterval=35,recordTimeLen=300

[ilnkp2p\src\IpcDevSys.c][2992],_mon500chk:1--Mode=1,wlan=1:1,IDR=0,sd=1,conn=0,keep=0:-1:0,[0:1]wlan=2,run=3500,gSdTh=0,rec=1<break>
[ilnkp2p\src\IpcDevSys.c][2654],IpcSysSchChk:ret=2,bValid=3,schItem=1

[ilnkp2p\record\IpcRecMgrEx.c][1329],IpcRecSwitch:bOnOff=1 && pParam->recType==2,record_md.record_type==2

[ilnkp2p\src\IpcDevSys.c][2670],_sysMonRecSch:gVidGetPts=1514765203---->gVidPresPts=1514765198,gSysMode=1,gVidCounter=0

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=36,diffInterval=36,recordTimeLen=300

ap_handle_timer
[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=37,diffInterval=37,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=38,diffInterval=38,recordTimeLen=300

close on th=0
[ilnkp2p\src\IpcCustomAV.c][1467],_VidFrameGetTh:0-->1:1  0:3880:37183:40565,vCho=[abc03:0:18432],s=-1,fps=0,diff=10

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=39,diffInterval=39,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=40,diffInterval=40,recordTimeLen=300

[ilnkp2p\src\IpcDevSys.c][2992],_mon500chk:1--Mode=1,wlan=1:1,IDR=0,sd=1,conn=0,keep=0:-1:0,[0:1]wlan=2,run=4000,gSdTh=0,rec=1<break>
[ilnkp2p\src\IpcDevSys.c][2654],IpcSysSchChk:ret=2,bValid=3,schItem=1

[ilnkp2p\record\IpcRecMgrEx.c][1329],IpcRecSwitch:bOnOff=1 && pParam->recType==2,record_md.record_type==2

[ilnkp2p\src\IpcDevSys.c][2670],_sysMonRecSch:gVidGetPts=1514765208---->gVidPresPts=1514765203,gSysMode=1,gVidCounter=0

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=41,diffInterval=41,recordTimeLen=300

[ilnkp2p\record\IpcRecMgrEx.c][1021],_RecWrtTh:fps=0,diffTime=42,diffInterval=42,recordTimeLen=300

Server will work only if you use v720 application on phone to watch the camera stream

  1. Set up DNS redirection on yours home router. Domains ‘v720,naxclow,com’ and ''p2p.v720,naxclow,com" - should be set to ip of yours PC where you want to start a fake-server.

  2. Install everything need to the server:
    apt install python3 python3-tqdm python3-opencv
    (this is an incomplete list of requirements, post here errors, will check together)

  3. Connect to the camera open AP and set SSID and Password of yours router (python3 src/a9-naxclow.py --set-wifi YOUR_ROUTER_SSID YOUR_ROUTER_PASS)

  4. Run fake-server with argument -s (python3 src/a9-naxclow -s)

  5. Check is camera connected or not.

2 Likes

The logs not looks like i have, what mobile app are you using?