shadow-1 / yi-hack-v3

Alternative Firmware for Xiaomi Cameras based on Hi3518e Chipset
GNU General Public License v3.0
1.16k stars 155 forks source link

rootfs_h20 and home_h20 #1

Closed add210 closed 7 years ago

add210 commented 7 years ago

I am very new to this. How do I hack my Yi Dome camera step by step. I cant figure out what the rootfs_h20 and home_h20 are.

Thank you, Ed

add210 commented 7 years ago

Never mind. Found them.

However, I still get "This camera can only be used within China" alert.

My start_reset log is as follow:

[./dispatch][1/1/0:0:13:945]: got sn(5vcrZ1QsxYoBu2RLXE6GQxw4xRSFhzdc)[./dispatch][1/1/0:0:13:946]: got pwd()[./dispatch][1/1/0:0:13:947]: got ssid()[./dispatch][1/1/0:0:13:948]: got tnp_init_string()[./dispatch][1/1/0:0:13:949]: reset because no wifi config[./dispatch][1/1/0:0:13:951]: send_saveconfig_msg msg snd success[./dispatch][1/1/0:0:13:951]: get_config save conf [./dispatch][1/1/0:0:14:24]: in choose_server, region_id = 1, api_server = https://api.xiaoyi.com, sname = familymonitor-h19, dlproto = qiniu [./dispatch][1/1/0:0:14:24]: in choose_server, region_id = 1, api_server = https://api.xiaoyi.com, sname = familymonitor-h19, dlproto = qiniu

[./dispatch][1/1/0:0:14:393]: save_config[./rmm][1/1/0:0:14:796]: ai init ok! [./rmm][1/1/0:0:14:797]: HI_MPI_AENC_AacInitHI_MPI_AENC_AacInit end [./rmm][1/1/0:0:14:867]: rmm_init_aenc init ok! [./rmm][1/1/0:0:14:941]: rmm_init_adec init ok! [./rmm][1/1/0:0:14:942]: system call back libsnsov9732.so____

[./rmm][1/1/0:0:15:68]: HI_MPI_ISP_3A SUCCESS [./rmm][1/1/0:0:15:234]: _Gamma test for table 4__ [./rmm][1/1/0:0:15:257]: ---------Rock_COMM_VENC_BindVpss VeChn = 0, VpssGrp = 0, VpssChn = 0 [./rmm][1/1/0:0:15:260]: rc set success! venc(0) [./rmm][1/1/0:0:15:276]: ---------Rock_COMM_VENC_BindVpss VeChn = 1, VpssGrp = 0, VpssChn = 1 [./rmm][1/1/0:0:15:277]: rc set success! venc(1)

[./rmm][1/1/0:0:15:336]: init font /home/base/iso8859-1-8x16.bin ptr size(4)[./rmm][1/1/0:0:15:338]: load_font success[./rmm][1/1/0:0:15:351]: msg_proc success[./rmm][1/1/0:0:15:354]: _Gamma test for table 1__ [./rmm][1/1/0:0:15:386]: pid[956][./rmm][1/1/0:0:15:387]: pid[954][./rmm][1/1/0:0:15:393]: pid[955][./dispatch][1/1/0:0:15:455]: invalid msg 0x1002 [./rmm][1/1/0:0:15:459]: got RMM_SPEAK_WAIT[./rmm][1/1/0:0:15:521]: msg snd success[./cloud][1/1/0:0:15:836]: open share mem ok [./p2p_tnp][1/1/0:0:16:607]: p2p_set_tnp_init_status 1 send_msg ok!

[./watch_process][1/19/6:41:36:840]: process=dispatch;cmd=cd /home/app;./dispatch &; [./watch_process][1/19/6:41:36:840]: process=cloud;cmd=cd /home/app;./cloud &;

