Index: format/app_dongle.format
===================================================================
--- /branch/usb/usb_public_125K/format/app_dongle.format	(revision 322)
+++ /branch/usb/usb_public_125K/format/app_dongle.format	(working copy)
@@ -45,6 +45,7 @@
 2 mem_device_uart_baud_rate
 //uart end
 
+6 mem_usb_manufacturer_info
 )
 
 
Index: output/eeprom.dat
===================================================================
--- /branch/usb/usb_public_125K/output/eeprom.dat	(revision 324)
+++ /branch/usb/usb_public_125K/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-e6
+f6
 03
 c2
 84
@@ -15,11 +15,11 @@
 c0
 0a
 80
-54
+58
 c0
 0b
 80
-5a
+5e
 c0
 1b
 00
@@ -31,7 +31,7 @@
 c0
 6a
 80
-4f
+53
 20
 20
 3a
@@ -43,27 +43,27 @@
 c0
 14
 00
-5d
+61
 c0
 1d
 00
-80
+84
 c0
 1d
 80
-94
+98
 c0
 1e
 80
-e1
+e5
 c0
 20
 80
-66
+6a
 c0
 22
 00
-d6
+da
 c0
 40
 00
@@ -260,6 +260,10 @@
 40
 71
 a1
+20
+40
+00
+50
 70
 06
 10
@@ -320,6 +324,18 @@
 20
 71
 92
+6f
+e3
+45
+e5
+67
+e3
+06
+53
+20
+60
+00
+00
 18
 42
 7e
@@ -327,7 +343,7 @@
 c2
 80
 80
-52
+56
 20
 20
 3d
@@ -535,7 +551,7 @@
 20
 40
 00
-8c
+90
 20
 40
 4a
@@ -603,19 +619,19 @@
 c0
 55
 00
-9a
+9e
 c0
 2a
 80
-a4
+a8
 c0
 11
 00
-b4
+b8
 c0
 7f
 80
-cc
+d0
 20
 60
 00
@@ -627,11 +643,11 @@
 c0
 00
 80
-9e
+a2
 c0
 01
 00
-a1
+a5
 20
 60
 00
@@ -667,7 +683,7 @@
 20
 3a
 00
-aa
+ae
 6f
 e2
 45
@@ -691,11 +707,11 @@
 c0
 00
 80
-ae
+b2
 c0
 01
 00
-b1
+b5
 20
 60
 00
@@ -731,7 +747,7 @@
 20
 3a
 00
-ba
+be
 6f
 e2
 45
@@ -755,11 +771,11 @@
 c0
 00
 80
-be
+c2
 c0
 01
 00
-c5
+c9
 20
 60
 00
@@ -779,7 +795,7 @@
 c0
 01
 00
-c3
+c7
 20
 60
 00
@@ -807,7 +823,7 @@
 c0
 80
 00
-ca
+ce
 20
 60
 00
@@ -827,11 +843,11 @@
 c0
 00
 80
-d0
+d4
 c0
 01
 00
-d3
+d7
 20
 60
 00
@@ -871,7 +887,7 @@
 20
 40
 00
-da
+de
 20
 20
 4b
@@ -911,7 +927,7 @@
 c0
 00
 80
-e6
+ea
 c0
 01
 4a
@@ -919,7 +935,7 @@
 c0
 7f
 80
-f7
+fb
 20
 20
 4a
@@ -955,7 +971,7 @@
 c0
 00
 80
-ef
+f3
 20
 20
 4a
@@ -999,9 +1015,9 @@
 20
 20
 00
-cc
-41
-a6
+d0
+2e
+8a
 aa
 55
 40
@@ -1116,6 +1132,33 @@
 06
 aa
 55
+09
+00
+ac
+45
+01
+0e
+30
+00
+28
+0e
+30
+00
+28
+aa
+55
+06
+00
+e5
+45
+05
+53
+6d
+61
+72
+74
+aa
+55
 06
 00
 37
@@ -1260,7 +1303,7 @@
 aa
 aa
 55
-35
-38
-f5
-aa
+36
+3f
+cc
+05
Index: output/memmap.format
===================================================================
--- /branch/usb/usb_public_125K/output/memmap.format	(revision 322)
+++ /branch/usb/usb_public_125K/output/memmap.format	(working copy)
@@ -1330,6 +1330,7 @@
 0x45df mem_device_uart_tx_buffer
 0x45e1 mem_device_uart_tx_buffer_end
 0x45e3 mem_device_uart_baud_rate
+0x45e5 mem_usb_manufacturer_info
 0x4518 mem_rssi_hex_received
 0x4519 mem_24g_pair_sm
 0x451a mem_24g_pair_no_ack
Index: output/program.lis
===================================================================
--- /branch/usb/usb_public_125K/output/program.lis	(revision 324)
+++ /branch/usb/usb_public_125K/output/program.lis	(working copy)
@@ -2,21 +2,21 @@
               org 0x0000
 0000 c2840008 bbit1 8 ,pf_patch_ext 
 0001 c0000011 beq patch00_0 ,p_soft_reset 
-0002 c00a8054 beq patch02_5 ,p_set_freq_tx 
-0003 c00b805a beq patch02_7 ,p_set_tx_power_8db 
+0002 c00a8058 beq patch02_5 ,p_set_freq_tx 
+0003 c00b805e beq patch02_7 ,p_set_tx_power_8db 
 0004 c01b0029 beq patch06_6 ,p_dongle_usb_dispatch 
 0005 c05c803e beq patch17_1 ,p_usb_init 
-0006 c06a804f beq patch1a_5 ,p_le_enable_phy_by_pdata 
+0006 c06a8053 beq patch1a_5 ,p_le_enable_phy_by_pdata 
 0007 20203aba branch assert 
 
 pf_patch_ext:
 0008 c17f8000 rtneq patch3f_7 
-0009 c014005d beq patch25_0 ,p_g24_receive_skip_end 
-000a c01d0080 beq patch27_2 ,p_g24_bind_data_process 
-000b c01d8094 beq patch27_3 ,p_g24_bind_data_parse_next 
-000c c01e80e1 beq patch27_5 ,p_g24_receive_packet_start_next 
-000d c0208066 beq patch28_1 ,p_g24_mode_switch_bind_search 
-000e c02200d6 beq patch28_4 ,p_g24_search_mode_auto 
+0009 c0140061 beq patch25_0 ,p_g24_receive_skip_end 
+000a c01d0084 beq patch27_2 ,p_g24_bind_data_process 
+000b c01d8098 beq patch27_3 ,p_g24_bind_data_parse_next 
+000c c01e80e5 beq patch27_5 ,p_g24_receive_packet_start_next 
+000d c020806a beq patch28_1 ,p_g24_mode_switch_bind_search 
+000e c02200da beq patch28_4 ,p_g24_search_mode_auto 
 000f c040001e beq patch30_0 ,p_dongle_default_init 
 0010 20203aba branch assert 
 
@@ -82,253 +82,259 @@
 p_usb_init:
 003e 20406fd3 call enable_authrom 
 003f 204071a1 call usb_init_param 
-0040 70061003 jam 0x03 ,mem_devicedesc + 17 
-0041 708c0000 jam 0x00 ,core_usb_config 
-0042 20002710 nop 10000 
-0043 708c1800 jam 0x00 ,core_usb_trig 
-0044 6ff10050 fetch 2 ,core_clkoff 
-0045 793ffe0a set0 clock_off_usb ,pdata 
-0046 67f10050 store 2 ,core_clkoff 
-0047 708c1100 jam 0x0 ,core_usb_hmode 
-0048 708c003c jam 0x3c ,core_usb_config 
-0049 58000bb3 setarg mem_usb_rxbuf_new 
-004a 67f10c03 store 2 ,core_usb_rx_saddr 
-004b 67f10c07 store 2 ,core_usb_rxptr 
-004c 58000bf7 setarg mem_usb_rxbuf_new_end 
-004d 67f10c05 store 2 ,core_usb_rx_eaddr 
-004e 20207192 branch usb_init + 16 
+0040 20400050 call p_usb_manufacturer_update 
+0041 70061003 jam 0x03 ,mem_devicedesc + 17 
+0042 708c0000 jam 0x00 ,core_usb_config 
+0043 20002710 nop 10000 
+0044 708c1800 jam 0x00 ,core_usb_trig 
+0045 6ff10050 fetch 2 ,core_clkoff 
+0046 793ffe0a set0 clock_off_usb ,pdata 
+0047 67f10050 store 2 ,core_clkoff 
+0048 708c1100 jam 0x0 ,core_usb_hmode 
+0049 708c003c jam 0x3c ,core_usb_config 
+004a 58000bb3 setarg mem_usb_rxbuf_new 
+004b 67f10c03 store 2 ,core_usb_rx_saddr 
+004c 67f10c07 store 2 ,core_usb_rxptr 
+004d 58000bf7 setarg mem_usb_rxbuf_new_end 
+004e 67f10c05 store 2 ,core_usb_rx_eaddr 
+004f 20207192 branch usb_init + 16 
+
+p_usb_manufacturer_update:
+0050 6fe345e5 fetch 6 ,mem_usb_manufacturer_info 
+0051 67e30653 store 6 ,mem_string1 
+0052 20600000 rtn 
 
 p_le_enable_phy_by_pdata:
