Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/app_dongle.format	(revision 3558)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/app_dongle.format	(working copy)
@@ -34,9 +34,6 @@
 1 mem_setreport_count
 1 mem_usb_rx_endpoint
 70 mem_config_new
-65 mem_usb_authca_data
-65 mem_usb_authca_data_sta
-65 mem_usb_authca_data_last
 1 mem_dongle_usb_header
 1 mem_dongle_usb_opcode
 1 mem_dongle_usb_len
@@ -47,10 +44,10 @@
 64 mem_dongle_24g_ep2_data
 220 mem_usb_ep2_config
 1 mem_24g_ackpayload_enable_temp
-65 mem_usb_protocol_data
-65 mem_usb_protocol_data_sta
-65 mem_usb_protocol_data_last
-64 mem_usb_rf_state_data
+65 mem_usb_device_info_data
+65 mem_usb_http_data
+65 mem_usb_dpi_data
+65 mem_usb_rf_state_data
 1 mem_usb_rf_state_report_flag
 1 mem_usb_rf_state_report_flag1
 
Index: format/g24_protocol_stack/24g_pair.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/g24_protocol_stack/24g_pair.format	(revision 3558)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/g24_protocol_stack/24g_pair.format	(working copy)
@@ -45,10 +45,9 @@
 0x55 DATATYPE_CONFIG	//bind step 2
 0x22 DATATYPE_OK		//bind step 3
 0xff DATATYPE_ATTEMP	//reconn
-7 DATATYPE_AUTHCA
-6 DATATYPE_HEART
-5 DATATYPE_PROTOCOL
-4 DATATYPE_HTTP
+4 DATA_HTTP
+5 DATA_DPI
+6 DATA_DEVICE_INFO
 )
 
 (
Index: format/usb.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/usb.format	(revision 3558)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/usb.format	(working copy)
@@ -192,10 +192,9 @@
 0x20 USB_EP2_MS
 0x21 USB_EP2_MULTIKEY
 0x22 USB_EP2_SYSTEMKEY
-0x23 USB_EP2_PROTOCOL
-0x24 USB_EP2_AUDIO
-0x26 USB_EP2_AUTHCA
-0x27 USB_EP2_MSKB_STATE
+0x23 USB_EP2_DEVICE_INFO
+0x24 USB_EP2_DPI
+0x25 USB_EP2_MSKB_STATE
 0x01 MAC_BOOT_MODE
 0x02 R_KEY
 0x03 LR_KEY
Index: output/eeprom.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(revision 3558)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-0a
-11
+26
+10
 c2
 84
 00
@@ -23,7 +23,7 @@
 c0
 0a
 03
-c4
+8b
 c0
 0a
 81
@@ -42,8 +42,8 @@
 85
 c0
 1b
-84
-2e
+83
+f5
 c0
 1c
 00
@@ -54,8 +54,8 @@
 e0
 c0
 1e
-84
-1d
+83
+e4
 c0
 1f
 00
@@ -67,11 +67,11 @@
 c0
 6d
 03
-95
+5c
 c0
 6e
 03
-a5
+6c
 c0
 7f
 01
@@ -103,31 +103,31 @@
 c0
 1c
 83
-e0
+a7
 c0
 26
 83
-e4
+ab
 c0
 37
-84
-38
+83
+ff
 c0
 41
 03
-e6
+ad
 c0
 42
 02
 30
 c0
 44
-04
-05
+03
+cc
 c0
 45
-04
-12
+03
+d9
 c1
 46
 80
@@ -222,19 +222,19 @@
 1b
 6f
 e0
-ca
-08
+c9
+46
 c1
 00
 80
 00
 70
-4a
-08
+49
+46
 01
 70
-4a
-07
+49
+45
 00
 20
 20
@@ -242,72 +242,72 @@
 3b
 70
 49
-c7
+04
 40
 70
 49
-c8
+05
 a1
 70
 49
-c9
+06
 02
 70
 49
-ca
+07
 04
 70
 49
-cb
+08
 01
 70
 49
-cc
+09
 00
 70
 06
 6f
-27
+25
 da
 20
-4a
-09
+49
+47
 20
 20
 7d
 8b
 70
 49
-c7
+04
 40
 70
 49
-c8
+05
 a1
 70
 49
-c9
+06
 02
 70
 49
-ca
+07
 04
 70
 49
-cb
+08
 01
 70
 49
-cc
+09
 01
 70
 06
 6f
-27
+25
 da
 20
-4a
-09
+49
+47
 20
 20
 7d
@@ -327,7 +327,7 @@
 20
 40
 02
-b9
+82
 20
 40
 00
@@ -434,8 +434,8 @@
 e1
 6f
 e0
-c9
-03
+c8
+40
 67
 e0
 c6
@@ -647,11 +647,11 @@
 20
 40
 03
-67
+2e
 20
 40
 03
-92
+59
 20
 40
 00
@@ -667,7 +667,7 @@
 20
 20
 03
-94
+5b
 20
 75
 80
@@ -1214,8 +1214,8 @@
 32
 58
 00
-48
-27
+47
+64
 67
 e1
 07
@@ -1223,7 +1223,7 @@
 58
 00
 02
-41
+44
 67
 e1
 45
@@ -1366,8 +1366,8 @@
 06
 67
 e0
-c7
-a2
+c6
+df
 e8
 40
 80
@@ -1378,8 +1378,8 @@
 00
 60
 48
-c7
-a3
+c6
+e0
 20
 20
 01
@@ -1394,8 +1394,8 @@
 63
 6f
 e0
-c7
-a2
+c6
+df
 c0
 02
 81
@@ -1417,8 +1417,8 @@
 01
 63
 70
-47
-a4
+46
+e1
 a2
 20
 20
@@ -1426,11 +1426,11 @@
 7e
 70
 49
-c7
+04
 40
 70
 49
-c8
+05
 a1
 d8
 40
@@ -1442,15 +1442,15 @@
 00
 6f
 e0
-c7
-a2
+c6
+df
 1f
 e2
 26
 00
 70
-47
-a2
+46
+df
 06
 58
 00
@@ -1461,13 +1461,13 @@
 fe
 00
 70
-47
-a1
+46
+de
 02
 67
 e0
-c7
-a3
+c6
+e0
 60
 4c
 06
@@ -1479,11 +1479,11 @@
 d8
 a0
 49
-c9
+06
 6f
 e1
-c7
-a1
+c6
+de
 e7
 e1
 80
@@ -1515,18 +1515,18 @@
 70
 06
 6f
-27
+25
 da
 20
-4a
-09
+49
+47
 20
 20
 7d
 8b
 70
-47
-a4
+46
+e1
 a4
 20
 20
@@ -1541,8 +1541,8 @@
 11
 a2
 70
-49
-03
+48
+40
 a2
 6f
 20
@@ -1554,16 +1554,16 @@
 02
 67
 20
-c7
-a5
+c6
+e2
 d8
 c0
 08
 75
 d8
 a0
-47
-a6
+46
+e3
 20
 20
 7c
@@ -1574,8 +1574,8 @@
 40
 d8
 a0
-47
-a6
+46
+e3
 20
 20
 7c
@@ -2219,26 +2219,26 @@
 20
 40
 02
-c3
+8c
 20
 20
-03
-35
+02
+fe
 6f
 e0
-ca
-07
+c9
+45
 c1
 00
 80
 00
 70
-4a
-08
+49
+46
 00
 70
-4a
-07
+49
+45
 01
 20
 20
@@ -2249,8 +2249,8 @@
 02
 2b
 70
-49
-03
+48
+40
 00
 70
 46
@@ -2274,20 +2274,16 @@
 c2
 c2
 82
-33
-c4
+02
+3b
 c2
-83
 82
-3c
+82
+3b
 c2
 83
 02
-3c
-c2
-82
-82
-3c
+3b
 20
 20
 33
@@ -2312,30 +2308,6 @@
 20
 33
 be
-6f
-e0
-c5
-ea
-c2
-83
-82
-81
-c2
-83
-02
-65
-c2
-82
-82
-6b
-c2
-82
-02
-47
-20
-20
-02
-4b
 70
 09
 0b
@@ -2355,6 +2327,26 @@
 6f
 e0
 c5
+ea
+c2
+82
+02
+40
+c2
+82
+82
+63
+c2
+83
+02
+6e
+20
+20
+02
+49
+6f
+e0
+c5
 7d
 1f
 e6
@@ -2363,11 +2355,11 @@
 20
 22
 82
-5b
+59
 20
 40
 02
-5b
+59
 6f
 e0
 c5
@@ -2403,15 +2395,15 @@
 c2
 82
 02
-47
-c2
-83
-82
-81
+40
 c2
 82
 82
-6b
+63
+c2
+83
+02
+6e
 20
 60
 00
@@ -2455,222 +2447,18 @@
 20
 20
 02
-b0
-6f
-e0
-c7
-a4
-20
-7a
-00
-00
-70
-47
-a4
-00
-70
-46
-11
-a2
-70
-49
-03
-a2
-20
-60
-00
-00
-6f
-20
-c5
-7d
-1f
-20
-f3
-ff
-d8
-a0
-49
-06
-d8
-c0
-45
-eb
-20
-40
-7c
-da
-6f
-20
-c5
-7d
-1f
-e0
-ff
-ff
-d8
-a0
-49
-45
-d8
-c0
-49
-06
-20
-40
-7c
-da
-6f
-20
-c5
-7d
-1f
-e0
-ff
-ff
-da
-40
-49
-45
-da
-20
-49
-86
-20
-40
-7d
-64
-24
-42
-82
-98
-6f
-20
-c5
-7d
-1f
-e0
-ff
-ff
-d8
-c0
-49
-45
-d8
-a0
-49
-86
-20
-40
-7c
-da
-20
-20
-33
-be
-6f
-20
-c5
-7d
-1f
-20
-f3
-ff
-d8
-a0
-46
-e0
-d8
-c0
-45
-eb
-20
-40
-7c
-da
-6f
-20
-c5
-7d
-1f
-e0
-ff
-ff
-d8
-a0
-47
-1f
-d8
-c0
-46
-e0
-20
-40
-7c
-da
-6f
-20
-c5
-7d
-1f
-e0
-ff
-ff
-da
-40
-47
-1f
-da
-20
-47
-60
-20
-40
-7d
-64
-24
-42
-82
-a3
-6f
-20
-c5
-7d
-1f
-e0
-ff
-ff
-d8
-c0
-47
-1f
-d8
-a0
-47
-60
-20
-40
-7c
-da
-20
-40
-33
-be
-20
-20
-02
-65
+79
 58
 00
 00
 40
 67
 e0
-c9
-04
+c8
+c3
 70
-49
-05
+48
+c4
 a1
 6f
 e0
@@ -2686,12 +2474,12 @@
 00
 d8
 c0
-49
-06
+45
+eb
 d8
 a0
-49
-45
+48
+c5
 20
 40
 7c
@@ -2699,23 +2487,23 @@
 70
 09
 0c
-23
+24
 20
 20
 02
-b0
+79
 58
 00
 00
 40
 67
 e0
-c6
-de
+c8
+41
 70
-46
-df
-a3
+48
+42
+a1
 6f
 e0
 c5
@@ -2724,26 +2512,18 @@
 e0
 ff
 ff
-67
-e0
-c6
-e0
-6f
-20
-c5
-7d
 1f
-e0
-ff
-ff
-d8
-a0
-46
-e1
+e2
+72
+00
 d8
 c0
-47
-1f
+45
+eb
+d8
+a0
+48
+43
 20
 40
 7c
@@ -2751,11 +2531,11 @@
 70
 09
 0c
-26
+23
 20
 20
 02
-b0
+79
 6f
 e0
 89
@@ -2766,8 +2546,8 @@
 00
 da
 20
-4a
-09
+49
+47
 20
 40
 7d
@@ -2786,8 +2566,8 @@
 6f
 da
 20
-4a
-09
+49
+47
 20
 20
 7d
@@ -2807,7 +2587,7 @@
 20
 40
 02
-c0
+89
 d8
 e0
 00
@@ -2822,8 +2602,8 @@
 e1
 6f
 e0
-ca
-12
+c9
+50
 20
 7a
 00
@@ -2831,7 +2611,7 @@
 20
 20
 02
-47
+40
 6f
 f0
 8c
@@ -2879,38 +2659,38 @@
 c0
 08
 82
-d0
+99
 20
 20
 23
 5a
 6f
 e0
-ca
-12
+c9
+50
 1f
 e0
 fe
 01
 67
 e0
-ca
-12
+c9
+50
 20
 40
 02
-d8
+a1
 6f
 e0
-ca
-13
+c9
+51
 20
 7a
 00
 00
 70
-4a
-13
+49
+51
 00
 20
 20
@@ -2918,204 +2698,204 @@
 28
 6f
 e0
-ca
-12
+c9
+50
 c0
 00
-83
-0b
+82
+d4
 c0
 01
-03
-17
+02
+e0
 c0
 01
-83
-11
+82
+da
 c0
 02
-03
-11
+02
+da
 c0
 02
-83
-11
+82
+da
 c0
 0a
-03
-19
+02
+e2
 c0
 0a
-83
-11
+82
+da
 c0
 0b
-03
-1b
+02
+e4
 c0
 0b
-83
-11
+82
+da
 c0
 0c
-03
-1b
+02
+e4
 c0
 0c
-83
-11
+82
+da
 c0
 0d
-03
-1d
+02
+e6
 c0
 0d
-83
-11
+82
+da
 c0
 0e
-03
-1f
+02
+e8
 c0
 0e
-83
-11
+82
+da
 c0
 0f
-03
-15
+02
+de
 c0
 0f
-83
-11
+82
+da
 c0
 10
-03
-21
+02
+ea
 c0
 10
-83
-11
+82
+da
 c0
 11
-03
-21
+02
+ea
 c0
 11
-83
-11
+82
+da
 c0
 12
-03
-23
+02
+ec
 c0
 12
-83
-11
+82
+da
 c0
 13
-03
-25
+02
+ee
 c0
 13
-83
-11
+82
+da
 c0
 14
-03
-27
+02
+f0
 c0
 14
-83
-11
+82
+da
 c0
 15
-03
-29
+02
+f2
 c0
 15
-83
-11
+82
+da
 c0
 16
-03
-29
+02
+f2
 c0
 16
-83
-11
+82
+da
 c0
 17
-03
-2b
+02
+f4
 c0
 17
-83
-11
+82
+da
 c0
 18
-03
-2d
+02
+f6
 c0
 18
-83
-11
+82
+da
 c0
 19
-03
-25
+02
+ee
 c0
 19
-83
-11
+82
+da
 c0
 1a
-03
-23
+02
+ec
 c0
 1a
-83
-11
+82
+da
 c0
 1b
-03
-21
+02
+ea
 c0
 1b
-83
-11
+82
+da
 c0
 1c
-03
-2f
+02
+f8
 c0
 1c
-83
-11
+82
+da
 c0
 1d
-03
-29
+02
+f2
 c0
 1d
-83
-11
+82
+da
 c0
 23
-03
-31
+02
+fa
 c0
 24
-03
-11
+02
+da
 c0
 25
-03
-31
+02
+fa
 c0
 26
-03
-33
+02
+fc
 20
 60
 00
@@ -3126,27 +2906,27 @@
 fa
 c0
 00
-03
-0f
+02
+d8
 c0
 00
-83
-13
+82
+dc
 20
 60
 00
 00
 6f
 e1
-ca
-14
+c9
+52
 67
 e1
 89
 23
 70
-4a
-13
+49
+51
 01
 20
 60
@@ -3154,144 +2934,144 @@
 00
 6f
 e1
-ca
-17
+c9
+55
 20
 20
-03
-10
+02
+d9
 6f
 e1
-ca
-1a
+c9
+58
 20
 20
-03
-10
+02
+d9
 70
 09
 23
 08
 20
 20
-03
-11
+02
+da
 70
 09
 26
 0b
 20
 20
-03
-11
+02
+da
 70
 09
 26
 17
 20
 20
-03
-11
+02
+da
 70
 09
 26
 13
 20
 20
-03
-11
+02
+da
 70
 09
 26
 16
 20
 20
-03
-11
+02
+da
 70
 09
 26
 38
 20
 20
-03
-11
+02
+da
 70
 09
 26
 10
 20
 20
-03
-11
+02
+da
 70
 09
 26
 12
 20
 20
-03
-11
+02
+da
 70
 09
 26
 09
 20
 20
-03
-11
+02
+da
 70
 09
 26
 0c
 20
 20
-03
-11
+02
+da
 70
 09
 26
 37
 20
 20
-03
-11
+02
+da
 70
 09
 26
 06
 20
 20
-03
-11
+02
+da
 70
 09
 26
 04
 20
 20
-03
-11
+02
+da
 70
 09
 26
 28
 20
 20
-03
-11
+02
+da
 70
-4a
-12
+49
+50
 00
 20
 20
-03
-11
+02
+da
 da
 20
-4a
-09
+49
+47
 20
 40
 7d
@@ -3314,8 +3094,8 @@
 00
 da
 20
-4a
-09
+49
+47
 20
 40
 7d
@@ -3329,9 +3109,13 @@
 7c
 09
 c0
-13
+12
 03
-4d
+16
+c0
+11
+83
+22
 c0
 10
 fc
@@ -3341,13 +3125,9 @@
 7c
 2c
 c0
-11
-83
-5a
-c0
-13
+12
 83
-45
+0e
 20
 20
 23
@@ -3355,11 +3135,11 @@
 6f
 20
 c9
-c7
+04
 d8
 c0
 49
-c8
+05
 d8
 e0
 00
@@ -3379,19 +3159,19 @@
 d8
 a0
 49
-c7
+04
 20
 20
 03
-58
+20
 70
 09
 0c
 00
 6f
 e0
-c6
-de
+c8
+c3
 1f
 e2
 72
@@ -3402,8 +3182,8 @@
 00
 d8
 c0
-46
-df
+48
+c4
 d8
 e0
 00
@@ -3420,18 +3200,14 @@
 40
 7b
 d2
-20
-20
-03
-57
 d8
 a0
-46
-de
+48
+c3
 df
 20
 00
-40
+41
 20
 20
 7c
@@ -3442,8 +3218,8 @@
 00
 6f
 e0
-c9
-04
+c8
+41
 1f
 e2
 72
@@ -3454,8 +3230,8 @@
 00
 d8
 c0
-49
-05
+48
+42
 d8
 e0
 00
@@ -3472,14 +3248,10 @@
 40
 7b
 d2
-20
-20
-03
-64
 d8
 a0
-49
-04
+48
+41
 df
 20
 00
@@ -3539,7 +3311,7 @@
 20
 40
 03
-84
+4b
 2a
 2f
 fe
@@ -3571,7 +3343,7 @@
 20
 40
 03
-84
+4b
 d8
 a0
 8a
@@ -3599,7 +3371,7 @@
 20
 21
 03
-79
+40
 20
 20
 21
@@ -3703,7 +3475,7 @@
 20
 40
 03
-bd
+84
 70
 8a
 08
@@ -3739,7 +3511,7 @@
 20
 40
 03
-b3
+7a
 6f
 f0
 8a
@@ -3783,7 +3555,7 @@
 20
 40
 03
-bd
+84
 70
 80
 cd
@@ -3843,7 +3615,7 @@
 c3
 02
 83
-be
+85
 68
 59
 01
@@ -3879,7 +3651,7 @@
 c0
 08
 03
-dd
+a4
 58
 00
 57
@@ -3923,7 +3695,7 @@
 c0
 08
 03
-da
+a1
 58
 00
 2b
@@ -3959,7 +3731,7 @@
 20
 20
 03
-d6
+9d
 58
 00
 83
@@ -3971,7 +3743,7 @@
 20
 20
 03
-cb
+92
 6f
 e0
 c3
@@ -4011,7 +3783,7 @@
 c0
 11
 03
-ec
+b3
 c0
 7f
 b5
@@ -4027,7 +3799,7 @@
 20
 3a
 03
-f2
+b9
 6f
 e2
 45
@@ -4051,11 +3823,11 @@
 c0
 00
 83
-f6
+bd
 c0
 01
 03
-fd
+c4
 20
 60
 00
@@ -4075,7 +3847,7 @@
 c0
 01
 03
-fb
+c2
 20
 60
 00
@@ -4102,8 +3874,8 @@
 d4
 c0
 80
-04
-02
+03
+c9
 20
 60
 00
@@ -4182,8 +3954,8 @@
 00
 20
 40
-04
-16
+03
+dd
 20
 20
 34
@@ -4218,8 +3990,8 @@
 07
 20
 40
-04
-2c
+03
+f3
 6f
 e0
 89
@@ -4297,12 +4069,12 @@
 c5
 d1
 70
-4a
-12
+49
+50
 00
 70
-4a
-13
+49
+51
 00
 20
 40
@@ -4364,8 +4136,8 @@
 20
 31
 95
-b3
-b0
+99
+ac
 aa
 55
 40
@@ -4540,8 +4312,8 @@
 55
 09
 00
-14
-4a
+52
+49
 08
 00
 15
@@ -4628,8 +4400,8 @@
 55
 dc
 00
-27
-48
+64
+47
 db
 05
 01
@@ -5050,7 +4822,7 @@
 aa
 aa
 55
-cc
-94
-ba
-e1
+45
+95
+31
+1e
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/memmap.format	(revision 3558)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/memmap.format	(working copy)
@@ -1488,32 +1488,29 @@
 0x4696 mem_setreport_count
 0x4697 mem_usb_rx_endpoint
 0x4698 mem_config_new
-0x46de mem_usb_authca_data
-0x471f mem_usb_authca_data_sta
-0x4760 mem_usb_authca_data_last
-0x47a1 mem_dongle_usb_header
-0x47a2 mem_dongle_usb_opcode
-0x47a3 mem_dongle_usb_len
-0x47a4 mem_dongle_usb_ep2_data_flag
-0x47a5 mem_dongle_usb_ep2_data_len
-0x47a6 mem_dongle_g24_usb_ep2_ack_data
-0x47e6 mem_dongle_24g_ep2_data_flag
-0x47e7 mem_dongle_24g_ep2_data
-0x4827 mem_usb_ep2_config
-0x4903 mem_24g_ackpayload_enable_temp
-0x4904 mem_usb_protocol_data
-0x4945 mem_usb_protocol_data_sta
-0x4986 mem_usb_protocol_data_last
-0x49c7 mem_usb_rf_state_data
-0x4a07 mem_usb_rf_state_report_flag
-0x4a08 mem_usb_rf_state_report_flag1
-0x4a09 mem_usb_ep2_fifo
-0x4a11 mem_dongle_freq_hop_flag
-0x4a12 mem_usb_http_data_step
-0x4a13 mem_usb_tx_data_flag
-0x4a14 mem_usb_win_cmd
-0x4a17 mem_usb_mac_cmd
-0x4a1a mem_usb_kb_shift
+0x46de mem_dongle_usb_header
+0x46df mem_dongle_usb_opcode
+0x46e0 mem_dongle_usb_len
+0x46e1 mem_dongle_usb_ep2_data_flag
+0x46e2 mem_dongle_usb_ep2_data_len
+0x46e3 mem_dongle_g24_usb_ep2_ack_data
+0x4723 mem_dongle_24g_ep2_data_flag
+0x4724 mem_dongle_24g_ep2_data
+0x4764 mem_usb_ep2_config
+0x4840 mem_24g_ackpayload_enable_temp
+0x4841 mem_usb_device_info_data
+0x4882 mem_usb_http_data
+0x48c3 mem_usb_dpi_data
+0x4904 mem_usb_rf_state_data
+0x4945 mem_usb_rf_state_report_flag
+0x4946 mem_usb_rf_state_report_flag1
+0x4947 mem_usb_ep2_fifo
+0x494f mem_dongle_freq_hop_flag
+0x4950 mem_usb_http_data_step
+0x4951 mem_usb_tx_data_flag
+0x4952 mem_usb_win_cmd
+0x4955 mem_usb_mac_cmd
+0x4958 mem_usb_kb_shift
 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_XZR/usb_1m_ai/output/otp.dat	(revision 3558)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/otp.dat	(working copy)
@@ -11,8 +11,8 @@
 00
 aa
 55
-0a
-11
+26
+10
 c2
 84
 00
@@ -32,7 +32,7 @@
 c0
 0a
 03
-c4
+8b
 c0
 0a
 81
@@ -51,8 +51,8 @@
 85
 c0
 1b
-84
-2e
+83
+f5
 c0
 1c
 00
@@ -63,8 +63,8 @@
 e0
 c0
 1e
-84
-1d
+83
+e4
 c0
 1f
 00
@@ -76,11 +76,11 @@
 c0
 6d
 03
-95
+5c
 c0
 6e
 03
-a5
+6c
 c0
 7f
 01
@@ -112,31 +112,31 @@
 c0
 1c
 83
-e0
+a7
 c0
 26
 83
-e4
+ab
 c0
 37
-84
-38
+83
+ff
 c0
 41
 03
-e6
+ad
 c0
 42
 02
 30
 c0
 44
-04
-05
+03
+cc
 c0
 45
-04
-12
+03
+d9
 c1
 46
 80
@@ -231,19 +231,19 @@
 1b
 6f
 e0
-ca
-08
+c9
+46
 c1
 00
 80
 00
 70
-4a
-08
+49
+46
 01
 70
-4a
-07
+49
+45
 00
 20
 20
@@ -251,72 +251,72 @@
 3b
 70
 49
-c7
+04
 40
 70
 49
-c8
+05
 a1
 70
 49
-c9
+06
 02
 70
 49
-ca
+07
 04
 70
 49
-cb
+08
 01
 70
 49
-cc
+09
 00
 70
 06
 6f
-27
+25
 da
 20
-4a
-09
+49
+47
 20
 20
 7d
 8b
 70
 49
-c7
+04
 40
 70
 49
-c8
+05
 a1
 70
 49
-c9
+06
 02
 70
 49
-ca
+07
 04
 70
 49
-cb
+08
 01
 70
 49
-cc
+09
 01
 70
 06
 6f
-27
+25
 da
 20
-4a
-09
+49
+47
 20
 20
 7d
@@ -336,7 +336,7 @@
 20
 40
 02
-b9
+82
 20
 40
 00
@@ -443,8 +443,8 @@
 e1
 6f
 e0
-c9
-03
+c8
+40
 67
 e0
 c6
@@ -656,11 +656,11 @@
 20
 40
 03
-67
+2e
 20
 40
 03
-92
+59
 20
 40
 00
@@ -676,7 +676,7 @@
 20
 20
 03
-94
+5b
 20
 75
 80
@@ -1223,8 +1223,8 @@
 32
 58
 00
-48
-27
+47
+64
 67
 e1
 07
@@ -1232,7 +1232,7 @@
 58
 00
 02
-41
+44
 67
 e1
 45
@@ -1375,8 +1375,8 @@
 06
 67
 e0
-c7
-a2
+c6
+df
 e8
 40
 80
@@ -1387,8 +1387,8 @@
 00
 60
 48
-c7
-a3
+c6
+e0
 20
 20
 01
@@ -1403,8 +1403,8 @@
 63
 6f
 e0
-c7
-a2
+c6
+df
 c0
 02
 81
@@ -1426,8 +1426,8 @@
 01
 63
 70
-47
-a4
+46
+e1
 a2
 20
 20
@@ -1435,11 +1435,11 @@
 7e
 70
 49
-c7
+04
 40
 70
 49
-c8
+05
 a1
 d8
 40
@@ -1451,15 +1451,15 @@
 00
 6f
 e0
-c7
-a2
+c6
+df
 1f
 e2
 26
 00
 70
-47
-a2
+46
+df
 06
 58
 00
@@ -1470,13 +1470,13 @@
 fe
 00
 70
-47
-a1
+46
+de
 02
 67
 e0
-c7
-a3
+c6
+e0
 60
 4c
 06
@@ -1488,11 +1488,11 @@
 d8
 a0
 49
-c9
+06
 6f
 e1
-c7
-a1
+c6
+de
 e7
 e1
 80
@@ -1524,18 +1524,18 @@
 70
 06
 6f
-27
+25
 da
 20
-4a
-09
+49
+47
 20
 20
 7d
 8b
 70
-47
-a4
+46
+e1
 a4
 20
 20
@@ -1550,8 +1550,8 @@
 11
 a2
 70
-49
-03
+48
+40
 a2
 6f
 20
@@ -1563,16 +1563,16 @@
 02
 67
 20
-c7
-a5
+c6
+e2
 d8
 c0
 08
 75
 d8
 a0
-47
-a6
+46
+e3
 20
 20
 7c
@@ -1583,8 +1583,8 @@
 40
 d8
 a0
-47
-a6
+46
+e3
 20
 20
 7c
@@ -2228,26 +2228,26 @@
 20
 40
 02
-c3
+8c
 20
 20
-03
-35
+02
+fe
 6f
 e0
-ca
-07
+c9
+45
 c1
 00
 80
 00
 70
-4a
-08
+49
+46
 00
 70
-4a
-07
+49
+45
 01
 20
 20
@@ -2258,8 +2258,8 @@
 02
 2b
 70
-49
-03
+48
+40
 00
 70
 46
@@ -2283,20 +2283,16 @@
 c2
 c2
 82
-33
-c4
+02
+3b
 c2
-83
 82
-3c
+82
+3b
 c2
 83
 02
-3c
-c2
-82
-82
-3c
+3b
 20
 20
 33
@@ -2321,30 +2317,6 @@
 20
 33
 be
-6f
-e0
-c5
-ea
-c2
-83
-82
-81
-c2
-83
-02
-65
-c2
-82
-82
-6b
-c2
-82
-02
-47
-20
-20
-02
-4b
 70
 09
 0b
@@ -2364,6 +2336,26 @@
 6f
 e0
 c5
+ea
+c2
+82
+02
+40
+c2
+82
+82
+63
+c2
+83
+02
+6e
+20
+20
+02
+49
+6f
+e0
+c5
 7d
 1f
 e6
@@ -2372,11 +2364,11 @@
 20
 22
 82
-5b
+59
 20
 40
 02
-5b
+59
 6f
 e0
 c5
@@ -2412,15 +2404,15 @@
 c2
 82
 02
-47
-c2
-83
-82
-81
+40
 c2
 82
 82
-6b
+63
+c2
+83
+02
+6e
 20
 60
 00
@@ -2464,222 +2456,18 @@
 20
 20
 02
-b0
-6f
-e0
-c7
-a4
-20
-7a
-00
-00
-70
-47
-a4
-00
-70
-46
-11
-a2
-70
-49
-03
-a2
-20
-60
-00
-00
-6f
-20
-c5
-7d
-1f
-20
-f3
-ff
-d8
-a0
-49
-06
-d8
-c0
-45
-eb
-20
-40
-7c
-da
-6f
-20
-c5
-7d
-1f
-e0
-ff
-ff
-d8
-a0
-49
-45
-d8
-c0
-49
-06
-20
-40
-7c
-da
-6f
-20
-c5
-7d
-1f
-e0
-ff
-ff
-da
-40
-49
-45
-da
-20
-49
-86
-20
-40
-7d
-64
-24
-42
-82
-98
-6f
-20
-c5
-7d
-1f
-e0
-ff
-ff
-d8
-c0
-49
-45
-d8
-a0
-49
-86
-20
-40
-7c
-da
-20
-20
-33
-be
-6f
-20
-c5
-7d
-1f
-20
-f3
-ff
-d8
-a0
-46
-e0
-d8
-c0
-45
-eb
-20
-40
-7c
-da
-6f
-20
-c5
-7d
-1f
-e0
-ff
-ff
-d8
-a0
-47
-1f
-d8
-c0
-46
-e0
-20
-40
-7c
-da
-6f
-20
-c5
-7d
-1f
-e0
-ff
-ff
-da
-40
-47
-1f
-da
-20
-47
-60
-20
-40
-7d
-64
-24
-42
-82
-a3
-6f
-20
-c5
-7d
-1f
-e0
-ff
-ff
-d8
-c0
-47
-1f
-d8
-a0
-47
-60
-20
-40
-7c
-da
-20
-40
-33
-be
-20
-20
-02
-65
+79
 58
 00
 00
 40
 67
 e0
-c9
-04
+c8
+c3
 70
-49
-05
+48
+c4
 a1
 6f
 e0
@@ -2695,12 +2483,12 @@
 00
 d8
 c0
-49
-06
+45
+eb
 d8
 a0
-49
-45
+48
+c5
 20
 40
 7c
@@ -2708,23 +2496,23 @@
 70
 09
 0c
-23
+24
 20
 20
 02
-b0
+79
 58
 00
 00
 40
 67
 e0
-c6
-de
+c8
+41
 70
-46
-df
-a3
+48
+42
+a1
 6f
 e0
 c5
@@ -2733,26 +2521,18 @@
 e0
 ff
 ff
-67
-e0
-c6
-e0
-6f
-20
-c5
-7d
 1f
-e0
-ff
-ff
-d8
-a0
-46
-e1
+e2
+72
+00
 d8
 c0
-47
-1f
+45
+eb
+d8
+a0
+48
+43
 20
 40
 7c
@@ -2760,11 +2540,11 @@
 70
 09
 0c
-26
+23
 20
 20
 02
-b0
+79
 6f
 e0
 89
@@ -2775,8 +2555,8 @@
 00
 da
 20
-4a
-09
+49
+47
 20
 40
 7d
@@ -2795,8 +2575,8 @@
 6f
 da
 20
-4a
-09
+49
+47
 20
 20
 7d
@@ -2816,7 +2596,7 @@
 20
 40
 02
-c0
+89
 d8
 e0
 00
@@ -2831,8 +2611,8 @@
 e1
 6f
 e0
-ca
-12
+c9
+50
 20
 7a
 00
@@ -2840,7 +2620,7 @@
 20
 20
 02
-47
+40
 6f
 f0
 8c
@@ -2888,38 +2668,38 @@
 c0
 08
 82
-d0
+99
 20
 20
 23
 5a
 6f
 e0
-ca
-12
+c9
+50
 1f
 e0
 fe
 01
 67
 e0
-ca
-12
+c9
+50
 20
 40
 02
-d8
+a1
 6f
 e0
-ca
-13
+c9
+51
 20
 7a
 00
 00
 70
-4a
-13
+49
+51
 00
 20
 20
@@ -2927,204 +2707,204 @@
 28
 6f
 e0
-ca
-12
+c9
+50
 c0
 00
-83
-0b
+82
+d4
 c0
 01
-03
-17
+02
+e0
 c0
 01
-83
-11
+82
+da
 c0
 02
-03
-11
+02
+da
 c0
 02
-83
-11
+82
+da
 c0
 0a
-03
-19
+02
+e2
 c0
 0a
-83
-11
+82
+da
 c0
 0b
-03
-1b
+02
+e4
 c0
 0b
-83
-11
+82
+da
 c0
 0c
-03
-1b
+02
+e4
 c0
 0c
-83
-11
+82
+da
 c0
 0d
-03
-1d
+02
+e6
 c0
 0d
-83
-11
+82
+da
 c0
 0e
-03
-1f
+02
+e8
 c0
 0e
-83
-11
+82
+da
 c0
 0f
-03
-15
+02
+de
 c0
 0f
-83
-11
+82
+da
 c0
 10
-03
-21
+02
+ea
 c0
 10
-83
-11
+82
+da
 c0
 11
-03
-21
+02
+ea
 c0
 11
-83
-11
+82
+da
 c0
 12
-03
-23
+02
+ec
 c0
 12
-83
-11
+82
+da
 c0
 13
-03
-25
+02
+ee
 c0
 13
-83
-11
+82
+da
 c0
 14
-03
-27
+02
+f0
 c0
 14
-83
-11
+82
+da
 c0
 15
-03
-29
+02
+f2
 c0
 15
-83
-11
+82
+da
 c0
 16
-03
-29
+02
+f2
 c0
 16
-83
-11
+82
+da
 c0
 17
-03
-2b
+02
+f4
 c0
 17
-83
-11
+82
+da
 c0
 18
-03
-2d
+02
+f6
 c0
 18
-83
-11
+82
+da
 c0
 19
-03
-25
+02
+ee
 c0
 19
-83
-11
+82
+da
 c0
 1a
-03
-23
+02
+ec
 c0
 1a
-83
-11
+82
+da
 c0
 1b
-03
-21
+02
+ea
 c0
 1b
-83
-11
+82
+da
 c0
 1c
-03
-2f
+02
+f8
 c0
 1c
-83
-11
+82
+da
 c0
 1d
-03
-29
+02
+f2
 c0
 1d
-83
-11
+82
+da
 c0
 23
-03
-31
+02
+fa
 c0
 24
-03
-11
+02
+da
 c0
 25
-03
-31
+02
+fa
 c0
 26
-03
-33
+02
+fc
 20
 60
 00
@@ -3135,27 +2915,27 @@
 fa
 c0
 00
-03
-0f
+02
+d8
 c0
 00
-83
-13
+82
+dc
 20
 60
 00
 00
 6f
 e1
-ca
-14
+c9
+52
 67
 e1
 89
 23
 70
-4a
-13
+49
+51
 01
 20
 60
@@ -3163,144 +2943,144 @@
 00
 6f
 e1
-ca
-17
+c9
+55
 20
 20
-03
-10
+02
+d9
 6f
 e1
-ca
-1a
+c9
+58
 20
 20
-03
-10
+02
+d9
 70
 09
 23
 08
 20
 20
-03
-11
+02
+da
 70
 09
 26
 0b
 20
 20
-03
-11
+02
+da
 70
 09
 26
 17
 20
 20
-03
-11
+02
+da
 70
 09
 26
 13
 20
 20
-03
-11
+02
+da
 70
 09
 26
 16
 20
 20
-03
-11
+02
+da
 70
 09
 26
 38
 20
 20
-03
-11
+02
+da
 70
 09
 26
 10
 20
 20
-03
-11
+02
+da
 70
 09
 26
 12
 20
 20
-03
-11
+02
+da
 70
 09
 26
 09
 20
 20
-03
-11
+02
+da
 70
 09
 26
 0c
 20
 20
-03
-11
+02
+da
 70
 09
 26
 37
 20
 20
-03
-11
+02
+da
 70
 09
 26
 06
 20
 20
-03
-11
+02
+da
 70
 09
 26
 04
 20
 20
-03
-11
+02
+da
 70
 09
 26
 28
 20
 20
-03
-11
+02
+da
 70
-4a
-12
+49
+50
 00
 20
 20
-03
-11
+02
+da
 da
 20
-4a
-09
+49
+47
 20
 40
 7d
@@ -3323,8 +3103,8 @@
 00
 da
 20
-4a
-09
+49
+47
 20
 40
 7d
@@ -3338,9 +3118,13 @@
 7c
 09
 c0
-13
+12
 03
-4d
+16
+c0
+11
+83
+22
 c0
 10
 fc
@@ -3350,13 +3134,9 @@
 7c
 2c
 c0
-11
-83
-5a
-c0
-13
+12
 83
-45
+0e
 20
 20
 23
@@ -3364,11 +3144,11 @@
 6f
 20
 c9
-c7
+04
 d8
 c0
 49
-c8
+05
 d8
 e0
 00
@@ -3388,19 +3168,19 @@
 d8
 a0
 49
-c7
+04
 20
 20
 03
-58
+20
 70
 09
 0c
 00
 6f
 e0
-c6
-de
+c8
+c3
 1f
 e2
 72
@@ -3411,8 +3191,8 @@
 00
 d8
 c0
-46
-df
+48
+c4
 d8
 e0
 00
@@ -3429,18 +3209,14 @@
 40
 7b
 d2
-20
-20
-03
-57
 d8
 a0
-46
-de
+48
+c3
 df
 20
 00
-40
+41
 20
 20
 7c
@@ -3451,8 +3227,8 @@
 00
 6f
 e0
-c9
-04
+c8
+41
 1f
 e2
 72
@@ -3463,8 +3239,8 @@
 00
 d8
 c0
-49
-05
+48
+42
 d8
 e0
 00
@@ -3481,14 +3257,10 @@
 40
 7b
 d2
-20
-20
-03
-64
 d8
 a0
-49
-04
+48
+41
 df
 20
 00
@@ -3548,7 +3320,7 @@
 20
 40
 03
-84
+4b
 2a
 2f
 fe
@@ -3580,7 +3352,7 @@
 20
 40
 03
-84
+4b
 d8
 a0
 8a
@@ -3608,7 +3380,7 @@
 20
 21
 03
-79
+40
 20
 20
 21
@@ -3712,7 +3484,7 @@
 20
 40
 03
-bd
+84
 70
 8a
 08
@@ -3748,7 +3520,7 @@
 20
 40
 03
-b3
+7a
 6f
 f0
 8a
@@ -3792,7 +3564,7 @@
 20
 40
 03
-bd
+84
 70
 80
 cd
@@ -3852,7 +3624,7 @@
 c3
 02
 83
-be
+85
 68
 59
 01
@@ -3888,7 +3660,7 @@
 c0
 08
 03
-dd
+a4
 58
 00
 57
@@ -3932,7 +3704,7 @@
 c0
 08
 03
-da
+a1
 58
 00
 2b
@@ -3968,7 +3740,7 @@
 20
 20
 03
-d6
+9d
 58
 00
 83
@@ -3980,7 +3752,7 @@
 20
 20
 03
-cb
+92
 6f
 e0
 c3
@@ -4020,7 +3792,7 @@
 c0
 11
 03
-ec
+b3
 c0
 7f
 b5
@@ -4036,7 +3808,7 @@
 20
 3a
 03
-f2
+b9
 6f
 e2
 45
@@ -4060,11 +3832,11 @@
 c0
 00
 83
-f6
+bd
 c0
 01
 03
-fd
+c4
 20
 60
 00
@@ -4084,7 +3856,7 @@
 c0
 01
 03
-fb
+c2
 20
 60
 00
@@ -4111,8 +3883,8 @@
 d4
 c0
 80
-04
-02
+03
+c9
 20
 60
 00
@@ -4191,8 +3963,8 @@
 00
 20
 40
-04
-16
+03
+dd
 20
 20
 34
@@ -4227,8 +3999,8 @@
 07
 20
 40
-04
-2c
+03
+f3
 6f
 e0
 89
@@ -4306,12 +4078,12 @@
 c5
 d1
 70
-4a
-12
+49
+50
 00
 70
-4a
-13
+49
+51
 00
 20
 40
@@ -4373,8 +4145,8 @@
 20
 31
 95
-b3
-b0
+99
+ac
 aa
 55
 40
@@ -4549,8 +4321,8 @@
 55
 09
 00
-14
-4a
+52
+49
 08
 00
 15
@@ -4637,8 +4409,8 @@
 55
 dc
 00
-27
-48
+64
+47
 db
 05
 01
@@ -5059,8 +4831,8 @@
 aa
 aa
 55
-cc
-94
-ba
-e1
+45
+95
+31
+1e
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/program.lis	(revision 3558)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/program.lis	(working copy)
@@ -4,19 +4,19 @@
 0001 c0000022 beq patch00_0 ,p_soft_reset 
 0002 c001006e beq patch00_2 ,p_main_loop 
 0003 c0088077 beq patch02_1 ,p_set_sync_on 
-0004 c00a03c4 beq patch02_4 ,p_set_lemode 
+0004 c00a038b beq patch02_4 ,p_set_lemode 
 0005 c00a8111 beq patch02_5 ,p_rf_rx_enable 
 0006 c00c011f beq patch03_0 ,p_txon 
 0007 c00c80c5 beq patch03_1 ,p_set_tx_power 
 0008 c00d0085 beq patch03_2 ,p_initialize_radio_cont 
-0009 c01b842e beq patch06_7 ,p_dongle_default_init 
+0009 c01b83f5 beq patch06_7 ,p_dongle_default_init 
 000a c01c00e4 beq patch07_0 ,p_dongle_read_kb_bind_status 
 000b c01c80e0 beq patch07_1 ,p_dongle_write_kb_bind_status 
-000c c01e841d beq patch07_5 ,p_dongle_usb_dispatch 
+000c c01e83e4 beq patch07_5 ,p_dongle_usb_dispatch 
 000d c01f0028 beq patch07_6 ,p_dongle_work_mode_auto 
 000e c06280dd beq patch18_5 ,p_otp_read_data 
-000f c06d0395 beq patch1b_2 ,p_sadc_calibration 
-0010 c06e03a5 beq patch1b_4 ,p_enable_adc 
+000f c06d035c beq patch1b_2 ,p_sadc_calibration 
+0010 c06e036c beq patch1b_4 ,p_enable_adc 
 0011 c07f012a beq patch1f_6 ,p_usb_init 
 0012 c07f8199 beq patch1f_7 ,p_usb_rx 
 0013 c07e8126 beq patch1f_5 ,p_usb_isr 
@@ -26,13 +26,13 @@
 0015 c00001c0 beq patch20_0 ,p_usb_class_type 
 0016 c00101ff beq patch20_2 ,p_usb0_request_get_descriptor 
 0017 c003021f beq patch20_6 ,p_usb_tx 
-0018 c01c83e0 beq patch27_1 ,p_le_parse 
-0019 c02683e4 beq patch29_5 ,p_le_init_adv 
-001a c0378438 beq patch2d_7 ,p_g24_receive_skip_end 
-001b c04103e6 beq patch30_2 ,p_g24_bind_data_parse_next 
+0018 c01c83a7 beq patch27_1 ,p_le_parse 
+0019 c02683ab beq patch29_5 ,p_le_init_adv 
+001a c03783ff beq patch2d_7 ,p_g24_receive_skip_end 
+001b c04103ad beq patch30_2 ,p_g24_bind_data_parse_next 
 001c c0420230 beq patch30_4 ,p_g24_receive_packet_start1 
-001d c0440405 beq patch31_0 ,p_g24_mode_switch_bind_search 
-001e c0450412 beq patch31_2 ,p_g24_bind_mode_auto 
+001d c04403cc beq patch31_0 ,p_g24_mode_switch_bind_search 
+001e c04503d9 beq patch31_2 ,p_g24_bind_mode_auto 
 001f c1468000 rtneq patch31_5 
 0020 c17f8000 rtneq patch3f_7 
 0021 2020235a branch assert 
@@ -62,39 +62,39 @@
 0033 20407cef call timer_check 
 0034 247a0000 nrtn blank 
 0035 2040351b call g24_ch_process + 3 
-0036 6fe0ca08 fetch 1 ,mem_usb_rf_state_report_flag1 
+0036 6fe0c946 fetch 1 ,mem_usb_rf_state_report_flag1 
 0037 c1008000 rtneq 0x1 
-0038 704a0801 jam 0x1 ,mem_usb_rf_state_report_flag1 
-0039 704a0700 jam 0x0 ,mem_usb_rf_state_report_flag 
+0038 70494601 jam 0x1 ,mem_usb_rf_state_report_flag1 
+0039 70494500 jam 0x0 ,mem_usb_rf_state_report_flag 
 003a 2020003b branch p_dongle_usb_ep2_disconnect_report 
 
 p_dongle_usb_ep2_disconnect_report:
-003b 7049c740 jam 0x40 ,mem_usb_rf_state_data 
-003c 7049c8a1 jam 0xa1 ,mem_usb_rf_state_data + 1 
-003d 7049c902 jam 0x2 ,mem_usb_rf_state_data + 2 
-003e 7049ca04 jam 0x4 ,mem_usb_rf_state_data + 3 
-003f 7049cb01 jam 0x1 ,mem_usb_rf_state_data + 4 
-0040 7049cc00 jam 0x0 ,mem_usb_rf_state_data + 5 
-0041 70066f27 jam usb_ep2_mskb_state ,mem_fifo_temp 
-0042 da204a09 arg mem_usb_ep2_fifo ,rega 
+003b 70490440 jam 0x40 ,mem_usb_rf_state_data 
+003c 704905a1 jam 0xa1 ,mem_usb_rf_state_data + 1 
+003d 70490602 jam 0x2 ,mem_usb_rf_state_data + 2 
+003e 70490704 jam 0x4 ,mem_usb_rf_state_data + 3 
+003f 70490801 jam 0x1 ,mem_usb_rf_state_data + 4 
+0040 70490900 jam 0x0 ,mem_usb_rf_state_data + 5 
+0041 70066f25 jam usb_ep2_mskb_state ,mem_fifo_temp 
+0042 da204947 arg mem_usb_ep2_fifo ,rega 
 0043 20207d8b branch fifo_in 
 
 p_dongle_usb_ep2_connect_report:
-0044 7049c740 jam 0x40 ,mem_usb_rf_state_data 
-0045 7049c8a1 jam 0xa1 ,mem_usb_rf_state_data + 1 
-0046 7049c902 jam 0x2 ,mem_usb_rf_state_data + 2 
-0047 7049ca04 jam 0x4 ,mem_usb_rf_state_data + 3 
-0048 7049cb01 jam 0x1 ,mem_usb_rf_state_data + 4 
-0049 7049cc01 jam 0x1 ,mem_usb_rf_state_data + 5 
-004a 70066f27 jam usb_ep2_mskb_state ,mem_fifo_temp 
-004b da204a09 arg mem_usb_ep2_fifo ,rega 
+0044 70490440 jam 0x40 ,mem_usb_rf_state_data 
+0045 704905a1 jam 0xa1 ,mem_usb_rf_state_data + 1 
+0046 70490602 jam 0x2 ,mem_usb_rf_state_data + 2 
+0047 70490704 jam 0x4 ,mem_usb_rf_state_data + 3 
+0048 70490801 jam 0x1 ,mem_usb_rf_state_data + 4 
+0049 70490901 jam 0x1 ,mem_usb_rf_state_data + 5 
+004a 70066f25 jam usb_ep2_mskb_state ,mem_fifo_temp 
+004b da204947 arg mem_usb_ep2_fifo ,rega 
 004c 20207d8b branch fifo_in 
 
 p_g24_work_mode_start:
 004d 6fe0c616 fetch 1 ,mem_24g_work_mode 
 004e c1800000 rtnne dongle_work 
 004f 20403451 call g24_work_init 
-0050 204002b9 call p_g24_100ms_timer_event 
+0050 20400282 call p_g24_100ms_timer_event 
 0051 20400053 call p_g24_ch_process_check 
 0052 20200058 branch p_g24_receive_packet_start 
 
@@ -133,7 +133,7 @@
 006a 20207ce1 branch timer_init 
 
 p_mouse_ackpayload_set:
-006b 6fe0c903 fetch 1 ,mem_24g_ackpayload_enable_temp 
+006b 6fe0c840 fetch 1 ,mem_24g_ackpayload_enable_temp 
 006c 67e0c611 store 1 ,mem_24g_ackpayload_enable 
 006d 20600000 rtn 
 
@@ -194,12 +194,12 @@
 009d 58557474 setarg 0x557474 
 009e 67f18968 store 3 ,0x8968 
 009f 7089606e jam 0x6e ,0x8960 
-00a0 20400367 call p_rx_dcoc 
-00a1 20400392 call p_rfpll_aac_ghpc 
+00a0 2040032e call p_rx_dcoc 
+00a1 20400359 call p_rfpll_aac_ghpc 
 00a2 204000a6 call p_set_xtal_cap 
 00a3 7041480c jam system_clk_12m ,mem_system_clk 
 00a4 20406f4e call sadc_calibration 
-00a5 20200394 branch p_dpll_ring_ibias_calc 
+00a5 2020035b branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
 00a6 20758000 rtn wake 
@@ -374,9 +374,9 @@
 012b 20407d88 call ice_set_write_bp 
 012c 20407396 call enable_authrom 
 012d 20407932 call usb_init_param 
-012e 58004827 setarg mem_usb_ep2_config 
+012e 58004764 setarg mem_usb_ep2_config 
 012f 67e107a9 store 2 ,mem_hidreportdesc_m 
-0130 58000241 setarg p_dongle_g24_mouse 
+0130 58000244 setarg p_dongle_g24_mouse 
 0131 67e145e4 store 2 ,mem_cb_24g_data_device1 
 
 p_usb_init_restart:
@@ -418,16 +418,16 @@
 0151 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
 0152 c0808163 bne 0x01 ,p_dongle_hci_event_invalid_packet 
 0153 efe08006 ifetch 1 ,contr 
-0154 67e0c7a2 store 1 ,mem_dongle_usb_opcode 
+0154 67e0c6df store 1 ,mem_dongle_usb_opcode 
 0155 e8408006 ifetcht 1 ,contr 
 0156 18c22200 copy contr ,rega 
-0157 6048c7a3 storet 1 ,mem_dongle_usb_len 
+0157 6048c6e0 storet 1 ,mem_dongle_usb_len 
 0158 20200159 branch p_dongle_usb_hci_cmd_control 
 
 p_dongle_usb_hci_cmd_control:
 0159 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
 015a 203a0163 branch p_dongle_hci_event_invalid_packet ,blank 
-015b 6fe0c7a2 fetch 1 ,mem_dongle_usb_opcode 
+015b 6fe0c6df fetch 1 ,mem_dongle_usb_opcode 
 015c c0028161 beq hci_cmd_get_device_info ,p_dongle_usb_hci_cmd_get_deivce_info 
 015d c0010161 beq hci_cmd_auth_enable ,p_dongle_usb_hci_cmd_get_deivce_info 
 015e c0018161 beq hci_cmd_voice_contral ,p_dongle_usb_hci_cmd_get_deivce_info 
@@ -435,29 +435,29 @@
 0160 20200163 branch p_dongle_hci_event_invalid_packet 
 
 p_dongle_usb_hci_cmd_get_deivce_info:
-0161 7047a4a2 jam report_id_data_out ,mem_dongle_usb_ep2_data_flag 
+0161 7046e1a2 jam report_id_data_out ,mem_dongle_usb_ep2_data_flag 
 0162 2020017e branch p_dongle_usb_ack_prep 
 
 p_dongle_hci_event_invalid_packet:
-0163 7049c740 jam 0x40 ,mem_usb_rf_state_data 
-0164 7049c8a1 jam 0xA1 ,mem_usb_rf_state_data + 1 
+0163 70490440 jam 0x40 ,mem_usb_rf_state_data 
+0164 704905a1 jam 0xA1 ,mem_usb_rf_state_data + 1 
 0165 d8400001 arg 1 ,temp 
 
 p_dongle_hci_event_ack_packet:
 0166 da200000 arg 0 ,rega 
-0167 6fe0c7a2 fetch 1 ,mem_dongle_usb_opcode 
+0167 6fe0c6df fetch 1 ,mem_dongle_usb_opcode 
 0168 1fe22600 copy pdata ,regc 
 
 p_dongle_hci_event_packet:
-0169 7047a206 jam hci_event_cmd_res ,mem_dongle_usb_opcode 
+0169 7046df06 jam hci_event_cmd_res ,mem_dongle_usb_opcode 
 016a 58000002 setarg 2 
 016b 9a20fe00 iadd rega ,pdata 
-016c 7047a102 jam 0x02 ,mem_dongle_usb_header 
-016d 67e0c7a3 store 1 ,mem_dongle_usb_len 
+016c 7046de02 jam 0x02 ,mem_dongle_usb_header 
+016d 67e0c6e0 store 1 ,mem_dongle_usb_len 
 016e 604c0678 storet 8 ,mem_temp 
 016f 684c0678 fetcht 8 ,mem_temp 
-0170 d8a049c9 arg mem_usb_rf_state_data + 2 ,contw 
-0171 6fe1c7a1 fetch 3 ,mem_dongle_usb_header 
+0170 d8a04906 arg mem_usb_rf_state_data + 2 ,contw 
+0171 6fe1c6de fetch 3 ,mem_dongle_usb_header 
 0172 e7e18005 istore 3 ,contw 
 0173 1a627e00 copy regc ,pdata 
 0174 e7e08005 istore 1 ,contw 
@@ -465,28 +465,28 @@
 0176 1a227200 copy rega ,loopcnt 
 0177 1a420c00 copy regb ,contr 
 0178 20407cda call memcpy 
-0179 70066f27 jam usb_ep2_mskb_state ,mem_fifo_temp 
-017a da204a09 arg mem_usb_ep2_fifo ,rega 
+0179 70066f25 jam usb_ep2_mskb_state ,mem_fifo_temp 
+017a da204947 arg mem_usb_ep2_fifo ,rega 
 017b 20207d8b branch fifo_in 
 
 p_usb_rx_data_authca_out:
-017c 7047a4a4 jam report_id_authca_data_out ,mem_dongle_usb_ep2_data_flag 
+017c 7046e1a4 jam report_id_authca_data_out ,mem_dongle_usb_ep2_data_flag 
 017d 2020017e branch p_dongle_usb_ack_prep 
 
 p_dongle_usb_ack_prep:
 017e 20400187 call p_dongle_g24_usb_ep2_ack_data_clr 
 017f 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-0180 704903a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
+0180 704840a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
 0181 6f208876 fetchr loopcnt ,1 ,mem_usb0_set_report_data + 1 
 0182 1f20f202 increase 2 ,loopcnt 
-0183 6720c7a5 storer loopcnt ,1 ,mem_dongle_usb_ep2_data_len 
+0183 6720c6e2 storer loopcnt ,1 ,mem_dongle_usb_ep2_data_len 
 0184 d8c00875 arg mem_usb0_set_report_data ,contr 
-0185 d8a047a6 arg mem_dongle_g24_usb_ep2_ack_data ,contw 
+0185 d8a046e3 arg mem_dongle_g24_usb_ep2_ack_data ,contw 
 0186 20207cda branch memcpy 
 
 p_dongle_g24_usb_ep2_ack_data_clr:
 0187 df200040 arg 64 ,loopcnt 
-0188 d8a047a6 arg mem_dongle_g24_usb_ep2_ack_data ,contw 
+0188 d8a046e3 arg mem_dongle_g24_usb_ep2_ack_data ,contw 
 0189 20207ca1 branch clear_mem 
 
 p_usb_rx_len:
@@ -683,703 +683,638 @@
 0226 c0817c06 bne usb_connected ,usb_tx_fifo_release 
 0227 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
 0228 243a7c06 nbranch usb_tx_fifo_release ,blank 
-0229 204002c3 call p_usb_tx_data_ep1 
-022a 20200335 branch p_usb_tx_data_ep2 
+0229 2040028c call p_usb_tx_data_ep1 
+022a 202002fe branch p_usb_tx_data_ep2 
 
 p_dongle_usb_ep2_connect_report_send:
-022b 6fe0ca07 fetch 1 ,mem_usb_rf_state_report_flag 
+022b 6fe0c945 fetch 1 ,mem_usb_rf_state_report_flag 
 022c c1008000 rtneq 0x1 
-022d 704a0800 jam 0x0 ,mem_usb_rf_state_report_flag1 
-022e 704a0701 jam 0x1 ,mem_usb_rf_state_report_flag 
+022d 70494600 jam 0x0 ,mem_usb_rf_state_report_flag1 
+022e 70494501 jam 0x1 ,mem_usb_rf_state_report_flag 
 022f 20200044 branch p_dongle_usb_ep2_connect_report 
 
 p_g24_receive_packet_start1:
 0230 2040022b call p_dongle_usb_ep2_connect_report_send 
-0231 70490300 jam 0 ,mem_24g_ackpayload_enable_temp 
+0231 70484000 jam 0 ,mem_24g_ackpayload_enable_temp 
 0232 70461100 jam 0 ,mem_24g_ackpayload_enable 
 0233 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
 0234 c000b3c4 beq datatype_device1 ,g24_data_device1 
 0235 c00133d3 beq datatype_device2 ,g24_data_device2 
 0236 c07fb3c2 beq datatype_attemp ,g24_data_receive_attemp 
-0237 c28233c4 bbit1 datatype_http ,g24_data_device1 
-0238 c283823c bbit1 datatype_authca ,p_g24_data_receive_heart_authca_audio 
-0239 c283023c bbit1 datatype_heart ,p_g24_data_receive_heart_authca_audio 
-023a c282823c bbit1 datatype_protocol ,p_g24_data_receive_heart_authca_audio 
-023b 202033be branch g24_rx_interrupt_clear 
-
-p_g24_data_receive_heart_authca_audio:
-023c 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-023d 1fe17e0f and pdata ,0x0f ,pdata 
-023e c000b3c4 beq datatype_device1 ,g24_data_device1 
-023f c00133d3 beq datatype_device2 ,g24_data_device2 
-0240 202033be branch g24_rx_interrupt_clear 
-
-p_dongle_g24_mouse:
-0241 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0242 c2838281 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-0243 c2830265 bbit1 datatype_heart ,p_dongle_g24_mouse_heart_data 
-0244 c282826b bbit1 datatype_protocol ,p_g24_data_receive_protocol_data 
-0245 c2820247 bbit1 datatype_http ,p_dongle_usb_tx_http_data 
-0246 2020024b branch p_dongle_g24_mouse_next 
+0237 c282023b bbit1 data_http ,p_g24_data_receive_device_http_dpi 
+0238 c282823b bbit1 data_dpi ,p_g24_data_receive_device_http_dpi 
+0239 c283023b bbit1 data_device_info ,p_g24_data_receive_device_http_dpi 
+023a 202033be branch g24_rx_interrupt_clear 
+
+p_g24_data_receive_device_http_dpi:
+023b 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+023c 1fe17e0f and pdata ,0x0f ,pdata 
+023d c000b3c4 beq datatype_device1 ,g24_data_device1 
+023e c00133d3 beq datatype_device2 ,g24_data_device2 
+023f 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_usb_tx_http_data:
-0247 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
-0248 d8a00923 arg mem_usb_kb_data ,contw 
-0249 20407c9a call memset0_8 
-024a 20204848 branch dongle_usb_tx_ep1_enable 
+0240 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
+0241 d8a00923 arg mem_usb_kb_data ,contw 
+0242 20407c9a call memset0_8 
+0243 20204848 branch dongle_usb_tx_ep1_enable 
+
+p_dongle_g24_mouse:
+0244 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+0245 c2820240 bbit1 data_http ,p_dongle_usb_tx_http_data 
+0246 c2828263 bbit1 data_dpi ,p_dongle_receive_dpi_data 
+0247 c283026e bbit1 data_device_info ,p_dongle_receive_device_info_data 
+0248 20200249 branch p_dongle_g24_mouse_next 
 
 p_dongle_g24_mouse_next:
-024b 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-024c 1fe67c09 sub pdata ,0x09 ,null 
-024d 2022825b branch p_dongle_g24_mouse_data ,zero 
-024e 2040025b call p_dongle_g24_mouse_data 
-024f 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0250 1fe0fff8 add pdata ,-8 ,pdata 
-0251 67e0c57d store 1 ,mem_24g_rxdata_length 
-0252 1fe27200 copy pdata ,loopcnt 
-0253 d8a045ea arg mem_24g_rxdata_temp + 2 ,contw 
-0254 d8c045f2 arg mem_24g_rxdata_temp + 10 ,contr 
-0255 20407cda call memcpy 
-0256 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0257 c2820247 bbit1 datatype_http ,p_dongle_usb_tx_http_data 
-0258 c2838281 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-0259 c282826b bbit1 datatype_protocol ,p_g24_data_receive_protocol_data 
-025a 20600000 rtn 
+0249 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+024a 1fe67c09 sub pdata ,0x09 ,null 
+024b 20228259 branch p_dongle_g24_mouse_data ,zero 
+024c 20400259 call p_dongle_g24_mouse_data 
+024d 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+024e 1fe0fff8 add pdata ,-8 ,pdata 
+024f 67e0c57d store 1 ,mem_24g_rxdata_length 
+0250 1fe27200 copy pdata ,loopcnt 
+0251 d8a045ea arg mem_24g_rxdata_temp + 2 ,contw 
+0252 d8c045f2 arg mem_24g_rxdata_temp + 10 ,contr 
+0253 20407cda call memcpy 
+0254 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+0255 c2820240 bbit1 data_http ,p_dongle_usb_tx_http_data 
+0256 c2828263 bbit1 data_dpi ,p_dongle_receive_dpi_data 
+0257 c283026e bbit1 data_device_info ,p_dongle_receive_device_info_data 
+0258 20600000 rtn 
 
 p_dongle_g24_mouse_data:
-025b 58000001 setarg ms_report_id 
-025c 67e08913 store 1 ,mem_usb_mouse_data 
-025d 6fe3c5eb fetch 7 ,mem_24g_rxdata_temp + 3 
-025e e7e38005 istore 7 ,contw 
+0259 58000001 setarg ms_report_id 
+025a 67e08913 store 1 ,mem_usb_mouse_data 
+025b 6fe3c5eb fetch 7 ,mem_24g_rxdata_temp + 3 
+025c e7e38005 istore 7 ,contw 
+025d 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+025e 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
 025f 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-0260 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
-0261 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-0262 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
-0263 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
-0264 202002b0 branch p_dongle_usb_tx_enable_ep2 
-
-p_dongle_g24_mouse_heart_data:
-0265 6fe0c7a4 fetch 1 ,mem_dongle_usb_ep2_data_flag 
-0266 207a0000 rtn blank 
-0267 7047a400 jam 0 ,mem_dongle_usb_ep2_data_flag 
-
-p_24g_ackpayload_enable_set:
-0268 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-0269 704903a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
-026a 20600000 rtn 
-
-p_g24_data_receive_protocol_data:
-026b 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-026c 1f20f3ff increase -1 ,loopcnt 
-026d d8a04906 arg mem_usb_protocol_data + 2 ,contw 
-026e d8c045eb arg mem_24g_rxdata_temp + 3 ,contr 
-026f 20407cda call memcpy 
-0270 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0271 1fe0ffff increase -1 ,pdata 
-0272 d8a04945 arg mem_usb_protocol_data_sta ,contw 
-0273 d8c04906 arg mem_usb_protocol_data + 2 ,contr 
-0274 20407cda call memcpy 
-0275 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0276 1fe0ffff increase -1 ,pdata 
-0277 da404945 arg mem_usb_protocol_data_sta ,regb 
-0278 da204986 arg mem_usb_protocol_data_last ,rega 
-0279 20407d64 call compare_loop 
-027a 24428298 ncall p_dongle_usb_tx_protocol_data ,zero 
-027b 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-027c 1fe0ffff increase -1 ,pdata 
-027d d8c04945 arg mem_usb_protocol_data_sta ,contr 
-027e d8a04986 arg mem_usb_protocol_data_last ,contw 
-027f 20407cda call memcpy 
-0280 202033be branch g24_rx_interrupt_clear 
-
-p_dongle_g24_mouse_authca_data:
-0281 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0282 1f20f3ff increase -1 ,loopcnt 
-0283 d8a046e0 arg mem_usb_authca_data + 2 ,contw 
-0284 d8c045eb arg mem_24g_rxdata_temp + 3 ,contr 
-0285 20407cda call memcpy 
-0286 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0287 1fe0ffff increase -1 ,pdata 
-0288 d8a0471f arg mem_usb_authca_data_sta ,contw 
-0289 d8c046e0 arg mem_usb_authca_data + 2 ,contr 
-028a 20407cda call memcpy 
-028b 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-028c 1fe0ffff increase -1 ,pdata 
-028d da40471f arg mem_usb_authca_data_sta ,regb 
-028e da204760 arg mem_usb_authca_data_last ,rega 
-028f 20407d64 call compare_loop 
-0290 244282a3 ncall p_dongle_usb_tx_authca_data ,zero 
-0291 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0292 1fe0ffff increase -1 ,pdata 
-0293 d8c0471f arg mem_usb_authca_data_sta ,contr 
-0294 d8a04760 arg mem_usb_authca_data_last ,contw 
-0295 20407cda call memcpy 
-0296 204033be call g24_rx_interrupt_clear 
-0297 20200265 branch p_dongle_g24_mouse_heart_data 
-
-p_dongle_usb_tx_protocol_data:
-0298 58000040 setarg 0x40 
-0299 67e0c904 store 1 ,mem_usb_protocol_data 
-029a 704905a1 jam report_id_data_in ,mem_usb_protocol_data + 1 
-029b 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-029c 1fe0ffff increase -1 ,pdata 
-029d 1fe27200 copy pdata ,loopcnt 
-029e d8c04906 arg mem_usb_protocol_data + 2 ,contr 
-029f d8a04945 arg mem_usb_protocol_data_sta ,contw 
-02a0 20407cda call memcpy 
-02a1 70090c23 jam usb_ep2_protocol ,mem_usb_ep2_data 
-02a2 202002b0 branch p_dongle_usb_tx_enable_ep2 
-
-p_dongle_usb_tx_authca_data:
-02a3 58000040 setarg 0x40 
-02a4 67e0c6de store 1 ,mem_usb_authca_data 
-02a5 7046dfa3 jam report_id_authca_data_in ,mem_usb_authca_data + 1 
-02a6 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-02a7 1fe0ffff increase -1 ,pdata 
-02a8 67e0c6e0 store 1 ,mem_usb_authca_data + 2 
-02a9 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02aa 1fe0ffff increase -1 ,pdata 
-02ab d8a046e1 arg mem_usb_authca_data + 3 ,contw 
-02ac d8c0471f arg mem_usb_authca_data_sta ,contr 
-02ad 20407cda call memcpy 
-02ae 70090c26 jam usb_ep2_authca ,mem_usb_ep2_data 
-02af 202002b0 branch p_dongle_usb_tx_enable_ep2 
+0260 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+0261 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
+0262 20200279 branch p_dongle_usb_tx_enable_ep2 
+
+p_dongle_receive_dpi_data:
+0263 58000040 setarg 0x40 
+0264 67e0c8c3 store 1 ,mem_usb_dpi_data 
+0265 7048c4a1 jam report_id_data_in ,mem_usb_dpi_data + 1 
+0266 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0267 1fe0ffff increase -1 ,pdata 
+0268 1fe27200 copy pdata ,loopcnt 
+0269 d8c045eb arg mem_24g_rxdata_temp + 3 ,contr 
+026a d8a048c5 arg mem_usb_dpi_data + 2 ,contw 
+026b 20407cda call memcpy 
+026c 70090c24 jam usb_ep2_dpi ,mem_usb_ep2_data 
+026d 20200279 branch p_dongle_usb_tx_enable_ep2 
+
+p_dongle_receive_device_info_data:
+026e 58000040 setarg 0x40 
+026f 67e0c841 store 1 ,mem_usb_device_info_data 
+0270 704842a1 jam report_id_data_in ,mem_usb_device_info_data + 1 
+0271 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0272 1fe0ffff increase -1 ,pdata 
+0273 1fe27200 copy pdata ,loopcnt 
+0274 d8c045eb arg mem_24g_rxdata_temp + 3 ,contr 
+0275 d8a04843 arg mem_usb_device_info_data + 2 ,contw 
+0276 20407cda call memcpy 
+0277 70090c23 jam usb_ep2_device_info ,mem_usb_ep2_data 
+0278 20200279 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_enable_ep2:
-02b0 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-02b1 207a0000 rtn blank 
-02b2 da204a09 arg mem_usb_ep2_fifo ,rega 
-02b3 20407da5 call fifo_is_full 
-02b4 247a0000 nrtn blank 
-02b5 6fe0890c fetch 1 ,mem_usb_ep2_data 
-02b6 67e0866f store 1 ,mem_fifo_temp 
-02b7 da204a09 arg mem_usb_ep2_fifo ,rega 
-02b8 20207d8b branch fifo_in 
+0279 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+027a 207a0000 rtn blank 
+027b da204947 arg mem_usb_ep2_fifo ,rega 
+027c 20407da5 call fifo_is_full 
+027d 247a0000 nrtn blank 
+027e 6fe0890c fetch 1 ,mem_usb_ep2_data 
+027f 67e0866f store 1 ,mem_fifo_temp 
+0280 da204947 arg mem_usb_ep2_fifo ,rega 
+0281 20207d8b branch fifo_in 
 
 p_g24_100ms_timer_event:
-02b9 d8e00006 arg usb_timer_100ms ,queue 
-02ba 20407cef call timer_check 
-02bb 247a0000 nrtn blank 
-02bc 204002c0 call p_g24_http_over_pack_check 
+0282 d8e00006 arg usb_timer_100ms ,queue 
+0283 20407cef call timer_check 
+0284 247a0000 nrtn blank 
+0285 20400289 call p_g24_http_over_pack_check 
 
 p_g24_100ms_timer_init:
-02bd d8e00006 arg usb_timer_100ms ,queue 
-02be 58000018 setarg 24 
-02bf 20207ce1 branch timer_init 
+0286 d8e00006 arg usb_timer_100ms ,queue 
+0287 58000018 setarg 24 
+0288 20207ce1 branch timer_init 
 
 p_g24_http_over_pack_check:
-02c0 6fe0ca12 fetch 1 ,mem_usb_http_data_step 
-02c1 207a0000 rtn blank 
-02c2 20200247 branch p_dongle_usb_tx_http_data 
+0289 6fe0c950 fetch 1 ,mem_usb_http_data_step 
+028a 207a0000 rtn blank 
+028b 20200240 branch p_dongle_usb_tx_http_data 
 
 p_usb_tx_data_ep1:
-02c3 6ff08c25 fetch 1 ,core_usb_txbusy 
-02c4 1fe17e0f and_into 0x0f ,pdata 
-02c5 247a0000 nrtn blank 
-02c6 6fe0890d fetch 1 ,mem_usb_tx_enable 
-02c7 c4008000 rtnbit0 1 
-02c8 6fe0890d fetch 1 ,mem_usb_tx_enable 
-02c9 793ffe01 set0 1 ,pdata 
-02ca 67e0890d store 1 ,mem_usb_tx_enable 
-02cb 6fe0890b fetch 1 ,mem_usb_ep1_data 
-02cc 207a0000 rtn blank 
-02cd c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
-02ce c00882d0 beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
-02cf 2020235a branch assert 
+028c 6ff08c25 fetch 1 ,core_usb_txbusy 
+028d 1fe17e0f and_into 0x0f ,pdata 
+028e 247a0000 nrtn blank 
+028f 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0290 c4008000 rtnbit0 1 
+0291 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0292 793ffe01 set0 1 ,pdata 
+0293 67e0890d store 1 ,mem_usb_tx_enable 
+0294 6fe0890b fetch 1 ,mem_usb_ep1_data 
+0295 207a0000 rtn blank 
+0296 c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+0297 c0088299 beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
+0298 2020235a branch assert 
 
 p_usb_tx_http_data_set:
-02d0 6fe0ca12 fetch 1 ,mem_usb_http_data_step 
-02d1 1fe0fe01 increase 1 ,pdata 
-02d2 67e0ca12 store 1 ,mem_usb_http_data_step 
-02d3 204002d8 call p_usb_tx_http_data_check 
-02d4 6fe0ca13 fetch 1 ,mem_usb_tx_data_flag 
-02d5 207a0000 rtn blank 
-02d6 704a1300 jam 0 ,mem_usb_tx_data_flag 
-02d7 20207c28 branch usb_tx_kb_normal_data 
+0299 6fe0c950 fetch 1 ,mem_usb_http_data_step 
+029a 1fe0fe01 increase 1 ,pdata 
+029b 67e0c950 store 1 ,mem_usb_http_data_step 
+029c 204002a1 call p_usb_tx_http_data_check 
+029d 6fe0c951 fetch 1 ,mem_usb_tx_data_flag 
+029e 207a0000 rtn blank 
+029f 70495100 jam 0 ,mem_usb_tx_data_flag 
+02a0 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_tx_http_data_check:
-02d8 6fe0ca12 fetch 1 ,mem_usb_http_data_step 
-02d9 c000830b beq 1 ,p_usb_tx_win_or_mac_check 
-02da c0010317 beq 2 ,p_usb_tx_cmd_release 
-02db c0018311 beq 3 ,p_usb_tx_ep1_data_enable 
-02dc c0020311 beq 4 ,p_usb_tx_ep1_data_enable 
-02dd c0028311 beq 5 ,p_usb_tx_ep1_data_enable 
-02de c00a0319 beq 20 ,p_usb_tx_data_h 
-02df c00a8311 beq 21 ,p_usb_tx_ep1_data_enable 
-02e0 c00b031b beq 22 ,p_usb_tx_data_t 
-02e1 c00b8311 beq 23 ,p_usb_tx_ep1_data_enable 
-02e2 c00c031b beq 24 ,p_usb_tx_data_t 
-02e3 c00c8311 beq 25 ,p_usb_tx_ep1_data_enable 
-02e4 c00d031d beq 26 ,p_usb_tx_data_p 
-02e5 c00d8311 beq 27 ,p_usb_tx_ep1_data_enable 
-02e6 c00e031f beq 28 ,p_usb_tx_data_s 
-02e7 c00e8311 beq 29 ,p_usb_tx_ep1_data_enable 
-02e8 c00f0315 beq 30 ,p_usb_tx_shift_data_set 
-02e9 c00f8311 beq 31 ,p_usb_tx_ep1_data_enable 
-02ea c0100321 beq 32 ,p_usb_tx_data_spec1 
-02eb c0108311 beq 33 ,p_usb_tx_ep1_data_enable 
-02ec c0110321 beq 34 ,p_usb_tx_data_spec1 
-02ed c0118311 beq 35 ,p_usb_tx_ep1_data_enable 
-02ee c0120323 beq 36 ,p_usb_tx_data_m 
-02ef c0128311 beq 37 ,p_usb_tx_ep1_data_enable 
-02f0 c0130325 beq 38 ,p_usb_tx_data_o 
-02f1 c0138311 beq 39 ,p_usb_tx_ep1_data_enable 
-02f2 c0140327 beq 40 ,p_usb_tx_data_f 
-02f3 c0148311 beq 41 ,p_usb_tx_ep1_data_enable 
-02f4 c0150329 beq 42 ,p_usb_tx_data_i 
-02f5 c0158311 beq 43 ,p_usb_tx_ep1_data_enable 
-02f6 c0160329 beq 44 ,p_usb_tx_data_i 
-02f7 c0168311 beq 45 ,p_usb_tx_ep1_data_enable 
-02f8 c017032b beq 46 ,p_usb_tx_data_spec2 
-02f9 c0178311 beq 47 ,p_usb_tx_ep1_data_enable 
-02fa c018032d beq 48 ,p_usb_tx_data_c 
-02fb c0188311 beq 49 ,p_usb_tx_ep1_data_enable 
-02fc c0190325 beq 50 ,p_usb_tx_data_o 
-02fd c0198311 beq 51 ,p_usb_tx_ep1_data_enable 
-02fe c01a0323 beq 52 ,p_usb_tx_data_m 
-02ff c01a8311 beq 53 ,p_usb_tx_ep1_data_enable 
-0300 c01b0321 beq 54 ,p_usb_tx_data_spec1 
-0301 c01b8311 beq 55 ,p_usb_tx_ep1_data_enable 
-0302 c01c032f beq 56 ,p_usb_tx_data_a 
-0303 c01c8311 beq 57 ,p_usb_tx_ep1_data_enable 
-0304 c01d0329 beq 58 ,p_usb_tx_data_i 
-0305 c01d8311 beq 59 ,p_usb_tx_ep1_data_enable 
-0306 c0230331 beq 70 ,p_usb_tx_data_enter 
-0307 c0240311 beq 72 ,p_usb_tx_ep1_data_enable 
-0308 c0250331 beq 74 ,p_usb_tx_data_enter 
-0309 c0260333 beq 76 ,p_usb_tx_ep1_end 
-030a 20600000 rtn 
+02a1 6fe0c950 fetch 1 ,mem_usb_http_data_step 
+02a2 c00082d4 beq 1 ,p_usb_tx_win_or_mac_check 
+02a3 c00102e0 beq 2 ,p_usb_tx_cmd_release 
+02a4 c00182da beq 3 ,p_usb_tx_ep1_data_enable 
+02a5 c00202da beq 4 ,p_usb_tx_ep1_data_enable 
+02a6 c00282da beq 5 ,p_usb_tx_ep1_data_enable 
+02a7 c00a02e2 beq 20 ,p_usb_tx_data_h 
+02a8 c00a82da beq 21 ,p_usb_tx_ep1_data_enable 
+02a9 c00b02e4 beq 22 ,p_usb_tx_data_t 
+02aa c00b82da beq 23 ,p_usb_tx_ep1_data_enable 
+02ab c00c02e4 beq 24 ,p_usb_tx_data_t 
+02ac c00c82da beq 25 ,p_usb_tx_ep1_data_enable 
+02ad c00d02e6 beq 26 ,p_usb_tx_data_p 
+02ae c00d82da beq 27 ,p_usb_tx_ep1_data_enable 
+02af c00e02e8 beq 28 ,p_usb_tx_data_s 
+02b0 c00e82da beq 29 ,p_usb_tx_ep1_data_enable 
+02b1 c00f02de beq 30 ,p_usb_tx_shift_data_set 
+02b2 c00f82da beq 31 ,p_usb_tx_ep1_data_enable 
+02b3 c01002ea beq 32 ,p_usb_tx_data_spec1 
+02b4 c01082da beq 33 ,p_usb_tx_ep1_data_enable 
+02b5 c01102ea beq 34 ,p_usb_tx_data_spec1 
+02b6 c01182da beq 35 ,p_usb_tx_ep1_data_enable 
+02b7 c01202ec beq 36 ,p_usb_tx_data_m 
+02b8 c01282da beq 37 ,p_usb_tx_ep1_data_enable 
+02b9 c01302ee beq 38 ,p_usb_tx_data_o 
+02ba c01382da beq 39 ,p_usb_tx_ep1_data_enable 
+02bb c01402f0 beq 40 ,p_usb_tx_data_f 
+02bc c01482da beq 41 ,p_usb_tx_ep1_data_enable 
+02bd c01502f2 beq 42 ,p_usb_tx_data_i 
+02be c01582da beq 43 ,p_usb_tx_ep1_data_enable 
+02bf c01602f2 beq 44 ,p_usb_tx_data_i 
+02c0 c01682da beq 45 ,p_usb_tx_ep1_data_enable 
+02c1 c01702f4 beq 46 ,p_usb_tx_data_spec2 
+02c2 c01782da beq 47 ,p_usb_tx_ep1_data_enable 
+02c3 c01802f6 beq 48 ,p_usb_tx_data_c 
+02c4 c01882da beq 49 ,p_usb_tx_ep1_data_enable 
+02c5 c01902ee beq 50 ,p_usb_tx_data_o 
+02c6 c01982da beq 51 ,p_usb_tx_ep1_data_enable 
+02c7 c01a02ec beq 52 ,p_usb_tx_data_m 
+02c8 c01a82da beq 53 ,p_usb_tx_ep1_data_enable 
+02c9 c01b02ea beq 54 ,p_usb_tx_data_spec1 
+02ca c01b82da beq 55 ,p_usb_tx_ep1_data_enable 
+02cb c01c02f8 beq 56 ,p_usb_tx_data_a 
+02cc c01c82da beq 57 ,p_usb_tx_ep1_data_enable 
+02cd c01d02f2 beq 58 ,p_usb_tx_data_i 
+02ce c01d82da beq 59 ,p_usb_tx_ep1_data_enable 
+02cf c02302fa beq 70 ,p_usb_tx_data_enter 
+02d0 c02402da beq 72 ,p_usb_tx_ep1_data_enable 
+02d1 c02502fa beq 74 ,p_usb_tx_data_enter 
+02d2 c02602fc beq 76 ,p_usb_tx_ep1_end 
+02d3 20600000 rtn 
 
 p_usb_tx_win_or_mac_check:
-030b 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
-030c c000030f beq 0 ,p_usb_tx_win_http_data 
-030d c0008313 beq 1 ,p_usb_tx_mac_http_data 
-030e 20600000 rtn 
+02d4 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
+02d5 c00002d8 beq 0 ,p_usb_tx_win_http_data 
+02d6 c00082dc beq 1 ,p_usb_tx_mac_http_data 
+02d7 20600000 rtn 
 
 p_usb_tx_win_http_data:
-030f 6fe1ca14 fetch 3 ,mem_usb_win_cmd 
+02d8 6fe1c952 fetch 3 ,mem_usb_win_cmd 
 
 p_usb_kb_spec_data_store:
-0310 67e18923 store 3 ,mem_usb_kb_data 
+02d9 67e18923 store 3 ,mem_usb_kb_data 
 
 p_usb_tx_ep1_data_enable:
-0311 704a1301 jam 1 ,mem_usb_tx_data_flag 
-0312 20600000 rtn 
+02da 70495101 jam 1 ,mem_usb_tx_data_flag 
+02db 20600000 rtn 
 
 p_usb_tx_mac_http_data:
-0313 6fe1ca17 fetch 3 ,mem_usb_mac_cmd 
-0314 20200310 branch p_usb_kb_spec_data_store 
+02dc 6fe1c955 fetch 3 ,mem_usb_mac_cmd 
+02dd 202002d9 branch p_usb_kb_spec_data_store 
 
 p_usb_tx_shift_data_set:
-0315 6fe1ca1a fetch 3 ,mem_usb_kb_shift 
-0316 20200310 branch p_usb_kb_spec_data_store 
+02de 6fe1c958 fetch 3 ,mem_usb_kb_shift 
+02df 202002d9 branch p_usb_kb_spec_data_store 
 
 p_usb_tx_cmd_release:
-0317 70092308 jam 0x08 ,mem_usb_kb_data 
-0318 20200311 branch p_usb_tx_ep1_data_enable 
+02e0 70092308 jam 0x08 ,mem_usb_kb_data 
+02e1 202002da branch p_usb_tx_ep1_data_enable 
 
 p_usb_tx_data_h:
-0319 7009260b jam 0x0b ,mem_usb_kb_data + 3 
-031a 20200311 branch p_usb_tx_ep1_data_enable 
+02e2 7009260b jam 0x0b ,mem_usb_kb_data + 3 
+02e3 202002da branch p_usb_tx_ep1_data_enable 
 
 p_usb_tx_data_t:
-031b 70092617 jam 0x17 ,mem_usb_kb_data + 3 
-031c 20200311 branch p_usb_tx_ep1_data_enable 
+02e4 70092617 jam 0x17 ,mem_usb_kb_data + 3 
+02e5 202002da branch p_usb_tx_ep1_data_enable 
 
 p_usb_tx_data_p:
-031d 70092613 jam 0x13 ,mem_usb_kb_data + 3 
-031e 20200311 branch p_usb_tx_ep1_data_enable 
+02e6 70092613 jam 0x13 ,mem_usb_kb_data + 3 
+02e7 202002da branch p_usb_tx_ep1_data_enable 
 
 p_usb_tx_data_s:
-031f 70092616 jam 0x16 ,mem_usb_kb_data + 3 
-0320 20200311 branch p_usb_tx_ep1_data_enable 
+02e8 70092616 jam 0x16 ,mem_usb_kb_data + 3 
+02e9 202002da branch p_usb_tx_ep1_data_enable 
 
 p_usb_tx_data_spec1:
-0321 70092638 jam 0x38 ,mem_usb_kb_data + 3 
-0322 20200311 branch p_usb_tx_ep1_data_enable 
+02ea 70092638 jam 0x38 ,mem_usb_kb_data + 3 
+02eb 202002da branch p_usb_tx_ep1_data_enable 
 
 p_usb_tx_data_m:
-0323 70092610 jam 0x10 ,mem_usb_kb_data + 3 
-0324 20200311 branch p_usb_tx_ep1_data_enable 
+02ec 70092610 jam 0x10 ,mem_usb_kb_data + 3 
+02ed 202002da branch p_usb_tx_ep1_data_enable 
 
 p_usb_tx_data_o:
-0325 70092612 jam 0x12 ,mem_usb_kb_data + 3 
-0326 20200311 branch p_usb_tx_ep1_data_enable 
+02ee 70092612 jam 0x12 ,mem_usb_kb_data + 3 
+02ef 202002da branch p_usb_tx_ep1_data_enable 
 
 p_usb_tx_data_f:
-0327 70092609 jam 0x09 ,mem_usb_kb_data + 3 
-0328 20200311 branch p_usb_tx_ep1_data_enable 
+02f0 70092609 jam 0x09 ,mem_usb_kb_data + 3 
+02f1 202002da branch p_usb_tx_ep1_data_enable 
 
 p_usb_tx_data_i:
-0329 7009260c jam 0x0c ,mem_usb_kb_data + 3 
-032a 20200311 branch p_usb_tx_ep1_data_enable 
+02f2 7009260c jam 0x0c ,mem_usb_kb_data + 3 
+02f3 202002da branch p_usb_tx_ep1_data_enable 
 
 p_usb_tx_data_spec2:
-032b 70092637 jam 0x37 ,mem_usb_kb_data + 3 
-032c 20200311 branch p_usb_tx_ep1_data_enable 
+02f4 70092637 jam 0x37 ,mem_usb_kb_data + 3 
+02f5 202002da branch p_usb_tx_ep1_data_enable 
 
 p_usb_tx_data_c:
-032d 70092606 jam 0x06 ,mem_usb_kb_data + 3 
-032e 20200311 branch p_usb_tx_ep1_data_enable 
+02f6 70092606 jam 0x06 ,mem_usb_kb_data + 3 
+02f7 202002da branch p_usb_tx_ep1_data_enable 
 
 p_usb_tx_data_a:
-032f 70092604 jam 0x04 ,mem_usb_kb_data + 3 
-0330 20200311 branch p_usb_tx_ep1_data_enable 
+02f8 70092604 jam 0x04 ,mem_usb_kb_data + 3 
+02f9 202002da branch p_usb_tx_ep1_data_enable 
 
 p_usb_tx_data_enter:
-0331 70092628 jam 0x28 ,mem_usb_kb_data + 3 
-0332 20200311 branch p_usb_tx_ep1_data_enable 
+02fa 70092628 jam 0x28 ,mem_usb_kb_data + 3 
+02fb 202002da branch p_usb_tx_ep1_data_enable 
 
 p_usb_tx_ep1_end:
-0333 704a1200 jam 0 ,mem_usb_http_data_step 
-0334 20200311 branch p_usb_tx_ep1_data_enable 
+02fc 70495000 jam 0 ,mem_usb_http_data_step 
+02fd 202002da branch p_usb_tx_ep1_data_enable 
 
 p_usb_tx_data_ep2:
-0335 da204a09 arg mem_usb_ep2_fifo ,rega 
-0336 20407da3 call fifo_is_empty 
-0337 207a0000 rtn blank 
-0338 6ff08c25 fetch 1 ,core_usb_txbusy 
-0339 1fe17e0f and_into 0x0f ,pdata 
-033a 247a0000 nrtn blank 
-033b da204a09 arg mem_usb_ep2_fifo ,rega 
-033c 20407d97 call fifo_out 
-033d 207a0000 rtn blank 
-033e c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
-033f c013034d beq usb_ep2_authca ,p_usb_tx_authca_data 
-0340 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-0341 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
-0342 c011835a beq usb_ep2_protocol ,p_usb_tx_protocol_data 
-0343 c0138345 beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
-0344 2020235a branch assert 
+02fe da204947 arg mem_usb_ep2_fifo ,rega 
+02ff 20407da3 call fifo_is_empty 
+0300 207a0000 rtn blank 
+0301 6ff08c25 fetch 1 ,core_usb_txbusy 
+0302 1fe17e0f and_into 0x0f ,pdata 
+0303 247a0000 nrtn blank 
+0304 da204947 arg mem_usb_ep2_fifo ,rega 
+0305 20407d97 call fifo_out 
+0306 207a0000 rtn blank 
+0307 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
+0308 c0120316 beq usb_ep2_dpi ,p_usb_tx_dpi_data 
+0309 c0118322 beq usb_ep2_device_info ,p_usb_tx_device_info_data 
+030a c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+030b c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
+030c c012830e beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
+030d 2020235a branch assert 
 
 p_usb_tx_rf_state_data:
-0345 6f20c9c7 fetchr loopcnt ,1 ,mem_usb_rf_state_data 
-0346 d8c049c8 arg mem_usb_rf_state_data + 1 ,contr 
-0347 d8e00002 arg 2 ,queue 
-0348 da200759 arg mem_usb_txbuf2 ,rega 
-0349 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-034a 20407bd2 call usb_tx_buf 
-034b d8a049c7 arg mem_usb_rf_state_data ,contw 
-034c 20200358 branch p_usb_release_authca_buf + 1 
-
-p_usb_tx_authca_data:
-034d 70090c00 jam 0 ,mem_usb_ep2_data 
-034e 6fe0c6de fetch 1 ,mem_usb_authca_data 
-034f 1fe27200 copy pdata ,loopcnt 
-0350 207a0000 rtn blank 
-0351 d8c046df arg mem_usb_authca_data + 1 ,contr 
-
-p_usb_tx_authca_ep2:
-0352 d8e00002 arg 2 ,queue 
-0353 da200759 arg mem_usb_txbuf2 ,rega 
-0354 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-0355 20407bd2 call usb_tx_buf 
-0356 20200357 branch p_usb_release_authca_buf 
-
-p_usb_release_authca_buf:
-0357 d8a046de arg mem_usb_authca_data ,contw 
-0358 df200040 arg 64 ,loopcnt 
-0359 20207ca1 branch clear_mem 
-
-p_usb_tx_protocol_data:
-035a 70090c00 jam 0 ,mem_usb_ep2_data 
-035b 6fe0c904 fetch 1 ,mem_usb_protocol_data 
-035c 1fe27200 copy pdata ,loopcnt 
-035d 207a0000 rtn blank 
-035e d8c04905 arg mem_usb_protocol_data + 1 ,contr 
-
-p_usb_tx_protocol_ep2:
-035f d8e00002 arg 2 ,queue 
-0360 da200759 arg mem_usb_txbuf2 ,rega 
-0361 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-0362 20407bd2 call usb_tx_buf 
-0363 20200364 branch p_usb_release_protocol_buf 
-
-p_usb_release_protocol_buf:
-0364 d8a04904 arg mem_usb_protocol_data ,contw 
-0365 df200041 arg 65 ,loopcnt 
-0366 20207ca1 branch clear_mem 
+030e 6f20c904 fetchr loopcnt ,1 ,mem_usb_rf_state_data 
+030f d8c04905 arg mem_usb_rf_state_data + 1 ,contr 
+0310 d8e00002 arg 2 ,queue 
+0311 da200759 arg mem_usb_txbuf2 ,rega 
+0312 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+0313 20407bd2 call usb_tx_buf 
+0314 d8a04904 arg mem_usb_rf_state_data ,contw 
+0315 20200320 branch p_usb_release_dpi_buf + 1 
+
+p_usb_tx_dpi_data:
+0316 70090c00 jam 0 ,mem_usb_ep2_data 
+0317 6fe0c8c3 fetch 1 ,mem_usb_dpi_data 
+0318 1fe27200 copy pdata ,loopcnt 
+0319 207a0000 rtn blank 
+031a d8c048c4 arg mem_usb_dpi_data + 1 ,contr 
+
+p_usb_tx_dpi_ep2:
+031b d8e00002 arg 2 ,queue 
+031c da200759 arg mem_usb_txbuf2 ,rega 
+031d 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+031e 20407bd2 call usb_tx_buf 
+
+p_usb_release_dpi_buf:
+031f d8a048c3 arg mem_usb_dpi_data ,contw 
+0320 df200041 arg 65 ,loopcnt 
+0321 20207ca1 branch clear_mem 
+
+p_usb_tx_device_info_data:
+0322 70090c00 jam 0 ,mem_usb_ep2_data 
+0323 6fe0c841 fetch 1 ,mem_usb_device_info_data 
+0324 1fe27200 copy pdata ,loopcnt 
+0325 207a0000 rtn blank 
+0326 d8c04842 arg mem_usb_device_info_data + 1 ,contr 
+
+p_usb_tx_device_info_ep2:
+0327 d8e00002 arg 2 ,queue 
+0328 da200759 arg mem_usb_txbuf2 ,rega 
+0329 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+032a 20407bd2 call usb_tx_buf 
+
+p_usb_release_device_info_buf:
+032b d8a04841 arg mem_usb_device_info_data ,contw 
+032c df200041 arg 65 ,loopcnt 
+032d 20207ca1 branch clear_mem 
 
 p_rx_dcoc:
-0367 20758000 rtn wake 
-0368 20402160 call set_sync_on 
-0369 d8400027 arg 39 ,temp 
-036a 2040216f call set_freq_rx 
-036b 204021a6 call rf_rx_enable 
-036c 708a257f jam 0x7f ,0x8a25 
-036d 708a301a jam 0x1a ,0x8a30 
-036e 708a3178 jam 0x78 ,0x8a31 
-036f 708a8fb2 jam 0xb2 ,0x8a8f 
-0370 708ac200 jam 0 ,0x8ac2 
-0371 708ac300 jam 0 ,0x8ac3 
-0372 d8e00006 arg 6 ,queue 
-0373 20400384 call p_rx_dcoc_avg 
-0374 2a2ffe0d isolate1 13 ,rega 
-0375 2040211d call qset_start 
-0376 2a4ffe0d isolate1 13 ,regb 
-0377 2040211e call qset_p 
-0378 d8e00005 arg 5 ,queue 
+032e 20758000 rtn wake 
+032f 20402160 call set_sync_on 
+0330 d8400027 arg 39 ,temp 
+0331 2040216f call set_freq_rx 
+0332 204021a6 call rf_rx_enable 
+0333 708a257f jam 0x7f ,0x8a25 
+0334 708a301a jam 0x1a ,0x8a30 
+0335 708a3178 jam 0x78 ,0x8a31 
+0336 708a8fb2 jam 0xb2 ,0x8a8f 
+0337 708ac200 jam 0 ,0x8ac2 
+0338 708ac300 jam 0 ,0x8ac3 
+0339 d8e00006 arg 6 ,queue 
+033a 2040034b call p_rx_dcoc_avg 
+033b 2a2ffe0d isolate1 13 ,rega 
+033c 2040211d call qset_start 
+033d 2a4ffe0d isolate1 13 ,regb 
+033e 2040211e call qset_p 
+033f d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-0379 2040211c call qset1_p 
-037a 2040211e call qset_p 
-037b 20400384 call p_rx_dcoc_avg 
-037c d8a08ac2 arg 0x8ac2 ,contw 
-037d 1a31fe00 rshift4 rega ,pdata 
-037e 20402117 call qsetxor 
-037f 1a51fe00 rshift4 regb ,pdata 
-0380 20402117 call qsetxor 
-0381 18e08fff increase -1 ,queue 
-0382 20210379 branch p_rx_dcoc_loop2 ,positive 
-0383 2020214f branch rx_dcoc_loop2 + 10 
+0340 2040211c call qset1_p 
+0341 2040211e call qset_p 
+0342 2040034b call p_rx_dcoc_avg 
+0343 d8a08ac2 arg 0x8ac2 ,contw 
+0344 1a31fe00 rshift4 rega ,pdata 
+0345 20402117 call qsetxor 
+0346 1a51fe00 rshift4 regb ,pdata 
+0347 20402117 call qsetxor 
+0348 18e08fff increase -1 ,queue 
+0349 20210340 branch p_rx_dcoc_loop2 ,positive 
+034a 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-0384 2000003c nop 60 
-0385 58000f00 setarg mem_dcoc_buf 
-0386 67f10982 store 2 ,0x8982 
-0387 58000ff0 setarg mem_dcoc_buf_end 
-0388 67f10984 store 2 ,0x8984 
-0389 70898109 jam 0x9 ,0x8981 
-038a 70898103 jam 0x3 ,0x8981 
-038b 70898006 jam 0x6 ,0x8980 
-038c 2000003c nop 60 
-038d da200000 arg 0 ,rega 
-038e da400000 arg 0 ,regb 
-038f df200010 arg 16 ,loopcnt 
-0390 d8c00f00 arg mem_dcoc_buf ,contr 
-0391 2020212d branch rx_dcoc_loop 
+034b 2000003c nop 60 
+034c 58000f00 setarg mem_dcoc_buf 
+034d 67f10982 store 2 ,0x8982 
+034e 58000ff0 setarg mem_dcoc_buf_end 
+034f 67f10984 store 2 ,0x8984 
+0350 70898109 jam 0x9 ,0x8981 
+0351 70898103 jam 0x3 ,0x8981 
+0352 70898006 jam 0x6 ,0x8980 
+0353 2000003c nop 60 
+0354 da200000 arg 0 ,rega 
+0355 da400000 arg 0 ,regb 
+0356 df200010 arg 16 ,loopcnt 
+0357 d8c00f00 arg mem_dcoc_buf ,contr 
+0358 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-0392 20758000 rtn wake 
-0393 20202272 branch rfpll_aac_ghpc + 1 
+0359 20758000 rtn wake 
+035a 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-0394 20600000 rtn 
+035b 20600000 rtn 
 
 p_sadc_calibration:
-0395 20758000 rtn wake 
-0396 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0397 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-0398 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0399 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-039a 67f080cd store 1 ,core_sadc_clkdiv 
-039b 20000bb8 nop 3000 
-039c 204003bd call p_sadc_read 
-039d 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-039e 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-039f df200008 arg 8 ,loopcnt 
-03a0 20406f58 call sadc_cal_read + 1 
-03a1 6fe0c419 fetch 1 ,mem_spi_write_addr 
-03a2 67e0c433 store 1 ,mem_adc_cal_c7 
-03a3 6240c419 storer regb ,1 ,mem_spi_write_addr 
-03a4 20600000 rtn 
+035c 20758000 rtn wake 
+035d 708a0777 jam 0x77 ,core_gpadc_ctrl 
+035e 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+035f 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+0360 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+0361 67f080cd store 1 ,core_sadc_clkdiv 
+0362 20000bb8 nop 3000 
+0363 20400384 call p_sadc_read 
+0364 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+0365 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+0366 df200008 arg 8 ,loopcnt 
+0367 20406f58 call sadc_cal_read + 1 
+0368 6fe0c419 fetch 1 ,mem_spi_write_addr 
+0369 67e0c433 store 1 ,mem_adc_cal_c7 
+036a 6240c419 storer regb ,1 ,mem_spi_write_addr 
+036b 20600000 rtn 
 
 p_enable_adc:
-03a5 204003b3 call p_sadc_cal_write 
-03a6 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-03a7 793ffe07 set0 7 ,pdata 
-03a8 67f08a09 store 1 ,core_gpadc_cfg1 
-03a9 708a0777 jam 0x77 ,core_gpadc_ctrl 
-03aa 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-03ab 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-03ac 20406f90 call sadc_channel 
-03ad 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-03ae 67f080cd store 1 ,core_sadc_clkdiv 
-03af 20000bb8 nop 3000 
-03b0 204003bd call p_sadc_read 
-03b1 7080cd00 jam 0 ,core_sadc_clkdiv 
-03b2 20206fa1 branch sadc_dma 
+036c 2040037a call p_sadc_cal_write 
+036d 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+036e 793ffe07 set0 7 ,pdata 
+036f 67f08a09 store 1 ,core_gpadc_cfg1 
+0370 708a0777 jam 0x77 ,core_gpadc_ctrl 
+0371 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+0372 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+0373 20406f90 call sadc_channel 
+0374 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+0375 67f080cd store 1 ,core_sadc_clkdiv 
+0376 20000bb8 nop 3000 
+0377 20400384 call p_sadc_read 
+0378 7080cd00 jam 0 ,core_sadc_clkdiv 
+0379 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-03b3 6ff080cc fetch 1 ,core_sadc_ctrl 
-03b4 79207e01 set1 1 ,pdata 
-03b5 67f080cc store 1 ,core_sadc_ctrl 
-03b6 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-03b7 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-03b8 67e0c419 store 1 ,mem_spi_write_addr 
-03b9 df200008 arg 8 ,loopcnt 
-03ba 20406f67 call sadc_cal_write + 4 
-03bb 6240c419 storer regb ,1 ,mem_spi_write_addr 
-03bc 20600000 rtn 
+037a 6ff080cc fetch 1 ,core_sadc_ctrl 
+037b 79207e01 set1 1 ,pdata 
+037c 67f080cc store 1 ,core_sadc_ctrl 
+037d 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+037e 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+037f 67e0c419 store 1 ,mem_spi_write_addr 
+0380 df200008 arg 8 ,loopcnt 
+0381 20406f67 call sadc_cal_write + 4 
+0382 6240c419 storer regb ,1 ,mem_spi_write_addr 
+0383 20600000 rtn 
 
 p_sadc_read:
-03bd 7080cc03 jam 0x03 ,core_sadc_ctrl 
+0384 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-03be 6ff08129 fetch 1 ,core_perf_status 
-03bf c30283be bbit0 saradc_done ,p_sadc_read_wait 
-03c0 68590164 fetcht 2 ,core_sadc_data 
-03c1 6049440a storet 2 ,mem_adc_current_value 
-03c2 7080cc00 jam 0x00 ,core_sadc_ctrl 
-03c3 20600000 rtn 
+0385 6ff08129 fetch 1 ,core_perf_status 
+0386 c3028385 bbit0 saradc_done ,p_sadc_read_wait 
+0387 68590164 fetcht 2 ,core_sadc_data 
+0388 6049440a storet 2 ,mem_adc_current_value 
+0389 7080cc00 jam 0x00 ,core_sadc_ctrl 
+038a 20600000 rtn 
 
 p_set_lemode:
-03c4 708a8211 jam 0x11 ,0x8a82 
-03c5 708a8d12 jam 0x12 ,0x8a8d 
-03c6 708a8e0a jam 0x0a ,0x8a8e 
-03c7 6fe0c099 fetch 1 ,mem_fcomp_div 
-03c8 c00803dd beq xtal_16m ,p_set_lemode_2m_16m 
-03c9 58005762 setarg 0x5762 
-03ca 67f10907 store 2 ,0x8907 
+038b 708a8211 jam 0x11 ,0x8a82 
+038c 708a8d12 jam 0x12 ,0x8a8d 
+038d 708a8e0a jam 0x0a ,0x8a8e 
+038e 6fe0c099 fetch 1 ,mem_fcomp_div 
+038f c00803a4 beq xtal_16m ,p_set_lemode_2m_16m 
+0390 58005762 setarg 0x5762 
+0391 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-03cb 70890103 jam 3 ,0x8901 
-03cc 70893003 jam 3 ,0x8930 
-03cd c6168000 rtnmark1 mark_ble_2m 
-03ce 70890101 jam 1 ,0x8901 
-03cf 708a8207 jam 0x07 ,0x8a82 
-03d0 708a8d44 jam 0x44 ,0x8a8d 
-03d1 708a8e0a jam 0x0a ,0x8a8e 
-03d2 6fe0c099 fetch 1 ,mem_fcomp_div 
-03d3 c00803da beq xtal_16m ,p_set_lemode_1m_16m 
-03d4 58002bb1 setarg 0x2bb1 
-03d5 67f10907 store 2 ,0x8907 
+0392 70890103 jam 3 ,0x8901 
+0393 70893003 jam 3 ,0x8930 
+0394 c6168000 rtnmark1 mark_ble_2m 
+0395 70890101 jam 1 ,0x8901 
+0396 708a8207 jam 0x07 ,0x8a82 
+0397 708a8d44 jam 0x44 ,0x8a8d 
+0398 708a8e0a jam 0x0a ,0x8a8e 
+0399 6fe0c099 fetch 1 ,mem_fcomp_div 
+039a c00803a1 beq xtal_16m ,p_set_lemode_1m_16m 
+039b 58002bb1 setarg 0x2bb1 
+039c 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-03d6 c6978000 rtnmark0 mark_ble_lr 
-03d7 70893024 jam 0x24 ,0x8930 
-03d8 70890105 jam 5 ,0x8901 
-03d9 20600000 rtn 
+039d c6978000 rtnmark0 mark_ble_lr 
+039e 70893024 jam 0x24 ,0x8930 
+039f 70890105 jam 5 ,0x8901 
+03a0 20600000 rtn 
 
 p_set_lemode_1m_16m:
-03da 58004189 setarg 0x4189 
-03db 67f10907 store 2 ,0x8907 
-03dc 202003d6 branch p_set_lemode_1m 
+03a1 58004189 setarg 0x4189 
+03a2 67f10907 store 2 ,0x8907 
+03a3 2020039d branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-03dd 58008312 setarg 0x8312 
-03de 67f10907 store 2 ,0x8907 
-03df 202003cb branch p_set_lemode_2m 
+03a4 58008312 setarg 0x8312 
+03a5 67f10907 store 2 ,0x8907 
+03a6 20200392 branch p_set_lemode_2m 
 
 p_le_parse:
-03e0 6fe0c334 fetch 1 ,mem_le_packet_llid 
-03e1 c1000000 rtneq llid_reserved 
-03e2 c001b04a beq llid_le_ll ,le_parse_ll 
-03e3 202028e1 branch le_parse_l2cap 
+03a7 6fe0c334 fetch 1 ,mem_le_packet_llid 
+03a8 c1000000 rtneq llid_reserved 
+03a9 c001b04a beq llid_le_ll ,le_parse_ll 
+03aa 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-03e4 793f8030 set0 mark_ble_crc_fail ,mark 
-03e5 20202af6 branch le_init_adv + 1 
+03ab 793f8030 set0 mark_ble_crc_fail ,mark 
+03ac 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-03e6 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-03e7 c0553329 beq datatype_bind ,g24_bind_first_step 
-03e8 c02ab33a beq datatype_config ,g24_bind_second_step 
-03e9 c01103ec beq datatype_ok ,p_g24_bind_third_step 
-03ea c07fb59b beq datatype_attemp ,g24_data_attemp 
-03eb 20600000 rtn 
+03ad 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+03ae c0553329 beq datatype_bind ,g24_bind_first_step 
+03af c02ab33a beq datatype_config ,g24_bind_second_step 
+03b0 c01103b3 beq datatype_ok ,p_g24_bind_third_step 
+03b1 c07fb59b beq datatype_attemp ,g24_data_attemp 
+03b2 20600000 rtn 
 
 p_g24_bind_third_step:
-03ec 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-03ed 203a03f2 branch p_g24_bind_third_step_skip ,blank 
-03ee 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
-03ef 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-03f0 98467c00 isub temp ,null 
-03f1 24628000 nrtn zero 
+03b3 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+03b4 203a03b9 branch p_g24_bind_third_step_skip ,blank 
+03b5 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
+03b6 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+03b7 98467c00 isub temp ,null 
+03b8 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-03f2 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-03f3 c00083f6 beq datatype_device1 ,p_g24_bind_third_step_device1 
-03f4 c00103fd beq datatype_device2 ,p_g24_bind_third_step_device2 
-03f5 20600000 rtn 
+03b9 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+03ba c00083bd beq datatype_device1 ,p_g24_bind_third_step_device1 
+03bb c00103c4 beq datatype_device2 ,p_g24_bind_third_step_device2 
+03bc 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-03f6 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-03f7 247a0000 nrtn blank 
-03f8 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-03f9 c00103fb beq 2 ,p_g24_bind_dvc1_step_success 
-03fa 20600000 rtn 
+03bd 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+03be 247a0000 nrtn blank 
+03bf 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+03c0 c00103c2 beq 2 ,p_g24_bind_dvc1_step_success 
+03c1 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-03fb 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-03fc 2020336b branch g24_bind_dvc1_step_success + 1 
+03c2 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+03c3 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-03fd 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-03fe 247a0000 nrtn blank 
-03ff 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0400 c0800402 bne 0 ,p_g24_bind_dvc2_step_success 
-0401 20600000 rtn 
+03c4 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+03c5 247a0000 nrtn blank 
+03c6 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+03c7 c08003c9 bne 0 ,p_g24_bind_dvc2_step_success 
+03c8 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-0402 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-0403 20403393 call g24_binding_dvc2_living 
-0404 20203378 branch g24_bind_dvc2_step_success + 1 
+03c9 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+03ca 20403393 call g24_binding_dvc2_living 
+03cb 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-0405 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0406 c1000000 rtneq dongle_work 
-0407 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-0408 247a0000 nrtn blank 
-0409 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-040a 247a0000 nrtn blank 
-040b 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-040c 207a0000 rtn blank 
-040d 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-040e c1800000 rtnne 0 
-040f 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0410 c1800000 rtnne 0 
-0411 20203436 branch g24_mode_switch_bind_search + 9 
+03cc 6fe0c616 fetch 1 ,mem_24g_work_mode 
+03cd c1000000 rtneq dongle_work 
+03ce 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+03cf 247a0000 nrtn blank 
+03d0 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+03d1 247a0000 nrtn blank 
+03d2 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+03d3 207a0000 rtn blank 
+03d4 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+03d5 c1800000 rtnne 0 
+03d6 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+03d7 c1800000 rtnne 0 
+03d8 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-0412 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0413 c1808000 rtnne dongle_bind 
-0414 20400416 call p_g24_bind_init 
-0415 2020346d branch g24_bind_mode_auto + 4 
+03d9 6fe0c616 fetch 1 ,mem_24g_work_mode 
+03da c1808000 rtnne dongle_bind 
+03db 204003dd call p_g24_bind_init 
+03dc 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-0416 6fe0c615 fetch 1 ,mem_24g_mode_init 
-0417 c3808000 rtnbit1 dongle_bind 
-0418 79207e01 set1 dongle_bind ,pdata 
-0419 67e0c615 store 1 ,mem_24g_mode_init 
-041a 58000000 setarg 0 
-041b 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-041c 20203307 branch g24_bind_init + 8 
+03dd 6fe0c615 fetch 1 ,mem_24g_mode_init 
+03de c3808000 rtnbit1 dongle_bind 
+03df 79207e01 set1 dongle_bind ,pdata 
+03e0 67e0c615 store 1 ,mem_24g_mode_init 
+03e1 58000000 setarg 0 
+03e2 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+03e3 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-041d 2040042c call p_wdt_kick 
-041e 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-041f 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-0420 20407906 call usb_isr 
-0421 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-0422 207a0000 rtn blank 
-0423 7008f700 jam 0 ,mem_usb0_get_set_report 
-0424 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-0425 d84002a4 arg pc_set_report ,temp 
-0426 98467c00 isub temp ,null 
-0427 202281ac branch p_dongle_usb_data_received_analysis ,zero 
-0428 d84002a2 arg pc_set_report_prolotol ,temp 
-0429 98467c00 isub temp ,null 
-042a 24628000 nrtn zero 
-042b 202001ac branch p_dongle_usb_data_received_analysis 
+03e4 204003f3 call p_wdt_kick 
+03e5 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+03e6 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+03e7 20407906 call usb_isr 
+03e8 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+03e9 207a0000 rtn blank 
+03ea 7008f700 jam 0 ,mem_usb0_get_set_report 
+03eb 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+03ec d84002a4 arg pc_set_report ,temp 
+03ed 98467c00 isub temp ,null 
+03ee 202281ac branch p_dongle_usb_data_received_analysis ,zero 
+03ef d84002a2 arg pc_set_report_prolotol ,temp 
+03f0 98467c00 isub temp ,null 
+03f1 24628000 nrtn zero 
+03f2 202001ac branch p_dongle_usb_data_received_analysis 
 
 p_wdt_kick:
-042c 58000010 setarg 16 
-042d 202070c8 branch wdt_init_config 
+03f3 58000010 setarg 16 
+03f4 202070c8 branch wdt_init_config 
 
 p_dongle_default_init:
-042e 204047c3 call dongle_default_init + 1 
-042f 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-0430 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-0431 704a1200 jam 0 ,mem_usb_http_data_step 
-0432 704a1300 jam 0 ,mem_usb_tx_data_flag 
-0433 20403281 call g24_enable_1m 
-0434 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0435 c4000000 rtnbit0 dg_enable_new_revision 
-0436 7045ca01 jam on ,mem_24g_disable_fec1 
-0437 20203284 branch g24_enable_2m 
+03f5 204047c3 call dongle_default_init + 1 
+03f6 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+03f7 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+03f8 70495000 jam 0 ,mem_usb_http_data_step 
+03f9 70495100 jam 0 ,mem_usb_tx_data_flag 
+03fa 20403281 call g24_enable_1m 
+03fb 6fe0c669 fetch 1 ,mem_dg_sys_config 
+03fc c4000000 rtnbit0 dg_enable_new_revision 
+03fd 7045ca01 jam on ,mem_24g_disable_fec1 
+03fe 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_end:
-0438 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0439 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-043a 7837fc00 enable user3 
-043b 20000018 nop 24 
-043c 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-043d 79207e00 set1 bit_ack_24g ,pdata 
-043e 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-043f 204033a5 call g24_ackpayload_prep 
-0440 204031e5 call g24_transmit_prep 
-0441 20203195 branch g24_transmit 
+03ff 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0400 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+0401 7837fc00 enable user3 
+0402 20000018 nop 24 
+0403 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+0404 79207e00 set1 bit_ack_24g ,pdata 
+0405 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+0406 204033a5 call g24_ackpayload_prep 
+0407 204031e5 call g24_transmit_prep 
+0408 20203195 branch g24_transmit 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(revision 3558)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(working copy)
@@ -716,34 +716,30 @@
 	beq DATATYPE_DEVICE1,g24_data_device1	//mouse
 	beq DATATYPE_DEVICE2,g24_data_device2	//keyboard
 	beq DATATYPE_ATTEMP,g24_data_receive_attemp	//reconn packet
-	bbit1 DATATYPE_HTTP,g24_data_device1
-	bbit1 DATATYPE_AUTHCA,p_g24_data_receive_heart_authca_audio
-	bbit1 DATATYPE_HEART,p_g24_data_receive_heart_authca_audio
-	bbit1 DATATYPE_PROTOCOL,p_g24_data_receive_heart_authca_audio
+	bbit1 DATA_HTTP,p_g24_data_receive_device_http_dpi
+	bbit1 DATA_DPI,p_g24_data_receive_device_http_dpi
+	bbit1 DATA_DEVICE_INFO,p_g24_data_receive_device_http_dpi
 	branch g24_rx_interrupt_clear
-p_g24_data_receive_heart_authca_audio:
+p_g24_data_receive_device_http_dpi:
 	fetch 1,mem_24g_rxdata_temp+2
 	and pdata,0x0f,pdata
 	beq DATATYPE_DEVICE1,g24_data_device1
 	beq DATATYPE_DEVICE2,g24_data_device2
 	branch g24_rx_interrupt_clear
 
-
-p_dongle_g24_mouse:
-	fetch 1,mem_24g_rxdata_temp+2
-	bbit1 DATATYPE_AUTHCA,p_dongle_g24_mouse_authca_data
-	bbit1 DATATYPE_HEART,p_dongle_g24_mouse_heart_data
-	bbit1 DATATYPE_PROTOCOL,p_g24_data_receive_protocol_data
-	bbit1 DATATYPE_HTTP,p_dongle_usb_tx_http_data
-	branch p_dongle_g24_mouse_next
-
-
 p_dongle_usb_tx_http_data:
 	jam USB_EP1_KB_HTTP,mem_usb_ep1_data
 	arg mem_usb_kb_data,contw
 	call memset0_8
 	branch dongle_usb_tx_ep1_enable	
 
+p_dongle_g24_mouse:
+	fetch 1,mem_24g_rxdata_temp+2
+	bbit1 DATA_HTTP,p_dongle_usb_tx_http_data
+	bbit1 DATA_DPI,p_dongle_receive_dpi_data
+	bbit1 DATA_DEVICE_INFO,p_dongle_receive_device_info_data
+	branch p_dongle_g24_mouse_next
+
 p_dongle_g24_mouse_next:
 	fetch 1,mem_24g_rxdata_length
 	sub pdata,0x09,null
@@ -757,9 +753,9 @@
 	arg mem_24g_rxdata_temp+10,contr
 	call memcpy
 	fetch 1,mem_24g_rxdata_temp+2
-	bbit1 DATATYPE_HTTP,p_dongle_usb_tx_http_data
-	bbit1 DATATYPE_AUTHCA,p_dongle_g24_mouse_authca_data
-	bbit1 DATATYPE_PROTOCOL,p_g24_data_receive_protocol_data
+	bbit1 DATA_HTTP,p_dongle_usb_tx_http_data
+	bbit1 DATA_DPI,p_dongle_receive_dpi_data
+	bbit1 DATA_DEVICE_INFO,p_dongle_receive_device_info_data
 	rtn
 p_dongle_g24_mouse_data:	
 	setarg MS_REPORT_ID
@@ -773,97 +769,31 @@
 	jam USB_EP2_MS,mem_usb_ep2_data
 	branch p_dongle_usb_tx_enable_ep2
 
-p_dongle_g24_mouse_heart_data:
-//	jam 1,mem_dongle_freq_hop_flag
-	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
-	rtn
-
-p_g24_data_receive_protocol_data:
-	fetchr loopcnt,1,mem_24g_rxdata_length
-	increase -1,loopcnt
-	arg mem_usb_protocol_data+2,contw
-	arg mem_24g_rxdata_temp+3,contr
-	call memcpy
-	fetchr loopcnt,1,mem_24g_rxdata_length
-	increase -1,pdata
-	arg mem_usb_protocol_data_sta,contw
-	arg mem_usb_protocol_data+2,contr
-	call memcpy
-	fetchr loopcnt,1,mem_24g_rxdata_length
-	increase -1,pdata
-	arg mem_usb_protocol_data_sta,regb
-	arg mem_usb_protocol_data_last,rega
-	call compare_loop
-	ncall p_dongle_usb_tx_protocol_data,zero
-	fetchr loopcnt,1,mem_24g_rxdata_length
-	increase -1,pdata
-	arg mem_usb_protocol_data_sta,contr
-	arg mem_usb_protocol_data_last,contw
-	call memcpy
-	branch g24_rx_interrupt_clear
-
 
-p_dongle_g24_mouse_authca_data:
-	fetchr loopcnt,1,mem_24g_rxdata_length
-	increase -1,loopcnt
-	arg mem_usb_authca_data+2,contw
-	arg mem_24g_rxdata_temp+3,contr
-	call memcpy
-	fetchr loopcnt,1,mem_24g_rxdata_length
-	increase -1,pdata
-	arg mem_usb_authca_data_sta,contw
-	arg mem_usb_authca_data+2,contr
-	call memcpy
-	//branch p_dongle_usb_tx_authca_data
-	fetchr loopcnt,1,mem_24g_rxdata_length
-	increase -1,pdata
-	arg mem_usb_authca_data_sta,regb
-	arg mem_usb_authca_data_last,rega
-	call compare_loop
-	ncall p_dongle_usb_tx_authca_data,zero
-	fetchr loopcnt,1,mem_24g_rxdata_length
-	increase -1,pdata
-	arg mem_usb_authca_data_sta,contr
-	arg mem_usb_authca_data_last,contw
-	call memcpy
-	call g24_rx_interrupt_clear
-	branch p_dongle_g24_mouse_heart_data
-	
-
-p_dongle_usb_tx_protocol_data:	// all length 1B + IN_DATA_ID 1B + payload length 1B + payload N*B
+p_dongle_receive_dpi_data:
 	setarg 0x40
-	store 1,mem_usb_protocol_data
-	jam REPORT_ID_DATA_IN,mem_usb_protocol_data+1
+	store 1,mem_usb_dpi_data
+	jam REPORT_ID_DATA_IN,mem_usb_dpi_data+1
 	fetch 1,mem_24g_rxdata_length						
 	increase -1,pdata
 	copy pdata,loopcnt
-	arg mem_usb_protocol_data+2,contr
-	arg mem_usb_protocol_data_sta,contw
+	arg mem_24g_rxdata_temp+3,contr
+	arg mem_usb_dpi_data+2,contw
 	call memcpy
-	jam USB_EP2_PROTOCOL,mem_usb_ep2_data
+	jam USB_EP2_DPI,mem_usb_ep2_data
 	branch p_dongle_usb_tx_enable_ep2
 
-
-p_dongle_usb_tx_authca_data:
+p_dongle_receive_device_info_data:
 	setarg 0x40
-	store 1,mem_usb_authca_data
-	jam REPORT_ID_AUTHCA_DATA_IN,mem_usb_authca_data+1	//handle + length + data
-	fetch 1,mem_24g_rxdata_length
-	increase -1,pdata
-	store 1,mem_usb_authca_data+2
-
-	fetchr loopcnt,1,mem_24g_rxdata_length
+	store 1,mem_usb_device_info_data
+	jam REPORT_ID_DATA_IN,mem_usb_device_info_data+1
+	fetch 1,mem_24g_rxdata_length						
 	increase -1,pdata
-	arg mem_usb_authca_data+3,contw
-	arg mem_usb_authca_data_sta,contr
+	copy pdata,loopcnt
+	arg mem_24g_rxdata_temp+3,contr
+	arg mem_usb_device_info_data+2,contw
 	call memcpy
-
-	jam USB_EP2_AUTHCA,mem_usb_ep2_data
+	jam USB_EP2_DEVICE_INFO,mem_usb_ep2_data
 	branch p_dongle_usb_tx_enable_ep2
 
 p_dongle_usb_tx_enable_ep2:
@@ -1054,10 +984,10 @@
 	call fifo_out
 	rtn blank
 	beq USB_EP2_MS,usb_tx_ms_data
-	beq USB_EP2_AUTHCA,p_usb_tx_authca_data
+	beq USB_EP2_DPI,p_usb_tx_dpi_data
+	beq USB_EP2_DEVICE_INFO,p_usb_tx_device_info_data
 	beq USB_EP2_MULTIKEY,usb_tx_kb_multikey_data
 	beq USB_EP2_SYSTEMKEY,usb_tx_kb_systemkey_data
-	beq USB_EP2_PROTOCOL,p_usb_tx_protocol_data
 	beq USB_EP2_MSKB_STATE,p_usb_tx_rf_state_data
 	branch assert
 p_usb_tx_rf_state_data:
@@ -1068,40 +998,37 @@
 	storer rega,2,core_usb_tx_saddr2
 	call usb_tx_buf
 	arg mem_usb_rf_state_data,contw
-	branch p_usb_release_authca_buf+1
-p_usb_tx_authca_data:
+	branch p_usb_release_dpi_buf+1
+	
+p_usb_tx_dpi_data:
 	jam 0,mem_usb_ep2_data
-	fetch 1,mem_usb_authca_data
+	fetch 1,mem_usb_dpi_data
 	copy pdata,loopcnt
 	rtn blank
-	arg mem_usb_authca_data+1,contr
-p_usb_tx_authca_ep2:
+	arg mem_usb_dpi_data+1,contr
+p_usb_tx_dpi_ep2:
 	arg 2,queue
 	arg mem_usb_txbuf2,rega
 	storer rega,2,core_usb_tx_saddr2
 	call usb_tx_buf
-	branch p_usb_release_authca_buf
-
-p_usb_release_authca_buf:
-	arg mem_usb_authca_data,contw
-	arg 64,loopcnt
+p_usb_release_dpi_buf:
+	arg mem_usb_dpi_data,contw
+	arg 65,loopcnt
 	branch clear_mem
 
-p_usb_tx_protocol_data:
+p_usb_tx_device_info_data:
 	jam 0,mem_usb_ep2_data
-	fetch 1,mem_usb_protocol_data
+	fetch 1,mem_usb_device_info_data
 	copy pdata,loopcnt
 	rtn blank
-	arg mem_usb_protocol_data+1,contr
-p_usb_tx_protocol_ep2:
+	arg mem_usb_device_info_data+1,contr
+p_usb_tx_device_info_ep2:
 	arg 2,queue
 	arg mem_usb_txbuf2,rega
 	storer rega,2,core_usb_tx_saddr2
 	call usb_tx_buf
-	branch p_usb_release_protocol_buf
-
-p_usb_release_protocol_buf:
-	arg mem_usb_protocol_data,contw
+p_usb_release_device_info_buf:
+	arg mem_usb_device_info_data,contw
 	arg 65,loopcnt
 	branch clear_mem
 