[./watch_process][1/19/6:41:36:841]: process=p2p_tnp;cmd=cd /home/app;./p2p_tnp &; [./watch_process][1/19/6:41:36:841]: process=mp4record;cmd=cd /home/app;./mp4record &; [./watch_process][1/19/6:41:36:841]: process=arp_test;cmd=cd /home/app;./arp_test &; [./watch_process][1/19/6:41:46:641]: arp_test crashed![./dispatch][1/19/6:41:56:561]: invalid msg 0x1002 [./rmm][1/19/6:41:56:564]: got RMM_SPEAK_WAIT[./rmm][1/19/6:41:56:565]: msg snd success[./dispatch][1/19/6:42:18:669]: invalid msg 0x1002 [./rmm][1/19/6:42:18:671]: got RMM_SPEAK_WAIT[./rmm][1/19/6:42:18:672]: msg snd success[./dispatch][1/19/6:42:40:769]: invalid msg 0x1002 [./rmm][1/19/6:42:40:770]: got RMM_SPEAK_WAIT[./rmm][1/19/6:42:40:771]: msg snd success[./dispatch][1/19/6:42:42:745]: rcd may crashed [./dispatch][1/19/6:43:2:835]: invalid msg 0x1002 [./rmm][1/19/6:43:2:837]: got RMM_SPEAK_WAIT[./rmm][1/19/6:43:2:838]: msg snd success[./dispatch][1/19/6:43:25:16]: invalid msg 0x1002 [./rmm][1/19/6:43:25:18]: got RMM_SPEAK_WAIT[./rmm][1/19/6:43:25:19]: msg snd success[./rmm][1/19/6:43:39:83]: decoded QR-Code symbol "b=itZ3kx7c3TxtFXoe&s=aG9tZTIxMA==&p=alYkIT4LAV95" [./rmm][1/19/6:43:39:102]: trans_json info=b=itZ3kx7c3TxtFXoe&s=aG9tZTIxMA==&p=alYkIT4LAV95;key=&p= [./rmm][1/19/6:43:39:103]: trans_json result=alYkIT4LAV95 [./rmm][1/19/6:43:39:104]: trans_json info=b=itZ3kx7c3TxtFXoe&s=aG9tZTIxMA==&p=alYkIT4LAV95;key=&s= [./rmm][1/19/6:43:39:105]: trans_json result=aG9tZTIxMA== [./rmm][1/19/6:43:39:106]: trans_json info=b=itZ3kx7c3TxtFXoe&s=aG9tZTIxMA==&p=alYkIT4LAV95;key=b= [./rmm][1/19/6:43:39:107]: trans_json result=itZ3kx7c3TxtFXoe [./rmm][1/19/6:43:39:108]: rmm got /tmp/got_wpa ssid(home210) pwd(Rongmang1) bind(itZ3kx7c3TxtFXoe) [./dispatch][1/19/6:43:39:118]: invalid msg 0x1005 [./rmm][1/19/6:43:39:121]: got RMM_SPEAK_SCAN_OK[./rmm][1/19/6:43:39:122]: msg snd success[./dispatch][1/19/6:43:39:124]: in choose_server, region_id = 1, api_server = https://api.xiaoyi.com, sname = familymonitor-h19, dlproto = qiniu [./rmm][1/19/6:43:39:125]: msg snd success[./dispatch][1/19/6:43:39:194]: msg snd success[./dispatch][1/19/6:43:39:194]: invalid msg 0x1004 [./rmm][1/19/6:43:39:198]: got RMM_SPEAK_CONNECTTING[./dispatch][1/19/6:43:39:546]: wifi disconnected, now reconnect wifi [./dispatch][1/19/6:43:45:625]: wpa connected , now dhcp [./dispatch][1/19/6:43:46:34]: wpa connected , now dhcp finish [./watch_process][1/19/6:43:46:784]: cloud crashed![./watch_process][1/19/6:43:46:785]: p2p_tnp crashed![./dispatch][1/19/6:43:47:66]: bssid(fc:3f:7c:29:0d:94)[./dispatch][1/19/6:43:47:66]: ip(192.168.1.94)[./dispatch][1/19/6:43:47:91]: gw(192.168.1.1)[./dispatch][1/19/6:43:48:157]: gwmac(FC:3F:7C:29:D:8B)[./dispatch][1/19/6:43:48:183]: mask(255.255.255.0)[./dispatch][1/19/6:43:48:251]: mac(B0:D5:9D:7C:8A:AA)[./dispatch][1/19/6:43:48:330]: signal_quality(83)[./dispatch][1/19/6:43:48:330]: invalid msg 0x1006 [./rmm][1/19/6:43:48:333]: got RMM_SPEAK_WIFI_CONNECTTED[./dispatch][1/19/6:43:48:337]: msg snd success[./dispatch][1/19/6:43:48:914]: rcd may crashed

_Gamma test for table 4__ [./rmm][1/19/6:43:52:256]: zbar_proc success[./rmm][1/19/6:43:52:259]: pid[929][./rmm][1/19/6:43:52:270]: pid[1157][./rmm][1/19/6:43:52:272]: pid[1156][./rmm][1/19/6:43:52:277]: pid[1155][./rmm][1/19/6:43:52:279]: AiGetLPCMStream start [./rmm][1/19/6:43:52:289]: HI_MPI_RGN_Create 1 success![./rmm][1/19/6:43:52:294]: pid[1154][./rmm][1/19/6:43:52:295]: HI_MPI_RGN_Create 0 success![./rmm][1/19/6:43:52:296]: rmm_vpp_create 0 success![./rmm][1/19/6:43:52:337]: rmm_vpp_create 1 success![./rmm][1/19/6:43:52:338]: rmm_vpp_create_bmp 1 success![./rmm][1/19/6:43:52:338]: VencGetH264Stream vechn=1 [./rmm][1/19/6:43:52:354]: pid[1158][./rmm][1/19/6:43:52:358]: rmm_vpp_create_bmp 0 success![./rmm][1/19/6:43:52:369]: VencGetH264Stream vechn=0 [./rmm][1/19/6:43:52:429]: set ai volume via himm 0x201200d8 0x0d1ec001[./rmm][1/19/6:43:52:467]: set ai volume via himm 0x201200c8 0x23c2e[./rmm][1/19/6:43:52:502]: set ao volume via himm 0x201200d4 0x03122424[./rmm][1/19/6:43:53:972]: got a new motion start [./rmm][1/19/6:43:54:3]: msg snd success[./watch_process][1/19/6:43:56:795]: cloud crashed![./watch_process][1/19/6:43:56:813]: p2p_tnp crashed![./cloud][1/19/6:43:56:974]: open share mem ok [./cloud][1/19/6:43:57:576]: cmd=/home/app/cloudAPI -c 136 -url http://api.xiaoyi.com/v2/ipc/sync_time [./p2p_tnp][1/19/6:43:57:577]: p2p_set_tnp_init_status 1 send_msg ok! [./p2p_tnp][4/6/2:17:7:142]: p2p_set_tnp_init_status 2 send_msg ok! [./p2p_tnp][4/6/2:17:7:142]: p2p_set_tnp_init_status 3 send_msg ok! [./p2p_tnp][4/6/2:17:7:142]: PPPP_API Version: 2.1.1.0

{"time":1491445027941,"code":"20000"} [./cloud][4/6/2:17:7:143]: msg snd success[./cloud][4/6/2:17:7:143]: yi_sync_time ok! [./cloud][4/6/2:17:7:144]: sync_time ok! [./cloud][4/6/2:17:7:144]: yi_proc ok[./cloud][4/6/2:17:7:144]: cmd=/home/app/cloudAPI -c 311 -url https://api.xiaoyi.com/v4/ipc/check_did -uid TNPCHNA-837958-WGTUY -keySec GzzBXpDGpvHkgRed [./dispatch][4/6/2:17:7:299]: DISPATCH_SET_TIME 1491445027 /home/base/tools/rtctool -s time 2017/4/6/2/17/7[./p2p_tnp][4/6/2:17:7:606]: PPPP_NetworkDetect() ret = 0 [./p2p_tnp][4/6/2:17:7:606]: -------------- NetInfo: ------------------- [./p2p_tnp][4/6/2:17:7:607]: Internet Reachable : YES [./p2p_tnp][4/6/2:17:7:607]: P2P Server IP resolved : YES [./p2p_tnp][4/6/2:17:7:607]: P2P Server Hello Ack : YES

[./p2p_tnp][4/6/2:17:7:608]: My Wan IP : 49.49.247.91 [./p2p_tnp][4/6/2:17:7:619]: My Lan IP : 192.168.1.94

[./p2p_tnp][4/6/2:17:7:630]: p2p_set_tnp_init_status 4 send_msg ok!

{"allow":false,"code":"20000"} [./dispatch][4/6/2:17:8:586]: set DISPATCH_SET_BAN_DEVICE [./cloud][4/6/2:17:8:606]: ban region! [./dispatch][4/6/2:17:8:606]: invalid msg 0x100d [./rmm][4/6/2:17:8:642]: got RMM_SPEAK_BAN_DEVICE[./p2p_tnp][4/6/2:17:17:649]: check_login fail 0 [./p2p_tnp][4/6/2:17:27:659]: check_login fail 0 [./dispatch][4/6/2:17:28:620]: invalid msg 0x100d [./rmm][4/6/2:17:28:625]: got RMM_SPEAK_BAN_DEVICE[./p2p_tnp][4/6/2:17:37:669]: check_login fail 0 [./p2p_tnp][4/6/2:17:47:679]: check_login fail 0 [./dispatch][4/6/2:17:48:630]: invalid msg 0x100d [./rmm][4/6/2:17:48:634]: got RMM_SPEAK_BAN_DEVICE[./p2p_tnp][4/6/2:17:57:688]: check_login fail 0 [./dispatch][4/6/2:18:4:848]: rcd may crashed [./p2p_tnp][4/6/2:18:7:698]: check_login fail 0 [./dispatch][4/6/2:18:8:639]: invalid msg 0x100d [./rmm][4/6/2:18:8:643]: got RMM_SPEAK_BAN_DEVICE[./p2p_tnp][4/6/2:18:17:707]: check_login fail 0 [./p2p_tnp][4/6/2:18:27:717]: check_login fail 0 [./dispatch][4/6/2:18:28:649]: invalid msg 0x100d [./rmm][4/6/2:18:28:653]: got RMM_SPEAK_BAN_DEVICE[./p2p_tnp][4/6/2:18:37:727]: check_login fail 0 [./p2p_tnp][4/6/2:18:47:737]: check_login fail 0 [./dispatch][4/6/2:18:48:658]: invalid msg 0x100d [./rmm][4/6/2:18:48:662]: got RMM_SPEAK_BAN_DEVICE[./p2p_tnp][4/6/2:18:57:746]: check_login fail 0 [./p2p_tnp][4/6/2:19:7:756]: check_login fail 0 [./dispatch][4/6/2:19:8:669]: invalid msg 0x100d [./rmm][4/6/2:19:8:677]: got RMM_SPEAK_BAN_DEVICE[./dispatch][4/6/2:19:11:484]: rcd may crashed [./p2p_tnp][4/6/2:19:17:771]: check_login fail 0 [./p2p_tnp][4/6/2:19:27:776]: check_login fail 0 [./dispatch][4/6/2:19:28:678]: invalid msg 0x100d [./rmm][4/6/2:19:28:683]: got RMM_SPEAK_BAN_DEVICE[./p2p_tnp][4/6/2:19:37:786]: check_login fail 0 [[recbackup]][4/6/2:19:46:909]: cifs_init: 0[[recbackup]][4/6/2:19:47:138]: init fail[./p2p_tnp][4/6/2:19:47:796]: check_login fail 0 [./dispatch][4/6/2:19:48:688]: invalid msg 0x100d [./rmm][4/6/2:19:48:693]: got RMM_SPEAK_BAN_DEVICE[./p2p_tnp][4/6/2:19:57:805]: check_login fail 0 [./p2p_tnp][4/6/2:20:7:815]: check_login fail 0 [./dispatch][4/6/2:20:8:698]: invalid msg 0x100d [./rmm][4/6/2:20:8:702]: got RMM_SPEAK_BAN_DEVICE[./p2p_tnp][4/6/2:20:17:825]: check_login fail 0 [./dispatch][4/6/2:20:18:161]: rcd may crashed [./p2p_tnp][4/6/2:20:27:834]: check_login fail 0 [./p2p_tnp][4/6/2:20:37:845]: check_login fail 0 [./dispatch][4/6/2:20:46:631]: check reset, now ding reset[./dispatch][4/6/2:20:46:632]: do reset save conf finish[./rmm][4/6/2:20:47:21]: got a new motion start [./dispatch][4/6/2:20:47:34]: g_dispatch_info.mmap_info->motion_type =0[./rmm][4/6/2:20:47:35]: msg snd success[./cloud][4/6/2:20:47:317]: got a motion