-004f 18427e00 copy temp ,pdata 
-0050 c2808052 bbit1 bit_le_2m_phy ,p_le_enable_2m 
-0051 20203d19 branch le_enable_phy_by_pdata + 3 
+0053 18427e00 copy temp ,pdata 
+0054 c2808056 bbit1 bit_le_2m_phy ,p_le_enable_2m 
+0055 20203d19 branch le_enable_phy_by_pdata + 3 
 
 p_le_enable_2m:
-0052 708a6d89 jam 0x89 ,core_rx_bq_cfg0 
-0053 20203d1f branch le_enable_2m 
+0056 708a6d89 jam 0x89 ,core_rx_bq_cfg0 
+0057 20203d1f branch le_enable_2m 
 
 p_set_freq_tx:
-0054 708a3d12 jam 0x12 ,core_syn_top_ctrl 
-0055 60488008 storet 1 ,mem_last_freq 
-0056 1840a202 add temp ,2 ,rega 
-0057 2040398e call rf_tx_write_freq 
-0058 200003c0 nop 0x3c0 
-0059 202039cf branch txon 
+0058 708a3d12 jam 0x12 ,core_syn_top_ctrl 
+0059 60488008 storet 1 ,mem_last_freq 
+005a 1840a202 add temp ,2 ,rega 
+005b 2040398e call rf_tx_write_freq 
+005c 200003c0 nop 0x3c0 
+005d 202039cf branch txon 
 
 p_set_tx_power_8db:
-005a 708a39ab jam 0xab ,core_tx_pwr_ctrl0 
-005b 708a3a0f jam 0x0f ,core_tx_pwr_ctrl1 
-005c 202039f3 branch set_rf_ldo_cfg89_2 
+005e 708a39ab jam 0xab ,core_tx_pwr_ctrl0 
+005f 708a3a0f jam 0x0f ,core_tx_pwr_ctrl1 
+0060 202039f3 branch set_rf_ldo_cfg89_2 
 
 p_g24_receive_skip_end:
-005d 6fe0c5ab fetch 1 ,mem_dg_sys_config 
-005e c300481c bbit0 dg_enable_new_revision ,g24_receive_skip_end 
-005f 2000012c nop 300 
-0060 6fe0c43e fetch 1 ,mem_24g_rxbuf + 1 
-0061 79207e00 set1 bit_ack_24g ,pdata 
-0062 67e0c43e store 1 ,mem_24g_rxbuf + 1 
-0063 20404a3b call g24_ackpayload_prep 
-0064 2040488f call g24_transmit_prep 
-0065 2020483f branch g24_transmit 
+0061 6fe0c5ab fetch 1 ,mem_dg_sys_config 
+0062 c300481c bbit0 dg_enable_new_revision ,g24_receive_skip_end 
+0063 2000012c nop 300 
+0064 6fe0c43e fetch 1 ,mem_24g_rxbuf + 1 
+0065 79207e00 set1 bit_ack_24g ,pdata 
+0066 67e0c43e store 1 ,mem_24g_rxbuf + 1 
+0067 20404a3b call g24_ackpayload_prep 
+0068 2040488f call g24_transmit_prep 
+0069 2020483f branch g24_transmit 
 
 p_g24_mode_switch_bind_search:
-0066 6fe0c559 fetch 1 ,mem_24g_work_mode 
-0067 c1000000 rtneq dongle_work 
-0068 6fe0c56d fetch 1 ,mem_24g_b_s_mode_switch_disable 
-0069 247a0000 nrtn blank 
-006a 6fe0c56b fetch 1 ,mem_24g_mode_b_s_switch_exit 
-006b 247a0000 nrtn blank 
-006c 6fe0c567 fetch 1 ,mem_24g_mode_b_s_switch 
-006d 207a0000 rtn blank 
-006e 6fe0c56e fetch 1 ,mem_24g_bind_device_living 
-006f 2fe00603 compare 3 ,pdata ,3 
-0070 2020cadc branch g24_mode_b_s_switch_exit ,true 
-0071 204048ef call g24_timer_check 
-0072 24740000 nrtn user 
-0073 6fe14569 fetch 2 ,mem_24g_mode_b_s_switch_cnt 
-0074 1fe0fe01 increase 1 ,pdata 
-0075 67e14569 store 2 ,mem_24g_mode_b_s_switch_cnt 
-0076 d84007d0 arg 0x7d0 ,temp 
-0077 98467c00 isub temp ,null 
-0078 20214adc branch g24_mode_b_s_switch_exit ,positive 
-0079 6fe0c56c fetch 1 ,mem_24g_b_s_time_slice 
-007a 1fe0fe01 increase 1 ,pdata 
-007b 1fe17e01 and_into 1 ,pdata 
-007c 67e0c56c store 1 ,mem_24g_b_s_time_slice 
-007d c0004ba3 beq 0 ,g24_search_mode_enable 
-007e c000c99f beq 1 ,g24_bind_mode_enable 
-007f 20600000 rtn 
+006a 6fe0c559 fetch 1 ,mem_24g_work_mode 
+006b c1000000 rtneq dongle_work 
+006c 6fe0c56d fetch 1 ,mem_24g_b_s_mode_switch_disable 
+006d 247a0000 nrtn blank 
+006e 6fe0c56b fetch 1 ,mem_24g_mode_b_s_switch_exit 
+006f 247a0000 nrtn blank 
+0070 6fe0c567 fetch 1 ,mem_24g_mode_b_s_switch 
+0071 207a0000 rtn blank 
+0072 6fe0c56e fetch 1 ,mem_24g_bind_device_living 
+0073 2fe00603 compare 3 ,pdata ,3 
+0074 2020cadc branch g24_mode_b_s_switch_exit ,true 
+0075 204048ef call g24_timer_check 
+0076 24740000 nrtn user 
+0077 6fe14569 fetch 2 ,mem_24g_mode_b_s_switch_cnt 
+0078 1fe0fe01 increase 1 ,pdata 
+0079 67e14569 store 2 ,mem_24g_mode_b_s_switch_cnt 
+007a d84007d0 arg 0x7d0 ,temp 
+007b 98467c00 isub temp ,null 
+007c 20214adc branch g24_mode_b_s_switch_exit ,positive 
+007d 6fe0c56c fetch 1 ,mem_24g_b_s_time_slice 
+007e 1fe0fe01 increase 1 ,pdata 
+007f 1fe17e01 and_into 1 ,pdata 
+0080 67e0c56c store 1 ,mem_24g_b_s_time_slice 
+0081 c0004ba3 beq 0 ,g24_search_mode_enable 
+0082 c000c99f beq 1 ,g24_bind_mode_enable 
+0083 20600000 rtn 
 
 p_g24_bind_data_process:
-0080 20404a54 call g24_rx_interrupt_clear 
-0081 204047ce call g24_receive_packet 
-0082 2437ca54 nbranch g24_rx_interrupt_clear ,user3 
-0083 204049bf call g24_bind_data_parse 
-0084 2040008c call p_g24_bind_transmit_ack 
-0085 20404a2e call g24_bind_device_status_check 
-0086 204053c3 call dongle_kb_bind_soft_reset 
-0087 6fe0c4f4 fetch 1 ,mem_24g_pair_switch 
-0088 207a0000 rtn blank 
-0089 6fe2456f fetch 4 ,mem_24g_transmitter_addr 
-008a 207a0000 rtn blank 
-008b 202048e0 branch g24_update_addr_and_synccrc8 
+0084 20404a54 call g24_rx_interrupt_clear 
+0085 204047ce call g24_receive_packet 
+0086 2437ca54 nbranch g24_rx_interrupt_clear ,user3 
+0087 204049bf call g24_bind_data_parse 
+0088 20400090 call p_g24_bind_transmit_ack 
+0089 20404a2e call g24_bind_device_status_check 
+008a 204053c3 call dongle_kb_bind_soft_reset 
+008b 6fe0c4f4 fetch 1 ,mem_24g_pair_switch 
+008c 207a0000 rtn blank 
+008d 6fe2456f fetch 4 ,mem_24g_transmitter_addr 
+008e 207a0000 rtn blank 
+008f 202048e0 branch g24_update_addr_and_synccrc8 
 
 p_g24_bind_transmit_ack:
-008c 6fe0c43d fetch 1 ,mem_24g_rxbuf 
-008d 67e0c4cf store 1 ,mem_24g_data_type 
-008e 204048be call g24_read_len_pid_crc 
-008f 20404a3b call g24_ackpayload_prep 
-0090 2437c837 nbranch g24_end_of_packet ,user3 
-0091 2040488f call g24_transmit_prep 
-0092 2040483f call g24_transmit 
-0093 20204837 branch g24_end_of_packet 
+0090 6fe0c43d fetch 1 ,mem_24g_rxbuf 
+0091 67e0c4cf store 1 ,mem_24g_data_type 
+0092 204048be call g24_read_len_pid_crc 
+0093 20404a3b call g24_ackpayload_prep 
+0094 2437c837 nbranch g24_end_of_packet ,user3 
+0095 2040488f call g24_transmit_prep 
+0096 2040483f call g24_transmit 
+0097 20204837 branch g24_end_of_packet 
 
 p_g24_bind_data_parse_next:
-0094 6fe0c52d fetch 1 ,mem_24g_rxdata_temp + 2 
-0095 c055009a beq datatype_bind ,p_g24_bind_first_step 
-0096 c02a80a4 beq datatype_config ,p_g24_bind_second_step 
-0097 c01100b4 beq datatype_ok ,p_g24_bind_third_step 
-0098 c07f80cc beq datatype_attemp ,p_g24_data_attemp 
-0099 20600000 rtn 
+0098 6fe0c52d fetch 1 ,mem_24g_rxdata_temp + 2 
+0099 c055009e beq datatype_bind ,p_g24_bind_first_step 
+009a c02a80a8 beq datatype_config ,p_g24_bind_second_step 
+009b c01100b8 beq datatype_ok ,p_g24_bind_third_step 
+009c c07f80d0 beq datatype_attemp ,p_g24_data_attemp 
+009d 20600000 rtn 
 
 p_g24_bind_first_step:
-009a 6fe0c52e fetch 1 ,mem_24g_rxdata_temp + 3 
-009b c000809e beq datatype_device1 ,p_g24_bind_first_step_device1 
-009c c00100a1 beq datatype_device2 ,p_g24_bind_first_step_device2 
-009d 20600000 rtn 
+009e 6fe0c52e fetch 1 ,mem_24g_rxdata_temp + 3 
+009f c00080a2 beq datatype_device1 ,p_g24_bind_first_step_device1 
+00a0 c00100a5 beq datatype_device2 ,p_g24_bind_first_step_device2 
+00a1 20600000 rtn 
 
 p_g24_bind_first_step_device1:
-009e 6fe0c5d7 fetch 1 ,mem_24g_device1_bind_disable 
-009f 247a0000 nrtn blank 
-00a0 202049ce branch g24_bind_first_step_device1 
+00a2 6fe0c5d7 fetch 1 ,mem_24g_device1_bind_disable 
+00a3 247a0000 nrtn blank 
+00a4 202049ce branch g24_bind_first_step_device1 
 
 p_g24_bind_first_step_device2:
-00a1 6fe0c5d8 fetch 1 ,mem_24g_device2_bind_disable 
-00a2 247a0000 nrtn blank 
-00a3 202049d4 branch g24_bind_first_step_device2 
+00a5 6fe0c5d8 fetch 1 ,mem_24g_device2_bind_disable 
+00a6 247a0000 nrtn blank 
+00a7 202049d4 branch g24_bind_first_step_device2 
 
 p_g24_bind_second_step:
-00a4 6fe0c4f4 fetch 1 ,mem_24g_pair_switch 
-00a5 203a00aa branch p_g24_bind_second_step_skip ,blank 
-00a6 6fe2452f fetch 4 ,mem_24g_rxdata_temp + 4 
-00a7 684a4437 fetcht 4 ,mem_24g_lap 
-00a8 98467c00 isub temp ,null 
-00a9 24628000 nrtn zero 
+00a8 6fe0c4f4 fetch 1 ,mem_24g_pair_switch 
+00a9 203a00ae branch p_g24_bind_second_step_skip ,blank 
+00aa 6fe2452f fetch 4 ,mem_24g_rxdata_temp + 4 
+00ab 684a4437 fetcht 4 ,mem_24g_lap 
+00ac 98467c00 isub temp ,null 
+00ad 24628000 nrtn zero 
 
 p_g24_bind_second_step_skip:
-00aa 6fe0c52e fetch 1 ,mem_24g_rxdata_temp + 3 
-00ab c00080ae beq datatype_device1 ,p_g24_bind_second_step_device1 
-00ac c00100b1 beq datatype_device2 ,p_g24_bind_second_step_device2 
-00ad 20600000 rtn 
+00ae 6fe0c52e fetch 1 ,mem_24g_rxdata_temp + 3 
+00af c00080b2 beq datatype_device1 ,p_g24_bind_second_step_device1 
+00b0 c00100b5 beq datatype_device2 ,p_g24_bind_second_step_device2 
+00b1 20600000 rtn 
 
 p_g24_bind_second_step_device1:
-00ae 6fe0c5d7 fetch 1 ,mem_24g_device1_bind_disable 
-00af 247a0000 nrtn blank 
-00b0 202049e1 branch g24_bind_second_step_device1 
+00b2 6fe0c5d7 fetch 1 ,mem_24g_device1_bind_disable 
+00b3 247a0000 nrtn blank 
+00b4 202049e1 branch g24_bind_second_step_device1 
 
 p_g24_bind_second_step_device2:
-00b1 6fe0c5d8 fetch 1 ,mem_24g_device2_bind_disable 
-00b2 247a0000 nrtn blank 
-00b3 202049ec branch g24_bind_second_step_device2 
+00b5 6fe0c5d8 fetch 1 ,mem_24g_device2_bind_disable 
+00b6 247a0000 nrtn blank 
+00b7 202049ec branch g24_bind_second_step_device2 
 
 p_g24_bind_third_step:
-00b4 6fe0c4f4 fetch 1 ,mem_24g_pair_switch 
-00b5 203a00ba branch p_g24_bind_third_step_skip ,blank 
-00b6 6fe2452f fetch 4 ,mem_24g_rxdata_temp + 4 
-00b7 684a456f fetcht 4 ,mem_24g_transmitter_addr 
-00b8 98467c00 isub temp ,null 
-00b9 24628000 nrtn zero 
+00b8 6fe0c4f4 fetch 1 ,mem_24g_pair_switch 
+00b9 203a00be branch p_g24_bind_third_step_skip ,blank 
+00ba 6fe2452f fetch 4 ,mem_24g_rxdata_temp + 4 
+00bb 684a456f fetcht 4 ,mem_24g_transmitter_addr 
+00bc 98467c00 isub temp ,null 
+00bd 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-00ba 6fe0c52e fetch 1 ,mem_24g_rxdata_temp + 3 
-00bb c00080be beq datatype_device1 ,p_g24_bind_third_step_device1 
-00bc c00100c5 beq datatype_device2 ,p_g24_bind_third_step_device2 
-00bd 20600000 rtn 
+00be 6fe0c52e fetch 1 ,mem_24g_rxdata_temp + 3 
+00bf c00080c2 beq datatype_device1 ,p_g24_bind_third_step_device1 
+00c0 c00100c9 beq datatype_device2 ,p_g24_bind_third_step_device2 
+00c1 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-00be 6fe0c5d7 fetch 1 ,mem_24g_device1_bind_disable 
-00bf 247a0000 nrtn blank 
-00c0 6fe0c518 fetch 1 ,mem_24g_device1_bind_step 
-00c1 c00100c3 beq 2 ,p_g24_bind_dvc1_step_success 
-00c2 20600000 rtn 
+00c2 6fe0c5d7 fetch 1 ,mem_24g_device1_bind_disable 
+00c3 247a0000 nrtn blank 
+00c4 6fe0c518 fetch 1 ,mem_24g_device1_bind_step 
+00c5 c00100c7 beq 2 ,p_g24_bind_dvc1_step_success 
+00c6 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-00c3 7045d701 jam 1 ,mem_24g_device1_bind_disable 
-00c4 20204a02 branch g24_bind_dvc1_step_success + 1 
+00c7 7045d701 jam 1 ,mem_24g_device1_bind_disable 
+00c8 20204a02 branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-00c5 6fe0c5d8 fetch 1 ,mem_24g_device2_bind_disable 
-00c6 247a0000 nrtn blank 
-00c7 6fe0c519 fetch 1 ,mem_24g_device2_bind_step 
-00c8 c08000ca bne 0 ,p_g24_bind_dvc2_step_success 
-00c9 20600000 rtn 
+00c9 6fe0c5d8 fetch 1 ,mem_24g_device2_bind_disable 
+00ca 247a0000 nrtn blank 
+00cb 6fe0c519 fetch 1 ,mem_24g_device2_bind_step 
+00cc c08000ce bne 0 ,p_g24_bind_dvc2_step_success 
+00cd 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-00ca 7045d801 jam 1 ,mem_24g_device2_bind_disable 
-00cb 20204a0d branch g24_bind_dvc2_step_success + 1 
+00ce 7045d801 jam 1 ,mem_24g_device2_bind_disable 
+00cf 20204a0d branch g24_bind_dvc2_step_success + 1 
 
 p_g24_data_attemp:
