Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/usb_pc_public/format/app_dongle.format	(revision 4627)
+++ /1121s/branch/dongle/1m/usb_pc/usb_pc_public/format/app_dongle.format	(working copy)
@@ -33,7 +33,7 @@
 1 mem_setreport_count
 
 //usb config
-//200 mem_hidreportdesc_Interface0_kb
+70 mem_hidreportdesc_Interface0_kb
 //200 mem_hidreportdesc_Interface1_ms
 120 mem_hidreportdesc_Interface2_pc
 100 mem_confdesc_all
Index: output/eeprom.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/usb_pc_public/output/eeprom.dat	(revision 4629)
+++ /1121s/branch/dongle/1m/usb_pc/usb_pc_public/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-56
+5a
 0a
 c2
 84
@@ -47,7 +47,7 @@
 c0
 1b
 82
-82
+83
 c0
 1c
 00
@@ -59,7 +59,7 @@
 c0
 1e
 82
-7f
+80
 c0
 62
 80
@@ -75,11 +75,11 @@
 c0
 7e
 82
-37
+38
 c0
 7f
 02
-22
+23
 c0
 7f
 80
@@ -103,23 +103,23 @@
 c0
 37
 82
-8b
+8c
 c0
 41
 02
-47
+48
 c0
 44
 02
-67
+68
 c0
 45
 02
-74
+75
 c0
 45
 82
-3b
+3c
 c1
 7f
 80
@@ -2055,11 +2055,11 @@
 58
 00
 47
-0f
+55
 68
 48
 c7
-0f
+55
 20
 20
 7a
@@ -2091,11 +2091,11 @@
 6a
 40
 c7
-22
+68
 da
 20
 47
-22
+68
 20
 20
 7b
@@ -2103,11 +2103,11 @@
 6a
 40
 c7
-3b
+81
 da
 20
 47
-3b
+81
 20
 20
 7b
@@ -2115,11 +2115,11 @@
 6a
 40
 c7
-54
+9a
 da
 20
 47
-54
+9a
 20
 20
 7b
@@ -2135,23 +2135,27 @@
 c0
 00
 82
-19
+1a
 c0
 01
 02
-1b
+1c
 20
 20
 79
 e4
 6a
-21
-07
-a7
+40
+c6
+97
+58
+00
+46
+97
 20
 20
-7b
-89
+02
+20
 6a
 21
 07
@@ -2171,11 +2175,11 @@
 6a
 40
 c6
-97
+dd
 58
 00
 46
-97
+dd
 1f
 e0
 fe
@@ -2199,11 +2203,11 @@
 58
 00
 49
-14
+5a
 d8
 a0
 48
-10
+56
 98
 a6
 72
@@ -2251,7 +2255,7 @@
 58
 00
 47
-73
+b9
 67
 f1
 0c
@@ -2263,7 +2267,7 @@
 58
 00
 48
-0f
+55
 67
 f1
 0c
@@ -2283,7 +2287,7 @@
 20
 40
 82
-24
+25
 20
 20
 79
@@ -2351,7 +2355,7 @@
 c0
 11
 02
-4d
+4e
 c0
 7f
 b5
@@ -2367,7 +2371,7 @@
 20
 3a
 02
-53
+54
 6f
 e2
 45
@@ -2391,11 +2395,11 @@
 c0
 00
 82
-57
+58
 c0
 01
 02
-5f
+60
 20
 60
 00
@@ -2415,7 +2419,7 @@
 c0
 01
 02
-5c
+5d
 20
 60
 00
@@ -2447,7 +2451,7 @@
 c0
 80
 02
-64
+65
 20
 60
 00
@@ -2527,7 +2531,7 @@
 20
 40
 02
-78
+79
 20
 20
 34
@@ -2648,8 +2652,8 @@
 20
 31
 95
-f8
-e5
+66
+d7
 aa
 55
 40
@@ -2824,7 +2828,7 @@
 55
 55
 00
-0f
+55
 47
 54
 09
@@ -2902,7 +2906,7 @@
 00
 01
 22
-62
+63
 00
 07
 05
@@ -2913,11 +2917,81 @@
 01
 aa
 55
-63
+40
 00
 97
 46
-62
+3f
+05
+01
+09
+06
+a1
+01
+75
+01
+95
+08
+05
+07
+19
+e0
+29
+e7
+15
+00
+25
+01
+81
+02
+95
+01
+75
+08
+81
+03
+95
+05
+75
+01
+05
+08
+19
+01
+29
+05
+91
+02
+95
+01
+75
+03
+91
+03
+95
+06
+75
+08
+15
+00
+25
+03
+05
+07
+19
+00
+29
+ff
+81
+00
+c0
+aa
+55
+64
+00
+dd
+46
+63
 06
 a0
 ff
@@ -2954,8 +3028,9 @@
 3f
 75
 08
-25
+26
 ff
+00
 15
 00
 09
@@ -3013,7 +3088,7 @@
 00
 09
 01
-91
+b1
 02
 c0
 aa
@@ -3208,85 +3283,10 @@
 aa
 aa
 55
-a6
-75
+62
+86
 a9
-8b
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+6f
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-b2
-0c
+32
+46
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/usb_pc_public/output/memmap.format	(revision 4627)
+++ /1121s/branch/dongle/1m/usb_pc/usb_pc_public/output/memmap.format	(working copy)
@@ -1483,20 +1483,21 @@
 0x4694 mem_dg_24g_tx_power_default
 0x4695 mem_24g_pair_tx_power_init
 0x4696 mem_setreport_count
-0x4697 mem_hidreportdesc_Interface2_pc
-0x470f mem_confdesc_all
-0x4773 mem_usb_rxbuf_new//at least 78B * 2
-0x480f mem_usb_rxbuf_new_end//must be even address
-0x4810 mem_usb_clear_mem0_start
-0x4810 mem_usb_txbuf3
-0x4850 mem_usb_rxbuf_temp
-0x4890 mem_usb_ep3_out_data_len
-0x4891 mem_usb_ep3_in_data_len
-0x4892 mem_usb_ep3_out_data_flag
-0x4893 mem_usb_ep3_in_data
-0x48d3 mem_usb_ep3_out_data
-0x4913 mem_usb_rxptr_add
-0x4914 mem_usb_clear_mem0_end
+0x4697 mem_hidreportdesc_Interface0_kb
+0x46dd mem_hidreportdesc_Interface2_pc
+0x4755 mem_confdesc_all
+0x47b9 mem_usb_rxbuf_new//at least 78B * 2
+0x4855 mem_usb_rxbuf_new_end//must be even address
+0x4856 mem_usb_clear_mem0_start
+0x4856 mem_usb_txbuf3
+0x4896 mem_usb_rxbuf_temp
+0x48d6 mem_usb_ep3_out_data_len
+0x48d7 mem_usb_ep3_in_data_len
+0x48d8 mem_usb_ep3_out_data_flag
+0x48d9 mem_usb_ep3_in_data
+0x4919 mem_usb_ep3_out_data
+0x4959 mem_usb_rxptr_add
+0x495a mem_usb_clear_mem0_end
 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_pc/usb_pc_public/output/otp.dat	(revision 4629)
+++ /1121s/branch/dongle/1m/usb_pc/usb_pc_public/output/otp.dat	(working copy)
@@ -11,7 +11,7 @@
 00
 aa
 55
-56
+5a
 0a
 c2
 84
@@ -56,7 +56,7 @@
 c0
 1b
 82
-82
+83
 c0
 1c
 00
@@ -68,7 +68,7 @@
 c0
 1e
 82
-7f
+80
 c0
 62
 80
@@ -84,11 +84,11 @@
 c0
 7e
 82
-37
+38
 c0
 7f
 02
-22
+23
 c0
 7f
 80
@@ -112,23 +112,23 @@
 c0
 37
 82
-8b
+8c
 c0
 41
 02
-47
+48
 c0
 44
 02
-67
+68
 c0
 45
 02
-74
+75
 c0
 45
 82
-3b
+3c
 c1
 7f
 80
@@ -2064,11 +2064,11 @@
 58
 00
 47
-0f
+55
 68
 48
 c7
-0f
+55
 20
 20
 7a
@@ -2100,11 +2100,11 @@
 6a
 40
 c7
-22
+68
 da
 20
 47
-22
+68
 20
 20
 7b
@@ -2112,11 +2112,11 @@
 6a
 40
 c7
-3b
+81
 da
 20
 47
-3b
+81
 20
 20
 7b
@@ -2124,11 +2124,11 @@
 6a
 40
 c7