and my wifi_connected log is as follow:

[./dispatch][4/6/2:21:10:828]: got sn(dwNjwYHe8FtHaQ7dtwN7l54OCRzRSPGw)[./dispatch][4/6/2:21:10:829]: got pwd()[./dispatch][4/6/2:21:10:830]: got ssid()[./dispatch][4/6/2:21:10:831]: got tnp_init_string()[./dispatch][4/6/2:21:10:832]: reset because no wifi config[./dispatch][4/6/2:21:10:834]: send_saveconfig_msg msg snd success[./dispatch][4/6/2:21:10:834]: get_config save conf [./dispatch][4/6/2:21:10:885]: in choose_server, region_id = 1, api_server = https://api.xiaoyi.com, sname = familymonitor-h19, dlproto = qiniu [./dispatch][4/6/2:21:10:885]: in choose_server, region_id = 1, api_server = https://api.xiaoyi.com, sname = familymonitor-h19, dlproto = qiniu

[./dispatch][4/6/2:21:11:277]: save_config[./rmm][4/6/2:21:11:716]: ai init ok! [./rmm][4/6/2:21:11:717]: HI_MPI_AENC_AacInitHI_MPI_AENC_AacInit end [./rmm][4/6/2:21:11:816]: rmm_init_aenc init ok! [./rmm][4/6/2:21:11:878]: rmm_init_adec init ok! [./rmm][4/6/2:21:11:879]: system call back libsnsov9732.so____

[./rmm][4/6/2:21:12:29]: HI_MPI_ISP_3A SUCCESS [./rmm][4/6/2:21:12:185]: _Gamma test for table 4__ [./rmm][4/6/2:21:12:193]: ---------Rock_COMM_VENC_BindVpss VeChn = 0, VpssGrp = 0, VpssChn = 0 [./rmm][4/6/2:21:12:207]: rc set success! venc(0) [./rmm][4/6/2:21:12:209]: ---------Rock_COMM_VENC_BindVpss VeChn = 1, VpssGrp = 0, VpssChn = 1 [./rmm][4/6/2:21:12:210]: rc set success! venc(1)

[./rmm][4/6/2:21:12:273]: init font /home/base/iso8859-1-8x16.bin ptr size(4)[./rmm][4/6/2:21:12:274]: load_font success[./rmm][4/6/2:21:12:276]: msg_proc success[./rmm][4/6/2:21:12:287]: _Gamma test for table 1__ [./rmm][4/6/2:21:12:288]: pid[952][./rmm][4/6/2:21:12:289]: pid[953][./rmm][4/6/2:21:12:291]: pid[954][./dispatch][4/6/2:21:12:357]: invalid msg 0x1002 [./rmm][4/6/2:21:12:361]: got RMM_SPEAK_WAIT[./rmm][4/6/2:21:12:362]: msg snd success[./cloud][4/6/2:21:12:962]: open share mem ok [./p2p_tnp][4/6/2:21:13:455]: p2p_set_tnp_init_status 1 send_msg ok!

[./watch_process][4/6/2:21:14:558]: process=dispatch;cmd=cd /home/app;./dispatch &; [./watch_process][4/6/2:21:14:558]: process=cloud;cmd=cd /home/app;./cloud &;

[./watch_process][4/6/2:21:14:559]: process=p2p_tnp;cmd=cd /home/app;./p2p_tnp &; [./watch_process][4/6/2:21:14:559]: process=mp4record;cmd=cd /home/app;./mp4record &; [./watch_process][4/6/2:21:14:560]: process=arp_test;cmd=cd /home/app;./arp_test &; [./watch_process][4/6/2:21:24:373]: arp_test crashed![./dispatch][4/6/2:21:34:453]: invalid msg 0x1002 [./rmm][4/6/2:21:34:457]: got RMM_SPEAK_WAIT[./rmm][4/6/2:21:34:458]: msg snd success[./rmm][4/6/2:21:55:353]: decoded QR-Code symbol "b=CNBSKy3bZv0ItWYk&s=aG9tZTIxMA==&p=alYkIT4LAV95" [./rmm][4/6/2:21:55:354]: trans_json info=b=CNBSKy3bZv0ItWYk&s=aG9tZTIxMA==&p=alYkIT4LAV95;key=&p= [./rmm][4/6/2:21:55:355]: trans_json result=alYkIT4LAV95 [./rmm][4/6/2:21:55:356]: trans_json info=b=CNBSKy3bZv0ItWYk&s=aG9tZTIxMA==&p=alYkIT4LAV95;key=&s= [./rmm][4/6/2:21:55:357]: trans_json result=aG9tZTIxMA== [./rmm][4/6/2:21:55:358]: trans_json info=b=CNBSKy3bZv0ItWYk&s=aG9tZTIxMA==&p=alYkIT4LAV95;key=b= [./rmm][4/6/2:21:55:359]: trans_json result=CNBSKy3bZv0ItWYk [./rmm][4/6/2:21:55:360]: rmm got /tmp/got_wpa ssid(home210) pwd(Rongmang1) bind(CNBSKy3bZv0ItWYk) [./dispatch][4/6/2:21:55:366]: invalid msg 0x1005 [./rmm][4/6/2:21:55:370]: got RMM_SPEAK_SCAN_OK[./rmm][4/6/2:21:55:371]: msg snd success[./dispatch][4/6/2:21:55:374]: in choose_server, region_id = 1, api_server = https://api.xiaoyi.com, sname = familymonitor-h19, dlproto = qiniu [./rmm][4/6/2:21:55:375]: msg snd success[./dispatch][4/6/2:21:55:445]: msg snd success[./dispatch][4/6/2:21:55:446]: invalid msg 0x1004 [./rmm][4/6/2:21:55:450]: got RMM_SPEAK_CONNECTTING[./dispatch][4/6/2:21:56:469]: wifi disconnected, now reconnect wifi [./watch_process][4/6/2:22:4:431]: cloud crashed![./watch_process][4/6/2:22:4:431]: p2p_tnp crashed![./dispatch][4/6/2:22:4:789]: wpa connected , now dhcp [./dispatch][4/6/2:22:5:172]: wpa connected , now dhcp finish [./dispatch][4/6/2:22:6:203]: bssid(fc:3f:7c:29:0d:94)[./dispatch][4/6/2:22:6:203]: ip(192.168.1.94)[./dispatch][4/6/2:22:6:227]: gw(192.168.1.1)[./dispatch][4/6/2:22:7:294]: gwmac(FC:3F:7C:29:D:8B)[./dispatch][4/6/2:22:7:319]: mask(255.255.255.0)[./dispatch][4/6/2:22:7:386]: mac(B0:D5:9D:7C:8A:AA)[./dispatch][4/6/2:22:7:464]: signal_quality(85)[./dispatch][4/6/2:22:7:464]: invalid msg 0x1006 [./rmm][4/6/2:22:7:467]: got RMM_SPEAK_WIFI_CONNECTTED[./dispatch][4/6/2:22:7:468]: msg snd success

My camera IP is 192.168.1.94, but I cannot connect to it at all.

batrarobin commented 7 years ago

@add210

If you are still getting the alert "This camera can only be used within China", then both images haven't flashed successfully.

Please ensure the following: (1) you have Yi black dome camera 1080p (2) you are using SD card of 16GB or less (3) your SD card is formatted to FAT32 (4) the file names stored on SD root are exactly "rootfs_h20" and "home_h20" (5) sometimes if you use Windows computer it tends to rename downloaded files to e.g. "rootfs_h20 (2)" etc. Make sure your files on SD card are named exactly "rootfs_h20" and "home_h20" (6) Insert the SD card, power cycle the camera and ensure that you don't interrupt the process. (7) After booting up again, it shouldn't give you that annoying alert again. Now it's time to change the config file as shadow-1 explained in his tutorial.

Good luck

batrarobin commented 7 years ago

The files can be downloaded from: https://github.com/shadow-1/yi-hack-v3/releases

shadow-1 commented 7 years ago

@batrarobin is absolutely correct with the procedure.

@add210 I have noticed you mentioned that you have a Yi Dome camera.

At the moment, only the Yi 1080p Dome (black) camera is supported. I have also gotten it to work on the Yi 1080p Home v1 camera with help from others and will update this repository to officially support it.

To support the Yi Dome (white) camera. I will need a little help from someone with terminal access through serial port. There are small differences between the 1080p and the 720p Dome cameras. I only have the Yi 1080p Dome camera to test with.

add210 commented 7 years ago

Yes, mine is Yi Dome Camera. I read somewhere that they are pretty much the same in term of hardwares and thought this FW would work for both 720p Dome and 1080p Dome.

I am very new to this and not sure what I need to do to help you on this. If you have step by step guide, may be I can be of help.

shadow-1 commented 7 years ago

@add210 You are right that they are very similar cameras. However they are different enough that I will need to create a separate firmware for the Yi Dome.

For me to be able to create a custom firmware, I need a full backup image of the camera. This can only be done through the terminal. With the default firmware, there is no easy way to activate telnetd so the terminal is accessible over wifi. So you have to get access to the terminal through the serial port.

If you can help. These are the initial steps that need to be followed:

  1. Open up the camera.
  2. Solder wires onto the serial port pads on the main circuit.
  3. Using a USB to Serial converter, connect the camera to a computer.
  4. Use a terminal application like PuTTY to access the cameras terminal.

Once you get there, I can help you with regards to what commands to type in to copy the files I need to create the y-hack-v3 firmware for the Yi Dome.

Keep in mind, this only needs to be done once so I can create the initial firmware.

mikeschi commented 7 years ago

I'm a bit lost. Can anyone help? What is expected here "Note: The camera will not be fully operational through the smartphone app until a valid configuration has been entered for Proxychains-ng or Proxychains-ng is disabled."

shadow-1 commented 7 years ago

@mikeschi What this mean is:

If your camera is not region banned, you do not need ProxyChains-ng and it can be disabled through the System Config page on the web interface. Once disabled, the camera will work through the smartphone app.

However if your camera is region banned, you need to setup ProxyChains-ng. Once setup, the camera will work through the smartphone app.

add210 commented 7 years ago

I just ordered USB-Serial Converter online. It should arrive in a few days. I will see what I can do.

shadow-1 commented 7 years ago

@add210 Thanks for the help!

Another alternative for others to consider is to use an Arduino as a USB to Serial converter. I had an old Arduino and used that as a USB to Serial converter. Luckily the Yi Dome cameras utilise 0-5V signal which is compatible with Arduino.

mikeschi commented 7 years ago

Ok my YI 1080P (black) dome camera is country locked to China. Need to configure ProxyChains. May have already made too many changes to the Proxychains adding proxy addresses as well as testing: dynamic_chain or strict_chain or round_robin_chain.

How can I get back to the virgin ProxyChains file? I've already tried reflashing with your firmware: home_h20 and rootfs_h20.

Also is this the correct format for adding in proxy servers: socks4 218.20.227.18 1080 socks4 115.29.192.194 1080 socks4 192.168.1.49 1080

Any help how to make this silly camera work in USA would be sincerely appreciated.

shadow-1 commented 7 years ago

@mikeschi Default configuration which comes with ProxyChains-ng is located in the source of my repository. Link below: https://github.com/shadow-1/yi-hack-v3/blob/master/src/home/app/proxychains.conf

Yes that is the correct format for adding proxy servers. However make sure if you are adding a socks5 server to change the configuration to read socks5.

The trick is finding a working proxy server that resides in mainland china. In future releases of the firmware I will include a facility to check ProxyChains-ng configuration on the camera itself. At the moment, the easiest way to check your configuration is to change the proxyserver on your computer and browse to a website like https://whatismyipaddress.com/ to check whether the proxy server works and whether it is located in China.

I'm not sure where you got those proxy servers. However they do not appear to be working when I tested them.

wanwe commented 7 years ago

@shadow-1 Nice work on Yi Dome 1080p! I tried to set proxychina with "socks4 59.51.73.213 1080", tested this proxy works fine, but the setup failed saying "connection error". I telnet in and found below in "/tmp/log.txt" [./cloud][4/8/9:50:37:363]: yi_sync_time fail! [./cloud][4/8/9:50:40:373]: cmd=/home/app/cloudAPI -c 136 -url http://api.xiaoyi.com/v2/ipc/sync_time

when I run "/home/app/cloudAPI -c 136 -url http://api.xiaoyi.com/v2/ipc/sync_time" manually, I got below error ~ # /home/app/cloudAPI -c 136 -url http://api.xiaoyi.com/v2/ipc/sync_time [proxychains] config file found: /home/app/proxychains.conf [proxychains] preloading /home/app/locallib/libproxychains4.so proxychains can't load process....: No such file or directory

any idea? is there anything missing for proxychain?

shadow-1 commented 7 years ago

@wanwe I have tested the proxy server. It appears that this particular proxy server does not support proxy dns requests. So make sure that in your configuration you are not using the dns_proxy setting and not using the remote_dns_subnet setting.

It also appears that it is not the most reliable proxy server, I had to retry a few times before it worked fine. For the purposes of defeating the region ban, even if the proxy server is a bit slow or a bit unreliable it will work (may take a little longer to initialise when you first start up the camera).

wanwe commented 7 years ago

@shadow-1 Thank you so much..I just grabbed a free proxy server from google, now searching for a more reliable one. if the proxy server works, shall I see the proxy server address at "my wan IP"?? [./p2p_tnp][4/9/11:29:36:97]: My Wan IP : [./p2p_tnp][4/9/11:29:36:98]: My Lan IP : 192.168.0.169

just curious, is it possible to integrate with hacks from this page? then no proxy is required https://diy.2pmc.net/solved-xiaomi-xiao-yi-ant-home-camera-can-used-china/

I tried to sed check_did part to sth else, but seems not working, log says "./cloud crashes", wonder whether it has some filechecksum in latest version of firmware

shadow-1 commented 7 years ago

@wanwe Unfortunately that hack no longer works. It will stop the annoying ban message from being played. However the camera will not be able to be used with the smartphone app.

Xiaomi have changed something at their servers around December 2016 which caused most people who used that style of hack to no longer be able to use their region locked cameras through the smartphone app.

wanwe commented 7 years ago

@shadow-1 one more question, just found that the firmware seems not working with my another camera, which is on firmware version 1.9.2.0D_201612191901home_h20m, any idea?

batrarobin commented 7 years ago

@wanwe I am using the shadow-1's hack on version D firmware without any problems. Just ensure both files have successfully flashed. Check and ensure the 7 items that I mentioned in my comment above for a successful flashing.

shadow-1 commented 7 years ago

@wanwe As you are using the firmware on one camera, it is a little unusual that your second camera did not flash. A few generic tips to look out for:

  1. Make sure that the filename didn't get changed. The firmware filenames for the Yi 1080p Dome camera must be home_h20 and rootfs_h20.
  2. Try flashing the camera with the same microSD card as with the camera you successfully flashed. The microSD card must be formatted in FAT32 for it to work. This is largely an issue with high capacity cards (>32gb) which default to being formatted in exFAT.
  3. Make sure that you flash both rootfs_h20 and home_h20. Flashing one without the other will not allow the features of this firmware to work.

To help further, I will probably need to know more details about the issue. For instance, when you started the camera with the firmware files on it, did the yellow light flash for roughly 30 seconds (this is the indicator that the firmware is being flashed)?

szefkamil commented 7 years ago

Hello Guys,

I have Yi dome 1080p black edition camera and after flash firmware with this files i'm still can't set-up wifi connection always prompt me fail to connect please reset your camera maybe i made some mistake below is my procedure:

  1. Format microSDcard as fat32
  2. Copy two files home_h20 and rootfs_h20
  3. Plug power to camera
  4. pull sd card inside and wait for flashing procedure
  5. try to connect using yi home app
  6. scan QR code everything should be okay because camera spoke in chinese "Wait for wifi connection"
  7. Wait 2 minutes and received information is FaileD!!!!

I'm really confused about this, please help me.

Regards Kamil

https://github.com/shadow-1/yi-hack-v3/releases

shadow-1 commented 7 years ago

@szefkamil You are almost there. Just a couple of things: I would insert the microSD card into the camera before powering up the camera. The internal check for a firmware update occurs right towards the start of the boot procedure. You will know that it is flashing as it will take roughly 30 seconds longer than usual for the camera to start moving. In addition the yellow light flashes.

