Sprout from uc 2002-02-18 02:07:04 UTC jankratochvil 'This commit was manufactured by cvs2svn to create branch 'uc'.'
Delete:
COPYING
Docs/CREDITS
Docs/Makefile
Docs/default/3210/nse8/pictures/picture1.nlm
Docs/default/3210/nse8/pictures/picture2.nlm
Docs/default/3210/nse8/pictures/picture3.nlm
Docs/default/3210/nse8/startup.nlm
Docs/default/3210/nse9/pictures/picture1.nlm
Docs/default/3210/nse9/pictures/picture2.nlm
Docs/default/3210/nse9/pictures/picture3.nlm
Docs/default/3210/nse9/pictures/picture4.nlm
Docs/default/3210/nse9/startup.nlm
Docs/default/3310/TwojaEra
Docs/default/3310/pictures/picture1.nlm
Docs/default/3310/pictures/picture10.nlm
Docs/default/3310/pictures/picture11.nlm
Docs/default/3310/pictures/picture12.nlm
Docs/default/3310/pictures/picture13.nlm
Docs/default/3310/pictures/picture14.nlm
Docs/default/3310/pictures/picture2.nlm
Docs/default/3310/pictures/picture3.nlm
Docs/default/3310/pictures/picture4.nlm
Docs/default/3310/pictures/picture5.nlm
Docs/default/3310/pictures/picture6.nlm
Docs/default/3310/pictures/picture7.nlm
Docs/default/3310/pictures/picture8.nlm
Docs/default/3310/pictures/picture9.nlm
Docs/default/6150/caller/colleagues.nlm
Docs/default/6150/caller/family.nlm
Docs/default/6150/caller/friends.nlm
Docs/default/6150/caller/other.nlm
Docs/default/6150/caller/vip.nlm
Docs/default/6150/startup.nlm
Docs/default/6210/caller/colleagues.bmp
Docs/default/6210/caller/family.bmp
Docs/default/6210/caller/friends.bmp
Docs/default/6210/caller/other.bmp
Docs/default/6210/caller/vip.bmp
Docs/default/6210/picture/picture1.nlm
Docs/default/6210/picture/picture10.nlm
Docs/default/6210/picture/picture2.nlm
Docs/default/6210/picture/picture3.nlm
Docs/default/6210/picture/picture4.nlm
Docs/default/6210/picture/picture5.nlm
Docs/default/6210/picture/picture6.nlm
Docs/default/6210/picture/picture7.nlm
Docs/default/6210/picture/picture8.nlm
Docs/default/6210/picture/picture9.nlm
Docs/default/6210/startup.bmp
Docs/default/sounds/readme
Docs/default/sounds/ring2.txt
Docs/default/sounds/ringtones/9th_Symphony
Docs/default/sounds/ringtones/Attraction
Docs/default/sounds/ringtones/Auld_Lang_Syne
Docs/default/sounds/ringtones/Bach_nr_3
Docs/default/sounds/ringtones/Badinerie
Docs/default/sounds/ringtones/Barn_dance
Docs/default/sounds/ringtones/Baroque
Docs/default/sounds/ringtones/Basic_rock
Docs/default/sounds/ringtones/Bee
Docs/default/sounds/ringtones/Bossanova
Docs/default/sounds/ringtones/Bounce
Docs/default/sounds/ringtones/Brave_Scotland
Docs/default/sounds/ringtones/Bumblebee
Docs/default/sounds/ringtones/Charleston
Docs/default/sounds/ringtones/Chase
Docs/default/sounds/ringtones/Cicada
Docs/default/sounds/ringtones/Circles
Docs/default/sounds/ringtones/City_bird
Docs/default/sounds/ringtones/Cladoceran
Docs/default/sounds/ringtones/Classical
Docs/default/sounds/ringtones/Dawn
Docs/default/sounds/ringtones/Dizzy
Docs/default/sounds/ringtones/Do-mi-so
Docs/default/sounds/ringtones/Elise
Docs/default/sounds/ringtones/Entertainer
Docs/default/sounds/ringtones/Etude
Docs/default/sounds/ringtones/Fly
Docs/default/sounds/ringtones/Fool about
Docs/default/sounds/ringtones/Four_seasons
Docs/default/sounds/ringtones/Frantic
Docs/default/sounds/ringtones/Frog
Docs/default/sounds/ringtones/Fuga
Docs/default/sounds/ringtones/Funfair
Docs/default/sounds/ringtones/Fusion
Docs/default/sounds/ringtones/Get_cool
Docs/default/sounds/ringtones/Going_up
Docs/default/sounds/ringtones/Grande_valse
Docs/default/sounds/ringtones/Groovy_blue
Docs/default/sounds/ringtones/Happy_return
Docs/default/sounds/ringtones/Helan
Docs/default/sounds/ringtones/HipHop
Docs/default/sounds/ringtones/Hopping_down
Docs/default/sounds/ringtones/Hunt
Docs/default/sounds/ringtones/Hurdy-gurdy
Docs/default/sounds/ringtones/Improvisation
Docs/default/sounds/ringtones/Indifference
Docs/default/sounds/ringtones/Intro
Docs/default/sounds/ringtones/Jingle_bells
Docs/default/sounds/ringtones/Jumping
Docs/default/sounds/ringtones/Kick
Docs/default/sounds/ringtones/Knick-knack
Docs/default/sounds/ringtones/Knock_again
Docs/default/sounds/ringtones/Knock_knock
Docs/default/sounds/ringtones/Lamb
Docs/default/sounds/ringtones/Left_hand
Docs/default/sounds/ringtones/Liszt
Docs/default/sounds/ringtones/Low
Docs/default/sounds/ringtones/Mangrove
Docs/default/sounds/ringtones/Marry
Docs/default/sounds/ringtones/Matilda
Docs/default/sounds/ringtones/Menuet
Docs/default/sounds/ringtones/Merry_Xmas
Docs/default/sounds/ringtones/Mexican_Hat_Dance
Docs/default/sounds/ringtones/Moon & clouds
Docs/default/sounds/ringtones/Mosquito
Docs/default/sounds/ringtones/Mozart40
Docs/default/sounds/ringtones/Nokia_tune
Docs/default/sounds/ringtones/Ode_to_Joy
Docs/default/sounds/ringtones/Orient
Docs/default/sounds/ringtones/Persuasion
Docs/default/sounds/ringtones/Piano_concerto
Docs/default/sounds/ringtones/Playground
Docs/default/sounds/ringtones/Polite
Docs/default/sounds/ringtones/Polka
Docs/default/sounds/ringtones/Polska
Docs/default/sounds/ringtones/Progress
Docs/default/sounds/ringtones/Reveille
Docs/default/sounds/ringtones/Right_Hand
Docs/default/sounds/ringtones/Ring_ring
Docs/default/sounds/ringtones/Robo_N1X
Docs/default/sounds/ringtones/Rocket
Docs/default/sounds/ringtones/Salsa
Docs/default/sounds/ringtones/Samba
Docs/default/sounds/ringtones/Samba_rumble
Docs/default/sounds/ringtones/Scifi
Docs/default/sounds/ringtones/Siren
Docs/default/sounds/ringtones/Songette
Docs/default/sounds/ringtones/Sunny_walks
Docs/default/sounds/ringtones/Swan_Lake
Docs/default/sounds/ringtones/Tango
Docs/default/sounds/ringtones/Tangoed
Docs/default/sounds/ringtones/Tap dance
Docs/default/sounds/ringtones/Tchaikovsky
Docs/default/sounds/ringtones/That_is_it
Docs/default/sounds/ringtones/The_Buffoon
Docs/default/sounds/ringtones/Tick_tick
Docs/default/sounds/ringtones/Toreador
Docs/default/sounds/ringtones/Trio
Docs/default/sounds/ringtones/Tripod
Docs/default/sounds/ringtones/Valkyrie
Docs/default/sounds/ringtones/Walze_Brillant
Docs/default/sounds/ringtones/William_Tell
Docs/default/sounds/sms/SMS_Ancending
Docs/default/sounds/sms/SMS_Beep_once
Docs/default/sounds/sms/SMS_Special
Docs/default/sounds/sms/SMS_Standard
Docs/developers/gnokii/CodingStyle
Docs/developers/gnokii/gettext-howto
Docs/developers/gnokii/gnokii.txt
Docs/developers/gnokii/packaging-howto
Docs/developers/gnokii/untitled.txt
Docs/developers/other/RE RE.txt
Docs/developers/other/dmcp/addsms
Docs/developers/other/dmcp/readme
Docs/developers/other/dmcp/removesms
Docs/developers/other/ringtones.txt
Docs/developers/other/sniffs/Telefonbucheditor7110.txt
Docs/developers/other/sniffs/irda/info.txt
Docs/developers/other/sniffs/irda/tools/fcs/fcs.c
Docs/developers/other/sniffs/irda/tools/fcs/fcs.h
Docs/developers/other/sniffs/irda/tools/include/irda.h
Docs/developers/other/sniffs/irda/tools/include/irlap.h
Docs/developers/other/sniffs/irda/tools/intercept/Makefile
Docs/developers/other/sniffs/irda/tools/intercept/irda_intercept.c
Docs/developers/other/sniffs/sniffing.txt
Docs/developers/protocol/n6110.txt
Docs/developers/protocol/n7110.txt
Docs/developers/protocol/nokia.txt
Docs/developers/protocol/readme
Docs/en_US/gnokii/config.htm
Docs/en_US/gnokii/faq.htm
Docs/en_US/gnokii/gnokii-6210-7110-IrDA
Docs/en_US/gnokii/gnokii.htm
Docs/en_US/gnokii/phones.htm
Docs/en_US/gnokii/todologo
Docs/en_US/gnokii/xgnokii/calendar/index.htm
Docs/en_US/gnokii/xgnokii/contacts/index.htm
Docs/en_US/gnokii/xgnokii/dtmf/index.htm
Docs/en_US/gnokii/xgnokii/main/index.htm
Docs/en_US/gnokii/xgnokii/netmon/index.htm
Docs/en_US/gnokii/xgnokii/sms/index.htm
Docs/en_US/gnokii/xgnokii/sms/sms.gif
Docs/en_US/gnokii/xgnokii/speeddial/index.htm
Docs/en_US/gnokii/xgnokii/xkeyb/index.htm
Docs/en_US/gsm/cables/cable1.gif
Docs/en_US/gsm/cables/cable2.gif
Docs/en_US/gsm/cables/cables.htm
Docs/en_US/gsm/cables/switch.gif
Docs/en_US/gsm/codes/codes.htm
Docs/en_US/gsm/compare/1.htm
Docs/en_US/gsm/compare/compare.htm
Docs/en_US/gsm/compare/index.htm
Docs/en_US/gsm/compare/null.htm
Docs/en_US/gsm/firmware/firmware.htm
Docs/en_US/gsm/firmware/ftable1.htm
Docs/en_US/gsm/firmware/ftable2.htm
Docs/en_US/gsm/firmware/ftable3.htm
Docs/en_US/gsm/irda/irda.htm
Docs/en_US/gsm/logos/logos.htm
Docs/en_US/gsm/netmon/3210_09.gif
Docs/en_US/gsm/netmon/3210_092.gif
Docs/en_US/gsm/netmon/3210_10.gif
Docs/en_US/gsm/netmon/faq_net0.htm
Docs/en_US/gsm/netmon/faq_net1.htm
Docs/en_US/gsm/netmon/faq_net2.htm
Docs/en_US/gsm/netmon/faq_net3.htm
Docs/en_US/gsm/netmon/faq_net4.htm
Docs/en_US/gsm/netmon/faq_net5.htm
Docs/en_US/gsm/netmon/faq_net6.htm
Docs/en_US/gsm/netmon/net_mon1.gif
Docs/en_US/gsm/netmon/net_mon2.gif
Docs/en_US/gsm/netmon/net_mon3.gif
Docs/en_US/gsm/netmon/net_spis.htm
Docs/en_US/gsm/netmon/nm_01.gif
Docs/en_US/gsm/netmon/nm_02.gif
Docs/en_US/gsm/netmon/nm_03.gif
Docs/en_US/gsm/netmon/nm_04.gif
Docs/en_US/gsm/netmon/nm_05.gif
Docs/en_US/gsm/netmon/nm_06.gif
Docs/en_US/gsm/netmon/nm_07.gif
Docs/en_US/gsm/netmon/nm_08.gif
Docs/en_US/gsm/netmon/nm_09.gif
Docs/en_US/gsm/netmon/nm_10.gif
Docs/en_US/gsm/netmon/nm_11.gif
Docs/en_US/gsm/netmon/nm_12.gif
Docs/en_US/gsm/netmon/nm_14.gif
Docs/en_US/gsm/netmon/nm_15.gif
Docs/en_US/gsm/netmon/nm_3210.gif
Docs/en_US/gsm/netmon/nm_32102.gif
Docs/en_US/gsm/netmon/nm_3310.gif
Docs/en_US/gsm/netmon/nm_5110.gif
Docs/en_US/gsm/netmon/nm_6150.gif
Docs/en_US/gsm/netmon/nm_6190.gif
Docs/en_US/gsm/netmon/nm_6210.gif
Docs/en_US/gsm/netmon/nm_6310.gif
Docs/en_US/gsm/netmon/nm_7110.gif
Docs/en_US/gsm/netmon/nm_8210.gif
Docs/en_US/gsm/netmon/nm_8310.gif
Docs/en_US/gsm/netmon/nm_9110.gif
Docs/en_US/gsm/netmon/nm_9210.gif
Docs/en_US/gsm/sms/sms.htm
Docs/en_US/gsm/tip.gif
Docs/en_US/index.htm
Docs/en_US/styl.css
Docs/examples/axelf.txt
Docs/examples/gnokiirc
Docs/examples/logos/gnokii.nol
Docs/examples/logos/gnokii.xpm
Docs/examples/logos/gnokii2.nol
Docs/examples/logos/magic
Docs/examples/netmon/netmonitordata_6110_433.dat
Docs/examples/netmon/netmonitordata_6150_413.dat
Docs/examples/netmon/netmonitordata_6150_522.dat
Docs/examples/netmon/nmd_commands.dat
Docs/examples/ppp/options
Docs/examples/ppp/pap-secrets
Docs/examples/ppp/ppp-6210-modem
Docs/examples/ppp/ppp-FILES
Docs/examples/ppp/ppp-gnokii
Docs/examples/ppp/ppp-hscsd
Docs/examples/ppp/ppp-on
Docs/examples/test.vcs
Docs/man/gnokii.1
Docs/man/gnokiid.8
Docs/man/mgnokiidev.8
Docs/man/todologo.1
Docs/man/xgnokii.1x
Docs/pl_PL/mygnokii.htm
Docs/pl_PL/styl.css
INSTALL
Makefile
Makefile.global.in
VERSION
common/Makefile
common/data/at-emulator.c
common/data/datapump.c
common/data/rlp-common.c
common/data/rlp-crc24.c
common/data/virtmodem.c
common/devices/device.c
common/devices/tekram.c
common/devices/unixirda.c
common/devices/unixserial.c
common/devices/winserial.c
common/files/cfgreader.c
common/files/gsm-filetypes.c
common/files/midifile.c
common/gsm-api.c
common/gsm-bitmaps.c
common/gsm-calendar.c
common/gsm-coding.c
common/gsm-datetime.c
common/gsm-networks.c
common/gsm-phonebook.c
common/gsm-ringtones.c
common/gsm-sms.c
common/gsm-wap.c
common/misc.c
common/newmodules/n6110.c
common/newmodules/n7110.c
common/newmodules/newat.c
common/newmodules/sniff/sniff.c
common/protocol/at.c
common/protocol/fbus.c
common/protocol/fbusirda.c
common/protocol/mbus.c
config/config.guess
config/config.sub
config/install-sh
configure.in
getopt/Makefile
getopt/getopt.c
getopt/getopt.h
getopt/getopt1.c
getopt/win32/getopt.c
getopt/win32/getopt.h
gnokii.spec
gnokii/Makefile
gnokii/gnokii.c
gnokii/gnokii.h
gnokiid/Makefile
gnokiid/gnokiid.c
include/config.h.in.in
include/data/at-emulator.h
include/data/datapump.h
include/data/rlp-common.h
include/data/rlp-crc24.h
include/data/virtmodem.h
include/devices/device.h
include/devices/linuxirda.h
include/devices/tekram.h
include/devices/unixirda.h
include/devices/unixserial.h
include/devices/winserial.h
include/files/cfgreader.h
include/files/gsm-filetypes.h
include/files/midifile.h
include/gsm-api.h
include/gsm-bitmaps.h
include/gsm-calendar.h
include/gsm-coding.h
include/gsm-common.h
include/gsm-datetime.h
include/gsm-networks.h
include/gsm-phonebook.h
include/gsm-ringtones.h
include/gsm-sms.h
include/gsm-wap.h
include/misc.h
include/misc_win32.h
include/newmodules/n6110.h
include/newmodules/n7110.h
include/newmodules/newat.h
include/newmodules/sniff/sniff.h
include/protocol/at.h
include/protocol/fbus.h
include/protocol/fbusirda.h
include/protocol/mbus.h
mgnetd/Makefile
mgnetd/mg_demo_client/Makefile
mgnetd/mg_demo_client/mg_demo_client.c
mgnetd/mg_demo_client/mg_net_api.c
mgnetd/mg_demo_client/mg_net_api.h
mgnetd/mg_demo_client/mg_net_api.txt
mgnetd/mgnetd.c
mgnetd/mgnetd.h
mgnetd/readme.txt
mkinstalldirs
packaging/Debian/README.debian
packaging/Debian/changelog.in
packaging/Debian/conffiles
packaging/Debian/control
packaging/Debian/copyright
packaging/Debian/docs
packaging/Debian/menu
packaging/Debian/postinst
packaging/Debian/preinst
packaging/Debian/rules
packaging/RedHat/gnokii.spec.in
packaging/Slackware/SlackBuild.in
packaging/Slackware/disk
packaging/make_dist
po/Makefile.in.in
po/POTFILES.in
po/cs.po
po/de.po
po/et.po
po/fi.po
po/it.po
po/nl.po
po/pl.po
po/sk.po
readme
utils/Makefile
utils/mgnokiidev.c
utils/sendsms
utils/todologo
win32_makefile/clean.bat
win32_makefile/dll_vc6/GnokiiAPI.PRJ
win32_makefile/dll_vc6/GnokiiAPI.def
win32_makefile/dll_vc6/GnokiiAPI.dep
win32_makefile/dll_vc6/GnokiiAPI.dsp
win32_makefile/dll_vc6/GnokiiAPI.dsw
win32_makefile/dll_vc6/clean.bat
win32_makefile/dll_vc6/fcopy.BAT
win32_makefile/dll_vc6/gnokiiapi.c
win32_makefile/dll_vc6/gnokiiapi.h
win32_makefile/fcopy.bat
win32_makefile/gnokii_vc6/clean.bat
win32_makefile/gnokii_vc6/debug.bat
win32_makefile/gnokii_vc6/gnokii.mak
win32_makefile/gnokii_vc6/release.bat
win32_makefile/gui_delphi/Calendar.dfm
win32_makefile/gui_delphi/Calendar.pas
win32_makefile/gui_delphi/GnokiiAPI.pas
win32_makefile/gui_delphi/Project1.cfg
win32_makefile/gui_delphi/Project1.dof
win32_makefile/gui_delphi/Project1.dpr
win32_makefile/gui_delphi/Project1.dsk
win32_makefile/gui_delphi/Project1.res
win32_makefile/gui_delphi/logosring.dfm
win32_makefile/gui_delphi/logosring.pas
win32_makefile/gui_delphi/mainunit.dfm
win32_makefile/gui_delphi/mainunit.pas
win32_makefile/gui_delphi/netmon.dfm
win32_makefile/gui_delphi/netmon.pas
win32_makefile/gui_delphi/pbkedit.dfm
win32_makefile/gui_delphi/pbkedit.pas
win32_makefile/gui_delphi/smscedit.dfm
win32_makefile/gui_delphi/smscedit.pas
win32_makefile/gui_delphi/smsedit.dfm
win32_makefile/gui_delphi/smsedit.pas
win32_makefile/mversion.js
xgnokii/Makefile
xgnokii/VERSION
xgnokii/xgnokii.c
xgnokii/xgnokii.h
xgnokii/xgnokii_calendar.c
xgnokii/xgnokii_calendar.h
xgnokii/xgnokii_cfg.c
xgnokii/xgnokii_cfg.h
xgnokii/xgnokii_common.c
xgnokii/xgnokii_common.h
xgnokii/xgnokii_contacts.c
xgnokii/xgnokii_contacts.h
xgnokii/xgnokii_data.c
xgnokii/xgnokii_data.h
xgnokii/xgnokii_dtmf.c
xgnokii/xgnokii_dtmf.h
xgnokii/xgnokii_logos.c
xgnokii/xgnokii_logos.h
xgnokii/xgnokii_lowlevel.c
xgnokii/xgnokii_lowlevel.h
xgnokii/xgnokii_netmon.c
xgnokii/xgnokii_netmon.h
xgnokii/xgnokii_sms.c
xgnokii/xgnokii_sms.h
xgnokii/xgnokii_speed.c
xgnokii/xgnokii_speed.h
xgnokii/xgnokii_xkeyb.c
xgnokii/xgnokii_xkeyb.h
xgnokii/xgnokii_xring.c
xgnokii/xgnokii_xring.h
xgnokii/xpm/6110mini.xpm
xgnokii/xpm/BCard.xpm
xgnokii/xpm/Black_point.xpm
xgnokii/xpm/Caller.xpm
xgnokii/xpm/Caller_logo.xpm
xgnokii/xpm/Check.xpm
xgnokii/xpm/Delete.xpm
xgnokii/xpm/Dial.xpm
xgnokii/xpm/Display.xpm
xgnokii/xpm/Duplicate.xpm
xgnokii/xpm/Edit.xpm
xgnokii/xpm/Edit_flip_horizontal.xpm
xgnokii/xpm/Edit_flip_vertical.xpm
xgnokii/xpm/Edit_invert.xpm
xgnokii/xpm/Flip.xpm
xgnokii/xpm/Forward.xpm
xgnokii/xpm/Green_pixel.xpm
xgnokii/xpm/Green_point.xpm
xgnokii/xpm/Invert.xpm
xgnokii/xpm/Names.xpm
xgnokii/xpm/New.xpm
xgnokii/xpm/NewBD.xpm
xgnokii/xpm/NewCall.xpm
xgnokii/xpm/NewMeet.xpm
xgnokii/xpm/NewRem.xpm
xgnokii/xpm/Op.xpm
xgnokii/xpm/Open.xpm
xgnokii/xpm/Operator_logo.xpm
xgnokii/xpm/Read.xpm
xgnokii/xpm/Reply.xpm
xgnokii/xpm/Save.xpm
xgnokii/xpm/Send.xpm
xgnokii/xpm/SendSMS.xpm
xgnokii/xpm/Startup.xpm
xgnokii/xpm/Startup_logo.xpm
xgnokii/xpm/Tool_brush.xpm
xgnokii/xpm/Tool_filled_rectangle.xpm
xgnokii/xpm/Tool_line.xpm
xgnokii/xpm/Tool_rectangle.xpm
xgnokii/xpm/alarm.xpm
xgnokii/xpm/background.xpm
xgnokii/xpm/info.xpm
xgnokii/xpm/logo.xpm
xgnokii/xpm/phone.xpm
xgnokii/xpm/quest.xpm
xgnokii/xpm/sim.xpm
xgnokii/xpm/sms.xpm
xgnokii/xpm/stop.xpm
+++ /dev/null
-GNOKII - A Linux/Unix toolset and driver for the Nokia 3x10/8110/51x0/61x0
- Copyright (C) 1999 Hugh Blemings & Pavel JanÃk ml.
-
-This program is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2 of the License, or (at your option) any later
-version.
-
-This program is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
-details.
-
-You should have received a copy of the GNU General Public License along with
-this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-Place - Suite 330, Boston, MA 02111-1307, USA.
-
-You can contact authors by mail at
-
-hugh@linuxcare.com Pavel.Janik@suse.cz
-Hugh Blemings Mgr. Pavel JanÃk, SuSE CR, s.r.o.
-PO Box 234 Pod Pekárnami 338/12
-Belconnen ACT 2616 190 00 Praha 9
-Australia Czech Republic
-
-We would be delighted to receive a postcard from you if you use gnokii but
-this is not a requirement of these licence terms! :)
-
-Any trademarks in this or other gnokii documents/files are the property of
-their respective owners.
+++ /dev/null
-- Credits -
-
-Thank you to, in no particular order...
-
-* Everyone on the gnokii mailing list for their interest
- and input into the project.
-
-* Pavel JanÃk ml. for the majority of work on gnokii 6110 series
- support, spelling corrections and miscellaneous code cleanups.
-
-* Serge Odinokov for 6110 series authentication protocol and
- example Delphi RLP code. Many thanks...
-
-* Nick Lamb for operator logos, CLI uploading and AT*C command support.
-
-* Francois Dessart, Brendan O'Dea, Tony Lindstrom, Steffan Henke
- and Cobus Van Eeden for dumps (and in some cases interpretation!)
- of unknown messages, bug reports and prompt feedback of being
- able to build new releases.
-
-* Staffan Ulfberg for taking care of the website and for instigating
- the 6110 project which has now been merged with the gnokii effort.
-
-* Martin Hamilton for looking after the mailing list.
-
-* Tim Potter for some of the ideas that are now incorporated in gnokii
- to provide multiple model support and config file code.
-
-* Paul Mackerras and Andrew Tridgell for discussions about pseudo
- ttys, setuid programs and such. Tridge kindly reviewed the
- mgnokiidev.c code.
-
-* Richard Kalton for his excellent page about Nokia 6110 protocol.
-
-* Colin Paton for his mail with subject "Dumps of phone<>PC traffic".
- It helped a lot.
-
-* Juan Altmayer Pizzorno for his help with MBUS/FBUS and other
- debugging.
-
-* Gary Reuter for his help when looking for a bug in phone numbers,
- for the set-time function debugging.
-
-* Jiri Meloun for voice calling.
-
-* Emilio Brambilla for SMS notification fixes, setdatetime implementation
- and typing GSM_Default_Alphabet.
-
-* Pawe³ Kot for EnterPIN on 6110 Series changes and other things.
-
-* Konstantinos Agouros for gnokii-perl module.
-
-* Czech Linux Users' group for it's CVS server which hosted our
- development repository.
-
-* Goran Dokic, Samuli Sorvakko and anonymous for gettext files for
- Dutch, Finnish and German translations.
-
-* Marcel Holtmann for RLP FCS code and misc stuff.
-
-* Chris Kemp for logo stuff and a big part of the RLP code.
-
-* Andrew Kozin for the model 640 support (NMT 450 network).
-
-* Karel Zak for his enthusiasm (and patches) for the autoconf stuff.
-
-* Harri Yli-Torkko for investigative work & code on the 3810/8110.
-
-* Stano Meduna for misc code and build process work.
-
-* Alfred Nurnberger for some information on the 5160/6160 MBUS
- protocol.
-
-* Alessandro Zummo for reset and getopts code.
-
-* Mark Looi for Cell Broadcast code - based on protocol decoded by
- Colin Paton
-
-* Sebastian Zagrodzki and Jacek Fiok for Polish .po file
-
-* Lucy for making pizza and putting up with Hugh disappearing to
- work on this. Rachael for new parent induced insomnia...
-
-* Last not least: Mirka for allowing Pavel to work on gnokii
- and for _great_ gnokii operator logos...
-
-* Hendrik Spohr for getting 7110 functions and DLR-3 to work (one small step
- for Hendrik, big step for (my)gnokii :-))
-
-* Balazs Nagy for frames list and long hacker's work...
-
-* Ladislav Michl & Manfred Jonsson\r for support for various AT phones...
-
-* Manfred Jonsson for idea of programming, which looks for me good
-
-* Michael Hund for many improvements and progress in 7110/6210 source...
-
-* Ralf Thelen for very required by many, many people patch and getting
- infrared sockets to work -> small changes, few days of hard searching :-).
- Also sms stuff is OK now
-
-* Gabriele Zappi for many 6210 improvements and big calendar source
-
-* Andrea Scopece for 61xx source for netmonitor and other improvements
-
-* ....and other people, who reported me bugs or want(ed) to use mygnokii
- and help me in making it the best !
-
-We tried to mentioned everyone who contributed to gnokii project but we
-might to forgot someone. If anyone does feel that we missed him and his
-name should be mentioned here do not hesitate to contact us :-)
+++ /dev/null
-#
-# Makefile for the xGNOKII tool suite.
-#
-
-TOPDIR=..
-include $(TOPDIR)/Makefile.global
-
-HELP1_DIR = en_US
-HELP11_DIR = pl_PL
-HELP2_DIR = examples
-HELP3_DIR = default
-
-GNOKII1_MAN1 = "man/gnokii.1"
-GNOKII1_MAN2 = "man/todologo.1"
-GNOKII8_MAN1 = "man/gnokiid.8"
-GNOKII8_MAN2 = "man/mgnokiidev.8"
-XGNOKII_MAN = "man/xgnokii.1x"
-
-all:
- @echo
-
-makelib:
- @echo
-
-install:
- $(INSTALL) -d $(docdir)
-
- ( cd $(HELP1_DIR); \
- $(FIND) . -type d \! -path "*CVS*" \
- -exec $(INSTALL) -d $(docdir)/en_US/{} \; ; \
- $(FIND) . -type f \! -path "*CVS*" \
- -exec $(INSTALL) -m 0444 {} $(docdir)/en_US/{} \; \
- )
- ( cd $(HELP11_DIR); \
- $(FIND) . -type d \! -path "*CVS*" \
- -exec $(INSTALL) -d $(docdir)/pl_PL/{} \; ; \
- $(FIND) . -type f \! -path "*CVS*" \
- -exec $(INSTALL) -m 0444 {} $(docdir)/pl_PL/{} \; \
- )
-
- ( cd $(HELP2_DIR); \
- $(FIND) . -type d \! -path "*CVS*" \
- -exec $(INSTALL) -d $(docdir)/examples/{} \; ; \
- $(FIND) . -type f \! -path "*CVS*" \
- -exec $(INSTALL) -m 0444 {} $(docdir)/examples/{} \; \
- )
- ( cd $(HELP3_DIR); \
- $(FIND) . -type d \! -path "*CVS*" \
- -exec $(INSTALL) -d $(docdir)/default/{} \; ; \
- $(FIND) . -type f \! -path "*CVS*" \
- -exec $(INSTALL) -m 0444 {} $(docdir)/default/{} \; \
- )
- $(INSTALL) -m 0444 CREDITS $(docdir)
- $(INSTALL) -m 0444 ../COPYING $(docdir)
- $(INSTALL) $(GNOKII1_MAN1) $(man1dir)
- $(INSTALL) $(GNOKII1_MAN2) $(man1dir)
- $(INSTALL) $(GNOKII8_MAN1) $(man8dir)
- $(INSTALL) $(GNOKII8_MAN2) $(man8dir)
- if [ "x$(HAVE_XGNOKII)" = xyes ]; then \
- ($(INSTALL) $(XGNOKII_MAN) $(xmandir)) \
- fi
- @echo "done"
-
-clean:
- $(RM) *~
-
-depend dep:
- @echo
-
-.PHONY: all install clean dep depend
+++ /dev/null
-Twoja Era:d=8,o=6,s=N,b=160,l=0:g5,c,g,2f,2e,2p,p,g5,c,g,2f,2e,2p,4p,h5,g5,2d.5,4p,2p,p,g5,c,g,2f,2e,2p,p,g5,c,g,2f,2e,2p,4p,h5,g5,2d.5,4p
\ No newline at end of file
+++ /dev/null
-In subdirs there are original ringtones and SMS tones
-from various Nokia phones. They're saved in special
-binary format used in phone's firmware. You can download them to your phone,
-if it has downloadable ringtone(s) - use
-"gnokii --setbinringtone file [location]". I tested Nokia 6150 5.22 and it was
-OK. I hope, that Nokia will not change this format and you will be able to
-use it with new phones too (update: 3310 seems to have different format).
-
-I also noticed, that with Nokia 6150 some ringtones required small changes
-(inserting space (0x20 char) after name displayed in phone's menu).
-Maximal length of names for this phone is 12 chars (that's why "Moon & clouds"
-is only "Moon & cloud", "Mexican Hat Dance" -> "Mexican Dance",
-"Piano concerto" -> "Piano concer", "WalzeBrillant" -> "WalzeBrilla")
-
-I wasn't also to restore Badinerie, Tchaikovsky,
-Entertainer, Valkyrie, Four seasons, Auld lang syne, Bumblebee,
-Brave Scotland, Liszt, Hungarian, Left Hand
-(I had it in the file - it was no problem to save
-it), because it was too long (ringtones in phone's firmware in flash
-can be infinitely long, downloadable not - frame can be 317 chars long
-only)... I had to short name in "Swan Lake" to "Swan" because of it...
-
-In Get_Cool,Sunny_Walks,Tick tick ringtones there is and error - small
-"pyk" on the end. It's not my fault, it was made by Nokia...
-
-Similiary Hopping-down seems to cut (next Nokia fault ?)...
-
-PS. I didn't compared many of these ringtones with original phones.
-If there are differences, please let me know (my files could be broken too)
-
-PS2. I tried to understand this format, but I didn't make it at all (too small
-free time, etc.). Here are some observations:
-
-Format is used by 0x40/0x9e and 0x40/0xa0 frames. General format is:
-
-0x00,0x01,0xa0(0x9e),location,0x00,0xc1,0x01,?,name,0x00,0x00,0x02,
-commands and tones?each probably in two bytes?,0x0b
-
-where: location=0x00,0x01,etc.
- name=name in ASCII displayed in menu
-
-If phone doesn't find 0xc1,0x01,? bytes in 7,8,9 byte, don't display ringtone
-name and treat them (if there are next) as ringtone contenst
-
-Marcin-Wiacek@Topnet.PL
\ No newline at end of file
+++ /dev/null
-http://www.gsmcity.de/cgi-bin/ultimatebb.cgi?ubb=get_topic&f=1&t=001084&counterhit=yes
-03.09.2001 19:00
-
- can i change the original ringtones on 5110? i've heard that
- with datasuite u can change the ringtones. pls let me know
- regards
- --------------------
- ---I'M UNIQUE AND SO IS MY PHONE---
- -- sms,logos,soft,ringtones and many more free --
-
-
- Posts: 247 | From: Bucharest,Romania | Registered: May 2001 |
- IP:
-
- azywerks
- Newbie
-
- posted 09 June 2001 18:58
-
- No.
- You can add/change 1 ringtone (Received tone) for a 61XX phone
- using Datasuite though.
-
- aCe
-
-
- IP:
-
- mrENigma
- Moderator
-
- Member # 4409
- Member Rated:
- posted 09 June 2001 19:01
-
-
- TOO BAD!!!!
- IS ANY WAY TO DO THIS? ON ANY NOKIA HANDY???
- --------------------
- ---I'M UNIQUE AND SO IS MY PHONE---
- -- sms,logos,soft,ringtones and many more free --
-
-
- Posts: 247 | From: Bucharest,Romania | Registered: May 2001 |
- IP:
-
- azywerks
- Newbie
-
- posted 09 June 2001 19:48
-
- Except for the downloaded ringtones which is available to most
- nokia phones(GSM) except 5110, no.
- Maybe if you can understand the two byte(i guess, or was it
- four) sequence for the tones notation in the PPM section and
- have it manually changed to a tone of your desire then your
- probably half way there.
- The other half would then be spent on how to get your phone to
- accept the new PPM package you've just made without causing
- any problems like Contact Service, sim locks, and Network
- Access. Heck, I can't even change just the simple "Insert"
- from "Insert SIM Card" to tresnI without causing my phone to
- display Contact Service. Must have some security data
- elsewhere.
-
- Anyway, we'll keep on trying.
-
- aCe
-
-
- IP:
-
- zizo
- Freak Poster
-
- Member # 2631
- Member Rated:
- posted 10 June 2001 00:32
-
- Hi mrENigma!
- U can not change a ringtone on your phone, U have only I think
- 2 byte free memory there u can recive one ringtone on it.
- Good luck!
- --------------------
- /Z
-
-
- Posts: 102 | From: Sweden | Registered: Nov 2000 | IP:
-
- mrENigma
- Moderator
-
- Member # 4409
- Member Rated:
- posted 10 June 2001 20:44
-
- even if i erase some of them? 10 originals for one of mine
- it's kind a stupid can't do this....
- --------------------
- ---I'M UNIQUE AND SO IS MY PHONE---
- -- sms,logos,soft,ringtones and many more free --
-
-
- Posts: 247 | From: Bucharest,Romania | Registered: May 2001 |
- IP:
-
- Ice Dragon
- Freak Poster
-
- Member # 3365
- Member Rated:
- posted 14 June 2001 03:23
-
-
- quote:
-
- Originally posted by mrENigma:
- even if i erase some of them? 10 originals for one of mine
- it's kind a stupid can't do this....
-
-
- Well, I have a post of this a while (months) ago.
- It's not possible to ADD TONES to the Nokia 5110 but it is
- possible to CHANGE TONES on the Nokia 5110.
- Well, changing RING TONES is a bit hard but changing ALERT
- TONES is relatively easier to do.
- Of course us all Nokia users can add ring tones to phone like
- the 61xx, 6210, 3210, 33xx, etc. but I bet most of our alert
- tones are all the same.
- The beep, the standard (which is a dit-dit tone), the special
- (which is a dit-dit-dit-dat-dat-dit-dit-dit, which is actually
- a Morse code for "SMS"), and the ascending (which is actualy a
- Morse code for "connecting people") are the same to all Nokia
- phones unless there is one I don't know about.
- Anyway, have any of you once experienced when on a crowd when
- a SMS message came and most people around you have Nokia
- phones (riding a bus for example or on a bar).
- Some of us would check their phone if it was for them, like I
- did.
- So I changed my standard tone which is a dit-dit to dit-dat to
- sound differently. And my special tone from
- dit-dit-dit-dat-dat-dit-dit-dit to
- dat-dit-dit-dit-dat-dit-dit-dit (which sounds like "Who let
- the dogs out" with dit-dit-dit at the end). So when I myself
- received a message, I know that it's for me coz I only have to
- take note of the tone.
- Too bad, Viper stopped his research with the NFREE project. I
- have been inquiring about the checksums but he's no longer
- responding. So I guess I have to do this on my own.
- I'm coming up with a software to change the ringtone on the
- 5110, just like I came up with the soft for changing the alert
- tone on my 5110. Imagine, we have 30 changeable ringtones on
- our Nokia, not just the 5110 but also with the 3210, 33xx,
- 51xx, 61xx, 62xx, 7110, 82xx, 88xx, etc.
- The info about this is not for free of course. Anyone
- experimenting with his Nokia can come with a way to change the
- fixed ringtones and alert tones on his phone.
- BTW, the ringtones can be found on the PPM part of the phone.
- Regards...
- [ 15 June 2001 06:43: Message edited 1 time, lastly by Ice
- Dragon ]
- --------------------
- "Keyboard not found. Press F1 to continue."
- ICQ#:97427188
- -------------------
- Send me private messages if any, no kinky stuff though. :-)
-
-
- Posts: 171 | From: Bacolod, Philippines | Registered: Feb 2001
- | IP:
-
- azywerks
- Newbie
-
- posted 14 June 2001 18:05
-
- Yo Ice! Could you share with me the search values for the SMS
- tones. Pleazzee.
- BTW, have you tried changing the words in our PPM package (i.e
- "Insert" in Insert SIM card to something else). I've tried
- even simply reversing Insert to tresnI so as not to get any
- checksum problems but still I get the CS.
- Maybe their using a different method of calculation (CRC
- perhaps) or they have a compare module elsewhere?
- Just wondering,
- aCe
-
-
- IP:
-
- Leeloo
- Major Poster
-
- Member # 2809
- Rate Member posted 16 June 2001 13:31
-
- If the ringtones are saved in the ppm pack, and you get cs
- when trying to change places of some letters in ppm.....what
- happens in the phon when you download a new ringtone ?
- does it recalculate the cs for ppm itself ?
- I thought these ringtones where saved in a area without any cs
- check.
- /Leeloo
-
-
- Posts: 46 | From: Sweden | Registered: Dec 2000 | IP:
-
- azywerks
- Newbie
-
- posted 17 June 2001 20:27
-
- The downloaded tones aren't stored in your PPM, they are
- stored in your EEPROM. It is in the EEPROM where checksum
- recalculation takes place.
- The tones that are in the PPM are the static tones (i.e Ring
- Ring, Mosquito).
- The SMS alert tones on the other hand (according to ICE
- DRAGON) are located at the MCU portion of your flash.
- Hope this clears up the confusion.
- Regards,
- aCe
-
-
- IP:
-
- Ice Dragon
- Freak Poster
-
- Member # 3365
- Member Rated:
- posted 03 July 2001 04:11
-
-
- quote:
-
- Originally posted by aZyWeRks:
- Yo Ice! Could you share with me the search values for the
- SMS tones. Pleazzee.
- BTW, have you tried changing the words in our PPM package
- (i.e "Insert" in Insert SIM card to something else). I've
- tried even simply reversing Insert to tresnI so as not to
- get any checksum problems but still I get the CS.
- Maybe their using a different method of calculation (CRC
- perhaps) or they have a compare module elsewhere?
- Just wondering,
- aCe
-
-
-
- Yo aCe! Here's the hex values particularly for the Special and
- Ascending alerts tones.
- Using flash from a 5110v5.30C:
- For Special (morse code for "SMS"):
- 5A0C,400C,5A0C,400C,0AFE,5A0C,
- 4025,0A01,5A25,400C,5A25,4025,
- 0AFE,5A0C,400C,5A0C,400C,5A0C
- So it sounds like:
- dit-dit-dit dat-dat dit-dit-dit
- "5A0C" is a "dit" with a duration of 0C
- "5A25" is a "dat" with a duration of 25
- "400C" is a pause with a duration of 0C
- "4025" is a pause with a duration of 25
- "0AFE" is.... I don't know what this means, let me know
- For Ascending (morse code for "connecting people"):
- 5A25,400C,5A0C,0AFE,400C,5A25,400C,5A0C,4025,0A01,
- 5A25,400C,5A25,0AFE,400C,5A25,4025,
- 5A25,400C,5A0C,4025,
- 5A25,400C,5A0C,4025,
- 5A0C,4025,
- 5A25,400C,5A0C,400C,5A25,400C,5A0C,4025,
- 5A25,4025,
- 5A0C,400C,5A0C,4025,
- 5A25,400C,5A0C,4025,
- 5A25,400C,5A25,400C,5A0C,4064
- 5A0C,400C,5A25,400C,5A25,400C,5A0C,4025
- 5A0C,4025
- 5A25,400C,5A25,400C,5A25,4025
- 5A0C,400C,5A25,400C,5A25,400C,5A0C,4025
- 5A0C,400C,5A25,400C,5A0C,400C,5A0C,4025
- 5A0C,4025
- So it sounds like:
- dat-dit-dat-dit dat-dat-dat dat-dit dat-dit dit
- dat-dit-dat-dit dat dit-dit dat-dit dat-dat-dit
- dit-dat-dat-dit dit dat-dat-dat dit-dat-dat-dit
- dit-dat-dit-dit dit
- Again:
- "5A0C" is a "dit" with a duration of 0C
- "5A25" is a "dat" with a duration of 25
- "400C" is a pause with a duration of 0C
- "4025" is a pause with a duration of 25
- "4064" is a pause with a duration of 64 (long pause)
- "0A01" and "0AFE" are.... I don't know what these means, let
- me know
- Correct me if I'm wrong, I think "0A01" and "0AEF" is a system
- pause to let the user interrupt the beeping. for sure, it's
- not a checksum.
- On other phone models:
- Read a full flash from any model of Nokia phone (from 3210,
- 33xx, 51xx, 61xx, 62xx, 7110, 82xx, 88xx) and use these search
- strings on a hex editor (I use HexWorks):
- For alert tones: 8005020A01
- Following hex values after these hex are actual alert tones
- For ringtones: 0905020A01 or 0A05020A01
- Hex values following after these hex are not necessarily ring
- tones but you can see the names of the ring tones and
- following them are their ringtone values. Just see for
- yourself what I mean.
- Can I ask one-thing? If any of you find these info
- interesting, please rate me
- Thanks and best regards...
- P.S. Oh, about changing the "Insert" to "tresnI" in PPM won't
- work.
- You see, checksum calculation in PPM is not done by
- byte-addition (byte added to another byte) but by
- word-addition (two bytes added to the next two bytes).
- Let's take "Insert" as an example:
- Letter - Hex value - Decimal
- I 49 73
- n 6E 110
- s 73 115
- e 65 101
- r 72 114
- t 74 116
- In a byte-to-byte addition, the resulting checksum should be:
- hex 275, decimal 629
- And it would be equal to the checksum of "tresnI"
- But in a word-to-word addition, checksum is computed in
- byte-pairs, therefore taking "In" as one word or hex
- equivalent to 496E, decimal 18798
- So if we are to add them in words:
- Letters - Hex values - Decimal
- In 496E 18798
- se 7365 29541
- rt 7274 29300
- The checksum should be: hex 2F47 or decimal 12103.
- Now with "tresnI", the first two letter pair would be "tr"
- with a hex equivalent to 7472, decimal 29810.
- So if we are to add them in words:
- Letters - Hex values - Decimal
- tr 7472 29810
- es 6573 25971
- nI 6E49 28233
- The checksum should be: hex 482E or decimal 18478.
- Therefore, changing "Insert" to "tresnI" would yield a
- "Contact Service" error.
- Again, I only ask one favor. If any of you find these info
- interesting, please rate me
- Cheers...
- [ 03 July 2001 04:43: Message edited 1 time, lastly by Ice
- Dragon ]
- --------------------
- "Keyboard not found. Press F1 to continue."
- ICQ#:97427188
- -------------------
- Send me private messages if any, no kinky stuff though. :-)
-
-
- Posts: 171 | From: Bacolod, Philippines | Registered: Feb 2001
- | IP:
-
- mrENigma
- Moderator
-
- Member # 4409
- Member Rated:
- posted 03 July 2001 08:06
-
- i'm confuse a little bit, but i think that i learn something.
- and when release software to do this pls let me know 'cause i
- want to get ride off those stupid ringtones.
- thx again and keep in touch.
- --------------------
- ---I'M UNIQUE AND SO IS MY PHONE---
- -- sms,logos,soft,ringtones and many more free --
-
-
- Posts: 247 | From: Bucharest,Romania | Registered: May 2001 |
- IP:
-
- qtboy
- Major Poster
-
- Member # 3427
- Rate Member posted 03 July 2001 13:03
-
- yo ice!!!
- da bes ka gid migs bah!
- pakopyahon mo na lang ko kung matapos na imo
- program. hehehe
-
-
- Posts: 46 | From: davao city, philippines | Registered: Feb
- 2001 | IP:
-
- mrENigma
- Moderator
-
- Member # 4409
- Member Rated:
- posted 03 July 2001 13:53
-
- yo qtboy......... english pls
- --------------------
- ---I'M UNIQUE AND SO IS MY PHONE---
- -- sms,logos,soft,ringtones and many more free --
-
-
- Posts: 247 | From: Bucharest,Romania | Registered: May 2001 |
- IP:
-
- brittnee
- Insane Poster
-
- Member # 2085
- Rate Member posted 03 July 2001 16:06
-
- nice job, i would just like to ask if i should have the same
- number of dits and dats as to avoid contact service?
- salamat
-
- Posts: 94 | Registered: Sep 2000 | IP:
-
- Ice Dragon
- Freak Poster
-
- Member # 3365
- Member Rated:
- posted 04 July 2001 04:17
-
-
- quote:
-
- Originally posted by brittnee:
- nice job, i would just like to ask if i should have the same
- number of dits and dats as to avoid contact service?
- salamat
-
-
- Not necessarily.
- Let's take the Standard alert tone (Morse code for "M") as an
- example (using the 5110v5.30C flash):
- 5519, 400A, 5519, 400A
- So it sounds like "dat-dat"
- 5519 - is a "dat" with a duration of 19
- 400A - is a pause with a duration of 0C
- We could change it to:
- 550C, 400A, 5526, 400A
- So it sounds like "dit-dat"
- Take note that we subtracted hex 0D from the first 5519 and
- added it to the second 5519 to compensate the values so we
- wont have a contact service message.
- Here's a more interesting one. Change the Standard alert tone
- (5519,400A, 5519,400A) to something like this:
- 5B19, 4005, 4F19, 400F
- So it sounds like high-note-dat, low-note-dat
- Or to something like:
- 4C0C, 4005, 5E25, 400F
- So it sounds like low-note-dit, high-note-dat
- Notice that we subtracted duration values from the first pause
- and add it to the next pause, and so with the first tone to
- the second tone.
- Sometimes I get an error when I subtract values from the pause
- and add it to the tone. Or vice versa. It won't work.
- So the following won't work in changing Special alert (morse
- code for "SMS"):
- 5A0C,400C,5A0C,400C,0AFE,5A0C,4025,
- 0A01,5A25,400C,5A25,4025,0AFE,
- 5A0C,400C,5A0C,400C,5A0C
- That sounds like:
- dit-dit-dit dat-dat dit-dit-dit
- "5A0C" is a "dit" with a duration of 0C
- "5A25" is a "dat" with a duration of 25
- "400C" is a pause with a duration of 0C
- "4025" is a pause with a duration of 25
- "0AFE" is.... I don't know what this means, let me know
- Into a variation of "Let's go":
- 5A0C,4025,5A0C,4025,0AFE,
- 5A0C,400C,0A01,5A0C,400C,5A0C,400C,0AFE,5A0C,4025,
- 5A0C,4025,5A0C
- That sounds like:
- dit-dit dit-dit-dit-dit dit-dit
- "5A0C" is a "dit" with a duration of 0C
- "400C" is a pause with a duration of 0C
- "4025" is a pause with a duration of 25
- "0AFE" is.... I don't know what this means, let me know
- It wont work because we subtract values from pause and add it
- to the tone.
- So that's that. I'm still studying the behaviour for the
- default ringtones.
- Sure I can change some values without incurring a "Contact
- Service" but the tones won't make any sense.
- Anyway, I would know who reads this forum in my area when I
- start hearing a different alert tone around here.
- P.S. If you find some info here to be interesting, I only ask
- one thing: please rate me
- BR
- --------------------
- "Keyboard not found. Press F1 to continue."
- ICQ#:97427188
- -------------------
- Send me private messages if any, no kinky stuff though. :-)
-
-
- Posts: 171 | From: Bacolod, Philippines | Registered: Feb 2001
- | IP:
-
- brittnee
- Insane Poster
-
- Member # 2085
- Rate Member posted 04 July 2001 17:16
-
- very nice indeed, i've change the alert tone of my 6210, still
- looking for the standard tone, but i found the special tone
- which is the one i change, thanks a lot!!!!
-
- Posts: 94 | Registered: Sep 2000 | IP:
-
- Ice Dragon
- Freak Poster
-
- Member # 3365
- Member Rated:
- posted 05 July 2001 03:50
-
-
- quote:
-
- Originally posted by brittnee:
- very nice indeed, i've change the alert tone of my 6210,
- still looking for the standard tone, but i found the special
- tone which is the one i change, thanks a lot!!!!
-
-
-
- On a 6210:
- As always, before tinkering with your phone flash, make a full
- backup of your phone flash if you haven't yet.
- Let's assume you don't have a full backup of your phone flash.
- 1. Read the flash address 00200000 to 00600000.
- 2. Copy the \flasher\flash.out to \nk_files\6210full.fls
- 3. Use a hex editor (I suggest Hexworks), open the
- \nk_files\6210full.fls and do the following to obtain a full
- flash without the EEPROM:
- WARNING: If you notice the file contains FF00,FF00 from
- beginning to end, DO NOT PROCEED because this is a bad read
- flash.
- 3.1 Go to address 3FC000 (this is equivalent to flash address
- 005FC000)
- 3.2 Press Shift-Ctrl-Home. This will highlight the data from
- offset 00000000 to 003FC000. Release the keys.
- 3.3 Press Ctrl-C. This will copy the highlighted data to the
- clipboard or memory.
- 3.4 Press Ctrl-N. This will create an empty file.
- 3.5 Press Ctrl-V. you will be asked "Are you sure you want to
- insert?", select "Ok".
- This will copy the previously highlighted data to the new
- file.
- 3.6 Save the file as "my6210.fls"
- 4. Make a copy of the flash that contains the alert tones.
- 4.1 Still using the hex editor, open the file "my6210.fls"
- 4.2 Go to offset 350000. Press Shift-Ctrl-Home. This will
- highlight the data from offset 00000000 to 003FC000. Release
- the keys.
- 4.3 Press Del. You will be asked "Are you sure you want to
- delete?". Press "Ok". This will delete the data from 0 to
- 350000.
- 4.4 Go to offset 10000. Press Shift-Ctrl-End. This will
- highlight the data from offset 10000 to the end of file.
- 4.5 Press Del. You will be asked "Are you sure you want to
- delete?". Press "Ok". This will leave you a 64k data from 0 to
- 10000 (which is equivalent to flash address 00550000 to
- 00560000).
- 4.6 Save the file as \nk_files\6210al.fls
- 5. Copy \nk_files\6210al.fls to \nk_files\alert.fls
- 6. Open the \nk_files\alert.fls with a hex editor (I use
- Hexworks).
- 7. Use the search string "8005020A01".
- First stop should be the Special alert tone.
- You will notice that there's "SMSS.......S.p.e.c.i.a.l" before
- it.
- Pressing F3 will take you to the next found string. This is
- the Standard alert. You will notice that there's
- "SMS.......S.t.a.n.d.a.r.d" before it.
- Again pressing F3 will take you to the next found string. This
- is the Ascending alert. You will notice that there's
- "SMSL.......L.o.n.g. .l.o.u.d" before it.
- Don't forget when you flash it back, you should use alert.fls
- as source and the address should be 00550000.
- Assuming you have flashed it back to the correct address and
- it shows a "Contact Service", you may have incorrectly
- modified your alert tone. If this happens, proceed to number 5.
- If you want to flash it back to its original alert tones,
- flash it back with 6210al.fls at address 00550000.
- But if it still has a Contact Service, flash it back with a
- my6210.fls starting from address 00200000. This should restore
- your original flash without the EEPROM part.
- This procedure is a little bit for advanced flasher users. If
- you don't know what you're doing, don't try it out. You have
- yourself to blame if something pukes up.
- Hmmm... I guess few people are interested in what I'm posting
- here. Out of more than 100 readers since my first posting in
- this thread, only 2 person rated me.
- Oh well, all I'm asking is: rate me please
- -----------------
- Misqouted qoutes:
- "Don't judge the book without its cover"
- "Birds flock together on the same feather"
- "Don't cross the bridge when you get there"
- "There's no water under the bridge"
- --------------------
- "Keyboard not found. Press F1 to continue."
- ICQ#:97427188
- -------------------
- Send me private messages if any, no kinky stuff though. :-)
-
-
- Posts: 171 | From: Bacolod, Philippines | Registered: Feb 2001
- | IP:
-
- nuggie
- Junior Member
-
- Member # 3304
- Member Rated:
- posted 05 July 2001 13:34
-
- I've tryed to do this like that :
- 1.make a full backup 002 to 006 (6210)
- 2.edit with hexworkshop and change the SMS alert
- 3.try to correct checksums with NK1.2 to avoid Contact Service
- 4.put flash back to phone
- 5.works fine
- Ice Dragon: does point 3 make any sense?
- [ 05 July 2001 13:38: Message edited 3 times, lastly by nuggie ]
-
-
- Posts: 27 | From: Westcoast, Poland | Registered: Feb 2001 |
- IP:
-
- Ice Dragon
- Freak Poster
-
- Member # 3365
- Member Rated:
- posted 06 July 2001 03:07
-
-
- quote:
-
- Originally posted by nuggie:
- I've tryed to do this like that :
- 1.make a full backup 002 to 006 (6210)
- 2.edit with hexworkshop and change the SMS alert
- 3.try to correct checksums with NK1.2 to avoid Contact
- Service
- 4.put flash back to phone
- 5.works fine
- Ice Dragon: does point 3 make any sense?
-
-
-
- Not only "sense" (cents), but also dollars... heh..heh...heh...
- I did that already but it always take a long wait to write the
- whole modified flash back to the phone.
- With a 5110v530C flash, I also tried cutting the first part of
- the modified flash (flash address 00200000-00210000), write it
- back to the phone, then cut the last part of the modified
- flash (002F0000-00300000) back to the phone so it would take a
- much lesser time.
- The one I posted earlier is also to let our members reader
- learn a little bit about the alert and ring tones in the
- flash, and the possibility of changing them. Although I
- believe that our members here know more than I do.
- Cheers to you... and best regards to all
- [ 06 July 2001 03:10: Message edited 1 time, lastly by Ice
- Dragon ]
- --------------------
- "Keyboard not found. Press F1 to continue."
- ICQ#:97427188
- -------------------
- Send me private messages if any, no kinky stuff though. :-)
-
-
- Posts: 171 | From: Bacolod, Philippines | Registered: Feb 2001
- | IP:
-
- aZyWeRks
- Freak Poster
-
- Member # 3170
- Member Rated:
- posted 06 July 2001 15:56
-
- Man, thanks a lot for the values. I'll try it.
- And about the word addition information. I'll try to make a
- workaround on this if I have enough time. I've been off the
- internet for a time.
- Thanks a lot man. You're great.
-
- Regards,
- aCe
- --------------------
- http://getit.at/azywerks
-
-
- Posts: 131 | From: I.C., R.P. | Registered: Jan 2001 | IP:
-
- koloksky
- Freak Poster
-
- Member # 718 posted 07 July 2001 00:26
-
- hi,
- That is really cool!! thanks IceDragon!
- u deserve a
- regards
-
-
- Posts: 156 | Registered: Nov 1999 | IP:
-
- nuggie
- Junior Member
-
- Member # 3304
- Member Rated:
- posted 14 July 2001 20:23
-
- Ice Dragon:
- Look here at the ringtone info.
- web page
- [ 14 July 2001 20:26: Message edited 2 times, lastly by nuggie
- ]
-
-
- Posts: 27 | From: Westcoast, Poland | Registered: Feb 2001 |
- IP:
-
- Rayborg
- Newbie
-
- Member # 5357
- Rate Member posted 19 July 2001 14:37
-
- How does it works with a Nokia 3310?
- I think there are other HexValues, but I´m not able to find
- them! Please help me!
-
- Posts: 8 | From: Germany | Registered: Jul 2001 | IP:
-
- Ice Dragon
- Freak Poster
-
- Member # 3365
- Member Rated:
- posted 23 July 2001 03:32
-
-
- quote:
-
- Originally posted by Rayborg:
- How does it works with a Nokia 3310?
- I think there are other HexValues, but I´m not able to find
- them! Please help me!
-
-
- Still use the search string: "8005020A01".
- First stop should be the Special alert tone.
- You will notice that previously the tones have 5A0C, 400C,
- 5A25, 400C values. With the 3310, it uses the 5B0C, 400C,
- 5A25, 400c values.
- "5B0C" is a "dit" with a duration of 0C
- "5B25" is a "dat" with a duration of 25
- "400C" is a pause with a duration of 0C
- "4025" is a pause with a duration of 25
- Pressing F3 will take you to the next found string. This is
- the Standard alert. It uses the 5619, 400A, 5618, 400A values.
- "5619" is a "dit" with a duration of 19
- "400A" is a pause with a duration of 0A
- Again pressing F3 will take you to the next found string. This
- is the Ascending alert. It uses the 5B0C, 400C, 5B25, 400C
- values.
- "5B0C" is a "dit" with a duration of 0C
- "5B25" is a "dat" with a duration of 25
- "400C" is a pause with a duration of 0C
- "4025" is a pause with a duration of 25
- The alert tones on the 3310 reside in the MCU part of the full
- flash.
- Best regards and cheers...
- [ 23 July 2001 03:45: Message edited 1 time, lastly by Ice
- Dragon ]
- --------------------
- "Keyboard not found. Press F1 to continue."
- ICQ#:97427188
- -------------------
- Send me private messages if any, no kinky stuff though. :-)
-
-
+++ /dev/null
-
- Linux kernel coding style
-
-This is a short document describing the preferred coding style for the
-linux kernel. Coding style is very personal, and I won't _force_ my
-views on anybody, but this is what goes for anything that I have to be
-able to maintain, and I'd prefer it for most other things too. Please
-at least consider the points made here.
-
-First off, I'd suggest printing out a copy of the GNU coding standards,
-and NOT read it. Burn them, it's a great symbolic gesture.
-
-Anyway, here goes:
-
-
- Chapter 1: Indentation
-
-Tabs are 8 characters, and thus indentations are also 8 characters.
-There are heretic movements that try to make indentations 4 (or even 2!)
-characters deep, and that is akin to trying to define the value of PI to
-be 3.
-
-Rationale: The whole idea behind indentation is to clearly define where
-a block of control starts and ends. Especially when you've been looking
-at your screen for 20 straight hours, you'll find it a lot easier to see
-how the indentation works if you have large indentations.
-
-Now, some people will claim that having 8-character indentations makes
-the code move too far to the right, and makes it hard to read on a
-80-character terminal screen. The answer to that is that if you need
-more than 3 levels of indentation, you're screwed anyway, and should fix
-your program.
-
-In short, 8-char indents make things easier to read, and have the added
-benefit of warning you when you're nesting your functions too deep.
-Heed that warning.
-
-
- Chapter 2: Placing Braces
-
-The other issue that always comes up in C styling is the placement of
-braces. Unlike the indent size, there are few technical reasons to
-choose one placement strategy over the other, but the preferred way, as
-shown to us by the prophets Kernighan and Ritchie, is to put the opening
-brace last on the line, and put the closing brace first, thusly:
-
- if (x is true) {
- we do y
- }
-
-However, there is one special case, namely functions: they have the
-opening brace at the beginning of the next line, thus:
-
- int function(int x)
- {
- body of function
- }
-
-Heretic people all over the world have claimed that this inconsistency
-is ... well ... inconsistent, but all right-thinking people know that
-(a) K&R are _right_ and (b) K&R are right. Besides, functions are
-special anyway (you can't nest them in C).
-
-Note that the closing brace is empty on a line of its own, _except_ in
-the cases where it is followed by a continuation of the same statement,
-ie a "while" in a do-statement or an "else" in an if-statement, like
-this:
-
- do {
- body of do-loop
- } while (condition);
-
-and
-
- if (x == y) {
- ..
- } else if (x > y) {
- ...
- } else {
- ....
- }
-
-Rationale: K&R.
-
-Also, note that this brace-placement also minimizes the number of empty
-(or almost empty) lines, without any loss of readability. Thus, as the
-supply of new-lines on your screen is not a renewable resource (think
-25-line terminal screens here), you have more empty lines to put
-comments on.
-
-
- Chapter 3: Naming
-
-C is a Spartan language, and so should your naming be. Unlike Modula-2
-and Pascal programmers, C programmers do not use cute names like
-ThisVariableIsATemporaryCounter. A C programmer would call that
-variable "tmp", which is much easier to write, and not the least more
-difficult to understand.
-
-HOWEVER, while mixed-case names are frowned upon, descriptive names for
-global variables are a must. To call a global function "foo" is a
-shooting offense.
-
-GLOBAL variables (to be used only if you _really_ need them) need to
-have descriptive names, as do global functions. If you have a function
-that counts the number of active users, you should call that
-"count_active_users()" or similar, you should _not_ call it "cntusr()".
-
-Encoding the type of a function into the name (so-called Hungarian
-notation) is brain damaged - the compiler knows the types anyway and can
-check those, and it only confuses the programmer. No wonder MicroSoft
-makes buggy programs.
-
-LOCAL variable names should be short, and to the point. If you have
-some random integer loop counter, it should probably be called "i".
-Calling it "loop_counter" is non-productive, if there is no chance of it
-being mis-understood. Similarly, "tmp" can be just about any type of
-variable that is used to hold a temporary value.
-
-If you are afraid to mix up your local variable names, you have another
-problem, which is called the function-growth-hormone-imbalance syndrome.
-See next chapter.
-
-
- Chapter 4: Functions
-
-Functions should be short and sweet, and do just one thing. They should
-fit on one or two screenfuls of text (the ISO/ANSI screen size is 80x24,
-as we all know), and do one thing and do that well.
-
-The maximum length of a function is inversely proportional to the
-complexity and indentation level of that function. So, if you have a
-conceptually simple function that is just one long (but simple)
-case-statement, where you have to do lots of small things for a lot of
-different cases, it's OK to have a longer function.
-
-However, if you have a complex function, and you suspect that a
-less-than-gifted first-year high-school student might not even
-understand what the function is all about, you should adhere to the
-maximum limits all the more closely. Use helper functions with
-descriptive names (you can ask the compiler to in-line them if you think
-it's performance-critical, and it will probably do a better job of it
-that you would have done).
-
-Another measure of the function is the number of local variables. They
-shouldn't exceed 5-10, or you're doing something wrong. Re-think the
-function, and split it into smaller pieces. A human brain can
-generally easily keep track of about 7 different things, anything more
-and it gets confused. You know you're brilliant, but maybe you'd like
-to understand what you did 2 weeks from now.
-
-
- Chapter 5: Commenting
-
-Comments are good, but there is also a danger of over-commenting. NEVER
-try to explain HOW your code works in a comment: it's much better to
-write the code so that the _working_ is obvious, and it's a waste of
-time to explain badly written code.
-
-Generally, you want your comments to tell WHAT your code does, not HOW.
-Also, try to avoid putting comments inside a function body: if the
-function is so complex that you need to separately comment parts of it,
-you should probably go back to chapter 4 for a while. You can make
-small comments to note or warn about something particularly clever (or
-ugly), but try to avoid excess. Instead, put the comments at the head
-of the function, telling people what it does, and possibly WHY it does
-it.
-
-
- Chapter 6: You've made a mess of it
-
-That's OK, we all do. You've probably been told by your long-time Unix
-user helper that "GNU emacs" automatically formats the C sources for
-you, and you've noticed that yes, it does do that, but the defaults it
-uses are less than desirable (in fact, they are worse than random
-typing - a infinite number of monkeys typing into GNU emacs would never
-make a good program).
-
-So, you can either get rid of GNU emacs, or change it to use saner
-values. To do the latter, you can stick the following in your .emacs file:
-
-(defun linux-c-mode ()
- "C mode with adjusted defaults for use with the Linux kernel."
- (interactive)
- (c-mode)
- (c-set-style "K&R")
- (setq c-basic-offset 8))
-
-This will define the M-x linux-c-mode command. When hacking on a
-module, if you put the string -*- linux-c -*- somewhere on the first
-two lines, this mode will be automatically invoked. Also, you may want
-to add
-
-(setq auto-mode-alist (cons '("/usr/src/linux.*/.*\\.[ch]$" . linux-c-mode)
- auto-mode-alist))
-
-to your .emacs file if you want to have linux-c-mode switched on
-automagically when you edit source files under /usr/src/linux.
-
-But even if you fail in getting emacs to do sane formatting, not
-everything is lost: use "indent".
-
-Now, again, GNU indent has the same brain dead settings that GNU emacs
-has, which is why you need to give it a few command line options.
-However, that's not too bad, because even the makers of GNU indent
-recognize the authority of K&R (the GNU people aren't evil, they are
-just severely misguided in this matter), so you just give indent the
-options "-kr -i8" (stands for "K&R, 8 character indents").
-
-"indent" has a lot of options, and especially when it comes to comment
-re-formatting you may want to take a look at the manual page. But
-remember: "indent" is not a fix for bad programming.
-
-
- Chapter 7: Configuration-files
-
-For configuration options (arch/xxx/config.in, and all the Config.in files),
-somewhat different indentation is used.
-
-An indention level of 3 is used in the code, while the text in the config-
-options should have an indention-level of 2 to indicate dependencies. The
-latter only applies to bool/tristate options. For other options, just use
-common sense. An example:
-
-if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
- tristate 'Apply nitroglycerine inside the keyboard (DANGEROUS)' CONFIG_BOOM
- if [ "$CONFIG_BOOM" != "n" ]; then
- bool ' Output nice messages when you explode' CONFIG_CHEER
- fi
-fi
-
-Generally, CONFIG_EXPERIMENTAL should surround all options not considered
-stable. All options that are known to trash data (experimental write-
-support for file-systems, for instance) should be denoted (DANGEROUS), other
-Experimental options should be denoted (EXPERIMENTAL).
+++ /dev/null
-1. What do I need?\r
-\r
-- a reasonably recent version of GNU gettext (e.g. 0.10.35)\r
- Check the version using e.g. msgfmt -V\r
-\r
-- autoconf\r
-\r
-- gnokii distribution :-)\r
-\r
-- if you have the variable LINGUAS in the environment\r
- (most Red Hats have, no idea about other distributions),\r
- unset it\r
-\r
-\r
-2. How to make gnokii.pot file?\r
-\r
-gnokii.pot file is a collection of all localizable strings\r
-in the gnokii package. It will be generated automagically\r
-and is included in the standard distribution package.\r
-\r
-If you need to regenerate it, goto "po" directory,\r
-remove gnokii.pot and say\r
-\r
- make gnokii.pot\r
-\r
-\r
-3.1 How to start translating for a new language?\r
-\r
-First, you would like to contact the authors or write\r
-to the mailing list - maybe there already is someone\r
-working on this translation. \r
-\r
-If you get the OK from the maintainer, there are several\r
-steps to do:\r
-\r
-- add the code of your language to the ALL_LINGUAS line\r
- in the configure.in file\r
-\r
- Caution: the language code may differ from the country\r
- code, e.g. czech language is cs, Czech Republic is cz \r
-\r
-- run autoconf to recreate configure script\r
-\r
-- reconfigure the package (./configure)\r
-\r
-- in the po directory, copy gnokii.pot to <country>.po\r
-\r
-- start translating\r
- \r
-\r
-3.2 How to merge existing translations with the updated gnokii.pot?\r
-\r
-This is simple. Rename the old file and use msgmerge to create\r
-an updated one:\r
-\r
- mv cs.po cs.po.bak\r
- msgmerge -o cs.po cs.po.bak gnokii.pot\r
-\r
-\r
-4. How to generate a .mo file\r
-\r
-When you say make in the po directory, all existing\r
-translations will be generated. The suffix will be .gmo.\r
-\r
-If you want to do this manually, use the msgfmt utility, e.g.\r
-\r
- msgfmt -o cs.mo -v cs.po \r
-\r
-\r
-5. How to install the files\r
-\r
-Again, the makefile takes care of this. Simply use (as root)\r
-\r
- make install\r
-\r
-in the po directory. If you want to do this manually (and/or\r
-for your language only), move the .mo file to\r
-/usr/share/locale/<your locale>/LC_MESSAGES/gnokii.mo \r
-\r
-\r
-I'm from Czech republic, so I did (well, I did not, but if you would\r
-like to localize gnokii, you should :-):\r
-\r
- cd po\r
- make gnokii.pot\r
- cp gnokii.pot cs.po\r
- <translating messages in cs.po>\r
- <checking the translations using> msgfmt -o cs.mo -v cs.po\r
- make\r
- make install\r
-\r
-And now:\r
-\r
-SnowWhite:/tmp/gnokii$ export LC_MESSAGES=cs_CZ\r
-SnowWhite:/tmp/gnokii$ ./gnokii --version\r
-GNOKII Version 0.3.1 Copyright (C) Hugh Blemings 1999. <hugh@linuxcare.com>\r
- Kompilace: 19:09:02 Mar 13 1999 pro model 6110 na portu /dev/ttyS0 \r
-SnowWhite:/tmp/gnokii$ \r
-\r
-The second line is in czech language :-) There are some problems - for\r
-example with "Mar" which is substitute by the C preprocessor.\r
-\r
+++ /dev/null
-NOTE for command line gnokii:
-
---netmonitordata\r
-\r\r
- we have used two data structure, defined in gnokii.h :\r
-\r
- PARAM_INFO_MON wich is a single linked recursive list of pointers,\r
- each pointers contain the complete description of one netmonitor param.\r
-\r
- ///////////////////////////////////////////////////////////////////////\r
- // start->next->next->next-> ...->next->NULL\r
- // | | | |\r
- // V V V V\r
- // par0 par1 par2 parN\r
- ///////////////////////////////////////////////////////////////////////\r
- \r
- OUT_INFO_MON, contains parameters as specified\r
- from the command line and an array of data pointers requested by user,\r
- each one point to a single PARAM_INFO_MON\r
- for optimization reason, also we filled in one array of required screen.\r
-\r
-\r
- this the block diagram of program:\r
- \r
- PARAM_INFO_MON *info:\r
- OUT_INFO_MON *out:\r
-\r
- netmonitordata()\r
-\r
- check for -S option, assign filename\r
- \r
- check for -I option, assign filename\r
- \r
- autodetect_phonemodel_phone_version() This is TO DO\r
- \r
- info = get_min_param_info() // nedeed here, so later we can check args param\r
- \r
- // here we check command line arguments\r
- if -I option\r
-\r
- for each line\r
- do\r
- parse_check(f_argc, f_argv, info, file, line)\r
- done\r
- else\r
- parse_check(argc, argv, info, NULL, 0)\r
- fi\r
-\r
- \r
- // HERE, ALL IS CHECKED\r
- \r
- // here we make OUT_INFO_MON\r
- if -I option\r
-\r
- for each line\r
- do\r
- out = parse_process(f_argc, f_argv, info, file, line)\r
-\r
- nmd_output(out)\r
-\r
- free(out)\r
- done\r
- else\r
- out = parse_process(argc, argv, info, NULL, 0)\r
-\r
- nmd_output(out)\r
-\r
- free(out)\r
- fi\r
+++ /dev/null
-\r
- Common information:\r
- \r
- For more install/compilation information see the INSTALL file.\r
- \r
- (!) Makefiles support make install prefix=<your_directory> \r
- for package building. You can use it example in for .spec:\r
- \r
- ./configure --prefix=/usr\r
- make install prefix=$RPM_BUILD_ROOT/usr\r
-\r
- (You not need create any dirs - all make make install.)\r
-\r
- For a installation procedure is used 'make install' or\r
- 'make install prefix=', and all outputs from this routine must be \r
- correct. Please, not make any correction in your package specific \r
- build system (example use 'cp' in package routines - .spec - \r
- it is job for Makefiles). Write more different routines for \r
- instalation is good way to hell...\r
- \r
- 'make install' not install documentation, because for this use \r
- any distribution itself routines. If you want install docs via\r
- Makefile you must type 'make install-docs' \r
-\r
- Debian:\r
- \r
- 1/ Add new lines to Debian/changelog and set corect verion in this\r
- file.\r
-\r
- 2/ Check files: rules, menu, docs\r
-\r
- 3/ Well, because gnokii's debian directory is in subdirectory \r
- 'packaging' and it is total non-standard for Debian package \r
- building system, you must firstly type in top directory:\r
-\r
- # ln -s packaging/Debian debian \r
- \r
- 3/ In source type:\r
-\r
- # debian/rules binary\r
- # debian/rules clean\r
-\r
- 4/ Delete symlink\r
-\r
- # rm debian\r
-\r
- \r
-\r
- FreeBSD:\r
-\r
- \r
-\r
- RedHat:\r
-\r
-\r
-\r
-\r
-\r
- Win32:\r
-
\ No newline at end of file
+++ /dev/null
-Subject: RE: Xgnokii in win32 ?\r
-Date: Mon, 29 Nov 1999 08:45:31 +0100\r
-From: Acquadro Daniele <acquadro.daniele@logicasiel.it>\r
-To: marcinw0@poczta.onet.pl\r
-CC: gnokii <gnokii@net.lut.ac.uk>\r
-\r
-Hi ,\r
-gtk for windows can be donloaded from www.gtk.org. On the left there's a\r
-link to GTK+ on win32 (on the bottom of the page).\r
-\r
-To compile xGnokii, using VC ide, you have to create a new win32 CONSOLE\r
-application (NOT a win32 application) and then add the libraries.\r
-TO COMPILE you need those libraries\r
-gdk-1.3.lib\r
-gtk-1.3.lib\r
-glib-1.3.lib\r
-\r
- bye\r
- Daniele\r
-> -----Original Message-----\r
-> From: Marcin Wiacek [SMTP:marcinw0@poczta.onet.pl]\r
-> Sent: domenica 28 novembre 1999 22.50\r
-> To: GNU Nokia mailing List\r
-> Subject: Xgnokii in win32 ?\r
->\r
->\r
-> Hi,\r
->\r
-> I want to know only, where can I get GTK libraries for win32 (they're\r
-> required for compiling xgnokii) from ?\r
->\r
-> Or maybe somebody will write on the list/some WWW page, what to do to\r
-> compile xgnokii in win32 (how to replace GTK libraries with win procedures\r
-> -\r
-> I think, it will be better) ?\r
->\r
-> ...maybe I shouldn't ask for it, but it isn't written in gnokii source...\r
->\r
-> Regards,\r
->\r
-> Marcin\r
->\r
+++ /dev/null
-Do: Markus Plail\r
-Temat: RE: RE:\r
-\r
-\r
-Hi,\r
-\r
-> Sorry for the confusion. I wrote the subject (getsms for 6210) in \r
-> the CC field.\r
-No problem :-)\r
-\r
-> So this is what I want to try, in linux btw. U wrote that u can \r
-> give some information on that topic.\r
-OK. Good.\r
-\r
-First of all, you HAVE to understand, how/where are created all phone functions. Look into n7110.c for N7110_Functions. This is our structure for each function - getting SMS, etc. You have pointers to each function sending request.\r
-\r
-Example: N6110_NetMonitor for netmonitor function.\r
-\r
-If each function (let's say N6110_NetMonitor) you send frame for phone:\r
------------------------------\r
- unsigned char req[] = { 0x00, 0x01, 0x7e, 0x00 };\r
- \r
- GSM_Error error;\r
- \r
- error=N6110_EnableExtendedCommands(0x01);\r
- if (error!=GE_NONE) return error;\r
-\r
- CurrentNetmonitor=Screen;\r
-\r
- req[3]=mode;\r
-\r
- return N6110_SendMessageSequence\r
- (20, &CurrentNetmonitorError, 4, 0x40, req);\r
----------------------------\r
-In req you prepare it (see 6110.txt/7110.txt for frame for netmonitor and compare it with req).\r
-\r
-First (this is specific for netmonitor and some other) need to send something, we call EnableExtendedCommands - we must send special frame and wait for answer. And ONLY after it phone will answer with 0x40 frames. For SMS in 6210 it's not required.\r
-\r
-After it we set pointer to structure given by user (pointers are declared in gsm-api.c & gsm-api.h): CurrentNetmonitor=Screen;\r
-\r
-Prepare frame send to phone...\r
-\r
-And use N6110_SendMessageSequence -> first is, how long we can wait for phone answer (20), next: what variable is used to see, if phone answered (I will later describe more - variable created in gsm-api.c & gsm-api.h), how many bytes in req, frame type and req.\r
-\r
-That's all here.\r
-\r
-All answers are handled in N7110_DispatchMessage\r
-\r
-In example look for:\r
-\r
- fprintf(stdout, _("Message: Netmonitor menu %d received:\n"), MessageBuffer[3]);\r
-\r
-You copy formatted answer to structure pointed by CurrentNetmonitor (in example) and set CurrentNetmonitorError to GE_NONE (it makes, that N6110_SendMessageSequence returns: NO error). That's all.\r
---------------------\r
-If you understand, let's start:\r
-\r
-1.need to make new N7110_GetSMSFolders similiar to N6110_GetSMSFolders (send frame - it's described in 7110.txt: "Get folder names", wait for answer and return it) and set N7110_Functions to point on it (in line 127).\r
-\r
-After it we will be able to make "real" getsms...\r
-\r
-Any questions ?\r
-\r
-Pozdrowienia/Best Regards\r
---\r
-Marcin Wiacek -> mailto:marcinwiacek@topnet.pl http://marcin-wiacek.topnet.pl (http://www.fkn.pl/marcinw) -> netmonitor, firmware, mygnokii (GSM & Nokia)\r
-http://www.mds.mdh.se/~cel95eig/mygnokii/ & http://grumble.zereau.com/gnokii/ & http://reinhold.bachrain.de/ -> mygnokii mirrors
\ No newline at end of file
+++ /dev/null
-//SCKL1584 \r
-BODY:\r
-IA:\r
-OPER ariel\r
-Link up\r
-N\r
-\r
-M SMS\r
-+6421XXXXXX/+6421YYYYYY\r
-6:LINKUP\r
---\r
-IA:\r
-OPER ariel\r
-Link down\r
-N\r
-\r
-M SMS\r
-+6421XXXXXX/+6421YYYYYY\r
-8:LINKDOWN\r
+++ /dev/null
-\r
-1.see Smart Messaging 2.0 for info, what the DMCP is\r
-\r
-2.I didn't have success in changing menus via cable (without sending SMS).\r
- Here is example foogle funtion. You will see only "Nokia service update failed"\r
-------------------------------------\r
-int foogle(char *argv[])\r
-{\r
- GSM_NetworkInfo NetworkInfo;\r
- int i;\r
-\r
- char buffer[100]= { 0x0c, 0x01,\r
- 0x06, /* User Data Header Length */\r
- 0x05, /* IEI: application port addressing scheme, 16 bit address */\r
- 0x04, /* IEDL (IED length ?) */\r
- 0x15, /* destination address: high byte */\r
- 0x84, /* destination address: low byte */\r
- 0x00, /* originator address: high byte */\r
- 0x00}; /* originator address: low byte */\r
-\r
- int MSGLEN=9;\r
-\r
- /* Initialise the code for the GSM interface. */ \r
-\r
- fbusinit(NULL);\r
-\r
- buffer[MSGLEN++]='B';\r
- buffer[MSGLEN++]='O'; \r
- buffer[MSGLEN++]='D';\r
- buffer[MSGLEN++]='Y';\r
- buffer[MSGLEN++]=':';\r
- buffer[MSGLEN++]=10;\r
- buffer[MSGLEN++]='I';\r
- buffer[MSGLEN++]='A';\r
- buffer[MSGLEN++]=':';\r
- buffer[MSGLEN++]=10;\r
- buffer[MSGLEN++]='O';\r
- buffer[MSGLEN++]='P';\r
- buffer[MSGLEN++]='E';\r
- buffer[MSGLEN++]='R';\r
- buffer[MSGLEN++]=' ';\r
- buffer[MSGLEN++]='a';\r
- buffer[MSGLEN++]='l';\r
- buffer[MSGLEN++]=10;\r
- buffer[MSGLEN++]='L';\r
- buffer[MSGLEN++]='i';\r
- buffer[MSGLEN++]='n';\r
- buffer[MSGLEN++]='k';\r
- buffer[MSGLEN++]=10;\r
- buffer[MSGLEN++]='N';\r
- buffer[MSGLEN++]=10;\r
- buffer[MSGLEN++]=10;\r
- buffer[MSGLEN++]='M';\r
- buffer[MSGLEN++]=' ';\r
- buffer[MSGLEN++]='S';\r
- buffer[MSGLEN++]='M';\r
- buffer[MSGLEN++]='S';\r
- buffer[MSGLEN++]=10;\r
- buffer[MSGLEN++]='+';\r
- buffer[MSGLEN++]='4';\r
- buffer[MSGLEN++]='8';\r
- buffer[MSGLEN++]='6';\r
- buffer[MSGLEN++]='0';\r
- buffer[MSGLEN++]='2';\r
- buffer[MSGLEN++]='9';\r
- buffer[MSGLEN++]='5';\r
- buffer[MSGLEN++]='1';\r
- buffer[MSGLEN++]='1';\r
- buffer[MSGLEN++]='1';\r
- buffer[MSGLEN++]='1';\r
- buffer[MSGLEN++]='/';\r
- buffer[MSGLEN++]='+';\r
- buffer[MSGLEN++]='4';\r
- buffer[MSGLEN++]='8';\r
- buffer[MSGLEN++]='6';\r
- buffer[MSGLEN++]='0';\r
- buffer[MSGLEN++]='2';\r
- buffer[MSGLEN++]='9';\r
- buffer[MSGLEN++]='5';\r
- buffer[MSGLEN++]='1';\r
- buffer[MSGLEN++]='1';\r
- buffer[MSGLEN++]='1';\r
- buffer[MSGLEN++]='1';\r
-\r
- for (i=0;i<MSGLEN;i++) {\r
- fprintf(stdout,_("%c"),buffer[i]);\r
- }\r
-\r
- Protocol->SendMessage(MSGLEN, 0x12, buffer);\r
- GSM->GetNetworkInfo(&NetworkInfo); //need to make something\r
-\r
- \r
- GSM->Terminate();\r
-\r
- return 0;\r
-}\r
------------------------------------\r
-3.to change via SMS - read parts of email sent by Martin Lucina [mato@kotelna.sk]\r
------------------------------------\r
-\r
-1. First of all, use the OPER (Operator) services rather than the Nokia\r
- services. There's probably no reason why you couldn't use either but\r
- there may be extra hooks in the phone firmware regarding Nokia\r
- services that I don't know about.\r
-\r
-2. Make sure that "Operator access number 1" and "Operator access number\r
- 2" are set correctly in the services menu. The former should be set\r
- to the SMS centre the messages you send are going to come from\r
- (important, send yourself a test message and check it's details, some\r
- operators set the sending SMSC number to one different from the one\r
- you originally sent the message to). The latter should be the number\r
- of the MS you are sending the SMS from.\r
-\r
-3. Don't send the messages as binary NBS messsages using the UDH. I\r
- haven't been able to get this method to work and besides, the //SCK\r
- compatibility header works just fine. \r
- \r
- Also, while I haven't seen this, it's possible that if you send a\r
- message in binary format, the destination MS will reply in binary\r
- format. This makes the reply useless if you are sending from another\r
- NBS-aware phone, since the NBS router will most likely silently\r
- discard it (or try to forward it to the phones TTML/DMCP server,\r
- which won't help either). \r
- \r
- If you send the messages as text, the replies I've seen also come\r
- back as text so you can retrieve them from the phone in the normal\r
- fashion.\r
-\r
-One caveat I've noticed with sending NBS messages using the //SCK\r
-compatibility header is that the NBS grammar in the Nokia SM spec\r
-version 2 contradicts the grammar in the original Intel NBS spec. Nokia\r
-says you can using either a newline or space as the delimiter after\r
-"//SCK", it turns out that you _must_ use a space (as stated in the\r
-Intel spec). Of course you can still stick a newline in afterwards.\r
-\r
-I have attached a test file that will add two menu items that send SMS\r
-messages to your services menu. I send this to the phone using\r
-\r
-$ sendsms +6421XXXXXX < addsms\r
-\r
-[...]\r
-\r
-Cheers,\r
-\r
--- \r
-Martin Lucina http://www.kotelna.sk/mato/ Wellington, New Zealand \r
-I've always been mad I know I've been mad like the most of us are \r
-Pretty hard to explain why you're a madman even if you're not mad \r
+++ /dev/null
-//SCKL1584 \r
-BODY:\r
-IR:\r
-OPER ariel\r
-Link up\r
+++ /dev/null
-Subject: Ringtones
-Date: Wed, 2 Feb 2000 13:32:47 -0000
-From: "Mike Bradley" <mike@trumpington.st>
-To: "GNU Nokia mailing List" <gnokii@net.lut.ac.uk>
-
-Does anyone know anything about the ringtone IDs in the group info? It
-seems that all the various handsets have different ID codes and different
-sets of tones. Is there any order to all this? Here's what I've got:
-
-RINGTONEDESC
-eNam
-100
-
- 0x10, "Preset",
- 0x11, "Custom",
- 0x12, "Ring ring", //
- 0x13, "Low", //
- 0x14, "Fly",
- 0x15, "Mosquito", //
- 0x16, "Bee", //
- 0x17, "Intro",
- 0x18, "Etude",
- 0x19, "Hunt",
- 0x1a, "Going up",
- 0x1b, "City bird", //
- 0x1e, "Chase",
- 0x20, "Scifi",
- 0x23, "Do-mi-so", //
- 0x24, "Robo N1X",
- 0x27, "Playground",
- 0x2b, "That's It!",
- 0x2f, "Grande valse", //
- 0x30, "Helan",
- 0x31, "Fuga",
- 0x32, "Menuet",
- 0x33, "Ode to Joy",
- 0x34, "Elise", //
- 0x35, "Mozart 40", //
- 0x36, "Piano Concerto", //
- 0x37, "William Tell",
- 0x38, "Badinerie", //
- 0x39, "Polka",
- 0x3a, "Attraction", //
- 0x3c, "Polite",
- 0x3d, "Persuasion",//
- 0x43, "Tick tick",//
- 0x44, "Samba",//
- 0x46, "Orient",//
- 0x47, "Charleston",//
- 0x49, "Jumping",//
-
- 0x00, "??"
-};
-
-// the following are also on the 8850
-//Trio
-//Knock knock
-//Cicada
-//Kick
-//Dawn
-//Buffoon
-//Barn dance
-//Basic rock
-//Groovy blue
-//Frantic
-//Baroque
-//Entertainer
-//Indifference
-//Swan Lake
-//Tchaikovsky
-//Liszt
-//Bounce
-
-RINGTONEDESC
-eNam
-100
-
- 0xff, "Default",
- 0x2c, "That's It!",
- 0x2d, "Siren",
- 0x2e, "Tripod",
- 0x2f, "Ring ring",
- 0x30, "Low",
- 0x31, "Intro",
- 0x32, "Bee",
- 0x33, "Etude",
- 0x34, "Polite",
- 0x35, "Persuasion",
- 0x36, "Attraction",
- 0x37, "Bumblebee",
- 0x38, "Menuet",
- 0x39, "Grande valse",
- 0x3a, "Ode to Joy",
- 0x3b, "Mozart 40",
- 0x3c, "Elise",
- 0x3d, "William Tell",
- 0x3e, "Charleston",
- 0x3f, "Helan",
- 0x40, "Left Hand",
- 0x41, "Right Hand",
- 0x42, "Happy Birthday",
- 0x43, "Playground",
- 0x44, "Fuga",
- 0x45, "Chase",
- 0x46, "Classical",
- 0x47, "Hungarian",
- 0x48, "Valkyrie",
- 0x49, "Badinerie",
- 0x4a, "Bach #3",
- 0x4b, "Swan Lake",
- 0x4c, "Tchaikovsky",
- 0x4d, "Samba",
- 0x4e, "Mosquito",
- 0x00, "??"
-};
+++ /dev/null
-Od: owner-gnokii@net.lut.ac.uk w imieniu Bernhard Mähr [Bernhard.Maehr@GMX.at]\r
-Wysłano: 25 listopada 2000 17:06\r
-Do: gnokii@net.lut.ac.uk\r
-Temat: Telefonbucheditor 7110 \r
-\r
-For everyone who trys to decode the 7110 FBUS protocol a tip:\r
-If in the Windows-Registry HKEY_LOCAL_MACHINE\SOFTWARE\moosy.development\TBE7110 \r
-the String Data is replaced with a Binary with the name Data the program shows a \r
-error message at the begin but it also enables a option debug. This option \r
-displays a second window showing the trace of the FBUS. So it should be easier \r
-to decode the protocol. So it is possible to see the communiction while loading \r
-the phone numbers, adresses,... and also syncronizing the calendar. \r
- \r
-I know it is a little bit unfair, don't tell me that.\r
- \r
-I hope this is useful for someone\r
- \r
-Bernhard Mähr\r
- \r
+++ /dev/null
-To irda sniffs use irda_intercept.tgz\r
-(http://www.dev-thomynet.de/nokworld/noktrace/index.html or \rtools directory
-- unpacked source is there) from Thomas Schneider
-\r
-how to use it:\r
-you MUST stop irda support ('rcirda stop' fur SUSE)\r
-to free the infrared tty port.\r
-just type irda_intercept and you should see\r
-irda packages of port /dv/ttyS1 (hardcoded in source).\r
-The tool writes also to file 'out.trc'.\r
-Use this file to decode: 'gnokii --decodefile out.trc'\r
-(mygnokii have to be compiled with debug)
-\r
\ No newline at end of file
+++ /dev/null
-/*********************************************************************
- *
- * Filename: fcs.c
- * Version: 0.1
- * Description: fcs calculation routines
- * Status: Experimental.
- * Author: Dag Brattli <dagb@cs.uit.no>
- * Created at: Mon Aug 4 20:40:53 1997
- * Modified at: Sat Jul 17 08:43:59 1999
- * Modified by: Thomas Schneider <nok-trace-men@dev-thomynet.de>
- * Sources: crc.h by Dag Brattli <dagb@cs.uit.no> in
- * linux-irda-project,
- * ppp.c by Michael Callahan <callahan@maths.ox.ac.uk>
- * Al Longyear <longyear@netcom.com>
- *
- ********************************************************************/
-
-#include "fcs.h"
-
-__u16 irda_fcs16_table[256] =
-{
- 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
- 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
- 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
- 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
- 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
- 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
- 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
- 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
- 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
- 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
- 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
- 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
- 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
- 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
- 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
- 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
- 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
- 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
- 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
- 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
- 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
- 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
- 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
- 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
- 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
- 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
- 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
- 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
- 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
- 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
- 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
- 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
-};
-
-unsigned short fcs_calc( __u16 oldfcs, __u8 *buf, int len) {
- __u16 fcs = oldfcs;
-
- while ( len--)
- fcs = IR_FCS(fcs, *buf++);
- return (fcs);
-}
+++ /dev/null
-/*********************************************************************
- *
- * Filename: fcs.h
- * Version:
- * Description: fcs routines for irda
- * Status: Experimental.
- * Author: Dag Brattli <dagb@cs.uit.no>
- * Created at: Mon Aug 4 20:40:53 1997
- * Modified at: Sat Jul 17 08:43:59 1999
- * Modified by: Thomas Schneider <nok-trace-men@dev-thomynet.de>
- * Sources: crc.h by Dag Brattli <dagb@cs.uit.no> in
- * linux-irda-project
- *
- ********************************************************************/
-
-#ifndef FCS_H
-#define FCS_H
-
-#include <linux/types.h>
-
-#define INIT_FCS 0xffff /* Initial FCS value */
-#define GOOD_FCS 0xf0b8 /* Good final FCS value */
-
-#define IR_FCS(fcs, byte)((fcs >> 8)^irda_fcs16_table[ (fcs^byte) & 0xff])
-
-unsigned short fcs_calc( __u16 oldfcs, __u8 *buf, int len);
-
-extern __u16 irda_fcs16_table[];
-
-#endif
+++ /dev/null
-/*********************************************************************
- *
- * Filename: irda.h
- * Version:
- * Description: irda-specific defines
- * Status: Experimental.
- * Author: Thomas Schneider <nok-trace-men@dev-thomynet.de>
- * Created at:
- * Modified at:
- * Modified by: Thomas Schneider <nok-trace-men@dev-thomynet.de>
- *
- * Copyright (c) 1999 Thomas Schneider, All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * IN NO EVENT SHALL THOMAS SCHNEIDER BE LIABLE TO ANY PARTY FOR
- * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
- * IF THOMAS SCHNEIDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- *
- * THOMAS SCHNEIDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
- * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER
- * IS ON AN "AS IS" BASIS, AND THOMAS SCHNEIDER HAS NO OBLIGATION TO
- * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
- * MODIFICATIONS.
- *
- * This material is provided "AS-IS" and at no charge.
- *
- ********************************************************************/
-
-#ifndef __NOKTRACE_IRDA_H
-#define __NOKTRACE_IRDA_H
-
-#include <glib.h>
-
-
-/*
- * service hints
- * -------------
- * - first byte
- */
-#define PNP_COMP 0x00
-#define PDA_PALM 0x01
-#define COMPUTER 0x02
-#define PRINTER 0x03
-#define MODEM 0x04
-#define FAX 0x05
-#define LAN 0x06
-#define EXTENS 0x07
-
-
-/*
- * output-defines
- * --------------
- */
-#define OUT_ALL 0x01
-#define OUT_IRLAP 0x02
-#define OUT_IRLMP 0x03
-#define OUT_HIGH_LEVEL 0x04
-
-#define OUT_FORM_LINE 0x01
-#define OUT_FORM_STEP 0x02
-
-#define OUT_SCREEN 0x01
-#define OUT_FILE 0x02
-
-/*
- * some types
- */
-typedef unsigned char BYTE;
-typedef unsigned char U8 ;
-typedef unsigned short U16 ;
-typedef unsigned int U32 ;
-
-/*
- * some structs
- */
-typedef struct
-{
- U16 length;
- U16 a_offset;
- BYTE buf[4096];
-} RAW_FRAME;
-
-typedef struct
-{
- U16 bof_length;
- BYTE * bof;
- BYTE a;
- BYTE c;
- U16 info_length;
- BYTE * info;
- U32 fcs; /* must be U32 because escaped fcs */
- BYTE eof_length;
- BYTE * eof;
- BYTE esc_nr; /* all ce's - include also esc_fcs */
- BYTE esc_fcs; /* nr of ce's in fcs */
- U16 computed_fcs;
-} IRLAP_FRAME;
-
-typedef struct
-{
- U16 bof_length;
- BYTE * bof;
- BYTE a;
- BYTE c;
- U16 info_length;
- BYTE * info;
- U32 fcs; /* must be U32 because escaped fcs */
- BYTE eof_length;
- BYTE * eof;
- BYTE esc_nr; /* all ce's - include also esc_fcs */
- BYTE esc_fcs; /* nr of ce's in fcs */
- U16 computed_fcs;
-} IRLAP_RAW_FRAME;
-
-typedef struct
-{
- U8 cmd;
- U8 dlsap_sel;
- U8 slsap_sel;
- U16 info_length;
- U8 * info;
-} IRLMP_FRAME;
-
-typedef struct
-{
- BYTE baud_rate_master;
- BYTE baud_rate_client;
- BYTE baut_rate_connection;
- BYTE state;
-} NEGOTATION_PARAM;
-
-typedef struct
-{
- BYTE irlap_state;
- BYTE irlmp_state;
- U32 p_src_adr; /* primary - source address */
- U32 s_src_adr; /* secondary - source address */
- U8 conn_adr; /* connection address */
-} CONNECTION;
-
-typedef struct
-{
- U32 prim_nr_bytes; /* bytes from primary station */
- U32 sec_nr_bytes ; /* bytes from secomdary station */
- U32 prim_fcs_errors; /* nr of fcs-errors from prim. */
- U32 sec_fcs_errors; /* nr of fcs-errors from sec. */
- U32 prim_frames; /* frames from primary */
- U32 sec_frames; /* frames from secondary */
- U32 prim_esc_nr; /* nr of ecsapes from primary */
- U32 sec_esc_nr; /* nr of escapes from secondary */
-} CONNECT_STATISTIC;
-
-typedef struct
-{
- BYTE deep; /* deep of output (L2, L3, ... */
- BYTE form; /* kind of output (line, steps) */
- BYTE bit_output; /* if output as bits */
- BYTE dest; /* file, screen */
- FILE input_fd; /* input FILE */
- GString infile_name; /* name of input-file */
- FILE output_file; /* output FILE */
- GString outfile_name; /* name of input-file */
-} OUTPUT_PARAMS;
-
-
-#endif /* __NOKTRACE_IRDA_H */
-
+++ /dev/null
-/*********************************************************************
- *
- * Filename: irlap.h
- * Version:
- * Description: in this file you can only find define´s for parts
- * of the irlap-layer. If you want read the typedef´s
- * for struct´s look into irda.h
- * Status: Experimental.
- * Author: Thomas Schneider <nok-trace-men@dev-thomynet.de>
- * Created at:
- * Modified at:
- * Modified by: Thomas Schneider <nok-trace-men@dev-thomynet.de>
- *
- * Copyright (c) 1999 Thomas Schneider, All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * IN NO EVENT SHALL THOMAS SCHNEIDER BE LIABLE TO ANY PARTY FOR
- * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
- * IF THOMAS SCHNEIDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- *
- * THOMAS SCHNEIDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
- * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER
- * IS ON AN "AS IS" BASIS, AND THOMAS SCHNEIDER HAS NO OBLIGATION TO
- * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
- * MODIFICATIONS.
- *
- * This material is provided "AS-IS" and at no charge.
- *
- ********************************************************************/
-/*
- * in this file you can only find define´s for parts
- * of the irlap-layer. If you want read the typedef´s
- * for struct´s look into irda.h
- */
-
-#ifndef __IRLAP_H
-#define __IRLAP_H
-
-#include <glib.h>
-
-
-#define IRDA_XBOF 0xFF
-#define IRDA_BOF 0xC0
-#define IRDA_EOF 0xC1
-
-/*
- * IrLAP-OFFSETS
- * -------------
- */
-#define IRLAP_A_OFF 0x00
-#define IRLAP_C_OFF 0x01
-#define IRLAP_I_OFF 0x02
-
-/*
- * IrLAP-DEFINES
- * -------------
- */
-#define IRLAP_XBOF 0xFF
-#define IRLAP_BOF 0xC0
-#define IRLAP_EOF 0xC1
-#define IRLAP_CE 0x7D
-#define IRLAP_ESC IRLAP_CE
-
-#define IRLAP_ESC_MASK (~0xDF)
-
-#define IRLAP_A_LENGTH 1
-#define IRLAP_C_LENGTH 1
-#define IRLAP_FCS_LENGTH 2
-#define IRLAP_EOF_LENGTH 1
-
-#define IRLAP_C_MASK 0x03
-#define IRLAP_U_FRAME 0x03
-#define IRLAP_S_FRAME 0x01
-#define IRLAP_PF_BIT_MASK (~0xEF)
-#define IRLAP_PF_BIT_CLR_MASK (~0x10)
-#define IRLAP_Nr_CLR_MASK 0x1F
-
-/*
- * IRLAP U cmd/response
- * --------------------
- * - all defines use a cleared P/F-Bit
- * (irlap_frame -> c & IRLAP_PF_BIT_CLR_MASK)
- * - page 26 in IrLAP-spec
- * - if no _CMD or _RSP name is _CMD_RSP (e.g. 0x83)
- */
-#define IRLAP_SNRM_RNRM 0x83
-#define IRLAP_DISC_RD 0x43
-#define IRLAP_UI_UI 0x03
-#define IRLAP_XID_CMD 0x2F
-#define IRLAP_TEST_TEST 0xE3
-#define IRLAP_UA_RSP 0x63
-#define IRLAP_FRMR_RSP 0x87
-#define IRLAP_DM_RSP 0x0F
-#define IRLAP_XID_RSP 0xAF
-
-/*
- * IRLAP S cmd/response
- * --------------------
- * - all defines use a cleared P/F-Bit and cleared Nr
- * (irlap_frame -> c & IRLAP_PF_BIT_CLR_MASK & IRLAP_Nr_CLR_MASK)
- * - page 32 in IrLAP-spec
- * - for both (cmd and response) the same mask is defined
- */
-#define IRLAP_RR 0x01
-#define IRLAP_RNR 0x05
-#define IRLAP_REJ 0x09
-#define IRLAP_SREJ 0x0D
-
-
-/*
- * irlap-connection-states
- * -----------------------
- * - negotation defines are also conn-states
- */
-#define IRLAP_DISC 0x00 /* disconnected */
-#define IRLAP_NDM 0x01 /* normaldisconnect mode */
-#define IRLAP_NRM 0x02 /* normal response mode */
-
-/*
- * negotation-defines
- * ------------------
- */
-/* negotation-states */
-#define NEG_SNRM_OK 0x01
-#define NEG_WAIT_FOR_UA 0x02
-#define NEG_UA_OK 0x03
-#define NEG_COMPLETE 0x04
-
-#define B576000 576000
-#define B1152000 1152000
-
-#define IRLAP_SNRM_SRC_ADR 0x00 /* src in SNRM */
-#define IRLAP_SNRM_DEST_ADR 0x04 /* dest in SNRM */
-#define IRLAP_SNRM_CONN_ADR 0x08 /* connection-adr in SNRM */
-#define IRLAP_UA_SRC_ADR 0x00 /* src in UA */
-#define IRLAP_UA_DEST_ADR 0x04 /* dest in UA */
-#define IRLAP_NEG_SNRM_PARAM_OFF 0x09 /* src(U32) dest(U32) adr(8) */
-#define IRLAP_NEG_UA_PARAM_OFF 0x08 /* src(U32) dest(U32) */
-#define IRLAP_NEG_BPS_PI 0x01 /* IrLAP page 39 */
-#define IRLAP_PI_LENGTH 1 /* no more longer used */
-#define IRLAP_PL_LENGTH 1 /* no more longer used */
-
-/*
- * defines for decode xid-cmd
- * --------------------------
- */
-#define XID_C_FI_OFFSET 0x00 /* offset for format identifier (U8) */
-#define XID_C_SRC_ADR_OFF 0x01 /* offset for source address (U32) */
-#define XID_C_DEST_ADR_OFF 0x05 /* offset for dest address (U32) */
-#define XID_C_DISC_F_OFF 0x09 /* offset for discovery flags (U8) */
-#define XID_C_SLOT_NR_OFF 0x0A /* offset for slot number (U8) */
-#define XID_C_VERSION_OFF 0x0B /* offset for version (U8) */
-#define XID_C_DISC_I_OFF 0x0C /* offset for discovery information */
-#define XID_C_FLAG_TRUE 0x01 /* flags in cmd only if FI == 0x01 */
-#define XID_C_F_SLOT_MASK 0x03 /* mask for slot numbers in di-flag */
-#define XID_C_F_NEW_ADR_M 0x04 /* mask for new device-address-gen. */
-#define XID_C_LAST_SLOT 0xFF /* nr. for last slot in xid-cmd */
-#define XID_C_DISC_I_M_L 0x20 /* max length of discovery info */
-#define XID_C_DI_S_H_OFF 0x0C /* 1. service hint offset in disc-inf */
-#define XID_C_DI_S_H_EX_M 0x07 /* serv.hint extent. mask in disc_inf */
-
-/*
- * defines for decode xid-rsp
- * --------------------------
- */
-#define XID_R_FI_OFFSET 0x00 /* offset for format identifier (U8) */
-#define XID_R_SRC_ADR_OFF 0x01 /* offset for source address (U32) */
-#define XID_R_DEST_ADR_OFF 0x05 /* offset for dest address (U32) */
-#define XID_R_DISC_F_OFF 0x09 /* offset for discovery flags (U8) */
-#define XID_R_SLOT_NR_OFF 0x0A /* offset for slot number (U8) */
-#define XID_R_VERSION_OFF 0x0B /* offset for version (U8) */
-#define XID_R_DISC_I_OFF 0x0C /* offset for discovery information */
-#define XID_R_FLAG_TRUE 0x01 /* flags in rsp only if FI == 0x01 */
-#define XID_R_F_SLOT_MASK 0x03 /* mask for slot numbers in di-flag */
-#define XID_R_F_NEW_ADR_M 0x04 /* mask for new device-address-gen. */
-#define XID_R_LAST_SLOT 0xFF /* nr. for last slot in xid-cmd/rsp */
-#define XID_R_DISC_I_M_L 0x20 /* max length of discovery info */
-#define XID_R_DI_S_H_OFF 0x0C /* 1. service hint offset in disc-inf */
-#define XID_R_DI_S_H_EX_M 0x07 /* serv.hint extent. mask in disc_inf */
-#define XID_R_SNIFF_FRAME 0xFFFFFFFF /* dest address for sniffing */
-
-/*
- * defines for snrm-cmd
- * --------------------
- */
-#define SNRM_CMD_RESET_LEN 0x00 /* no i-field is present */
-#define SNRM_EST_CONNECT_ADR 0xFF /* conn.adr. in case con.establish */
-#define SNRM_C_SRC_ADR_OFF 0x00 /* offset for source address (U32) */
-#define SNRM_C_DEST_ADR_OFF 0x04 /* offset for dest address (U32) */
-#define SNRM_C_N_C_ADR_OFF 0x08 /* new conn. adr. offset (U8) */
-#define SNRM_C_NEG_OFF 0x09 /* negotation-fields offset */
-#define SNRM_BPS_PI 0x01 /* bps-pi */
-#define SNRM_MAX_TAT_PI 0x82 /* max. turn around time pi */
-#define SNRM_DATA_SIZE_PI 0x83 /* data size pi */
-#define SNRM_WIN_SIZE_PI 0x84 /* window size pi */
-#define SNRM_ADD_BOF_PI 0x85 /* addition BOFs pi */
-#define SNRM_MIN_TAT_PI 0x86 /* min. turn around time pi */
-#define SNRM_LD_TT_PI 0x08 /* link disc./threshold time pi */
-
-/*
- * defines for ua-rsp-frame
- * ------------------------
- */
-#define UA_CONNECT_MIN_LENGTH 0x0E /* 14 are min length to use the frame
- * for response to snrm used to
- * establish a connection - look at
- * page 39 - negotation: type 0 params
- * must be negotiated at both stations
- * bps and link disc/threshold time -
- * in this case also src and dest are
- * used ( 4 + 4 + 3 + 3), page 31 */
-#define UA_WITH_SRC_DST_LEN 0x08 /* ua len with src and dest */
-#define UA_SRC_ADR_OFF 0x00 /* offset for source address (U32) */
-#define UA_DEST_ADR_OFF 0x04 /* offset for dest address (U32) */
-#define UA_NEG_OFF 0x08 /* negotation-fields offset */
-#define UA_BPS_PI 0x01 /* bps-pi */
-#define UA_MAX_TAT_PI 0x82 /* max. turn around time pi */
-#define UA_DATA_SIZE_PI 0x83 /* data size pi */
-#define UA_WIN_SIZE_PI 0x84 /* window size pi */
-#define UA_ADD_BOF_PI 0x85 /* addition BOFs pi */
-#define UA_MIN_TAT_PI 0x86 /* min. turn around time pi */
-#define UA_LD_TT_PI 0x08 /* link disc./threshold time pi */
-
-
-#endif /* __IRLAP_H */
-
+++ /dev/null
-#
-#/*********************************************************************
-# *
-# * Filename: Makefile
-# * Version:
-# * Description: Makefile for irda_intercept
-# * Status: Experimental.
-# * Author: Thomas Schneider
-# * Created at: Thomas Schneider <nok-trace-men@dev-thomynet.de>
-# * Modified at: Sun Jul 18 12:03:03 1999
-# * Modified by: Thomas Schneider <nok-trace-men@dev-thomynet.de>
-# *
-# * Copyright (c) 1999 Thomas Schneider, All Rights Reserved.
-# *
-# * This program is free software; you can redistribute it and/or
-# * modify it under the terms of the GNU General Public License as
-# * published by the Free Software Foundation; either version 2 of
-# * the License, or (at your option) any later version.
-# *
-# * This program is distributed in the hope that it will be useful, but
-# * WITHOUT ANY WARRANTY; without even the implied warranty of
-# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# * General Public License for more details.
-# *
-# * You should have received a copy of the GNU General Public License
-# * along with this program; if not, write to the Free Software
-# * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-# *
-# * IN NO EVENT SHALL THOMAS SCHNEIDER BE LIABLE TO ANY PARTY FOR
-# * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
-# * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
-# * IF THOMAS SCHNEIDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-# * DAMAGE.
-# *
-# * THOMAS SCHNEIDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
-# * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-# * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER
-# * IS ON AN "AS IS" BASIS, AND THOMAS SCHNEIDER HAS NO OBLIGATION TO
-# * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
-# * MODIFICATIONS.
-# *
-# * This material is provided "AS-IS" and at no charge.
-# *
-# ********************************************************************/
-
-#
-# Serial port for communication
-#
-
-MODEMDEVICE=-DMODEMDEVICE="\"/dev/ttyS1\""
-
-COMMON=-Wall -O2 \
- ${MODEMDEVICE}
-
-all: irda_intercept
-
-
-irda_intercept: irda_intercept.o ../fcs/fcs.o
- cc ${COMMON} \
- `gtk-config --cflags` `gtk-config --libs`\
- irda_intercept.o ../fcs/fcs.o\
- -o irda_intercept
-
-irda_intercept.o: irda_intercept.c ../include/irda.h ../include/irlap.h
- cc ${COMMON} \
- `gtk-config --cflags` \
- -c irda_intercept.c
-
-../fcs/fcs.o: ../fcs/fcs.c ../fcs/fcs.h
- cc ${COMMON} \
- `gtk-config --cflags` \
- -c $*.c -o $@
+++ /dev/null
-/*********************************************************************
- *
- * Filename: irda_intercept.c
- * Version:
- * Description: intercept irda-traffic incl. negotation and write
- * output to a file
- * Status: Experimental.
- * Author: Thomas Schneider <nok-trace-men@dev-thomynet.de>
- * Created at:
- * Modified at:
- * Modified by: Thomas Schneider <nok-trace-men@dev-thomynet.de>
- *
- * Copyright (c) 1999 Thomas Schneider, All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * IN NO EVENT SHALL THOMAS SCHNEIDER BE LIABLE TO ANY PARTY FOR
- * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
- * IF THOMAS SCHNEIDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- *
- * THOMAS SCHNEIDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
- * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER
- * IS ON AN "AS IS" BASIS, AND THOMAS SCHNEIDER HAS NO OBLIGATION TO
- * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
- * MODIFICATIONS.
- *
- * This material is provided "AS-IS" and at no charge.
- *
- ********************************************************************/
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <termios.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <string.h>
-#include <signal.h>
-#include <glib.h>
-#include "../include/irda.h"
-#include "../include/irlap.h"
-#include "../fcs/fcs.h"
-
-#define INIT_BAUDRATE B9600
-
-#define _POSIX_SOURCE 1 /* POSIX compliant source */
-
-#define INITIAL_TIMEOUT 15
-#define DEFAULT_TIMEOUT 5
-
-#define OUTFILE_SUFFIX ".trc"
-#define DEFAULT_OUTFILE "out"OUTFILE_SUFFIX
-
-static int initfdflags = -1; /* Initial file descriptor flags */
-static struct termios old_port_sets; /* old port-termios for restore */
-
-int port_fd;
-
-NEGOTATION_PARAM negotation_param;
-CONNECTION connection;
-
-static speed_t speed_list[8] = { B2400, B9600, B19200, B38400,
- B57600, B115200, B576000, B1152000 };
-static const char *speed_name[] = { "2400", "9600", "19200", "38400",
- "57600", "115200", "576000", "1152000"};
-
-/*
- * negotation
- * ----------
- * - in negotation set new device speed
- */
-void negotation ( IRLAP_FRAME * irlap_frame )
-{
- BYTE cmd = irlap_frame -> a & 0x01;
- speed_t new_speed = 0;
- int i = 0;
- int m = 0;
- struct termios set;
- BYTE tmp = 0;
-
- /*
- * snrm-frame
- * ----------
- * - 4 src
- * - 4 dest
- * - 1 new connection address
- * - 1 pi
- * - 1 pl
- * - [pl] pv
- * ua-frame
- * --------
- * - 4 src
- * - 4 dest
- * - 1 pi
- * - 1 pl
- * - [pl] pv
- */
-
- if ( cmd ) {
- /*
- * SNRM - CMD
- * ----------
- * - in IrLAP (V. 1.1) page 27
- * - U32 : src-dev-adr
- * - U32 : dest-dev-adr
- * - U8 : connection address
- * - start of neg. params
- */
- if ( irlap_frame -> info_length < ( IRLAP_NEG_SNRM_PARAM_OFF +3 ) ) {
- printf ("\t==> IrLAP: in SNRM-CMD no Info! <==\n");
- } else {
- memcpy ( &connection.p_src_adr,
- &(irlap_frame -> info[IRLAP_SNRM_SRC_ADR]),
- sizeof(connection.p_src_adr));
- memcpy ( &connection.s_src_adr,
- &(irlap_frame -> info[IRLAP_SNRM_DEST_ADR]),
- sizeof(connection.s_src_adr));
- connection.conn_adr = irlap_frame -> info[IRLAP_SNRM_CONN_ADR];
- if ( irlap_frame -> info[IRLAP_NEG_SNRM_PARAM_OFF] ==
- IRLAP_NEG_BPS_PI ) {
- /* really bps-parameter-identifier */
- if ( irlap_frame -> info[IRLAP_NEG_SNRM_PARAM_OFF + 1] == 1 ) {
- negotation_param.baud_rate_master =
- irlap_frame -> info [IRLAP_NEG_SNRM_PARAM_OFF + 2];
- negotation_param.state = NEG_WAIT_FOR_UA;
- } else {
- printf ("\t==> IrLAP: SNRM-CMD: speed in 2 bytes! <==\n");
- printf ("\t\t==> IrLAP: my max. speed is 115.2 kbps! <==\n");
- negotation_param.baud_rate_master =
- irlap_frame -> info [IRLAP_NEG_SNRM_PARAM_OFF + 3];
- }
- } else {
- printf ("\t==> IrLAP: SNRM-CMD: "
- "No baud rate dictate in 1. byte! <==\n");
- }
- }
- } else {
- /* UA -rsp */
- negotation_param.baud_rate_client = irlap_frame -> info [10];
- negotation_param.state = NEG_UA_OK;
-
- /* now compute the new speed */
- tmp =
- negotation_param.baud_rate_master & negotation_param.baud_rate_client;
- if ( tmp & 0x01 ) {
- new_speed = speed_list[i];
- m = 0;
- }
- for ( i=1; i < 7; i++) {
- tmp = tmp >> 1;
- if ( tmp & 0x01 ) {
- new_speed = speed_list[i];
- m = i;
- }
- }
- if ( m > 5 ) {
- /* not defined as B... on my system */
- printf ("Sorry: Required speed (%s baud) not supported!\n",
- speed_name[m]);
- } else {
- printf ("New speed is: %s\n", speed_name[m]);
- /* now set the new speed */
- tcgetattr (port_fd, &set);
- cfsetospeed(&set, new_speed);
- cfsetispeed(&set, new_speed);
- tcsetattr(port_fd, TCSANOW, &set);
- tcgetattr(port_fd, &set);
- if ( (cfgetospeed(&set) != new_speed) ||
- (cfgetispeed(&set) != new_speed) ) {
- printf ("New speed is not set!\n");
- }
- }
- }
-}
-
-/*
- * decode_irlap_frame
- * ------------------
- * - decode the irlap-c-field
- */
-void decode_irlap_frame ( IRLAP_FRAME * irlap_frame)
-{
- BYTE cmd = irlap_frame -> a & 0x01;
- BYTE poll = irlap_frame -> c & (IRLAP_PF_BIT_MASK);
- BYTE adr = (irlap_frame -> a) >> 1;
-
- switch ( irlap_frame -> c & IRLAP_C_MASK ) {
- case IRLAP_U_FRAME:
- printf ("U-Frame:\tAdr: %02X Nr: %02X ", adr,
- (irlap_frame -> c & 0xE0) >> 5);
- printf ("P/F: %X \t\t", poll >> 4);
- switch (irlap_frame -> c & IRLAP_PF_BIT_CLR_MASK ) {
- case IRLAP_SNRM_RNRM:
- /* SNRM cmd/RNRM response */
- if ( cmd ) {
- printf ("SNRM cmd\n");
- switch (connection.irlap_state) {
- case IRLAP_DISC:
- printf ("\t==> IrLAP in DISC but SNRM-CMD? <==\n");
- break;
- case IRLAP_NDM:
- printf ("\t==> Start IrLAP - negotation <==\n");
- negotation ( irlap_frame );
- break;
- case IRLAP_NRM:
- printf ("\t==> IrLAP in NRM but SNRM-CMD? <==\n");
- break;
- default:
- printf ("\t==> IrLAP in not defined state but SNRM-CMD? <==\n");
- }
- } else {
- printf ("RNRM response\n");
- }
- break;
- case IRLAP_DISC_RD:
- /* DISC cmd/RD response */
- if ( cmd ) {
- printf ("DISC cmd\n");
- } else {
- printf ("RD response\n");
- }
- break;
- case IRLAP_UI_UI:
- /* UI cmd/UI response */
- if ( cmd ) {
- printf ("UI cmd\n");
- } else {
- printf ("UI response\n");
- }
- break;
- case IRLAP_XID_CMD:
- /* XID cmd */
- printf ("XID cmd\n");
- if ( connection.irlap_state == IRLAP_DISC ) {
- connection.irlap_state = IRLAP_NDM;
- printf ("\t==> Set IrLAP-state to:"
- "NDM (normal disconnected mode) <==\n");
- }
- break;
- case IRLAP_TEST_TEST:
- /* Test cmd/response */
- if ( cmd ) {
- printf ("TEST cmd\n");
- } else {
- printf ("TEST response\n");
- }
- break;
- case IRLAP_UA_RSP:
- /* UA response */
- printf ("UA response\n");
- switch (connection.irlap_state) {
- case IRLAP_DISC:
- printf ("\t==> IrLAP in DISC but UA-RESPONSE? <==\n");
- break;
- case IRLAP_NDM:
- if ( negotation_param.state == NEG_WAIT_FOR_UA ) {
- printf ("\t==> Continue IrLAP - negotation! <==\n");
- negotation ( irlap_frame );
- } else {
- printf ("\t==> IrLAP in NDM but not wait for negotation! <==\n");
- }
- break;
- case IRLAP_NRM:
- printf ("\t==> UA: IrLAP was/is in NRM ... <==\n");
- break;
- default:
- printf ("\t==> IrLAP in not defined state but UA-RESPONSE? <==\n");
- }
- break;
- case IRLAP_FRMR_RSP:
- /* FRMR response */
- printf ("FRMR response\n");
- break;
- case IRLAP_DM_RSP:
- /* DM response */
- printf ("DM response\n");
- break;
- case IRLAP_XID_RSP:
- /* XID response */
- printf ("XID response\n");
- break;
- default:
- /* unknown cmd/response */
- printf ("Unknown IrLAP-U-Frame\n");
- } /* end of irlap-u-frames */
- break;
- case IRLAP_S_FRAME:
- printf ("S-Frame:\tAdr: %02X Nr: %02X ", adr,
- (irlap_frame -> c & 0xE0) >> 5);
- printf ("P/F: %X \t\t", poll >> 4);
- switch ( irlap_frame -> c &
- (IRLAP_PF_BIT_CLR_MASK & IRLAP_Nr_CLR_MASK) ) {
- case IRLAP_RR:
- /* RR command/response */
- if ( cmd ) {
- printf ("RR cmd\n");
- } else {
- printf ("RR response\n");
- }
- break;
- case IRLAP_RNR:
- /* RNR cmd/response */
- printf ("RNR cmd/response\n");
- break;
- case IRLAP_REJ:
- /* REJ cmd/response */
- printf ("REJ cmd/response\n");
- break;
- case IRLAP_SREJ:
- /* SREJ cmd/response */
- printf ("SREJ cmd/response\n");
- break;
- default:
- /* unknown cmd/response */
- printf ("Unknown IrLAP-S-Frame\n");
- } /* end of irlap-s-frames */
- break;
- default:
- printf ("I-Frame:\tAdr: %02X Nr: %02X ", adr,
- (irlap_frame -> c & 0xE0) >> 5);
- printf ("\tP/F: %X\t", poll >> 4);
- printf ("Ns: %02X \t", (irlap_frame -> c & 0x0E) >> 1);
- printf ("Information\n");
- }
-}
-
-/* unwrap_raw_frame
- * ----------------
- * - put raw-frame-datas in irlap-frame
- */
-void unwrap_raw_frame ( RAW_FRAME * raw_frame )
-{
- IRLAP_FRAME irlap_frame;
- BYTE * info_ptr;
-
- bzero ( &irlap_frame, sizeof(irlap_frame) );
-
- irlap_frame.a = raw_frame -> buf[IRLAP_A_OFF];
- irlap_frame.c = raw_frame -> buf[IRLAP_C_OFF];
- irlap_frame.fcs = raw_frame -> buf [(raw_frame -> length) -2] << 8;
- irlap_frame.fcs |= raw_frame -> buf [(raw_frame -> length) -1];
-
- irlap_frame.info_length = raw_frame -> length -
- IRLAP_A_LENGTH - IRLAP_C_LENGTH - IRLAP_FCS_LENGTH;
-
- info_ptr = g_malloc ( irlap_frame.info_length * sizeof (BYTE) );
- memcpy ( info_ptr, &(raw_frame -> buf[IRLAP_I_OFF]),
- irlap_frame.info_length);
- irlap_frame.info = info_ptr;
- decode_irlap_frame ( &irlap_frame );
- g_free(info_ptr);
-
- printf ("IrLAP: FCS: %04X \n\n", irlap_frame.fcs );
-
-}
-
-/*
- * cleanup_termios
- * ---------------
- * - call on some signals from signalhandler
- * - before end set the original setting
- */
-void cleanup_termios ( int signal )
-{
- tcsetattr(port_fd, TCSANOW, &old_port_sets);
- exit (0);
-}
-
-/*
- * init_port
- * ---------
- * - get original port-settings and store it
- * - set new port-settings
- */
-void init_port ( void )
-{
- struct termios new_port_sets;
-
- /* get the original settings and store it for restore */
- tcgetattr( port_fd, &old_port_sets);
-
- /* init new settings */
- bzero(&new_port_sets, sizeof(new_port_sets));
- new_port_sets.c_cflag = INIT_BAUDRATE | CRTSCTS | CS8 | CLOCAL | CREAD;
- new_port_sets.c_iflag = IGNBRK | IGNPAR;
- new_port_sets.c_oflag = 0;
-
- /* set input mode (non-canonical, no echo,...) */
- new_port_sets.c_lflag = 0;
-
- /* inter-character timer unused x0.1s */
- new_port_sets.c_cc[VTIME] = 0;
- /* blocking read until 5 chars received */
- new_port_sets.c_cc[VMIN] = 1;
-
- /* set the port now */
- tcflush(port_fd, TCIFLUSH);
- tcsetattr(port_fd, TCSANOW, &new_port_sets);
-}
-
-/*
- * main
- * ----
- * - output-file and port open
- * - get/set port settings
- * - dataread-loop
- */
-int main( int argc, char * argv[] )
-{
- struct sigaction sact; /* signalhandle */
- GString *outfile_name = g_string_new(DEFAULT_OUTFILE); /* outfile name */
- FILE *outfile; /* outfile FILE */
- fd_set ready; /* for select */
- struct timeval timeout; /* select-timeout */
- int no_timeout = 1; /* timeout reached */
- int nr_read = 0; /* byte readed */
- unsigned char in_buffer[255]; /* temp. buffer */
- RAW_FRAME raw_frame; /* a raw frame */
- int is_inframe = FALSE; /* loop in frame */
- int frame_complete = FALSE; /* frame complete */
- int done = 0; /* loop control */
- int i = 0; /* for-index */
- int nr_of_bytes = 0; /* total bytes */
- int nr_of_frames = 0; /* total frames */
- int irlap_bytes = 0; /* w/o BOF etc. */
- BYTE must_escaped = FALSE; /* after CE = 0x07 */
- U16 fcsrx = INIT_FCS; /* for fcs-comput. */
- BYTE nr_esc = 0; /* nr of CE's */
-//CONNECT_STATISTIC statistic; /* statistic */
-//OUTPUT_PARAMS output_params; /* output-control */
-
- /*
- * Open the serial device
- */
- if ( (port_fd = open( MODEMDEVICE, O_NONBLOCK | O_RDWR)) < 0 ) {
- printf ( "Failed to open %s!\n", MODEMDEVICE);
- exit(1);
- }
-
- /*
- * get/set device fd flags
- */
- if ( (initfdflags = fcntl( port_fd, F_GETFL)) == -1 ) {
- printf ( "Couldn't get device fd flags for: %s!", MODEMDEVICE);
- exit(1);
- }
- initfdflags &= ~O_NONBLOCK;
- fcntl( port_fd, F_SETFL, initfdflags);
-
- init_port();
-
- /*
- * set signal-handler
- */
- sact.sa_handler = cleanup_termios;
- sigaction( SIGHUP, &sact, NULL);
- sigaction( SIGINT, &sact, NULL);
- sigaction( SIGPIPE, &sact, NULL);
- sigaction( SIGTERM, &sact, NULL);
-
- /*
- * Set device for non-blocking reads.
- */
- if ( fcntl( port_fd, F_SETFL, initfdflags | O_NONBLOCK) == -1) {
- printf ("Couldn't set device to non-blocking mode (%s)!\n", MODEMDEVICE);
- exit(1);
- }
-
- /*
- * output-file-handling
- */
- if ( argc < 2 ) {
- printf ("Use default OutPutFile: %s\n", outfile_name -> str);
- } else {
- g_string_assign(outfile_name, argv[1]);
- g_string_append(outfile_name, OUTFILE_SUFFIX);
- printf ("Use OutPutFile: %s\n", outfile_name -> str);
- }
- if ( (outfile = fopen( outfile_name -> str, "wb")) == NULL ) {
- printf ("Failed to open OutPutFile: %s\n", outfile_name -> str);
- exit (1);
- }
-
- /*
- * initial timeout
- * ---------------
- * - wait 15 seconds
- */
- timeout.tv_sec = INITIAL_TIMEOUT;
- timeout.tv_usec = 0;
-
- /*
- * init raw-frame, negotation-struct, connection
- */
- bzero(&raw_frame, sizeof(raw_frame));
- bzero(&negotation_param, sizeof(negotation_param));
- bzero(&connection, sizeof(connection));
-
- /* hope we have no irda traffic in moment */
- connection.irlap_state = IRLAP_DISC;
-
- /*
- * now make the data-read-loop
- */
- do {
- FD_ZERO(&ready);
- FD_SET(port_fd, &ready);
- no_timeout = select(port_fd + 1, &ready, NULL, NULL, &timeout);
- if ( FD_ISSET(port_fd, &ready) ) {
- /* data on port - returns after 16 chars have been input */
- nr_read = read(port_fd, in_buffer, 16);
- nr_of_bytes = nr_of_bytes + nr_read;
- if ( nr_read >= 1 ) {
- /* write all readed bytes to file */
- fwrite( in_buffer, 1, nr_read, outfile);
- /* process every single byte */
- for (i=0; i < nr_read; i++) {
- if (raw_frame.length < (4096-1) ) {
- switch ( in_buffer[i] ) {
- case IRLAP_XBOF:
- if ( is_inframe ) {
- /*
- * no - its not a XBOF we are inside a frame
- * broadcast in xid for example
- */
- irlap_bytes++;
- fcsrx = IR_FCS(fcsrx, in_buffer[i]);
- is_inframe = TRUE;
- raw_frame.buf[raw_frame.length] = in_buffer[i];
- }
- break;
- case IRLAP_BOF:
- is_inframe = TRUE;
- break;
- case IRLAP_EOF:
- frame_complete = TRUE;
- is_inframe = FALSE;
- break;
- case IRLAP_CE:
- must_escaped = TRUE;
- is_inframe = TRUE;
- nr_esc++;
- break;
- default:
- is_inframe = TRUE;
- if ( must_escaped ) {
- fcsrx = IR_FCS(fcsrx, (in_buffer[i] ^ IRLAP_ESC_MASK) );
- raw_frame.buf[raw_frame.length] =
- (in_buffer[i]^IRLAP_ESC_MASK);
- must_escaped = FALSE;
- } else {
- fcsrx = IR_FCS(fcsrx, in_buffer[i]);
- raw_frame.buf[raw_frame.length] = in_buffer[i];
- }
- irlap_bytes++;
- }
- raw_frame.length = irlap_bytes;
- if ( frame_complete ) {
- /* now raw-frame is complete */
- if ( fcsrx != GOOD_FCS ) {
- printf (" **** !!! FCS-ERROR !!! ****\n");
- } else {
- unwrap_raw_frame ( &raw_frame );
- }
- nr_of_frames++;
- /* reset all to defaults */
- raw_frame.length = 0;
- raw_frame.a_offset = 0;
- frame_complete = FALSE;
- fcsrx = INIT_FCS;
- nr_esc = 0;
- irlap_bytes = 0;
- }
- }
- }
- } else {
- printf ("No data to read - why?\n");
- done = 1;
- }
- }
- /*
- * reset timeout - wait 5 seconds
- */
- timeout.tv_sec = DEFAULT_TIMEOUT;
- timeout.tv_usec = 0;
- if ( ! no_timeout ) {
- printf ("TimeOut!\nConnection summary:\n-------------------\n");
- printf ("Total nr of received bytes : %i\n", nr_of_bytes);
- printf ("Total nr of received frames: %i\n", nr_of_frames);
- done = 1;
- }
- } while ( ! done );
-
- g_string_free(outfile_name, TRUE);
- fclose (outfile);
- tcsetattr(port_fd, TCSANOW, &old_port_sets);
- exit(0);
-}
+++ /dev/null
-
-All this software was created from observating other programs - what they
-send to/from phone. There two methods to dump transmission:
-
-1.hardware
-
- You have to connect RxD (or TxD) and GND pin from the COM port, you use with
- phone, to the second COM port. Then you run soft, which will show, what is
- received by second port (now in win32 with enabled debug it can be
- "gnokii --sniff port")
-
- TIP: if you want to sniff MBUS, connect RxD (everything, what goes from
- TxD is repeated on RxD)
-
-2.software
-
- You run emulator of OS, where program work. Then using emulator functions
- see, what is send (emulator is between phone and program, isn't it ?).
-
-When you have transmission, try to find some identical sequences. If you will
-have them, try to find each frame format...
\ No newline at end of file
+++ /dev/null
-\r
-Last update 06.02.2002\r
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
-\r
-Assembled by\r
- Balazs Nagy (js@lsc.hu)\r
- Harri Yli-Torkko (hyt@surfeu.fi)\r
- Alfred R. Nurnberger <arnu@flosys.com>\r
- Hugh Blemings <Hugh.Blemings@vsb.com.au>\r
- Mike Bradley <mike@trumpington.st>\r
- Odinokov Serge <serge@takas.lt>\r
- Pavel Janik <Pavel@Janik.cz>\r
- Pawel Kot <pkot@linuxnews.pl>\r
- Marcin Wiacek (Marcin-Wiacek@TOPNET.PL)\r
- ... and other members of gnokii mailing list\r
- and authors of some WWW pages.\r
-\r
-The data provided is for information purposes only. \r
-Some of the frames might be hazardous to your phone. Be careful!!! \r
-We do not take any responsibility or liability for damages, etc.\r
-\r
-NOTE: this information isn't (and can't be) complete. If you know anything\r
-about features not listed here or you noticed a bug in this list, please\r
-notify us via e-mail. Thank you.\r
-\r
-Document describing frames used in\r
-GSM/PCN Nokia 6110 and derivatives (Nokia 6130, 6150, 6190, 5110, 5130, 5150,\r
-5190, 3210, 3310)\r
-Correct format is FBUS version 2/Direct IRDA/MBUS version 2\r
-(see nokia.txt for protocol details):\r
-\r
- List:\r
-\r
-0x00: Monitoring values\r
- r monitoring value {+0x01, 0x01, block... }\r
- where block: 0x5e, 0x05, 0x7a(?), 0xd0(?), 0x85(?), 0x02, percentHI, percentLO\r
- Battery percent level\r
- 0x5e, 0x0c, 0x52(?), 0x4b(?), 0x6f(?), 0x02, voltageHI, voltageLO\r
- Battery standby voltage\r
- ............\r
-0x01: Call Information\r
- s Make call { 0x0001, "number", type, block }\r
- where type:\r
- 0x01 - data call\r
- 0x05 - voice call\r
- block:\r
- data call (non digital lines):\r
- 0x02,0x01,0x05,0x81,0x01,0x00,0x00,0x01,0x02,0x0a,\r
- 0x07,0xa2,0x88,0x81,0x21,0x15,0x63,0xa8,0x00,0x00\r
- data call (digital lines):\r
- 0x02,0x01,0x05,0x81,0x01,0x00,0x00,0x01,0x02,0x0a,\r
- 0x07,0xa1,0x88,0x89,0x21,0x15,0x63,0xa0,0x00,0x06,\r
- 0x88,0x90,0x21,0x48,0x40,0xbb\r
- voice call:\r
- 0x01, 0x01, 0x05, 0x81/0x00, sendnum, 0x00, 0x00, 0x01\r
- where:\r
- sendnum (own number sending):\r
- 0x01: preset (depends on network)\r
- 0x03: on\r
- 0x02: off\r
- r Call going msg { 0x0002 }\r
- r Call in progress { 0x0003, seqnr }\r
- r Remote end hang up { 0x0004, seqnr, ?, error (like in netmon in 39) }\r
- r incoming call alert { 0x0005, seqnr, numlen, "number", namelen, "name" }\r
- s Answer call part 2 { 0x0006, seqnr, 0x00 }\r
- r answered call { 0x0007, seqnr }\r
- s Hang up { 0x0008, seqnr, 0x85 }\r
- r terminated call { 0x0009, seqnr }\r
- r call msg { 0x000a, seqnr }\r
- r Send DTMF/voice call { 0x0040}\r
- s Answer call part 1 { 0x0042,0x05,0x01,0x07,0xa2,0x88,0x81,0x21,0x15,0x63,0xa8,0x00,0x00,\r
- 0x07,0xa3,0xb8,0x81,0x20,0x15,0x63,0x80 }\r
- s Sent after issuing { 0x0042,0x05,0x81,0x07,0xa1,0x88,0x89,0x21,0x15,0x63,0xa0,0x00,0x06,\r
- data call 0x88,0x90,0x21,0x48,0x40,0xbb,0x07,0xa3,\r
- (digital lines) 0xb8,0x81,0x20,0x15,0x63,0x80 }\r
- s Sent after issuing { 0x0042,0x05,0x01,0x07,0xa2,0xc8,0x81,0x21,0x15,0x63,0xa8,0x00,0x00,\r
- data call 0x07,0xa3,0xb8,0x81,0x20,0x15,0x63,0x80,\r
- (non digital lines) 0x01,0x60 }\r
- s Send DTMF { 0x0050, length, {ascii codes for DTMF}, 0x01 }\r
- \r
- Note:\r
- to make data call (non digital lines):\r
- 1.send "Make call" for non digital lines\r
- 2.send "Sent after issuing data call (non digital lines)"\r
- to make data call (digital lines):\r
- 1.send "Answer call part 1"\r
- 2.send "Sent after issuing data call (digital lines)"\r
- 3.send "Make call" for digital lines\r
- to answer call:\r
- 1.send "Answer call part 1"\r
- 2.send "Answer call part 2"\r
-\r
-0x02: SMS handling\r
- s Send SMS message { 0x0001, 0x02, 0x00 (SEND REQUEST), ... }\r
- r Message sent { 0x0002 }\r
- r Send failed { 0x0003, ?, ?, error (like in netmon in 65)} \r
- s Get SMS message { 0x0007, 0x02, location, 0x01, 0x64 }\r
- s Initiate connection { 0x000d, 0x00, 0x00, 0x02 }\r
- r Initiate ACK { 0x000e, 0x01 }\r
- r SMS message received { 0x0010, ...... } (whole message)\r
- s Set CellBroadcast { 0x0020, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01 }\r
- for enable cell broadcast ?\r
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }\r
- for disable cell broadcast ?\r
- r Set CellBroadcast OK { 0x0021, 0x01 }\r
- r Read CellBroadcast { 0x0023, ?, ?, ?, channel, ?, message... } ?\r
- s Set SMS center { 0x0030, 0x64, priority, checksum? ,0?, format,\r
- validity, {DefaultRecipient no.}[12], \r
- {SMScenter no.}[12], {SMSC name}, 0x00}\r
- where tel.no.[12]: {len, type, {number(BCD)}}\r
- type: 0x81: normal\r
- 0x91: + (international)\r
- 0xd0: alphanumeric\r
- format: 0x00: text\r
- 0x22: fax\r
- 0x24: voice\r
- 0x25: ERMES\r
- 0x26: paging\r
- 0x31: X.400\r
- 0x32: email\r
- validity: 0x0b: 1 hour\r
- 0x47: 6 hours\r
- 0xa7: 24 hours\r
- 0xa9: 72 hours\r
- 0xad: 1 week\r
- 0xff: max.time\r
- r Set SMS center OK { 0x0031 }\r
- r Set SMS center error { 0x0032, reason }\r
- s Get SMS center { 0x0033, 0x64, priority }\r
- r SMS center received { 0x0034, priority, checksum?, format, 0x00?,\r
- validity, {DefaultRecipient no.}[12],\r
- {SMScenter no.}[12], {SMSC name}, 0x00}\r
- tel.no[12]: {len, type, {number(BCD)}} \r
- where priority, checksum, type, validity,\r
- tel.no.[12]: see 0x02/0x0030\r
- r SMS center error recv { 0x0035, reason }\r
-0x03: Phonebook functions\r
- s Get mem location { 0x0001, memtype, location, 0 }\r
- where memory:\r
- 0x01: telephone and SIM phonebook (in one)\r
- 0x02: telephone phonebook\r
- 0x03: SIM phonebook\r
- 0x04: SIM fixdialling-phonebook (?)\r
- 0x05: Own numbers\r
- 0x07: Dialled numbers\r
- 0x08: Missed calls\r
- 0x09: Received calls\r
- 0x0b: voice mailbox (location not important)\r
- r mem location recvd { 0x0002, 0x00,namelen,"name",numlen,"number",groupID, 0x01?, yearLO, yearHI, month, day, hour, minute, sec. }\r
- Note: in 3310 all entries have null name ("feature" of bug ?)\r
- r mem loc error recvd { 0x0003, errtype }\r
- where errtype: 0x7d: invalid memory type\r
- s Set mem location { 0x0004, memtype,location,namelen,"Name",numlen,"number",groupID }\r
- r mem set OK { 0x0005 }\r
- r mem set error { 0x0006, errtype }\r
- where errtype: 0x7d: name is too long\r
- s Mem status request { 0x0007, memtype }\r
- r Mem status recvd { 0x0008, memtype, free, used }\r
- r Mem status error recv { 0x0009, errtype }\r
- where errtype: 0x6f: mem status error\r
- 0x7d: invalid memory type\r
- 0x8d: waiting for pin\r
- s Get caller group data { 0x0010, groupID }\r
- r Get caller group data { 0x0011, groupID, size, "Name", ringtoneID, graphic_on?1:0, lenHI, lenLO, OTABitmap (72x14 logo) }\r
- r Get call.group error { 0x0012, reason }\r
- where reason: 0x7d: invalid location\r
- s Set caller group data { 0x0013, groupID, size, "Name", ringtoneID, graphic_on?1:0, lenHI, lenLO, OTABitmap (72x14 logo) }\r
- r Set caller group OK { 0x0014 }\r
- r Set call.group error { 0x0015, reason }\r
- where reason: 0x7d: invalid location\r
- s Get speed dial { 0x0016, index(1-9) }\r
- r Get speed dial OK { 0x0017, mem.type, location }\r
- where mem.type: 0x02: ME (== 0 if not stored)\r
- 0x03: SIM\r
- location: memory location (== 0 if not stored)\r
- r Get speed dial error { 0x0018 }\r
- s Set speed dial { 0x0019, index(1-9), mem.type, location }\r
- r Set speed dial OK { 0x001a }\r
- r Set speed dial error { 0x001b }\r
-0x04: Phone Status\r
- s Phone status { 0x0001 }\r
- r Phone status { 0x0002, mode, signal str, ???, pwr, batt.level }\r
- where mode: 1: registered within the network\r
- 2: call in progress\r
- 3: waiting for pin\r
- 4: powered off\r
- pwr: 1: AC/DC\r
- 2: battery\r
- s Request Phone ID { 0x0003 }\r
- r RequestPhone ID { 0x0004, 0x01, "imei", 0, "model", 0, "prod.code", 0, "HW", 0, "firmware", 0x00, 0x01 }\r
-0x05: Profile settings\r
- s Set profile feature { 0x0010, 1, nr, feature, a, 1 }\r
- where nr: see 0x05/0x0013\r
- feature: see 0x05/0x0014\r
- a: see 0x05/0x0014\r
- r Set profile feat. OK { 0x0011, 1 }\r
- s Get profile feature { 0x0013, 1, nr, feature, 1 }\r
- where nr is profile number (general=0, silent, meeting, outdoor, pager, car, headset=6)\r
- feature: see 0x05/0x0014\r
- r Get profile feature { 0x0014, 1, nr, feature, 4, a, b, c, d, 1 }\r
-\r
- Note: For Nokia 3330 settings num 0x00 .. 0x09 can be assigned\r
- separately to each profile (0x00 .. 0x05), but rest are common\r
- to all profiles.\r
-\r
- Features and answers (in a, b, c, d form):\r
- 0x00: keypad notes (in Nokia 33x0 feature 0x00)\r
- xx, 1, 0, 2\r
- xx: 0xff: off\r
- 0x00: level 1\r
- 0x01: level 2\r
- 0x02: level 3\r
- 0x01: lights (? only in car profile) (what number in Nokia 3310 ?)\r
- xx, 0, 0, 1\r
- xx: 0x00: off\r
- 0x??: on (maybe 0x01)\r
- 0x02: incoming call alert (in Nokia 33x0 feature 0x01)\r
- xx, 1, 0, 7\r
- xx: 1: ringing,\r
- 2: beep once,\r
- 3: unknown\r
- 4: off\r
- 5: ring once\r
- 6: ascending\r
- 7: caller groups (see feature #0x08)\r
- 0x03: ringing tone (in Nokia 33x0 feature 0x02)\r
- xx, 0, 0, 0\r
- xx: 0x12: ring ring\r
- 0x13: low\r
- etc\r
- 0x04: ringing volume (in Nokia 33x0 feature 0x03)\r
- xx, 0, 0, 0\r
- xx: level 1 (0x06) - level 5 (0x0a)\r
- 0x05: message alert tone (in Nokia 33x0 feature 0x04)\r
- xx, 1, 0, 4\r
- xx: 0: no tone\r
- 1: standard\r
- 2: special\r
- 3: beep once\r
- 4: ascending\r
- 0x06: vibration (in Nokia 33x0 feature 0x05)\r
- xx: 0: off\r
- 1: on\r
- 2: Vibrate first\r
- 0x07: warning and game tones (in Nokia 33x0 feature 0x06 called warning tones)\r
- xx, 4, 0, 4\r
- xx: 0xff: off\r
- 0x04: on\r
- 0x07: screen saver - Nokia 33x0\r
- xx: 1: on\r
- 0: off\r
- 0x08: incoming caller groups (what number in Nokia 3310 ?)\r
- xx, 0, 0, 0\r
- xx: 1: family\r
- 2: VIP\r
- 4: friends\r
- 8: collegues\r
- 16: other\r
- 0x08: Screen saver -> Timeout (Nokia 33xx):\r
- 0x00 = 5 sec\r
- 0x01 = 20 sec\r
- ....\r
-\r
- 0x09: automatic answer (what number in Nokia 3310 ?)\r
- xx, 0, 0, 1\r
- xx: 0x00: off\r
- 0x01: on \r
-\r
- 0x09: Screen saver -> Screen saver (Nokia 33xx):\r
- 0x00 ... 0x0d = Number of picture image\r
-\r
- 0x0a: ???:\r
- ...: ???:\r
- 0x15: ???: Read only?\r
-\r
- 0x16: ???:\r
- 0x00 = ???\r
- 0x01 = ???\r
-\r
- 0x17: Phone book -> Options -> Memory in use (Nokia 3330):\r
- 0x00 = Phone\r
- 0x01 = SIM card\r
-\r
- 0x18: Settings -> Phone settings -> Network selection (Nokia 3330):\r
- 0x00 = Automatic\r
- 0x01 = Manual\r
-\r
- 0x19 Settings -> Call settings -> Automatic redial(Nokia 3330):\r
- 0x00 = Off\r
- 0x01 = On\r
-\r
- 0x1a: Settings -> Call settings -> Speed dialling (Nokia 3330):\r
- 0x00 = Off\r
- 0x01 = On\r
-\r
- 0x1b: Settings -> Call settings -> Own number sending (Nokia 3330):\r
- 0x00 = Set by network\r
- 0x01 = On\r
- 0x02 = Off\r
-\r
- 0x1c: Settings -> Phone settings -> Cell info display (Nokia 3330):\r
- 0x00 = Off\r
-\r
- 0x1d: Phone book -> Options -> Type of view (Nokia 3330):\r
- 0x00 = Name list\r
- 0x01 = Name, number\r
- 0x02 = Large font\r
-\r
- 0x1e: Settings -> Phone settings -> Language (Nokia 3330):\r
- 0x00 = English\r
- 0x07 = Dansk\r
- 0x08 = Svenska\r
- 0x09 = Suomi\r
- 0x0c = Turcke\r
- 0x0e = Norsk\r
- 0x10 = Automatic\r
-\r
- 0x32 = Reboots ME (3330)\r
-\r
- 0x1f: ???: Read only? (3330)\r
-\r
- 0x20: Messages -> Message settings -> Common -> Reply via same centre (N3330):\r
- 0x00 = No\r
- 0x01 = Yes\r
-\r
- 0x21: Messages -> Message settings -> Common -> Delivery reports (3330):\r
- 0x00 = No\r
- 0x01 = Yes\r
- \r
- 0x22: Clock -> Clock settings -> Show/Hide clock (3330):\r
- 0x00 = Show\r
- 0x01 = Hide\r
-\r
- 0x23: Clock -> Clock settings -> Time format (N3330):\r
- 0x00 = 24-hour\r
- 0x01 = 12-hour\r
-\r
- 0x24: Select profile (N3330):\r
- 0x00 = General\r
- 0x01 ... 0x05 = rest of them\r
-\r
- 0x25: ???: Read only? (N3330)\r
-\r
- 0x26: Settings -> Phone settings -> Confirm SIM service actions (N3330):\r
- 0x00 = Not asked\r
- 0x01 = Asked\r
-\r
- 0x27: Messages -> Write messages -> Options -> Dictionary (N3330):\r
- 0x00 = Off\r
- 0x01 = English\r
- 0x0a = Suomi\r
-\r
- 0x28: Messages -> Message settings -> Common -> Character support (N3330):\r
- 0x00 = Automatic\r
- 0x01 = GSM alphabet\r
- 0x02 = Unicode\r
-\r
- 0x29: Startup logo settings (N33x0):\r
- 0x00 = Your own uploaded logo\r
- 0x01 = Nokia\r
- 0x02 = Draft HUMAN technology(tm)\r
- 0x03 = Itineris\r
-\r
- 0x2a:???: 0x00 = ??? 0x01 = ??? (N3330)\r
-\r
- 0x2b: ???: 0x00 = ??? 0x01 = ??? (N3330)\r
-\r
- 0x2c: ???: Read only? (N3330)\r
-\r
- 0x2d: Clock -> Auto update of date and time (N3330):\r
- 0x00 = Off\r
- 0x01 = Confirm first\r
- 0x02 = On\r
-\r
- s Get welcome message { 0x0016 }\r
- r Get welcome message { 0x0017, no.of blocks, { block } * }\r
- where block: { id, {blockspecific} }\r
- id: 1: startup logo { y, x, picture (coding?) }\r
- 2: welcome note { len, "message" }\r
- 3: operator msg { len, "message" }\r
- s Set welcome message { 0x0018, no.of blocks, { block } * }\r
- where block: see 0x05/0x0017\r
- r Set welcome OK { 0x0019, 0x01 }\r
- s Get profile name { 0x001a, nr }\r
- where nr: see 0x05/0x0013\r
- r Profile name { 0x001b, 1, 1, 3, flen, nr, len, {text} }\r
- where nr: see 0x05/0x0013\r
- len: text length \r
- flen len + len(nr, len) = len + 2\r
- Note: in Nokia 3310 name is in Unicode\r
- s ??? { 0x001c }\r
- r ??? { 0x001d, 0x93 }\r
- s Set oplogo { 0x0030, location, MCC1, MCC2, MNC, lenhi=0x00, lenlo=0x82, OTABitmap }\r
- r Set oplogo OK { 0x0031 }\r
- r Set oplogo error { 0x0032, reason }\r
- where reason: 0x7d invalid location\r
- s Get oplogo { 0x0033, location }\r
- where location: 1 (doesn't seem to matter)\r
- r Get oplogo { 0x0034, location, MCC1, MCC2, MNC, lenhi=0x00, lenlo=0x82, OTABitmap }\r
- r Get oplogo error { 0x0035, reason }\r
- where reason: 0x7d invalid location\r
- s Set ringtone { 0x0036, location,0x00,0x78, ringtone packed according to SM2.0}\r
- r Set ringtone OK { 0x0037 }\r
- r Set ringtone error { 0x0038, reason }\r
- where reason=0x7d, when not supported location\r
- s Get services settings { 0x0080, setting (2 bytes) }\r
- where: setting: 0x02,0x00=Nokia access number 1\r
- 0x02,0x01=Operator access number 1\r
- 0x01,0x00=Personal bookmark 1 settings (name only ?)\r
- 0x01,0x01=?\r
- 0x02,0x02=?\r
- r Get services sett.OK { 0x0081, .... }\r
- r Get services sett.err { 0x0082, 0x7b }\r
-0x06: Calling line restriction/Call forwarding etc\r
- r Get call divert { 0x0001, 0x02, x, 0x00, divtype, 0x02, calltype, y, z, 0x0b, number, 0x00...0x00, timeout (byte 45) }
- s Set call divert { 0x0001, 0x03, 0x00, divtype, calltype, 0x01, number(packed like in SMS), 0x00 ... 0x00,
- length of number (byte 29), 0x00 ... 0x00, timeout (byte 52), 0x00, 0x00, 0x00}
- NOTE: msglen=0x37\r
- where timeout:\r
- 0x00: not set ?\r
- 0x05: 5 second\r
- 0x0a: 10 second\r
- 0x0f: 15 second\r
- 0x1e: 20 second\r
- 0x14: 25 second\r
- 0x19: 30 second\r
- where divtype:\r
- 0x02: all diverts for all call types ?\r
- Found only, when deactivate all diverts for all call types (with call type 0x00)\r
- 0x15: all calls\r
- 0x43: when busy\r
- 0x3d: when not answered\r
- 0x3e: if not reached\r
- calltype:\r
- 0x00: all calls (data, voice, fax)\r
- 0x0b: voice calls\r
- 0x0d: fax calla\r
- 0x19: data calls\r
- s Deactivate calldiverts{ 0x0001, 0x04, 0x00, divtype, calltype, 0x00 }\r
- where divtype, calltype: see above\r
- s Get call diverts { 0x0001, 0x05, 0x00, divtype, calltype, 0x00 }\r
- where divtype, calltype: see above\r
- r Get prepaid(?) info { 0x0005, ?,?,?,length,message(packed like in 7bit SMS)}\r
-0x07:\r
- s ??? { 0x0022, ? (1&2 sounds OK) }\r
- r ??? OK { 0x0023, ?,?,? }\r
- r ??? error { 0x0024, reason }\r
- s ??? { 0x0025, ??? }\r
- r ??? OK { 0x0026, ??? }\r
- r ??? error { 0x0027, reason }\r
-0x08: Security codes\r
- s Change code { 0x0004, code, "current", 0x00, "new", 0x00 }\r
- where code: 1: security code (5 chars)\r
- 2: PIN (4 chars)\r
- 3: PIN2 (4 chars)\r
- 4: PUK (8 chars)\r
- 5: PUK2 (8 chars)\r
- s Status request { 0x0007, 0x01 }\r
- r pin recvd { 0x0008, accepted }\r
- where accepted: 0x0c (or 0x06): OK\r
- code: waiting for (0x08/0x0004) code\r
- s entering code { 0x000a, code, "code", 0x00 }\r
- where code: see 0x08/0x0004\r
-0x09: SIM login\r
- r login { 0x0080 }\r
- r logout { 0x0081 }\r
-0x0a: Network status\r
- s Key duplication on/off{ 0x0044, on? 0x01: 0x02 }\r
- s get used network { 0x0070 }\r
- r network registration { 0x0071, ?,?,?,length,netstatus,netsel,cellIDH,cellIDL,lacH,lacL,netcode,netcode,netcode }\r
-0x0c: Keys\r
- s Get key assignments { 0x0040, 0x01 }\r
- r Get key assignments { 0x0041, {key '1'}, 0x00, {key '2'} ... {key '0'}, 0,0,0, {symbols}, 0 }\r
- where {key '0'} => ' ', '0'\r
- s Press key { 0x0042, press: 0x01; release: 0x02, button, 0x01 }\r
- where button: 0x01 - 0x09: 1-9\r
- 0x0a: 0\r
- 0x0b: #\r
- 0x0c: *\r
- 0x0d: Power\r
- 0x0e: Pick up phone\r
- 0x0f: Hang\r
- 0x10: Volume +\r
- 0x11: Volume -\r
- 0x17: Up\r
- 0x18: Down\r
- 0x19: Menu\r
- 0x1a: Names\r
- 0x1B onwards: don't know but they do produce\r
- a beep and light up the keypad as if\r
- a key had been pressed. \r
- r Press key ack { 0x0043, press/release/error(0x05) }\r
- s ??? { 0x0044 }\r
- r ??? ack { 0x0045, 0x01 }\r
-0x0d: Status\r
- r Display { 0x0050, 0x01, y, x, len, "string"(unicode) }\r
- s Status request { 0x0051 }\r
- r Status { 0x0052, no. of byte pairs, {byte pair} }\r
- where {byte pair}: {cmd, 1:off 2:on}\r
- cmd: 1: call in progress\r
- 2: ???\r
- 3: have unread sms\r
- 4: voice call active\r
- 5: fax call active\r
- 6: data call active\r
- 7: key lock active\r
- 8: is SMS storage full\r
- s Display status { 0x0053, 1:on 2:off }\r
- (will send displayed messages with x,y coordinates)\r
- r Display status ack { 0x0054, 1 }\r
-0x11: Phone clock & alarm\r
- s set date and time { 0x0060, 1,1,7,yearh,yearl,month,mday,hour,min,0x00 }\r
- r date and time set { 0x0061 }\r
- s get date and time { 0x0062 }\r
- r date and time recvd { 0x0063,date_set?,time_set?,?,?,yearh,yearl,month,mday,hour,min,second }\r
- where: date_set & time_set==0x01 - set\r
- 0x00 - not set, ?,?,yearh,yearl,month,mday,hour,min,second\r
- not available in frame\r
- s set alarm { 0x006b, 1,32,3,0x02(on-off),hour,min,0x00 }\r
- r alarm set { 0x006c }\r
- s get alarm { 0x006d }\r
- r alarm received { 0x006e,?,?,?,?,alrm(==2:on),hour,min }\r
-0x12: Connect to NBS port (61xx only ?)\r
- s Send {+0x0c, 0x01, UDH header, data}\r
- (without 0,1 header -- for oplogo, cli, ringtone etc upload)\r
- where: UDH header = 0x06, 0x05, 0x04,destporth,destportl,srcporth,srcportl\r
-0x13: Calendar notes\r
- s Write calendar note { 0x0064, 0x01, 0x10, length, type, yearH, yearL, month, day, hour, timezone,\r
- alarm?(alarm yearH, yearL, month, day, hour, timezone): (0,0,0,0,0,0),\r
- textlen, "text" }\r
- r Write cal.note report { 0x0065, return }\r
- where return: 0x01: ok\r
- 0x73: failure\r
- 0x81: calendar functions busy. Exit Calendar menu and try again\r
- s Calendar notes set { 0x0066... }\r
- r Calendar note recvd { 0x0067, 0x01, ?, length, type, yrH,yrL,mon,day,hr,tz,alrm yrH,yrL,mon,day,hr,tz,textlen, "text" }\r
- r Cal.note recvd error { 0x0067, err }\r
- where err: 0x93: not available\r
- (0x01: OK)\r
- other: error\r
- s Delete cal.note { 0x0068, location }\r
- r Del. cal.note report { 0x0069, err }\r
- where err: 0x01: OK\r
- 0x93: cannot delete\r
-0x14: SMS funcs\r
- s Write SMS to SIM { 0x0004, .... }\r
- s Mark SMS as read { 0x0007, 0x02, location, 0x00, 0x64 }\r
- r SMS message frame rcv { 0x0008,subtype,?,num,?,BCD(smscenter)...} 20->type, 22->status\r
- where type: 0x06: delivery report \r
- status: 0x00: delivered\r
- 0x30: pending\r
- 0x46: failed\r
- 0x09: reading failed\r
- subtype: 0x02: invalid mem type\r
- 0x07: empty SMS location\r
- 0x0c: no access to memory (no PIN in card, etc.)\r
- s Delete SMS message { 0x000a, 0x02, location }\r
- r Delete OK { 0x000b }\r
- s SMS status request { 0x0036, 0x64 }\r
- r SMS status { 0x0037,?,?,?,?,?,?,msgnumber,unread }\r
- r SMS status error { 0x0038 }\r
-0x3f: WAP \r
- s Enable WAP frames { 0x0000}\r
- r Enable WAP frames { 0x0002, 0x01}\r
-\r
- s ?? { 0x0003}\r
- r ?? { 0x0004}\r
-\r
- s Get WAP bookmark { 0x0006, 0x00, location}\r
- where location: 0 - 14\r
- r Get WAP bookmark { 0x0007, 0x00, name_len, name(unicode),\r
- url_len, url(unicode), 0x01,0x80,0x00[7]}\r
- r Get WAP bookmark err { 0x0008, error }\r
- where error:\r
- 0x00(?)invalid position\r
- 0x01 user inside "Bookmarks" menu. Must leave it\r
- 0x02 invalid/too high/empty location\r
-\r
- s Set WAP bookmark { 0x0009, 0xff, 0xff, name_len, name(unicode),\r
- url_len, url(unicode), 0x01,0x80,0x00[7] }\r
- Note: bookmark is added to the first free location.\r
- r Set WAP bookmark OK {+0x01, 0x36, 0x0a, block }\r
- where block:\r
- 0x0a, location_of_just_written_bookmark(?),\r
- 0x00, next_free_location(?)\r
- r Set WAP bookmark err {+0x01, 0x36, 0x0b, error }\r
- where error:\r
- 0x04 - memory is full\r
- 0x01 - we are in the bookmark menu\r
- 0x00 - unknown reason for now ;(\r
-\r
-? s Delete WAP bookmark { 0x000c, 0x00, location }\r
- where: location = 0-14\r
-? r Delete WAR bookmark OK{ 0x000d }\r
-? r Delete WAPbookmark err{ 0x000e, 0x02 }\r
-\r
- s ?? { 0x000F}\r
- r ?? { 0x0010, 0x00}\r
-\r
- s Get WAP settings 1 { 0x0015, location}\r
- where location: 0x00 - 0x05\r
- r Get WAP settings 1 OK { 0x0016, title length, title (Unicode), URL length, URL(Unicode),con_type, ???[6 bytes],location, ???[5 bytes],security,...}\r
- where:\r
- con_type: 0x00 - temporary\r
- 0x01 - continuous\r
- location: when use "Get WAP settings 2 frame", must give it\r
- security: 0x00 = no, 0x01 = yes\r
- r Get WAP settings 1 err{ 0x0017, error }\r
- where error:\r
- 0x01 user inside "Settings" menu. Must leave it\r
- 0x02 invalid/too high/empty location\r
-\r
- s Get WAP settings 2 { 0x001b, location}\r
- where location: 0x00 - 0x1d (you get it in "Get WAP settings 1" frame)\r
- r Get WAP settings 2 OK { 0x001c, 0x01, type, frame...}\r
- where type : 0x00 - SMS bearer\r
- frame:\r
- service_num_len, service_num (Unicode), server_num_len, server_num(Unicode)\r
- 0x01 - data bearer\r
- frame:\r
- auth, call_type, call_speed, ?, IP len, IP (Unicode), dialup len, dialup (Unicode),\r
- user len, user (Unicode), password len, password (Unicode)\r
- where auth: 0x00 - normal, 0x01 - secure\r
- call_type: 0x00 - analogue, 0x01 - ISDN\r
- call_speed: 0x00 - 9600, 0x01 - 14400\r
- 0x02 - USSD bearer\r
- frame: type, service number len/IP len,service num (Unicode)/IP (Unicode),service code len,\r
- service code (Unicode)\r
- where type: 0x01 - service number, 0x00 - IP\r
- r Get WAP settings 2 err{ 0x001d,error}\r
- where: error=0x05 \r
-0x40: Security commands\r
- s ??? {+0x00, 0x00, 0x07, 0x11, 0x00, 0x10, 0x00, 0x00}\r
- This frame hangs phone (N3310 4.02). Meaning unknown !\r
- s Open simlock 1 { 0x02, 0x03, 0x1f, 0x11, 0x01, 0x01, 0x10, 0x00}
- r Open simlock 1 { 0x02 }
- s ???(N6150) { 0x08, 0x00 }\r
- r ???(N6150) { 0x08 }\r
- s Enable extended cmds { 0x64, cmd }\r
- where cmd: 0x00: off\r
- 0x01: on\r
- 0x02: enter service mode ?
- 0x03: reset (doesn't ask for PIN again)\r
- 0x04: reset (PIN is requested)\r
- In 5110 makes reset without PIN\r
- 0x06: CONTACT SERVICE!!! Don't try it!\r
- s Reset phone settings { 0x65, value, 0x00 }
- where value: 0x08 - reset UI (User Interface) settings
- 0x38 - reset UI, SCM and call counters
- r Reset phone settings { 0x65, 0x00 }
- s Get IMEI { 0x66 }\r
- r Get IMEI { 0x66, 0x01, IMEI, 0x00}\r
- s (ACD Readings)?(N6150 { 0x68 }\r
- r (ACD Readings)?(N6150 { 0x68, ... }\r
- s Get Product Profile\r
- Settings { 0x6a}\r
- r Get Product Profile\r
- Settings { 0x6a, 4bytes with Product Profile Settings }\r
- s Set Product Profile\r
- Settings { 0x6b, 4bytes with Product Profile Settings }\r
- r Set Product Profile\r
- Settings OK ? { 0x6b }\r
- s Get code { 0x6e, code }\r
- where code: see 0x08/0x0004 (only sec.code is allowed)\r
- r Get code { 0x6e, code, allowed, allowed? (sec code (text)) }\r
- where code: see 0x08/0x0004\r
- allowed: 0: no\r
- 1: yes\r
- s Set code { 0x6f, code, sec code(text), 0x00 }
- where code: see 0x08/0x0004\r
- s Start monitoring { 0x70, block }\r
- where block(N6150):\r
- 0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,\r
- 0xff,0xff,0xff,0xff,0xff,0xf9,0x76,0x65,0x20,0x00,\r
- 0x00,0x00,0x00,0x00,0x18,0x26,0x15,0x7d,0x0a,0x00,\r
- 0xf5,0x82,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,\r
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x77,0x80,\r
- 0x77,0x80,0xf2,0x82,0x20,0x20,0x20,0x20,0x20,0x20,\r
- 0x20,0x20,0x20,0x20\r
- This block enables probably all possible monitorred parameters.\r
- After it phone sends 0x00 message type values\r
- s Break monitoring { 0x71 }\r
- r Break monitoring { 0x71 }\r
- s Reset Permanent\r
- Counters (nm->test36) { 0x74, 0x01, 0x01, 0x0e }\r
- r Reset Permanent\r
- Counters (nm->test36) { 0x74 }\r
- s Call commands { 0x7c, block }\r
- where where: command, (values)\r
- command: 0x01\r
- values: number(ASCII), 0x00 - makes voice call\r
- command: 0x02 - answer call\r
- command: 0x03 - release call\r
- r Call commands { 0x7c, command }\r
- s Netmonitor { 0x7e, field }\r
- where: field: 00: next\r
- F0: reset\r
- F1: off\r
- F2: field test menus\r
- F3: developer menus\r
- s Open simlock 2 { 0x81, 0x01, locknumber, 0x10, 0x10, 0x10, 0x10, 0x10 }
- Note: sets simlock type to factory?
- where locknumber: 1,2,4,8
- s Open simlock 2 { 0x81, 0x01, locknumber }
- where locknumber: 1,2,4,8
- s Close simlock { 0x82, 0x01, locknumber, 0x00, 0x00, locksinfo(lock1,4,2,3), 0x00 }
- where locknumber: 1,2,4,8
- r Close simlock { 0x82, the rest like in 0x40/0x8a }
- s Get simlock info { 0x8a, 0x00}\r
- r Get simlock info { 0x8a, 0x00, 0x01, lockstype, locksclosed, 0x00, 0x00, locksinfo(lock1,4,2,3), counter1,counter2,counter4,counter4,0x00 }\r
- where: lockstype: bit1,bit2,bit3,bit4 - if set, selected lock is user lock\r
- locksclosed: bit1,bit2,bit3,bit4 - if set, selected lock is closed\r
- counter1 - counter4: counters for locks\r
- s Set downloaded OpName { 0x8b, 0x00, MCC1, MCC2, MNC, Name, 0x00 }\r
- r SetdownloadedOpNameOK?{ 0x8b, 0x00, 0x01 }\r
- s Get downloaded OpName { 0x8c, 0x00 }\r
- r Get downloaded OpName { 0x8c, 0x00, 0x01, MCC1, MCC2, MNC, Name, 0x00,...}\r
- s Buzzer pitch { 0x8f, volume, hzLO, hzHI }\r
- if volume and hz is 0, it's off\r
- r Buzzer pitch { 0x8f}\r
- s ACD Readings ? { 0x91, parameter?(0x02,0x03,0x04,0x05,0x07) }\r
- r ACD Readings ? { 0x91, parameter?, value? }\r
- s Sleep mode test { 0x92, 0x00, 0x00, howlong(2 bytes), enable }
- where: enable == 0x01 - enable after test
- 0x00 - don't enable after test
- howlong (ms) = 0x07, 0xd0 = 2000
- s ???(N6150) { 0x98, 0x00 }\r
- r ???(N6150) { 0x98, 0x00, 0x04 }\r
- s Get bin ringtone { 0x9e, location }\r
- where: location=0,1,etc.\r
- r Get bin ringtone { 0x9e, location, error, contents... }\r
- where location=0,1,etc.\r
- error=0x0a, ringtone NOT available\r
- 0x00, OK\r
- s Set bin ringtone { 0xa0, location, 0x00, contenst... }\r
- where: location=0,1,etc.\r
- r Set bin ringtone { 0xa0, location, error }\r
- where location=0,1,etc.\r
- error=0x0a, ringtone NOT set\r
- 0x00, ringtone set OK\r
- r Get MSid { 0xb5, 0x01, 0x2f, msid, 0x25 }\r
- s Get info about phone { 0xc8, 0x01 }\r
- r Get info about phone { 0xc8, 0x01, 0x00, "V ", "firmware", 0x0a, "firmware date", 0x0a, "model", 0x0a, "(c) NMP.", 0x00 }\r
- s Get MCU SW Checksum { 0xc8, 0x02 }\r
- r Get MCU SW Checksum { 0xc8, 0x02, 0x00, checksum (4 bytes),0x00 }\r
- s DPS External SW { 0xc7, 0x03 }\r
- r DSP External SW { 0xc7, 0x03, 0x00, string,0x00 }\r
- s Get HW { 0xc8, 0x05 }\r
- r Get HW { 0xc8, 0x05, 0x00, HW version (4 bytes), 0x00 }\r
- s Get "Made" Date { 0xc8, 0x05 }\r
- r Get "Made" Date { 0xc8, 0x05, 0x00, date(4 bytes), 0x00 }\r
- s Get DSP Internal SW { 0xc8, 0x09 }\r
- r Get DSP Internal SW { 0xc8, 0x09, 0x00, version (1 bytes), 0x00 }\r
- s Get PCI version { 0xc8, 0x0b }\r
- r Get PCI version { 0xc8, 0x0b, 0x00, version, 0x00 }\r
- s Get system ASIC { 0xc8, 0x0c }\r
- r Get system ASIC { 0xc8, 0x0c, 0x00, string, 0x00 }\r
- s Get COBBA { 0xc8, 0x0d }\r
- r Get COBBA { 0xc8, 0x0d, 0x00, string, 0x00 }\r
- s Get PLUSSA { 0xc8, 0x0e }\r
- r Get PLUSSA { 0xc8, 0x0e, available, 0x00 }\r
- where available: 0x01: not available\r
- s Get CCONT { 0xc8, 0x0f }\r
- r Get CCONT { 0xc8, 0x0f, available, 0x00 }\r
- where available: 0x01: not available\r
- s Get PPM version { 0xc8, 0x10 }\r
- r Get PPM version { 0xc8, 0x10, 0x00, "V ", "firmware", 0x0a, "firmware date", 0x0a, "model", 0x0a, "(c) NMP.", 0x00 }\r
- s Get&nbs