Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/format/app_dongle.format	(revision 3874)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/format/app_dongle.format	(working copy)
@@ -40,6 +40,7 @@
 65 mem_usb_audio_data
 65 mem_usb_audio_data_sta
 65 mem_usb_audio_data_last
+65 mem_usb_device_info_data
 1 mem_dongle_usb_header
 1 mem_dongle_usb_opcode
 1 mem_dongle_usb_len
@@ -59,7 +60,7 @@
 64 mem_usb_rf_state_data
 1 mem_usb_rf_state_report_flag
 1 mem_usb_rf_state_report_flag1
-
+1 mem_usb_tx_device_info_flag
 8 mem_usb_ep2_fifo
 1 mem_dongle_freq_hop_flag
 //http
@@ -101,11 +102,7 @@
 0x03 HCI_CMD_VOICE_CONTRAL
 0x04 HCI_CMD_DPI_CONTRAL
 0x05 HCI_CMD_GET_DEVICE_INFO
-
-0x01 HCI_EVENT_DEVICE_INFO_REP
-0x02 HCI_EVENT_DEVICE_VOICE_REP
-0x03 HCI_EVENT_KEY_REP
-0x06 HCI_EVENT_REP_COMPLETE
+0x06 HCI_CMD_SET_MAC
 )
 
 //otp address offset
Index: format/usb.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/format/usb.format	(revision 3873)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/format/usb.format	(working copy)
@@ -196,6 +196,7 @@
 0x24 USB_EP2_AUDIO
 0x26 USB_EP2_AUTHCA
 0x27 USB_EP2_MSKB_STATE
+0x28 USB_EP2_DEVICE_INFO
 0x01 MAC_BOOT_MODE
 0x02 R_KEY
 0x03 LR_KEY
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/memmap.format	(revision 3874)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/memmap.format	(working copy)
@@ -1494,37 +1494,39 @@
 0x47a1 mem_usb_audio_data
 0x47e2 mem_usb_audio_data_sta
 0x4823 mem_usb_audio_data_last
-0x4864 mem_dongle_usb_header
-0x4865 mem_dongle_usb_opcode
-0x4866 mem_dongle_usb_len
-0x4867 mem_dongle_usb_ep2_data_flag
-0x4868 mem_dongle_usb_ep2_data_len
-0x4869 mem_dongle_g24_usb_ep2_ack_data
-0x48a9 mem_dongle_24g_ep2_data_flag
-0x48aa mem_dongle_24g_ep2_data
-0x48ea mem_usb_ep2_config
-0x49c6 mem_24g_ackpayload_enable_temp
-0x49c7 mem_24g_rxdata_temp_new
-0x4a0d mem_24g_txbuf_new
-0x4a4e mem_24g_txpayload_new
-0x4a93 mem_usb_protocol_data
-0x4ad4 mem_usb_protocol_data_sta
-0x4b15 mem_usb_protocol_data_last
-0x4b56 mem_usb_rf_state_data
-0x4b96 mem_usb_rf_state_report_flag
-0x4b97 mem_usb_rf_state_report_flag1
-0x4b98 mem_usb_ep2_fifo
-0x4ba0 mem_dongle_freq_hop_flag
-0x4ba1 mem_usb_win_cmd
-0x4ba4 mem_usb_mac_cmd
-0x4ba7 mem_usb_kb_enter
-0x4baa mem_usb_website_wait_count
-0x4bab mem_usb_website_step
-0x4bac mem_usb_website_shift_flag
-0x4bad mem_usb_website_release_flag
-0x4bae mem_usb_website_ptr
-0x4bb0 mem_usb_website_info
-0x4bd8 mem_usb_website_info_sign
+0x4864 mem_usb_device_info_data
+0x48a5 mem_dongle_usb_header
+0x48a6 mem_dongle_usb_opcode
+0x48a7 mem_dongle_usb_len
+0x48a8 mem_dongle_usb_ep2_data_flag
+0x48a9 mem_dongle_usb_ep2_data_len
+0x48aa mem_dongle_g24_usb_ep2_ack_data
+0x48ea mem_dongle_24g_ep2_data_flag
+0x48eb mem_dongle_24g_ep2_data
+0x492b mem_usb_ep2_config
+0x4a07 mem_24g_ackpayload_enable_temp
+0x4a08 mem_24g_rxdata_temp_new
+0x4a4e mem_24g_txbuf_new
+0x4a8f mem_24g_txpayload_new
+0x4ad4 mem_usb_protocol_data
+0x4b15 mem_usb_protocol_data_sta
+0x4b56 mem_usb_protocol_data_last
+0x4b97 mem_usb_rf_state_data
+0x4bd7 mem_usb_rf_state_report_flag
+0x4bd8 mem_usb_rf_state_report_flag1
+0x4bd9 mem_usb_tx_device_info_flag
+0x4bda mem_usb_ep2_fifo
+0x4be2 mem_dongle_freq_hop_flag
+0x4be3 mem_usb_win_cmd
+0x4be6 mem_usb_mac_cmd
+0x4be9 mem_usb_kb_enter
+0x4bec mem_usb_website_wait_count
+0x4bed mem_usb_website_step
+0x4bee mem_usb_website_shift_flag
+0x4bef mem_usb_website_release_flag
+0x4bf0 mem_usb_website_ptr
+0x4bf2 mem_usb_website_info
+0x4c1a mem_usb_website_info_sign
 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 3874)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/otp.dat	(working copy)
@@ -11,7 +11,7 @@
 00
 aa
 55
-52
+c6
 17
 c2
 84
@@ -31,8 +31,8 @@
 07
 c0
 0a
-04
-fa
+05
+17
 c0
 0a
 81
@@ -52,7 +52,7 @@
 c0
 1b
 85
-74
+91
 c0
 1c
 01
@@ -64,7 +64,7 @@
 c0
 1e
 85
-63
+80
 c0
 1f
 00
@@ -76,11 +76,11 @@
 c0
 6d
 04
-cb
+e8
 c0
 6e
 04
-db
+f8
 c0
 7f
 01
@@ -108,23 +108,23 @@
 c0
 03
 02
-be
+c6
 c0
 1c
 85
-16
+33
 c0
 26
 85
-1a
+37
 c0
 37
 05
-7d
+9a
 c0
 37
 85
-97
+b4
 c0
 39
 00
@@ -136,7 +136,7 @@
 c0
 3a
 85
-a1
+be
 c0
 3f
 80
@@ -144,23 +144,23 @@
 c0
 40
 85
-b1
+ce
 c0
 41
 05
-1c
+39
 c0
 42
 02
-d2
+db
 c0
 44
 05
-4b
+68
 c0
 45
 05
-58
+75
 c0
 48
 80
@@ -243,8 +243,8 @@
 00
 6f
 e0
-c9
-c7
+ca
+08
 67
 e0
 c5
@@ -316,18 +316,18 @@
 6f
 e0
 cb
-97
+d8
 c1
 00
 80
 00
 70
 4b
-97
+d8
 01
 70
 4b
-96
+d7
 00
 20
 20
@@ -335,27 +335,27 @@
 50
 70
 4b
-56
+97
 40
 70
 4b
-57
+98
 a1
 70
 4b
-58
+99
 02
 70
 4b
-59
+9a
 04
 70
 4b
-5a
+9b
 01
 70
 4b
-5b
+9c
 00
 70
 06
@@ -364,34 +364,34 @@
 da
 20
 4b
-98
+da
 20
 20
 7d
 8b
 70
 4b
-56
+97
 40
 70
 4b
-57
+98
 a1
 70
 4b
-58
+99
 02
 70
 4b
-59
+9a
 04
 70
 4b
-5a
+9b
 01
 70
 4b
-5b
+9c
 01
 70
 06
@@ -400,7 +400,7 @@
 da
 20
 4b
-98
+da
 20
 20
 7d
@@ -420,7 +420,7 @@
 20
 40
 03
-ca
+dc
 20
 40
 00
@@ -491,8 +491,8 @@
 f7
 d8
 a0
-49
-c7
+4a
+08
 20
 40
 7c
@@ -512,7 +512,7 @@
 20
 20
 02
-d2
+db
 70
 46
 14
@@ -531,8 +531,8 @@
 e1
 d8
 a0
-49
-c7
+4a
+08
 df
 20
 00
@@ -543,8 +543,8 @@
 a1
 6f
 e0
-c9
-c6
+ca
+07
 67
 e0
 c6
@@ -560,7 +560,7 @@
 d8
 a0
 4a
-0d
+4e
 20
 20
 7c
@@ -592,7 +592,7 @@
 67
 e0
 ca
-4e
+8f
 6f
 e0
 c5
@@ -648,7 +648,7 @@
 d8
 c0
 4a
-0d
+4e
 20
 40
 7c
@@ -692,7 +692,7 @@
 67
 e0
 ca
-4e
+8f
 6f
 e0
 c5
@@ -779,7 +779,7 @@
 00
 70
 4a
-0d
+4e
 ff
 20
 20
@@ -803,7 +803,7 @@
 36
 70
 4a
-0d
+4e
 aa
 20
 20
@@ -811,7 +811,7 @@
 ce
 70
 4a
-0d
+4e
 55
 6f
 e0
@@ -828,14 +828,14 @@
 67
 e2
 4a
-0f
+50
 20
 20
 00
 d0
 70
 4a
-0d
+4e
 22
 6f
 e2
@@ -844,7 +844,7 @@
 67
 e2
 4a
-0f
+50
 6f
 e0
 c5
@@ -856,10 +856,10 @@
 67
 e0
 ca
-0e
+4f
 70
 4a
-13
+54
 00
 70
 45
@@ -908,7 +908,7 @@
 d8
 c0
 4a
-4e
+8f
 20
 20
 31
@@ -940,7 +940,7 @@
 d8
 a0
 4a
-0d
+4e
 20
 20
 7c
@@ -968,7 +968,7 @@
 67
 e0
 ca
-0d
+4e
 20
 60
 00
@@ -1012,7 +1012,7 @@
 20
 20
 03
-bd
+cf
 6f
 e0
 c6
@@ -1232,11 +1232,11 @@
 20
 40
 04
-9d
+ba
 20
 40
 04
-c8
+e5
 20
 40
 01
@@ -1252,7 +1252,7 @@
 20
 20
 04
-ca
+e7
 20
 75
 80
@@ -1799,8 +1799,8 @@
 32
 58
 00
-48
-ea
+49
+2b
 67
 e1
 07
@@ -1808,7 +1808,7 @@
 58
 00
 03
-05
+0e
 67
 e1
 45
@@ -1816,7 +1816,7 @@
 58
 00
 03
-a1
+b3
 67
 e1
 45
@@ -1824,7 +1824,7 @@
 58
 00
 03
-b6
+c8
 67
 e1
 45
@@ -1968,7 +1968,7 @@
 67
 e0
 c8
-65
+a6
 e8
 40
 80
@@ -1980,27 +1980,19 @@
 60
 48
 c8
-66
+a7
 20
 20
 01
 ed
 6f
 e0
-c6
-2b
-20
-3a
-01
-f7
-6f
-e0
 c8
-65
+a6
 c0
 02
 81
-f5
+f3
 c0
 01
 01
@@ -2018,8 +2010,16 @@
 01
 f7
 70
+4b
+d9
+01
+20
+60
+00
+00
+70
 48
-67
+a8
 a2
 20
 20
@@ -2027,11 +2027,11 @@
 12
 70
 4b
-56
+97
 40
 70
 4b
-57
+98
 a1
 d8
 40
@@ -2044,14 +2044,14 @@
 6f
 e0
 c8
-65
+a6
 1f
 e2
 26
 00
 70
 48
-65
+a6
 06
 58
 00
@@ -2063,12 +2063,12 @@
 00
 70
 48
-64
+a5
 02
 67
 e0
 c8
-66
+a7
 60
 4c
 06
@@ -2080,11 +2080,11 @@
 d8
 a0
 4b
-58
+99
 6f
 e1
 c8
-64
+a5
 e7
 e1
 80
@@ -2120,14 +2120,14 @@
 da
 20
 4b
-98
+da
 20
 20
 7d
 8b
 70
 48
-67
+a8
 a4
 20
 20
@@ -2142,8 +2142,8 @@
 11
 a2
 70
-49
-c6
+4a
+07
 a2
 6f
 20
@@ -2156,7 +2156,7 @@
 67
 20
 c8
-68
+a9
 d8
 c0
 08
@@ -2164,7 +2164,7 @@
 d8
 a0
 48
-69
+aa
 20
 20
 7c
@@ -2176,7 +2176,7 @@
 d8
 a0
 48
-69
+aa
 20
 20
 7c
@@ -2805,10 +2805,42 @@
 60
 00
 00
+6f
+e0
+cb
+d9
+20
+7a
+00
+00
+6f
+e0
+c6
+2b
+20
+7a
+00
+00
+6f
+e0
+c8
+64
+20
+7a
+00
+00
+70
+09
+0c
+28
+20
+20
+03
+aa
 da
 20
 4b
-98
+da
 20
 40
 7d
@@ -2825,6 +2857,10 @@
 40
 02
 ba
+20
+40
+02
+c2
 6f
 e0
 89
@@ -2876,26 +2912,26 @@
 20
 40
 03
-d4
+e6
 20
 20
 04
-58
+6a
 6f
 e0
 cb
-96
+d7
 c1
 00
 80
 00
 70
 4b
-97
+d8
 00
 70
 4b
-96
+d7
 01
 20
 20
@@ -2904,10 +2940,10 @@
 20
 40
 02
-cd
+d6
 70
-49
-c6
+4a
+07
 00
 70
 46
@@ -2915,48 +2951,48 @@
 00
 6f
 e0
-c9
-c9
+ca
+0a
 c0
 00
 82
-e6
+ef
 c0
 01
-02
-ff
+03
+08
 c0
 7f
 82
-e4
+ed
 c2
 81
 82
-e6
+ef
 c2
 83
 82
-df
+e8
 c2
 83
 02
-df
+e8
 c2
 82
 82
-df
+e8
 c2
 82
 02
-df
+e8
 20
 20
 33
 be
 6f
 e0
-c9
-c9
+ca
+0a
 1f
 e1
 7e
@@ -2964,11 +3000,11 @@
 c0
 00
 82
-e6
+ef
 c0
 01
-02
-ff
+03
+08
 20
 20
 33
@@ -2976,11 +3012,11 @@
 20
 40
 05
-d0
+ed
 20
 20
 05
-22
+3f
 20
 40
 33
@@ -2995,8 +3031,8 @@
 0a
 68
 48
-c9
-c7
+ca
+08
 28
 4f
 fe
@@ -3012,15 +3048,15 @@
 c0
 00
 82
-f5
+fe
 6f
 e0
 c6
 12
 68
 48
-c9
-c7
+ca
+08
 28
 4f
 fe
@@ -3067,16 +3103,16 @@
 01
 6f
 e2
-49
-d1
+4a
+12
 20
 20
 35
 a3
 6f
 e2
-49
-d1
+4a
+12
 20
 20
 35
@@ -3087,16 +3123,16 @@
 93
 68
 48
-c9
-c7
+ca
+08
 28
 4f
 fe
 03
 20
 20
-82
-fd
+83
+06
 6f
 e1
 45
@@ -3107,32 +3143,32 @@
 79
 6f
 e0
-c9
-c9
+ca
+0a
 c2
 83
 83
-46
+52
 c2
 83
 03
-5c
+68
 c2
 82
 83
-2a
+33
 c2
 82
 03
-30
+39
 c2
 81
 83
-0c
+15
 20
 20
 03
-10
+19
 70
 09
 0b
@@ -3160,11 +3196,11 @@
 20
 22
 83
-20
+29
 20
 40
 03
-20
+29
 6f
 e0
 c5
@@ -3183,32 +3219,32 @@
 00
 d8
 a0
-49
-c9
+4a
+0a
 d8
 c0
-49
-d1
+4a
+12
 20
 40
 7c
 da
 6f
 e0
-c9
-c9
+ca
+0a
 c2
 81
 83
-0c
+15
 c2
 83
 03
-5c
+68
 c2
 82
 03
-30
+39
 20
 60
 00
@@ -3223,24 +3259,24 @@
 13
 6f
 e3
-c9
 ca
+0b
 e7
 e3
 80
 05
 6f
 e0
-c9
 ca
+0b
 24
 5a
 48
 dd
 6f
 e0
-c9
 ca
+0b
 20
 5a
 48
@@ -3252,32 +3288,44 @@
 20
 20
 03
-98
+aa
 6f
 e0
 c8
-67
+a8
 20
 7a
 00
 00
 70
 48
-67
+a8
 00
 70
 46
 11
 a2
 70
-49
-c6
+4a
+07
 a2
 20
 60
 00
 00
 6f
+e0
+c5
+7d
+1f
+e6
+7c
+0f
+20
+22
+83
+8a
+6f
 20
 c5
 7d
@@ -3288,11 +3336,11 @@
 d8
 a0
 4a
-95
+d6
 d8
 c0
-49
-ca
+4a
+0b
 20
 40
 7c
@@ -3307,12 +3355,12 @@
 ff
 d8
 a0
-4a
-d4
+4b
+15
 d8
 c0
 4a
-95
+d6
 20
 40
 7c
@@ -3327,12 +3375,12 @@
 ff
 da
 40
-4a
-d4
+4b
+15
 da
 20
 4b
-15
+56
 20
 40
 7d
@@ -3340,7 +3388,7 @@
 24
 42
 83
-73
+7f
 6f
 20
 c5
@@ -3351,12 +3399,12 @@
 ff
 d8
 c0
-4a
-d4
+4b
+15
 d8
 a0
 4b
-15
+56
 20
 40
 7c
@@ -3379,8 +3427,8 @@
 a4
 d8
 c0
-49
-ca
+4a
+0b
 20
 40
 7c
@@ -3428,7 +3476,7 @@
 24
 42
 83
-7e
+90
 6f
 20
 c5
@@ -3467,8 +3515,8 @@
 e0
 d8
 c0
-49
-ca
+4a
+0b
 20
 40
 7c
@@ -3516,7 +3564,7 @@
 24
 42
 83
-8b
+9d
 6f
 20
 c5
@@ -3544,7 +3592,7 @@
 20
 20
 03
-2a
+33
 58
 00
 00
@@ -3552,10 +3600,10 @@
 67
 e0
 ca
-93
+d4
 70
 4a
-94
+d5
 a1
 6f
 e0
@@ -3572,11 +3620,11 @@
 d8
 c0
 4a
-95
+d6
 d8
 a0
-4a
-d4
+4b
+15
 20
 40
 7c
@@ -3588,7 +3636,31 @@
 20
 20
 03
-98
+aa
+70
+48
+64
+40
+70
+48
+65
+a1
+df
+20
+00
+0e
+d8
+c0
+4a
+0b
+d8
+a0
+48
+66
+20
+20
+7c
+da
 58
 00
 00
@@ -3640,7 +3712,7 @@
 20
 20
 03
-98
+aa
 58
 00
 00
@@ -3692,7 +3764,7 @@
 20
 20
 03
-98
+aa
 6f
 e0
 89
@@ -3704,7 +3776,7 @@
 da
 20
 4b
-98
+da
 20
 40
 7d
@@ -3724,58 +3796,58 @@
 da
 20
 4b
-98
+da
 20
 20
 7d
 8b
 6f
 e0
-c9
-c9
+ca
+0a
 c2
 83
 83
-46
+52
 c2
 83
 03
-5c
+68
 20
 20
 03
-a5
+b7
 6f
 e0
-c9
 ca
+0b
 c0
 00
 03
-aa
+bc
 c0
 01
 03
-b0
+c2
 c0
 01
 83
-b3
+c5
 20
 20
 33
 be
 6f
 e0
-c9
-cc
+ca
+0d
 67
 e0
 c6
 11
 70
