Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/format/app_dongle.format	(revision 3189)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/format/app_dongle.format	(working copy)
@@ -58,6 +58,8 @@
 65 mem_24g_txbuf_new
 69 mem_24g_txpayload_new
 
+1 mem_24g_auth_step3_flag
+
 )
 (
 0xA0 REPORT_ID_AUDIO_DATA_IN
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/memmap.format	(revision 3189)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/memmap.format	(working copy)
@@ -1509,6 +1509,7 @@
 0x4a45 mem_24g_rxdata_temp_new
 0x4a86 mem_24g_txbuf_new
 0x4ac7 mem_24g_txpayload_new
+0x4b0c mem_24g_auth_step3_flag
 0x45d3 mem_rssi_hex_received
 0x45d4 mem_24g_pair_sm
 0x45d5 mem_24g_pair_no_ack
Index: output/otp.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/otp.dat	(revision 3189)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/otp.dat	(working copy)
@@ -11,8 +11,8 @@
 00
 aa
 55
-da
-11
+06
+12
 c2
 84
 00
@@ -32,7 +32,7 @@
 c0
 0a
 03
-9f
+aa
 c0
 0a
 81
@@ -52,7 +52,7 @@
 c0
 1b
 84
-16
+21
 c0
 1c
 01
@@ -64,7 +64,7 @@
 c0
 1e
 84
-08
+13
 c0
 1f
 00
@@ -76,11 +76,11 @@
 c0
 6d
 03
-70
+7b
 c0
 6e
 03
-80
+8b
 c0
 7f
 01
@@ -112,19 +112,19 @@
 c0
 1c
 83
-bb
+c6
 c0
 26
 83
-bf
+ca
 c0
 37
 04
-1f
+2a
 c0
 37
 84
-39
+44
 c0
 39
 00
@@ -136,7 +136,7 @@
 c0
 3a
 84
-43
+4e
 c0
 3f
 80
@@ -144,11 +144,11 @@
 c0
 40
 84
-53
+5e
 c0
 41
 03
-c1
+cc
 c0
 42
 02
@@ -156,11 +156,11 @@
 c0
 44
 03
-f0
+fb
 c0
 45
-03
-fd
+04
+08
 c0
 48
 80
@@ -828,7 +828,7 @@
 20
 20
 03
-16
+18
 6f
 e0
 c6
@@ -1056,11 +1056,11 @@
 20
 40
 03
-42
+4d
 20
 40
 03
-6d
+78
 20
 40
 01
@@ -1076,7 +1076,7 @@
 20
 20
 03
-6f
+7a
 20
 75
 80
@@ -1624,7 +1624,7 @@
 58
 00
 02
-9d
+9f
 67
 e1
 45
@@ -1632,7 +1632,7 @@
 58
 00
 02
-fa
+fc
 67
 e1
 45
@@ -1640,7 +1640,7 @@
 58
 00
 03
-0f
+11
 67
 e1
 45
@@ -2500,11 +2500,11 @@
 20
 40
 03
-23
+2f
 20
 20
 03
-27
+33
 6f
 e0
 ca
@@ -2512,15 +2512,15 @@
 c0
 00
 82
-7e
+80
 c0
 01
 02
-97
+99
 c0
 7f
 82
-7c
+7e
 c2
 83
 82
@@ -2537,6 +2537,14 @@
 20
 33
 be
+70
+4a
+44
+00
+70
+4b
+0c
+00
 6f
 e0
 ca
@@ -2560,11 +2568,11 @@
 20
 40
 04
-72
+7d
 20
 20
 03
-c7
+d2
 20
 40
 33
@@ -2596,7 +2604,7 @@
 c0
 00
 82
-8d
+8f
 6f
 e0
 c6
@@ -2680,7 +2688,7 @@
 20
 20
 82
-95
+97
 6f
 e1
 45
@@ -2696,19 +2704,19 @@
 c2
 83
 82
-b7
+b3
 c2
 83
 02
-cd
+c9
 c2
 82
 82
-ab
+ad
 20
 20
 02
-a2
+a4
 58
 00
 00
@@ -2765,34 +2773,10 @@
 4a
 44
 a2
-6f
-e0
-c8
-99
-1f
-e0
-fe
-02
-67
-e0
-c8
-97
-1f
-e2
-72
-00
-d8
-c0
-48
-98
-d8
-a0
-45
-19
-20
 20
-7c
-da
+60
+00
+00
 6f
 20
 c5
@@ -2856,7 +2840,7 @@
 24
 42
 82
-e4
+e6
 6f
 20
 c5
@@ -2944,7 +2928,11 @@
 24
 42
 82
-ed
+ef
+20
+42
+82
+e1
 6f
 20
 c5
@@ -2972,7 +2960,27 @@
 20
 20
 02
-ab
+ad
+6f
+e0
+c5
+7d
+1f
+e6
+7c
+21
+20
+61
+00
+00
+70
+4b
+0c
+01
+20
+20
+02
+b0
 70
 47
 a2
@@ -3068,15 +3076,15 @@
 c2
 83
 82
-b7
+b3
 c2
 83
 02
-cd
+c9
 20
 20
-02
-fe
+03
+00
 6f
 e0
 ca
@@ -3084,15 +3092,15 @@
 c0
 00
 03
-03
+05
 c0
 01
 03
-09
+0b
 c0
 01
 83
-0c
+0e
 20
 20
 33
@@ -3152,7 +3160,7 @@
 c0
 00
 83
-13
+15
 c0
 01
 00
@@ -3160,7 +3168,7 @@
 20
 20
 03
-13
+15
 6f
 e0
 c6
@@ -3172,7 +3180,7 @@
 20
 20
 03
-16
+18
 6f
 e0
 c6
@@ -3188,11 +3196,19 @@
 c0
 51
 03
-1b
+1d
 20
 60
 00
 00
+6f
+e0
+cb
+0c
+24
+3a
+03
+27
 70
 46
 11
@@ -3225,6 +3241,38 @@
 20
 7c
 da
+70
+46
+11
+a2
+70
+4a
+44
+a2
+20
+40
+00
+59
+70
+45
+88
+03
+70
+4a
+86
+a4
+70
+4a
+87
+03
+70
+4a
+88
+ff
+20
+60
+00
+00
 6f
 f0
 8c
@@ -3288,7 +3336,7 @@
 c0
 13
 03
-36
+42
 c0
 10
 fc
@@ -3329,14 +3377,10 @@
 40
 7b
 d2
-70
-4a
-44
-00
 20
 20
 03
-3f
+4a
 d8
 a0
 46
@@ -3400,7 +3444,7 @@
 20
 40
 03
-5f
+6a
 2a
 2f
 fe
@@ -3432,7 +3476,7 @@
 20
 40
 03
-5f
+6a
 d8
 a0
 8a
@@ -3460,7 +3504,7 @@
 20
 21
 03
-54
+5f
 20
 20
 21
@@ -3564,7 +3608,7 @@
 20
 40
 03
-98
+a3
 70
 8a
 08
@@ -3600,7 +3644,7 @@
 20
 40
 03
-8e
+99
 6f
 f0
 8a
@@ -3644,7 +3688,7 @@
 20
 40
 03
-98
+a3
 70
 80
 cd
@@ -3704,7 +3748,7 @@
 c3
 02
 83
-99
+a4
 68
 59
 01
@@ -3740,7 +3784,7 @@
 c0
 08
 03
-b8
+c3
 58
 00
 57
@@ -3784,7 +3828,7 @@
 c0
 08
 03
-b5
+c0
 58
 00
 2b
@@ -3820,7 +3864,7 @@
 20
 20
 03
-b1
+bc
 58
 00
 83
@@ -3832,7 +3876,7 @@
 20
 20
 03
-a6
+b1
 6f
 e0
 c3
@@ -3872,11 +3916,11 @@
 c0
 11
 03
-d7
+e2
 c0
 7f
 83
-c7
+d2
 20
 60
 00
@@ -3888,11 +3932,11 @@
 c0
 00
 83
-cb
+d6
 c0
 01
 03
-d1
+dc
 20
 60
 00
@@ -3952,7 +3996,7 @@
 20
 3a
 03
-dd
+e8
 6f
 e2
 4a
@@ -3976,11 +4020,11 @@
 c0
 00
 83
-e1
+ec
 c0
 01
 03
-e8
+f3
 20
 60
 00
@@ -4000,7 +4044,7 @@
 c0
 01
 03
-e6
+f1
 20
 60
 00
@@ -4028,7 +4072,7 @@
 c0
 80
 03
-ed
+f8
 20
 60
 00
@@ -4108,7 +4152,7 @@
 20
 40
 04
-01
+0c
 20
 20
 34
@@ -4260,7 +4304,7 @@
 c5
 13
 84
-2a
+35
 6f
 e0
 c4
@@ -4304,7 +4348,7 @@
 20
 40
 84
-37
+42
 18
 42
 7e
@@ -4392,7 +4436,7 @@
 20
 40
 84
-37
+42
 18
 42
 7e
@@ -4456,7 +4500,7 @@
 20
 40
 04
-5a
+65
 20
 40
 00
@@ -4464,7 +4508,7 @@
 20
 40
 04
-70
+7b
 20
 20
 33
@@ -4492,15 +4536,15 @@
 c0
 55
 04
-64
+6f
 c0
 2a
 84
-66
+71
 c0
 11
 03
-d7
+e2
 c0
 7f
 b5
@@ -4524,7 +4568,7 @@
 20
 3a
 04
-6c
+77
 6f
 e2
 4a
@@ -4581,8 +4625,8 @@
 60
 00
 00
-f7
-8b
+65
+db
 aa
 55
 40
@@ -4731,8 +4775,8 @@
 00
 f1
 44
-16
-37
+10
+19
 13
 74
 12
@@ -5108,7 +5152,7 @@
 00
 1c
 41
-3e
+7f
 aa
 55
 0c
@@ -5252,8 +5296,8 @@
 aa
 aa
 55
-ff
-93
-0f
-a1
+1c
+94
+30
+53
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/program.lis	(revision 3189)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/program.lis	(working copy)
@@ -4,19 +4,19 @@
 0001 c000002a beq patch00_0 ,p_soft_reset 
 0002 c00100d0 beq patch00_2 ,p_main_loop 
 0003 c00880d9 beq patch02_1 ,p_set_sync_on 
-0004 c00a039f beq patch02_4 ,p_set_lemode 
+0004 c00a03aa beq patch02_4 ,p_set_lemode 
 0005 c00a8175 beq patch02_5 ,p_rf_rx_enable 
 0006 c00c0183 beq patch03_0 ,p_txon 
 0007 c00c8129 beq patch03_1 ,p_set_tx_power 
 0008 c00d00e7 beq patch03_2 ,p_initialize_radio_cont 
-0009 c01b8416 beq patch06_7 ,p_dongle_default_init 
+0009 c01b8421 beq patch06_7 ,p_dongle_default_init 
 000a c01c0148 beq patch07_0 ,p_dongle_read_kb_bind_status 
 000b c01c8144 beq patch07_1 ,p_dongle_write_kb_bind_status 
-000c c01e8408 beq patch07_5 ,p_dongle_usb_dispatch 
+000c c01e8413 beq patch07_5 ,p_dongle_usb_dispatch 
 000d c01f003d beq patch07_6 ,p_dongle_work_mode_auto 
 000e c0628141 beq patch18_5 ,p_otp_read_data 
-000f c06d0370 beq patch1b_2 ,p_sadc_calibration 
-0010 c06e0380 beq patch1b_4 ,p_enable_adc 
+000f c06d037b beq patch1b_2 ,p_sadc_calibration 
+0010 c06e038b beq patch1b_4 ,p_enable_adc 
 0011 c07f018e beq patch1f_6 ,p_usb_init 
 0012 c07f81f0 beq patch1f_7 ,p_usb_rx 
 0013 c07e818a beq patch1f_5 ,p_usb_isr 
@@ -26,19 +26,19 @@
 0015 c0000219 beq patch20_0 ,p_usb_class_type 
 0016 c0010243 beq patch20_2 ,p_usb0_request_get_descriptor 
 0017 c0030261 beq patch20_6 ,p_usb_tx 
-0018 c01c83bb beq patch27_1 ,p_le_parse 
-0019 c02683bf beq patch29_5 ,p_le_init_adv 
-001a c037041f beq patch2d_6 ,p_g24_receive_skip_fec1 
-001b c0378439 beq patch2d_7 ,p_g24_receive_skip_end 
+0018 c01c83c6 beq patch27_1 ,p_le_parse 
+0019 c02683ca beq patch29_5 ,p_le_init_adv 
+001a c037042a beq patch2d_6 ,p_g24_receive_skip_fec1 
+001b c0378444 beq patch2d_7 ,p_g24_receive_skip_end 
 001c c03900a8 beq patch2e_2 ,p_g24_transmit_packet 
 001d c039805c beq patch2e_3 ,p_g24_transmit_prep 
-001e c03a8443 beq patch2e_5 ,p_g24_read_len_pid_crc 
+001e c03a844e beq patch2e_5 ,p_g24_read_len_pid_crc 
 001f c03f8083 beq patch2f_7 ,p_g24_pair_dispatch 
-0020 c0408453 beq patch30_1 ,p_g24_bind_data_process 
-0021 c04103c1 beq patch30_2 ,p_g24_bind_data_parse_next 
+0020 c040845e beq patch30_1 ,p_g24_bind_data_process 
+0021 c04103cc beq patch30_2 ,p_g24_bind_data_parse_next 
 0022 c042026f beq patch30_4 ,p_g24_receive_packet_start1 
-0023 c04403f0 beq patch31_0 ,p_g24_mode_switch_bind_search 
-0024 c04503fd beq patch31_2 ,p_g24_bind_mode_auto 
+0023 c04403fb beq patch31_0 ,p_g24_mode_switch_bind_search 
+0024 c0450408 beq patch31_2 ,p_g24_bind_mode_auto 
 0025 c0488059 beq patch32_1 ,p_g24_txbuf_clear 
 0026 c0458030 beq patch31_3 ,p_g24_search_mode_auto 
 0027 c1468000 rtneq patch31_5 
@@ -271,7 +271,7 @@
 p_dongle_ackpayload_prep_keyboard:
 00c9 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
 00ca c28080cc bbit1 1 ,p_dongle_pc_sleep_ackpayload_prep_keyboard 
-00cb 20200316 branch p_dongle_ackpayload_prep_end 
+00cb 20200318 branch p_dongle_ackpayload_prep_end 
 
 p_dongle_pc_sleep_ackpayload_prep_keyboard:
 00cc 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
@@ -338,12 +338,12 @@
 0101 58557474 setarg 0x557474 
 0102 67f18968 store 3 ,0x8968 
 0103 7089606e jam 0x6e ,0x8960 
-0104 20400342 call p_rx_dcoc 
-0105 2040036d call p_rfpll_aac_ghpc 
+0104 2040034d call p_rx_dcoc 
+0105 20400378 call p_rfpll_aac_ghpc 
 0106 2040010a call p_set_xtal_cap 
 0107 7041480c jam system_clk_12m ,mem_system_clk 
 0108 20406f4e call sadc_calibration 
-0109 2020036f branch p_dpll_ring_ibias_calc 
+0109 2020037a branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
 010a 20758000 rtn wake 
@@ -518,11 +518,11 @@
 018f 20407932 call usb_init_param 
 0190 5800499a setarg mem_usb_ep2_config 
 0191 67e107a9 store 2 ,mem_hidreportdesc_m 
-0192 5800029d setarg p_dongle_g24_mouse 
+0192 5800029f setarg p_dongle_g24_mouse 
 0193 67e145e4 store 2 ,mem_cb_24g_data_device1 
-0194 580002fa setarg p_dongle_g24_keyboard 
+0194 580002fc setarg p_dongle_g24_keyboard 
 0195 67e145e6 store 2 ,mem_cb_24g_data_device2 
-0196 5800030f setarg p_dongle_ackpayload_prep 
+0196 58000311 setarg p_dongle_ackpayload_prep 
 0197 67e145e2 store 2 ,mem_cb_24g_ackpayload 
 
 p_usb_init_restart:
@@ -799,677 +799,694 @@
 026a c0817c06 bne usb_connected ,usb_tx_fifo_release 
 026b 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
 026c 243a7c06 nbranch usb_tx_fifo_release ,blank 
-026d 20400323 call p_usb_tx_data_ep1 
-026e 20200327 branch p_usb_tx_data_ep2 
+026d 2040032f call p_usb_tx_data_ep1 
+026e 20200333 branch p_usb_tx_data_ep2 
 
 p_g24_receive_packet_start1:
 026f 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-0270 c000827e beq datatype_device1 ,p_g24_data_device1 
-0271 c0010297 beq datatype_device2 ,p_g24_data_device2 
-0272 c07f827c beq datatype_attemp ,p_g24_data_receive_attemp 
+0270 c0008280 beq datatype_device1 ,p_g24_data_device1 
+0271 c0010299 beq datatype_device2 ,p_g24_data_device2 
+0272 c07f827e beq datatype_attemp ,p_g24_data_receive_attemp 
 0273 c2838277 bbit1 datatype_audio ,p_g24_data_receive_heart_authca_audio 
 0274 c2830277 bbit1 datatype_authca ,p_g24_data_receive_heart_authca_audio 
 0275 c2828277 bbit1 datatype_heart ,p_g24_data_receive_heart_authca_audio 
 0276 202033be branch g24_rx_interrupt_clear 
 
 p_g24_data_receive_heart_authca_audio:
-0277 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-0278 1fe17e0f and pdata ,0x0f ,pdata 
-0279 c000b3c4 beq datatype_device1 ,g24_data_device1 
-027a c00133d3 beq datatype_device2 ,g24_data_device2 
-027b 202033be branch g24_rx_interrupt_clear 
+0277 704a4400 jam 0 ,mem_24g_ackpayload_enable_temp 
+0278 704b0c00 jam 0 ,mem_24g_auth_step3_flag 
+0279 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+027a 1fe17e0f and pdata ,0x0f ,pdata 
+027b c000b3c4 beq datatype_device1 ,g24_data_device1 
+027c c00133d3 beq datatype_device2 ,g24_data_device2 
+027d 202033be branch g24_rx_interrupt_clear 
 
 p_g24_data_receive_attemp:
-027c 20400472 call p_g24_bind_device_status 
-027d 202003c7 branch p_g24_data_attemp 
+027e 2040047d call p_g24_bind_device_status 
+027f 202003d2 branch p_g24_data_attemp 
 
 p_g24_data_device1:
-027e 2040338d call g24_binding_dvc1_living 
-027f 2040352e call g24_ch_timer_reinit 
-0280 6fe0c60a fetch 1 ,mem_24g_abort_packet 
-0281 6848ca45 fetcht 1 ,mem_24g_rxdata_temp_new 
-0282 284ffe03 isolate1 bit_abort ,temp 
-0283 7920fe00 setflag true ,0 ,pdata 
-0284 67e0c60a store 1 ,mem_24g_abort_packet 
-0285 c000828d beq 1 ,p_g24_data_attemp_device1_abort 
-0286 6fe0c612 fetch 1 ,mem_24g_hop_packet 
-0287 6848ca45 fetcht 1 ,mem_24g_rxdata_temp_new 
-0288 284ffe04 isolate1 bit_hop ,temp 
-0289 7920fe00 setflag true ,0 ,pdata 
-028a 67e0c612 store 1 ,mem_24g_hop_packet 
-028b 6fe145e4 fetch 2 ,mem_cb_24g_data_device1 
-028c 20207d79 branch callback_func 
+0280 2040338d call g24_binding_dvc1_living 
+0281 2040352e call g24_ch_timer_reinit 
+0282 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+0283 6848ca45 fetcht 1 ,mem_24g_rxdata_temp_new 
+0284 284ffe03 isolate1 bit_abort ,temp 
+0285 7920fe00 setflag true ,0 ,pdata 
+0286 67e0c60a store 1 ,mem_24g_abort_packet 
+0287 c000828f beq 1 ,p_g24_data_attemp_device1_abort 
+0288 6fe0c612 fetch 1 ,mem_24g_hop_packet 
+0289 6848ca45 fetcht 1 ,mem_24g_rxdata_temp_new 
+028a 284ffe04 isolate1 bit_hop ,temp 
+028b 7920fe00 setflag true ,0 ,pdata 
+028c 67e0c612 store 1 ,mem_24g_hop_packet 
+028d 6fe145e4 fetch 2 ,mem_cb_24g_data_device1 
+028e 20207d79 branch callback_func 
 
 p_g24_data_attemp_device1_abort:
-028d 6fe0c3cb fetch 1 ,mem_device_option 
-028e 1fe67c0e sub pdata ,dvc_op_car ,null 
-028f 2042c469 call car_stop_blink ,zero 
-0290 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-0291 247a0000 nrtn blank 
-0292 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-0293 6fe24a4f fetch 4 ,mem_24g_rxdata_temp_new + 10 
-0294 202035a3 branch g24_store_device1_addr 
+028f 6fe0c3cb fetch 1 ,mem_device_option 
+0290 1fe67c0e sub pdata ,dvc_op_car ,null 
+0291 2042c469 call car_stop_blink ,zero 
+0292 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+0293 247a0000 nrtn blank 
+0294 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+0295 6fe24a4f fetch 4 ,mem_24g_rxdata_temp_new + 10 
+0296 202035a3 branch g24_store_device1_addr 
 
 p_g24_data_attemp_device2_abort:
-0295 6fe24a4f fetch 4 ,mem_24g_rxdata_temp_new + 10 
-0296 202035a9 branch g24_store_device2_addr 
+0297 6fe24a4f fetch 4 ,mem_24g_rxdata_temp_new + 10 
+0298 202035a9 branch g24_store_device2_addr 
 
 p_g24_data_device2:
-0297 20403393 call g24_binding_dvc2_living 
-0298 6848ca45 fetcht 1 ,mem_24g_rxdata_temp_new 
-0299 284ffe03 isolate1 bit_abort ,temp 
-029a 20208295 branch p_g24_data_attemp_device2_abort ,true 
-029b 6fe145e6 fetch 2 ,mem_cb_24g_data_device2 
-029c 20207d79 branch callback_func 
+0299 20403393 call g24_binding_dvc2_living 
+029a 6848ca45 fetcht 1 ,mem_24g_rxdata_temp_new 
+029b 284ffe03 isolate1 bit_abort ,temp 
+029c 20208297 branch p_g24_data_attemp_device2_abort ,true 
+029d 6fe145e6 fetch 2 ,mem_cb_24g_data_device2 
+029e 20207d79 branch callback_func 
 
 p_dongle_g24_mouse:
-029d 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-029e c28382b7 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
-029f c28302cd bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-02a0 c28282ab bbit1 datatype_heart ,p_dongle_g24_mouse_heart_data 
-02a1 202002a2 branch p_dongle_g24_mouse_next 
+029f 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+02a0 c28382b3 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
+02a1 c28302c9 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+02a2 c28282ad bbit1 datatype_heart ,p_dongle_g24_mouse_heart_data 
+02a3 202002a4 branch p_dongle_g24_mouse_next 
 
 p_dongle_g24_mouse_next:
-02a2 58000001 setarg ms_report_id 
-02a3 67e08913 store 1 ,mem_usb_mouse_data 
-02a4 6fe3ca48 fetch 7 ,mem_24g_rxdata_temp_new + 3 
-02a5 e7e38005 istore 7 ,contw 
-02a6 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-02a7 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+02a4 58000001 setarg ms_report_id 
+02a5 67e08913 store 1 ,mem_usb_mouse_data 
+02a6 6fe3ca48 fetch 7 ,mem_24g_rxdata_temp_new + 3 
+02a7 e7e38005 istore 7 ,contw 
 02a8 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-02a9 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
-02aa 20204836 branch dongle_usb_tx_ms_data 
+02a9 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+02aa 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+02ab 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+02ac 20204836 branch dongle_usb_tx_ms_data 
 
 p_dongle_g24_mouse_heart_data:
-02ab 6fe0c896 fetch 1 ,mem_dongle_usb_ep2_data_flag 
-02ac 207a0000 rtn blank 
-02ad 70489600 jam 0 ,mem_dongle_usb_ep2_data_flag 
-02ae 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-02af 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
-02b0 6fe0c899 fetch 1 ,mem_dongle_g24_usb_ep2_ack_data + 1 
-02b1 1fe0fe02 increase 2 ,pdata 
-02b2 67e0c897 store 1 ,mem_dongle_usb_ep2_data_len 
-02b3 1fe27200 copy pdata ,loopcnt 
-02b4 d8c04898 arg mem_dongle_g24_usb_ep2_ack_data ,contr 
-02b5 d8a04519 arg mem_24g_txbuf ,contw 
-02b6 20207cda branch memcpy 
+02ad 6fe0c896 fetch 1 ,mem_dongle_usb_ep2_data_flag 
+02ae 207a0000 rtn blank 
+02af 70489600 jam 0 ,mem_dongle_usb_ep2_data_flag 
+
+p_24g_ackpayload_enable_set:
+02b0 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
+02b1 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
+02b2 20600000 rtn 
 
 p_dongle_g24_mouse_audio_data:
-02b7 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02b8 1fe0ffff increase -1 ,pdata 
-02b9 d8a047a4 arg mem_usb_audio_data + 3 ,contw 
-02ba d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
-02bb 20407cda call memcpy 
-02bc 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02bd 1fe0ffff increase -1 ,pdata 
-02be d8a047e1 arg mem_usb_audio_data_sta ,contw 
-02bf d8c047a4 arg mem_usb_audio_data + 3 ,contr 
-02c0 20407cda call memcpy 
-02c1 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02c2 1fe0ffff increase -1 ,pdata 
-02c3 da4047e1 arg mem_usb_audio_data_sta ,regb 
-02c4 da204821 arg mem_usb_audio_data_last ,rega 
-02c5 20407d64 call compare_loop 
-02c6 244282e4 ncall p_dongle_usb_tx_audio_data ,zero 
-02c7 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02c8 1fe0ffff increase -1 ,pdata 
-02c9 d8c047e1 arg mem_usb_audio_data_sta ,contr 
-02ca d8a04821 arg mem_usb_audio_data_last ,contw 
-02cb 20407cda call memcpy 
-02cc 202033be branch g24_rx_interrupt_clear 
+02b3 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+02b4 1fe0ffff increase -1 ,pdata 
+02b5 d8a047a4 arg mem_usb_audio_data + 3 ,contw 
+02b6 d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+02b7 20407cda call memcpy 
+02b8 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+02b9 1fe0ffff increase -1 ,pdata 
+02ba d8a047e1 arg mem_usb_audio_data_sta ,contw 
+02bb d8c047a4 arg mem_usb_audio_data + 3 ,contr 
+02bc 20407cda call memcpy 
+02bd 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+02be 1fe0ffff increase -1 ,pdata 
+02bf da4047e1 arg mem_usb_audio_data_sta ,regb 
+02c0 da204821 arg mem_usb_audio_data_last ,rega 
+02c1 20407d64 call compare_loop 
+02c2 244282e6 ncall p_dongle_usb_tx_audio_data ,zero 
+02c3 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+02c4 1fe0ffff increase -1 ,pdata 
+02c5 d8c047e1 arg mem_usb_audio_data_sta ,contr 
+02c6 d8a04821 arg mem_usb_audio_data_last ,contw 
+02c7 20407cda call memcpy 
+02c8 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_mouse_authca_data:
-02cd 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02ce 1f20f3ff increase -1 ,loopcnt 
-02cf d8a046e0 arg mem_usb_authca_data + 2 ,contw 
-02d0 d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
-02d1 20407cda call memcpy 
-02d2 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02d3 1fe0ffff increase -1 ,pdata 
-02d4 d8a0471f arg mem_usb_authca_data_sta ,contw 
-02d5 d8c046e0 arg mem_usb_authca_data + 2 ,contr 
-02d6 20407cda call memcpy 
-02d7 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02d8 1fe0ffff increase -1 ,pdata 
-02d9 da40471f arg mem_usb_authca_data_sta ,regb 
-02da da204760 arg mem_usb_authca_data_last ,rega 
-02db 20407d64 call compare_loop 
-02dc 244282ed ncall p_dongle_usb_tx_authca_data ,zero 
-02dd 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02de 1fe0ffff increase -1 ,pdata 
-02df d8c0471f arg mem_usb_authca_data_sta ,contr 
-02e0 d8a04760 arg mem_usb_authca_data_last ,contw 
-02e1 20407cda call memcpy 
-02e2 204033be call g24_rx_interrupt_clear 
-02e3 202002ab branch p_dongle_g24_mouse_heart_data 
+02c9 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+02ca 1f20f3ff increase -1 ,loopcnt 
+02cb d8a046e0 arg mem_usb_authca_data + 2 ,contw 
+02cc d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+02cd 20407cda call memcpy 
+02ce 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+02cf 1fe0ffff increase -1 ,pdata 
+02d0 d8a0471f arg mem_usb_authca_data_sta ,contw 
+02d1 d8c046e0 arg mem_usb_authca_data + 2 ,contr 
+02d2 20407cda call memcpy 
+02d3 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+02d4 1fe0ffff increase -1 ,pdata 
+02d5 da40471f arg mem_usb_authca_data_sta ,regb 
+02d6 da204760 arg mem_usb_authca_data_last ,rega 
+02d7 20407d64 call compare_loop 
+02d8 244282ef ncall p_dongle_usb_tx_authca_data ,zero 
+02d9 204282e1 call p_mouse_auth_step_third_check ,zero 
+02da 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+02db 1fe0ffff increase -1 ,pdata 
+02dc d8c0471f arg mem_usb_authca_data_sta ,contr 
+02dd d8a04760 arg mem_usb_authca_data_last ,contw 
+02de 20407cda call memcpy 
+02df 204033be call g24_rx_interrupt_clear 
+02e0 202002ad branch p_dongle_g24_mouse_heart_data 
+
+p_mouse_auth_step_third_check:
+02e1 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+02e2 1fe67c21 sub pdata ,0x21 ,null 
+02e3 20610000 rtn positive 
+02e4 704b0c01 jam 1 ,mem_24g_auth_step3_flag 
+02e5 202002b0 branch p_24g_ackpayload_enable_set 
 
 p_dongle_usb_tx_audio_data:
-02e4 7047a2a0 jam report_id_audio_data_in ,mem_usb_audio_data + 1 
-02e5 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-02e6 1fe0ffff increase -1 ,pdata 
-02e7 67e0c7a1 store 1 ,mem_usb_audio_data 
-02e8 1fe27200 copy pdata ,loopcnt 
-02e9 d8c047a2 arg mem_usb_audio_data + 1 ,contr 
-02ea d8a008b5 arg mem_usb0_get_report_data ,contw 
-02eb 20407cda call memcpy 
-02ec 20200205 branch p_usb_get_report_enable 
+02e6 7047a2a0 jam report_id_audio_data_in ,mem_usb_audio_data + 1 
+02e7 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+02e8 1fe0ffff increase -1 ,pdata 
+02e9 67e0c7a1 store 1 ,mem_usb_audio_data 
+02ea 1fe27200 copy pdata ,loopcnt 
+02eb d8c047a2 arg mem_usb_audio_data + 1 ,contr 
+02ec d8a008b5 arg mem_usb0_get_report_data ,contw 
+02ed 20407cda call memcpy 
+02ee 20200205 branch p_usb_get_report_enable 
 
 p_dongle_usb_tx_authca_data:
-02ed 58000040 setarg 0x40 
-02ee 67e0c6de store 1 ,mem_usb_authca_data 
-02ef 7046dfa3 jam report_id_authca_data_in ,mem_usb_authca_data + 1 
-02f0 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-02f1 1fe0ffff increase -1 ,pdata 
-02f2 67e0c6e0 store 1 ,mem_usb_authca_data + 2 
-02f3 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02f4 1fe0ffff increase -1 ,pdata 
-02f5 d8a046e1 arg mem_usb_authca_data + 3 ,contw 
-02f6 d8c0471f arg mem_usb_authca_data_sta ,contr 
-02f7 20407cda call memcpy 
-02f8 70090c26 jam usb_ep2_authca ,mem_usb_ep2_data 
-02f9 20204837 branch dongle_usb_tx_enable_ep2 
+02ef 58000040 setarg 0x40 
+02f0 67e0c6de store 1 ,mem_usb_authca_data 
+02f1 7046dfa3 jam report_id_authca_data_in ,mem_usb_authca_data + 1 
+02f2 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+02f3 1fe0ffff increase -1 ,pdata 
+02f4 67e0c6e0 store 1 ,mem_usb_authca_data + 2 
+02f5 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+02f6 1fe0ffff increase -1 ,pdata 
+02f7 d8a046e1 arg mem_usb_authca_data + 3 ,contw 
+02f8 d8c0471f arg mem_usb_authca_data_sta ,contr 
+02f9 20407cda call memcpy 
+02fa 70090c26 jam usb_ep2_authca ,mem_usb_ep2_data 
+02fb 20204837 branch dongle_usb_tx_enable_ep2 
 
 p_dongle_g24_keyboard:
-02fa 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-02fb c28382b7 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
-02fc c28302cd bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-02fd 202002fe branch p_dongle_g24_kb 
+02fc 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+02fd c28382b3 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
+02fe c28302c9 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+02ff 20200300 branch p_dongle_g24_kb 
 
 p_dongle_g24_kb:
-02fe 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-02ff c0000303 beq 0 ,p_dongle_g24_kb_type0 
-0300 c0010309 beq 2 ,p_dongle_g24_kb_type2 
-0301 c001830c beq 3 ,p_dongle_g24_kb_type3 
-0302 202033be branch g24_rx_interrupt_clear 
+0300 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0301 c0000305 beq 0 ,p_dongle_g24_kb_type0 
+0302 c001030b beq 2 ,p_dongle_g24_kb_type2 
+0303 c001830e beq 3 ,p_dongle_g24_kb_type3 
+0304 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_kb_type0:
-0303 6fe0ca4a fetch 1 ,mem_24g_rxdata_temp_new + 5 
-0304 67e0c611 store 1 ,mem_24g_ackpayload_enable 
-0305 704a4a00 jam 0 ,mem_24g_rxdata_temp_new + 5 
-0306 d8a00923 arg mem_usb_kb_data ,contw 
-0307 d8c04a49 arg mem_24g_rxdata_temp_new + 4 ,contr 
-0308 202048ef branch dongle_g24_kb_type0 + 5 
+0305 6fe0ca4a fetch 1 ,mem_24g_rxdata_temp_new + 5 
+0306 67e0c611 store 1 ,mem_24g_ackpayload_enable 
+0307 704a4a00 jam 0 ,mem_24g_rxdata_temp_new + 5 
+0308 d8a00923 arg mem_usb_kb_data ,contw 
+0309 d8c04a49 arg mem_24g_rxdata_temp_new + 4 ,contr 
+030a 202048ef branch dongle_g24_kb_type0 + 5 
 
 p_dongle_g24_kb_type2:
-0309 d8a00943 arg mem_usb_kb_system ,contw 
-030a d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
-030b 2020491f branch dongle_g24_kb_type2 + 2 
+030b d8a00943 arg mem_usb_kb_system ,contw 
+030c d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+030d 2020491f branch dongle_g24_kb_type2 + 2 
 
 p_dongle_g24_kb_type3:
-030c d8a00933 arg mem_usb_kb_multikey ,contw 
-030d d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
-030e 20204907 branch dongle_g24_kb_type3 + 2 
+030e d8a00933 arg mem_usb_kb_multikey ,contw 
+030f d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+0310 20204907 branch dongle_g24_kb_type3 + 2 
 
 p_dongle_ackpayload_prep:
-030f 6fe0c589 fetch 1 ,mem_24g_data_type 
-0310 c0008313 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
-0311 c00100c9 beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
-0312 20200313 branch p_dongle_ackpayload_prep_mouse 
+0311 6fe0c589 fetch 1 ,mem_24g_data_type 
+0312 c0008315 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
+0313 c00100c9 beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
+0314 20200315 branch p_dongle_ackpayload_prep_mouse 
 
 p_dongle_ackpayload_prep_mouse:
-0313 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-0314 c28000bb bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
-0315 20200316 branch p_dongle_ackpayload_prep_end 
+0315 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+0316 c28000bb bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
+0317 20200318 branch p_dongle_ackpayload_prep_end 
 
 p_dongle_ackpayload_prep_end:
-0316 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
-0317 c00080b3 beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
-0318 c00180c2 beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
-0319 c051031b beq report_id_data_out ,p_dongle_ep2_ackpayload_prep 
-031a 20600000 rtn 
+0318 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+0319 c00080b3 beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
+031a c00180c2 beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
+031b c051031d beq report_id_data_out ,p_dongle_ep2_ackpayload_prep 
+031c 20600000 rtn 
 
 p_dongle_ep2_ackpayload_prep:
-031b 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-031c 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
-031d 6fe0c897 fetch 1 ,mem_dongle_usb_ep2_data_len 
-031e 67e0c588 store 1 ,mem_24g_datalen 
-031f 1fe27200 copy pdata ,loopcnt 
-0320 d8c04898 arg mem_dongle_g24_usb_ep2_ack_data ,contr 
-0321 d8a04a86 arg mem_24g_txbuf_new ,contw 
-0322 20207cda branch memcpy 
+031d 6fe0cb0c fetch 1 ,mem_24g_auth_step3_flag 
+031e 243a0327 nbranch p_mouse_auth_step3_sucess_prep ,blank 
+031f 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
+0320 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
+0321 6fe0c897 fetch 1 ,mem_dongle_usb_ep2_data_len 
+0322 67e0c588 store 1 ,mem_24g_datalen 
+0323 1fe27200 copy pdata ,loopcnt 
+0324 d8c04898 arg mem_dongle_g24_usb_ep2_ack_data ,contr 
+0325 d8a04a86 arg mem_24g_txbuf_new ,contw 
+0326 20207cda branch memcpy 
+
+p_mouse_auth_step3_sucess_prep:
+0327 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
+0328 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
+0329 20400059 call p_g24_txbuf_clear 
+032a 70458803 jam 3 ,mem_24g_datalen 
+032b 704a86a4 jam report_id_authca_data_out ,mem_24g_txbuf_new 
+032c 704a8703 jam 3 ,mem_24g_txbuf_new + 1 
+032d 704a88ff jam 0xff ,mem_24g_txbuf_new + 2 
+032e 20600000 rtn 
 
 p_usb_tx_data_ep1:
-0323 6ff08c25 fetch 1 ,core_usb_txbusy 
-0324 1fe17e0f and_into 0x0f ,pdata 
-0325 247a0000 nrtn blank 
-0326 20207bf0 branch usb_tx_data_ep1 + 2 
+032f 6ff08c25 fetch 1 ,core_usb_txbusy 
+0330 1fe17e0f and_into 0x0f ,pdata 
+0331 247a0000 nrtn blank 
+0332 20207bf0 branch usb_tx_data_ep1 + 2 
 
 p_usb_tx_data_ep2:
-0327 6ff08c25 fetch 1 ,core_usb_txbusy 
-0328 1fe17e0f and_into 0x0f ,pdata 
-0329 247a0000 nrtn blank 
-032a 6fe0890d fetch 1 ,mem_usb_tx_enable 
-032b c4010000 rtnbit0 2 
-032c 6fe0890d fetch 1 ,mem_usb_tx_enable 
-032d 793ffe02 set0 2 ,pdata 
-032e 67e0890d store 1 ,mem_usb_tx_enable 
-032f 6fe0890c fetch 1 ,mem_usb_ep2_data 
-0330 207a0000 rtn blank 
-0331 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
-0332 c0130336 beq usb_ep2_authca ,p_usb_tx_authca_data 
-0333 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-0334 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
-0335 2020235a branch assert 
+0333 6ff08c25 fetch 1 ,core_usb_txbusy 
+0334 1fe17e0f and_into 0x0f ,pdata 
+0335 247a0000 nrtn blank 
+0336 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0337 c4010000 rtnbit0 2 
+0338 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0339 793ffe02 set0 2 ,pdata 
+033a 67e0890d store 1 ,mem_usb_tx_enable 
+033b 6fe0890c fetch 1 ,mem_usb_ep2_data 
+033c 207a0000 rtn blank 
+033d c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
+033e c0130342 beq usb_ep2_authca ,p_usb_tx_authca_data 
+033f c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+0340 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
+0341 2020235a branch assert 
 
 p_usb_tx_authca_data:
-0336 70090c00 jam 0 ,mem_usb_ep2_data 
-0337 6f20c6de fetchr loopcnt ,1 ,mem_usb_authca_data 
-0338 d8c046df arg mem_usb_authca_data + 1 ,contr 
+0342 70090c00 jam 0 ,mem_usb_ep2_data 
+0343 6f20c6de fetchr loopcnt ,1 ,mem_usb_authca_data 
+0344 d8c046df arg mem_usb_authca_data + 1 ,contr 
 
 p_usb_tx_ep2:
-0339 d8e00002 arg 2 ,queue 
-033a da200759 arg mem_usb_txbuf2 ,rega 
-033b 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-033c 20407bd2 call usb_tx_buf 
-033d 704a4400 jam 0 ,mem_24g_ackpayload_enable_temp 
-033e 2020033f branch p_usb_release_authca_buf 
+0345 d8e00002 arg 2 ,queue 
+0346 da200759 arg mem_usb_txbuf2 ,rega 
+0347 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+0348 20407bd2 call usb_tx_buf 
+0349 2020034a branch p_usb_release_authca_buf 
 
 p_usb_release_authca_buf:
-033f d8a046de arg mem_usb_authca_data ,contw 
-0340 df200040 arg 64 ,loopcnt 
-0341 20207ca1 branch clear_mem 
+034a d8a046de arg mem_usb_authca_data ,contw 
+034b df200040 arg 64 ,loopcnt 
+034c 20207ca1 branch clear_mem 
 
 p_rx_dcoc:
-0342 20758000 rtn wake 
-0343 20402160 call set_sync_on 
-0344 d8400027 arg 39 ,temp 
-0345 2040216f call set_freq_rx 
-0346 204021a6 call rf_rx_enable 
-0347 708a257f jam 0x7f ,0x8a25 
-0348 708a301a jam 0x1a ,0x8a30 
-0349 708a3178 jam 0x78 ,0x8a31 
-034a 708a8fb2 jam 0xb2 ,0x8a8f 
-034b 708ac200 jam 0 ,0x8ac2 
-034c 708ac300 jam 0 ,0x8ac3 
-034d d8e00006 arg 6 ,queue 
-034e 2040035f call p_rx_dcoc_avg 
-034f 2a2ffe0d isolate1 13 ,rega 
-0350 2040211d call qset_start 
-0351 2a4ffe0d isolate1 13 ,regb 
-0352 2040211e call qset_p 
-0353 d8e00005 arg 5 ,queue 
+034d 20758000 rtn wake 
+034e 20402160 call set_sync_on 
+034f d8400027 arg 39 ,temp 
+0350 2040216f call set_freq_rx 
+0351 204021a6 call rf_rx_enable 
+0352 708a257f jam 0x7f ,0x8a25 
+0353 708a301a jam 0x1a ,0x8a30 
+0354 708a3178 jam 0x78 ,0x8a31 
+0355 708a8fb2 jam 0xb2 ,0x8a8f 
+0356 708ac200 jam 0 ,0x8ac2 
+0357 708ac300 jam 0 ,0x8ac3 
+0358 d8e00006 arg 6 ,queue 
+0359 2040036a call p_rx_dcoc_avg 
+035a 2a2ffe0d isolate1 13 ,rega 
+035b 2040211d call qset_start 
+035c 2a4ffe0d isolate1 13 ,regb 
+035d 2040211e call qset_p 
+035e d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-0354 2040211c call qset1_p 
-0355 2040211e call qset_p 
-0356 2040035f call p_rx_dcoc_avg 
-0357 d8a08ac2 arg 0x8ac2 ,contw 
-0358 1a31fe00 rshift4 rega ,pdata 
-0359 20402117 call qsetxor 
-035a 1a51fe00 rshift4 regb ,pdata 
-035b 20402117 call qsetxor 
-035c 18e08fff increase -1 ,queue 
-035d 20210354 branch p_rx_dcoc_loop2 ,positive 
-035e 2020214f branch rx_dcoc_loop2 + 10 
+035f 2040211c call qset1_p 
+0360 2040211e call qset_p 
+0361 2040036a call p_rx_dcoc_avg 
+0362 d8a08ac2 arg 0x8ac2 ,contw 
+0363 1a31fe00 rshift4 rega ,pdata 
+0364 20402117 call qsetxor 
+0365 1a51fe00 rshift4 regb ,pdata 
+0366 20402117 call qsetxor 
+0367 18e08fff increase -1 ,queue 
+0368 2021035f branch p_rx_dcoc_loop2 ,positive 
+0369 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-035f 2000003c nop 60 
-0360 58000f00 setarg mem_dcoc_buf 
-0361 67f10982 store 2 ,0x8982 
-0362 58000ff0 setarg mem_dcoc_buf_end 
-0363 67f10984 store 2 ,0x8984 
-0364 70898109 jam 0x9 ,0x8981 
-0365 70898103 jam 0x3 ,0x8981 
-0366 70898006 jam 0x6 ,0x8980 
-0367 2000003c nop 60 
-0368 da200000 arg 0 ,rega 
-0369 da400000 arg 0 ,regb 
-036a df200010 arg 16 ,loopcnt 
-036b d8c00f00 arg mem_dcoc_buf ,contr 
-036c 2020212d branch rx_dcoc_loop 
+036a 2000003c nop 60 
+036b 58000f00 setarg mem_dcoc_buf 
+036c 67f10982 store 2 ,0x8982 
+036d 58000ff0 setarg mem_dcoc_buf_end 
+036e 67f10984 store 2 ,0x8984 
+036f 70898109 jam 0x9 ,0x8981 
+0370 70898103 jam 0x3 ,0x8981 
+0371 70898006 jam 0x6 ,0x8980 
+0372 2000003c nop 60 
+0373 da200000 arg 0 ,rega 
+0374 da400000 arg 0 ,regb 
+0375 df200010 arg 16 ,loopcnt 
+0376 d8c00f00 arg mem_dcoc_buf ,contr 
+0377 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-036d 20758000 rtn wake 
-036e 20202272 branch rfpll_aac_ghpc + 1 
+0378 20758000 rtn wake 
+0379 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-036f 20600000 rtn 
+037a 20600000 rtn 
 
 p_sadc_calibration:
-0370 20758000 rtn wake 
-0371 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0372 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-0373 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0374 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0375 67f080cd store 1 ,core_sadc_clkdiv 
-0376 20000bb8 nop 3000 
-0377 20400398 call p_sadc_read 
-0378 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0379 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-037a df200008 arg 8 ,loopcnt 
-037b 20406f58 call sadc_cal_read + 1 
-037c 6fe0c419 fetch 1 ,mem_spi_write_addr 
-037d 67e0c433 store 1 ,mem_adc_cal_c7 
-037e 6240c419 storer regb ,1 ,mem_spi_write_addr 
-037f 20600000 rtn 
+037b 20758000 rtn wake 
+037c 708a0777 jam 0x77 ,core_gpadc_ctrl 
+037d 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+037e 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+037f 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+0380 67f080cd store 1 ,core_sadc_clkdiv 
+0381 20000bb8 nop 3000 
+0382 204003a3 call p_sadc_read 
+0383 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+0384 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+0385 df200008 arg 8 ,loopcnt 
+0386 20406f58 call sadc_cal_read + 1 
+0387 6fe0c419 fetch 1 ,mem_spi_write_addr 
+0388 67e0c433 store 1 ,mem_adc_cal_c7 
+0389 6240c419 storer regb ,1 ,mem_spi_write_addr 
+038a 20600000 rtn 
 
 p_enable_adc:
-0380 2040038e call p_sadc_cal_write 
-0381 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-0382 793ffe07 set0 7 ,pdata 
-0383 67f08a09 store 1 ,core_gpadc_cfg1 
-0384 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0385 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0386 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0387 20406f90 call sadc_channel 
-0388 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0389 67f080cd store 1 ,core_sadc_clkdiv 
-038a 20000bb8 nop 3000 
-038b 20400398 call p_sadc_read 
-038c 7080cd00 jam 0 ,core_sadc_clkdiv 
-038d 20206fa1 branch sadc_dma 
+038b 20400399 call p_sadc_cal_write 
+038c 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+038d 793ffe07 set0 7 ,pdata 
+038e 67f08a09 store 1 ,core_gpadc_cfg1 
+038f 708a0777 jam 0x77 ,core_gpadc_ctrl 
+0390 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+0391 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+0392 20406f90 call sadc_channel 
+0393 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+0394 67f080cd store 1 ,core_sadc_clkdiv 
+0395 20000bb8 nop 3000 
+0396 204003a3 call p_sadc_read 
+0397 7080cd00 jam 0 ,core_sadc_clkdiv 
+0398 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-038e 6ff080cc fetch 1 ,core_sadc_ctrl 
-038f 79207e01 set1 1 ,pdata 
-0390 67f080cc store 1 ,core_sadc_ctrl 
-0391 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-0392 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-0393 67e0c419 store 1 ,mem_spi_write_addr 
-0394 df200008 arg 8 ,loopcnt 
-0395 20406f67 call sadc_cal_write + 4 
-0396 6240c419 storer regb ,1 ,mem_spi_write_addr 
-0397 20600000 rtn 
+0399 6ff080cc fetch 1 ,core_sadc_ctrl 
+039a 79207e01 set1 1 ,pdata 
+039b 67f080cc store 1 ,core_sadc_ctrl 
+039c 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+039d 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+039e 67e0c419 store 1 ,mem_spi_write_addr 
+039f df200008 arg 8 ,loopcnt 
+03a0 20406f67 call sadc_cal_write + 4 
+03a1 6240c419 storer regb ,1 ,mem_spi_write_addr 
+03a2 20600000 rtn 
 
 p_sadc_read:
-0398 7080cc03 jam 0x03 ,core_sadc_ctrl 
+03a3 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-0399 6ff08129 fetch 1 ,core_perf_status 
-039a c3028399 bbit0 saradc_done ,p_sadc_read_wait 
-039b 68590164 fetcht 2 ,core_sadc_data 
-039c 6049440a storet 2 ,mem_adc_current_value 
-039d 7080cc00 jam 0x00 ,core_sadc_ctrl 
-039e 20600000 rtn 
+03a4 6ff08129 fetch 1 ,core_perf_status 
+03a5 c30283a4 bbit0 saradc_done ,p_sadc_read_wait 
+03a6 68590164 fetcht 2 ,core_sadc_data 
+03a7 6049440a storet 2 ,mem_adc_current_value 
+03a8 7080cc00 jam 0x00 ,core_sadc_ctrl 
+03a9 20600000 rtn 
 
 p_set_lemode:
-039f 708a8211 jam 0x11 ,0x8a82 
-03a0 708a8d12 jam 0x12 ,0x8a8d 
-03a1 708a8e0a jam 0x0a ,0x8a8e 
-03a2 6fe0c099 fetch 1 ,mem_fcomp_div 
-03a3 c00803b8 beq xtal_16m ,p_set_lemode_2m_16m 
-03a4 58005762 setarg 0x5762 
-03a5 67f10907 store 2 ,0x8907 
-
-p_set_lemode_2m:
-03a6 70890103 jam 3 ,0x8901 
-03a7 70893003 jam 3 ,0x8930 
-03a8 c6168000 rtnmark1 mark_ble_2m 
-03a9 70890101 jam 1 ,0x8901 
-03aa 708a8207 jam 0x07 ,0x8a82 
-03ab 708a8d44 jam 0x44 ,0x8a8d 
+03aa 708a8211 jam 0x11 ,0x8a82 
+03ab 708a8d12 jam 0x12 ,0x8a8d 
 03ac 708a8e0a jam 0x0a ,0x8a8e 
 03ad 6fe0c099 fetch 1 ,mem_fcomp_div 
-03ae c00803b5 beq xtal_16m ,p_set_lemode_1m_16m 
-03af 58002bb1 setarg 0x2bb1 
+03ae c00803c3 beq xtal_16m ,p_set_lemode_2m_16m 
+03af 58005762 setarg 0x5762 
 03b0 67f10907 store 2 ,0x8907 
 
+p_set_lemode_2m:
+03b1 70890103 jam 3 ,0x8901 
+03b2 70893003 jam 3 ,0x8930 
+03b3 c6168000 rtnmark1 mark_ble_2m 
+03b4 70890101 jam 1 ,0x8901 
+03b5 708a8207 jam 0x07 ,0x8a82 
+03b6 708a8d44 jam 0x44 ,0x8a8d 
+03b7 708a8e0a jam 0x0a ,0x8a8e 
+03b8 6fe0c099 fetch 1 ,mem_fcomp_div 
+03b9 c00803c0 beq xtal_16m ,p_set_lemode_1m_16m 
+03ba 58002bb1 setarg 0x2bb1 
+03bb 67f10907 store 2 ,0x8907 
+
 p_set_lemode_1m:
-03b1 c6978000 rtnmark0 mark_ble_lr 
-03b2 70893024 jam 0x24 ,0x8930 
-03b3 70890105 jam 5 ,0x8901 
-03b4 20600000 rtn 
+03bc c6978000 rtnmark0 mark_ble_lr 
+03bd 70893024 jam 0x24 ,0x8930 
+03be 70890105 jam 5 ,0x8901 
+03bf 20600000 rtn 
 
 p_set_lemode_1m_16m:
-03b5 58004189 setarg 0x4189 
-03b6 67f10907 store 2 ,0x8907 
-03b7 202003b1 branch p_set_lemode_1m 
+03c0 58004189 setarg 0x4189 
+03c1 67f10907 store 2 ,0x8907 
+03c2 202003bc branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-03b8 58008312 setarg 0x8312 
-03b9 67f10907 store 2 ,0x8907 
-03ba 202003a6 branch p_set_lemode_2m 
+03c3 58008312 setarg 0x8312 
+03c4 67f10907 store 2 ,0x8907 
+03c5 202003b1 branch p_set_lemode_2m 
 
 p_le_parse:
-03bb 6fe0c334 fetch 1 ,mem_le_packet_llid 
-03bc c1000000 rtneq llid_reserved 
-03bd c001b04a beq llid_le_ll ,le_parse_ll 
-03be 202028e1 branch le_parse_l2cap 
+03c6 6fe0c334 fetch 1 ,mem_le_packet_llid 
+03c7 c1000000 rtneq llid_reserved 
+03c8 c001b04a beq llid_le_ll ,le_parse_ll 
+03c9 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-03bf 793f8030 set0 mark_ble_crc_fail ,mark 
-03c0 20202af6 branch le_init_adv + 1 
+03ca 793f8030 set0 mark_ble_crc_fail ,mark 
+03cb 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-03c1 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-03c2 c0553329 beq datatype_bind ,g24_bind_first_step 
-03c3 c02ab33a beq datatype_config ,g24_bind_second_step 
-03c4 c01103d7 beq datatype_ok ,p_g24_bind_third_step 
-03c5 c07f83c7 beq datatype_attemp ,p_g24_data_attemp 
-03c6 20600000 rtn 
+03cc 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+03cd c0553329 beq datatype_bind ,g24_bind_first_step 
+03ce c02ab33a beq datatype_config ,g24_bind_second_step 
+03cf c01103e2 beq datatype_ok ,p_g24_bind_third_step 
+03d0 c07f83d2 beq datatype_attemp ,p_g24_data_attemp 
+03d1 20600000 rtn 
 
 p_g24_data_attemp:
-03c7 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03c8 c00083cb beq datatype_device1 ,p_g24_data_attemp_device1 
-03c9 c00103d1 beq datatype_device2 ,p_g24_data_attemp_device2 
-03ca 20600000 rtn 
+03d2 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+03d3 c00083d6 beq datatype_device1 ,p_g24_data_attemp_device1 
+03d4 c00103dc beq datatype_device2 ,p_g24_data_attemp_device2 
+03d5 20600000 rtn 
 
 p_g24_data_attemp_device1:
-03cb 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-03cc 247a0000 nrtn blank 
-03cd 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
-03ce 67e2462c store 4 ,mem_24g_transmitter_addr 
+03d6 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+03d7 247a0000 nrtn blank 
+03d8 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+03d9 67e2462c store 4 ,mem_24g_transmitter_addr 
 
 p_g24_store_device1_addr:
-03cf 67e24630 store 4 ,mem_24g_device1_addr 
-03d0 20600000 rtn 
+03da 67e24630 store 4 ,mem_24g_device1_addr 
+03db 20600000 rtn 
 
 p_g24_data_attemp_device2:
-03d1 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-03d2 247a0000 nrtn blank 
-03d3 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
-03d4 67e2462c store 4 ,mem_24g_transmitter_addr 
+03dc 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+03dd 247a0000 nrtn blank 
+03de 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+03df 67e2462c store 4 ,mem_24g_transmitter_addr 
 
 p_g24_store_device2_addr:
-03d5 67e24634 store 4 ,mem_24g_device2_addr 
-03d6 20600000 rtn 
+03e0 67e24634 store 4 ,mem_24g_device2_addr 
+03e1 20600000 rtn 
 
 p_g24_bind_third_step:
-03d7 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-03d8 203a03dd branch p_g24_bind_third_step_skip ,blank 
-03d9 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
-03da 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-03db 98467c00 isub temp ,null 
-03dc 24628000 nrtn zero 
+03e2 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+03e3 203a03e8 branch p_g24_bind_third_step_skip ,blank 
+03e4 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+03e5 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+03e6 98467c00 isub temp ,null 
+03e7 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-03dd 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03de c00083e1 beq datatype_device1 ,p_g24_bind_third_step_device1 
-03df c00103e8 beq datatype_device2 ,p_g24_bind_third_step_device2 
-03e0 20600000 rtn 
+03e8 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+03e9 c00083ec beq datatype_device1 ,p_g24_bind_third_step_device1 
+03ea c00103f3 beq datatype_device2 ,p_g24_bind_third_step_device2 
+03eb 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-03e1 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-03e2 247a0000 nrtn blank 
-03e3 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-03e4 c00103e6 beq 2 ,p_g24_bind_dvc1_step_success 
-03e5 20600000 rtn 
+03ec 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+03ed 247a0000 nrtn blank 
+03ee 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+03ef c00103f1 beq 2 ,p_g24_bind_dvc1_step_success 
+03f0 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-03e6 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-03e7 2020336b branch g24_bind_dvc1_step_success + 1 
+03f1 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+03f2 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-03e8 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-03e9 247a0000 nrtn blank 
-03ea 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-03eb c08003ed bne 0 ,p_g24_bind_dvc2_step_success 
-03ec 20600000 rtn 
+03f3 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+03f4 247a0000 nrtn blank 
+03f5 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+03f6 c08003f8 bne 0 ,p_g24_bind_dvc2_step_success 
+03f7 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-03ed 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-03ee 20403393 call g24_binding_dvc2_living 
-03ef 20203378 branch g24_bind_dvc2_step_success + 1 
+03f8 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+03f9 20403393 call g24_binding_dvc2_living 
+03fa 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-03f0 6fe0c616 fetch 1 ,mem_24g_work_mode 
-03f1 c1000000 rtneq dongle_work 
-03f2 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-03f3 247a0000 nrtn blank 
-03f4 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-03f5 247a0000 nrtn blank 
-03f6 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-03f7 207a0000 rtn blank 
-03f8 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-03f9 c1800000 rtnne 0 
-03fa 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-03fb c1800000 rtnne 0 
-03fc 20203436 branch g24_mode_switch_bind_search + 9 
+03fb 6fe0c616 fetch 1 ,mem_24g_work_mode 
+03fc c1000000 rtneq dongle_work 
+03fd 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+03fe 247a0000 nrtn blank 
+03ff 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+0400 247a0000 nrtn blank 
+0401 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+0402 207a0000 rtn blank 
+0403 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+0404 c1800000 rtnne 0 
+0405 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0406 c1800000 rtnne 0 
+0407 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-03fd 6fe0c616 fetch 1 ,mem_24g_work_mode 
-03fe c1808000 rtnne dongle_bind 
-03ff 20400401 call p_g24_bind_init 
-0400 2020346d branch g24_bind_mode_auto + 4 
+0408 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0409 c1808000 rtnne dongle_bind 
+040a 2040040c call p_g24_bind_init 
+040b 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-0401 6fe0c615 fetch 1 ,mem_24g_mode_init 
-0402 c3808000 rtnbit1 dongle_bind 
-0403 79207e01 set1 dongle_bind ,pdata 
-0404 67e0c615 store 1 ,mem_24g_mode_init 
-0405 58000000 setarg 0 
-0406 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-0407 20203307 branch g24_bind_init + 8 
+040c 6fe0c615 fetch 1 ,mem_24g_mode_init 
+040d c3808000 rtnbit1 dongle_bind 
+040e 79207e01 set1 dongle_bind ,pdata 
+040f 67e0c615 store 1 ,mem_24g_mode_init 
+0410 58000000 setarg 0 
+0411 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+0412 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-0408 70804300 jam 0 ,0x8043 
-0409 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-040a 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-040b 20407906 call usb_isr 
-040c 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-040d 207a0000 rtn blank 
-040e 7008f700 jam 0 ,mem_usb0_get_set_report 
-040f 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-0410 d84002a4 arg pc_set_report ,temp 
-0411 98467c00 isub temp ,null 
-0412 24628000 nrtn zero 
-0413 20200201 branch p_dongle_usb_data_received_analysis 
+0413 70804300 jam 0 ,0x8043 
+0414 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+0415 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+0416 20407906 call usb_isr 
+0417 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+0418 207a0000 rtn blank 
+0419 7008f700 jam 0 ,mem_usb0_get_set_report 
+041a 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+041b d84002a4 arg pc_set_report ,temp 
+041c 98467c00 isub temp ,null 
+041d 24628000 nrtn zero 
+041e 20200201 branch p_dongle_usb_data_received_analysis 
 
 p_wdt_kick:
-0414 58000010 setarg 16 
-0415 202070c8 branch wdt_init_config 
+041f 58000010 setarg 16 
+0420 202070c8 branch wdt_init_config 
 
 p_dongle_default_init:
-0416 204047c3 call dongle_default_init + 1 
-0417 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-0418 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-0419 7045ca00 jam off ,mem_24g_disable_fec1 
-041a 20403281 call g24_enable_1m 
-041b 6fe0c669 fetch 1 ,mem_dg_sys_config 
-041c c4000000 rtnbit0 dg_enable_new_revision 
-041d 7045ca01 jam on ,mem_24g_disable_fec1 
-041e 20203284 branch g24_enable_2m 
+0421 204047c3 call dongle_default_init + 1 
+0422 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+0423 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+0424 7045ca00 jam off ,mem_24g_disable_fec1 
+0425 20403281 call g24_enable_1m 
+0426 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0427 c4000000 rtnbit0 dg_enable_new_revision 
+0428 7045ca01 jam on ,mem_24g_disable_fec1 
+0429 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_fec1:
-041f 7858fc00 disable user7 
-0420 280ffe2f isolate1 mark_ble_lr ,mark 
-0421 2040b16f call g24_lr_receive_pdu_len ,true 
-0422 2038b18a branch g24_lr_len_error ,user7 
-0423 2040317d call g24_receive_byte 
-0424 67e0c4f7 store 1 ,mem_24g_rxbuf 
-0425 c513842a bmark1 mark_24g_rxmode ,p_g24_receive_skip 
-0426 6fe0c4f7 fetch 1 ,mem_24g_rxbuf 
-0427 6848c589 fetcht 1 ,mem_24g_data_type 
-0428 a8400e00 icompare bits_data ,temp 
-0429 2420b18c nbranch g24_type_error ,true 
+042a 7858fc00 disable user7 
+042b 280ffe2f isolate1 mark_ble_lr ,mark 
+042c 2040b16f call g24_lr_receive_pdu_len ,true 
+042d 2038b18a branch g24_lr_len_error ,user7 
+042e 2040317d call g24_receive_byte 
+042f 67e0c4f7 store 1 ,mem_24g_rxbuf 
+0430 c5138435 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
+0431 6fe0c4f7 fetch 1 ,mem_24g_rxbuf 
+0432 6848c589 fetcht 1 ,mem_24g_data_type 
+0433 a8400e00 icompare bits_data ,temp 
+0434 2420b18c nbranch g24_type_error ,true 
 
 p_g24_receive_skip:
-042a 2040317d call g24_receive_byte 
-042b 280ffe2f isolate1 mark_ble_lr ,mark 
-042c 2040b178 call g24_lr_receive_payload_len ,true 
-042d e7e08005 istore 1 ,contw 
-042e 1fe90400 rshift3 pdata ,temp 
-042f 2feffe00 isolate1 0 ,pdata 
-0430 20408437 call p_g24_receive_payload_len_ext ,true 
-0431 18427e00 copy temp ,pdata 
-0432 1fe67c3f sub pdata ,0x3f ,null 
-0433 2421318e nbranch g24_len_over_error ,positive 
-0434 1fe27200 copy pdata ,loopcnt 
-0435 2022b154 branch g24rx_nopayload ,zero 
-0436 20203151 branch g24rx_loop 
+0435 2040317d call g24_receive_byte 
+0436 280ffe2f isolate1 mark_ble_lr ,mark 
+0437 2040b178 call g24_lr_receive_payload_len ,true 
+0438 e7e08005 istore 1 ,contw 
+0439 1fe90400 rshift3 pdata ,temp 
+043a 2feffe00 isolate1 0 ,pdata 
+043b 20408442 call p_g24_receive_payload_len_ext ,true 
+043c 18427e00 copy temp ,pdata 
+043d 1fe67c3f sub pdata ,0x3f ,null 
+043e 2421318e nbranch g24_len_over_error ,positive 
+043f 1fe27200 copy pdata ,loopcnt 
+0440 2022b154 branch g24rx_nopayload ,zero 
+0441 20203151 branch g24rx_loop 
 
 p_g24_receive_payload_len_ext:
-0437 79200405 set1 5 ,temp 
-0438 20600000 rtn 
+0442 79200405 set1 5 ,temp 
+0443 20600000 rtn 
 
 p_g24_receive_skip_end:
-0439 6fe0c669 fetch 1 ,mem_dg_sys_config 
-043a c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-043b 7837fc00 enable user3 
-043c 20000018 nop 24 
-043d 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-043e 79207e00 set1 bit_ack_24g ,pdata 
-043f 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-0440 204033a5 call g24_ackpayload_prep 
-0441 204031e5 call g24_transmit_prep 
-0442 20203195 branch g24_transmit 
+0444 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0445 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+0446 7837fc00 enable user3 
+0447 20000018 nop 24 
+0448 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+0449 79207e00 set1 bit_ack_24g ,pdata 
+044a 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+044b 204033a5 call g24_ackpayload_prep 
+044c 204031e5 call g24_transmit_prep 
+044d 20203195 branch g24_transmit 
 
 p_g24_read_len_pid_crc:
-0443 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0444 1fe90400 rshift3 pdata ,temp 
-0445 2feffe00 isolate1 0 ,pdata 
-0446 20408437 call p_g24_receive_payload_len_ext ,true 
-0447 18427e00 copy temp ,pdata 
-0448 67e0c57d store 1 ,mem_24g_rxdata_length 
-0449 1fe0fe01 increase 1 ,pdata 
-044a d8c044f8 arg mem_24g_rxbuf + 1 ,contr 
-044b 98c08c00 iadd contr ,contr 
-044c efe18006 ifetch 3 ,contr 
-044d 67e1c580 store 3 ,mem_24g_sta_crc 
 044e 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-044f 1fe37e00 rshift pdata ,pdata 
-0450 1fe17e03 and pdata ,0x03 ,pdata 
-0451 67e0c586 store 1 ,mem_24g_sta_pid 
-0452 20600000 rtn 
+044f 1fe90400 rshift3 pdata ,temp 
+0450 2feffe00 isolate1 0 ,pdata 
+0451 20408442 call p_g24_receive_payload_len_ext ,true 
+0452 18427e00 copy temp ,pdata 
+0453 67e0c57d store 1 ,mem_24g_rxdata_length 
+0454 1fe0fe01 increase 1 ,pdata 
+0455 d8c044f8 arg mem_24g_rxbuf + 1 ,contr 
+0456 98c08c00 iadd contr ,contr 
+0457 efe18006 ifetch 3 ,contr 
+0458 67e1c580 store 3 ,mem_24g_sta_crc 
+0459 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+045a 1fe37e00 rshift pdata ,pdata 
+045b 1fe17e03 and pdata ,0x03 ,pdata 
+045c 67e0c586 store 1 ,mem_24g_sta_pid 
+045d 20600000 rtn 
 
 p_g24_bind_data_process:
-0453 204033be call g24_rx_interrupt_clear 
-0454 20403119 call g24_receive_packet 
-0455 2437b3be nbranch g24_rx_interrupt_clear ,user3 
-0456 2040045a call p_g24_bind_data_parse 
-0457 20400039 call p_g24_transmit_ack 
-0458 20400470 call p_g24_bind_device_status_check 
-0459 20203316 branch g24_bind_data_process + 7 
+045e 204033be call g24_rx_interrupt_clear 
+045f 20403119 call g24_receive_packet 
+0460 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+0461 20400465 call p_g24_bind_data_parse 
+0462 20400039 call p_g24_transmit_ack 
+0463 2040047b call p_g24_bind_device_status_check 
+0464 20203316 branch g24_bind_data_process + 7 
 
 p_g24_bind_data_parse:
-045a 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
-045b d8c044f7 arg mem_24g_rxbuf ,contr 
-045c d8a04a45 arg mem_24g_rxdata_temp_new ,contw 
-045d 20407c89 call memcpy8 
-045e 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-045f c0550464 beq datatype_bind ,p_g24_bind_first_step 
-0460 c02a8466 beq datatype_config ,p_g24_bind_second_step 
-0461 c01103d7 beq datatype_ok ,p_g24_bind_third_step 
-0462 c07fb59b beq datatype_attemp ,g24_data_attemp 
-0463 20600000 rtn 
+0465 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
+0466 d8c044f7 arg mem_24g_rxbuf ,contr 
+0467 d8a04a45 arg mem_24g_rxdata_temp_new ,contw 
+0468 20407c89 call memcpy8 
+0469 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+046a c055046f beq datatype_bind ,p_g24_bind_first_step 
+046b c02a8471 beq datatype_config ,p_g24_bind_second_step 
+046c c01103e2 beq datatype_ok ,p_g24_bind_third_step 
+046d c07fb59b beq datatype_attemp ,g24_data_attemp 
+046e 20600000 rtn 
 
 p_g24_bind_first_step:
-0464 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0465 2020332a branch g24_bind_first_step + 1 
+046f 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0470 2020332a branch g24_bind_first_step + 1 
 
 p_g24_bind_second_step:
-0466 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-0467 203a046c branch p_g24_bind_second_step_skip ,blank 
-0468 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
-0469 684a44f1 fetcht 4 ,mem_24g_lap 
-046a 98467c00 isub temp ,null 
-046b 24628000 nrtn zero 
+0471 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+0472 203a0477 branch p_g24_bind_second_step_skip ,blank 
+0473 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+0474 684a44f1 fetcht 4 ,mem_24g_lap 
+0475 98467c00 isub temp ,null 
+0476 24628000 nrtn zero 
 
 p_g24_bind_second_step_skip:
-046c 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-046d c000b344 beq datatype_device1 ,g24_bind_second_step_device1 
-046e c0013351 beq datatype_device2 ,g24_bind_second_step_device2 
-046f 20600000 rtn 
+0477 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0478 c000b344 beq datatype_device1 ,g24_bind_second_step_device1 
+0479 c0013351 beq datatype_device2 ,g24_bind_second_step_device2 
+047a 20600000 rtn 
 
 p_g24_bind_device_status_check:
-0470 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
-0471 207a0000 rtn blank 
+047b 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
+047c 207a0000 rtn blank 
 
 p_g24_bind_device_status:
-0472 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0473 c000b38d beq datatype_device1 ,g24_binding_dvc1_living 
-0474 c0013393 beq datatype_device2 ,g24_binding_dvc2_living 
-0475 20600000 rtn 
+047d 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+047e c000b38d beq datatype_device1 ,g24_binding_dvc1_living 
+047f c0013393 beq datatype_device2 ,g24_binding_dvc2_living 
+0480 20600000 rtn 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/program/patch.prog	(revision 3189)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/program/patch.prog	(working copy)
@@ -829,6 +829,8 @@
 	bbit1 DATATYPE_HEART,p_g24_data_receive_heart_authca_audio
 	branch g24_rx_interrupt_clear
 p_g24_data_receive_heart_authca_audio:
+	jam 0,mem_24g_ackpayload_enable_temp
+	jam 0,mem_24g_auth_step3_flag
 	fetch 1,mem_24g_rxdata_temp_new+2
 	and pdata,0x0f,pdata
 	beq DATATYPE_DEVICE1,g24_data_device1
@@ -900,15 +902,10 @@
 	fetch 1,mem_dongle_usb_ep2_data_flag
 	rtn blank
 	jam 0,mem_dongle_usb_ep2_data_flag
+p_24g_ackpayload_enable_set:
 	jam REPORT_ID_DATA_OUT,mem_24g_ackpayload_enable
 	jam REPORT_ID_DATA_OUT,mem_24g_ackpayload_enable_temp
-	fetch 1,mem_dongle_g24_usb_ep2_ack_data+1
-	increase 2,pdata
-	store 1,mem_dongle_usb_ep2_data_len
-	copy pdata,loopcnt
-	arg mem_dongle_g24_usb_ep2_ack_data,contr
-	arg mem_24g_txbuf,contw
-	branch memcpy
+	rtn
 
 p_dongle_g24_mouse_audio_data:
 	fetchr loopcnt,1,mem_24g_rxdata_length
@@ -952,6 +949,7 @@
 	arg mem_usb_authca_data_last,rega
 	call compare_loop
 	ncall p_dongle_usb_tx_authca_data,zero
+	call p_mouse_auth_step_third_check,zero
 	fetchr loopcnt,1,mem_24g_rxdata_length
 	increase -1,pdata
 	arg mem_usb_authca_data_sta,contr
@@ -960,6 +958,13 @@
 	call g24_rx_interrupt_clear
 	branch p_dongle_g24_mouse_heart_data
 
+p_mouse_auth_step_third_check:
+	fetch 1,mem_24g_rxdata_length
+	sub pdata,0x21,null
+	rtn positive
+	jam 1,mem_24g_auth_step3_flag
+	branch p_24g_ackpayload_enable_set
+	
 
 p_dongle_usb_tx_audio_data:	// all length 1B + IN_DATA_ID 1B + payload length 1B + payload N*B
 	jam REPORT_ID_AUDIO_DATA_IN,mem_usb_audio_data+1	//mem_usb_audio_data 03 41 02 00
@@ -1042,6 +1047,8 @@
 	beq REPORT_ID_DATA_OUT,p_dongle_ep2_ackpayload_prep
 	rtn
 p_dongle_ep2_ackpayload_prep:
+	fetch 1,mem_24g_auth_step3_flag
+	nbranch p_mouse_auth_step3_sucess_prep,blank
 	jam REPORT_ID_DATA_OUT,mem_24g_ackpayload_enable
 	jam REPORT_ID_DATA_OUT,mem_24g_ackpayload_enable_temp
 	fetch 1,mem_dongle_usb_ep2_data_len
@@ -1051,6 +1058,17 @@
 	arg mem_24g_txbuf_new,contw
 	branch memcpy
 
+p_mouse_auth_step3_sucess_prep:	//report id+len+0xff
+	jam REPORT_ID_DATA_OUT,mem_24g_ackpayload_enable
+	jam REPORT_ID_DATA_OUT,mem_24g_ackpayload_enable_temp
+	call p_g24_txbuf_clear
+	jam 3,mem_24g_datalen
+	jam REPORT_ID_AUTHCA_DATA_OUT,mem_24g_txbuf_new
+	jam 3,mem_24g_txbuf_new+1
+	jam 0xff,mem_24g_txbuf_new+2
+	rtn
+
+
 p_usb_tx_data_ep1:
 	fetch 1,core_usb_txbusy
 	and_into 0x0f,pdata
@@ -1082,7 +1100,6 @@
 	arg mem_usb_txbuf2,rega
 	storer rega,2,core_usb_tx_saddr2
 	call usb_tx_buf
-	jam 0,mem_24g_ackpayload_enable_temp
 	branch p_usb_release_authca_buf
 
 p_usb_release_authca_buf:
Index: sched/1305.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/sched/1305.dat	(revision 3189)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/sched/1305.dat	(working copy)
@@ -9,7 +9,7 @@
 mem_lpm_hv_sel:a5
 
 mem_fcomp_div:18
-mem_xtal_c_sel:3e
+mem_xtal_c_sel:7f#3e
 mem_gpio_wakeup_cfg:00 00 00 00 00 00 00 00 00 00 00 00
 
 mem_version:08 0e 05 03 00
Index: sched/dongle.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/sched/dongle.dat	(revision 3189)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/sched/dongle.dat	(working copy)
@@ -34,7 +34,7 @@
 mem_24g_pair_tx_power_init:94 #94: -20dBm  9e: -30dBm  9f: -35dBm a0: -40dBm 
 
 #rf config
-mem_24g_lap:16 37 13 74 12 23#low 4B used for 24g rxaddr
+mem_24g_lap:10 19 13 74 12 23#low 4B used for 24g rxaddr
 #mem_24g_tx_phy:01#0x01:1M/0x02:2M/0x04:S2/0x84:S8
 #mem_24g_rx_phy:01#0x01:1M/0x02:2M/0x04:S2/0x84:S8
 #mem_24g_no_ack:00#no ack