-54
+9a
 da
 20
 47
-54
+9a
 20
 20
 7b
@@ -2144,23 +2144,27 @@
 c0
 00
 82
-19
+1a
 c0
 01
 02
-1b
+1c
 20
 20
 79
 e4
 6a
-21
-07
-a7
+40
+c6
+97
+58
+00
+46
+97
 20
 20
-7b
-89
+02
+20
 6a
 21
 07
@@ -2180,11 +2184,11 @@
 6a
 40
 c6
-97
+dd
 58
 00
 46
-97
+dd
 1f
 e0
 fe
@@ -2208,11 +2212,11 @@
 58
 00
 49
-14
+5a
 d8
 a0
 48
-10
+56
 98
 a6
 72
@@ -2260,7 +2264,7 @@
 58
 00
 47
-73
+b9
 67
 f1
 0c
@@ -2272,7 +2276,7 @@
 58
 00
 48
-0f
+55
 67
 f1
 0c
@@ -2292,7 +2296,7 @@
 20
 40
 82
-24
+25
 20
 20
 79
@@ -2360,7 +2364,7 @@
 c0
 11
 02
-4d
+4e
 c0
 7f
 b5
@@ -2376,7 +2380,7 @@
 20
 3a
 02
-53
+54
 6f
 e2
 45
@@ -2400,11 +2404,11 @@
 c0
 00
 82
-57
+58
 c0
 01
 02
-5f
+60
 20
 60
 00
@@ -2424,7 +2428,7 @@
 c0
 01
 02
-5c
+5d
 20
 60
 00
@@ -2456,7 +2460,7 @@
 c0
 80
 02
-64
+65
 20
 60
 00
@@ -2536,7 +2540,7 @@
 20
 40
 02
-78
+79
 20
 20
 34
@@ -2657,8 +2661,8 @@
 20
 31
 95
-f8
-e5
+66
+d7
 aa
 55
 40
@@ -2833,7 +2837,7 @@
 55
 55
 00
-0f
+55
 47
 54
 09
@@ -2911,7 +2915,7 @@
 00
 01
 22
-62
+63
 00
 07
 05
@@ -2922,11 +2926,81 @@
 01
 aa
 55
-63
+40
 00
 97
 46
-62
+3f
+05
+01
+09
+06
+a1
+01
+75
+01
+95
+08
+05
+07
+19
+e0
+29
+e7
+15
+00
+25
+01
+81
+02
+95
+01
+75
+08
+81
+03
+95
+05
+75
+01
+05
+08
+19
+01
+29
+05
+91
+02
+95
+01
+75
+03
+91
+03
+95
+06
+75
+08
+15
+00
+25
+03
+05
+07
+19
+00
+29
+ff
+81
+00
+c0
+aa
+55
+64
+00
+dd
+46
+63
 06
 a0
 ff
@@ -2963,8 +3037,9 @@
 3f
 75
 08
-25
+26
 ff
+00
 15
 00
 09
@@ -3022,7 +3097,7 @@
 00
 09
 01
-91
+b1
 02
 c0
 aa
@@ -3217,8 +3292,8 @@
 aa
 aa
 55
-a6
-75
+62
+86
 a9
-8b
+6f
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/usb_pc_public/output/program.lis	(revision 4629)
+++ /1121s/branch/dongle/1m/usb_pc/usb_pc_public/output/program.lis	(working copy)
@@ -10,15 +10,15 @@
 0007 c00c808c beq patch03_1 ,p_set_tx_power 
 0008 c00d0048 beq patch03_2 ,p_initialize_radio_cont 
 0009 c00e0037 beq patch03_4 ,p_aac_ghpc 
-000a c01b8282 beq patch06_7 ,p_dongle_default_init 
+000a c01b8283 beq patch06_7 ,p_dongle_default_init 
 000b c01c00a5 beq patch07_0 ,p_dongle_read_kb_bind_status 
 000c c01c80a1 beq patch07_1 ,p_dongle_write_kb_bind_status 
-000d c01e827f beq patch07_5 ,p_dongle_usb_dispatch 
+000d c01e8280 beq patch07_5 ,p_dongle_usb_dispatch 
 000e c062809e beq patch18_5 ,p_otp_read_data 
 000f c06d01ae beq patch1b_2 ,p_sadc_calibration 
 0010 c06e01be beq patch1b_4 ,p_enable_adc 