-49
-cc
+4a
+0d
 00
 d8
 a0
@@ -3783,8 +3855,8 @@
 23
 d8
 c0
-49
-cb
+4a
+0c
 20
 20
 48
@@ -3795,8 +3867,8 @@
 43
 d8
 c0
-49
-ca
+4a
+0b
 20
 20
 49
@@ -3807,8 +3879,8 @@
 33
 d8
 c0
-49
-ca
+4a
+0b
 20
 20
 49
@@ -3820,7 +3892,7 @@
 c0
 00
 83
-ba
+cc
 c0
 01
 00
@@ -3828,7 +3900,7 @@
 20
 20
 03
-ba
+cc
 6f
 e0
 c6
@@ -3840,7 +3912,7 @@
 20
 20
 03
-bd
+cf
 6f
 e0
 c6
@@ -3856,7 +3928,7 @@
 c0
 51
 03
-c2
+d4
 20
 60
 00
@@ -3866,13 +3938,13 @@
 11
 a2
 70
-49
-c6
+4a
+07
 a2
 6f
 e0
 c8
-68
+a9
 67
 e0
 c5
@@ -3884,11 +3956,11 @@
 d8
 c0
 48
-69
+aa
 d8
 a0
 4a
-0d
+4e
 20
 20
 7c
@@ -3908,7 +3980,7 @@
 20
 40
 03
-d1
+e3
 d8
 e0
 00
@@ -3924,7 +3996,7 @@
 6f
 e0
 cb
-ab
+ed
 20
 7a
 00
@@ -3932,7 +4004,7 @@
 20
 20
 03
-0c
+15
 6f
 f0
 8c
@@ -3980,7 +4052,7 @@
 c0
 08
 83
-e1
+f3
 20
 20
 23
@@ -3988,43 +4060,43 @@
 6f
 e0
 cb
-ab
+ed
 c0
 00
 03
-ec
+fe
 c0
 00
-83
-f8
+84
+0a
 c0
 01
-03
-fc
+04
+0e
 c0
 01
 84
-0c
+1e
 c0
 02
 04
-13
+25
 c0
 02
 84
-02
+14
 c0
 03
 04
-06
+18
 c0
 03
 84
-08
+1a
 c0
 04
 04
-0a
+1c
 20
 60
 00
@@ -4035,24 +4107,24 @@
 fa
 c0
 00
-03
-f0
+04
+02
 c0
 00
-83
-f4
+84
+06
 20
 60
 00
 00
 70
 4b
-ab
+ed
 01
 6f
 e1
 cb
-a1
+e3
 67
 e1
 89
@@ -4063,12 +4135,12 @@
 28
 70
 4b
-ab
+ed
 01
 6f
 e1
 cb
-a4
+e6
 67
 e1
 89
@@ -4079,12 +4151,12 @@
 28
 70
 4b
-ab
+ed
 02
 6f
 e0
 cb
-a1
+e3
 67
 e0
 89
@@ -4095,7 +4167,7 @@
 28
 70
 4b
-ab
+ed
 03
 d8
 a0
@@ -4111,7 +4183,7 @@
 a3
 70
 4b
-ad
+ef
 00
 20
 20
@@ -4119,12 +4191,12 @@
 28
 70
 4b
-ab
+ed
 06
 6f
 e1
 cb
-a7
+e9
 67
 e1
 89
@@ -4135,32 +4207,32 @@
 28
 70
 4b
-ab
+ed
 07
 20
 20
-03
-fd
+04
+0f
 70
 4b
-ab
+ed
 08
 20
 20
 04
-03
+15
 70
 4b
-ab
+ed
 00
 20
 20
-03
-fd
+04
+0f
 6f
 e0
 cb
-aa
+ec
 1f
 e0
 fe
@@ -4168,18 +4240,18 @@
 67
 e0
 cb
-aa
+ec
 c1
 87
 80
 00
 70
 4b
-aa
+ec
 00
 70
 4b
-ab
+ed
 04
 20
 60
@@ -4188,22 +4260,22 @@
 6f
 e0
 cb
-ad
+ef
 c0
 00
-83
-fd
+84
+0f
 c0
 00
 04
-19
+2b
 20
 60
 00
 00
 70
 4b
-ab
+ed
 05
 20
 60
@@ -4212,11 +4284,11 @@
 d8
 40
 4b
-b1
+f3
 6f
 e0
 cb
-b0
+f2
 98
 40
 84
@@ -4224,7 +4296,7 @@
 6f
 e1
 4b
-ae
+f0
 98
 46
 7c
@@ -4232,19 +4304,19 @@
 20
 22
 84
-17
+29
 20
 40
 04
-29
+3b
 20
 40
 04
-4b
+5d
 6f
 e0
 cb
-ac
+ee
 67
 e0
 89
@@ -4256,7 +4328,7 @@
 6f
 e1
 4b
-ae
+f0
 1f
 e0
 fe
@@ -4264,10 +4336,10 @@
 67
 e1
 4b
-ae
+f0
 70
 4b
-ad
+ef
 01
 20
 20
@@ -4276,7 +4348,7 @@
 68
 49
 4b
-ae
+f0
 ef
 e0
 80
@@ -4288,7 +4360,7 @@
 24
 21
 04
-30
+42
 da
 40
 00
@@ -4300,7 +4372,7 @@
 20
 21
 04
-47
+59
 ef
 e0
 80
@@ -4312,7 +4384,7 @@
 24
 21
 04
-36
+48
 da
 40
 00
@@ -4324,7 +4396,7 @@
 20
 21
 04
-49
+5b
 1f
 e6
 7c
@@ -4332,7 +4404,7 @@
 20
 22
 84
-3f
+51
 1f
 e6
 7c
@@ -4340,7 +4412,7 @@
 20
 22
 84
-41
+53
 1f
 e6
 7c
@@ -4348,7 +4420,7 @@
 20
 22
 84
-43
+55
 1f
 e6
 7c
@@ -4356,7 +4428,7 @@
 20
 22
 84
-45
+57
 20
 60
 00
@@ -4411,24 +4483,24 @@
 00
 70
 4b
-ac
+ee
 00
 6f
 e1
 4b
-ae
+f0
 ef
 e0
 80
 3f
 d8
 c0
-4b
-d9
+4c
+1b
 68
 48
-cb
-d8
+cc
+1a
 18
 42
 72
@@ -4444,18 +4516,18 @@
 20
 22
 84
-56
+68
 c2
 00
 04
-51
+63
 20
 60
 00
 00
 70
 4b
-ac
+ee
 02
 20
 60
@@ -4464,7 +4536,7 @@
 da
 20
 4b
-98
+da
 20
 40
 7d
@@ -4508,7 +4580,7 @@
 da
 20
 4b
-98
+da
 20
 40
 7d
@@ -4524,7 +4596,7 @@
 c0
 13
 04
-76
+89
 c0
 10
 fc
@@ -4536,15 +4608,19 @@
 c0
 12
 04
-83
+95
 c0
 11
 84
-90
+a1
+c0
+14
+04
+ad
 c0
 13
 84
-6e
+81
 20
 20
 23
@@ -4552,11 +4628,11 @@
 6f
 20
 cb
-56
+97
 d8
 c0
 4b
-57
+98
 d8
 e0
 00
@@ -4576,11 +4652,11 @@
 d8
 a0
 4b
-56
+97
 20
 20
 04
-81
+93
 70
 09
 0c
@@ -4617,10 +4693,6 @@
 40
 7b
 d2
-20
-20
-04
-80
 d8
 a0
 46
@@ -4669,10 +4741,6 @@
 40
 7b
 d2
-20
-20
-04
-8d
 d8
 a0
 47
@@ -4692,7 +4760,7 @@
 6f
 e0
 ca
-93
+d4
 1f
 e2
 72
@@ -4704,7 +4772,7 @@
 d8
 c0
 4a
-94
+d5
 d8
 e0
 00
@@ -4721,14 +4789,62 @@
 40
 7b
 d2
+d8
+a0
+4a
+d4
+df
+20
+00
+41
 20
 20
-04
-9a
+7c
+a1
+70
+09
+0c
+00
+6f
+e0
+c8
+64
+20
+7a
+00
+00
+1f
+e2
+72
+00
+d8
+c0
+48
+65
+d8
+e0
+00
+02
+da
+20
+07
+59
+62
+31
+0c
+0c
+20
+40
+7b
+d2
+70
+4b
+d9
+00
 d8
 a0
-4a
-93
+48
+64
 df
 20
 00
@@ -4788,7 +4904,7 @@
 20
 40
 04
-ba
+d7
 2a
 2f
 fe
@@ -4820,7 +4936,7 @@
 20
 40
 04
-ba
+d7
 d8
 a0
 8a
@@ -4848,7 +4964,7 @@
 20
 21
 04
-af
+cc
 20
 20
 21
@@ -4951,8 +5067,8 @@
 b8
 20
 40
-04
-f3
+05
+10
 70
 8a
 08
@@ -4987,8 +5103,8 @@
 00
 20
 40
-04
-e9
+05
+06
 6f
 f0
 8a
@@ -5031,8 +5147,8 @@
 b8
 20
 40
-04
-f3
+05
+10
 70
 80
 cd
@@ -5091,8 +5207,8 @@
 29
 c3
 02
-84
-f4
+85
+11
 68
 59
 01
@@ -5128,7 +5244,7 @@
 c0
 08
 05
-13
+30
 58
 00
 57
@@ -5172,7 +5288,7 @@
 c0
 08
 05
-10
+2d
 58
 00
 2b
@@ -5208,7 +5324,7 @@
 20
 20
 05
-0c
+29
 58
 00
 83
@@ -5220,7 +5336,7 @@
 20
 20
 05
-01
+1e
 6f
 e0
 c3
@@ -5247,8 +5363,8 @@
 f6
 6f
 e0
-c9
-c9
+ca
+0a
 c0
 55
 33
@@ -5260,27 +5376,27 @@
 c0
 11
 05
-32
+4f
 c0
 7f
 85
-22
+3f
 20
 60
 00
 00
 6f
 e0
-c9
 ca
+0b
 c0
 00
 85
-26
+43
 c0
 01
 05
-2c
+49
 20
 60
 00
@@ -5295,8 +5411,8 @@
 00
 6f
 e2
-49
-cb
+4a
+0c
 67
 e2
 46
@@ -5319,8 +5435,8 @@
 00
 6f
 e2
-49
-cb
+4a
+0c
 67
 e2
 46
@@ -5340,11 +5456,11 @@
 20
 3a
 05
-38
+55
 6f
 e2
-49
-cb
+4a
+0c
 68
 4a
 46
@@ -5359,16 +5475,16 @@
 00
 6f
 e0
-c9
 ca
+0b
 c0
 00
 85
-3c
+59
 c0
 01
 05
-43
+60
 20
 60
 00
@@ -5388,7 +5504,7 @@
 c0
 01
 05
-41
+5e
 20
 60
 00
@@ -5416,7 +5532,7 @@
 c0
 80
 05
-48
+65
 20
 60
 00
@@ -5496,7 +5612,7 @@
 20
 40
 05
-5c
+79
 20
 20
 34
@@ -5532,7 +5648,7 @@
 20
 40
 05
-72
+8f
 6f
 e0
 89
@@ -5660,7 +5776,7 @@
 c5
 13
 85
-88
+a5
 6f
 e0
 c4
@@ -5704,7 +5820,7 @@
 20
 40
 85
-95
+b2
 18
 42
 7e
@@ -5792,7 +5908,7 @@
 20
 40
 85
-95
+b2
 18
 42
 7e
@@ -5856,7 +5972,7 @@
 20
 40
 05
-b8
+d5
 20
 40
 00
@@ -5864,7 +5980,7 @@
 20
 40
 05
-ce
+eb
 20
 20
 33
@@ -5879,40 +5995,40 @@
 f7
 d8
 a0
-49
-c7
+4a
+08
 20
 40
 7c
 89
 6f
 e0
-c9
-c9
+ca
+0a
 c0
 55
 05
-c2
+df
 c0
 2a
 85
-c4
+e1
 c0
 11
 05
-32
+4f
 c0
 7f
 85
-22
+3f
 20
 60
 00
 00
 6f
 e0
-c9
 ca
+0b
 20
 20
 33
@@ -5924,11 +6040,11 @@
 20
 3a
 05
-ca
+e7
 6f
 e2
-49
-cb
+4a
+0c
 68
 4a
 44
@@ -5943,8 +6059,8 @@
 00
 6f
 e0
-c9
 ca
+0b
 c0
 00
 b3
@@ -5967,8 +6083,8 @@
 00
 6f
 e0
-c9
 ca
+0b
 c0
 00
 b3
@@ -5981,8 +6097,8 @@
 60
 00
 00
-21
-34
+b9
+86
 aa
 55
 40
@@ -6230,8 +6346,8 @@
 55
 dc
 00
-ea
-48
+2b
+49
 db
 05
 01
@@ -6456,7 +6572,7 @@
 55
 09
 00
-a1
+e3
 4b
 08
 00
@@ -6471,9 +6587,9 @@
 55
 17
 00
-ae
+f0
 4b
-b1
+f3
 4b
 14
 68
@@ -6500,8 +6616,8 @@
 55
 16
 00
-d8
-4b
+1a
+4c
 15
 7e
 21
@@ -6716,8 +6832,8 @@
 aa
 aa
 55
-92
-a6
-66
-1b
+dd
+a5
+3d
+06
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/program.lis	(revision 3874)
+++ /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 c00100fe beq patch00_2 ,p_main_loop 
 0003 c0088107 beq patch02_1 ,p_set_sync_on 
-0004 c00a04fa beq patch02_4 ,p_set_lemode 
+0004 c00a0517 beq patch02_4 ,p_set_lemode 
 0005 c00a81a1 beq patch02_5 ,p_rf_rx_enable 
 0006 c00c01af beq patch03_0 ,p_txon 
 0007 c00c8155 beq patch03_1 ,p_set_tx_power 
 0008 c00d0115 beq patch03_2 ,p_initialize_radio_cont 
-0009 c01b8574 beq patch06_7 ,p_dongle_default_init 
+0009 c01b8591 beq patch06_7 ,p_dongle_default_init 
 000a c01c0174 beq patch07_0 ,p_dongle_read_kb_bind_status 
 000b c01c8170 beq patch07_1 ,p_dongle_write_kb_bind_status 
-000c c01e8563 beq patch07_5 ,p_dongle_usb_dispatch 
+000c c01e8580 beq patch07_5 ,p_dongle_usb_dispatch 
 000d c01f003d beq patch07_6 ,p_dongle_work_mode_auto 
 000e c062816d beq patch18_5 ,p_otp_read_data 
-000f c06d04cb beq patch1b_2 ,p_sadc_calibration 
-0010 c06e04db beq patch1b_4 ,p_enable_adc 
+000f c06d04e8 beq patch1b_2 ,p_sadc_calibration 
+0010 c06e04f8 beq patch1b_4 ,p_enable_adc 
 0011 c07f01ba beq patch1f_6 ,p_usb_init 
 0012 c07f822d beq patch1f_7 ,p_usb_rx 
 0013 c07e81b6 beq patch1f_5 ,p_usb_isr 
@@ -25,20 +25,20 @@
 pf_patch_ext:
 0015 c0000254 beq patch20_0 ,p_usb_class_type 
 0016 c0010293 beq patch20_2 ,p_usb0_request_get_descriptor 
-0017 c00302be beq patch20_6 ,p_usb_tx 
-0018 c01c8516 beq patch27_1 ,p_le_parse 
-0019 c026851a beq patch29_5 ,p_le_init_adv 
-001a c037057d beq patch2d_6 ,p_g24_receive_skip_fec1 
-001b c0378597 beq patch2d_7 ,p_g24_receive_skip_end 
+0017 c00302c6 beq patch20_6 ,p_usb_tx 
+0018 c01c8533 beq patch27_1 ,p_le_parse 
+0019 c0268537 beq patch29_5 ,p_le_init_adv 
+001a c037059a beq patch2d_6 ,p_g24_receive_skip_fec1 
+001b c03785b4 beq patch2d_7 ,p_g24_receive_skip_end 
 001c c03900d6 beq patch2e_2 ,p_g24_transmit_packet 
 001d c039808a beq patch2e_3 ,p_g24_transmit_prep 
-001e c03a85a1 beq patch2e_5 ,p_g24_read_len_pid_crc 
+001e c03a85be beq patch2e_5 ,p_g24_read_len_pid_crc 
 001f c03f80b1 beq patch2f_7 ,p_g24_pair_dispatch 
-0020 c04085b1 beq patch30_1 ,p_g24_bind_data_process 
-0021 c041051c beq patch30_2 ,p_g24_bind_data_parse_next 
-0022 c04202d2 beq patch30_4 ,p_g24_receive_packet_start1 
-0023 c044054b beq patch31_0 ,p_g24_mode_switch_bind_search 
-0024 c0450558 beq patch31_2 ,p_g24_bind_mode_auto 
+0020 c04085ce beq patch30_1 ,p_g24_bind_data_process 
+0021 c0410539 beq patch30_2 ,p_g24_bind_data_parse_next 
+0022 c04202db beq patch30_4 ,p_g24_receive_packet_start1 
+0023 c0440568 beq patch31_0 ,p_g24_mode_switch_bind_search 
+0024 c0450575 beq patch31_2 ,p_g24_bind_mode_auto 
 0025 c0488087 beq patch32_1 ,p_g24_txbuf_clear 
 0026 c0458030 beq patch31_3 ,p_g24_search_mode_auto 
 0027 c1468000 rtneq patch31_5 
@@ -67,7 +67,7 @@
 0038 24778000 nrtn user3 
 
 p_g24_transmit_ack:
-0039 6fe0c9c7 fetch 1 ,mem_24g_rxdata_temp_new 
+0039 6fe0ca08 fetch 1 ,mem_24g_rxdata_temp_new 
 003a 67e0c589 store 1 ,mem_24g_data_type 
 003b 20403214 call g24_read_len_pid_crc 
 003c 202033fa branch g24tx_with_ack 
@@ -89,39 +89,39 @@
 0048 20407cef call timer_check 
 0049 247a0000 nrtn blank 
 004a 2040351b call g24_ch_process + 3 
-004b 6fe0cb97 fetch 1 ,mem_usb_rf_state_report_flag1 
+004b 6fe0cbd8 fetch 1 ,mem_usb_rf_state_report_flag1 
 004c c1008000 rtneq 0x1 
-004d 704b9701 jam 0x1 ,mem_usb_rf_state_report_flag1 
-004e 704b9600 jam 0x0 ,mem_usb_rf_state_report_flag 
+004d 704bd801 jam 0x1 ,mem_usb_rf_state_report_flag1 
+004e 704bd700 jam 0x0 ,mem_usb_rf_state_report_flag 
 004f 20200050 branch p_dongle_usb_ep2_disconnect_report 
 
 p_dongle_usb_ep2_disconnect_report:
-0050 704b5640 jam 0x40 ,mem_usb_rf_state_data 
-0051 704b57a1 jam 0xa1 ,mem_usb_rf_state_data + 1 
-0052 704b5802 jam 0x2 ,mem_usb_rf_state_data + 2 
-0053 704b5904 jam 0x4 ,mem_usb_rf_state_data + 3 
-0054 704b5a01 jam 0x1 ,mem_usb_rf_state_data + 4 
-0055 704b5b00 jam 0x0 ,mem_usb_rf_state_data + 5 
+0050 704b9740 jam 0x40 ,mem_usb_rf_state_data 
+0051 704b98a1 jam 0xa1 ,mem_usb_rf_state_data + 1 
+0052 704b9902 jam 0x2 ,mem_usb_rf_state_data + 2 
+0053 704b9a04 jam 0x4 ,mem_usb_rf_state_data + 3 
+0054 704b9b01 jam 0x1 ,mem_usb_rf_state_data + 4 
+0055 704b9c00 jam 0x0 ,mem_usb_rf_state_data + 5 
 0056 70066f27 jam usb_ep2_mskb_state ,mem_fifo_temp 