Since you have not setup your cameras wifi settings yet. You will need to complete the initial setup using the smartphone app. However as you mentioned, it will fail to pair. This is because ProxyChains-ng has not been setup and is blocking communication between the camera and the Xiaomi server. However by going through the procedure, wifi on the camera has been setup. This can be confirmed as the blue light is turned on and solid if it has been setup and is connected.

Once wifi has been setup on the camera, you need to find the IP address of the camera. The easiest place to find it is on your routers setup page. However there are network scanning apps available as well. Enter the web interface of the camera by entering the IP address of the camera into your web browser. You will then see the custom firmware configuration page and be able to setup ProxyChains-ng as shown below. Once setup, your camera will pair using the smartphone app and be accessible without issues. Alt text

Refer to the "Starting the Camera" and the "Configuring the Camera" sections of the Readme. https://github.com/shadow-1/yi-hack-v3/blob/master/README.md

Jun-Sheng commented 7 years ago

@xmflsct hi zhiyuan, thanks for all the help so far.

"This can be confirmed as the blue light is turned on and solid if it has been setup and is connected." --> i got this.

i am also logged on to my camera's IP address and have pasted in the following code from @shadow-1:

https://github.com/shadow-1/yi-hack-v3/blob/master/src/home/app/proxychains.conf

Am i suppose to reboot the camera? what additional steps am i missing? adding more proxy servers?

xmflsct commented 7 years ago

A solid blue LED does not mean that you can pair with it. It could also mean that the proxy server does not work, thus the camera also connect receive a ban command from the server.

After enter your proxy and saved the settings, press the reset button to reset the camera, and try to pair it with your phone again. If you have paired before and in your app you can still see your camera, you just need a reboot of the camera.

shadow-1 commented 7 years ago

@junsheng89 As mentioned in the following post; https://github.com/shadow-1/yi-hack-v3/issues/4#issuecomment-293267871

You need to add proxy servers which reside in Mainland China to the end of the configuration. I deliberately didn't add any with the firmware as they do change and if one particular server gets too popular, it will probably get shutdown.

As mentioned in the other thread, the best way to ensure that everything will work is to change the proxy server on your web browser to the one you will add to ProxyChains-ng and browse to a website like; https://whatismyipaddress.com/ . If you can successfully browse to the website and the Country comes up as China on the webpage, then you know that this particular proxy server will work with the hack.

Jun-Sheng commented 7 years ago

@shadow-1 @xmflsct can i put multiple addresses?

e.g. socks4 218.20.227.18 1080 socks4 115.29.192.194 1080 socks4 192.168.1.49 1080

in this example 3 addresses? or are you allow only 1 at each time?