-00cc 6fe0c52e fetch 1 ,mem_24g_rxdata_temp + 3 
-00cd c00080d0 beq datatype_device1 ,p_g24_data_attemp_device1 
-00ce c00100d3 beq datatype_device2 ,p_g24_data_attemp_device2 
-00cf 20600000 rtn 
+00d0 6fe0c52e fetch 1 ,mem_24g_rxdata_temp + 3 
+00d1 c00080d4 beq datatype_device1 ,p_g24_data_attemp_device1 
+00d2 c00100d7 beq datatype_device2 ,p_g24_data_attemp_device2 
+00d3 20600000 rtn 
 
 p_g24_data_attemp_device1:
-00d0 6fe0c5d7 fetch 1 ,mem_24g_device1_bind_disable 
-00d1 247a0000 nrtn blank 
-00d2 20204c24 branch g24_data_attemp_device1 
+00d4 6fe0c5d7 fetch 1 ,mem_24g_device1_bind_disable 
+00d5 247a0000 nrtn blank 
+00d6 20204c24 branch g24_data_attemp_device1 
 
 p_g24_data_attemp_device2:
-00d3 6fe0c5d8 fetch 1 ,mem_24g_device2_bind_disable 
-00d4 247a0000 nrtn blank 
-00d5 20204c28 branch g24_data_attemp_device2 
+00d7 6fe0c5d8 fetch 1 ,mem_24g_device2_bind_disable 
+00d8 247a0000 nrtn blank 
+00d9 20204c28 branch g24_data_attemp_device2 
 
 p_g24_search_mode_auto:
-00d6 6fe0c559 fetch 1 ,mem_24g_work_mode 
-00d7 c1838000 rtnne dongle_search 
-00d8 204000da call p_g24_search_mode_init 
-00d9 20204b1b branch g24_search_mode_auto + 4 
+00da 6fe0c559 fetch 1 ,mem_24g_work_mode 
+00db c1838000 rtnne dongle_search 
+00dc 204000de call p_g24_search_mode_init 
+00dd 20204b1b branch g24_search_mode_auto + 4 
 
 p_g24_search_mode_init:
-00da 6fe0c558 fetch 1 ,mem_24g_mode_init 
-00db c3838000 rtnbit1 dongle_search 
-00dc 79207e07 set1 dongle_search ,pdata 
-00dd 67e0c558 store 1 ,mem_24g_mode_init 
-00de 6fe0c566 fetch 1 ,mem_tx_power_temp 
-00df 67e0c116 store 1 ,mem_tx_power 
-00e0 20204b0b branch g24_search_mode_init + 4 
+00de 6fe0c558 fetch 1 ,mem_24g_mode_init 
+00df c3838000 rtnbit1 dongle_search 
+00e0 79207e07 set1 dongle_search ,pdata 
+00e1 67e0c558 store 1 ,mem_24g_mode_init 
+00e2 6fe0c566 fetch 1 ,mem_tx_power_temp 
+00e3 67e0c116 store 1 ,mem_tx_power 
+00e4 20204b0b branch g24_search_mode_init + 4 
 
 p_g24_receive_packet_start_next:
-00e1 6fe0c52d fetch 1 ,mem_24g_rxdata_temp + 2 
-00e2 c00080e6 beq datatype_device1 ,p_g24_data_device1 
-00e3 c0014a69 beq datatype_device2 ,g24_data_device2 
-00e4 c07f80f7 beq datatype_attemp ,p_g24_data_receive_attemp 
-00e5 20204a54 branch g24_rx_interrupt_clear 
+00e5 6fe0c52d fetch 1 ,mem_24g_rxdata_temp + 2 
+00e6 c00080ea beq datatype_device1 ,p_g24_data_device1 
+00e7 c0014a69 beq datatype_device2 ,g24_data_device2 
+00e8 c07f80fb beq datatype_attemp ,p_g24_data_receive_attemp 
+00e9 20204a54 branch g24_rx_interrupt_clear 
 
 p_g24_data_device1:
-00e6 20404a22 call g24_binding_dvc1_living 
-00e7 20404bbd call g24_ch_timer_reinit 
-00e8 6fe0c54d fetch 1 ,mem_24g_abort_packet 
-00e9 6848c52b fetcht 1 ,mem_24g_rxdata_temp 
-00ea 284ffe03 isolate1 bit_abort ,temp 
-00eb 7920fe00 setflag true ,0 ,pdata 
-00ec 67e0c54d store 1 ,mem_24g_abort_packet 
-00ed c00080ef beq 1 ,p_g24_data_attemp_device1_abort 
-00ee 20204a62 branch g24_data_device1 + 8 
+00ea 20404a22 call g24_binding_dvc1_living 
+00eb 20404bbd call g24_ch_timer_reinit 
+00ec 6fe0c54d fetch 1 ,mem_24g_abort_packet 
+00ed 6848c52b fetcht 1 ,mem_24g_rxdata_temp 
+00ee 284ffe03 isolate1 bit_abort ,temp 
+00ef 7920fe00 setflag true ,0 ,pdata 
+00f0 67e0c54d store 1 ,mem_24g_abort_packet 
+00f1 c00080f3 beq 1 ,p_g24_data_attemp_device1_abort 
+00f2 20204a62 branch g24_data_device1 + 8 
 
 p_g24_data_attemp_device1_abort:
-00ef 6fe0c095 fetch 1 ,mem_device_option 
-00f0 1fe67c0e sub pdata ,dvc_op_car ,null 
-00f1 2042cf01 call car_stop_blink ,zero 
-00f2 6fe0c5d7 fetch 1 ,mem_24g_device1_bind_disable 
-00f3 247a0000 nrtn blank 
-00f4 7045d701 jam 1 ,mem_24g_device1_bind_disable 
-00f5 6fe24535 fetch 4 ,mem_24g_rxdata_temp + 10 
-00f6 20204c26 branch g24_store_device1_addr 
+00f3 6fe0c095 fetch 1 ,mem_device_option 
+00f4 1fe67c0e sub pdata ,dvc_op_car ,null 
+00f5 2042cf01 call car_stop_blink ,zero 
+00f6 6fe0c5d7 fetch 1 ,mem_24g_device1_bind_disable 
+00f7 247a0000 nrtn blank 
+00f8 7045d701 jam 1 ,mem_24g_device1_bind_disable 
+00f9 6fe24535 fetch 4 ,mem_24g_rxdata_temp + 10 
+00fa 20204c26 branch g24_store_device1_addr 
 
 p_g24_data_receive_attemp:
-00f7 20404a30 call g24_bind_device_status 
-00f8 202000cc branch p_g24_data_attemp 
+00fb 20404a30 call g24_bind_device_status 
+00fc 202000d0 branch p_g24_data_attemp 
               org 0x3800
 
 start:
Index: program/patch.prog
===================================================================
--- /branch/usb/usb_public_125K/program/patch.prog	(revision 324)
+++ /branch/usb/usb_public_125K/program/patch.prog	(working copy)
@@ -90,6 +90,7 @@
 p_usb_init:
 	call enable_authrom
 	call usb_init_param
+	call p_usb_manufacturer_update
 	jam 0x03,mem_devicedesc+17	//enable iSerialNumber
 	jam 0x00,core_usb_config
 	nop 10000
@@ -106,6 +107,11 @@
 	store 2,core_usb_rx_eaddr
 	branch usb_init+16
 
+p_usb_manufacturer_update:
+	fetch 6,mem_usb_manufacturer_info
+	store 6,mem_string1
+	rtn
+
 
 p_le_enable_phy_by_pdata:
 	copy temp,pdata
Index: sched/dongle.dat
===================================================================
--- /branch/usb/usb_public_125K/sched/dongle.dat	(revision 322)
+++ /branch/usb/usb_public_125K/sched/dongle.dat	(working copy)
@@ -19,18 +19,20 @@
 mem_dg_24g_tx_power_default:06	#10dBm
 
 #usb config
-#mem_dg_usb_vid_pid:
-#01 #disable
+mem_dg_usb_vid_pid:
+01 #disable
 #mouse only#auto pair
-#5f 14#VID
-#0e 03#PID
+0e 30#VID
+00 28#PID
 #mouse & keyboard
-#5f 14#VID
-#0e 03#PID
+0e 30#VID
+00 28#PID
 #mem_dg_usb_tx_interval:00
 #mem_dg_usb_device_name:
 #'Trust GXT Wireless Mouse
 
+mem_usb_manufacturer_info:
+'Smart
 
 #rf config
 mem_24g_lap:77 46 13 ad 06 13#low 4B used for 24g rxaddr