-0057 da204b98 arg mem_usb_ep2_fifo ,rega 
+0057 da204bda arg mem_usb_ep2_fifo ,rega 
 0058 20207d8b branch fifo_in 
 
 p_dongle_usb_ep2_connect_report:
-0059 704b5640 jam 0x40 ,mem_usb_rf_state_data 
-005a 704b57a1 jam 0xa1 ,mem_usb_rf_state_data + 1 
-005b 704b5802 jam 0x2 ,mem_usb_rf_state_data + 2 
-005c 704b5904 jam 0x4 ,mem_usb_rf_state_data + 3 
-005d 704b5a01 jam 0x1 ,mem_usb_rf_state_data + 4 
-005e 704b5b01 jam 0x1 ,mem_usb_rf_state_data + 5 
+0059 704b9740 jam 0x40 ,mem_usb_rf_state_data 
+005a 704b98a1 jam 0xa1 ,mem_usb_rf_state_data + 1 
+005b 704b9902 jam 0x2 ,mem_usb_rf_state_data + 2 
+005c 704b9a04 jam 0x4 ,mem_usb_rf_state_data + 3 
+005d 704b9b01 jam 0x1 ,mem_usb_rf_state_data + 4 
+005e 704b9c01 jam 0x1 ,mem_usb_rf_state_data + 5 
 005f 70066f27 jam usb_ep2_mskb_state ,mem_fifo_temp 
-0060 da204b98 arg mem_usb_ep2_fifo ,rega 
+0060 da204bda arg mem_usb_ep2_fifo ,rega 
 0061 20207d8b branch fifo_in 
 
 p_g24_work_mode_start:
 0062 6fe0c616 fetch 1 ,mem_24g_work_mode 
 0063 c1800000 rtnne dongle_work 
 0064 20403451 call g24_work_init 
-0065 204003ca call p_g24_100ms_timer_event 
+0065 204003dc call p_g24_100ms_timer_event 
 0066 20400068 call p_g24_ch_process_check 
 0067 2020006d branch p_g24_receive_packet_start 
 
@@ -147,12 +147,12 @@
 0074 1fe0fe02 increase 2 ,pdata 
 0075 98007200 iforce loopcnt 
 0076 d8c044f7 arg mem_24g_rxbuf ,contr 
-0077 d8a049c7 arg mem_24g_rxdata_temp_new ,contw 
+0077 d8a04a08 arg mem_24g_rxdata_temp_new ,contw 
 0078 20407cda call memcpy 
 0079 70461300 jam 0 ,mem_24g_mode_switch 
 007a 6fe0c610 fetch 1 ,mem_24g_pair_mode 
 007b 205a007d call p_g24_enable_nodata_timer ,blank 
-007c 202002d2 branch p_g24_receive_packet_start1 
+007c 202002db branch p_g24_receive_packet_start1 
 
 p_g24_enable_nodata_timer:
 007d 70461401 jam 1 ,mem_24g_nodata_timer_enable 
@@ -161,18 +161,18 @@
 0080 20207ce1 branch timer_init 
 
 p_usb_rx_temp_clear:
-0081 d8a049c7 arg mem_24g_rxdata_temp_new ,contw 
+0081 d8a04a08 arg mem_24g_rxdata_temp_new ,contw 
 0082 df200041 arg 65 ,loopcnt 
 0083 20207ca1 branch clear_mem 
 
 p_mouse_ackpayload_set:
-0084 6fe0c9c6 fetch 1 ,mem_24g_ackpayload_enable_temp 
+0084 6fe0ca07 fetch 1 ,mem_24g_ackpayload_enable_temp 
 0085 67e0c611 store 1 ,mem_24g_ackpayload_enable 
 0086 20600000 rtn 
 
 p_g24_txbuf_clear:
 0087 df200041 arg 65 ,loopcnt 
-0088 d8a04a0d arg mem_24g_txbuf_new ,contw 
+0088 d8a04a4e arg mem_24g_txbuf_new ,contw 
 0089 20207ca3 branch memset0 
 
 p_g24_transmit_prep:
@@ -182,7 +182,7 @@
 008d 1fe0fe03 increase 3 ,pdata 
 008e 67e0c58a store 1 ,mem_24g_txlen 
 008f 6fe0c5ac fetch 1 ,mem_24g_syncword_crc8 
-0090 67e0ca4e store 1 ,mem_24g_txpayload_new 
+0090 67e0ca8f store 1 ,mem_24g_txpayload_new 
 0091 6fe0c589 fetch 1 ,mem_24g_data_type 
 0092 e7e08005 istore 1 ,contw 
 0093 6fe0c588 fetch 1 ,mem_24g_datalen 
@@ -198,7 +198,7 @@
 009b e7e08005 istore 1 ,contw 
 009c 6fe0c588 fetch 1 ,mem_24g_datalen 
 009d 98007200 iforce loopcnt 
-009e d8c04a0d arg mem_24g_txbuf_new ,contr 
+009e d8c04a4e arg mem_24g_txbuf_new ,contr 
 009f 20407cda call memcpy 
 00a0 202031fd branch g24_transmit_prep_pdu_next 
 
@@ -215,7 +215,7 @@
 p_g24_lr_transmit_prep_skip:
 00a7 67e0c58a store 1 ,mem_24g_txlen 
 00a8 6fe0c5ac fetch 1 ,mem_24g_syncword_crc8 
-00a9 67e0ca4e store 1 ,mem_24g_txpayload_new 
+00a9 67e0ca8f store 1 ,mem_24g_txpayload_new 
 00aa 6fe0c58a fetch 1 ,mem_24g_txlen 
 00ab 1fe0fffe increase -2 ,pdata 
 00ac e7e08005 istore 1 ,contw 
@@ -241,7 +241,7 @@
 00be 20600000 rtn 
 
 p_g24_pair_sm_1:
-00bf 704a0dff jam datatype_attemp ,mem_24g_txbuf_new 
+00bf 704a4eff jam datatype_attemp ,mem_24g_txbuf_new 
 00c0 202000ce branch p_g24_pair_sm_prep 
 
 p_g24_pair_sm_2:
@@ -251,29 +251,29 @@
 00c4 20403236 call g24_update_addr_and_synccrc8 
 
 p_g24_pair_sm_2_skip:
-00c5 704a0daa jam datatype_bind ,mem_24g_txbuf_new 
+00c5 704a4eaa jam datatype_bind ,mem_24g_txbuf_new 
 00c6 202000ce branch p_g24_pair_sm_prep 
 
 p_g24_pair_sm_3:
-00c7 704a0d55 jam datatype_config ,mem_24g_txbuf_new 
+00c7 704a4e55 jam datatype_config ,mem_24g_txbuf_new 
 00c8 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
 00c9 203a00ce branch p_g24_pair_sm_prep ,blank 
 00ca 6fe245e8 fetch 4 ,mem_24g_receiver_addr 
-00cb 67e24a0f store 4 ,mem_24g_txbuf_new + 2 
+00cb 67e24a50 store 4 ,mem_24g_txbuf_new + 2 
 00cc 202000d0 branch p_g24_pair_sm_common 
 
 p_g24_pair_sm_4:
-00cd 704a0d22 jam datatype_ok ,mem_24g_txbuf_new 
+00cd 704a4e22 jam datatype_ok ,mem_24g_txbuf_new 
 
 p_g24_pair_sm_prep:
 00ce 6fe24604 fetch 4 ,mem_24g_device_addr 
-00cf 67e24a0f store 4 ,mem_24g_txbuf_new + 2 
+00cf 67e24a50 store 4 ,mem_24g_txbuf_new + 2 
 
 p_g24_pair_sm_common:
 00d0 6fe0c589 fetch 1 ,mem_24g_data_type 
 00d1 1fe17e07 and_into bits_data ,pdata 
-00d2 67e0ca0e store 1 ,mem_24g_txbuf_new + 1 
-00d3 704a1300 jam 0 ,mem_24g_txbuf_new + 6 
+00d2 67e0ca4f store 1 ,mem_24g_txbuf_new + 1 
+00d3 704a5400 jam 0 ,mem_24g_txbuf_new + 6 
 00d4 70458807 jam 7 ,mem_24g_datalen 
 00d5 202032c8 branch g24_pair_sm_common_next 
 
@@ -289,7 +289,7 @@
 00dc 7824fc00 enable enable_crc 
 00dd 6fe0c58a fetch 1 ,mem_24g_txlen 
 00de 98007200 iforce loopcnt 
-00df d8c04a4e arg mem_24g_txpayload_new ,contr 
+00df d8c04a8f arg mem_24g_txpayload_new ,contr 
 00e0 202031b3 branch g24tr_loop 
 
 p_dongle_g24_bind_ackpayload_prep:
@@ -301,7 +301,7 @@
 00e4 70461101 jam 1 ,mem_24g_ackpayload_enable 
 00e5 70458808 jam 0x08 ,mem_24g_datalen 
 00e6 d8c045d6 arg mem_24g_bind_payload ,contr 
-00e7 d8a04a0d arg mem_24g_txbuf_new ,contw 
+00e7 d8a04a4e arg mem_24g_txbuf_new ,contw 
 00e8 20207c89 branch memcpy8 
 
 p_dongle_pc_sleep_ackpayload_prep_mouse:
@@ -314,7 +314,7 @@
 00ed 580000ff setarg 0xff 
 
 p_dongle_txbuf_new_store:
-00ee 67e0ca0d store 1 ,mem_24g_txbuf_new 
+00ee 67e0ca4e store 1 ,mem_24g_txbuf_new 
 00ef 20600000 rtn 
 
 p_dongle_g24_kb_led_ackpayload_prep:
@@ -329,7 +329,7 @@
 p_dongle_ackpayload_prep_keyboard:
 00f7 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
 00f8 c28080fa bbit1 1 ,p_dongle_pc_sleep_ackpayload_prep_keyboard 
-00f9 202003bd branch p_dongle_ackpayload_prep_end 
+00f9 202003cf branch p_dongle_ackpayload_prep_end 
 
 p_dongle_pc_sleep_ackpayload_prep_keyboard:
 00fa 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
@@ -394,12 +394,12 @@
 012d 58557474 setarg 0x557474 
 012e 67f18968 store 3 ,0x8968 
 012f 7089606e jam 0x6e ,0x8960 
-0130 2040049d call p_rx_dcoc 
-0131 204004c8 call p_rfpll_aac_ghpc 
+0130 204004ba call p_rx_dcoc 
+0131 204004e5 call p_rfpll_aac_ghpc 
 0132 20400136 call p_set_xtal_cap 
 0133 7041480c jam system_clk_12m ,mem_system_clk 
 0134 20406f4e call sadc_calibration 
-0135 202004ca branch p_dpll_ring_ibias_calc 
+0135 202004e7 branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
 0136 20758000 rtn wake 
@@ -574,13 +574,13 @@
 01bb 20407d88 call ice_set_write_bp 
 01bc 20407396 call enable_authrom 
 01bd 20407932 call usb_init_param 
-01be 580048ea setarg mem_usb_ep2_config 
+01be 5800492b setarg mem_usb_ep2_config 
 01bf 67e107a9 store 2 ,mem_hidreportdesc_m 
-01c0 58000305 setarg p_dongle_g24_mouse 
+01c0 5800030e setarg p_dongle_g24_mouse 
 01c1 67e145e4 store 2 ,mem_cb_24g_data_device1 
-01c2 580003a1 setarg p_dongle_g24_keyboard 
+01c2 580003b3 setarg p_dongle_g24_keyboard 
 01c3 67e145e6 store 2 ,mem_cb_24g_data_device2 
-01c4 580003b6 setarg p_dongle_ackpayload_prep 
+01c4 580003c8 setarg p_dongle_ackpayload_prep 
 01c5 67e145e2 store 2 ,mem_cb_24g_ackpayload 
 
 p_usb_init_restart:
@@ -622,46 +622,48 @@
 01e5 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
 01e6 c08081f7 bne 0x01 ,p_dongle_hci_event_invalid_packet 
 01e7 efe08006 ifetch 1 ,contr 
-01e8 67e0c865 store 1 ,mem_dongle_usb_opcode 
+01e8 67e0c8a6 store 1 ,mem_dongle_usb_opcode 
 01e9 e8408006 ifetcht 1 ,contr 
 01ea 18c22200 copy contr ,rega 
-01eb 6048c866 storet 1 ,mem_dongle_usb_len 
+01eb 6048c8a7 storet 1 ,mem_dongle_usb_len 
 01ec 202001ed branch p_dongle_usb_hci_cmd_control 
 
 p_dongle_usb_hci_cmd_control:
-01ed 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-01ee 203a01f7 branch p_dongle_hci_event_invalid_packet ,blank 
-01ef 6fe0c865 fetch 1 ,mem_dongle_usb_opcode 
-01f0 c00281f5 beq hci_cmd_get_device_info ,p_dongle_usb_hci_cmd_get_deivce_info 
-01f1 c00101f5 beq hci_cmd_auth_enable ,p_dongle_usb_hci_cmd_get_deivce_info 
-01f2 c00181f5 beq hci_cmd_voice_contral ,p_dongle_usb_hci_cmd_get_deivce_info 
-01f3 c00201f5 beq hci_cmd_dpi_contral ,p_dongle_usb_hci_cmd_get_deivce_info 
-01f4 202001f7 branch p_dongle_hci_event_invalid_packet 
+01ed 6fe0c8a6 fetch 1 ,mem_dongle_usb_opcode 
+01ee c00281f3 beq hci_cmd_get_device_info ,p_dongle_usb_hci_cmd_get_deivce_info 
+01ef c00101f5 beq hci_cmd_auth_enable ,p_dongle_usb_hci_cmd_to_mouse 
+01f0 c00181f5 beq hci_cmd_voice_contral ,p_dongle_usb_hci_cmd_to_mouse 
+01f1 c00201f5 beq hci_cmd_dpi_contral ,p_dongle_usb_hci_cmd_to_mouse 
+01f2 202001f7 branch p_dongle_hci_event_invalid_packet 
 
 p_dongle_usb_hci_cmd_get_deivce_info:
-01f5 704867a2 jam report_id_data_out ,mem_dongle_usb_ep2_data_flag 
+01f3 704bd901 jam 1 ,mem_usb_tx_device_info_flag 
+01f4 20600000 rtn 
+
+p_dongle_usb_hci_cmd_to_mouse:
+01f5 7048a8a2 jam report_id_data_out ,mem_dongle_usb_ep2_data_flag 
 01f6 20200212 branch p_dongle_usb_ack_prep 
 
 p_dongle_hci_event_invalid_packet:
-01f7 704b5640 jam 0x40 ,mem_usb_rf_state_data 
-01f8 704b57a1 jam 0xA1 ,mem_usb_rf_state_data + 1 
+01f7 704b9740 jam 0x40 ,mem_usb_rf_state_data 
+01f8 704b98a1 jam 0xA1 ,mem_usb_rf_state_data + 1 
 01f9 d8400001 arg 1 ,temp 
 
 p_dongle_hci_event_ack_packet:
 01fa da200000 arg 0 ,rega 
-01fb 6fe0c865 fetch 1 ,mem_dongle_usb_opcode 
+01fb 6fe0c8a6 fetch 1 ,mem_dongle_usb_opcode 
 01fc 1fe22600 copy pdata ,regc 
 
 p_dongle_hci_event_packet:
-01fd 70486506 jam hci_event_cmd_res ,mem_dongle_usb_opcode 
+01fd 7048a606 jam hci_event_cmd_res ,mem_dongle_usb_opcode 
 01fe 58000002 setarg 2 
 01ff 9a20fe00 iadd rega ,pdata 
-0200 70486402 jam 0x02 ,mem_dongle_usb_header 
-0201 67e0c866 store 1 ,mem_dongle_usb_len 
+0200 7048a502 jam 0x02 ,mem_dongle_usb_header 
+0201 67e0c8a7 store 1 ,mem_dongle_usb_len 
 0202 604c0678 storet 8 ,mem_temp 
 0203 684c0678 fetcht 8 ,mem_temp 
-0204 d8a04b58 arg mem_usb_rf_state_data + 2 ,contw 
-0205 6fe1c864 fetch 3 ,mem_dongle_usb_header 
+0204 d8a04b99 arg mem_usb_rf_state_data + 2 ,contw 
+0205 6fe1c8a5 fetch 3 ,mem_dongle_usb_header 
 0206 e7e18005 istore 3 ,contw 
 0207 1a627e00 copy regc ,pdata 
 0208 e7e08005 istore 1 ,contw 
@@ -670,27 +672,27 @@
 020b 1a420c00 copy regb ,contr 
 020c 20407cda call memcpy 
 020d 70066f27 jam usb_ep2_mskb_state ,mem_fifo_temp 
-020e da204b98 arg mem_usb_ep2_fifo ,rega 
+020e da204bda arg mem_usb_ep2_fifo ,rega 
 020f 20207d8b branch fifo_in 
 
 p_usb_rx_data_authca_out:
-0210 704867a4 jam report_id_authca_data_out ,mem_dongle_usb_ep2_data_flag 
+0210 7048a8a4 jam report_id_authca_data_out ,mem_dongle_usb_ep2_data_flag 
 0211 20200212 branch p_dongle_usb_ack_prep 
 
 p_dongle_usb_ack_prep:
 0212 2040021b call p_dongle_g24_usb_ep2_ack_data_clr 
 0213 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-0214 7049c6a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
+0214 704a07a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
 0215 6f208876 fetchr loopcnt ,1 ,mem_usb0_set_report_data + 1 
 0216 1f20f202 increase 2 ,loopcnt 
-0217 6720c868 storer loopcnt ,1 ,mem_dongle_usb_ep2_data_len 
+0217 6720c8a9 storer loopcnt ,1 ,mem_dongle_usb_ep2_data_len 
 0218 d8c00875 arg mem_usb0_set_report_data ,contr 
-0219 d8a04869 arg mem_dongle_g24_usb_ep2_ack_data ,contw 
+0219 d8a048aa arg mem_dongle_g24_usb_ep2_ack_data ,contw 
 021a 20207cda branch memcpy 
 
 p_dongle_g24_usb_ep2_ack_data_clr:
 021b df200040 arg 64 ,loopcnt 
-021c d8a04869 arg mem_dongle_g24_usb_ep2_ack_data ,contw 
+021c d8a048aa arg mem_dongle_g24_usb_ep2_ack_data ,contw 
 021d 20207ca1 branch clear_mem 
 
 p_usb_rx_len:
@@ -885,1043 +887,1082 @@
 02b8 67e0c696 store 1 ,mem_setreport_count 
 02b9 20600000 rtn 
 
+p_usb_tx_ep2_device_info_check:
+02ba 6fe0cbd9 fetch 1 ,mem_usb_tx_device_info_flag 
+02bb 207a0000 rtn blank 
+02bc 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+02bd 207a0000 rtn blank 
+02be 6fe0c864 fetch 1 ,mem_usb_device_info_data 
+02bf 207a0000 rtn blank 
+02c0 70090c28 jam usb_ep2_device_info ,mem_usb_ep2_data 
+02c1 202003aa branch p_dongle_usb_tx_enable_ep2 
+
 p_usb_tx_ep2_queue_buff_check:
-02ba da204b98 arg mem_usb_ep2_fifo ,rega 
-02bb 20407da3 call fifo_is_empty 
-02bc 207a0000 rtn blank 
-02bd 20204837 branch dongle_usb_tx_enable_ep2 
+02c2 da204bda arg mem_usb_ep2_fifo ,rega 
+02c3 20407da3 call fifo_is_empty 
+02c4 207a0000 rtn blank 
+02c5 20204837 branch dongle_usb_tx_enable_ep2 
 
 p_usb_tx:
-02be 204002ba call p_usb_tx_ep2_queue_buff_check 
-02bf 6fe0890d fetch 1 ,mem_usb_tx_enable 
-02c0 207a0000 rtn blank 
-02c1 6ff08c25 fetch 1 ,core_usb_txbusy 
-02c2 1fe17e0f and_into 0x0f ,pdata 
-02c3 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
-02c4 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-02c5 203a7c06 branch usb_tx_fifo_release ,blank 
-02c6 6fe08900 fetch 1 ,mem_usb_state 
-02c7 c001fc40 beq usb_sleep ,usb_windows_wakeup 
-02c8 c0817c06 bne usb_connected ,usb_tx_fifo_release 
-02c9 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
-02ca 243a7c06 nbranch usb_tx_fifo_release ,blank 
-02cb 204003d4 call p_usb_tx_data_ep1 
-02cc 20200458 branch p_usb_tx_data_ep2 
+02c6 204002ba call p_usb_tx_ep2_device_info_check 
+02c7 204002c2 call p_usb_tx_ep2_queue_buff_check 
+02c8 6fe0890d fetch 1 ,mem_usb_tx_enable 
+02c9 207a0000 rtn blank 
+02ca 6ff08c25 fetch 1 ,core_usb_txbusy 
+02cb 1fe17e0f and_into 0x0f ,pdata 
+02cc 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
+02cd 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+02ce 203a7c06 branch usb_tx_fifo_release ,blank 
+02cf 6fe08900 fetch 1 ,mem_usb_state 
+02d0 c001fc40 beq usb_sleep ,usb_windows_wakeup 
+02d1 c0817c06 bne usb_connected ,usb_tx_fifo_release 
+02d2 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
+02d3 243a7c06 nbranch usb_tx_fifo_release ,blank 
+02d4 204003e6 call p_usb_tx_data_ep1 
+02d5 2020046a branch p_usb_tx_data_ep2 
 
 p_dongle_usb_ep2_connect_report_send:
-02cd 6fe0cb96 fetch 1 ,mem_usb_rf_state_report_flag 
-02ce c1008000 rtneq 0x1 
-02cf 704b9700 jam 0x0 ,mem_usb_rf_state_report_flag1 
-02d0 704b9601 jam 0x1 ,mem_usb_rf_state_report_flag 
-02d1 20200059 branch p_dongle_usb_ep2_connect_report 
+02d6 6fe0cbd7 fetch 1 ,mem_usb_rf_state_report_flag 
+02d7 c1008000 rtneq 0x1 
+02d8 704bd800 jam 0x0 ,mem_usb_rf_state_report_flag1 
+02d9 704bd701 jam 0x1 ,mem_usb_rf_state_report_flag 
+02da 20200059 branch p_dongle_usb_ep2_connect_report 
 
 p_g24_receive_packet_start1:
-02d2 204002cd call p_dongle_usb_ep2_connect_report_send 
-02d3 7049c600 jam 0 ,mem_24g_ackpayload_enable_temp 
-02d4 70461100 jam 0 ,mem_24g_ackpayload_enable 
-02d5 6fe0c9c9 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-02d6 c00082e6 beq datatype_device1 ,p_g24_data_device1 
-02d7 c00102ff beq datatype_device2 ,p_g24_data_device2 
-02d8 c07f82e4 beq datatype_attemp ,p_g24_data_receive_attemp 
-02d9 c28182e6 bbit1 datatype_http ,p_g24_data_device1 
-02da c28382df bbit1 datatype_audio ,p_g24_data_receive_heart_authca_audio 
-02db c28302df bbit1 datatype_authca ,p_g24_data_receive_heart_authca_audio 
-02dc c28282df bbit1 datatype_heart ,p_g24_data_receive_heart_authca_audio 
-02dd c28202df bbit1 datatype_protocol ,p_g24_data_receive_heart_authca_audio 
-02de 202033be branch g24_rx_interrupt_clear 
+02db 204002d6 call p_dongle_usb_ep2_connect_report_send 
+02dc 704a0700 jam 0 ,mem_24g_ackpayload_enable_temp 
+02dd 70461100 jam 0 ,mem_24g_ackpayload_enable 
+02de 6fe0ca0a fetch 1 ,mem_24g_rxdata_temp_new + 2 
+02df c00082ef beq datatype_device1 ,p_g24_data_device1 
+02e0 c0010308 beq datatype_device2 ,p_g24_data_device2 
+02e1 c07f82ed beq datatype_attemp ,p_g24_data_receive_attemp 
+02e2 c28182ef bbit1 datatype_http ,p_g24_data_device1 
+02e3 c28382e8 bbit1 datatype_audio ,p_g24_data_receive_heart_authca_audio 
+02e4 c28302e8 bbit1 datatype_authca ,p_g24_data_receive_heart_authca_audio 
+02e5 c28282e8 bbit1 datatype_heart ,p_g24_data_receive_heart_authca_audio 
+02e6 c28202e8 bbit1 datatype_protocol ,p_g24_data_receive_heart_authca_audio 
+02e7 202033be branch g24_rx_interrupt_clear 
 
 p_g24_data_receive_heart_authca_audio:
-02df 6fe0c9c9 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-02e0 1fe17e0f and pdata ,0x0f ,pdata 
-02e1 c00082e6 beq datatype_device1 ,p_g24_data_device1 
-02e2 c00102ff beq datatype_device2 ,p_g24_data_device2 
-02e3 202033be branch g24_rx_interrupt_clear 
+02e8 6fe0ca0a fetch 1 ,mem_24g_rxdata_temp_new + 2 
+02e9 1fe17e0f and pdata ,0x0f ,pdata 
+02ea c00082ef beq datatype_device1 ,p_g24_data_device1 
+02eb c0010308 beq datatype_device2 ,p_g24_data_device2 
+02ec 202033be branch g24_rx_interrupt_clear 
 
 p_g24_data_receive_attemp:
-02e4 204005d0 call p_g24_bind_device_status 
-02e5 20200522 branch p_g24_data_attemp 
+02ed 204005ed call p_g24_bind_device_status 
+02ee 2020053f branch p_g24_data_attemp 
 
 p_g24_data_device1:
-02e6 2040338d call g24_binding_dvc1_living 
-02e7 2040352e call g24_ch_timer_reinit 
-02e8 6fe0c60a fetch 1 ,mem_24g_abort_packet 
-02e9 6848c9c7 fetcht 1 ,mem_24g_rxdata_temp_new 
-02ea 284ffe03 isolate1 bit_abort ,temp 
-02eb 7920fe00 setflag true ,0 ,pdata 
-02ec 67e0c60a store 1 ,mem_24g_abort_packet 
-02ed c00082f5 beq 1 ,p_g24_data_attemp_device1_abort 
-02ee 6fe0c612 fetch 1 ,mem_24g_hop_packet 
-02ef 6848c9c7 fetcht 1 ,mem_24g_rxdata_temp_new 
-02f0 284ffe04 isolate1 bit_hop ,temp 
-02f1 7920fe00 setflag true ,0 ,pdata 
-02f2 67e0c612 store 1 ,mem_24g_hop_packet 
-02f3 6fe145e4 fetch 2 ,mem_cb_24g_data_device1 
-02f4 20207d79 branch callback_func 
+02ef 2040338d call g24_binding_dvc1_living 
+02f0 2040352e call g24_ch_timer_reinit 
+02f1 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+02f2 6848ca08 fetcht 1 ,mem_24g_rxdata_temp_new 
+02f3 284ffe03 isolate1 bit_abort ,temp 
+02f4 7920fe00 setflag true ,0 ,pdata 
+02f5 67e0c60a store 1 ,mem_24g_abort_packet 
+02f6 c00082fe beq 1 ,p_g24_data_attemp_device1_abort 
+02f7 6fe0c612 fetch 1 ,mem_24g_hop_packet 
+02f8 6848ca08 fetcht 1 ,mem_24g_rxdata_temp_new 
+02f9 284ffe04 isolate1 bit_hop ,temp 
+02fa 7920fe00 setflag true ,0 ,pdata 
+02fb 67e0c612 store 1 ,mem_24g_hop_packet 
+02fc 6fe145e4 fetch 2 ,mem_cb_24g_data_device1 
+02fd 20207d79 branch callback_func 
 
 p_g24_data_attemp_device1_abort:
-02f5 6fe0c3cb fetch 1 ,mem_device_option 
-02f6 1fe67c0e sub pdata ,dvc_op_car ,null 
-02f7 2042c469 call car_stop_blink ,zero 
-02f8 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-02f9 247a0000 nrtn blank 
-02fa 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-02fb 6fe249d1 fetch 4 ,mem_24g_rxdata_temp_new + 10 
-02fc 202035a3 branch g24_store_device1_addr 
+02fe 6fe0c3cb fetch 1 ,mem_device_option 
+02ff 1fe67c0e sub pdata ,dvc_op_car ,null 
+0300 2042c469 call car_stop_blink ,zero 
+0301 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+0302 247a0000 nrtn blank 
+0303 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+0304 6fe24a12 fetch 4 ,mem_24g_rxdata_temp_new + 10 
+0305 202035a3 branch g24_store_device1_addr 
 
 p_g24_data_attemp_device2_abort:
-02fd 6fe249d1 fetch 4 ,mem_24g_rxdata_temp_new + 10 
-02fe 202035a9 branch g24_store_device2_addr 
+0306 6fe24a12 fetch 4 ,mem_24g_rxdata_temp_new + 10 
+0307 202035a9 branch g24_store_device2_addr 
 
 p_g24_data_device2:
-02ff 20403393 call g24_binding_dvc2_living 
-0300 6848c9c7 fetcht 1 ,mem_24g_rxdata_temp_new 
-0301 284ffe03 isolate1 bit_abort ,temp 
-0302 202082fd branch p_g24_data_attemp_device2_abort ,true 
-0303 6fe145e6 fetch 2 ,mem_cb_24g_data_device2 
-0304 20207d79 branch callback_func 
+0308 20403393 call g24_binding_dvc2_living 
+0309 6848ca08 fetcht 1 ,mem_24g_rxdata_temp_new 
+030a 284ffe03 isolate1 bit_abort ,temp 
+030b 20208306 branch p_g24_data_attemp_device2_abort ,true 
+030c 6fe145e6 fetch 2 ,mem_cb_24g_data_device2 
+030d 20207d79 branch callback_func 
 
 p_dongle_g24_mouse:
-0305 6fe0c9c9 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-0306 c2838346 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
-0307 c283035c bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-0308 c282832a bbit1 datatype_heart ,p_dongle_g24_mouse_heart_data 
-0309 c2820330 bbit1 datatype_protocol ,p_g24_data_receive_protocol_data 
-030a c281830c bbit1 datatype_http ,p_dongle_usb_tx_http_data 
-030b 20200310 branch p_dongle_g24_mouse_next 
+030e 6fe0ca0a fetch 1 ,mem_24g_rxdata_temp_new + 2 
+030f c2838352 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
+0310 c2830368 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+0311 c2828333 bbit1 datatype_heart ,p_dongle_g24_mouse_heart_data 
+0312 c2820339 bbit1 datatype_protocol ,p_g24_data_receive_protocol_data 
+0313 c2818315 bbit1 datatype_http ,p_dongle_usb_tx_http_data 
+0314 20200319 branch p_dongle_g24_mouse_next 
 
 p_dongle_usb_tx_http_data:
-030c 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
-030d d8a00923 arg mem_usb_kb_data ,contw 
-030e 20407c9a call memset0_8 
-030f 20204848 branch dongle_usb_tx_ep1_enable 
+0315 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
+0316 d8a00923 arg mem_usb_kb_data ,contw 
+0317 20407c9a call memset0_8 
+0318 20204848 branch dongle_usb_tx_ep1_enable 
 
 p_dongle_g24_mouse_next:
-0310 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0311 1fe67c09 sub pdata ,0x09 ,null 
-0312 20228320 branch p_dongle_g24_mouse_data ,zero 
-0313 20400320 call p_dongle_g24_mouse_data 
-0314 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0315 1fe0fff8 add pdata ,-8 ,pdata 
-0316 67e0c57d store 1 ,mem_24g_rxdata_length 
-0317 1fe27200 copy pdata ,loopcnt 
-0318 d8a049c9 arg mem_24g_rxdata_temp_new + 2 ,contw 
-0319 d8c049d1 arg mem_24g_rxdata_temp_new + 10 ,contr 
-031a 20407cda call memcpy 
-031b 6fe0c9c9 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-031c c281830c bbit1 datatype_http ,p_dongle_usb_tx_http_data 
-031d c283035c bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-031e c2820330 bbit1 datatype_protocol ,p_g24_data_receive_protocol_data 
-031f 20600000 rtn 
+0319 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+031a 1fe67c09 sub pdata ,0x09 ,null 
+031b 20228329 branch p_dongle_g24_mouse_data ,zero 
+031c 20400329 call p_dongle_g24_mouse_data 
+031d 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+031e 1fe0fff8 add pdata ,-8 ,pdata 
+031f 67e0c57d store 1 ,mem_24g_rxdata_length 
+0320 1fe27200 copy pdata ,loopcnt 
+0321 d8a04a0a arg mem_24g_rxdata_temp_new + 2 ,contw 
+0322 d8c04a12 arg mem_24g_rxdata_temp_new + 10 ,contr 
+0323 20407cda call memcpy 
+0324 6fe0ca0a fetch 1 ,mem_24g_rxdata_temp_new + 2 
+0325 c2818315 bbit1 datatype_http ,p_dongle_usb_tx_http_data 
+0326 c2830368 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+0327 c2820339 bbit1 datatype_protocol ,p_g24_data_receive_protocol_data 
+0328 20600000 rtn 
 
 p_dongle_g24_mouse_data:
-0320 58000001 setarg ms_report_id 
-0321 67e08913 store 1 ,mem_usb_mouse_data 
-0322 6fe3c9ca fetch 7 ,mem_24g_rxdata_temp_new + 3 
-0323 e7e38005 istore 7 ,contw 
-0324 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0325 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
-0326 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0327 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
-0328 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
-0329 20200398 branch p_dongle_usb_tx_enable_ep2 
+0329 58000001 setarg ms_report_id 
+032a 67e08913 store 1 ,mem_usb_mouse_data 
+032b 6fe3ca0b fetch 7 ,mem_24g_rxdata_temp_new + 3 
+032c e7e38005 istore 7 ,contw 
+032d 6fe0ca0b fetch 1 ,mem_24g_rxdata_temp_new + 3 
+032e 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+032f 6fe0ca0b fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0330 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+0331 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
+0332 202003aa branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_g24_mouse_heart_data:
-032a 6fe0c867 fetch 1 ,mem_dongle_usb_ep2_data_flag 
-032b 207a0000 rtn blank 
-032c 70486700 jam 0 ,mem_dongle_usb_ep2_data_flag 
+0333 6fe0c8a8 fetch 1 ,mem_dongle_usb_ep2_data_flag 
+0334 207a0000 rtn blank 
+0335 7048a800 jam 0 ,mem_dongle_usb_ep2_data_flag 
 
 p_24g_ackpayload_enable_set:
-032d 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-032e 7049c6a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
-032f 20600000 rtn 
+0336 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
+0337 704a07a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
+0338 20600000 rtn 
 
 p_g24_data_receive_protocol_data:
-0330 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0331 1f20f3ff increase -1 ,loopcnt 
-0332 d8a04a95 arg mem_usb_protocol_data + 2 ,contw 
-0333 d8c049ca arg mem_24g_rxdata_temp_new + 3 ,contr 
-0334 20407cda call memcpy 
-0335 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0336 1fe0ffff increase -1 ,pdata 
-0337 d8a04ad4 arg mem_usb_protocol_data_sta ,contw 
-0338 d8c04a95 arg mem_usb_protocol_data + 2 ,contr 
-0339 20407cda call memcpy 
-033a 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-033b 1fe0ffff increase -1 ,pdata 
-033c da404ad4 arg mem_usb_protocol_data_sta ,regb 
-033d da204b15 arg mem_usb_protocol_data_last ,rega 
-033e 20407d64 call compare_loop 
-033f 24428373 ncall p_dongle_usb_tx_protocol_data ,zero 
-0340 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0341 1fe0ffff increase -1 ,pdata 
-0342 d8c04ad4 arg mem_usb_protocol_data_sta ,contr 
-0343 d8a04b15 arg mem_usb_protocol_data_last ,contw 
-0344 20407cda call memcpy 
-0345 202033be branch g24_rx_interrupt_clear 
+0339 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+033a 1fe67c0f sub pdata ,0x0f ,null 
+033b 2022838a branch p_dongle_receive_device_info ,zero 
+033c 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+033d 1f20f3ff increase -1 ,loopcnt 
+033e d8a04ad6 arg mem_usb_protocol_data + 2 ,contw 
+033f d8c04a0b arg mem_24g_rxdata_temp_new + 3 ,contr 
+0340 20407cda call memcpy 
+0341 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0342 1fe0ffff increase -1 ,pdata 
+0343 d8a04b15 arg mem_usb_protocol_data_sta ,contw 
+0344 d8c04ad6 arg mem_usb_protocol_data + 2 ,contr 
+0345 20407cda call memcpy 
+0346 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0347 1fe0ffff increase -1 ,pdata 
+0348 da404b15 arg mem_usb_protocol_data_sta ,regb 
+0349 da204b56 arg mem_usb_protocol_data_last ,rega 
+034a 20407d64 call compare_loop 
+034b 2442837f ncall p_dongle_usb_tx_protocol_data ,zero 
+034c 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+034d 1fe0ffff increase -1 ,pdata 
+034e d8c04b15 arg mem_usb_protocol_data_sta ,contr 
+034f d8a04b56 arg mem_usb_protocol_data_last ,contw 
+0350 20407cda call memcpy 
+0351 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_mouse_audio_data:
-0346 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0347 1f20f3ff increase -1 ,loopcnt 
-0348 d8a047a4 arg mem_usb_audio_data + 3 ,contw 
-0349 d8c049ca arg mem_24g_rxdata_temp_new + 3 ,contr 
-034a 20407cda call memcpy 
-034b 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-034c 1fe0ffff increase -1 ,pdata 
-034d d8a047e2 arg mem_usb_audio_data_sta ,contw 
-034e d8c047a4 arg mem_usb_audio_data + 3 ,contr 
-034f 20407cda call memcpy 
-0350 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0351 1fe0ffff increase -1 ,pdata 
-0352 da4047e2 arg mem_usb_audio_data_sta ,regb 
-0353 da204823 arg mem_usb_audio_data_last ,rega 
-0354 20407d64 call compare_loop 
-0355 2442837e ncall p_dongle_usb_tx_audio_data ,zero 
-0356 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0357 1fe0ffff increase -1 ,pdata 
-0358 d8c047e2 arg mem_usb_audio_data_sta ,contr 
-0359 d8a04823 arg mem_usb_audio_data_last ,contw 
-035a 20407cda call memcpy 
-035b 202033be branch g24_rx_interrupt_clear 
+0352 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0353 1f20f3ff increase -1 ,loopcnt 
+0354 d8a047a4 arg mem_usb_audio_data + 3 ,contw 
+0355 d8c04a0b arg mem_24g_rxdata_temp_new + 3 ,contr 
+0356 20407cda call memcpy 
+0357 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0358 1fe0ffff increase -1 ,pdata 
+0359 d8a047e2 arg mem_usb_audio_data_sta ,contw 
+035a d8c047a4 arg mem_usb_audio_data + 3 ,contr 
+035b 20407cda call memcpy 
+035c 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+035d 1fe0ffff increase -1 ,pdata 
+035e da4047e2 arg mem_usb_audio_data_sta ,regb 
+035f da204823 arg mem_usb_audio_data_last ,rega 
+0360 20407d64 call compare_loop 
+0361 24428390 ncall p_dongle_usb_tx_audio_data ,zero 
+0362 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0363 1fe0ffff increase -1 ,pdata 
+0364 d8c047e2 arg mem_usb_audio_data_sta ,contr 
+0365 d8a04823 arg mem_usb_audio_data_last ,contw 
+0366 20407cda call memcpy 
+0367 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_mouse_authca_data:
-035c 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-035d 1f20f3ff increase -1 ,loopcnt 
-035e d8a046e0 arg mem_usb_authca_data + 2 ,contw 
-035f d8c049ca arg mem_24g_rxdata_temp_new + 3 ,contr 
-0360 20407cda call memcpy 
-0361 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0362 1fe0ffff increase -1 ,pdata 
-0363 d8a0471f arg mem_usb_authca_data_sta ,contw 
-0364 d8c046e0 arg mem_usb_authca_data + 2 ,contr 
-0365 20407cda call memcpy 
-0366 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0367 1fe0ffff increase -1 ,pdata 
-0368 da40471f arg mem_usb_authca_data_sta ,regb 
-0369 da204760 arg mem_usb_authca_data_last ,rega 
-036a 20407d64 call compare_loop 
-036b 2442838b ncall p_dongle_usb_tx_authca_data ,zero 
-036c 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-036d 1fe0ffff increase -1 ,pdata 
-036e d8c0471f arg mem_usb_authca_data_sta ,contr 
-036f d8a04760 arg mem_usb_authca_data_last ,contw 
-0370 20407cda call memcpy 
-0371 204033be call g24_rx_interrupt_clear 
-0372 2020032a branch p_dongle_g24_mouse_heart_data 
+0368 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0369 1f20f3ff increase -1 ,loopcnt 
+036a d8a046e0 arg mem_usb_authca_data + 2 ,contw 
+036b d8c04a0b arg mem_24g_rxdata_temp_new + 3 ,contr 
+036c 20407cda call memcpy 
+036d 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+036e 1fe0ffff increase -1 ,pdata 
+036f d8a0471f arg mem_usb_authca_data_sta ,contw 
+0370 d8c046e0 arg mem_usb_authca_data + 2 ,contr 
+0371 20407cda call memcpy 
+0372 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0373 1fe0ffff increase -1 ,pdata 
+0374 da40471f arg mem_usb_authca_data_sta ,regb 
+0375 da204760 arg mem_usb_authca_data_last ,rega 
+0376 20407d64 call compare_loop 
+0377 2442839d ncall p_dongle_usb_tx_authca_data ,zero 
+0378 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0379 1fe0ffff increase -1 ,pdata 
+037a d8c0471f arg mem_usb_authca_data_sta ,contr 
+037b d8a04760 arg mem_usb_authca_data_last ,contw 
+037c 20407cda call memcpy 
+037d 204033be call g24_rx_interrupt_clear 
+037e 20200333 branch p_dongle_g24_mouse_heart_data 
 
 p_dongle_usb_tx_protocol_data:
-0373 58000040 setarg 0x40 
-0374 67e0ca93 store 1 ,mem_usb_protocol_data 
-0375 704a94a1 jam report_id_data_in ,mem_usb_protocol_data + 1 
-0376 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0377 1fe0ffff increase -1 ,pdata 
-0378 1fe27200 copy pdata ,loopcnt 
-0379 d8c04a95 arg mem_usb_protocol_data + 2 ,contr 
-037a d8a04ad4 arg mem_usb_protocol_data_sta ,contw 
-037b 20407cda call memcpy 
-037c 70090c23 jam usb_ep2_protocol ,mem_usb_ep2_data 
-037d 20200398 branch p_dongle_usb_tx_enable_ep2 
+037f 58000040 setarg 0x40 
+0380 67e0cad4 store 1 ,mem_usb_protocol_data 
+0381 704ad5a1 jam report_id_data_in ,mem_usb_protocol_data + 1 
+0382 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0383 1fe0ffff increase -1 ,pdata 
+0384 1fe27200 copy pdata ,loopcnt 
+0385 d8c04ad6 arg mem_usb_protocol_data + 2 ,contr 
+0386 d8a04b15 arg mem_usb_protocol_data_sta ,contw 
+0387 20407cda call memcpy 
+0388 70090c23 jam usb_ep2_protocol ,mem_usb_ep2_data 
+0389 202003aa branch p_dongle_usb_tx_enable_ep2 
+
+p_dongle_receive_device_info:
+038a 70486440 jam 0x40 ,mem_usb_device_info_data 
+038b 704865a1 jam report_id_data_in ,mem_usb_device_info_data + 1 
+038c df20000e arg 14 ,loopcnt 
+038d d8c04a0b arg mem_24g_rxdata_temp_new + 3 ,contr 
+038e d8a04866 arg mem_usb_device_info_data + 2 ,contw 
+038f 20207cda branch memcpy 
 
 p_dongle_usb_tx_audio_data:
-037e 58000040 setarg 0x40 
-037f 67e0c7a1 store 1 ,mem_usb_audio_data 
-0380 7047a2a0 jam report_id_audio_data_in ,mem_usb_audio_data + 1 
-0381 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0382 1fe0ffff increase -1 ,pdata 
-0383 67e0c7a3 store 1 ,mem_usb_audio_data + 2 
-0384 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0385 1fe0ffff increase -1 ,pdata 
-0386 d8c047a4 arg mem_usb_audio_data + 3 ,contr 
-0387 d8a047e2 arg mem_usb_audio_data_sta ,contw 
-0388 20407cda call memcpy 
-0389 70090c24 jam usb_ep2_audio ,mem_usb_ep2_data 
-038a 20200398 branch p_dongle_usb_tx_enable_ep2 
+0390 58000040 setarg 0x40 
+0391 67e0c7a1 store 1 ,mem_usb_audio_data 
+0392 7047a2a0 jam report_id_audio_data_in ,mem_usb_audio_data + 1 
+0393 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0394 1fe0ffff increase -1 ,pdata 
+0395 67e0c7a3 store 1 ,mem_usb_audio_data + 2 
+0396 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0397 1fe0ffff increase -1 ,pdata 
+0398 d8c047a4 arg mem_usb_audio_data + 3 ,contr 
+0399 d8a047e2 arg mem_usb_audio_data_sta ,contw 
+039a 20407cda call memcpy 
+039b 70090c24 jam usb_ep2_audio ,mem_usb_ep2_data 
+039c 202003aa branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_authca_data:
-038b 58000040 setarg 0x40 
-038c 67e0c6de store 1 ,mem_usb_authca_data 
-038d 7046dfa3 jam report_id_authca_data_in ,mem_usb_authca_data + 1 
-038e 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-038f 1fe0ffff increase -1 ,pdata 
-0390 67e0c6e0 store 1 ,mem_usb_authca_data + 2 
-0391 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0392 1fe0ffff increase -1 ,pdata 
-0393 d8a046e1 arg mem_usb_authca_data + 3 ,contw 
-0394 d8c0471f arg mem_usb_authca_data_sta ,contr 
-0395 20407cda call memcpy 
-0396 70090c26 jam usb_ep2_authca ,mem_usb_ep2_data 
-0397 20200398 branch p_dongle_usb_tx_enable_ep2 
+039d 58000040 setarg 0x40 
+039e 67e0c6de store 1 ,mem_usb_authca_data 
+039f 7046dfa3 jam report_id_authca_data_in ,mem_usb_authca_data + 1 
+03a0 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+03a1 1fe0ffff increase -1 ,pdata 
+03a2 67e0c6e0 store 1 ,mem_usb_authca_data + 2 
+03a3 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+03a4 1fe0ffff increase -1 ,pdata 
+03a5 d8a046e1 arg mem_usb_authca_data + 3 ,contw 
+03a6 d8c0471f arg mem_usb_authca_data_sta ,contr 
+03a7 20407cda call memcpy 
+03a8 70090c26 jam usb_ep2_authca ,mem_usb_ep2_data 
+03a9 202003aa branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_enable_ep2:
-0398 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-0399 207a0000 rtn blank 
-039a da204b98 arg mem_usb_ep2_fifo ,rega 
-039b 20407da5 call fifo_is_full 
-039c 247a0000 nrtn blank 
-039d 6fe0890c fetch 1 ,mem_usb_ep2_data 
-039e 67e0866f store 1 ,mem_fifo_temp 
-039f da204b98 arg mem_usb_ep2_fifo ,rega 
-03a0 20207d8b branch fifo_in 
+03aa 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+03ab 207a0000 rtn blank 
+03ac da204bda arg mem_usb_ep2_fifo ,rega 
+03ad 20407da5 call fifo_is_full 
+03ae 247a0000 nrtn blank 
+03af 6fe0890c fetch 1 ,mem_usb_ep2_data 
+03b0 67e0866f store 1 ,mem_fifo_temp 
+03b1 da204bda arg mem_usb_ep2_fifo ,rega 
+03b2 20207d8b branch fifo_in 
 
 p_dongle_g24_keyboard:
-03a1 6fe0c9c9 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-03a2 c2838346 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
-03a3 c283035c bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-03a4 202003a5 branch p_dongle_g24_kb 
+03b3 6fe0ca0a fetch 1 ,mem_24g_rxdata_temp_new + 2 
+03b4 c2838352 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
+03b5 c2830368 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+03b6 202003b7 branch p_dongle_g24_kb 
 
 p_dongle_g24_kb:
-03a5 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03a6 c00003aa beq 0 ,p_dongle_g24_kb_type0 
-03a7 c00103b0 beq 2 ,p_dongle_g24_kb_type2 
-03a8 c00183b3 beq 3 ,p_dongle_g24_kb_type3 
-03a9 202033be branch g24_rx_interrupt_clear 
+03b7 6fe0ca0b fetch 1 ,mem_24g_rxdata_temp_new + 3 
+03b8 c00003bc beq 0 ,p_dongle_g24_kb_type0 
+03b9 c00103c2 beq 2 ,p_dongle_g24_kb_type2 
+03ba c00183c5 beq 3 ,p_dongle_g24_kb_type3 
+03bb 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_kb_type0:
-03aa 6fe0c9cc fetch 1 ,mem_24g_rxdata_temp_new + 5 
-03ab 67e0c611 store 1 ,mem_24g_ackpayload_enable 
-03ac 7049cc00 jam 0 ,mem_24g_rxdata_temp_new + 5 
-03ad d8a00923 arg mem_usb_kb_data ,contw 
-03ae d8c049cb arg mem_24g_rxdata_temp_new + 4 ,contr 
-03af 202048ef branch dongle_g24_kb_type0 + 5 
+03bc 6fe0ca0d fetch 1 ,mem_24g_rxdata_temp_new + 5 
+03bd 67e0c611 store 1 ,mem_24g_ackpayload_enable 
+03be 704a0d00 jam 0 ,mem_24g_rxdata_temp_new + 5 
+03bf d8a00923 arg mem_usb_kb_data ,contw 
+03c0 d8c04a0c arg mem_24g_rxdata_temp_new + 4 ,contr 
+03c1 202048ef branch dongle_g24_kb_type0 + 5 
 
 p_dongle_g24_kb_type2:
-03b0 d8a00943 arg mem_usb_kb_system ,contw 
-03b1 d8c049ca arg mem_24g_rxdata_temp_new + 3 ,contr 
-03b2 2020491f branch dongle_g24_kb_type2 + 2 
+03c2 d8a00943 arg mem_usb_kb_system ,contw 
+03c3 d8c04a0b arg mem_24g_rxdata_temp_new + 3 ,contr 
+03c4 2020491f branch dongle_g24_kb_type2 + 2 
 
 p_dongle_g24_kb_type3:
-03b3 d8a00933 arg mem_usb_kb_multikey ,contw 
-03b4 d8c049ca arg mem_24g_rxdata_temp_new + 3 ,contr 
-03b5 20204907 branch dongle_g24_kb_type3 + 2 
+03c5 d8a00933 arg mem_usb_kb_multikey ,contw 
+03c6 d8c04a0b arg mem_24g_rxdata_temp_new + 3 ,contr 
+03c7 20204907 branch dongle_g24_kb_type3 + 2 
 
 p_dongle_ackpayload_prep:
-03b6 6fe0c589 fetch 1 ,mem_24g_data_type 
-03b7 c00083ba beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
-03b8 c00100f7 beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
-03b9 202003ba branch p_dongle_ackpayload_prep_mouse 
+03c8 6fe0c589 fetch 1 ,mem_24g_data_type 
+03c9 c00083cc beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
+03ca c00100f7 beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
+03cb 202003cc branch p_dongle_ackpayload_prep_mouse 
 
 p_dongle_ackpayload_prep_mouse:
-03ba 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-03bb c28000e9 bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
-03bc 202003bd branch p_dongle_ackpayload_prep_end 
+03cc 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+03cd c28000e9 bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
+03ce 202003cf branch p_dongle_ackpayload_prep_end 
 
 p_dongle_ackpayload_prep_end:
-03bd 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
-03be c00080e1 beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
-03bf c00180f0 beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
-03c0 c05103c2 beq report_id_data_out ,p_dongle_ep2_ackpayload_prep 
-03c1 20600000 rtn 
+03cf 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+03d0 c00080e1 beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
+03d1 c00180f0 beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
+03d2 c05103d4 beq report_id_data_out ,p_dongle_ep2_ackpayload_prep 
+03d3 20600000 rtn 
 
 p_dongle_ep2_ackpayload_prep:
-03c2 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-03c3 7049c6a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
-03c4 6fe0c868 fetch 1 ,mem_dongle_usb_ep2_data_len 
-03c5 67e0c588 store 1 ,mem_24g_datalen 
-03c6 1fe27200 copy pdata ,loopcnt 
-03c7 d8c04869 arg mem_dongle_g24_usb_ep2_ack_data ,contr 
-03c8 d8a04a0d arg mem_24g_txbuf_new ,contw 
-03c9 20207cda branch memcpy 
+03d4 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
+03d5 704a07a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
+03d6 6fe0c8a9 fetch 1 ,mem_dongle_usb_ep2_data_len 
+03d7 67e0c588 store 1 ,mem_24g_datalen 
+03d8 1fe27200 copy pdata ,loopcnt 
+03d9 d8c048aa arg mem_dongle_g24_usb_ep2_ack_data ,contr 
+03da d8a04a4e arg mem_24g_txbuf_new ,contw 
+03db 20207cda branch memcpy 
 
 p_g24_100ms_timer_event:
-03ca d8e00006 arg usb_timer_100ms ,queue 
-03cb 20407cef call timer_check 
-03cc 247a0000 nrtn blank 
-03cd 204003d1 call p_g24_http_over_pack_check 
+03dc d8e00006 arg usb_timer_100ms ,queue 
+03dd 20407cef call timer_check 
+03de 247a0000 nrtn blank 
+03df 204003e3 call p_g24_http_over_pack_check 
 
 p_g24_100ms_timer_init:
-03ce d8e00006 arg usb_timer_100ms ,queue 
-03cf 58000018 setarg 24 
-03d0 20207ce1 branch timer_init 
+03e0 d8e00006 arg usb_timer_100ms ,queue 
+03e1 58000018 setarg 24 
+03e2 20207ce1 branch timer_init 
 
 p_g24_http_over_pack_check:
-03d1 6fe0cbab fetch 1 ,mem_usb_website_step 
-03d2 207a0000 rtn blank 
-03d3 2020030c branch p_dongle_usb_tx_http_data 
+03e3 6fe0cbed fetch 1 ,mem_usb_website_step 
+03e4 207a0000 rtn blank 
+03e5 20200315 branch p_dongle_usb_tx_http_data 
 
 p_usb_tx_data_ep1:
-03d4 6ff08c25 fetch 1 ,core_usb_txbusy 
-03d5 1fe17e0f and_into 0x0f ,pdata 
-03d6 247a0000 nrtn blank 
-03d7 6fe0890d fetch 1 ,mem_usb_tx_enable 
-03d8 c4008000 rtnbit0 1 
-03d9 6fe0890d fetch 1 ,mem_usb_tx_enable 
-03da 793ffe01 set0 1 ,pdata 
-03db 67e0890d store 1 ,mem_usb_tx_enable 
-03dc 6fe0890b fetch 1 ,mem_usb_ep1_data 
-03dd 207a0000 rtn blank 
-03de c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
-03df c00883e1 beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
-03e0 2020235a branch assert 
+03e6 6ff08c25 fetch 1 ,core_usb_txbusy 
+03e7 1fe17e0f and_into 0x0f ,pdata 
+03e8 247a0000 nrtn blank 
+03e9 6fe0890d fetch 1 ,mem_usb_tx_enable 
+03ea c4008000 rtnbit0 1 
+03eb 6fe0890d fetch 1 ,mem_usb_tx_enable 
+03ec 793ffe01 set0 1 ,pdata 
+03ed 67e0890d store 1 ,mem_usb_tx_enable 
+03ee 6fe0890b fetch 1 ,mem_usb_ep1_data 
+03ef 207a0000 rtn blank 
+03f0 c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+03f1 c00883f3 beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
+03f2 2020235a branch assert 
 
 p_usb_tx_http_data_set:
-03e1 6fe0cbab fetch 1 ,mem_usb_website_step 
-03e2 c00003ec beq website_win ,p_usb_website_winr_data 
-03e3 c00083f8 beq website_r_space_release ,p_usb_website_r_space_release_data 
-03e4 c00103fc beq website_win_release ,p_usb_website_win_release_data 
-03e5 c001840c beq website_wait ,p_usb_website_wait_tx_data 
-03e6 c0020413 beq website_data ,p_usb_website_data 
-03e7 c0028402 beq website_enter_1 ,p_usb_website_enter_data1 
-03e8 c0030406 beq website_enter_release_1 ,p_usb_website_enter_release_data1 
-03e9 c0038408 beq website_enter_2 ,p_usb_website_enter_data2 
-03ea c004040a beq website_enter_release_2 ,p_usb_website_enter_release_data2 
-03eb 20600000 rtn 
+03f3 6fe0cbed fetch 1 ,mem_usb_website_step 
+03f4 c00003fe beq website_win ,p_usb_website_winr_data 
+03f5 c000840a beq website_r_space_release ,p_usb_website_r_space_release_data 
+03f6 c001040e beq website_win_release ,p_usb_website_win_release_data 
+03f7 c001841e beq website_wait ,p_usb_website_wait_tx_data 
+03f8 c0020425 beq website_data ,p_usb_website_data 
+03f9 c0028414 beq website_enter_1 ,p_usb_website_enter_data1 
+03fa c0030418 beq website_enter_release_1 ,p_usb_website_enter_release_data1 
+03fb c003841a beq website_enter_2 ,p_usb_website_enter_data2 
+03fc c004041c beq website_enter_release_2 ,p_usb_website_enter_release_data2 
+03fd 20600000 rtn 
 
 p_usb_website_winr_data:
-03ec 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
-03ed c00003f0 beq 0 ,p_usb_tx_winos_winr_data 
-03ee c00083f4 beq 1 ,p_usb_tx_macos_winr_data 
-03ef 20600000 rtn 
+03fe 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
+03ff c0000402 beq 0 ,p_usb_tx_winos_winr_data 
+0400 c0008406 beq 1 ,p_usb_tx_macos_winr_data 
+0401 20600000 rtn 
 
 p_usb_tx_winos_winr_data:
-03f0 704bab01 jam website_r_space_release ,mem_usb_website_step 
-03f1 6fe1cba1 fetch 3 ,mem_usb_win_cmd 
-03f2 67e18923 store 3 ,mem_usb_kb_data 
-03f3 20207c28 branch usb_tx_kb_normal_data 
+0402 704bed01 jam website_r_space_release ,mem_usb_website_step 
+0403 6fe1cbe3 fetch 3 ,mem_usb_win_cmd 
+0404 67e18923 store 3 ,mem_usb_kb_data 
+0405 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_tx_macos_winr_data:
-03f4 704bab01 jam website_r_space_release ,mem_usb_website_step 
-03f5 6fe1cba4 fetch 3 ,mem_usb_mac_cmd 
-03f6 67e18923 store 3 ,mem_usb_kb_data 
-03f7 20207c28 branch usb_tx_kb_normal_data 
+0406 704bed01 jam website_r_space_release ,mem_usb_website_step 
+0407 6fe1cbe6 fetch 3 ,mem_usb_mac_cmd 
+0408 67e18923 store 3 ,mem_usb_kb_data 
+0409 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_r_space_release_data:
-03f8 704bab02 jam website_win_release ,mem_usb_website_step 
-03f9 6fe0cba1 fetch 1 ,mem_usb_win_cmd 
-03fa 67e08923 store 1 ,mem_usb_kb_data 
-03fb 20207c28 branch usb_tx_kb_normal_data 
+040a 704bed02 jam website_win_release ,mem_usb_website_step 
+040b 6fe0cbe3 fetch 1 ,mem_usb_win_cmd 
+040c 67e08923 store 1 ,mem_usb_kb_data 
+040d 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_win_release_data:
-03fc 704bab03 jam website_wait ,mem_usb_website_step 
+040e 704bed03 jam website_wait ,mem_usb_website_step 
 
 p_usb_webstie_release_data:
-03fd d8a00923 arg mem_usb_kb_data ,contw 
-03fe df200008 arg 8 ,loopcnt 
-03ff 20407ca3 call memset0 
-0400 704bad00 jam 0 ,mem_usb_website_release_flag 
-0401 20207c28 branch usb_tx_kb_normal_data 
+040f d8a00923 arg mem_usb_kb_data ,contw 
+0410 df200008 arg 8 ,loopcnt 
+0411 20407ca3 call memset0 
+0412 704bef00 jam 0 ,mem_usb_website_release_flag 
+0413 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_enter_data1:
-0402 704bab06 jam website_enter_release_1 ,mem_usb_website_step 
+0414 704bed06 jam website_enter_release_1 ,mem_usb_website_step 
 
 p_usb_webstie_enter_data:
-0403 6fe1cba7 fetch 3 ,mem_usb_kb_enter 
-0404 67e18923 store 3 ,mem_usb_kb_data 
-0405 20207c28 branch usb_tx_kb_normal_data 
+0415 6fe1cbe9 fetch 3 ,mem_usb_kb_enter 
+0416 67e18923 store 3 ,mem_usb_kb_data 
+0417 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_enter_release_data1:
-0406 704bab07 jam website_enter_2 ,mem_usb_website_step 
-0407 202003fd branch p_usb_webstie_release_data 
+0418 704bed07 jam website_enter_2 ,mem_usb_website_step 
+0419 2020040f branch p_usb_webstie_release_data 
 
 p_usb_website_enter_data2:
-0408 704bab08 jam website_enter_release_2 ,mem_usb_website_step 
-0409 20200403 branch p_usb_webstie_enter_data 
+041a 704bed08 jam website_enter_release_2 ,mem_usb_website_step 
+041b 20200415 branch p_usb_webstie_enter_data 
 
 p_usb_website_enter_release_data2:
-040a 704bab00 jam website_done ,mem_usb_website_step 
-040b 202003fd branch p_usb_webstie_release_data 
+041c 704bed00 jam website_done ,mem_usb_website_step 
+041d 2020040f branch p_usb_webstie_release_data 
 
 p_usb_website_wait_tx_data:
-040c 6fe0cbaa fetch 1 ,mem_usb_website_wait_count 
-040d 1fe0fe01 increase 1 ,pdata 
-040e 67e0cbaa store 1 ,mem_usb_website_wait_count 
-040f c1878000 rtnne website_wait_count 
-0410 704baa00 jam 0 ,mem_usb_website_wait_count 
-0411 704bab04 jam website_data ,mem_usb_website_step 
-0412 20600000 rtn 
+041e 6fe0cbec fetch 1 ,mem_usb_website_wait_count 
+041f 1fe0fe01 increase 1 ,pdata 
+0420 67e0cbec store 1 ,mem_usb_website_wait_count 
+0421 c1878000 rtnne website_wait_count 
+0422 704bec00 jam 0 ,mem_usb_website_wait_count 
+0423 704bed04 jam website_data ,mem_usb_website_step 
+0424 20600000 rtn 
 
 p_usb_website_data:
-0413 6fe0cbad fetch 1 ,mem_usb_website_release_flag 
-0414 c00083fd beq 1 ,p_usb_webstie_release_data 
-0415 c0000419 beq 0 ,p_usb_website_info_data 
-0416 20600000 rtn 
+0425 6fe0cbef fetch 1 ,mem_usb_website_release_flag 
+0426 c000840f beq 1 ,p_usb_webstie_release_data 
+0427 c000042b beq 0 ,p_usb_website_info_data 
+0428 20600000 rtn 
 
 p_usb_webstie_info_data_done:
-0417 704bab05 jam website_enter_1 ,mem_usb_website_step 
-0418 20600000 rtn 
+0429 704bed05 jam website_enter_1 ,mem_usb_website_step 
+042a 20600000 rtn 
 
 p_usb_website_info_data:
-0419 d8404bb1 arg mem_usb_website_info + 1 ,temp 
-041a 6fe0cbb0 fetch 1 ,mem_usb_website_info 
-041b 98408400 iadd temp ,temp 
-041c 6fe14bae fetch 2 ,mem_usb_website_ptr 
-041d 98467c00 isub temp ,null 
-041e 20228417 branch p_usb_webstie_info_data_done ,zero 
-041f 20400429 call p_usb_tx_website_acii2hidkey 
-0420 2040044b call p_usb_tx_website_need_shift 
-0421 6fe0cbac fetch 1 ,mem_usb_website_shift_flag 
-0422 67e08923 store 1 ,mem_usb_kb_data 
-0423 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
-0424 6fe14bae fetch 2 ,mem_usb_website_ptr 
-0425 1fe0fe01 increase 1 ,pdata 
-0426 67e14bae store 2 ,mem_usb_website_ptr 
-0427 704bad01 jam 1 ,mem_usb_website_release_flag 
-0428 20207c28 branch usb_tx_kb_normal_data 
+042b d8404bf3 arg mem_usb_website_info + 1 ,temp 
+042c 6fe0cbf2 fetch 1 ,mem_usb_website_info 
+042d 98408400 iadd temp ,temp 
+042e 6fe14bf0 fetch 2 ,mem_usb_website_ptr 
+042f 98467c00 isub temp ,null 
+0430 20228429 branch p_usb_webstie_info_data_done ,zero 
+0431 2040043b call p_usb_tx_website_acii2hidkey 
+0432 2040045d call p_usb_tx_website_need_shift 
+0433 6fe0cbee fetch 1 ,mem_usb_website_shift_flag 
+0434 67e08923 store 1 ,mem_usb_kb_data 
+0435 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
+0436 6fe14bf0 fetch 2 ,mem_usb_website_ptr 
+0437 1fe0fe01 increase 1 ,pdata 
+0438 67e14bf0 store 2 ,mem_usb_website_ptr 
+0439 704bef01 jam 1 ,mem_usb_website_release_flag 
+043a 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_tx_website_acii2hidkey:
-0429 68494bae fetcht 2 ,mem_usb_website_ptr 
-042a efe08002 ifetch 1 ,temp 
-042b 1fe67c7a sub pdata ,0x7a ,null 
-042c 24210430 nbranch p_usb_tx_website_acii2hidkey1 ,positive 
-042d da400061 arg 0x61 ,regb 
-042e 9a462200 isub regb ,rega 
-042f 20210447 branch p_usb_tx_website_acii2keycode_a2z ,positive 
+043b 68494bf0 fetcht 2 ,mem_usb_website_ptr 
+043c efe08002 ifetch 1 ,temp 
+043d 1fe67c7a sub pdata ,0x7a ,null 
+043e 24210442 nbranch p_usb_tx_website_acii2hidkey1 ,positive 
+043f da400061 arg 0x61 ,regb 
+0440 9a462200 isub regb ,rega 
+0441 20210459 branch p_usb_tx_website_acii2keycode_a2z ,positive 
 
 p_usb_tx_website_acii2hidkey1:
-0430 efe08002 ifetch 1 ,temp 
-0431 1fe67c39 sub pdata ,0x39 ,null 
-0432 24210436 nbranch p_usb_tx_website_acii2keycode_sign ,positive 
-0433 da400030 arg 0x30 ,regb 
-0434 9a462200 isub regb ,rega 
-0435 20210449 branch p_usb_tx_website_acii2keycode_029 ,positive 
+0442 efe08002 ifetch 1 ,temp 
+0443 1fe67c39 sub pdata ,0x39 ,null 
+0444 24210448 nbranch p_usb_tx_website_acii2keycode_sign ,positive 
+0445 da400030 arg 0x30 ,regb 
+0446 9a462200 isub regb ,rega 
+0447 2021045b branch p_usb_tx_website_acii2keycode_029 ,positive 
 
 p_usb_tx_website_acii2keycode_sign:
-0436 1fe67c3a sub pdata ,0x3a ,null 
-0437 2022843f branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
-0438 1fe67c2f sub pdata ,0x2f ,null 
-0439 20228441 branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
-043a 1fe67c2e sub pdata ,0x2e ,null 
-043b 20228443 branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
-043c 1fe67c2d sub pdata ,0x2d ,null 
-043d 20228445 branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
-043e 20600000 rtn 
+0448 1fe67c3a sub pdata ,0x3a ,null 
+0449 20228451 branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
+044a 1fe67c2f sub pdata ,0x2f ,null 
+044b 20228453 branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
+044c 1fe67c2e sub pdata ,0x2e ,null 
+044d 20228455 branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
+044e 1fe67c2d sub pdata ,0x2d ,null 
+044f 20228457 branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
+0450 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_3a:
-043f da200033 arg 0x33 ,rega 
-0440 20600000 rtn 
+0451 da200033 arg 0x33 ,rega 
+0452 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2f:
-0441 da200038 arg 0x38 ,rega 
-0442 20600000 rtn 
+0453 da200038 arg 0x38 ,rega 
+0454 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2e:
-0443 da200037 arg 0x37 ,rega 
-0444 20600000 rtn 
+0455 da200037 arg 0x37 ,rega 
+0456 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2d:
-0445 da20002d arg 0x2d ,rega 
-0446 20600000 rtn 
+0457 da20002d arg 0x2d ,rega 
+0458 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_a2z:
-0447 1a20a204 add rega ,4 ,rega 
-0448 20600000 rtn 
+0459 1a20a204 add rega ,4 ,rega 
+045a 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_029:
-0449 1a20a227 add rega ,0x27 ,rega 
-044a 20600000 rtn 
+045b 1a20a227 add rega ,0x27 ,rega 
+045c 20600000 rtn 
 
 p_usb_tx_website_need_shift:
-044b 704bac00 jam 0 ,mem_usb_website_shift_flag 
-044c 6fe14bae fetch 2 ,mem_usb_website_ptr 
-044d efe0803f ifetch 1 ,pdata 
-044e d8c04bd9 arg mem_usb_website_info_sign + 1 ,contr 
-044f 6848cbd8 fetcht 1 ,mem_usb_website_info_sign 
-0450 18427200 copy temp ,loopcnt 
+045d 704bee00 jam 0 ,mem_usb_website_shift_flag 
+045e 6fe14bf0 fetch 2 ,mem_usb_website_ptr 
+045f efe0803f ifetch 1 ,pdata 
+0460 d8c04c1b arg mem_usb_website_info_sign + 1 ,contr 
+0461 6848cc1a fetcht 1 ,mem_usb_website_info_sign 
+0462 18427200 copy temp ,loopcnt 
 
 p_usb_tx_website_need_shift_check_loop:
-0451 e8408006 ifetcht 1 ,contr 
-0452 98467c00 isub temp ,null 
-0453 20228456 branch p_usb_tx_website_need_shift_setflag ,zero 
-0454 c2000451 loop p_usb_tx_website_need_shift_check_loop 
-0455 20600000 rtn 
+0463 e8408006 ifetcht 1 ,contr 
+0464 98467c00 isub temp ,null 
+0465 20228468 branch p_usb_tx_website_need_shift_setflag ,zero 
+0466 c2000463 loop p_usb_tx_website_need_shift_check_loop 
+0467 20600000 rtn 
 
 p_usb_tx_website_need_shift_setflag:
-0456 704bac02 jam 2 ,mem_usb_website_shift_flag 
-0457 20600000 rtn 
+0468 704bee02 jam 2 ,mem_usb_website_shift_flag 
+0469 20600000 rtn 
 
 p_usb_tx_data_ep2:
-0458 da204b98 arg mem_usb_ep2_fifo ,rega 
-0459 20407da3 call fifo_is_empty 
-045a 207a0000 rtn blank 
-045b 6ff08c25 fetch 1 ,core_usb_txbusy 
-045c 1fe17e0f and_into 0x0f ,pdata 
-045d 247a0000 nrtn blank 
-045e 6fe0890d fetch 1 ,mem_usb_tx_enable 
-045f c4010000 rtnbit0 2 
-0460 6fe0890d fetch 1 ,mem_usb_tx_enable 
-0461 793ffe02 set0 2 ,pdata 
-0462 67e0890d store 1 ,mem_usb_tx_enable 
-0463 da204b98 arg mem_usb_ep2_fifo ,rega 
-0464 20407d97 call fifo_out 
-0465 207a0000 rtn blank 
-0466 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
-0467 c0130476 beq usb_ep2_authca ,p_usb_tx_authca_data 
-0468 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-0469 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
-046a c0120483 beq usb_ep2_audio ,p_usb_tx_audio_data 
-046b c0118490 beq usb_ep2_protocol ,p_usb_tx_protocol_data 
-046c c013846e beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
-046d 2020235a branch assert 
+046a da204bda arg mem_usb_ep2_fifo ,rega 
+046b 20407da3 call fifo_is_empty 
+046c 207a0000 rtn blank 
+046d 6ff08c25 fetch 1 ,core_usb_txbusy 
+046e 1fe17e0f and_into 0x0f ,pdata 
+046f 247a0000 nrtn blank 
+0470 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0471 c4010000 rtnbit0 2 
+0472 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0473 793ffe02 set0 2 ,pdata 
+0474 67e0890d store 1 ,mem_usb_tx_enable 
+0475 da204bda arg mem_usb_ep2_fifo ,rega 
+0476 20407d97 call fifo_out 
+0477 207a0000 rtn blank 
+0478 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
+0479 c0130489 beq usb_ep2_authca ,p_usb_tx_authca_data 
+047a c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+047b c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
+047c c0120495 beq usb_ep2_audio ,p_usb_tx_audio_data 
+047d c01184a1 beq usb_ep2_protocol ,p_usb_tx_protocol_data 
+047e c01404ad beq usb_ep2_device_info ,p_usb_tx_device_info_data 
+047f c0138481 beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
+0480 2020235a branch assert 
 
 p_usb_tx_rf_state_data:
-046e 6f20cb56 fetchr loopcnt ,1 ,mem_usb_rf_state_data 
-046f d8c04b57 arg mem_usb_rf_state_data + 1 ,contr 
-0470 d8e00002 arg 2 ,queue 
-0471 da200759 arg mem_usb_txbuf2 ,rega 
-0472 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-0473 20407bd2 call usb_tx_buf 
-0474 d8a04b56 arg mem_usb_rf_state_data ,contw 
-0475 20200481 branch p_usb_release_authca_buf + 1 
+0481 6f20cb97 fetchr loopcnt ,1 ,mem_usb_rf_state_data 
+0482 d8c04b98 arg mem_usb_rf_state_data + 1 ,contr 
+0483 d8e00002 arg 2 ,queue 
+0484 da200759 arg mem_usb_txbuf2 ,rega 
+0485 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+0486 20407bd2 call usb_tx_buf 
+0487 d8a04b97 arg mem_usb_rf_state_data ,contw 
+0488 20200493 branch p_usb_release_authca_buf + 1 
 
 p_usb_tx_authca_data:
-0476 70090c00 jam 0 ,mem_usb_ep2_data 
-0477 6fe0c6de fetch 1 ,mem_usb_authca_data 
-0478 1fe27200 copy pdata ,loopcnt 
-0479 207a0000 rtn blank 
-047a d8c046df arg mem_usb_authca_data + 1 ,contr 
+0489 70090c00 jam 0 ,mem_usb_ep2_data 
+048a 6fe0c6de fetch 1 ,mem_usb_authca_data 
+048b 1fe27200 copy pdata ,loopcnt 
+048c 207a0000 rtn blank 
+048d d8c046df arg mem_usb_authca_data + 1 ,contr 
 
 p_usb_tx_authca_ep2:
-047b d8e00002 arg 2 ,queue 
-047c da200759 arg mem_usb_txbuf2 ,rega 
-047d 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-047e 20407bd2 call usb_tx_buf 
-047f 20200480 branch p_usb_release_authca_buf 
+048e d8e00002 arg 2 ,queue 
+048f da200759 arg mem_usb_txbuf2 ,rega 
+0490 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+0491 20407bd2 call usb_tx_buf 
 
 p_usb_release_authca_buf:
-0480 d8a046de arg mem_usb_authca_data ,contw 
-0481 df200040 arg 64 ,loopcnt 
-0482 20207ca1 branch clear_mem 
+0492 d8a046de arg mem_usb_authca_data ,contw 
+0493 df200040 arg 64 ,loopcnt 
+0494 20207ca1 branch clear_mem 
 
 p_usb_tx_audio_data:
-0483 70090c00 jam 0 ,mem_usb_ep2_data 
-0484 6fe0c7a1 fetch 1 ,mem_usb_audio_data 
-0485 1fe27200 copy pdata ,loopcnt 
-0486 207a0000 rtn blank 
-0487 d8c047a2 arg mem_usb_audio_data + 1 ,contr 
+0495 70090c00 jam 0 ,mem_usb_ep2_data 
+0496 6fe0c7a1 fetch 1 ,mem_usb_audio_data 
+0497 1fe27200 copy pdata ,loopcnt 
+0498 207a0000 rtn blank 
+0499 d8c047a2 arg mem_usb_audio_data + 1 ,contr 
 
 p_usb_tx_audio_ep2:
-0488 d8e00002 arg 2 ,queue 
-0489 da200759 arg mem_usb_txbuf2 ,rega 
-048a 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-048b 20407bd2 call usb_tx_buf 
-048c 2020048d branch p_usb_release_audio_buf 
+049a d8e00002 arg 2 ,queue 
+049b da200759 arg mem_usb_txbuf2 ,rega 
+049c 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+049d 20407bd2 call usb_tx_buf 
 
 p_usb_release_audio_buf:
-048d d8a047a1 arg mem_usb_audio_data ,contw 
-048e df200040 arg 64 ,loopcnt 
-048f 20207ca1 branch clear_mem 
+049e d8a047a1 arg mem_usb_audio_data ,contw 
+049f df200040 arg 64 ,loopcnt 
+04a0 20207ca1 branch clear_mem 
 
 p_usb_tx_protocol_data:
-0490 70090c00 jam 0 ,mem_usb_ep2_data 
-0491 6fe0ca93 fetch 1 ,mem_usb_protocol_data 
-0492 1fe27200 copy pdata ,loopcnt 
-0493 207a0000 rtn blank 
-0494 d8c04a94 arg mem_usb_protocol_data + 1 ,contr 
+04a1 70090c00 jam 0 ,mem_usb_ep2_data 
+04a2 6fe0cad4 fetch 1 ,mem_usb_protocol_data 
+04a3 1fe27200 copy pdata ,loopcnt 
+04a4 207a0000 rtn blank 
+04a5 d8c04ad5 arg mem_usb_protocol_data + 1 ,contr 
 
 p_usb_tx_protocol_ep2:
-0495 d8e00002 arg 2 ,queue 
-0496 da200759 arg mem_usb_txbuf2 ,rega 
-0497 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-0498 20407bd2 call usb_tx_buf 
-0499 2020049a branch p_usb_release_protocol_buf 
+04a6 d8e00002 arg 2 ,queue 
+04a7 da200759 arg mem_usb_txbuf2 ,rega 
+04a8 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+04a9 20407bd2 call usb_tx_buf 
 
 p_usb_release_protocol_buf:
-049a d8a04a93 arg mem_usb_protocol_data ,contw 
-049b df200041 arg 65 ,loopcnt 
-049c 20207ca1 branch clear_mem 
+04aa d8a04ad4 arg mem_usb_protocol_data ,contw 
+04ab df200041 arg 65 ,loopcnt 
+04ac 20207ca1 branch clear_mem 
+
+p_usb_tx_device_info_data:
+04ad 70090c00 jam 0 ,mem_usb_ep2_data 
+04ae 6fe0c864 fetch 1 ,mem_usb_device_info_data 
+04af 207a0000 rtn blank 
+04b0 1fe27200 copy pdata ,loopcnt 
+04b1 d8c04865 arg mem_usb_device_info_data + 1 ,contr 
+
+p_usb_tx_device_info_ep2:
+04b2 d8e00002 arg 2 ,queue 
+04b3 da200759 arg mem_usb_txbuf2 ,rega 
+04b4 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+04b5 20407bd2 call usb_tx_buf 
+04b6 704bd900 jam 0 ,mem_usb_tx_device_info_flag 
+
+p_usb_release_device_info_buf:
+04b7 d8a04864 arg mem_usb_device_info_data ,contw 
+04b8 df200041 arg 65 ,loopcnt 
+04b9 20207ca1 branch clear_mem 
 
 p_rx_dcoc:
-049d 20758000 rtn wake 
-049e 20402160 call set_sync_on 
-049f d8400027 arg 39 ,temp 
-04a0 2040216f call set_freq_rx 
-04a1 204021a6 call rf_rx_enable 
-04a2 708a257f jam 0x7f ,0x8a25 
-04a3 708a301a jam 0x1a ,0x8a30 
-04a4 708a3178 jam 0x78 ,0x8a31 
-04a5 708a8fb2 jam 0xb2 ,0x8a8f 
-04a6 708ac200 jam 0 ,0x8ac2 
-04a7 708ac300 jam 0 ,0x8ac3 
-04a8 d8e00006 arg 6 ,queue 
-04a9 204004ba call p_rx_dcoc_avg 
-04aa 2a2ffe0d isolate1 13 ,rega 
-04ab 2040211d call qset_start 
-04ac 2a4ffe0d isolate1 13 ,regb 
-04ad 2040211e call qset_p 
-04ae d8e00005 arg 5 ,queue 
+04ba 20758000 rtn wake 
+04bb 20402160 call set_sync_on 
+04bc d8400027 arg 39 ,temp 
+04bd 2040216f call set_freq_rx 
+04be 204021a6 call rf_rx_enable 
+04bf 708a257f jam 0x7f ,0x8a25 
+04c0 708a301a jam 0x1a ,0x8a30 
+04c1 708a3178 jam 0x78 ,0x8a31 
+04c2 708a8fb2 jam 0xb2 ,0x8a8f 
+04c3 708ac200 jam 0 ,0x8ac2 
+04c4 708ac300 jam 0 ,0x8ac3 
+04c5 d8e00006 arg 6 ,queue 
+04c6 204004d7 call p_rx_dcoc_avg 
+04c7 2a2ffe0d isolate1 13 ,rega 
+04c8 2040211d call qset_start 
+04c9 2a4ffe0d isolate1 13 ,regb 
+04ca 2040211e call qset_p 
+04cb d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-04af 2040211c call qset1_p 
-04b0 2040211e call qset_p 
-04b1 204004ba call p_rx_dcoc_avg 
-04b2 d8a08ac2 arg 0x8ac2 ,contw 
-04b3 1a31fe00 rshift4 rega ,pdata 
-04b4 20402117 call qsetxor 
-04b5 1a51fe00 rshift4 regb ,pdata 
-04b6 20402117 call qsetxor 
-04b7 18e08fff increase -1 ,queue 
-04b8 202104af branch p_rx_dcoc_loop2 ,positive 
-04b9 2020214f branch rx_dcoc_loop2 + 10 
+04cc 2040211c call qset1_p 
+04cd 2040211e call qset_p 
+04ce 204004d7 call p_rx_dcoc_avg 
+04cf d8a08ac2 arg 0x8ac2 ,contw 
+04d0 1a31fe00 rshift4 rega ,pdata 
+04d1 20402117 call qsetxor 
+04d2 1a51fe00 rshift4 regb ,pdata 
+04d3 20402117 call qsetxor 
+04d4 18e08fff increase -1 ,queue 
+04d5 202104cc branch p_rx_dcoc_loop2 ,positive 
+04d6 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-04ba 2000003c nop 60 
-04bb 58000f00 setarg mem_dcoc_buf 
-04bc 67f10982 store 2 ,0x8982 
-04bd 58000ff0 setarg mem_dcoc_buf_end 
-04be 67f10984 store 2 ,0x8984 
-04bf 70898109 jam 0x9 ,0x8981 
-04c0 70898103 jam 0x3 ,0x8981 
-04c1 70898006 jam 0x6 ,0x8980 
-04c2 2000003c nop 60 
-04c3 da200000 arg 0 ,rega 
-04c4 da400000 arg 0 ,regb 
-04c5 df200010 arg 16 ,loopcnt 
-04c6 d8c00f00 arg mem_dcoc_buf ,contr 
-04c7 2020212d branch rx_dcoc_loop 
+04d7 2000003c nop 60 
+04d8 58000f00 setarg mem_dcoc_buf 
+04d9 67f10982 store 2 ,0x8982 
+04da 58000ff0 setarg mem_dcoc_buf_end 
+04db 67f10984 store 2 ,0x8984 
+04dc 70898109 jam 0x9 ,0x8981 
+04dd 70898103 jam 0x3 ,0x8981 
+04de 70898006 jam 0x6 ,0x8980 
+04df 2000003c nop 60 
+04e0 da200000 arg 0 ,rega 
+04e1 da400000 arg 0 ,regb 
+04e2 df200010 arg 16 ,loopcnt 
+04e3 d8c00f00 arg mem_dcoc_buf ,contr 
+04e4 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-04c8 20758000 rtn wake 
-04c9 20202272 branch rfpll_aac_ghpc + 1 
+04e5 20758000 rtn wake 
+04e6 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-04ca 20600000 rtn 
+04e7 20600000 rtn 
 
 p_sadc_calibration:
-04cb 20758000 rtn wake 
-04cc 708a0777 jam 0x77 ,core_gpadc_ctrl 
-04cd 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-04ce 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-04cf 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-04d0 67f080cd store 1 ,core_sadc_clkdiv 
-04d1 20000bb8 nop 3000 
-04d2 204004f3 call p_sadc_read 
-04d3 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-04d4 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-04d5 df200008 arg 8 ,loopcnt 
-04d6 20406f58 call sadc_cal_read + 1 
-04d7 6fe0c419 fetch 1 ,mem_spi_write_addr 
-04d8 67e0c433 store 1 ,mem_adc_cal_c7 
-04d9 6240c419 storer regb ,1 ,mem_spi_write_addr 
-04da 20600000 rtn 
+04e8 20758000 rtn wake 
+04e9 708a0777 jam 0x77 ,core_gpadc_ctrl 
+04ea 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+04eb 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+04ec 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+04ed 67f080cd store 1 ,core_sadc_clkdiv 
+04ee 20000bb8 nop 3000 
+04ef 20400510 call p_sadc_read 
+04f0 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+04f1 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+04f2 df200008 arg 8 ,loopcnt 
+04f3 20406f58 call sadc_cal_read + 1 
+04f4 6fe0c419 fetch 1 ,mem_spi_write_addr 
+04f5 67e0c433 store 1 ,mem_adc_cal_c7 
+04f6 6240c419 storer regb ,1 ,mem_spi_write_addr 
+04f7 20600000 rtn 
 
 p_enable_adc:
-04db 204004e9 call p_sadc_cal_write 
-04dc 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-04dd 793ffe07 set0 7 ,pdata 
-04de 67f08a09 store 1 ,core_gpadc_cfg1 
-04df 708a0777 jam 0x77 ,core_gpadc_ctrl 
-04e0 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-04e1 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-04e2 20406f90 call sadc_channel 
-04e3 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-04e4 67f080cd store 1 ,core_sadc_clkdiv 
-04e5 20000bb8 nop 3000 
-04e6 204004f3 call p_sadc_read 
-04e7 7080cd00 jam 0 ,core_sadc_clkdiv 
-04e8 20206fa1 branch sadc_dma 
+04f8 20400506 call p_sadc_cal_write 
+04f9 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+04fa 793ffe07 set0 7 ,pdata 
+04fb 67f08a09 store 1 ,core_gpadc_cfg1 
+04fc 708a0777 jam 0x77 ,core_gpadc_ctrl 
+04fd 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+04fe 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+04ff 20406f90 call sadc_channel 
+0500 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+0501 67f080cd store 1 ,core_sadc_clkdiv 
+0502 20000bb8 nop 3000 
+0503 20400510 call p_sadc_read 
+0504 7080cd00 jam 0 ,core_sadc_clkdiv 
+0505 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-04e9 6ff080cc fetch 1 ,core_sadc_ctrl 
-04ea 79207e01 set1 1 ,pdata 
-04eb 67f080cc store 1 ,core_sadc_ctrl 
-04ec 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-04ed 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-04ee 67e0c419 store 1 ,mem_spi_write_addr 
-04ef df200008 arg 8 ,loopcnt 
-04f0 20406f67 call sadc_cal_write + 4 
-04f1 6240c419 storer regb ,1 ,mem_spi_write_addr 
-04f2 20600000 rtn 
+0506 6ff080cc fetch 1 ,core_sadc_ctrl 
+0507 79207e01 set1 1 ,pdata 
+0508 67f080cc store 1 ,core_sadc_ctrl 
+0509 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+050a 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+050b 67e0c419 store 1 ,mem_spi_write_addr 
+050c df200008 arg 8 ,loopcnt 
+050d 20406f67 call sadc_cal_write + 4 
+050e 6240c419 storer regb ,1 ,mem_spi_write_addr 
+050f 20600000 rtn 
 
 p_sadc_read:
-04f3 7080cc03 jam 0x03 ,core_sadc_ctrl 
+0510 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-04f4 6ff08129 fetch 1 ,core_perf_status 
-04f5 c30284f4 bbit0 saradc_done ,p_sadc_read_wait 
-04f6 68590164 fetcht 2 ,core_sadc_data 
-04f7 6049440a storet 2 ,mem_adc_current_value 
-04f8 7080cc00 jam 0x00 ,core_sadc_ctrl 
-04f9 20600000 rtn 
+0511 6ff08129 fetch 1 ,core_perf_status 
+0512 c3028511 bbit0 saradc_done ,p_sadc_read_wait 
+0513 68590164 fetcht 2 ,core_sadc_data 
+0514 6049440a storet 2 ,mem_adc_current_value 
+0515 7080cc00 jam 0x00 ,core_sadc_ctrl 
+0516 20600000 rtn 
 
 p_set_lemode:
-04fa 708a8211 jam 0x11 ,0x8a82 
-04fb 708a8d12 jam 0x12 ,0x8a8d 
-04fc 708a8e0a jam 0x0a ,0x8a8e 
-04fd 6fe0c099 fetch 1 ,mem_fcomp_div 
-04fe c0080513 beq xtal_16m ,p_set_lemode_2m_16m 
-04ff 58005762 setarg 0x5762 
-0500 67f10907 store 2 ,0x8907 
+0517 708a8211 jam 0x11 ,0x8a82 
+0518 708a8d12 jam 0x12 ,0x8a8d 
+0519 708a8e0a jam 0x0a ,0x8a8e 
+051a 6fe0c099 fetch 1 ,mem_fcomp_div 
+051b c0080530 beq xtal_16m ,p_set_lemode_2m_16m 
+051c 58005762 setarg 0x5762 
+051d 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-0501 70890103 jam 3 ,0x8901 
-0502 70893003 jam 3 ,0x8930 
-0503 c6168000 rtnmark1 mark_ble_2m 
-0504 70890101 jam 1 ,0x8901 
-0505 708a8207 jam 0x07 ,0x8a82 
-0506 708a8d44 jam 0x44 ,0x8a8d 
-0507 708a8e0a jam 0x0a ,0x8a8e 
-0508 6fe0c099 fetch 1 ,mem_fcomp_div 
-0509 c0080510 beq xtal_16m ,p_set_lemode_1m_16m 
-050a 58002bb1 setarg 0x2bb1 
-050b 67f10907 store 2 ,0x8907 
+051e 70890103 jam 3 ,0x8901 
+051f 70893003 jam 3 ,0x8930 
+0520 c6168000 rtnmark1 mark_ble_2m 
+0521 70890101 jam 1 ,0x8901 
+0522 708a8207 jam 0x07 ,0x8a82 
+0523 708a8d44 jam 0x44 ,0x8a8d 
+0524 708a8e0a jam 0x0a ,0x8a8e 
+0525 6fe0c099 fetch 1 ,mem_fcomp_div 
+0526 c008052d beq xtal_16m ,p_set_lemode_1m_16m 
+0527 58002bb1 setarg 0x2bb1 
+0528 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-050c c6978000 rtnmark0 mark_ble_lr 
-050d 70893024 jam 0x24 ,0x8930 
-050e 70890105 jam 5 ,0x8901 
-050f 20600000 rtn 
+0529 c6978000 rtnmark0 mark_ble_lr 
+052a 70893024 jam 0x24 ,0x8930 
+052b 70890105 jam 5 ,0x8901 
+052c 20600000 rtn 
 
 p_set_lemode_1m_16m:
-0510 58004189 setarg 0x4189 
-0511 67f10907 store 2 ,0x8907 
-0512 2020050c branch p_set_lemode_1m 
+052d 58004189 setarg 0x4189 
+052e 67f10907 store 2 ,0x8907 
+052f 20200529 branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-0513 58008312 setarg 0x8312 
-0514 67f10907 store 2 ,0x8907 
-0515 20200501 branch p_set_lemode_2m 
+0530 58008312 setarg 0x8312 
+0531 67f10907 store 2 ,0x8907 
+0532 2020051e branch p_set_lemode_2m 
 
 p_le_parse:
-0516 6fe0c334 fetch 1 ,mem_le_packet_llid 
-0517 c1000000 rtneq llid_reserved 
-0518 c001b04a beq llid_le_ll ,le_parse_ll 
-0519 202028e1 branch le_parse_l2cap 
+0533 6fe0c334 fetch 1 ,mem_le_packet_llid 
+0534 c1000000 rtneq llid_reserved 
+0535 c001b04a beq llid_le_ll ,le_parse_ll 
+0536 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-051a 793f8030 set0 mark_ble_crc_fail ,mark 
-051b 20202af6 branch le_init_adv + 1 
+0537 793f8030 set0 mark_ble_crc_fail ,mark 
+0538 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-051c 6fe0c9c9 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-051d c0553329 beq datatype_bind ,g24_bind_first_step 
-051e c02ab33a beq datatype_config ,g24_bind_second_step 
-051f c0110532 beq datatype_ok ,p_g24_bind_third_step 
-0520 c07f8522 beq datatype_attemp ,p_g24_data_attemp 
-0521 20600000 rtn 
+0539 6fe0ca0a fetch 1 ,mem_24g_rxdata_temp_new + 2 
+053a c0553329 beq datatype_bind ,g24_bind_first_step 
+053b c02ab33a beq datatype_config ,g24_bind_second_step 
+053c c011054f beq datatype_ok ,p_g24_bind_third_step 
+053d c07f853f beq datatype_attemp ,p_g24_data_attemp 
+053e 20600000 rtn 
 
 p_g24_data_attemp:
-0522 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0523 c0008526 beq datatype_device1 ,p_g24_data_attemp_device1 
-0524 c001052c beq datatype_device2 ,p_g24_data_attemp_device2 
-0525 20600000 rtn 
+053f 6fe0ca0b fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0540 c0008543 beq datatype_device1 ,p_g24_data_attemp_device1 
+0541 c0010549 beq datatype_device2 ,p_g24_data_attemp_device2 
+0542 20600000 rtn 
 
 p_g24_data_attemp_device1:
-0526 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-0527 247a0000 nrtn blank 
-0528 6fe249cb fetch 4 ,mem_24g_rxdata_temp_new + 4 
-0529 67e2462c store 4 ,mem_24g_transmitter_addr 
+0543 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+0544 247a0000 nrtn blank 
+0545 6fe24a0c fetch 4 ,mem_24g_rxdata_temp_new + 4 
+0546 67e2462c store 4 ,mem_24g_transmitter_addr 
 
 p_g24_store_device1_addr:
-052a 67e24630 store 4 ,mem_24g_device1_addr 
-052b 20600000 rtn 
+0547 67e24630 store 4 ,mem_24g_device1_addr 
+0548 20600000 rtn 
 
 p_g24_data_attemp_device2:
-052c 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-052d 247a0000 nrtn blank 
-052e 6fe249cb fetch 4 ,mem_24g_rxdata_temp_new + 4 
-052f 67e2462c store 4 ,mem_24g_transmitter_addr 
+0549 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+054a 247a0000 nrtn blank 
+054b 6fe24a0c fetch 4 ,mem_24g_rxdata_temp_new + 4 
+054c 67e2462c store 4 ,mem_24g_transmitter_addr 
 
 p_g24_store_device2_addr:
-0530 67e24634 store 4 ,mem_24g_device2_addr 
-0531 20600000 rtn 
+054d 67e24634 store 4 ,mem_24g_device2_addr 
+054e 20600000 rtn 
 
 p_g24_bind_third_step:
-0532 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-0533 203a0538 branch p_g24_bind_third_step_skip ,blank 
-0534 6fe249cb fetch 4 ,mem_24g_rxdata_temp_new + 4 
-0535 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-0536 98467c00 isub temp ,null 
-0537 24628000 nrtn zero 
+054f 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+0550 203a0555 branch p_g24_bind_third_step_skip ,blank 
+0551 6fe24a0c fetch 4 ,mem_24g_rxdata_temp_new + 4 
+0552 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+0553 98467c00 isub temp ,null 
+0554 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-0538 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0539 c000853c beq datatype_device1 ,p_g24_bind_third_step_device1 
-053a c0010543 beq datatype_device2 ,p_g24_bind_third_step_device2 
-053b 20600000 rtn 
+0555 6fe0ca0b fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0556 c0008559 beq datatype_device1 ,p_g24_bind_third_step_device1 
+0557 c0010560 beq datatype_device2 ,p_g24_bind_third_step_device2 
+0558 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-053c 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-053d 247a0000 nrtn blank 
-053e 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-053f c0010541 beq 2 ,p_g24_bind_dvc1_step_success 
-0540 20600000 rtn 
+0559 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+055a 247a0000 nrtn blank 
+055b 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+055c c001055e beq 2 ,p_g24_bind_dvc1_step_success 
+055d 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-0541 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-0542 2020336b branch g24_bind_dvc1_step_success + 1 
+055e 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+055f 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-0543 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-0544 247a0000 nrtn blank 
-0545 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0546 c0800548 bne 0 ,p_g24_bind_dvc2_step_success 
-0547 20600000 rtn 
+0560 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+0561 247a0000 nrtn blank 
+0562 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0563 c0800565 bne 0 ,p_g24_bind_dvc2_step_success 
+0564 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-0548 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-0549 20403393 call g24_binding_dvc2_living 
-054a 20203378 branch g24_bind_dvc2_step_success + 1 
+0565 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+0566 20403393 call g24_binding_dvc2_living 
+0567 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-054b 6fe0c616 fetch 1 ,mem_24g_work_mode 
-054c c1000000 rtneq dongle_work 
-054d 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-054e 247a0000 nrtn blank 
-054f 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-0550 247a0000 nrtn blank 
-0551 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-0552 207a0000 rtn blank 
-0553 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-0554 c1800000 rtnne 0 
-0555 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0556 c1800000 rtnne 0 
-0557 20203436 branch g24_mode_switch_bind_search + 9 
+0568 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0569 c1000000 rtneq dongle_work 
+056a 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+056b 247a0000 nrtn blank 
+056c 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+056d 247a0000 nrtn blank 
+056e 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+056f 207a0000 rtn blank 
+0570 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+0571 c1800000 rtnne 0 
+0572 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0573 c1800000 rtnne 0 
+0574 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-0558 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0559 c1808000 rtnne dongle_bind 
-055a 2040055c call p_g24_bind_init 
-055b 2020346d branch g24_bind_mode_auto + 4 
+0575 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0576 c1808000 rtnne dongle_bind 
+0577 20400579 call p_g24_bind_init 
+0578 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-055c 6fe0c615 fetch 1 ,mem_24g_mode_init 
-055d c3808000 rtnbit1 dongle_bind 
-055e 79207e01 set1 dongle_bind ,pdata 
-055f 67e0c615 store 1 ,mem_24g_mode_init 
-0560 58000000 setarg 0 
-0561 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-0562 20203307 branch g24_bind_init + 8 
+0579 6fe0c615 fetch 1 ,mem_24g_mode_init 
+057a c3808000 rtnbit1 dongle_bind 
+057b 79207e01 set1 dongle_bind ,pdata 
+057c 67e0c615 store 1 ,mem_24g_mode_init 
+057d 58000000 setarg 0 
+057e 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+057f 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-0563 20400572 call p_wdt_kick 
-0564 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-0565 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-0566 20407906 call usb_isr 
-0567 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-0568 207a0000 rtn blank 
-0569 7008f700 jam 0 ,mem_usb0_get_set_report 
-056a 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-056b d84002a4 arg pc_set_report ,temp 
-056c 98467c00 isub temp ,null 
-056d 20228240 branch p_dongle_usb_data_received_analysis ,zero 
-056e d84002a2 arg pc_set_report_prolotol ,temp 
-056f 98467c00 isub temp ,null 
-0570 24628000 nrtn zero 
-0571 20200240 branch p_dongle_usb_data_received_analysis 
+0580 2040058f call p_wdt_kick 
+0581 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+0582 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+0583 20407906 call usb_isr 
+0584 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+0585 207a0000 rtn blank 
+0586 7008f700 jam 0 ,mem_usb0_get_set_report 
+0587 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+0588 d84002a4 arg pc_set_report ,temp 
+0589 98467c00 isub temp ,null 
+058a 20228240 branch p_dongle_usb_data_received_analysis ,zero 
+058b d84002a2 arg pc_set_report_prolotol ,temp 
+058c 98467c00 isub temp ,null 
+058d 24628000 nrtn zero 
+058e 20200240 branch p_dongle_usb_data_received_analysis 
 
 p_wdt_kick:
-0572 58000010 setarg 16 
-0573 202070c8 branch wdt_init_config 
+058f 58000010 setarg 16 
+0590 202070c8 branch wdt_init_config 
 
 p_dongle_default_init:
-0574 204047c3 call dongle_default_init + 1 
-0575 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-0576 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-0577 7045ca01 jam on ,mem_24g_disable_fec1 
-0578 20403281 call g24_enable_1m 
-0579 6fe0c669 fetch 1 ,mem_dg_sys_config 
-057a c4000000 rtnbit0 dg_enable_new_revision 
-057b 7045ca01 jam on ,mem_24g_disable_fec1 
-057c 20203284 branch g24_enable_2m 
+0591 204047c3 call dongle_default_init + 1 
+0592 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+0593 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+0594 7045ca01 jam on ,mem_24g_disable_fec1 
+0595 20403281 call g24_enable_1m 
+0596 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0597 c4000000 rtnbit0 dg_enable_new_revision 
+0598 7045ca01 jam on ,mem_24g_disable_fec1 
+0599 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_fec1:
-057d 7858fc00 disable user7 
-057e 280ffe2f isolate1 mark_ble_lr ,mark 
-057f 2040b16f call g24_lr_receive_pdu_len ,true 
-0580 2038b18a branch g24_lr_len_error ,user7 
-0581 2040317d call g24_receive_byte 
-0582 67e0c4f7 store 1 ,mem_24g_rxbuf 
-0583 c5138588 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
-0584 6fe0c4f7 fetch 1 ,mem_24g_rxbuf 
-0585 6848c589 fetcht 1 ,mem_24g_data_type 
-0586 a8400e00 icompare bits_data ,temp 
-0587 2420b18c nbranch g24_type_error ,true 
+059a 7858fc00 disable user7 
+059b 280ffe2f isolate1 mark_ble_lr ,mark 
+059c 2040b16f call g24_lr_receive_pdu_len ,true 
+059d 2038b18a branch g24_lr_len_error ,user7 
+059e 2040317d call g24_receive_byte 
+059f 67e0c4f7 store 1 ,mem_24g_rxbuf 
+05a0 c51385a5 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
+05a1 6fe0c4f7 fetch 1 ,mem_24g_rxbuf 
+05a2 6848c589 fetcht 1 ,mem_24g_data_type 
+05a3 a8400e00 icompare bits_data ,temp 
+05a4 2420b18c nbranch g24_type_error ,true 
 
 p_g24_receive_skip:
-0588 2040317d call g24_receive_byte 
-0589 280ffe2f isolate1 mark_ble_lr ,mark 
-058a 2040b178 call g24_lr_receive_payload_len ,true 
-058b e7e08005 istore 1 ,contw 
-058c 1fe90400 rshift3 pdata ,temp 
-058d 2feffe00 isolate1 0 ,pdata 
-058e 20408595 call p_g24_receive_payload_len_ext ,true 
-058f 18427e00 copy temp ,pdata 
-0590 1fe67c3f sub pdata ,0x3f ,null 
-0591 2421318e nbranch g24_len_over_error ,positive 
-0592 1fe27200 copy pdata ,loopcnt 
-0593 2022b154 branch g24rx_nopayload ,zero 
-0594 20203151 branch g24rx_loop 
+05a5 2040317d call g24_receive_byte 
+05a6 280ffe2f isolate1 mark_ble_lr ,mark 
+05a7 2040b178 call g24_lr_receive_payload_len ,true 
+05a8 e7e08005 istore 1 ,contw 
+05a9 1fe90400 rshift3 pdata ,temp 
+05aa 2feffe00 isolate1 0 ,pdata 
+05ab 204085b2 call p_g24_receive_payload_len_ext ,true 
+05ac 18427e00 copy temp ,pdata 
+05ad 1fe67c3f sub pdata ,0x3f ,null 
+05ae 2421318e nbranch g24_len_over_error ,positive 
+05af 1fe27200 copy pdata ,loopcnt 
+05b0 2022b154 branch g24rx_nopayload ,zero 
+05b1 20203151 branch g24rx_loop 
 
 p_g24_receive_payload_len_ext:
-0595 79200405 set1 5 ,temp 
-0596 20600000 rtn 
+05b2 79200405 set1 5 ,temp 
+05b3 20600000 rtn 
 
 p_g24_receive_skip_end:
-0597 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0598 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-0599 7837fc00 enable user3 
-059a 20000018 nop 24 
-059b 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-059c 79207e00 set1 bit_ack_24g ,pdata 
-059d 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-059e 204033a5 call g24_ackpayload_prep 
-059f 204031e5 call g24_transmit_prep 
-05a0 20203195 branch g24_transmit 
+05b4 6fe0c669 fetch 1 ,mem_dg_sys_config 
+05b5 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+05b6 7837fc00 enable user3 
+05b7 20000018 nop 24 
+05b8 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+05b9 79207e00 set1 bit_ack_24g ,pdata 
+05ba 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+05bb 204033a5 call g24_ackpayload_prep 
+05bc 204031e5 call g24_transmit_prep 
+05bd 20203195 branch g24_transmit 
 
 p_g24_read_len_pid_crc:
-05a1 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-05a2 1fe90400 rshift3 pdata ,temp 
-05a3 2feffe00 isolate1 0 ,pdata 
-05a4 20408595 call p_g24_receive_payload_len_ext ,true 
-05a5 18427e00 copy temp ,pdata 
-05a6 67e0c57d store 1 ,mem_24g_rxdata_length 
-05a7 1fe0fe01 increase 1 ,pdata 
-05a8 d8c044f8 arg mem_24g_rxbuf + 1 ,contr 
-05a9 98c08c00 iadd contr ,contr 
-05aa efe18006 ifetch 3 ,contr 
-05ab 67e1c580 store 3 ,mem_24g_sta_crc 
-05ac 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-05ad 1fe37e00 rshift pdata ,pdata 
-05ae 1fe17e03 and pdata ,0x03 ,pdata 
-05af 67e0c586 store 1 ,mem_24g_sta_pid 
-05b0 20600000 rtn 
+05be 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+05bf 1fe90400 rshift3 pdata ,temp 
+05c0 2feffe00 isolate1 0 ,pdata 
+05c1 204085b2 call p_g24_receive_payload_len_ext ,true 
+05c2 18427e00 copy temp ,pdata 
+05c3 67e0c57d store 1 ,mem_24g_rxdata_length 
+05c4 1fe0fe01 increase 1 ,pdata 
+05c5 d8c044f8 arg mem_24g_rxbuf + 1 ,contr 
+05c6 98c08c00 iadd contr ,contr 
+05c7 efe18006 ifetch 3 ,contr 
+05c8 67e1c580 store 3 ,mem_24g_sta_crc 
+05c9 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+05ca 1fe37e00 rshift pdata ,pdata 
+05cb 1fe17e03 and pdata ,0x03 ,pdata 
+05cc 67e0c586 store 1 ,mem_24g_sta_pid 
+05cd 20600000 rtn 
 
 p_g24_bind_data_process:
-05b1 204033be call g24_rx_interrupt_clear 
-05b2 20403119 call g24_receive_packet 
-05b3 2437b3be nbranch g24_rx_interrupt_clear ,user3 
-05b4 204005b8 call p_g24_bind_data_parse 
-05b5 20400039 call p_g24_transmit_ack 
-05b6 204005ce call p_g24_bind_device_status_check 
-05b7 20203316 branch g24_bind_data_process + 7 
+05ce 204033be call g24_rx_interrupt_clear 
+05cf 20403119 call g24_receive_packet 
+05d0 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+05d1 204005d5 call p_g24_bind_data_parse 
+05d2 20400039 call p_g24_transmit_ack 
+05d3 204005eb call p_g24_bind_device_status_check 
+05d4 20203316 branch g24_bind_data_process + 7 
 
 p_g24_bind_data_parse:
-05b8 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
-05b9 d8c044f7 arg mem_24g_rxbuf ,contr 
-05ba d8a049c7 arg mem_24g_rxdata_temp_new ,contw 
-05bb 20407c89 call memcpy8 
-05bc 6fe0c9c9 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-05bd c05505c2 beq datatype_bind ,p_g24_bind_first_step 
-05be c02a85c4 beq datatype_config ,p_g24_bind_second_step 
-05bf c0110532 beq datatype_ok ,p_g24_bind_third_step 
-05c0 c07f8522 beq datatype_attemp ,p_g24_data_attemp 
-05c1 20600000 rtn 
+05d5 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
+05d6 d8c044f7 arg mem_24g_rxbuf ,contr 
+05d7 d8a04a08 arg mem_24g_rxdata_temp_new ,contw 
+05d8 20407c89 call memcpy8 
+05d9 6fe0ca0a fetch 1 ,mem_24g_rxdata_temp_new + 2 
+05da c05505df beq datatype_bind ,p_g24_bind_first_step 
+05db c02a85e1 beq datatype_config ,p_g24_bind_second_step 
+05dc c011054f beq datatype_ok ,p_g24_bind_third_step 
+05dd c07f853f beq datatype_attemp ,p_g24_data_attemp 
+05de 20600000 rtn 
 
 p_g24_bind_first_step:
-05c2 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
-05c3 2020332a branch g24_bind_first_step + 1 
+05df 6fe0ca0b fetch 1 ,mem_24g_rxdata_temp_new + 3 
+05e0 2020332a branch g24_bind_first_step + 1 
 
 p_g24_bind_second_step:
-05c4 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-05c5 203a05ca branch p_g24_bind_second_step_skip ,blank 
-05c6 6fe249cb fetch 4 ,mem_24g_rxdata_temp_new + 4 
-05c7 684a44f1 fetcht 4 ,mem_24g_lap 
-05c8 98467c00 isub temp ,null 
-05c9 24628000 nrtn zero 
+05e1 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+05e2 203a05e7 branch p_g24_bind_second_step_skip ,blank 
+05e3 6fe24a0c fetch 4 ,mem_24g_rxdata_temp_new + 4 
+05e4 684a44f1 fetcht 4 ,mem_24g_lap 
+05e5 98467c00 isub temp ,null 
+05e6 24628000 nrtn zero 
 
 p_g24_bind_second_step_skip:
-05ca 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
-05cb c000b344 beq datatype_device1 ,g24_bind_second_step_device1 
-05cc c0013351 beq datatype_device2 ,g24_bind_second_step_device2 
-05cd 20600000 rtn 
+05e7 6fe0ca0b fetch 1 ,mem_24g_rxdata_temp_new + 3 
+05e8 c000b344 beq datatype_device1 ,g24_bind_second_step_device1 
+05e9 c0013351 beq datatype_device2 ,g24_bind_second_step_device2 
+05ea 20600000 rtn 
 
 p_g24_bind_device_status_check:
-05ce 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
-05cf 207a0000 rtn blank 
+05eb 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
+05ec 207a0000 rtn blank 
 
 p_g24_bind_device_status:
-05d0 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
-05d1 c000b38d beq datatype_device1 ,g24_binding_dvc1_living 
-05d2 c0013393 beq datatype_device2 ,g24_binding_dvc2_living 
-05d3 20600000 rtn 
+05ed 6fe0ca0b fetch 1 ,mem_24g_rxdata_temp_new + 3 
+05ee c000b38d beq datatype_device1 ,g24_binding_dvc1_living 
+05ef c0013393 beq datatype_device2 ,g24_binding_dvc2_living 
+05f0 20600000 rtn 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/program/patch.prog	(revision 3874)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/program/patch.prog	(working copy)
@@ -649,15 +649,18 @@
 	storet 1,mem_dongle_usb_len
 	branch p_dongle_usb_hci_cmd_control
 p_dongle_usb_hci_cmd_control:
-	fetch 1,mem_24g_bind_device_living
-	branch p_dongle_hci_event_invalid_packet,blank
 	fetch 1,mem_dongle_usb_opcode
 	beq HCI_CMD_GET_DEVICE_INFO,p_dongle_usb_hci_cmd_get_deivce_info
-	beq HCI_CMD_AUTH_ENABLE,p_dongle_usb_hci_cmd_get_deivce_info
-	beq HCI_CMD_VOICE_CONTRAL,p_dongle_usb_hci_cmd_get_deivce_info
-	beq HCI_CMD_DPI_CONTRAL,p_dongle_usb_hci_cmd_get_deivce_info
+	beq HCI_CMD_AUTH_ENABLE,p_dongle_usb_hci_cmd_to_mouse
+	beq HCI_CMD_VOICE_CONTRAL,p_dongle_usb_hci_cmd_to_mouse
+	beq HCI_CMD_DPI_CONTRAL,p_dongle_usb_hci_cmd_to_mouse
 	branch p_dongle_hci_event_invalid_packet
+
 p_dongle_usb_hci_cmd_get_deivce_info:
+	jam 1,mem_usb_tx_device_info_flag
+	rtn
+	
+p_dongle_usb_hci_cmd_to_mouse:
 	jam REPORT_ID_DATA_OUT,mem_dongle_usb_ep2_data_flag
 	branch p_dongle_usb_ack_prep
 
@@ -908,6 +911,16 @@
 	store 1,mem_setreport_count
 	rtn
 
+p_usb_tx_ep2_device_info_check:
+	fetch 1,mem_usb_tx_device_info_flag
+	rtn blank
+	fetch 1,mem_24g_bind_device_living
+	rtn blank
+	fetch 1,mem_usb_device_info_data
+	rtn blank
+	jam USB_EP2_DEVICE_INFO,mem_usb_ep2_data
+	branch p_dongle_usb_tx_enable_ep2
+
 p_usb_tx_ep2_queue_buff_check:
 	arg mem_usb_ep2_fifo,rega
 	call fifo_is_empty
@@ -915,6 +928,7 @@
 	branch dongle_usb_tx_enable_ep2
 
 p_usb_tx:
+	call p_usb_tx_ep2_device_info_check
 	call p_usb_tx_ep2_queue_buff_check
 	fetch 1,mem_usb_tx_enable
 	rtn blank
@@ -1065,6 +1079,9 @@
 	rtn
 
 p_g24_data_receive_protocol_data:
+	fetch 1,mem_24g_rxdata_length
+	sub pdata,0x0f,null
+	branch p_dongle_receive_device_info,zero
 	fetchr loopcnt,1,mem_24g_rxdata_length
 	increase -1,loopcnt
 	arg mem_usb_protocol_data+2,contw
@@ -1153,6 +1170,13 @@
 	jam USB_EP2_PROTOCOL,mem_usb_ep2_data
 	branch p_dongle_usb_tx_enable_ep2
 
+p_dongle_receive_device_info:
+	jam 0x40,mem_usb_device_info_data
+	jam REPORT_ID_DATA_IN,mem_usb_device_info_data+1
+	arg 14,loopcnt
+	arg mem_24g_rxdata_temp_new+3,contr
+	arg mem_usb_device_info_data+2,contw
+	branch memcpy
 
 p_dongle_usb_tx_audio_data:	// all length 1B + IN_DATA_ID 1B + payload length 1B + payload N*B
 	setarg 0x40
@@ -1472,6 +1496,7 @@
 	beq USB_EP2_SYSTEMKEY,usb_tx_kb_systemkey_data
 	beq USB_EP2_AUDIO,p_usb_tx_audio_data
 	beq USB_EP2_PROTOCOL,p_usb_tx_protocol_data
+	beq USB_EP2_DEVICE_INFO,p_usb_tx_device_info_data
 	beq USB_EP2_MSKB_STATE,p_usb_tx_rf_state_data
 	branch assert
 p_usb_tx_rf_state_data:
@@ -1494,8 +1519,6 @@
 	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
@@ -1512,8 +1535,6 @@
 	arg mem_usb_txbuf2,rega
 	storer rega,2,core_usb_tx_saddr2
 	call usb_tx_buf
-	branch p_usb_release_audio_buf
-
 p_usb_release_audio_buf:
 	arg mem_usb_audio_data,contw
 	arg 64,loopcnt
@@ -1530,13 +1551,28 @@
 	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
 	arg 65,loopcnt
 	branch clear_mem
 
+p_usb_tx_device_info_data:
+	jam 0,mem_usb_ep2_data
+	fetch 1,mem_usb_device_info_data
+	rtn blank
+	copy pdata,loopcnt
+	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
+	jam 0,mem_usb_tx_device_info_flag
+p_usb_release_device_info_buf:
+	arg mem_usb_device_info_data,contw
+	arg 65,loopcnt
+	branch clear_mem
+
 p_rx_dcoc:
 	rtn wake
 	call set_sync_on
