Index: output/eeprom.dat
===================================================================
--- /1306ac/branch/dongle/usb_1M_YeCai/output/eeprom.dat	(revision 650)
+++ /1306ac/branch/dongle/usb_1M_YeCai/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-3e
+42
 03
 c2
 84
@@ -43,19 +43,19 @@
 c0
 23
 00
-86
+87
 c0
 23
 80
-92
+93
 c0
 24
 80
-b0
+b1
 c0
 26
 80
-6d
+6e
 c0
 27
 80
@@ -63,7 +63,7 @@
 c0
 28
 00
-62
+63
 20
 20
 3a
@@ -332,6 +332,10 @@
 40
 f0
 3f
+6f
+f0
+8c
+23
 2f
 ef
 fe
@@ -339,7 +343,7 @@
 20
 40
 80
-5c
+5d
 6f
 f0
 8c
@@ -377,8 +381,8 @@
 87
 97
 c0
-2f
-80
+30
+00
 34
 20
 20
@@ -407,7 +411,7 @@
 20
 40
 00
-66
+67
 20
 20
 4b
@@ -559,7 +563,7 @@
 20
 40
 00
-8c
+8d
 20
 20
 49
@@ -603,11 +607,11 @@
 c0
 11
 00
-98
+99
 c0
 7f
 80
-c5
+c6
 20
 60
 00
@@ -619,7 +623,7 @@
 20
 3a
 00
-9e
+9f
 6f
 e2
 45
@@ -643,11 +647,11 @@
 c0
 00
 80
-a2
+a3
 c0
 01
 00
-a9
+aa
 20
 60
 00
@@ -667,7 +671,7 @@
 c0
 01
 00
-a7
+a8
 20
 60
 00
@@ -695,7 +699,7 @@
 c0
 80
 00
-ae
+af
 20
 60
 00
@@ -715,7 +719,7 @@
 c0
 00
 80
-b5
+b6
 c0
 01
 4a
@@ -723,7 +727,7 @@
 c0
 7f
 80
-c3
+c4
 20
 20
 4a
@@ -759,7 +763,7 @@
 c0
 00
 80
-be
+bf
 20
 20
 4a
@@ -791,7 +795,7 @@
 20
 20
 00
-c5
+c6
 6f
 e0
 c5
@@ -799,11 +803,11 @@
 c0
 00
 80
-c9
+ca
 c0
 01
 00
-cc
+cd
 20
 60
 00
@@ -832,8 +836,8 @@
 20
 4c
 16
-02
-8d
+b0
+eb
 aa
 55
 40
@@ -1138,5 +1142,11 @@
 40
 1e
 41
-3f
-68
+55
+aa
+aa
+55
+a4
+44
+eb
+e5
Index: output/program.lis
===================================================================
--- /1306ac/branch/dongle/usb_1M_YeCai/output/program.lis	(revision 650)
+++ /1306ac/branch/dongle/usb_1M_YeCai/output/program.lis	(working copy)
@@ -11,12 +11,12 @@
 
 pf_patch_ext:
 0008 c17f8000 rtneq patch3f_7 
-0009 c0230086 beq patch28_6 ,p_g24_bind_data_process 
-000a c0238092 beq patch28_7 ,p_g24_bind_data_parse_next 
-000b c02480b0 beq patch29_1 ,p_g24_receive_packet_start_next 
-000c c026806d beq patch29_5 ,p_g24_mode_switch_bind_search 
+0009 c0230087 beq patch28_6 ,p_g24_bind_data_process 
+000a c0238093 beq patch28_7 ,p_g24_bind_data_parse_next 
+000b c02480b1 beq patch29_1 ,p_g24_receive_packet_start_next 
+000c c026806e beq patch29_5 ,p_g24_mode_switch_bind_search 
 000d c0278018 beq patch29_7 ,p_g24_bind_mode_auto 
-000e c0280062 beq patch2a_0 ,p_g24_search_mode_auto 
+000e c0280063 beq patch2a_0 ,p_g24_search_mode_auto 
 000f 20203a8a branch assert 
 
 p_initialize_radio_cont:
@@ -106,173 +106,174 @@
 004f 6ff08c23 fetch 1 ,core_usb_status 
 0050 2feffe03 isolate1 usb_status_reset ,pdata 
 0051 2040f03f call usb_init ,true 
