Translation update done using Pootle.
[gammu.git] / libgammu / gsmphones.c
blobfd127b4f2b43556ef9f38345eaece1d4a00d1117
1 /**
2 * \file gsmphones.c
4 * Phone features database.
5 */
6 /* (c) 2002-2005 by Marcin Wiacek and Michal Cihar */
7 /* Phones ID (c) partially by Walek */
9 #include <gammu-config.h>
10 #include <gammu-info.h>
12 #include "gsmphones.h"
13 #include "gsmstate.h"
15 #include "debug.h"
17 #include <string.h>
18 #include <stdlib.h>
20 #include <ctype.h>
22 #include "../helper/string.h"
24 #define MAX_FEATURE_NAME_LEN 20
26 typedef struct {
27 char name[MAX_FEATURE_NAME_LEN + 1];
28 GSM_Feature feature;
29 } GSM_FeatureName;
31 GSM_FeatureName AllFeatureNames[] = {
32 {"CAL33", F_CAL33},
33 {"CAL52", F_CAL52},
34 {"CAL82", F_CAL82},
35 {"RING_SM", F_RING_SM},
36 {"NORING", F_NORING},
37 {"NOPBKUNICODE", F_NOPBKUNICODE},
38 {"NOWAP", F_NOWAP},
39 {"NOCALLER", F_NOCALLER},
40 {"NOPICTURE", F_NOPICTURE},
41 {"NOPICTUREUNI", F_NOPICTUREUNI},
42 {"NOSTARTUP", F_NOSTARTUP},
43 {"NOCALENDAR", F_NOCALENDAR},
44 {"NOSTARTANI", F_NOSTARTANI},
45 {"POWER_BATT", F_POWER_BATT},
46 {"PROFILES33", F_PROFILES33},
47 {"PROFILES51", F_PROFILES51},
48 {"MAGICBYTES", F_MAGICBYTES},
49 {"NODTMF", F_NODTMF},
50 {"DISPSTATUS", F_DISPSTATUS},
51 {"NOCALLINFO", F_NOCALLINFO},
52 {"DAYMONTH", F_DAYMONTH},
53 {"PBK35", F_PBK35},
54 {"PBKIMG", F_PBKIMG},
55 {"PBKTONEGAL", F_PBKTONEGAL},
56 {"PBKSMSLIST", F_PBKSMSLIST},
57 {"PBKUSER", F_PBKUSER},
58 {"6230iCALLER", F_6230iCALLER},
59 {"RADIO", F_RADIO},
60 {"TODO63", F_TODO63},
61 {"TODO66", F_TODO66},
62 {"NOMIDI", F_NOMIDI},
63 {"BLUETOOTH", F_BLUETOOTH},
64 {"NOFILESYSTEM", F_NOFILESYSTEM},
65 {"NOMMS", F_NOMMS},
66 {"NOGPRSPOINT", F_NOGPRSPOINT},
67 {"CAL35", F_CAL35},
68 {"CAL65", F_CAL65},
69 {"WAPMMSPROXY", F_WAPMMSPROXY},
70 {"CHAT", F_CHAT},
71 {"SYNCML", F_SYNCML},
72 {"FILES2", F_FILES2},
73 {"NOFILE1", F_NOFILE1},
74 {"6230iWAP", F_6230iWAP},
75 {"PROFILES", F_PROFILES},
76 {"SERIES40_30", F_SERIES40_30},
77 {"SMS_FILES", F_SMS_FILES},
78 {"3220_MMS", F_3220_MMS},
79 {"VOICETAGS", F_VOICETAGS},
80 {"CAL62", F_CAL62},
81 {"NOTES", F_NOTES},
82 {"SMSONLYSENT", F_SMSONLYSENT},
83 {"BROKENCPBS", F_BROKENCPBS},
84 {"M20SMS", F_M20SMS},
85 {"SLOWWRITE", F_SLOWWRITE},
86 {"SMSME900", F_SMSME900},
87 {"ALCATEL", F_ALCATEL},
88 {"OBEX", F_OBEX},
89 {"IRMC_LEVEL_2", F_IRMC_LEVEL_2},
90 {"MODE22", F_MODE22},
91 {"SMS_LOCATION_0", F_SMS_LOCATION_0},
92 {"NO_UCS2", F_NO_UCS2},
93 {"FORCE_UTF8", F_FORCE_UTF8},
94 {"SMS_SM", F_SMS_SM},
95 {"SMS_ME", F_SMS_ME},
96 {"XLNK", F_XLNK},
97 {"SUBMIT_SIM_ONLY", F_SUBMIT_SIM_ONLY},
98 {"PBK_UNICODE", F_PBK_UNICODE},
99 {"SQWE", F_SQWE},
100 {"NO_ATOBEX", F_NO_ATOBEX},
101 {"LENGTH_BYTES", F_LENGTH_BYTES},
102 {"BROKEN_CMGL", F_BROKEN_CMGL},
103 {"EXTRA_PBK_FIELD", F_EXTRA_PBK_FIELD},
104 {"CKPD_NO_UNICODE", F_CKPD_NO_UNICODE},
105 {"LAST_VALUE", F_LAST_VALUE},
106 {"CPROT", F_CPROT},
107 {"PBKFAVORITEMESSAGE", F_PBKFAVORITEMESSAGE},
108 {"PBKNOPOSTAL", F_PBKNOPOSTAL},
109 {"PBK_ENCODENUMBER", F_PBK_ENCODENUMBER},
110 {"NO_CLIP", F_NO_CLIP},
111 {"ENCODED_USSD", F_ENCODED_USSD},
112 {"USE_SMSTEXTMODE", F_USE_SMSTEXTMODE},
113 {"CPIN_NO_OK", F_CPIN_NO_OK},
114 {"FOUR_DIGIT_YEAR", F_FOUR_DIGIT_YEAR},
115 {"SMS_NO_ME", F_SMS_NO_ME},
116 {"SMS_NO_SM", F_SMS_NO_SM},
117 {"SIEMENS_PBK", F_SIEMENS_PBK},
118 {"NO_ATSYNCML", F_NO_ATSYNCML},
119 {"MOBEX", F_MOBEX},
120 {"TSSPCSW", F_TSSPCSW},
121 {"DISABLE_GETNEXT", F_DISABLE_GETNEXT},
122 {"DISABLE_GETNEXTSMS", F_DISABLE_GETNEXTSMS},
123 {"DISABLE_CMGL", F_DISABLE_CMGL},
124 {"NO_UTF8", F_NO_UTF8},
125 {"SAMSUNG_UTF8", F_SAMSUNG_UTF8},
126 {"SMS_UTF8_ENCODED", F_SMS_UTF8_ENCODED},
127 {"NO_STOP_CUSD", F_NO_STOP_CUSD},
128 {"READ_SMSTEXTMODE", F_READ_SMSTEXTMODE},
129 {"", 0},
132 const char *GSM_FeatureToString(GSM_Feature feature)
134 GSM_FeatureName *current;
135 for (current = AllFeatureNames; current->feature != 0; current++) {
136 if (current->feature == feature)
137 return current->name;
139 return NULL;
142 GSM_Feature GSM_FeatureFromString(const char * feature)
144 GSM_FeatureName *current;
145 for (current = AllFeatureNames; current->feature != 0; current++) {
146 if (strcasecmp(current->name, feature) == 0)
147 return current->feature;
149 return 0;
152 GSM_Error GSM_SetFeatureString(GSM_Feature *list, const char *string)
154 char *buffer, *pos, *end, *tmp;
155 int out = 0;
156 GSM_Error error = ERR_UNKNOWN;
158 /* Working copy */
159 buffer = strdup(string);
160 if (buffer == NULL)
161 return ERR_MOREMEMORY;
163 pos = buffer;
164 while (strlen(pos) > 0) {
165 end = strchr(pos, ',');
166 if (end != NULL) {
167 *end = 0;
170 while (isspace(*pos))
171 pos++;
173 while ((tmp = strchr(pos, ' ')) != NULL)
174 *tmp = 0;
176 list[out] = GSM_FeatureFromString(pos);
177 if (list[out] == 0) {
178 smfprintf(NULL, "Bad feature string: %s\n", pos);
179 error = ERR_BADFEATURE;
180 break;
182 out++;
183 if (out >= GSM_MAX_PHONE_FEATURES) {
184 smfprintf(NULL, "Too much features: %s\n", pos);
185 error = ERR_MOREMEMORY;
186 break;
188 if (end != NULL) {
189 pos = end + 1;
190 } else {
191 /* We're done */
192 error = ERR_NONE;
193 break;
196 free(buffer);
197 buffer=NULL;
198 return error;
202 * Flags needed for various phone models.
204 GSM_PhoneModel allmodels[] = {
205 #ifdef GSM_ENABLE_NOKIA650
206 {"0650" ,"THF-12","", {0}},
207 #endif
208 #ifdef GSM_ENABLE_NOKIA6110
209 {"2100" ,"NAM-2" ,"", {F_NOWAP,F_NOCALLER,F_RING_SM,F_CAL33,F_POWER_BATT,F_PROFILES33,F_NOCALLINFO,F_NODTMF,0}},/* guess */
210 {"3210" ,"NSE-8" ,"", {F_NOWAP,F_NOCALLER,F_NOCALENDAR,F_POWER_BATT,F_PROFILES51,F_NOCALLINFO,F_NODTMF,0}},
211 {"3210" ,"NSE-9" ,"", {F_NOWAP,F_NOCALLER,F_NOCALENDAR,F_NOPBKUNICODE,F_POWER_BATT,F_PROFILES51,F_NOPICTUREUNI,F_NOCALLINFO,F_NODTMF,0}},
212 {"3310" ,"NHM-5" ,"", {F_NOWAP,F_NOCALLER,F_RING_SM,F_CAL33,F_POWER_BATT,F_PROFILES33,F_NOCALLINFO,F_NODTMF,0}},
213 {"3330" ,"NHM-6" ,"", {F_NOCALLER,F_RING_SM,F_CAL33,F_PROFILES33,F_NOPICTUREUNI,F_NOCALLINFO,F_NODTMF,0}},
214 {"3390" ,"NPB-1" ,"", {F_NOWAP,F_NOCALLER,F_RING_SM,F_CAL33,F_PROFILES33,F_NOPICTUREUNI,F_NOCALLINFO,F_NODTMF,0}},
215 {"3390b" ,"NPB-1RB" ,"", {F_NOWAP,F_NOCALLER,F_RING_SM,F_CAL33,F_PROFILES33,F_NOPICTUREUNI,F_NOCALLINFO,F_NODTMF,0}},
216 {"3410" ,"NHM-2" ,"", {F_RING_SM,F_CAL33,F_PROFILES33,F_NOCALLINFO,F_NODTMF,0}},
217 {"3610" ,"NAM-1" ,"", {F_NOCALLER,F_RING_SM,F_CAL33,F_POWER_BATT,F_PROFILES33,F_NOCALLINFO,F_NODTMF,0}},/* guess */
218 {"5510" ,"NPM-5" ,"", {F_NOCALLER,F_PROFILES33,F_NOPICTUREUNI,F_RING_SM,0}},
219 {"5110" ,"NSE-1" ,"", {F_NOWAP,F_NOCALLER,F_NORING,F_NOPICTURE,F_NOSTARTUP,F_NOCALENDAR,F_NOPBKUNICODE,F_PROFILES51,F_MAGICBYTES,F_DISPSTATUS,0}},
220 {"5110i","NSE-2" ,"", {F_NOWAP,F_NOCALLER,F_NORING,F_NOPICTURE,F_NOSTARTUP,F_NOCALENDAR,F_NOPBKUNICODE,F_PROFILES51,F_MAGICBYTES,F_DISPSTATUS,0}},
221 {"5130" ,"NSK-1" ,"", {F_NOWAP,F_NOCALLER,F_NORING,F_NOPICTURE,F_NOSTARTUP,F_NOCALENDAR,F_NOPBKUNICODE,F_PROFILES51,F_MAGICBYTES,F_DISPSTATUS,0}},
222 {"5190" ,"NSB-1" ,"", {F_NOWAP,F_NOCALLER,F_NORING,F_NOPICTURE,F_NOSTARTUP,F_NOCALENDAR,F_NOPBKUNICODE,F_PROFILES51,F_MAGICBYTES,F_DISPSTATUS,0}},
223 {"6110" ,"NSE-3" ,"", {F_NOWAP,F_NOPICTURE,F_NOSTARTANI,F_NOPBKUNICODE,F_MAGICBYTES,F_DISPSTATUS,0}},
224 {"6130" ,"NSK-3" ,"", {F_NOWAP,F_NOPICTURE,F_NOSTARTANI,F_NOPBKUNICODE,F_MAGICBYTES,F_DISPSTATUS,0}},
225 {"6150" ,"NSM-1" ,"", {F_NOWAP,F_NOSTARTANI,F_NOPBKUNICODE,F_MAGICBYTES,F_DISPSTATUS,F_NOPICTUREUNI,0}},
226 {"6190" ,"NSB-3" ,"", {F_NOWAP,F_NOPICTURE,F_NOSTARTANI,F_NOPBKUNICODE,F_MAGICBYTES,F_DISPSTATUS,0}},
227 #endif
228 #if defined(GSM_ENABLE_NOKIA6110) || defined(GSM_ENABLE_ATGEN)
229 {"5210" ,"NSM-5" ,"Nokia 5210", {F_CAL52,F_NOSTARTANI,F_NOPICTUREUNI,F_NODTMF,0}},
230 {"8210" ,"NSM-3" ,"Nokia 8210", {F_NOWAP,F_NOSTARTANI,F_NOPBKUNICODE,F_NOPICTUREUNI,0}},
231 {"8250" ,"NSM-3D","Nokia 8250", {F_NOWAP,F_NOSTARTANI,F_CAL82,F_NOPICTUREUNI,0}},
232 {"8290" ,"NSB-7" ,"Nokia 8290", {F_NOWAP,F_NOSTARTANI,F_NOPBKUNICODE,F_NOPICTUREUNI,0}},
233 {"8850" ,"NSM-2" ,"Nokia 8850", {0}},
234 {"8855" ,"NSM-4" ,"Nokia 8855", {0}},
235 {"8890" ,"NSB-6" ,"Nokia 8890", {0}},
236 #endif
237 #if defined(GSM_ENABLE_NOKIA7110) || defined(GSM_ENABLE_ATGEN)
238 {"6210" ,"NPE-3" ,"Nokia 6210", {F_VOICETAGS,F_CAL62,0}},
239 {"6250" ,"NHM-3" ,"Nokia 6250", {F_VOICETAGS,F_CAL62,0}},
240 {"7110" ,"NSE-5" ,"Nokia 7110", {F_CAL62,0}},
241 {"7190" ,"NSB-5" ,"Nokia 7190", {F_CAL62,0}},
242 #endif
243 #ifdef GSM_ENABLE_NOKIA6510
244 {"1100" ,"RH-18" ,"", {0}},
245 {"1100a","RH-38" ,"", {0}},
246 {"1100b","RH-36" ,"", {0}},
247 {"2650", "RH-53" ,"", {F_PBKTONEGAL,F_PBKSMSLIST,0}},/* fixme */
248 {"3100" ,"RH-19" ,"", {F_PBKTONEGAL,F_PBKSMSLIST,0}},/* fixme */
249 {"3100b","RH-50" ,"", {F_PBKTONEGAL,F_PBKSMSLIST,0}},/* fixme */
250 {"3105" ,"RH-48" ,"Nokia 3105", {F_PBKTONEGAL,F_PBKSMSLIST,F_VOICETAGS,0}},/* fixme */
251 {"3108", "RH-6", "Nokia 3108", {0}}, /* does it have irda ? */
252 {"3200", "RH-30" ,"Nokia 3200", {F_PBKTONEGAL,0}},/* fixme */
253 {"3200a","RH-31" ,"Nokia 3200", {F_PBKTONEGAL,0}},/* fixme */
254 {"3205", "RM-11" ,"Nokia 3205", {F_CAL62,F_PBK35,F_NOGPRSPOINT,F_VOICETAGS,F_PROFILES,F_RADIO,F_PBKSMSLIST,F_PBKTONEGAL,0}},/* fixme */
255 {"3300" ,"NEM-1" ,"Nokia 3300", {F_PBKTONEGAL,0}},/* fixme */
256 {"3300" ,"NEM-2" ,"Nokia 3300", {F_PBKTONEGAL,0}},/* fixme */
257 {"3510" ,"NHM-8" ,"", {F_CAL35,F_PBK35,F_NOGPRSPOINT,F_VOICETAGS,0}},
258 {"3510i","RH-9" ,"", {F_CAL35,F_PBK35,F_NOGPRSPOINT,F_VOICETAGS,F_PROFILES,0}},
259 {"3530" ,"RH-9" ,"", {F_CAL35,F_PBK35,F_NOGPRSPOINT,F_VOICETAGS,0}},
260 {"3589i","RH-44" ,"", {F_VOICETAGS,0}},
261 {"3590" ,"NPM-8" ,"", {0}},/* irda? */
262 {"3595" ,"NPM-10" ,"", {0}},/* irda? */
263 #endif
264 #if defined(GSM_ENABLE_NOKIA6510) || defined(GSM_ENABLE_ATGEN)
265 {"1110i","RM-93" ,"Nokia 1110i",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* guess */
266 {"1112", "RH-93" ,"Nokia 1112", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* guess */
267 {"1200", "RH-99" ,"Nokia 1200", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* guess */
268 {"1208", "RH-105","Nokia 1208", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* guess */
269 {"1209", "RH-105","Nokia 1209", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* guess */
270 {"2125i","RH-71" ,"Nokia 2125i",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* guess */
271 {"1600", "RH-64" ,"Nokia 1600",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* guess */
272 {"1650", "RM-305","Nokia 1650",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_PBKNOPOSTAL,0}},/* guess */
273 {"1680", "RM-394","Nokia 1680",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_PBKNOPOSTAL,0}},/* guess */
274 {"1681c","RH-118","Nokia 1681c",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_PBKNOPOSTAL,0}},/* guess */
275 {"2323c","RH-543","Nokia 2323c",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* guess */
276 {"2330c","RH-512","Nokia 2330c",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* guess */
277 {"2600", "RM-340","Nokia 2600",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_PBKNOPOSTAL,F_6230iCALLER,0}},/* guess */
278 {"2610", "RH-86", "Nokia 2610",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* guess */
279 {"2610", "RH-87" ,"Nokia 2610",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* guess */
280 {"2630", "RM-298","Nokia 2630",{F_SERIES40_30,F_FILES2,F_TODO66,F_PBKUSER,F_RADIO,F_NOTES,F_SMS_FILES,F_PBKFAVORITEMESSAGE,F_6230iCALLER,0}},/* guess */
281 {"2630b","RM-299","Nokia 2630b",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_PBKFAVORITEMESSAGE,F_6230iCALLER,0}},/* guess */
282 {"2660", "RM-292","Nokia 2660", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* guess */
283 {"2680", "RM-392","Nokia 2680", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* guess */
284 {"2690", "RM-635","Nokia 2690", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* guess */
285 {"2700", "RM-561","Nokia 2700",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* guess */
286 {"2720a", "RM-520","Nokia 2720a",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* guess */
287 {"2730c", "RM-578","Nokia 2730c",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* guess */
288 {"2760", "RM-258","Nokia 2760",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* guess */
289 {"2760h", "RM-391","Nokia 2760h",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* guess */
290 {"3109c","RM-274","Nokia 3109c",{F_SERIES40_30,F_FILES2,F_TODO66,F_PBKUSER,F_PBKTONEGAL,F_NOTES,F_SMS_FILES,F_CHAT,F_SYNCML,F_6230iCALLER,0}},/* guess */
291 {"3110c","RM-237","Nokia 3110c",{F_SERIES40_30,F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_PBKUSER,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,F_SMS_FILES,0}},/* guess */
292 {"3120c","RM-364","Nokia 3120c",{F_SERIES40_30,F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_PBKUSER,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,F_SMS_FILES,0}},/* guess */
293 {"3220" ,"RH-37" ,"", {F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_PBKUSER,F_WAPMMSPROXY,F_NOTES,F_SYNCML,F_FILES2,F_3220_MMS,0}},
294 {"3220" ,"RH-49" ,"", {F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_PBKUSER,F_WAPMMSPROXY,F_NOTES,F_SYNCML,F_FILES2,F_3220_MMS,0}},
295 {"3500" ,"RM-272","Nokia 3500", {F_SERIES40_30,F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_PBKUSER,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,0}},/* guess */
296 {"3500" ,"RM-273","Nokia 3500", {F_SERIES40_30,F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_PBKUSER,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,0}},/* guess */
297 {"3600s" ,"RM-352","Nokia 3600s", {F_SERIES40_30,F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_PBKUSER,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,0}},/* guess */
298 {"3610f" ,"RM-429","Nokia 3610 Fold", {F_SERIES40_30,F_PBKTONEGAL,F_PBKSMSLIST,F_PBKUSER,F_TODO66,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,F_SMS_FILES,F_6230iCALLER,0}},
299 {"3720c","RM-518","Nokia 3720c",{F_SERIES40_30,F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_PBKUSER,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,F_6230iCALLER,0}},/* guess */
300 {"3710f","RM-509","Nokia 3710 Fold",{F_SERIES40_30,F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_PBKUSER,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,F_6230iCALLER,0}},/* guess */
301 {"5000", "RM-362","Nokia 5000", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* guess */
302 {"5000d-2b", "RM-363","Nokia 5000d-2b", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* guess */
303 {"5100" ,"NPM-6" ,"Nokia 5100", {F_PBKTONEGAL,F_TODO66,F_RADIO,0}},
304 {"5130" ,"RM-495","Nokia 5130", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* guess */
305 {"5100" ,"NPM-6U","Nokia 5100", {F_PBKTONEGAL,F_TODO66,F_RADIO,0}},
306 {"5100" ,"NPM-6X","Nokia 5100", {F_PBKTONEGAL,F_TODO66,F_RADIO,0}},
307 {"5140" ,"NPL-4" ,"Nokia 5140", {F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKUSER,F_WAPMMSPROXY,F_CHAT, F_SYNCML,0}},
308 {"5140" ,"NPL-5" ,"Nokia 5140", {F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKUSER,F_WAPMMSPROXY,F_CHAT, F_SYNCML,0}},
309 {"5140i","RM-104","Nokia 5140i",{F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKUSER,F_WAPMMSPROXY,F_CHAT, F_SYNCML,0}},
310 {"5200" ,"RM-174","Nokia 5200", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},
311 {"5220" ,"RM-411","Nokia 5220", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},
312 {"5300" ,"RM-146","Nokia 5300", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},
313 {"5310" ,"RM-303","Nokia 5310", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* guess */
314 {"5310b","RM-304","Nokia 5310b", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* guess */
315 {"5610" ,"RM-242","Nokia 5610", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* guess */
316 {"6020" ,"RM-30" ,"Nokia 6020", {F_VOICETAGS, F_FILES2, F_CHAT, F_WAPMMSPROXY, F_TODO66, F_PBKTONEGAL, F_NOTES,0}},/* guess */
317 {"6020b","RM-31" ,"Nokia 6020b", {F_VOICETAGS, F_FILES2, F_CHAT, F_WAPMMSPROXY, F_TODO66, F_PBKTONEGAL, F_NOTES,0}},/* guess */
318 {"6021" ,"RM-94" ,"Nokia 6021", {F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_PBKUSER,F_WAPMMSPROXY,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,F_6230iWAP,F_6230iCALLER,0}},/* guess */
319 {"6030" ,"RM-74" ,"Nokia 6030", {F_VOICETAGS, F_FILES2, F_CHAT, F_WAPMMSPROXY, F_TODO66, F_PBKTONEGAL, F_NOTES, F_NOFILE1, F_RADIO,0}},/* guess */
320 {"6030b","RM-75" ,"Nokia 6030b",{F_VOICETAGS, F_FILES2, F_CHAT, F_WAPMMSPROXY, F_TODO66, F_PBKTONEGAL, F_NOTES, F_NOFILE1,0}},/* guess */
321 {"6030" ,"RM-225","Nokia 6030", {F_VOICETAGS, F_FILES2, F_CHAT, F_WAPMMSPROXY, F_TODO66, F_PBKTONEGAL, F_NOTES, F_NOFILE1,0}},/* guess */
322 {"6060", "RH-97" ,"Nokia 6060",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* guess */
323 {"6070" ,"RM-166","Nokia 6070", {F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_PBKUSER,F_WAPMMSPROXY,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,0}},
324 {"6070" ,"RM-167","Nokia 6070", {F_SERIES40_30,F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_PBKUSER,F_WAPMMSPROXY,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,0}},
325 {"6085" ,"RM-198","Nokia 6085", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* fixme */
326 {"6086" ,"RM-260","Nokia 6086", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* fixme */
327 {"6086" ,"RM-188","Nokia 6086", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* fixme */
328 {"6100" ,"NPL-2" ,"Nokia 6100", {F_PBKTONEGAL,F_TODO66,0}},
329 {"6101" ,"RM-76" ,"Nokia 6101", {F_PBKTONEGAL,F_TODO66,0}},
330 {"6101" ,"RM-77" ,"Nokia 6101", {F_SERIES40_30,F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_PBKUSER,F_RADIO,F_SYNCML,F_FILES2,F_PROFILES,F_VOICETAGS,F_NOTES,F_PBKIMG,0}},
331 {"6103" ,"RM-161","Nokia 6103", {F_PBKTONEGAL,F_TODO66,F_RADIO,F_NOFILE1,0}},/* fixme */
332 {"6102i","RM-162","Nokia 6102i",{F_PBKTONEGAL,F_TODO66,F_RADIO,F_NOFILE1,0}},/* fixme */
333 {"6111" ,"RM-82" ,"Nokia 6111", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},
334 {"6111" ,"RM-92" ,"Nokia 6111", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},
335 {"6125" ,"RM-178","Nokia 6125", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* fixme */
336 {"6126" ,"RM-124","Nokia 6126", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* fixme */
337 {"6131" ,"RM-115","Nokia 6131", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* fixme */
338 {"6131 NFC" ,"RM-216","Nokia 6131 NFC", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* fixme */
339 {"6151" ,"RM-200","Nokia 6151", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* fixme */
340 {"6170" ,"RM-47" ,"Nokia 6170", {F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_PBKUSER,F_WAPMMSPROXY,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,0}},
341 {"6170" ,"RM-48" ,"Nokia 6170", {F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_PBKUSER,F_WAPMMSPROXY,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,0}},
342 {"6200" ,"NPL-3" ,"Nokia 6200", {F_PBKTONEGAL,0}},
343 {"6220" ,"RH-20" ,"Nokia 6220", {F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKSMSLIST,F_PBKUSER,F_WAPMMSPROXY,F_NOTES,F_CHAT,F_SYNCML,0}},
344 {"6220c","RM-328","Nokia 6220c",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* fixme */
345 {"6230" ,"RH-12" ,"Nokia 6230", {F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKSMSLIST,F_PBKUSER,F_WAPMMSPROXY,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,0}},
346 {"6230" ,"RH-28" ,"Nokia 6230", {F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKSMSLIST,F_PBKUSER,F_WAPMMSPROXY,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,0}},
347 {"6230i","RM-72" ,"Nokia 6230i",{F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKSMSLIST,F_PBKUSER,F_WAPMMSPROXY,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,F_6230iWAP,F_6230iCALLER,0}},
348 {"6233" ,"RM-145","Nokia 6233", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* fixme */
349 {"6234" ,"RM-123","Nokia 6234", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* fixme */
350 {"6270" ,"RM-56","Nokia 6270", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* fixme */
351 {"6275i","RM-154","Nokia 6275i", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* fixme */
352 {"6280" ,"RM-78","Nokia 6280", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* fixme */
353 {"6300" ,"RM-217" ,"Nokia 6300", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},
354 {"6303c","RM-443" ,"Nokia 6303c", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},
355 {"6303i","RM-638" ,"Nokia 6303i", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},
356 {"6310" ,"NPE-4" ,"Nokia 6310", {F_TODO63,F_CAL65,F_NOMIDI,F_NOMMS,F_VOICETAGS,0}},
357 {"6310i","NPL-1" ,"Nokia 6310i",{F_TODO63,F_CAL65,F_NOMIDI,F_BLUETOOTH,F_NOMMS,F_VOICETAGS,F_PROFILES,0}},
358 {"6340i","RH-13" ,"Nokia 6340i",{F_TODO63,F_CAL65,F_NOMIDI,F_BLUETOOTH,F_NOMMS,F_VOICETAGS,F_PROFILES,0}},
359 {"6350", "RM-455","Nokia 6350", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* fixme */
360 {"6385" ,"NHP-2AX","Nokia 6385",{F_TODO63,F_CAL65,F_NOMIDI,F_NOMMS,F_VOICETAGS,0}},
361 {"6500s","RM-240","Nokia 6500s", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* fixme */
362 {"6500c","RM-265","Nokia 6500c", {F_SERIES40_30,F_FILES2,F_TODO66,F_NOTES,F_SMS_FILES,0}},
363 {"6510" ,"NPM-9" ,"Nokia 6510", {F_TODO63,F_CAL65,F_NOMIDI,F_RADIO,F_NOFILESYSTEM,F_NOMMS,F_VOICETAGS,0}},
364 {"6610" ,"NHL-4U","Nokia 6610", {F_PBKTONEGAL,F_TODO66,F_RADIO,0}},
365 {"6610i","RM-37" ,"Nokia 6610i",{F_PBKTONEGAL,F_TODO66,F_RADIO,F_SYNCML,0}},
366 {"6600", "RM-325","Nokia 6600", {F_SERIES40_30,F_FILES2,F_TODO66,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},
367 {"6600s","RM-570","Nokia 6600s",{F_SERIES40_30,F_FILES2,F_TODO66,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},
368 {"6600s","RM-414","Nokia 6600s",{F_SERIES40_30,F_FILES2,F_TODO66,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},
369 {"6750-1b","RM-381","Nokia 3750-1b", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* fixme */
370 {"6700c","RM-470","Nokia 6700c",{F_SERIES40_30,F_FILES2,F_TODO66,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},
371 {"6800" ,"NSB-9" ,"Nokia 6800", {F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKSMSLIST,0}},
372 {"6800" ,"NHL-6" ,"Nokia 6800", {F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKSMSLIST,0}},
373 {"6810" ,"RM-2" ,"Nokia 6810", {F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKSMSLIST,F_NOTES,F_CHAT,F_SYNCML,0}},/* guess */
374 {"6820" ,"NHL-9" ,"Nokia 6820", {F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_NOTES,F_CHAT,F_SYNCML,0}},/* guess */
375 {"6822" ,"RM-68" ,"Nokia 6822", {F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_PBKUSER,F_WAPMMSPROXY,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,0}},
376 {"6822" ,"RM-69" ,"Nokia 6822", {F_PBKTONEGAL,F_TODO66,F_PBKSMSLIST,F_PBKUSER,F_WAPMMSPROXY,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,0}},
377 {"7200" ,"RH-23" ,"Nokia 7200", {F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKSMSLIST,F_PBKUSER,0}},/* guess */
378 {"7210" ,"NHL-4" ,"Nokia 7210", {F_PBKTONEGAL,F_TODO66,F_RADIO,0}},
379 {"7210s","RM-436","Nokia 7210s",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* fixme */
380 {"7230","RM-604" ,"Nokia 7230", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},
381 {"7250" ,"NHL-4J","Nokia 7250", {F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKIMG,F_SYNCML,0}},
382 {"7250i","NHL-4JX","Nokia 7250i",{F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKIMG,F_SYNCML,0}},
383 {"7260" ,"RM-17" ,"Nokia 7260", {F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKSMSLIST,F_PBKUSER,F_WAPMMSPROXY,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,0}},
384 {"7270" ,"RM-8" ,"Nokia 7270", {F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKSMSLIST,F_PBKUSER,F_WAPMMSPROXY,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,0}},
385 {"7280" ,"RM-14" ,"Nokia 7280", {F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKSMSLIST,F_PBKUSER,F_WAPMMSPROXY,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,F_6230iWAP,F_6230iCALLER,0}}, /* guess */
386 {"7310c", "RM-379","Nokia 7310c",{F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* guess */
387 {"7360" ,"RM-127","Nokia 7360", {F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKSMSLIST,F_PBKUSER,F_WAPMMSPROXY,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,0}},
388 {"7370" ,"RM-70" ,"Nokia 7370", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* fixme */
389 {"7373" ,"RM-209","Nokia 7373", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* fixme */
390 {"7500" ,"RM-249","Nokia 7500", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,0}},/* fixme */
391 {"7600", "NMM-3", "Nokia 7600", {F_TODO66,0}},
392 {"7900" ,"RM-264","Nokia 7900", {F_SERIES40_30,F_FILES2,F_TODO66,F_NOTES,F_SMS_FILES,0}},
393 {"8310" ,"NHM-7" ,"Nokia 8310", {F_CAL62,F_NOMIDI,F_RADIO,F_NOFILESYSTEM,F_NOMMS,F_VOICETAGS,0}},
394 {"8390" ,"NSB-8" ,"Nokia 8390", {F_CAL62,F_NOMIDI,F_RADIO,F_NOFILESYSTEM,F_NOMMS,F_VOICETAGS,0}},
395 {"8800" ,"RM-13" ,"Nokia 8800", {F_PBKTONEGAL,F_TODO66,F_RADIO,F_PBKSMSLIST,F_PBKUSER,F_NOTES,F_CHAT,F_SYNCML,F_FILES2,0}},
396 {"8910" ,"NHM-4" ,"Nokia 8910", {F_CAL62,F_NOMIDI,F_NOFILESYSTEM,F_NOMMS,0}},
397 {"8910i","NHM-4" ,"Nokia 8910i",{F_CAL62,F_NOMIDI,F_NOFILESYSTEM,F_NOMMS,0}},
398 {"C2-01","RM-721","Nokia C2-01", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* fixme */
399 {"C3" ,"RM-614","Nokia C3", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* fixme */
400 {"X2-00","RM-618","Nokia X2-00", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* guess */
401 {"X3" ,"RM-540","Nokia X3", {F_SERIES40_30,F_FILES2,F_TODO66,F_RADIO,F_NOTES,F_SMS_FILES,F_6230iCALLER,0}},/* fixme */
402 #endif
403 #ifdef GSM_ENABLE_NOKIA3320
404 {"3320" ,"NPC-1" ,"Nokia 3320", {F_CAL62,F_DAYMONTH,0}},/* fixme */
405 #endif
406 #if defined(GSM_ENABLE_NOKIA3650) || defined(GSM_ENABLE_ATGEN)
407 {"3650" ,"NHL-8" ,"Nokia 3650", {0}},
408 {"NGAGE","NEM-4" ,"", {F_RADIO,0}},
409 #endif
410 #if defined(GSM_ENABLE_NOKIA9210) || defined(GSM_ENABLE_ATGEN)
411 {"9210" ,"RAE-3" ,"", {0}},
412 {"9210i","RAE-5" ,"", {0}},
413 #endif
414 #if defined(GSM_ENABLE_S90) || defined(GSM_ENABLE_ATGEN)
415 {"E52", "RM-469", "Nokia E52", {0}},
416 #endif
417 #ifdef GSM_ENABLE_ATGEN
418 /* Generic AT */
419 {"at" , "at", "", {0}},
421 /* Nokia AT only */
422 {"7650", "NHL-2", "Nokia 7650", {0}},
423 {"9300", "Nokia 9300", "Nokia 9300", {0}},
424 {"N70", "Nokia E70", "Nokia E70", {0}},
425 {"E61", "Nokia E61", "Nokia E61", {0}},
427 /* Siemens */
428 {"M20" , "M20", "", {F_M20SMS,F_SLOWWRITE,0}},
429 {"MC35" , "MC35", "", {0}},
430 {"MC35i" , "MC35i", "", {0}},
431 {"TC35" , "TC35", "", {0}},
432 {"S25", "S25", "SIEMENS S25", {0}},
433 {"C35i" , "C35i", "", {0}},
434 {"S35i" , "S35i", "", {0}},
435 {"M35i" , "M35i", "", {0}},
436 {"S40" , "Siemens S40", "", {0}},
437 {"C45" , "C45", "", {0}},
438 {"S45" , "S45", "", {0}},
439 {"S45i" , "S45i", "", {0}},
440 {"ME45" , "ME45", "SIEMENS ME45", {0}},
441 {"SL45" , "SL45", "", {0}},
442 {"SL45i" , "SL45i", "", {0}},
443 {"M50" , "M50", "", {0}},
444 {"S45" , "6618" , "", {0}},
445 {"ME45" , "3618" , "", {0}},
446 {"S55" , "S55" , "", {0}},
447 {"S65" , "S65" , "SIEMENS S65", {F_SIEMENS_PBK, 0}},
448 {"S68", "S68", "", {F_OBEX,F_SQWE, 0}},
449 {"MC75" , "MC75", "", {F_NO_ATOBEX, 0}},
450 {"AX75", "AX75", "SIEMENS AX75", {F_SIEMENS_PBK, 0}},
452 /* Samsung */
453 {"E250", "SAMSUNG SGH-E250" , "", {F_FORCE_UTF8, F_SMS_SM, F_SMS_ME, 0}},
454 {"E700" , "SGH-E700" , "", {0}},
455 {"P900" , "SGH-P900" , "", {F_BROKEN_CMGL, 0}},
456 {"S100" , "SGH-S100" , "", {0}},
457 {"S200" , "SGH-S200" , "", {0}},
458 {"S300" , "SGH-S300" , "", {0}},
459 {"S500" , "SGH-S500" , "", {0}},
460 {"T100" , "SGH-T100" , "", {0}},
461 {"V200" , "SGH-V200" , "", {0}},
462 {"X461", "SGH-X461" , "", {0}},
463 {"D357", "SGH-D357" , "", {F_EXTRA_PBK_FIELD, 0}},
464 {"J750", "SGH-J750" , "", {F_NO_ATOBEX, 0}},
465 {"J700", "SGH-J700" , "", {F_NO_ATOBEX, 0}},
466 {"J700", "SAMSUNG SGH-J700" , "", {F_NO_ATOBEX, F_DISABLE_CMGL, 0}},
467 {"D980", "SAMSUNG SGH-D980" , "", {F_NO_ATOBEX, 0}},
468 {"B2100", "SAMSUNG B2100", "", {F_DISABLE_CMGL,
469 F_SMS_SM, F_SMS_ME,
470 F_SMS_UTF8_ENCODED,
471 F_READ_SMSTEXTMODE,
472 F_FORCE_UTF8,
473 F_NO_UTF8, F_SAMSUNG_UTF8,
474 F_TSSPCSW, F_OBEX, F_IRMC_LEVEL_2, 0}},
476 /* Philips */
477 {"Xenium 9@9d", "Xenium 9@9d", "", {F_OBEX, 0}},
479 /* Ericsson/Sony Ericsson */
480 {"T28s", "1101101-BVT28s","", {F_OBEX, 0}},
481 {"R320s" , "1101201-BV R320s","", {F_OBEX, 0}},
482 {"R380s", "7100101-BVR380s" ,"", {F_OBEX, 0}},
483 {"R520m", "1130101-BVR520m" ,"", {F_OBEX, 0}},
484 {"T39m", "1130102-BVT39m" ,"", {F_OBEX, 0}},
485 {"T65", "1101901-BVT65" , "", {F_OBEX, 0}},
486 {"T68", "1130201-BVT68" , "", {F_OBEX, 0}},
487 {"T68i", "1130202-BVT68" , "", {F_OBEX, 0}},
488 {"R600", "102001-BVR600" , "", {F_OBEX, 0}},
489 {"T200", "1130501-BVT200" ,"", {F_OBEX, 0}},
490 {"T300", "1130601-BVT300" ,"T300", {F_OBEX, 0}},
491 {"T310", "1130602-BVT310" ,"", {F_OBEX, 0}},
492 {"P800", "7130501-BVP800" ,"", {F_OBEX, 0}},
494 /* Ericsson/Sony Ericsson till 2003, not verified */
495 {"T106", "1022101-BV" ,"", {F_OBEX, 0}},
496 {"SH888", "1100801-BV" ,"", {F_OBEX, 0}},
497 {"R250s PRO", "1100802-BV" ,"", {F_OBEX, 0}},
498 {"A1018s", "1100901-BV" ,"", {F_OBEX, 0}},
499 {"A1018sc", "1100901-CN" ,"", {F_OBEX, 0}},
500 {"A1028s", "1100902-BV" ,"", {F_OBEX, 0}},
501 {"A1028sc", "1100902-CN" ,"", {F_OBEX, 0}},
502 {"T18s", "1101001-BV" ,"", {F_OBEX, 0}},
503 {"T18sc", "1101001-CN" ,"", {F_OBEX, 0}},
504 {"T10s", "1101002-BV" ,"", {F_OBEX, 0}},
505 {"T10sc", "1101002-CN" ,"", {F_OBEX, 0}},
506 {"T28s", "1101101-BC" ,"", {F_OBEX, 0}},
507 {"T28sc", "1101101-CN" ,"", {F_OBEX, 0}},
508 {"R310s", "1101102-BC" ,"", {F_OBEX, 0}},
509 {"R310sc", "1101102-CN" ,"", {F_OBEX, 0}},
510 {"R320s", "1101201-BV" ,"", {F_OBEX, 0}},
511 {"R320sc", "1101201-CN" ,"", {F_OBEX, 0}},
512 {"T20e", "1101401-BV" ,"", {F_OBEX, 0}},
513 {"T20ec", "1101401-CN" ,"", {F_OBEX, 0}},
514 {"A2618s", "1101501-BV" ,"", {F_OBEX, 0}},
515 {"A2618sc", "1101501-CN" ,"", {F_OBEX, 0}},
516 {"A2628s", "1101502-BV" ,"", {F_OBEX, 0}},
517 {"A2628sc", "1101502-CN" ,"", {F_OBEX, 0}},
518 {"T29s", "1101601-BV" ,"", {F_OBEX, 0}},
519 {"T29sc", "1101601-CN" ,"", {F_OBEX, 0}},
520 {"A3618s", "1101801-BV" ,"", {F_OBEX, 0}},
521 {"A3618sc", "1101801-CN" ,"", {F_OBEX, 0}},
522 {"T65", "1101901-BV" ,"", {F_OBEX, 0}},
523 {"T65", "1101901-CN" ,"", {F_OBEX, 0}},
524 {"R600", "1102001-BV" ,"", {F_OBEX, 0}},
525 {"R602", "1102001-CN" ,"", {F_OBEX, 0}},
526 {"T100", "1102101-BV" ,"", {F_OBEX, 0}},
527 {"T102", "1102101-BV" ,"", {F_OBEX, 0}},
528 {"T105", "1102101-BV" ,"", {F_OBEX, 0}},
529 {"T100", "1102101-CN" ,"", {F_OBEX, 0}},
530 {"T102", "1102101-CN" ,"", {F_OBEX, 0}},
531 {"T105", "1102101-CN" ,"", {F_OBEX, 0}},
532 {"R520m", "1130101-BV" ,"", {F_OBEX, 0}},
533 {"R520mc", "1130101-CN" ,"", {F_OBEX, 0}},
534 {"T39m", "1130102-BV" ,"", {F_OBEX, 0}},
535 {"T39mc", "1130102-CN" ,"", {F_OBEX, 0}},
536 {"T68", "1130201-BV" ,"", {F_OBEX, 0}},
537 {"T68", "1130201-CN" ,"", {F_OBEX, 0}},
538 {"T68i", "1130202-BV" ,"", {F_OBEX, 0}},
539 {"T68ie", "1130202-CN" ,"", {F_OBEX, 0}},
540 {"T66", "1130401-BV" ,"", {F_OBEX, 0}},
541 {"T66", "1130401-CN" ,"", {F_OBEX, 0}},
542 {"T600", "1130402-BV" ,"", {F_OBEX, 0}},
543 {"T602", "1130402-CN" ,"", {F_OBEX, 0}},
544 {"T200", "1130501-BV" ,"", {F_OBEX, 0}},
545 {"T202", "1130501-CN" ,"", {F_OBEX, 0}},
546 {"T300", "1130601-BV" ,"", {F_OBEX, 0}},
547 {"T302", "1130601-CN" ,"", {F_OBEX, 0}},
548 {"T310", "1130602-BV" ,"", {F_OBEX, 0}},
549 {"T312", "1130602-CN" ,"", {F_OBEX, 0}},
550 {"T28 WORLD", "1141101-BV" ,"", {F_OBEX, 0}},
551 {"R190", "1150101-BV" ,"", {F_OBEX, 0}},
552 {"R290", "1180101-BV" ,"", {F_OBEX, 0}},
553 {"T106", "1222101-BV" ,"", {F_OBEX, 0}},
554 {"T608", "1250101-BV" ,"", {F_OBEX, 0}},
555 {"T306", "1260101-BV" ,"", {F_OBEX, 0}},
556 {"T316", "1260102-BV" ,"", {F_OBEX, 0}},
557 {"T106 850", "1272101-BV" ,"", {F_OBEX, 0}},
558 {"GM12", "6050102-BV" ,"", {F_OBEX, 0}},
559 {"GM22", "6100201-BV" ,"", {F_OBEX, 0}},
560 {"GM25", "6100202-BV" ,"", {F_OBEX, 0}},
561 {"GM47", "6100501-BV" ,"", {F_OBEX, 0}},
562 {"GM27", "6100502-BV" ,"", {F_OBEX, 0}},
563 {"GM29", "6100503-BV" ,"", {F_OBEX, 0}},
564 {"GM41", "6100504-BV" ,"", {F_OBEX, 0}},
565 {"GR47", "6100511-BV" ,"", {F_OBEX, 0}},
566 {"GT47", "6100512-BV" ,"", {F_OBEX, 0}},
567 {"GC75", "6130201-BV" ,"", {F_OBEX, 0}},
568 {"GC25", "6150101-BV" ,"", {F_OBEX, 0}},
569 {"GM48", "6220501-BV" ,"", {F_OBEX, 0}},
570 {"GM28", "6220502-BV" ,"", {F_OBEX, 0}},
571 {"GR48", "6220511-BV" ,"", {F_OBEX, 0}},
572 {"GT48", "6220512-BV" ,"", {F_OBEX, 0}},
573 {"R380s", "7100101-BV" ,"", {F_OBEX, 0}},
574 {"R380sc", "7100101-CN" ,"", {F_OBEX, 0}},
575 {"P800", "7130501-BV" ,"", {F_OBEX, 0}},
576 {"P802", "7130501-CN" ,"", {F_OBEX, 0}},
577 {"R380s world", "7140101-BV" ,"", {F_OBEX, 0}},
579 /* Sony-Ericsson since 2003, partly not verified */
580 {"T230", "AAA-1001012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
581 {"T228", "AAA-1001012-CN" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
582 {"T290i", "AAA-1001013-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
583 {"T290c", "AAA-1001013-CN" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
584 {"J300i/J300c", "AAA-1001021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
585 {"Z300i/Z300c", "AAA-1001031-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
586 {"J230i/J230c", "AAA-1002011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
587 {"J220i/J220c", "AAA-1002012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
588 {"J100i/J100c", "AAA-1002021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
589 {"J120i/J120c", "AAA-1002041-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
590 {"J110i/J110c", "AAA-1002042-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
591 {"K200i/K220c", "AAA-1002051-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
592 {"K220i/K220c", "AAA-1002052-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
593 {"K205i", "AAA-1002053-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
594 {"T250i/T250c", "AAA-1002061-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
595 {"K330", "AAA-1002062-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
596 {"T280i/T280c", "AAA-1002081-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
597 {"J132", "AAA-1002091-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
598 {"T226", "AAA-1041011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
599 {"T226s/T237m", "AAA-1041012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
600 {"J300a", "AAA-1041021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
601 {"Z300a", "AAA-1041031-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
602 {"J230a", "AAA-1042011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
603 {"J220a", "AAA-1042012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
604 {"J100a", "AAA-1042021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
605 {"T250a", "AAA-1042031-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
606 {"J110a", "AAA-1042041-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
607 {"K200a", "AAA-1042051-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
608 {"K205a", "AAA-1042052-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
609 {"T250a", "AAA-1042061-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
610 {"K330a", "AAA-1042062-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
611 {"T280a", "AAA-1042081-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
612 {"J132a", "AAA-1042092-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
613 {"T292a", "AAA-1061011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
614 {"T610", "AAB-1021011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
615 {"T618", "AAB-1021011-CN" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
616 {"T630", "AAB-1021012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
617 {"T628", "AAB-1021012-CN" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
618 {"Z200", "AAB-1021021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
619 {"Z208", "AAB-1021021-CN" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
620 {"Z600", "AAB-1021031-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
621 {"Z608", "AAB-1021031-CN" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
622 {"K700i", "AAB-1021041-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
623 {"K700c", "AAB-1021041-CN" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
624 {"F500i", "AAB-1021042-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
625 {"K506c", "AAB-1021042-CN" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
626 {"K500i", "AAB-1021043-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
627 {"K500c", "AAB-1021043-CN" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
628 {"K508i", "AAB-1021044-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
629 {"K508c", "AAB-1021044-CN" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
630 {"S700i", "AAB-1021051-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
631 {"S700c", "AAB-1021051-CN" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
632 {"J200i", "AAB-1021061-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
633 {"J200c", "AAB-1021061-CN" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
634 {"J210i", "AAB-1021062-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
635 {"J210c", "AAB-1021062-CN" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
636 {"K300i/K300c", "AAB-1021071-BV" ,"K300i", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
637 {"K750i/K750c", "AAB-1022011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, F_NO_CLIP, 0}},
638 {"D750i/K758c", "AAB-1022012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, F_NO_CLIP, 0}},
639 {"W800i/W800c", "AAB-1022013-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, F_NO_CLIP, 0}},
640 {"W700i/W700c", "AAB-1022014-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, F_NO_CLIP, 0}},
641 {"Z550i/Z550c", "AAB-1022015-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, F_NO_CLIP, 0}},
642 {"Z558i/Z558c", "AAB-1022016-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, F_NO_CLIP, 0}},
643 {"W550i/W550c", "AAB-1022021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
644 {"Z530i/Z530c", "AAB-1022031-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
645 {"K510i/K510c", "AAB-1022041-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
646 {"K310i/K310c", "AAB-1022042-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
647 {"K320i/K320c", "AAB-1022043-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
648 {"W200i/W200c", "AAB-1022044-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
649 {"Z310i/Z310c", "AAB-1022051-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
650 {"W830i/W830c", "AAB-1022061-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
651 {"W888c", "AAB-1022071-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
652 {"K818c", "AAB-1022081-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
653 {"Z320i", "AAB-1022091-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
654 {"Z250i/Z250c", "AAB-1022092-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
655 {"T658c", "AAB-1022101-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
656 {"W380i", "AAB-1022111-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
657 {"Z555i", "AAB-1022112-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
658 {"W350i/W350c", "AAB-1022121-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
659 {"K530c", "AAB-1022131-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
660 {"C902c", "AAB-1022141-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
661 {"R300", "AAB-1022151-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
662 {"R306/R306c", "AAB-1022161-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
663 {"T303", "AAB-1022171-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
664 {"T616", "AAB-1031011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
665 {"T637", "AAB-1031012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
666 {"K300a", "AAB-1031021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
667 {"K510a", "AAB-1032011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
668 {"K310a", "AAB-1032012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
669 {"W200a", "AAB-1032013-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
670 {"Z310a", "AAB-1032021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
671 {"Z320a", "AAB-1032041-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
672 {"Z250a", "AAB-1032042-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
673 {"W380a", "AAB-1032051-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
674 {"Z555a", "AAB-1032052-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
675 {"W350a", "AAB-1032061-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
676 {"R300a", "AAB-1032071-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
677 {"R306a", "AAB-1032081-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
678 {"T303a", "AAB-1032091-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
679 {"W205", "AAB-1880010-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
680 {"W205a", "AAB-1880011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
681 {"S312", "AAB-1880013-BV" ,"S312", {F_OBEX, F_IRMC_LEVEL_2, F_SUBMIT_SIM_ONLY, 0}},
682 {"W395/W395c", "AAB-1880014-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
683 {"W100i (Spiro)", "AAB-1880025-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
684 {"W100a (Spiro)", "AAB-1880026-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
685 {"W150i (Yendo)", "AAB-1880027-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
686 {"W150a (Yendo)", "AAB-1880028-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
687 {"Z520i/Z520c", "AAC-1052011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
688 {"Z520a", "AAC-1052012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
689 {"Z525i", "AAC-1052013-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
690 {"Z525a", "AAC-1052014-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
691 {"K550i/K550c", "AAC-1052021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
692 {"W610i/W610c", "AAC-1052022-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
693 {"K550im", "AAC-1052023-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
694 {"Z550a", "AAC-1052031-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
695 {"S500i/S500c", "AAC-1052041-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
696 {"W580i/W580c", "AAC-1052042-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
697 {"W908c", "AAC-1052051-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
698 {"K858c", "AAC-1052061-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
699 {"W302/W302c", "AAC-1052091-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
700 {"W760c", "AAC-1052101-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
701 {"S302", "AAC-1052121-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
702 {"C702a/C702c", "AAC-1052141-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
703 {"C905c", "AAC-1052151-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
704 {"F305/F305c", "AAC-1052161-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
705 {"G502c", "AAC-1052171-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
706 {"W595a/W595c", "AAC-1052191-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
707 {"Z1010", "AAD-3011011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
708 {"V800/V802SE/Z800i", "AAD-3021011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
709 {"K600i", "AAD-3021021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
710 {"V600i", "AAD-3021022-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
711 {"K608i", "AAD-3021023-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
712 {"W900i", "AAD-3022011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
713 {"W850i", "AAD-3022021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
714 {"K800i", "AAD-3022031-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
715 {"K610i", "AAD-3022041-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
716 {"K618i/V630i", "AAD-3022042-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
717 {"K610im", "AAD-3022043-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
718 {"Z610i", "AAD-3022044-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
719 {"W880i", "AAD-3022051-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
720 {"K810i", "AAD-3022061-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
721 {"W660i", "AAD-3022071-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
722 {"T650i", "AAD-3022081-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
723 {"K770i", "AAD-3022082-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
724 {"K530i", "AAD-3022091-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
725 {"K630i", "AAD-3022101-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
726 {"V640i", "AAD-3022102-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
727 {"G502", "AAD-3022121-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
728 {"W910i", "AAD-3052021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
729 {"W890i", "AAD-3052041-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
730 {"T700", "AAD-3052042-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
731 {"Z770i/Ducati", "AAD-3052051-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
732 {"K660i", "AAD-3052071-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
733 {"C702", "AAD-3052081-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
734 {"W980", "AAD-3052091-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
735 {"C902", "AAD-3052101-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
736 {"W595", "AAD-3052111-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
737 {"W595s", "AAD-3052112-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
738 {"W902/W902 plus", "AAD-3052121-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
739 {"TM506", "AAD-3132011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
740 {"CS8", "AAD-3152021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
741 {"K850i", "AAD-3252011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
742 {"K850a", "AAD-3252012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
743 {"Z750i", "AAD-3252022-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
744 {"Z750a", "AAD-3252023-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
745 {"W760i", "AAD-3252041-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
746 {"Z780i", "AAD-3252051-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
747 {"C905a", "AAD-3252071-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
748 {"G705", "AAD-3352031-AV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
749 {"G705a", "AAD-3252081-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
750 {"C905", "AAD-3352021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
751 {"G705/G705u", "AAD-3352031-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
752 {"FOMA SO905i (PTX-824)", "AAD-3624011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
753 {"FOMA SO905iCS (PTX-825)", "AAD-3624021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
754 {"FOMA SO906i (PTX-826)", "AAD-3724011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
755 {"X1", "AAD-3880001-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
756 {"X1a", "AAD-3880002-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
757 {"FOMA SO706i (PTX-828)", "AAD-3880003-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
758 {"W705a", "AAD-3880005-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
759 {"W705/W705u", "AAD-3880006-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
760 {"C901a", "AAD-3880008-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
761 {"C510", "AAD-3880009-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
762 {"C510a", "AAD-3880010-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
763 {"C901", "AAD-3880015-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
764 {"W508", "AAD-3880016-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
765 {"W518a", "AAD-3880017-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
766 {"U1i (Satio)", "AAD-3880020-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
767 {"W995", "AAD-3880023-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
768 {"W508a", "AAD-3880024-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
769 {"W715", "AAD-3880025-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
770 {"C903", "AAD-3880026-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
771 {"C903a", "AAD-3880027-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
772 {"T707", "AAD-3880029-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
773 {"TM717", "AAD-3880030-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
774 {"T707a", "AAD-3880031-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
775 {"U10i (Aino)", "AAD-3880032-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
776 {"U10a (Aino)", "AAD-3880033-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
777 {"W995a", "AAD-3880035-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
778 {"U1a (Satio)", "AAD-3880037-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
779 {"T715", "AAD-3880039-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
780 {"T715a", "AAD-3880040-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
781 {"F100i (Jalou)", "AAD-3880041-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
782 {"X2i", "AAD-3880043-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
783 {"X2a", "AAD-3880044-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
784 {"U100i (Yari)", "AAD-3880046-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
785 {"U100a (Yari)", "AAD-3880047-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
786 {"X5", "AAD-3880049-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
787 {"J105i (Naite)", "AAD-3880052-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
788 {"J105a (Naite)", "AAD-3880053-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
789 {"X10i", "AAD-3880056-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
790 {"U5i (Vivaz)", "AAD-3880058-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
791 {"U5a (Vivaz)", "AAD-3880059-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
792 {"M1i (Aspen)", "AAD-3880061-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
793 {"M1a (Aspen)", "AAD-3880062-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
794 {"J20i (Hazel)", "AAD-3880063-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
795 {"J10i2 (Elm)", "AAD-3880065-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
796 {"J10", "AAD-3880067-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
797 {"E10a (X10 mini)", "AAD-3880068-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
798 {"E10i (X10 mini)", "AAD-3880069-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
799 {"U5at", "AAD-3880070-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
800 {"U20a (X10 mini pro)", "AAD-3880071-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
801 {"U20i (X10 mini pro)", "AAD-3880072-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
802 {"X10a/SO-01B", "AAD-3880074-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
803 {"U8a (Vivaz Pro)", "AAD-3880076-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
804 {"U8i (Vivaz Pro)", "AAD-3880077-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
805 {"J20", "AAD-3880080-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
806 {"W20i", "AAD-3880083-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
807 {"W20", "AAD-3880084-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
808 {"E15i (X8)", "AAD-3880091-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
809 {"E15a (X8)", "AAD-3880092-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
810 {"J108i (Cedar)", "AAD-3880095-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
811 {"J108a (Cedar)", "AAD-3880096-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
812 {"K790i/K790c", "AAF-1022011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
813 {"Z500a", "AAF-1031011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
814 {"S710a", "AAF-1031021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
815 {"K790a", "AAF-1032011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
816 {"W712a", "AAF-1042011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
817 {"Z712a", "AAF-1042012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
818 {"W600a/W600c/W600i", "AAF-1052021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
819 {"W300i/W300c", "AAF-1052031-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
820 {"W710i/W710c", "AAF-1052041-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
821 {"Z710i/Z710c", "AAF-1052043-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
822 {"W810i/W810c", "AAF-1052051-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
823 {"Z502a", "AAF-1061011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
824 {"W62S (PTX-924)", "AAH-5025011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
825 {"W64S (PTX-930)", "AAH-5880001-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
826 {"SO001 (PTX-932)", "AAH-5880002-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
827 {"SOX01 (PTX-934)", "AAH-5880003-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
828 {"SO002 (PTX-934)", "AAH-5880005-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
829 {"SO003 (PTX-942)", "AAH-5880006-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
830 {"SO004 (PTX-943)", "AAH-5880007-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
831 {"SOY04 (PTX-94?)", "AAH-5880008-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
832 {"SO005 (PTX-945)", "AAH-5880009-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
833 {"SO006 (PTX-947)", "AAH-5880010-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
834 {"SOX02 (PTX-952)", "AAH-5880011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
835 {"SOY01 (PTX-931)", "AAJ-6880001-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
836 {"SOY02 (PTX-938)", "AAJ-6880002-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
837 {"SOY03 (PTX-941)", "AAJ-6880003-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
838 {"A8i", "AAK-7880001-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
839 {"GR64", "BAC-1051012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
840 {"GS64", "BAC-1051022-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
841 {"GA64", "BAC-1051023-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
842 {"CM52", "BAE-4001011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
843 {"CM52", "BAE-4001012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
844 {"GC82", "FAA-1041011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
845 {"P900", "FAB-1021011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
846 {"P908", "FAB-1021011-CN" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
847 {"P910i", "FAB-1021012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
848 {"P910c", "FAB-1021012-CN" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
849 {"M608c", "FAB-1022011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
850 {"W958c", "FAB-1022012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
851 {"P1c", "FAB-1022013-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
852 {"G700c", "FAB-1022015-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
853 {"P910a", "FAB-1031012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
854 {"P990i", "FAD-3022011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
855 {"M600i", "FAD-3022012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
856 {"W950i", "FAD-3022013-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
857 {"P1i", "FAD-3022015-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
858 {"W960i", "FAD-3022017-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
859 {"G700", "FAD-3022018-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
860 {"G900", "FAD-3022019-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
861 {"GC95", "FAD-3031011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
862 {"GC99", "FAD-3031012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
863 {"PC300", "FAD-3231011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
864 {"EM400", "FAD-3232011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
865 {"EC400", "FAD-3232012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
866 {"EC400g", "FAD-3232013-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
867 {"MD300", "FAD-3232021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
868 {"MD400g", "FAD-3232022-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
869 {"MD400", "FAD-3232023-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
870 {"G700 Business Edition", "FAD-3880001-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
871 {"GC79", "FAE-1021011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, F_SMS_LOCATION_0, 0}},
872 {"GC85", "FAF-1021011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
873 {"GC83", "FAF-1031011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
874 {"VDC", "FAF-1031021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
875 {"GC89", "FAF-1051011-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
876 {"GC86", "FAF-1051012-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
877 {"G702", "FAF-1052021-BV" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, 0}},
880 /* Some cards identify a bit different */
881 {"GC79", "FAE-1021011-BVGC79" ,"", {F_OBEX, F_SUBMIT_SIM_ONLY, F_SMS_LOCATION_0, 0}},
883 /* Option devices */
884 {"GlobeTrotter HSDPA Modem", "GlobeTrotter HSDPA Modem" ,"", {F_SMS_LOCATION_0, 0}},
885 {"GlobeTrotter 3G+", "GlobeTrotter 3G+" ,"", {F_SMS_LOCATION_0, 0}},
887 /* IrDA identifications for Sony-Ericsson */
888 /* At least my K750i reports itself as "Sony Ericss", so detect it for IrDA */
889 {"Generic SE", "Generic SE", "Sony Ericss", {F_OBEX, 0}},
890 {"K300 series", "K300 series", "K300 series", {F_OBEX, 0}},
891 {"K700 series", "K700 series", "K700 series", {F_OBEX, 0}},
893 /* Mitsubishi */
894 {"M341i", "M7", "MT170", {F_OBEX, F_IRMC_LEVEL_2, 0}},
896 /* Motorola */
897 {"W5", "W5", "", {F_OBEX, F_IRMC_LEVEL_2, F_MODE22, F_PBK_UNICODE, 0}},
898 {"V3", "V3 Razr", "", {F_OBEX, F_IRMC_LEVEL_2, F_MODE22, F_PBK_UNICODE, 0}},
899 {"V8", "V8", "", {F_PBK_UNICODE, 0}},
900 {"L6", "L6", "", {F_OBEX, F_IRMC_LEVEL_2, F_MODE22, F_PBK_UNICODE, 0}},
901 {"PEBL U6", "PEBL U6", "", {F_NO_ATOBEX, F_PBK_UNICODE, 0}},
902 {"Serias E", "Serias E", "", {F_OBEX, F_IRMC_LEVEL_2, F_MODE22, F_PBK_UNICODE, 0}},
903 {"E815m", "E815m", "", {F_OBEX, F_IRMC_LEVEL_2, F_MODE22, F_PBK_UNICODE, 0}},
904 {"V635", "V635", "", {F_OBEX, F_IRMC_LEVEL_2, F_MODE22, F_PBK_UNICODE, 0}},
905 {"L7", "L7", "", {F_NO_ATOBEX, F_CKPD_NO_UNICODE, F_USE_SMSTEXTMODE, 0}},
906 {"L7cm", "L7cm", "", {F_NO_ATOBEX, F_CKPD_NO_UNICODE, F_USE_SMSTEXTMODE, 0}},
907 {"K1", "K1", "", {F_NO_ATOBEX, F_PBK_UNICODE, F_USE_SMSTEXTMODE, 0}},
908 {"K1v", "K1v", "", {F_NO_ATOBEX, F_PBK_UNICODE, 0}},
909 {"Z6c", "Z6c", "", {F_NO_ATOBEX, F_PBK_UNICODE, 0}},
910 {"V180", "V180", "", {F_NO_ATOBEX, 0}},
911 {"E790", "E790", "", {F_NO_ATOBEX, 0}},
912 {"A1200e", "A1200e", "", {F_NO_ATOBEX, 0}},
913 {"RAZRV3x", "RAZRV3x", "", {F_OBEX, F_IRMC_LEVEL_2, F_MODE22, F_PBK_UNICODE, 0}},
915 /* Sharp */
916 {"GX", "GX Series", "", {F_OBEX, F_XLNK, 0}},
917 {"903SH/703SH", "903SH_703SH", "", {F_OBEX, F_XLNK, 0}}, /* Guess */
919 /* Other */
920 {"iPAQ" , "iPAQ" , "" , {0}},
921 {"A2D" , "A2D" , "" , {F_CPIN_NO_OK, 0}},
922 {"MULTIBAND 900E 1800", "MULTIBAND 900E 1800", "", {F_CPIN_NO_OK, 0}},
923 {"9210" , "RAE-3", "Nokia Communicator GSM900/1800",{0}},
924 {"MTK1" , "MTK1", "", {0}},
925 {"MTK2" , "MTK2", "", {0}},
927 /* Sagem */
928 {"myV-65", "myV-65 GPRS", "", {F_SMSME900,0}},
929 {"myX-7", "myX-7 GPRS", "", {F_OBEX, F_CPROT, F_PBK_ENCODENUMBER, 0}}, /* Guessed */
931 /* LG */
932 {"KG800", "KG800", "", {F_NO_UCS2, 0}},
934 /* Huawei */
935 {"E17X", "E17X", "", {F_NO_UCS2, 0}},
936 {"E220", "E220", "", {0}},
937 {"E160", "E160", "", {F_SMS_LOCATION_0, F_ENCODED_USSD, F_FOUR_DIGIT_YEAR, 0}},
938 {"E160X", "E160X", "", {F_SMS_LOCATION_0, F_ENCODED_USSD, F_FOUR_DIGIT_YEAR, 0}},
939 {"E161", "E161", "", {F_SMS_LOCATION_0, F_ENCODED_USSD, F_FOUR_DIGIT_YEAR, 0}},
940 {"E162", "E162", "", {F_SMS_LOCATION_0, F_ENCODED_USSD, F_FOUR_DIGIT_YEAR, 0}},
941 {"E160G", "E160G", "", {F_SMS_LOCATION_0, F_ENCODED_USSD, F_FOUR_DIGIT_YEAR, 0}},
942 {"E162G", "E162G", "", {F_SMS_LOCATION_0, F_ENCODED_USSD, F_FOUR_DIGIT_YEAR, 0}},
943 {"E169", "E169", "", {F_SMS_LOCATION_0, F_ENCODED_USSD, F_FOUR_DIGIT_YEAR, 0}},
944 {"E169G", "E169G", "", {F_SMS_LOCATION_0, F_ENCODED_USSD, F_FOUR_DIGIT_YEAR, 0}},
945 {"E171", "E171", "", {F_SMS_LOCATION_0, F_ENCODED_USSD, F_FOUR_DIGIT_YEAR, 0}},
946 {"E173", "E173", "", {F_SMS_LOCATION_0, F_ENCODED_USSD, F_FOUR_DIGIT_YEAR, 0}},
947 {"E1556", "E1556", "", {F_SMS_LOCATION_0, F_ENCODED_USSD, F_FOUR_DIGIT_YEAR, 0}},
948 {"E1550", "E1550", "", {F_SMS_LOCATION_0, F_ENCODED_USSD, F_FOUR_DIGIT_YEAR, 0}},
949 {"E1750", "E1750", "", {F_SMS_LOCATION_0, F_ENCODED_USSD, F_FOUR_DIGIT_YEAR, 0}},
950 {"EM770W", "EM770W", "", {F_SMS_LOCATION_0, F_ENCODED_USSD, F_FOUR_DIGIT_YEAR, 0}},
952 /* Ubinetics */
953 {"GDC201", "GDC201", "", {F_SMS_NO_ME, 0}},
955 /* Qualcomm */
956 {"HP un2420 Mobile Broadband Module", "un2420", "", {F_NO_STOP_CUSD, 0}},
958 #endif
959 #if defined(GSM_ENABLE_ATGEN) || defined(GSM_ENABLE_ALCATEL)
960 /* Alcatel */
961 {"BE5", "ONE TOUCH 500","", {F_ALCATEL,F_SMSONLYSENT,F_BROKENCPBS,F_LENGTH_BYTES,0}},
962 {"BH4", "ONE TOUCH 535","ALCATEL OT535", {F_ALCATEL,F_SMSONLYSENT,F_LENGTH_BYTES,0}},
963 {"BF5", "ONE TOUCH 715","ALCATEL OT715", {F_ALCATEL,F_SMSONLYSENT,F_BROKENCPBS,F_LENGTH_BYTES,0}},
964 {"OT - C55x", "OT - C55x","ALCATEL OT55x", {F_ALCATEL,0}},
965 {"OT-C825/C825A", "OT-C825/C825A","", {F_ALCATEL,0}},
966 #endif
967 {"unknown", "" ,"", {0}}
970 GSM_PhoneModel *GetModelData(GSM_StateMachine *s, const char *model, const char *number, const char *irdamodel)
972 int i, j;
974 /* Find model record if we have one */
975 for (i = 0; strcmp(allmodels[i].number, "") != 0; i++) {
976 if (model !=NULL && strcmp (model, allmodels[i].model) == 0)
977 break;
978 if (number !=NULL && strcmp (number, allmodels[i].number) == 0)
979 break;
980 if (irdamodel !=NULL && strcmp (irdamodel, allmodels[i].irdamodel) == 0)
981 break;
984 /* Force user configured features */
985 if (s != NULL && s->CurrentConfig != NULL && s->CurrentConfig->PhoneFeatures[0] != 0) {
986 for (j = 0; j <= GSM_MAX_PHONE_FEATURES && s->CurrentConfig->PhoneFeatures[j] != 0; j++) {
987 allmodels[i].features[j] = s->CurrentConfig->PhoneFeatures[j];
991 return (&allmodels[i]);
994 gboolean GSM_IsPhoneFeatureAvailable(GSM_PhoneModel *model, GSM_Feature feature)
996 int i;
998 for (i = 0; model->features[i] != 0; i++) {
999 if (model->features[i] == feature) {
1000 return TRUE;
1004 return FALSE;
1007 gboolean GSM_AddPhoneFeature(GSM_PhoneModel *model, GSM_Feature feature)
1009 int i = 0;
1011 for (i = 0; model->features[i] != 0; i++) {
1012 if (model->features[i] == feature) {
1013 return TRUE;
1017 if (i == GSM_MAX_PHONE_FEATURES) return FALSE;
1018 model->features[i++] = feature;
1019 model->features[i] = 0;
1020 return TRUE;
1023 /* How should editor hadle tabs in this file? Add editor commands here.
1024 * vim: noexpandtab sw=8 ts=8 sts=8: