3 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6 Balazs Nagy (js@lsc.hu)
7 Marcin Wiacek (Marcin-Wiacek@TOPNET.PL)
8 Jens Bennfors <jens.bennfors@ing.hj.se>
9 Michael Hund <michael@drhund.de>
10 Jay Bertrand <jay.bertrand@libertysurf.fr>
11 Gabriele Zappi <gzappi@inwind.it>
12 Markus Plail <plail@web.de>
13 Ralf Thelen <ralf@mythelen.de>
14 ... and other members of gnokii mailing list
15 and authors of some WWW pages.
17 The data provided is for information purposes only.
18 Some of the frames might be hazardous to your phone. Be careful!!!
19 We do not take any responsibility or liability for damages, etc.
21 NOTE: this information isn't (and can't be) complete. If you know anything
22 about features not listed here or you noticed a bug in this list, please
23 notify us via e-mail. Thank you.
25 Document describing frames used in
26 GSM Nokia 6210 and derivatives (7110)
27 Correct format is FBUS version 2/Infrared/MBUS version 2
28 (see nokia.txt for protocol details):
32 0x00: Connect to NBS port ?
33 r Set ringtone {+0x7c,0x01,0x00,0x0d,0x06[6],0x78,ringtone packed according to SM2.0}
34 Seems not to work in MBUS!
35 0x01: Communication Status
36 ? r Call msg { 0x0002 }
37 ? r Call in progress { 0x0003, seqnr }
38 ? r Remote end hang up { 0x0004, seqnr, ?, error (like in netmon in 39) }
39 ? r incoming call alert { 0x0005, seqnr, numlen, "number", namelen, "name" }
40 ? r answered call { 0x0007, seqnr }
41 ? r terminated call { 0x0009, seqnr }
42 ? r call msg { 0x000a, seqnr }
43 Note: in 6210 4.27 all msg from 0x01 seems to be unavailable
45 s Send SMS message { 0x0001, 0x02, 0x00 (SEND REQUEST), ... }
46 r Message sent { 0x0002 }
47 r Send failed { 0x0003, ?, ?, error (like in netmon in 65)}
48 s Incoming SMS info on { 0x000d, 0x00, 0x00, 0x02}
49 note: no info about Delivery Reports
50 r Incoming SMS info onOK{ 0x000e }
51 note: no info about Delivery Reports
52 r Incoming SMS infoonerr{ 0x000f, error }
53 where error: 0x0c - no PIN
54 r SMS message received { 0x0011, ...... } (whole message)
55 s Set CellBroadcast { 0x0020, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01 }
56 for enable cell broadcast ?
57 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
58 for disable cell broadcast ?
59 r Set CellBroadcast OK { 0x0021, 0x01 }
60 r Read CellBroadcast { 0x0023, ?, ?, ?, channel, ?, message... } ?
61 s Set SMS center { 0x0030, 0x64, priority, checksum?, format,
62 validity[2], {DefaultRecipient no.}[12],
63 {SMScenter no.}[12], {SMSC name}, 0x00}
64 where tel.no.[12]: {len, type, {number(BCD)}}
66 0x91: + (international)
75 validity: 0x000b: 1 hour
81 r Set SMS center OK { 0x0031 }
82 r Set SMS center error { 0x0032, reason }
83 s Get SMS center { 0x0033, 0x64, priority }
84 r SMS center received { 0x0034, priority, checksum?, type,
85 validity[2], {DefaultRecipient no.}[12],
86 {SMScenter no.}[12], {SMSC name}, 0x00 }
87 where priority, checksum, type, validity,
88 tel.no.[12]: see 0x02/0x0030
89 r SMS center error recv { 0x0035, reason }
91 r?? { 0x0075, 0xFF, 0x11, 0x98}
94 0x03: Phonebook functions
95 s Get memory status { 0x0103, 0x02, memory type }
96 where: memory type - see 0x03/0x0107
97 r Get memory status { 0x0104, 0x00, xL, 0x00[2], y1H, y1L, 0x10,
98 0x00[2], z?, ymaxH, ymaxL, y2H, y2L,
99 0x0d?, xH?, 0x00[2]? }
100 where y1: location (lowermost)
102 ymax: maximum location no.
103 s Read memory { 0x0107, 0x01, 0x01, 0x00, 0x01, xH, xL,
106 0x01: (256) Dialled numbers
107 0x02: (512) Missed calls
108 0x03: (768) Received calls
109 0x05: (500) telephone phonebook
110 0x06: (160) SIM phonebook
113 0x09: (4) voice mailbox
114 0x0e: (10) speed dials
115 0x10: (5) caller groups
117 r Read memory error { 0x0108, 0x00, 0x01,
118 code,0x00, 0x00, z, error}
120 error: 0x34 - phonebook location not found
121 0x3b - speed dial not assigned
122 r Read memory OK { 0x0108, 0x00, 0x01,
123 code,0x00, 0x00, z, xH, xL, yH, yL, 0x00, 0x00, 0x00, no.of blocks, { block } * }
126 z: generic block size
127 block: {id, 0, 0, blocksize, block no.,
129 id: 0x04 pointer to another memory location { 0xff?, yH, yL, xL,0x00[3] }
130 0x07 name {len, (unicode)},
133 0x0a note {len, (unicode)}
134 0x0b number {type, 0x00[3], len, (unicode)}
135 0x0c ringtone {ringtone no., 0, 0}
136 0x13 date for a called list (DC, RC, etc.)
137 0x1b caller group graphic {width, height, 0, 0 {bitmap}}
138 0x1c caller group graphic on? {(1: yes, 0: no), 0, 0}
139 0x1e caller group number {number, 0, 0}
141 0x03: Mobile (office ?),
144 0x02: Home (mobile ?)
145 s Set mem location { 0x010b, 0x00, 0x01, 0x01, 0x00, 0x00, z,
146 xH, xL, yH, yL, 0x00, 0x00, 0x00,
147 no.of blocks, { block }[no.of blocks] }
148 r Set mem location { 0x010c, 0?, 1?, code, 0?, 0?, z?, 0?, 0?,
151 0x3d - wrong entry type
152 0x3e - too much entries
153 s Delete mem location { 0x010f, 0x00, 0x01, 0x04, 0x00, 0x00, 0x0c, 0x01, 0xff, xH, xL,
157 r Delete mem location { 0x0110, 0x00, 0x00 }
158 0x06: Calling line restriction/Call forwarding etc
159 r Get call divert { 0x0001, 0x02, x, 0x00, divtype, 0x02, calltype, y, z, 0x0b, number, 0x00...0x00, timeout (byte 45) }
160 s Set call divert { 0x0001, 0x03, 0x00, divtype, calltype, 0x01, number(packed like in SMS), 0x00 ... 0x00,
161 length of number (byte 29), 0x00 ... 0x00, timeout (byte 52), 0x00, 0x00, 0x00}
172 0x02: all diverts for all call types ?
173 Found only, when deactivate all diverts for all call types (with call type 0x00)
176 0x3d: when not answered
179 0x00: all calls (data, voice, fax)
183 s Deactivate calldiverts{ 0x0001, 0x04, 0x00, divtype, calltype, 0x00 }
184 where divtype, calltype: see above
185 s Get call diverts { 0x0001, 0x05, 0x00, divtype, calltype, 0x00 }
186 where divtype, calltype: see above
188 s get used network { 0x0070 }
189 r get used network { 0x0071, available,?,?,length,netstatus,netsel,cellIDH,
190 cellIDL,lacH,lacL,MCC+MNC[3],{Opstr}, 4?,
191 len, xlen(78), ylen(21), 0, {bitmap} }
192 where {Opstr}: namelen, {operator name(unicode)}
193 len: {xlen, ylen, 0, {bitmap} + 2
194 {bitmap}: bitmaplen, 0, 0, {OTA bitmap}
195 available: 0x02 if the logo following is valid,
196 0x01 for no operator logo following
197 s get network status { 0x0081 }
198 r get network status { 0x0082, network%, 0x14? }
199 s set operator logo { 0x01a3 0x01, oplogo?, MCC+MNC[3], 0?,4?,len,
200 xlen(78),ylen(21), 0 (frames?),
201 {bitmap}*?, 0x00(padding) }
202 where len, {bitmap}: see 0x0a/0x0071
203 r set operator logo OK { 0x01a4 }
204 s clear operator logo { 0x00af, x}
206 r clear operator logo { 0x00bf}
208 s Add meeting note { 0x0001, body like in subtype 0x001a...}
209 r Add meeting note { 0x0002, location (2 bytes), status (2 bytes)}
210 s Add call note { 0x0003, body like in subtype 0x001a...}
211 r Add call note { 0x0004, location (2 bytes), status (2 bytes)}
212 s Add birthday note { 0x0005, location (2 bytes), entry type, 0x00, year of birth(2 bytes),
213 Month, Day, 0x00, 0x00, alarm (4 bytes), alarm type, length, text (Unicode)}
214 r Add birthday note { 0x0006, location (2 bytes), status (2 bytes)}
215 s Add reminder note { 0x0007, body like in subtype 0x001a...}
216 r Add reminder note { 0x0008, location (2 bytes), status (2 bytes)}
217 s Delete calendar note { 0x000b, location (2 bytes) }
218 r Delete calendar note { 0x000c, location (2 bytes), ?, ?, ?, ? }
219 s Get calendar note { 0x0019, location (2 bytes) }
220 r Calendar note recvd { 0x001a, location (2 bytes), entry type, 0x00, year (2 bytes), Month, Day, block}
221 where: entry type - 0x01 - Meeting, 0x02 - Call, 0x04 - Birthday, 0x08 - Reminder
222 block: for Meeting:{hour,minute,alarm (two bytes),recurrance (two bytes),len,0x00,string(unicode)}
223 where alarm=Number of minutes before the time of the meeting
224 that the alarm should be triggered:
225 For meetings with "No alarm"=0xFFFF (-1).
227 half an hour=0x001E, and so on.
228 Recurrance=in hours, between future occurances of this meeting.
229 If there is no repeat, this value is 0x0000. The special value 0xffff
231 for Call:{Hour,Minute,Alarm (as above),Recurrance (as above),namelen,numberlen,
232 name(unicode),number(unicode)}
233 for Reminder:{Recurrance (as above),len,0x00,string(unicode)}
234 for Birthday:{byte1,byte2,alarm(4 bytes),yearofbirth,alarmtype,len,string(unicode)}
235 byte1 and byte2 may vary (???). Usually are 0x00 both (but not always)
236 In Birthday, the Year in the common part, usually contains a strange year.
237 So, don't consider it as Year of note, neither year of BirthDay (for Year of
238 Birthday use the value described below).
239 where alarm=32-bit integer that is the number of seconds between the desired
240 alarm time and 11:59:58pm on the birthday.For "No Alarm", the value is
242 YearOfBirth=used instead of the one in the common part of the entry (see above)
243 but only when reading birthday entries. For storing entries, this field does
245 AlarmType: 0x00 - Tone, 0x01 - Silent
247 ? r??? { 0x0022, 0x5A, 0x00 }
249 ? r??? { 0x0026, 0x04, 0x00 }
251 ? r { 0x002A, 0x04, 0x00 }
252 s Get first free pos { 0x0031 }
253 r Get first free pos { 0x0032, location (2bytes) }
254 s Get notes info { 0x003a, 0xFF, 0xFE}
255 r Get notes info { 0x003b, how many notes used (2 bytes), 0x01, 0x07, { two bytes with location for each note} *}
256 ? s Get calendar note?? { 0x003E, location (2 bytes) }
257 ? r Get calendar note?? { 0x003F, location (2bytes), ... }
259 s Get Picture Image { 0x0007, location, number[2 bytes], 0x00, 0x64 }
260 r Get Picture Image { 0x0008, 0x07, location, number[2 bytes], 0x07, ??[38],
261 width, height, lenH, lenL, {bitmap}, 0x00, 0x00, text len, text(coded like in SMS)...}
262 r Get SMS failed { 0x0009, 0x02 },
263 s Get SMS status { 0x0036, 0x64 }
264 r Get SMS Status { 0x0037, 0x05/0x03, 0x01, 0x00, 0x00,
265 a (2 octets), b (2 octets), c (2 octets),
266 d (2 octets), e (2 octets), 0x00
268 a - according to P.Kot:
269 Number of locations in "fixed" memory. These are all
270 Templates entries in my Nokias 6210 (NPE-3 (c) NMP V05.36
271 14-11-01, NPE-3 (c) NMP V05.27 01-08-01).
272 I can't remove any of Templates entries in my phone.
273 Marcin Wi¥cek: Rather not ! I don't agree.
274 I have 0x00, 0x0f and 10 templates and 3 SMS
275 and 10 Picture Images.
276 b - Number of used messages in phone memory. These
277 are messages manually moved from the other folders.
278 Picture messages are saved here.
279 c - Number of unread messages in phone memory. Probably
280 only smart messsages.
281 d - Number of used messages in SIM memory. These are
282 either received messages or saved into Outbox/Inbox.
283 Note that you *can't* save message into this memory
284 using 'Move' option. Picture messages are not here.
285 e - Number of unread messages in SIM memory
287 s Set Picture Image { 0x0050, 0x07, location, number[2 bytes], 0x07, ??[38],
288 width, height, lenH, lenL, {bitmap}, 0x00, 0x00, text len, text(coded like in SMS)...}
290 r Set Picture Image { 0x0051, location, number[2 bytes], 0x07 }
291 s Set SMS name { 0x0083,folder,location(2bytes),name(Unicode),0x00 , 0x00}
292 r Set SMS name { 0x0084,folder,0x00, 0x00, name (Unicode),0x00,0x00}
293 s List Picture Images { 0x0096, location, 0x0f, 0x07 }
295 LM tries with 0x09, 0x11, 0x19, 0x21, 0x29, 0x31, 0x39, 0x41, 0x49
296 Returned value with 0x21
297 r List Picture Images { 0x0097, number of pictures[2 bytes], number1[2 bytes], number2[2 bytes], ..., }
298 s Write SMS to folder { 0x0104, status, folder ID, location(2 bytes), 0x02, 0x01, SMS stuff ... }
299 r Write SMS to folder { 0x0105, folder ID, location(2 bytes), 0x00 }
300 r Write SMS to folder { 0x0106, 0x02 (write failed errorcode ?) }
301 s Get SMS from folder { 0x0107, folderID, location(2 bytes), 0x01, 0x65, 0x01}
302 where: folderID - see 0x14/0x017B
303 r Get SMS from folder { 0x0108, status, folderID, 0x00, location, type, sender number,...}
305 where: status=0x01 - reveived/read
306 0x03 - received/unread
308 0x07 - stored/not sent
310 where: folderID - see 0x14/0x017B
312 where: type=0x00 - received SMS
313 0x01 - delivery report
315 0x07 - picture message
316 s Delete SMS message { 0x010a, folderID, location(2 bytes), 0x01 }
317 r Delete SMS { 0x010b }
318 s Get folder status { 0x016b, folderID, 0x0F, 0x01}
319 where: folderID - see 0x14/0x017B
320 r Get folder status { 0x016c, number of entries (2 bytes), entry1number (2 bytes), entry2number(2 bytes), ....}
321 s Get folder names { 0x017A, 0x00, 0x00}
322 r Get folder names { 0x017B, number of strings, folderID, name1, 0x00, folderID, name2, 0x00, name3, 0x00,...}
323 where: folderID=0x08 - Inbox
327 0x29 - first "My folders"
328 0x31 - second "My folders"
332 s Get Battery info { 0x0002 }
333 r Get Battery info { 0x0003, 0x0b, batt%, 0x14?, 0x01? }
334 0x19: Phone clock & alarm
336 These frames are like the same frames subtypes in 0x11 in 6110
338 s set date and time { 0x0060, 1,1,7,yearh,yearl,month,mday,hour,min,0x00 }
339 r date and time set { 0x0061 }
340 s get date and time { 0x0062 }
341 r date and time recvd { 0x0063,date_set?,time_set?,?,?,yearh,yearl,month,mday,hour,min,second }
342 where: date_set & time_set==0x01 - set
343 0x00 - not set, ?,?,yearh,yearl,month,mday,hour,min,second
344 not available in frame
345 s set alarm { 0x006b, 1,32,3,0x02(on-off),hour,min,0x00 }
346 r alarm set { 0x006c }
347 s get alarm { 0x006d }
348 r alarm received { 0x006e,?,?,?,?,alrm(==2:on),hour,min }
352 ? s ?? { 0x0083, id }
353 ? r ?? { 0x0084, 0x01, 0x40, 0x03, id, 0x00, 0x00 }
354 ? r ?? { 0x0084, 0x01, 0x40, 0x03, id, 0x00, 0x01 }
355 ? r ?? { 0x0084, 0x01, 0x40, 0x03, id, 0x01, 0x00 }
356 where: id=0x27,0x2a,0x32,0x28,0x40
358 s Get IMEI { 0x0001 }
359 r Get IMEI { 0x0002, {IMEI(ASCII)}, 0x00 }
360 s get HW&SW version { 0x0003, 0x01, 0x32 }
361 r get HW&SW version { 0x0004, "V " "firmware\n" "firmware date\n"
362 "model\n" "(c) NMP." 0x00 0xff[14] }
364 s ??? { 0x0010, 0x02, 0x00, 0xff, 0xff }
365 r ??? { 0x0011, length, 0x00, {block}[length] }
366 where block: { unicode letter[2], 0x0000,
368 s Set ringtone { 0x011f, 0x00, location, 0x00, name(Unicode),
369 ringtone(format the same to 0x40/0x019e and 0x40/0x01a0) }
370 where: location: 0x87 to 0x8b on N6210
372 s Get ringtone { 0x0122, 0x00, location}
373 r Get ringtone { 0x0123, 0x00, location, name(Unicode), 0x00,...,0x00, 0x02,0xFC,0x09(ringtone contenst)}
374 r Get ringtone error { 0x0124, ...}
376 s get profile feature { 0x0101, 0x01, 0x01, 0x01, number1, number2}
377 where number1: from 0x00 to 0x07 (for each profile ?)
378 number2: 0x00 - 0x09, 0x0A, 0x16 - 0x19, 0x1a - 0x1f, 0x20 - 0x29, 0x2a - 0x2c, 0xff
379 where 0x09: keypad tones 0x02: incoming call alert 0x03: ringtone number
381 0x05: message alert tone 0x06: vibra 0x07: warning tones 0x08: caller groups alert for 0x09: automatic answer
383 r get profile feature { 0x0102, 0x01, 0x02, number2, block...}
384 for number2==0xff: (Profile Name)
385 block: 0x01, length, name(Unicode), 0x00, 0x00
386 for number2==0x00: (Keypad Tones)
387 block: 0x01, 0x01, 0x01, Type, 0x01
388 where: Type : 0x00 = Off
389 0x01 to 0x03 = Level1 .. Level3
390 for number2==0x02: (Incoming Call Alert)
391 block: 0x01, 0x01, 0x01, Type, 0x01
392 where: Type : 0x00 = Ringing
397 for number2==0x03: (Ringtone Number)
398 block: 0x01, 0x01, 0x01, Number, 0x01
399 where: Number : 0x40 to 0x62 - gives number of factory ringtone. The number of menu is
400 obtained by doing (Number - 0x3f);
401 where: Number : 0x89 to 0x8d - gives number of uploaded ringtone. The number of menu is
402 obtained by doing (Number - 0x65),while the uploaded ringtone number is
403 obtained by doing (Number - 0x88).
404 for number2==0x04: (Ringing volume)
405 block: 0x01, 0x??, 0x??, Volume, 0x01
406 where: Volume : 0 = Level1 .. to 4 = Level5
407 for number2==0x05: (Message Alert Tone)
408 block: 0x01, 0x01, 0x??, Type, 0x01
409 where: Type : 0x00 = Off
414 for number2==0x06: (Vibration)
415 block: 0x01, 0x??, 0x??, Switch, 0x01
416 where: Switch : 0 = Off, 1 = On
417 for number2==0x07: (Warning Tones)
418 block: 0x01, 0x??, 0x??, Switch, 0x01
419 where: Switch : 0 = Off, 1 = On
420 for number2==0x08: (Caller groups Alert for)
421 block: 0x01, 0x??, 0x??, Callers, 0x01
422 where: Callers : 0xff = All calls alert (Read below *)
428 All logical OR among groups are valid, so if you select from one phone's profile
429 alert for Friends and Collegues, a 0x0c will return (because 0x04 OR 0x08 = 0x0c).
430 (*) If Callers==0xff, means "Alert for All calls". Then, in this case, you don't
431 need to read other groups selection.
432 for number2==0x09: (Automatic answer)
433 block: 0x01, 0x??, 0x??, Switch, 0x01
434 where: Switch : 0 = Off, 1 = On
435 N.B. This feature is valid for Handsfree and Headset profiles only!
436 s ??? { 0x0101, 0x04, 0x01, 0x01, 0xff, 0x03 }
437 r ??? { 0x0102, 0x01, 0x02, 0x03, 0x01, 0x01, 0x01, 0x85/0x087 }
440 r ? { 0x0106, 0x01, 0x04}
442 s Enable WAP frames { 0x0000}
443 r Enable WAP frames { 0x0002, 0x01}
448 s Get WAP bookmark { 0x0006, 0x00, location}
449 where location: 0 - 14
450 r Get WAP bookmark { 0x0007, 0x00, name_len, name(unicode),
451 url_len, url(unicode), 0x01,0x80,0x00[7]}
452 r Get WAP bookmark err { 0x0008, error }
454 0x00(?)invalid position
455 0x01 user inside "Bookmarks" menu. Must leave it
456 0x02 invalid/too high/empty location
458 s Set WAP bookmark { 0x0009, 0xff, 0xff, name_len, name(unicode),
459 url_len, url(unicode), 0x01,0x80,0x00[7] }
460 Note: bookmark is added to the first free location.
461 r Set WAP bookmark OK {+0x01, 0x36, 0x0a, block }
463 0x0a, location_of_just_written_bookmark(?),
464 0x00, next_free_location(?)
465 r Set WAP bookmark err {+0x01, 0x36, 0x0b, error }
467 0x04 - memory is full
468 0x01 - we are in the bookmark menu
469 0x00 - unknown reason for now ;(
471 ? s Delete WAP bookmark { 0x000c, 0x00, location }
472 where: location = 0-14
473 ? r Delete WAR bookmark OK{ 0x000d }
474 ? r Delete WAPbookmark err{ 0x000e, 0x02 }
479 s Get WAP settings 1 { 0x0015, location}
480 where location: 0x00 - 0x05
481 r Get WAP settings 1 OK { 0x0016, title length, title (Unicode), URL length, URL(Unicode),con_type, ???[6 bytes],location, ???[5 bytes],security,...}
483 con_type: 0x00 - temporary
485 location: when use "Get WAP settings 2 frame", must give it
486 security: 0x00 = no, 0x01 = yes
487 r Get WAP settings 1 err{ 0x0017, error }
489 0x01 user inside "Settings" menu. Must leave it
490 0x02 invalid/too high/empty location
491 s Get WAP settings 2 { 0x001b, location}
492 where location: 0x00 - 0x1d (you get it in "Get WAP settings 1" frame)
493 r Get WAP settings 2 OK { 0x001c, 0x01, type, frame...}
494 where type : 0x00 - SMS bearer
496 service_num_len, service_num (Unicode), server_num_len, server_num(Unicode)
499 auth, call_type, call_speed, ?, IP len, IP (Unicode), dialup len, dialup (Unicode),
500 user len, user (Unicode), password len, password (Unicode)
501 where auth: 0x00 - normal, 0x01 - secure
502 call_type: 0x00 - analogue, 0x01 - ISDN
503 call_speed: 0x00 - 9600, 0x01 - 14400
505 frame: type, service number len/IP len,service num (Unicode)/IP (Unicode),service code len,
506 service code (Unicode)
507 where type: 0x01 - service number, 0x00 - IP
508 r Get WAP settings 2 err{ 0x001d,error}
510 0x40: Security commands
511 ? s ???(N6150) { 0x08, 0x00 }
512 ? r ???(N6150) { 0x08 }
513 s Enable extended cmds { 0x64, cmd }
516 0x03: reset (doesn't ask for PIN again)
517 0x04: reset (PIN is requested)
518 In 5110 makes reset without PIN
519 0x06: CONTACT SERVICE!!! Don't try it!
521 r Get IMEI { 0x66, 0x01, IMEI, 0x00}
522 s (ACD Readings)?(N6150 { 0x68 }
523 r (ACD Readings)?(N6150 { 0x68, ... }
524 s Get Product Profile
526 r Get Product Profile
527 Settings { 0x6a, 4bytes with Product Profile Settings }
528 s Set Product Profile
529 Settings { 0x6b, 4bytes with Product Profile Settings }
530 r Set Product Profile
531 Settings OK ? { 0x6b }
532 s Get code { 0x6e, code }
533 where code: see 0x08/0x0004 (no allowed code !)
534 r Get code { 0x6e, code, allowed, allowed? (sec code (text)) }
535 where code: see 0x08/0x0004
539 ? Counters (nm->test36) { 0x74, 0x01, 0x01, 0x0e }
541 ? Counters (nm->test36) { 0x74 }
542 s Call commands { 0x7c, block }
543 where where: command, (values)
545 values: number(ASCII), 0x00 - makes voice call
546 command: 0x02 - answer call
547 command: 0x03 - release call
548 r Call commands { 0x7c, command }
549 s Netmonitor { 0x7e, field }
550 where: field: 00: next
555 s Get simlock info { 0x8a, 0x00}
556 r Get simlock info { 0x8a, 0x00, 0x01, lockstype, locksclosed, 0x00, 0x00, locksinfo(lock1,4,2,3), counter1,counter2,counter4,counter4,0x00 }
557 where: lockstype: bit1,bit2,bit3,bit4 - if set, selected lock is user lock
558 locksclosed: bit1,bit2,bit3,bit4 - if set, selected lock is closed
559 counter1 - counter4: counters for locks
560 s Buzzer pitch { 0x8f, volume, hzLO, hzHI }
561 if volume and hz is 0, it's off
562 r Buzzer pitch { 0x8f}
563 s ACD Readings ? { 0x91, parameter?(0x02,0x03,0x04,0x05,0x07) }
564 r ACD Readings ? { 0x91, parameter?, value? }
565 ? s ???(N6150) { 0x98, 0x00 }
566 ? r ???(N6150) { 0x98, 0x00, 0x04 }
567 s Get bin ringtone { 0x9e, location }
568 where: location=0,1,etc.
569 r Get bin ringtone { 0x9e, location, error, contents... }
570 where location=0,1,etc.
571 error=0x0a, ringtone NOT available
573 s Set bin ringtone { 0xa0, location, 0x00, contenst... }
574 where: location=0,1,etc.
575 r Set bin ringtone { 0xa0, location, error }
576 where location=0,1,etc.
577 error=0x0a, ringtone NOT set
578 0x00, ringtone set OK
579 ? r Get MSid { 0xb5, 0x01, 0x2f, msid, 0x25 }
580 s Get info about phone { 0xc8, 0x01 }
581 r Get info about phone { 0xc8, 0x01, 0x00, "V ", "firmware", 0x0a, "firmware date", 0x0a, "model", 0x0a, "(c) NMP.", 0x00 }
582 s Get MCU SW Checksum { 0xc8, 0x02 }
583 r Get MCU SW Checksum { 0xc8, 0x02, 0x00, checksum (4 bytes),0x00 }
584 s DPS External SW { 0xc7, 0x03 }
585 r DSP External SW { 0xc7, 0x03, 0x00, string,0x00 }
586 s Get HW { 0xc8, 0x05 }
587 r Get HW { 0xc8, 0x05, 0x00, HW version (4 bytes), 0x00 }
588 s Get "Made" Date { 0xc8, 0x05 }
589 r Get "Made" Date { 0xc8, 0x05, 0x00, date(4 bytes), 0x00 }
590 s Get DSP Internal SW { 0xc8, 0x09 }
591 r Get DSP Internal SW { 0xc8, 0x09, 0x00, version (1 bytes), 0x00 }
592 s Get PCI version { 0xc8, 0x0b }
593 r Get PCI version { 0xc8, 0x0b, 0x00, version, 0x00 }
594 s Get system ASIC { 0xc8, 0x0c }
595 r Get system ASIC { 0xc8, 0x0c, 0x00, string, 0x00 }
596 s Get COBBA { 0xc8, 0x0d }
597 r Get COBBA { 0xc8, 0x0d, 0x00, string, 0x00 }
598 s Get PLUSSA { 0xc8, 0x0e }
599 r Get PLUSSA { 0xc8, 0x0e, available, 0x00 }
600 where available: 0x01: not available
601 s Get CCONT { 0xc8, 0x0f }
602 r Get CCONT { 0xc8, 0x0f, available, 0x00 }
603 where available: 0x01: not available
604 s Get PPM version { 0xc8, 0x10 }
605 r Get PPM version { 0xc8, 0x10, 0x00, "V ", "firmware", 0x0a, "firmware date", 0x0a, "model", 0x0a, "(c) NMP.", 0x00 }
606 s Get PPM info { 0xc8, 0x12 }
607 r Get PPM info { 0xc8, 0x12, 0x00, PPM version ("B", "C", etc.), 0x00 }
608 s Set HW version { 0xc9, 0x05, version, 0x00 }
609 s Get Product Code { 0xca, 0x01 }
610 r Get Product Code { 0xca, 0x01, 0x00, number, 0x00 }
611 s Get Order Number { 0xca, 0x02 }
612 r Get Order Number { 0xca, 0x02, 0x00, string, 0x00 }
613 s Get Prod.Ser.Number { 0xca, 0x03 }
614 r Get Prod.Ser.Number { 0xca, 0x03, 0x00, number, 0x00 }
615 s Get Basic Prod.Code { 0xca, 0x04 }
616 r Get Basic Prod.Code { 0xca, 0x04, 0x00, number, 0x00 }
617 s Set Product Code { 0xcb, 0x01, product code, 0x00 }
618 s Set Order Number { 0xcb, 0x02, number, 0x00 }
619 s Set Prod.Ser.Number { 0xcb, 0x03, number, 0x00 }
620 s Get (original ?)IMEI { 0xcc, 0x01 }
621 r Get (original ?)IMEI { 0xcc, 0x01, IMEI, 0x00 }
622 s Get Manufacture Month { 0xcc, 0x02 }
623 r Get Manufacture Month { 0xcc, 0x02, 0x00, string, 0x00 }
624 s Get Purchare date { 0xcc, 0x04 }
625 r Get Purchare date { 0xcc, 0x04, 0x00, string, 0x00 }
626 s Set "Made" date { 0xcd, 0x02, string, 0x00 }
627 s Make "all" phone tests{ 0xce,0x1d,0xfe,0x23,0x00,0x00}
628 s Make one phone test { 0xce,0x1d,num1,num2,num3,num4}
629 Where num1-num4: 0x02,0x00,0x00,0x00;
638 0x00,0x04,0x00,0x00; - "Power off"
639 No test for "Security data"
647 s Result of phone tests { 0xcf }
648 r Result of phone tests { 0xcf, number of tests, results of next tests }
650 ? r ???(N5110) { 0xd1, 0x00, 0x1d, 0x00, 0x01, 0x08, 0x00 }
651 s LCD Test { 0xd3, value }
652 where value: 0x03, 0x02 - 1'st test
653 0x03, 0x01 - 2'nd test
654 0x02, 0x03 - clears screen
655 s ACD Readings(N6150)? { 0xd4, 0x02, 0x00, 0x02, 0x00, 0x0e, 0x01}
656 r ACD Readings(N6150)? { 0xd4, 0x02, 0x00, 0x02, 0x00, 0x0e, 0x01, ?}
657 r Function of { 0xff, 0x8c }
661 s Status confirm { 0x0201, 0x03 }
662 r Incoming call seq1 { 0x0102 0x0e 0x03 }
663 r Incoming call seq2 { 0x0102 0x7e 0x01 }
665 s CarKit enable { 0x0201 0x01 0x62 0x00 }
666 r CarKit enabled { 0x0201 0x02 0x06 0x00 "V " {version} "\nHFU"
669 r Set setting { 0x01eb, number, 0x00 }
670 s Set setting { 0x01ec, number, contents }
672 0x02 (startup text) : 0x00, text (Unicode)
673 0x15 (startup logo) : 0x00, 0x00, 0x00, 0x04,
674 0xc0, 0x02, 0x00, height, 0xc0, 0x03, 0x00, width,
675 0xc0, 0x04, 0x03, 0x00, {bitmap} }
676 where width, height, {bitmap}: see 0x7a/0x01ed 0x15
677 s Get setting { 0x01ee, number}
678 where number: 0x01 - 0x1e
682 r Get setting { 0x01ed,number, 0x00, contents}
684 0x02 (startup text) : 0x00, text (Unicode)
685 0x15 (startup logo) : 0x00, 0x00, 0x00, 0x04,
686 0xc0, 0x02, 0x00, height, 0xc0, 0x03, 0x00, width,
687 0xc0, 0x04, 0x03, 0x00, {bitmap} }
688 where height: 60 (0x3c) or 65
690 {bitmap}: like other bitmaps but pixels
692 0x1c (security code): {code(ascii)}, 0x00
693 0x7f: Acknowledge(FBUS/IRDA){+type, seq }
696 s Power on message seq1 {+04 }
697 r Power on message seq1 {+05 }
699 s Get HW&SW version { 0x0003, 0x00 }
701 r Get HW&SW version { 0x0003 "V " "firmware\n" "firmware date\n"
702 "model\n" "(c) NMP." }
703 0xf4: Power on message seq 2