following which, i should follow these steps: After enter your proxy and saved the settings, press the reset button (physical or the reboot button(ipaddress of your cam) to reset the camera, and try to pair it with your phone again.

If you have paired before and in your app you can still see your camera, you just need a reboot of the camera.

szefkamil commented 7 years ago

Where can i find correct port?

11.04.2017 4:13 PM "junsheng89" notifications@github.com napisał(a):

@shadow-1 https://github.com/shadow-1 @xmflsct https://github.com/xmflsct can i put multiple addresses?

e.g. socks4 218.20.227.18 1080 socks4 115.29.192.194 1080 socks4 192.168.1.49 1080

in this example 3 addresses? or are you allow only 1 at each time?

following which, i should follow these steps: After enter your proxy and saved the settings, press the reset button (physical or the reboot button(ipaddress of your cam) to reset the camera, and try to pair it with your phone again.

If you have paired before and in your app you can still see your camera, you just need a reboot of the camera.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/shadow-1/yi-hack-v3/issues/1#issuecomment-293276379, or mute the thread https://github.com/notifications/unsubscribe-auth/AZZHhqsbk8-4Gs0Cqwfk0QHLNWUdOPw_ks5ru4qYgaJpZM4M0_yB .

maysamsh commented 7 years ago

Using the custom images and setting above proxy address', still I cannot pair the cam with the app, but I have telnet access.

szefkamil commented 7 years ago

Which adressses? sory but i can't see

2017-04-11 16:22 GMT+02:00 maysamsh notifications@github.com:

Using the custom images and setting above proxy address', still I cannot pair the cam with the app, but I have telnet access.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/shadow-1/yi-hack-v3/issues/1#issuecomment-293279154, or mute the thread https://github.com/notifications/unsubscribe-auth/AZZHhpbn6lSYvSbYcxx-zRhoNytgq6Ngks5ru4ylgaJpZM4M0_yB .

xmflsct commented 7 years ago

Google is your best friend, to find what you need. It may take a bit of time trying several proxies before you find one that is working and with good speed.

I can confirm this project fully working, as I have tried it several times with iOS app.

Please note, it is mentioned that only the app from Chinese App Store can be paired with a trick Chinese camera. Same applies to Android app, but .apk is much easier to find and install.

maysamsh commented 7 years ago

@szefkamil Try these, they are working:

socks5  27.152.181.217  80
socks5  125.67.236.195   8080
maysamsh commented 7 years ago

@xmflsct How can I find out what's wrong with my case?

xmflsct commented 7 years ago

@maysamsh Please refer to my edited comment above. Do you install the right app?

wanwe commented 7 years ago

@shadow-1 yah, it's very weird...one of my camera works, another one does not...I tried to flash offical firmware again and still not working, Used exact same sd card, not working; formatted and download files again, same result.

when I insert the sd card and power on, it was solid orange led, no flash, for 10+ seconds, then it starts saying "waiting for connection". this is different from my the other camera....no idea why :-(

maysamsh commented 7 years ago

@xmflsct If you mean the on the cam, yes. On the iPhone I'm using Mi Home app.

Jun-Sheng commented 7 years ago

@maysamsh @shadow-1

i am using these addresses: socks5 27.152.181.217 80 socks5 125.67.236.195 8080

and i have the 米家 (green) app on the iphone.

it still fails with the permanent blue light. it does complain about the "not use in china" anymore.

I am guessing the proxy server is the problem. :X

wanwe commented 7 years ago

what's the firmware version you guys are using ?anyone is using "1.9.2.0D_201612191901home_h20m"?

xmflsct commented 7 years ago

@wanwe "Waiting for connection" means you have to pair with it with Mi app. No?

@maysamsh No, I mean on your phone. I haven't tried with Mi Home app. But I am using Yi Smart app from Chinese App Store.

wanwe commented 7 years ago

@xmflsct yes, if firmware works, it should take longer before we hear "waiting for connection". I tried to pair, no surprise it connects to wifi, then get region ban message...I couldn't access the http page as well...so confirm the hack is not working on my camera

szefkamil commented 7 years ago

Should i put all three adresses?

2017-04-11 16:32 GMT+02:00 maysamsh notifications@github.com:

@szefkamil https://github.com/szefkamil Try these, they are working:

socks5 27.152.181.217 80 socks5 125.67.236.195 8080 socks4 115.29.192.194 1080

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/shadow-1/yi-hack-v3/issues/1#issuecomment-293282445, or mute the thread https://github.com/notifications/unsubscribe-auth/AZZHho1eGAdTQj4OmyfVbo550BE0_Pruks5ru48RgaJpZM4M0_yB .

xmflsct commented 7 years ago

@wanwe So when you flash the firmware, the orange or yellow LED should blink. For flashing rootfs, it blinks only few times. For flashing home, it blinks for quite a while. This is a way to confirm flashing actually works without terminal output.

Try to boot the cam with an SD card, and see if the system dumps some log in there. If so, can you paste the log somewhere for debugging?

szefkamil commented 7 years ago

Guys which app should i use? from google play store or from chinese market?

another question i add these adresses into proxychain_ng

[ProxyList]

add proxy here ...

meanwile

defaults set to "tor"

socks5 27.152.181.217 80 socks5 125.67.236.195 8080

and isn't working.

shadow-1 commented 7 years ago

@junsheng89 Yes multiple servers can be entered into the configuration.

@szefkamil When you find a socks server to enter, there are always three pieces of information you need. They are:

@maysamsh I tested your proxy servers and they appear to be working. @xmflsct is absolutely correct. You must use the smartphone app from the Chinese App Store for cameras locked to Mainland China. The one on Google App Store will not work on a camera locked to Mainland China. I am currently using the Yi Home app from the Chinese App Store.

@wanwe If you are getting the ban message, the custom firmware has definitely not been flashed onto the camera. With the custom firmware, by default, communication between the camera and the Xiaomi server is blocked, thus the ban message will not play. Not being able to access the http page is also another indicator that the firmware did not flash on your camera.

Another thing you can try is using my initial version of the custom firmware; version 0.1.0 and then upgrade to 0.1.1. I'm not exactly sure why it's not working with your second camera.

Jun-Sheng commented 7 years ago

yup. i have tested and it works with multiple addresses.

YI home app "works" for me but mi jia (mi home) app does not.

Here is what puzzling.

after the sync, the camera said in mandarin that the sync was successful BUT, on the YI Home app, under the page, RETRIEVING PAIRING STATUS > it states, Fail to acquire Please reset the camera > option below are troubleshooting & reset the camera.

@shadow-1 @xmflsct

maysamsh commented 7 years ago

For some weird reasons my Chinese Apple ID is disabled and I cannot download the YI Smart app from the Chinese App Store and neither of [Chinese] YI Home nor [English] YI Smart apps work. Sad!

shadow-1 commented 7 years ago

@junsheng89 That is quite puzzling. I have never had this kind of issue. I can only think that perhaps the proxy server is a bit unreliable? I guess you can only try again.

From my experience, even if a proxy server is slow, it will work fine but takes a bit longer to pair and a bit longer to initialise when the camera starts up.

wanwe commented 7 years ago

@xmflsct tried to boot camera with a blank sd, no logs dumped

@shadow-1 you are amazing ! 0.1.0 can flash successfully ! I'm trying some socks config now and see if all good, before I try to update to 0.1.1.. anything logs etc you would like to collect now?

Jun-Sheng commented 7 years ago

CORRECTION:

Even though the situation is like the following: the camera said in mandarin that the sync was successful BUT, on the YI Home app, under the page, RETRIEVING PAIRING STATUS > it states, Fail to acquire Please reset the camera > option below are troubleshooting & reset the camera.

i found that it is actually still works. i just quit out of the app, reopen the app again and its finally working after 4 hours of configuration...

Anyway, A BIG THANK YOU TO @shadow-1, @xmflsct @maysamsh, this is my 1st day on github and i am a converter. :D

maysamsh commented 7 years ago

@junsheng89 Are you using Chinese cam with English app?

shadow-1 commented 7 years ago

@wanwe The camera does a very crude check to make sure that the firmware file on the SD card doesn't match what is currently on the camera. If the camera thinks the firmware file matches what is currently on the system, it will skip the upgrade.

Perhaps the initial upgrade got interrupted somehow and on subsequent boots the camera thought the firmware file matches what is currently on the system and simply skipped the upgrade?

However an easy fix for this situation is to upgrade to a different version before upgrading back to the latest.

wanwe commented 7 years ago

@junsheng89 I think now I have same issue as you :(, YI app stuck at retrieve pairing status page... Are you using iPhone or android? For iphone, I killed the app when it stuck, open the app, the camera is not listed in the app...