-0052 2feffe01 isolate1 usb_status_suspend ,pdata 
-0053 2040805c call p_usb_set_suspend ,true 
-0054 6ff08c23 fetch 1 ,core_usb_status 
-0055 67f08c23 store 1 ,core_usb_status 
-0056 67e0855e store 1 ,mem_usb_status 
-0057 2040709a call usb_nak_state_judge 
-0058 204070c1 call usb_rx 
-0059 204072d2 call usb0_tx 
-005a 2040731a call usb_tx 
-005b 20207092 branch usb_nak_state 
+0052 6ff08c23 fetch 1 ,core_usb_status 
+0053 2feffe01 isolate1 usb_status_suspend ,pdata 
+0054 2040805d call p_usb_set_suspend ,true 
+0055 6ff08c23 fetch 1 ,core_usb_status 
+0056 67f08c23 store 1 ,core_usb_status 
+0057 67e0855e store 1 ,mem_usb_status 
+0058 2040709a call usb_nak_state_judge 
+0059 204070c1 call usb_rx 
+005a 204072d2 call usb0_tx 
+005b 2040731a call usb_tx 
+005c 20207092 branch usb_nak_state 
 
 p_usb_set_suspend:
-005c 6fe08797 fetch 1 ,mem_usb_tx_win_enable 
-005d c02f8034 beq p_usb_set_suspend_win ,blank 
-005e 2020004a branch p_usb_wakeup_timer_reinit 
+005d 6fe08797 fetch 1 ,mem_usb_tx_win_enable 
+005e c0300034 beq p_usb_set_suspend_win ,blank 
+005f 2020004a branch p_usb_wakeup_timer_reinit 
 
 p_usb_set_suspend_win:
-005f 6fe0879f fetch 1 ,mem_usb_remote_wakeup 
-0060 207a0000 rtn blank 
-0061 2020004a branch p_usb_wakeup_timer_reinit 
+0060 6fe0879f fetch 1 ,mem_usb_remote_wakeup 
+0061 207a0000 rtn blank 
+0062 2020004a branch p_usb_wakeup_timer_reinit 
 
 p_g24_search_mode_auto:
-0062 6fe0c561 fetch 1 ,mem_24g_work_mode 
-0063 c1838000 rtnne dongle_search 
-0064 20400066 call p_g24_search_mode_init 
-0065 20204b00 branch g24_search_mode_auto + 4 
+0063 6fe0c561 fetch 1 ,mem_24g_work_mode 
+0064 c1838000 rtnne dongle_search 
+0065 20400067 call p_g24_search_mode_init 
+0066 20204b00 branch g24_search_mode_auto + 4 
 
 p_g24_search_mode_init:
-0066 6fe0c560 fetch 1 ,mem_24g_mode_init 
-0067 c3838000 rtnbit1 dongle_search 
-0068 79207e07 set1 dongle_search ,pdata 
-0069 67e0c560 store 1 ,mem_24g_mode_init 
-006a 6fe0c56e fetch 1 ,mem_tx_power_temp 
-006b 67e0c116 store 1 ,mem_tx_power 
-006c 20204af0 branch g24_search_mode_init + 4 
+0067 6fe0c560 fetch 1 ,mem_24g_mode_init 
+0068 c3838000 rtnbit1 dongle_search 
+0069 79207e07 set1 dongle_search ,pdata 
+006a 67e0c560 store 1 ,mem_24g_mode_init 
+006b 6fe0c56e fetch 1 ,mem_tx_power_temp 
+006c 67e0c116 store 1 ,mem_tx_power 
+006d 20204af0 branch g24_search_mode_init + 4 
 
 p_g24_mode_switch_bind_search:
-006d 6fe0c561 fetch 1 ,mem_24g_work_mode 
-006e c1000000 rtneq dongle_work 
-006f 6fe0c575 fetch 1 ,mem_24g_b_s_mode_switch_disable 
-0070 247a0000 nrtn blank 
-0071 6fe0c573 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-0072 247a0000 nrtn blank 
-0073 6fe0c56f fetch 1 ,mem_24g_mode_b_s_switch 
-0074 207a0000 rtn blank 
-0075 6fe0c576 fetch 1 ,mem_24g_bind_device_living 
-0076 2fe00603 compare 3 ,pdata ,3 
-0077 2020cac1 branch g24_mode_b_s_switch_exit ,true 
-0078 204048be call g24_timer_check 
-0079 24740000 nrtn user 
-007a 6fe14571 fetch 2 ,mem_24g_mode_b_s_switch_cnt 
-007b 1fe0fe01 increase 1 ,pdata 
-007c 67e14571 store 2 ,mem_24g_mode_b_s_switch_cnt 
-007d d84007d0 arg 0x7d0 ,temp 
-007e 98467c00 isub temp ,null 
-007f 20214ac1 branch g24_mode_b_s_switch_exit ,positive 
-0080 6fe0c574 fetch 1 ,mem_24g_b_s_time_slice 
-0081 1fe0fe01 increase 1 ,pdata 
-0082 1fe17e01 and_into 1 ,pdata 
-0083 67e0c574 store 1 ,mem_24g_b_s_time_slice 
-0084 c0004b88 beq 0 ,g24_search_mode_enable 
-0085 20204abc branch g24_mode_switch_bind_search_next + 1 
+006e 6fe0c561 fetch 1 ,mem_24g_work_mode 
+006f c1000000 rtneq dongle_work 
+0070 6fe0c575 fetch 1 ,mem_24g_b_s_mode_switch_disable 
+0071 247a0000 nrtn blank 
+0072 6fe0c573 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+0073 247a0000 nrtn blank 
+0074 6fe0c56f fetch 1 ,mem_24g_mode_b_s_switch 
+0075 207a0000 rtn blank 
+0076 6fe0c576 fetch 1 ,mem_24g_bind_device_living 
+0077 2fe00603 compare 3 ,pdata ,3 
+0078 2020cac1 branch g24_mode_b_s_switch_exit ,true 
+0079 204048be call g24_timer_check 
+007a 24740000 nrtn user 
+007b 6fe14571 fetch 2 ,mem_24g_mode_b_s_switch_cnt 
+007c 1fe0fe01 increase 1 ,pdata 
+007d 67e14571 store 2 ,mem_24g_mode_b_s_switch_cnt 
+007e d84007d0 arg 0x7d0 ,temp 
+007f 98467c00 isub temp ,null 
+0080 20214ac1 branch g24_mode_b_s_switch_exit ,positive 
+0081 6fe0c574 fetch 1 ,mem_24g_b_s_time_slice 
+0082 1fe0fe01 increase 1 ,pdata 
+0083 1fe17e01 and_into 1 ,pdata 
+0084 67e0c574 store 1 ,mem_24g_b_s_time_slice 
+0085 c0004b88 beq 0 ,g24_search_mode_enable 
+0086 20204abc branch g24_mode_switch_bind_search_next + 1 
 
 p_g24_bind_data_process:
-0086 20404a39 call g24_rx_interrupt_clear 
-0087 20404792 call g24_receive_packet 
-0088 2437ca39 nbranch g24_rx_interrupt_clear ,user3 
-0089 20404997 call g24_bind_data_parse 
-008a 2040008c call p_g24_bind_transmit_ack 
-008b 2020498e branch g24_bind_data_process + 6 
+0087 20404a39 call g24_rx_interrupt_clear 
+0088 20404792 call g24_receive_packet 
+0089 2437ca39 nbranch g24_rx_interrupt_clear ,user3 
+008a 20404997 call g24_bind_data_parse 
+008b 2040008d call p_g24_bind_transmit_ack 
+008c 2020498e branch g24_bind_data_process + 6 
 
 p_g24_bind_transmit_ack:
-008c 6fe0c442 fetch 1 ,mem_24g_rxbuf 
-008d 67e0c4d4 store 1 ,mem_24g_data_type 
-008e 2040488d call g24_read_len_pid_crc 
-008f 20404a20 call g24_ackpayload_prep 
-0090 2437c7fc nbranch g24_end_of_packet ,user3 
-0091 20204a73 branch g24tx_with_ack + 1 
+008d 6fe0c442 fetch 1 ,mem_24g_rxbuf 
+008e 67e0c4d4 store 1 ,mem_24g_data_type 
+008f 2040488d call g24_read_len_pid_crc 
+0090 20404a20 call g24_ackpayload_prep 
+0091 2437c7fc nbranch g24_end_of_packet ,user3 
+0092 20204a73 branch g24tx_with_ack + 1 
 
 p_g24_bind_data_parse_next:
-0092 6fe0c535 fetch 1 ,mem_24g_rxdata_temp + 2 
-0093 c05549a2 beq datatype_bind ,g24_bind_first_step 
-0094 c02ac9b3 beq datatype_config ,g24_bind_second_step 
-0095 c0110098 beq datatype_ok ,p_g24_bind_third_step 
-0096 c07f80c5 beq datatype_attemp ,p_g24_data_attemp 
-0097 20600000 rtn 
+0093 6fe0c535 fetch 1 ,mem_24g_rxdata_temp + 2 
+0094 c05549a2 beq datatype_bind ,g24_bind_first_step 
+0095 c02ac9b3 beq datatype_config ,g24_bind_second_step 
+0096 c0110099 beq datatype_ok ,p_g24_bind_third_step 
+0097 c07f80c6 beq datatype_attemp ,p_g24_data_attemp 
+0098 20600000 rtn 
 
 p_g24_bind_third_step:
-0098 6fe0c4f9 fetch 1 ,mem_24g_pair_switch 
-0099 203a009e branch p_g24_bind_third_step_skip ,blank 
-009a 6fe24537 fetch 4 ,mem_24g_rxdata_temp + 4 
-009b 684a4577 fetcht 4 ,mem_24g_transmitter_addr 
-009c 98467c00 isub temp ,null 
-009d 24628000 nrtn zero 
+0099 6fe0c4f9 fetch 1 ,mem_24g_pair_switch 
+009a 203a009f branch p_g24_bind_third_step_skip ,blank 
+009b 6fe24537 fetch 4 ,mem_24g_rxdata_temp + 4 
+009c 684a4577 fetcht 4 ,mem_24g_transmitter_addr 
+009d 98467c00 isub temp ,null 
+009e 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-009e 6fe0c536 fetch 1 ,mem_24g_rxdata_temp + 3 
-009f c00080a2 beq datatype_device1 ,p_g24_bind_third_step_device1 
-00a0 c00100a9 beq datatype_device2 ,p_g24_bind_third_step_device2 
-00a1 20600000 rtn 
+009f 6fe0c536 fetch 1 ,mem_24g_rxdata_temp + 3 
+00a0 c00080a3 beq datatype_device1 ,p_g24_bind_third_step_device1 
+00a1 c00100aa beq datatype_device2 ,p_g24_bind_third_step_device2 
+00a2 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-00a2 6fe0c529 fetch 1 ,mem_24g_device1_bind_disable 
-00a3 247a0000 nrtn blank 
-00a4 6fe0c51e fetch 1 ,mem_24g_device1_bind_step 
-00a5 c00100a7 beq 2 ,p_g24_bind_dvc1_step_success 
-00a6 20600000 rtn 
+00a3 6fe0c529 fetch 1 ,mem_24g_device1_bind_disable 
+00a4 247a0000 nrtn blank 
+00a5 6fe0c51e fetch 1 ,mem_24g_device1_bind_step 
+00a6 c00100a8 beq 2 ,p_g24_bind_dvc1_step_success 
+00a7 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-00a7 70452901 jam 1 ,mem_24g_device1_bind_disable 
-00a8 202049e5 branch g24_bind_dvc1_step_success + 2 
+00a8 70452901 jam 1 ,mem_24g_device1_bind_disable 
+00a9 202049e5 branch g24_bind_dvc1_step_success + 2 
 
 p_g24_bind_third_step_device2:
-00a9 6fe0c52a fetch 1 ,mem_24g_device2_bind_disable 
-00aa 247a0000 nrtn blank 
-00ab 6fe0c51f fetch 1 ,mem_24g_device2_bind_step 
-00ac c08000ae bne 0 ,p_g24_bind_dvc2_step_success 
-00ad 20600000 rtn 
+00aa 6fe0c52a fetch 1 ,mem_24g_device2_bind_disable 
+00ab 247a0000 nrtn blank 
+00ac 6fe0c51f fetch 1 ,mem_24g_device2_bind_step 
+00ad c08000af bne 0 ,p_g24_bind_dvc2_step_success 
+00ae 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-00ae 70452a01 jam 1 ,mem_24g_device2_bind_disable 
-00af 202049f3 branch g24_bind_dvc2_step_success + 2 
+00af 70452a01 jam 1 ,mem_24g_device2_bind_disable 
+00b0 202049f3 branch g24_bind_dvc2_step_success + 2 
 
 p_g24_receive_packet_start_next:
-00b0 6fe0c535 fetch 1 ,mem_24g_rxdata_temp + 2 
-00b1 c00080b5 beq datatype_device1 ,p_g24_data_device1 
-00b2 c0014a4e beq datatype_device2 ,g24_data_device2 
-00b3 c07f80c3 beq datatype_attemp ,p_g24_data_receive_attemp 
-00b4 20204a39 branch g24_rx_interrupt_clear 
+00b1 6fe0c535 fetch 1 ,mem_24g_rxdata_temp + 2 
+00b2 c00080b6 beq datatype_device1 ,p_g24_data_device1 
+00b3 c0014a4e beq datatype_device2 ,g24_data_device2 
+00b4 c07f80c4 beq datatype_attemp ,p_g24_data_receive_attemp 
+00b5 20204a39 branch g24_rx_interrupt_clear 
 
 p_g24_data_device1:
-00b5 20404a08 call g24_binding_dvc1_living 
-00b6 20404ba2 call g24_ch_timer_reinit 
-00b7 6fe0c555 fetch 1 ,mem_24g_abort_packet 
-00b8 6848c533 fetcht 1 ,mem_24g_rxdata_temp 
-00b9 284ffe03 isolate1 bit_abort ,temp 
-00ba 7920fe00 setflag true ,0 ,pdata 
-00bb 67e0c555 store 1 ,mem_24g_abort_packet 
-00bc c00080be beq 1 ,p_g24_data_attemp_device1_abort 
-00bd 20204a47 branch g24_data_device1 + 8 
+00b6 20404a08 call g24_binding_dvc1_living 
+00b7 20404ba2 call g24_ch_timer_reinit 
+00b8 6fe0c555 fetch 1 ,mem_24g_abort_packet 
+00b9 6848c533 fetcht 1 ,mem_24g_rxdata_temp 
+00ba 284ffe03 isolate1 bit_abort ,temp 
+00bb 7920fe00 setflag true ,0 ,pdata 
+00bc 67e0c555 store 1 ,mem_24g_abort_packet 
+00bd c00080bf beq 1 ,p_g24_data_attemp_device1_abort 
+00be 20204a47 branch g24_data_device1 + 8 
 
 p_g24_data_attemp_device1_abort:
-00be 6fe0c529 fetch 1 ,mem_24g_device1_bind_disable 
-00bf 247a0000 nrtn blank 
-00c0 70452901 jam 1 ,mem_24g_device1_bind_disable 
-00c1 6fe2453d fetch 4 ,mem_24g_rxdata_temp + 10 
-00c2 20204c14 branch g24_store_device1_addr 
+00bf 6fe0c529 fetch 1 ,mem_24g_device1_bind_disable 
+00c0 247a0000 nrtn blank 
+00c1 70452901 jam 1 ,mem_24g_device1_bind_disable 
+00c2 6fe2453d fetch 4 ,mem_24g_rxdata_temp + 10 
+00c3 20204c14 branch g24_store_device1_addr 
 
 p_g24_data_receive_attemp:
-00c3 20404a16 call g24_bind_device_status 
-00c4 202000c5 branch p_g24_data_attemp 
+00c4 20404a16 call g24_bind_device_status 
+00c5 202000c6 branch p_g24_data_attemp 
 
 p_g24_data_attemp:
-00c5 6fe0c536 fetch 1 ,mem_24g_rxdata_temp + 3 
-00c6 c00080c9 beq datatype_device1 ,p_g24_data_attemp_device1 
-00c7 c00100cc beq datatype_device2 ,p_g24_data_attemp_device2 
-00c8 20600000 rtn 
+00c6 6fe0c536 fetch 1 ,mem_24g_rxdata_temp + 3 
+00c7 c00080ca beq datatype_device1 ,p_g24_data_attemp_device1 
+00c8 c00100cd beq datatype_device2 ,p_g24_data_attemp_device2 
+00c9 20600000 rtn 
 
 p_g24_data_attemp_device1:
-00c9 6fe0c529 fetch 1 ,mem_24g_device1_bind_disable 
-00ca 247a0000 nrtn blank 
-00cb 20204c12 branch g24_data_attemp_device1 
+00ca 6fe0c529 fetch 1 ,mem_24g_device1_bind_disable 
+00cb 247a0000 nrtn blank 
+00cc 20204c12 branch g24_data_attemp_device1 
 
 p_g24_data_attemp_device2:
-00cc 6fe0c52a fetch 1 ,mem_24g_device2_bind_disable 
-00cd 247a0000 nrtn blank 
-00ce 20204c16 branch g24_data_attemp_device2 
+00cd 6fe0c52a fetch 1 ,mem_24g_device2_bind_disable 
+00ce 247a0000 nrtn blank 
+00cf 20204c16 branch g24_data_attemp_device2 
               org 0x3800
 
 start:
Index: program/patch.prog
===================================================================
--- /1306ac/branch/dongle/usb_1M_YeCai/program/patch.prog	(revision 650)
+++ /1306ac/branch/dongle/usb_1M_YeCai/program/patch.prog	(working copy)
@@ -114,6 +114,7 @@
 	fetch 1,core_usb_status
 	isolate1 USB_STATUS_RESET,pdata
 	call usb_init,true
+	fetch 1,core_usb_status
 	isolate1 USB_STATUS_SUSPEND,pdata
 	call p_usb_set_suspend,true
 	fetch 1,core_usb_status