-0011 c07e8237 beq patch1f_5 ,p_usb_isr 
-0012 c07f0222 beq patch1f_6 ,p_usb_init 
+0011 c07e8238 beq patch1f_5 ,p_usb_isr 
+0012 c07f0223 beq patch1f_6 ,p_usb_init 
 0013 c07f80ea beq patch1f_7 ,p_usb_rx 
 0014 2020235a branch assert 
 
@@ -26,11 +26,11 @@
 0015 c0000105 beq patch20_0 ,p_usb_class_type 
 0016 c00101f9 beq patch20_2 ,p_usb0_request_get_descriptor 
 0017 c003016a beq patch20_6 ,p_usb_tx 
-0018 c037828b beq patch2d_7 ,p_g24_receive_skip_end 
-0019 c0410247 beq patch30_2 ,p_g24_bind_data_parse_next 
-001a c0440267 beq patch31_0 ,p_g24_mode_switch_bind_search 
-001b c0450274 beq patch31_2 ,p_g24_bind_mode_auto 
-001c c045823b beq patch31_3 ,p_g24_search_mode_auto 
+0018 c037828c beq patch2d_7 ,p_g24_receive_skip_end 
+0019 c0410248 beq patch30_2 ,p_g24_bind_data_parse_next 
+001a c0440268 beq patch31_0 ,p_g24_mode_switch_bind_search 
+001b c0450275 beq patch31_2 ,p_g24_bind_mode_auto 
+001c c045823c beq patch31_3 ,p_g24_search_mode_auto 
 001d c17f8000 rtneq patch3f_7 
 001e 2020235a branch assert 
 
@@ -638,8 +638,8 @@
 01ff 202079e4 branch usb0_force_stall 
 
 p_dsc_config_info:
-0200 5800470f setarg mem_confdesc_all 
-0201 6848c70f fetcht 1 ,mem_confdesc_all 
+0200 58004755 setarg mem_confdesc_all 
+0201 6848c755 fetcht 1 ,mem_confdesc_all 
 0202 20207a18 branch dsc_info_set_data_len 
 
 p_dsc_hid_info:
@@ -651,194 +651,197 @@
 0208 202079e4 branch usb0_force_stall 
 
 p_dsc_hid_info_interface0:
-0209 6a40c722 fetchr regb ,1 ,mem_confdesc_all + 19 
-020a da204722 arg mem_confdesc_all + 19 ,rega 
+0209 6a40c768 fetchr regb ,1 ,mem_confdesc_all + 19 
+020a da204768 arg mem_confdesc_all + 19 ,rega 
 020b 20207b8b branch usb0_respond 
 
 p_dsc_hid_info_interface1:
-020c 6a40c73b fetchr regb ,1 ,mem_confdesc_all + 44 
-020d da20473b arg mem_confdesc_all + 44 ,rega 
+020c 6a40c781 fetchr regb ,1 ,mem_confdesc_all + 44 
+020d da204781 arg mem_confdesc_all + 44 ,rega 
 020e 20207b8b branch usb0_respond 
 
 p_dsc_hid_info_interface2:
-020f 6a40c754 fetchr regb ,1 ,mem_confdesc_all + 69 
-0210 da204754 arg mem_confdesc_all + 69 ,rega 
+020f 6a40c79a fetchr regb ,1 ,mem_confdesc_all + 69 
+0210 da20479a arg mem_confdesc_all + 69 ,rega 
 0211 20207b8b branch usb0_respond 
 
 p_dsc_hid_report_info:
 0212 6fe10871 fetch 2 ,mem_usb_setup_windex 
 0213 c0000217 beq 0 ,p_dsc_hid_report_info0 
-0214 c0008219 beq 1 ,p_dsc_hid_report_info1 
-0215 c001021b beq 2 ,p_dsc_hid_report_info2 
+0214 c000821a beq 1 ,p_dsc_hid_report_info1 
+0215 c001021c beq 2 ,p_dsc_hid_report_info2 
 0216 202079e4 branch usb0_force_stall 
 
 p_dsc_hid_report_info0:
-0217 6a2107a7 fetchr rega ,2 ,mem_hidreportdesc_kb 
-0218 20207b89 branch usb0_respond_length 
+0217 6a40c697 fetchr regb ,1 ,mem_hidreportdesc_interface0_kb 
+0218 58004697 setarg mem_hidreportdesc_interface0_kb 
+0219 20200220 branch p_usb0_respond_set 
 
 p_dsc_hid_report_info1:
-0219 6a2107a9 fetchr rega ,2 ,mem_hidreportdesc_m 
-021a 20207b89 branch usb0_respond_length 
+021a 6a2107a9 fetchr rega ,2 ,mem_hidreportdesc_m 
+021b 20207b89 branch usb0_respond_length 
 
 p_dsc_hid_report_info2:
-021b 70090e01 jam 1 ,mem_usb_device_enumeration_endflag 
-021c 70090001 jam usb_got_report_req ,mem_usb_state 
-021d 6a40c697 fetchr regb ,1 ,mem_hidreportdesc_interface2_pc 
-021e 58004697 setarg mem_hidreportdesc_interface2_pc 
-021f 1fe0fe01 increase 1 ,pdata 
-0220 1fe22200 copy pdata ,rega 
-0221 20207b8b branch usb0_respond 
+021c 70090e01 jam 1 ,mem_usb_device_enumeration_endflag 
+021d 70090001 jam usb_got_report_req ,mem_usb_state 
+021e 6a40c6dd fetchr regb ,1 ,mem_hidreportdesc_interface2_pc 
+021f 580046dd setarg mem_hidreportdesc_interface2_pc 
+
+p_usb0_respond_set:
+0220 1fe0fe01 increase 1 ,pdata 
+0221 1fe22200 copy pdata ,rega 
+0222 20207b8b branch usb0_respond 
 
 p_usb_init:
-0222 20407396 call enable_authrom 
-0223 20407932 call usb_init_param 
+0223 20407396 call enable_authrom 
+0224 20407932 call usb_init_param 
 
 p_usb_init_restart:
-0224 58004914 setarg mem_usb_clear_mem0_end 
-0225 d8a04810 arg mem_usb_clear_mem0_start ,contw 
-0226 98a67200 isub contw ,loopcnt 
-0227 20407ca1 call clear_mem 
-0228 708c0000 jam 0x00 ,core_usb_config 
-0229 20002710 nop 10000 
-022a 708c1200 jam 0x0 ,core_usb_hmode 
-022b 6ff10050 fetch 2 ,core_clkoff 
-022c 793ffe0a set0 clock_off_usb ,pdata 
-022d 67f10050 store 2 ,core_clkoff 
-022e 708c1021 jam 0x21 ,core_usb_epmap 
-022f 708c119d jam 0x9d ,core_usb_pupd 
-0230 708c003c jam 0x3c ,core_usb_config 
-0231 58004773 setarg mem_usb_rxbuf_new 
-0232 67f10c02 store 2 ,core_usb_rx_saddr 
-0233 67f10c06 store 2 ,core_usb_rxptr 
-0234 5800480f setarg mem_usb_rxbuf_new_end 
-0235 67f10c04 store 2 ,core_usb_rx_eaddr 
-0236 20207923 branch usb_init_next 
+0225 5800495a setarg mem_usb_clear_mem0_end 
+0226 d8a04856 arg mem_usb_clear_mem0_start ,contw 
+0227 98a67200 isub contw ,loopcnt 
+0228 20407ca1 call clear_mem 
+0229 708c0000 jam 0x00 ,core_usb_config 
+022a 20002710 nop 10000 
+022b 708c1200 jam 0x0 ,core_usb_hmode 
+022c 6ff10050 fetch 2 ,core_clkoff 
+022d 793ffe0a set0 clock_off_usb ,pdata 
+022e 67f10050 store 2 ,core_clkoff 
+022f 708c1021 jam 0x21 ,core_usb_epmap 
+0230 708c119d jam 0x9d ,core_usb_pupd 
+0231 708c003c jam 0x3c ,core_usb_config 
+0232 580047b9 setarg mem_usb_rxbuf_new 
+0233 67f10c02 store 2 ,core_usb_rx_saddr 
+0234 67f10c06 store 2 ,core_usb_rxptr 
+0235 58004855 setarg mem_usb_rxbuf_new_end 
+0236 67f10c04 store 2 ,core_usb_rx_eaddr 
+0237 20207923 branch usb_init_next 
 
 p_usb_isr:
-0237 6ff08c22 fetch 1 ,core_usb_status 
-0238 2feffe03 isolate1 usb_status_reset ,pdata 
-0239 20408224 call p_usb_init_restart ,true 
-023a 2020790a branch usb_isr + 4 
+0238 6ff08c22 fetch 1 ,core_usb_status 
+0239 2feffe03 isolate1 usb_status_reset ,pdata 
+023a 20408225 call p_usb_init_restart ,true 
+023b 2020790a branch usb_isr + 4 
 
 p_g24_search_mode_auto:
-023b 6fe0c616 fetch 1 ,mem_24g_work_mode 
-023c c1838000 rtnne dongle_search 
-023d 20403476 call g24_search_mode_init 
-023e 204034ae call g24_auto_addr_ch_search 
-023f 204033f1 call g24_receive_transmit_ack 
-0240 2437b3be nbranch g24_rx_interrupt_clear ,user3 
-0241 20403506 call g24_receiver_addr_check 
-0242 2042b3ad call g24_receive_packet_parse ,zero 
-0243 6fe0c60a fetch 1 ,mem_24g_abort_packet 
-0244 205a344d call g24_mode_b_s_switch_stop ,blank 
-0245 204034ec call g24_auto_bind_config_self 
-0246 20203493 branch g24_search_mode_auto + 11 
+023c 6fe0c616 fetch 1 ,mem_24g_work_mode 
+023d c1838000 rtnne dongle_search 
+023e 20403476 call g24_search_mode_init 
+023f 204034ae call g24_auto_addr_ch_search 
+0240 204033f1 call g24_receive_transmit_ack 
+0241 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+0242 20403506 call g24_receiver_addr_check 
+0243 2042b3ad call g24_receive_packet_parse ,zero 
+0244 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+0245 205a344d call g24_mode_b_s_switch_stop ,blank 
+0246 204034ec call g24_auto_bind_config_self 
+0247 20203493 branch g24_search_mode_auto + 11 
 
 p_g24_bind_data_parse_next:
-0247 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0248 c0553329 beq datatype_bind ,g24_bind_first_step 
-0249 c02ab33a beq datatype_config ,g24_bind_second_step 
-024a c011024d beq datatype_ok ,p_g24_bind_third_step 
-024b c07fb59b beq datatype_attemp ,g24_data_attemp 
-024c 20600000 rtn 
+0248 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+0249 c0553329 beq datatype_bind ,g24_bind_first_step 
+024a c02ab33a beq datatype_config ,g24_bind_second_step 
+024b c011024e beq datatype_ok ,p_g24_bind_third_step 
+024c c07fb59b beq datatype_attemp ,g24_data_attemp 
+024d 20600000 rtn 
 
 p_g24_bind_third_step:
-024d 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-024e 203a0253 branch p_g24_bind_third_step_skip ,blank 
-024f 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
-0250 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-0251 98467c00 isub temp ,null 
-0252 24628000 nrtn zero 
+024e 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+024f 203a0254 branch p_g24_bind_third_step_skip ,blank 
+0250 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
+0251 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+0252 98467c00 isub temp ,null 
+0253 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-0253 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-0254 c0008257 beq datatype_device1 ,p_g24_bind_third_step_device1 
-0255 c001025f beq datatype_device2 ,p_g24_bind_third_step_device2 
-0256 20600000 rtn 
+0254 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+0255 c0008258 beq datatype_device1 ,p_g24_bind_third_step_device1 
+0256 c0010260 beq datatype_device2 ,p_g24_bind_third_step_device2 
+0257 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-0257 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-0258 247a0000 nrtn blank 
-0259 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-025a c001025c beq 2 ,p_g24_bind_dvc1_step_success 
-025b 20600000 rtn 
+0258 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+0259 247a0000 nrtn blank 
+025a 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+025b c001025d beq 2 ,p_g24_bind_dvc1_step_success 
+025c 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-025c 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-025d 2040338d call g24_binding_dvc1_living 
-025e 2020336b branch g24_bind_dvc1_step_success + 1 
+025d 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+025e 2040338d call g24_binding_dvc1_living 
+025f 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-025f 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-0260 247a0000 nrtn blank 
-0261 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0262 c0800264 bne 0 ,p_g24_bind_dvc2_step_success 
-0263 20600000 rtn 
+0260 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+0261 247a0000 nrtn blank 
+0262 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0263 c0800265 bne 0 ,p_g24_bind_dvc2_step_success 
+0264 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-0264 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-0265 20403393 call g24_binding_dvc2_living 
-0266 20203378 branch g24_bind_dvc2_step_success + 1 
+0265 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+0266 20403393 call g24_binding_dvc2_living 
+0267 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-0267 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0268 c1000000 rtneq dongle_work 
-0269 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-026a 247a0000 nrtn blank 
-026b 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-026c 247a0000 nrtn blank 
-026d 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-026e 207a0000 rtn blank 
-026f 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-0270 c1800000 rtnne 0 
-0271 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0272 c1800000 rtnne 0 
-0273 20203436 branch g24_mode_switch_bind_search + 9 
+0268 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0269 c1000000 rtneq dongle_work 
+026a 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+026b 247a0000 nrtn blank 
+026c 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+026d 247a0000 nrtn blank 
+026e 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+026f 207a0000 rtn blank 
+0270 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+0271 c1800000 rtnne 0 
+0272 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0273 c1800000 rtnne 0 
+0274 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-0274 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0275 c1808000 rtnne dongle_bind 
-0276 20400278 call p_g24_bind_init 
-0277 2020346d branch g24_bind_mode_auto + 4 
+0275 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0276 c1808000 rtnne dongle_bind 
+0277 20400279 call p_g24_bind_init 
+0278 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-0278 6fe0c615 fetch 1 ,mem_24g_mode_init 
-0279 c3808000 rtnbit1 dongle_bind 
-027a 79207e01 set1 dongle_bind ,pdata 
-027b 67e0c615 store 1 ,mem_24g_mode_init 
-027c 58000000 setarg 0 
-027d 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-027e 20203307 branch g24_bind_init + 8 
+0279 6fe0c615 fetch 1 ,mem_24g_mode_init 
+027a c3808000 rtnbit1 dongle_bind 
+027b 79207e01 set1 dongle_bind ,pdata 
+027c 67e0c615 store 1 ,mem_24g_mode_init 
+027d 58000000 setarg 0 
+027e 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+027f 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-027f 20204868 branch dongle_usb_dispatch + 1 
+0280 20204868 branch dongle_usb_dispatch + 1 
 
 p_wdt_kick:
-0280 58000010 setarg 16 
-0281 202070c8 branch wdt_init_config 
+0281 58000010 setarg 16 
+0282 202070c8 branch wdt_init_config 
 
 p_dongle_default_init:
-0282 204047c3 call dongle_default_init + 1 
-0283 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-0284 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-0285 7045ca00 jam off ,mem_24g_disable_fec1 
-0286 20403281 call g24_enable_1m 
-0287 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0288 c4000000 rtnbit0 dg_enable_new_revision 
-0289 7045ca01 jam on ,mem_24g_disable_fec1 
-028a 20203284 branch g24_enable_2m 
+0283 204047c3 call dongle_default_init + 1 
+0284 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+0285 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+0286 7045ca00 jam off ,mem_24g_disable_fec1 
+0287 20403281 call g24_enable_1m 
+0288 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0289 c4000000 rtnbit0 dg_enable_new_revision 
+028a 7045ca01 jam on ,mem_24g_disable_fec1 
+028b 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_end:
-028b 6fe0c669 fetch 1 ,mem_dg_sys_config 
-028c c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-028d 7837fc00 enable user3 
-028e 20000018 nop 24 
-028f 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0290 79207e00 set1 bit_ack_24g ,pdata 
-0291 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-0292 204033a5 call g24_ackpayload_prep 
-0293 204031e5 call g24_transmit_prep 
-0294 20203195 branch g24_transmit 
+028c 6fe0c669 fetch 1 ,mem_dg_sys_config 
+028d c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+028e 7837fc00 enable user3 
+028f 20000018 nop 24 
+0290 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+0291 79207e00 set1 bit_ack_24g ,pdata 
+0292 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+0293 204033a5 call g24_ackpayload_prep 
+0294 204031e5 call g24_transmit_prep 
+0295 20203195 branch g24_transmit 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/usb_pc_public/program/patch.prog	(revision 4629)
+++ /1121s/branch/dongle/1m/usb_pc/usb_pc_public/program/patch.prog	(working copy)
@@ -700,8 +700,9 @@
 	branch usb0_force_stall
 	
 p_dsc_hid_report_info0:
-	fetchr rega,2,mem_hidreportdesc_kb
-	branch usb0_respond_length
+	fetchr regb,1,mem_hidreportdesc_Interface0_kb
+	setarg mem_hidreportdesc_Interface0_kb
+	branch p_usb0_respond_set
 
 p_dsc_hid_report_info1:
 	fetchr rega,2,mem_hidreportdesc_m
@@ -712,6 +713,7 @@
 	jam USB_GOT_REPORT_REQ,mem_usb_state
 	fetchr regb,1,mem_hidreportdesc_Interface2_pc
 	setarg mem_hidreportdesc_Interface2_pc
+p_usb0_respond_set:
 	increase 1,pdata
 	copy pdata,rega
 	branch usb0_respond
@@ -719,7 +721,6 @@
 p_usb_init:
 	call enable_authrom
 	call usb_init_param
-	//jam 0x7d,0x92cd
 p_usb_init_restart:
 	setarg mem_usb_clear_mem0_end
 	arg mem_usb_clear_mem0_start,contw
Index: sched/dongle.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/usb_pc_public/sched/dongle.dat	(revision 4629)
+++ /1121s/branch/dongle/1m/usb_pc/usb_pc_public/sched/dongle.dat	(working copy)
@@ -77,11 +77,17 @@
 09 21 00 02 00 01 22 a3 00#7d
 07 05 82 03 40 00 02
 09 04 02 00 01 03 01 02 00
-09 21 00 02 00 01 22 62 00
+09 21 00 02 00 01 22 63 00
 07 05 02 03 40 00 01
 
+mem_hidreportdesc_Interface0_kb:
+3f 05 01 09 06 a1 01 75 01 95 08 05 07 19 e0 29 e7 15 00
+25 01 81 02 95 01 75 08 81 03 95 05 75 01 05 08
+19 01 29 05 91 02 95 01 75 03 91 03 95 06 75 08
+15 00 25 03 05 07 19 00 29 ff 81 00 c0
+
 mem_hidreportdesc_Interface2_pc:
-62		 # Total  Len
+63		 # Total  Len
 #---------------report id=A0[Audio IN]-----------------#
 06 A0 FF  # Usage Page (Vendor Defined FFA0)
 09 0E        # Usage (0e)
@@ -102,7 +108,7 @@
 85 A1        #   Report ID (A1)
 95 3F        #   Report Count (63)
 75 08        #   Report Size (8)
-25 FF        #   Logical Maximum (255)
+26 FF 00  #   Logical Maximum (255)
 15 00        #   Logical Minimum (0)
 09 01        #   Usage (01)
 81 02        #   Input (DataVarAbsNo WrapLinearPreferred StateNo Null Position)
@@ -110,7 +116,7 @@
 85 A2        #   Report ID (A2)
 95 3F        #   Report Count (63)
 75 08        #   Report Size (8)
-26 FF 00  #Logical Maximum (255)
+26 FF 00  #  Logical Maximum (255)
 15 00        #   Logical Minimum (0)
 09 01        #   Usage (01)
 b1 02        #   Feature (DataVarAbsNo WrapLinearPreferred StateNo Null PositionNon-volatile)
@@ -123,7 +129,7 @@
 85 A3        #   Report ID (A3)
 95 3F        #   Report Count (63)
 75 08        #   Report Size (8)
-26 FF 00  #Logical Maximum (255)
+26 FF 00  #  Logical Maximum (255)
 15 00        #   Logical Minimum (0)
 09 01        #   Usage (01)
 81 02        #   Input (DataVarAbsNo WrapLinearPreferred StateNo Null Position)
@@ -131,9 +137,9 @@
 85 A4        #   Report ID (A4)
 95 3F        #   Report Count (63)
 75 08        #   Report Size (8)
-26 FF 00  #Logical Maximum (255)
+26 FF 00  #   Logical Maximum (255)
 15 00        #   Logical Minimum (0)
 09 01        #   Usage (01)
-91 02        #   Output (DataVarAbsNo WrapLinearPreferred StateNo Null PositionNon-volatile)
+b1 02        #   Feature (DataVarAbsNo WrapLinearPreferred StateNo Null PositionNon-volatile)
 C0              #   End Collection
 
