[Update v1.1.2 3-10-2008] µTrack passive GPS device tracking - Windows Mobile Development and Hacking General

µTrack can be used to track mobile devices in a passive, non-intruisive way.
It can be configured to publish the location of a Windows Mobile powered device to any website or webservice. The only requirement is that HTTP GET request can be used.
The different items of information that can be published are:
- Longitude / Latitude
- DeviceID
- Date and time
When run, the application only shows a notifyicon and stays dormant until another application uses the GPS Intermediate driver. - When the GPS device gets a fix on the position, µTrack will publish this information to the URL specified in the configuration window.
µTrack features:
- A lightweight Windows Mobile client whose sole purpose is to monitor and publish GPS coordinates.
- Four different parameters can be used in the GET request: Longitude, Latitude, Date/Time and the deviceID.
- The request can be tested using a easy to use option which opens the configured URL in the default browser.
- A non-intrusive notify-icon to indicate GPS monitoring is active.
- Both support for Windows Mobile 5 and Windows Mobile 6 powered devices.
- Auto start monitoring on device reset.
- GPS Intermediate Driver support.
- Google Gears GeoLocation support.
Because of its easy concept, µTrack can be used in all kind of situations and applications.
Configuration of a target website is also easy. Just configure the webserver to process the GET request accordingly:
http://www.exampleserver.com/mywebsite/[email protected]&[email protected]&[email protected]&[email protected]
One example (which is used on my website: http://www.petervrenken.nl) is to publish the location of a device to a website. There the information is used to show a Google Maps map as the background of all the pages. The theme of de site is therefore dependent on the location of its owner.
µTrack version 1.1.2 can be downloaded on the link below and is free for any personal use. When µTrack is used in a commercial application, please donate...
http://www.petervrenken.nl/utrack
Version history:
µTrack v1.1.2
- Fixed bug regarding ID replacement in URL.
- Added a new Map tabpage that shows the location.
- Redesigned the internal threading mechanism.
- Optimised showing of the settings Form.
- Fixed bug that disallowed application termination.
µTrack v1.1.1
- Fixed bug in usage of the backspace key when entering the accountname.
- Fixed bug in Google Gears usage setting. This allows usage of Google Gears.
- The Enabled when roaming option now also takes Google Gears into account.
µTrack v1.1.0
- Changed threading mechanism to use Timer.
- Added server side Widget
- Redesigned device application internals
µTrack v1.0.8
- Bug in Interval mechanism fixed (far less CPU usage)
- Re-added program to start menu
µTrack v1.0.6
- Bugfixes
- Redesigned the interval mechanism
µTrack v1.0.5
- Corrected setup folder
- Redesigned internal architecture
- Bugfixes
- Enable when roaming option
- Google Gears GeoLocation usage
µTrack v1.0.4
- Fixed ObjectDisposedException
- Restyled settings screen
- Added interval configuration option
µTrack v1.0.3
- Fixed errors
- uTrack can now online be tested using google maps.
µTrack v1.0.2
- Fixed errors
µTrack v1.0.1
- Fixed errors
µTrack v1.0.0
- First release

this is megacool

could it be possible to use it without dataconnection? just offline tracking, and a simple upload function?

I love the idea of what this app does!
ddookie, I'm getting the following error fairly frequently:
Code:
uTrack.exe
ObjectDisposedException
at System.Threading.Timer.throwIfDisposed()
at System.Threading.Timer.Change(UInt32 dueTime, UInt32 period)
at System.Threading.Timer.Change(Int32 dueTime, Int32 period)
at System.Net.HttpWebRequest.ConnectionClient.Read(Byte[] data, Int32 offset, Int32 length)
at System.Net.HttpReadStream.NetworkRead(Byte[] data, Int32 offset, Int32 length)
at System.Net.ContentLengthReadStream.doRead(Byte[] data, Int32 offset, Int32 length)
at System.Net.HttpReadStream.ReadToDrain(Byte[] buffer, Int32 offset, Int32 length)
at System.Net.HttpReadStream.doClose()
at System.Net.ContentLengthReadStream.doClose()
at System.Net.HttpReadStream.Finalize()
Any ideas?

how does this really work. i have completely understand the concept or idea

Hello honnt!
That error does not look good. could you give me a bit more information? For example which device you're using etc?

VOODOOS!L said:
could it be possible to use it without dataconnection? just offline tracking, and a simple upload function?
Click to expand...
Click to collapse
Hello VOODOOS!L!
No, atm uTrack does not support a offline upload function. The idea behind uTrack is that when GPS activity is detected, the device tries to publish its position to the configured URL.
This is the core concept behind uTrack and ensures that the application stays lightweight.
One enhancement i read from you're question is to monitor network activity and only send the information when there is one.
Greetings,
Peter Vrenken

Hi,
How often does the Tool publish the GPS-Information? Once when the GPS is started or frequently (like every 5 min.)?
I didn't try it yet, but it looks great.

Cell ID based location tracking
Hi,
I am kind of into a project which is "Cell ID based location tracking" for Windows Mobile 5 & 6 devices (both pocket pc & smartphone).
In development I used RIL to get the Cell ID & other tower details.
The problem I am facing now is getting it signed for distribution.
Mobile2Market (M2M) - Seems like the RIL is under undocumented API so Microsoft won't be signing it
Network Operators (Verizon etc.,) - Since the product involves RIL, would they hesitate to have it signed?
1. Is there any other API (documented) which I can use to get Cell ID details
or
2. Will the leading operators be interested in signing the application which uses RIL
I'm sorry to ask you too many questions in the first post... but I am facing a critical issue.
Thanks in advance,
Senthil

eljayone said:
Hi,
How often does the Tool publish the GPS-Information? Once when the GPS is started or frequently (like every 5 min.)?
I didn't try it yet, but it looks great.
Click to expand...
Click to collapse
At the moment uTrack publishes the information each minute (but only when the GPS is active).
In a future version this interval will become configurable.

Hi, this tool looks really great - could you explain how to configure the webserver?

Hello fc959,
I use the following steps in my scripts:
- Add a page to your webserver.
- In this page, check the deviceid (or some kind of magic or other authentication mechanism if the publication is allowed.
- If so, process the lat, long, time and id values that are transmitted in the GET request.
- Write the values to the database.
Hope this helps.

Thanks ddookie.
I've tested the app with my settings and the test url works. However how do configurenthe intermediate driver to work with tomtom?

Hello,
The GPS Intermediate Driver is available on Windows Mobile 5 and higher:
http://blogs.msdn.com/windowsmobile/archive/2006/06/07/620387.aspx
I know that some hardware OEM providers have it disabled, but if there is a GPS icon on the settings->Connection window, the GPS Intermediate Driver is enabled.
To use the GPS Intermediate Driver with TomTom is nothing more than use the GPS Intermediate Driver assigned COM port in TomTom. The idea behind the GPSID is that multiple applications can use the same GPS hardware, so the driver uses some kind of complex multiplexing mechanism.
Greetings,

yes I do have it installed but am not sure about the config though.
program port set to com0 (as per tomtom connection settings)
which port should be set for the hardware tab?

ok I've tried setting various com ports in the external gps settings but still no luck...
ddookie, would you ming writing up a very quick bullet point guide for the settings?
I know I'm almost there !

fc959 said:
yes I do have it installed but am not sure about the config though.
program port set to com0 (as per tomtom connection settings)
which port should be set for the hardware tab?
Click to expand...
Click to collapse
try it the other way around.
hardware tab should be the com port you used to use. so com0:
set programport to com4
and use this com4 in both tomtom and utrack
warning:
There's very few software availalbe that is able to fireup the bluetooth connection through this gps intermediate driver. The only two i know of are Oziexplorer an TrackMe. And not tomtom! Tomtom waits forever to get a connection, what i used to do is startup oziexplorer or TrackMe, then tomtom and stop ozi afterwards.

honnt said:
I love the idea of what this app does!
ddookie, I'm getting the following error fairly frequently:
Code:
uTrack.exe
ObjectDisposedException
at System.Threading.Timer.throwIfDisposed()
at System.Threading.Timer.Change(UInt32 dueTime, UInt32 period)
at System.Threading.Timer.Change(Int32 dueTime, Int32 period)
at System.Net.HttpWebRequest.ConnectionClient.Read(Byte[] data, Int32 offset, Int32 length)
at System.Net.HttpReadStream.NetworkRead(Byte[] data, Int32 offset, Int32 length)
at System.Net.ContentLengthReadStream.doRead(Byte[] data, Int32 offset, Int32 length)
at System.Net.HttpReadStream.ReadToDrain(Byte[] buffer, Int32 offset, Int32 length)
at System.Net.HttpReadStream.doClose()
at System.Net.ContentLengthReadStream.doClose()
at System.Net.HttpReadStream.Finalize()
Any ideas?
Click to expand...
Click to collapse
Finally got everything working, but I now get the same error as above every 20 mins approximately - only solution is to soft rest...
Device is HTC TyTN / Hermes.

Hello,
i'll look into this matter in the beginnig of next week. Quite busy atm.
But this looks like a beginners fault from the developer ...

Hello,
i've just released version v1.0.4 (download here: http://www.petervrenken.nl/uTrack/).
It shouldn't throw as much ObjectDisposedExceptions as v1.0.3, and has a new settings screen which makes it possible to configure the time interval at which the location is published to the server.
Greetings,

Related

New BT STACK(BCHS) has Release at 31 May 2006

The New BT STACK(BCHS) has Release at 31 May 2006 , Can anybody find the setup file ?
the old BCHS ver.107 ( 1107 ) , See:
O2 MINI NEW BLUETOOTH STOCK.
The New one is ver.1740 , Description :
Release Description BCHS 15.1.0
Thanks !!
ps: Sorry !!! It's " Stack " , Not " Stock " ...
The Release File contains:
The 15.1 serie contains the following new features:
- The Phone Book Access Profile has been added
- The device side of the HID-profile has been added
- In the AV, FTC, OPC, BPP, CM and SC it is now possible to cancel an
action started by:
AV_CONNECT_REQ
FTC_CONNECT_REQ
OPC_CONNECT_REQ
BPP_CONNECT_REQ
CM_SDC_SEARCH_REQ
CM_SDC_UUID128_SEARCH_REQ
SC_BOND_REQ
Besides the new features a number of bugfixes has also been addressed in this release.
Below a short description of the content of the bugfixs that has been solved in this release is listed.
Release 15.1.0
--------------
Introduction
------------
The 15.1.0 release contain a number of bugfixes and improvments as liste
above.
And more old Release.......
link doesnt work....
Link brings up error "you dont not have the authorization to download this content"
I am very interested in seeing this!
It is a stack, you ...!
Hey Chatty,
i'm interested to see whether or not this updated version of the bluetooth stack (that i'm already using) has any of the bugs fixed that the original had.
If you looked at the old stack and the amount of attention it got maybe you should just let people follow what interests them and if you dont like it ... DONT READ IT!
People have the right to read what they want and say what they want! But they should be able to do it with out have someone personally attack them, ESPECIALLY IF THAT PERSON HAS NOTHING CONSTRUCTIVE TO ADD TO THE CONVERSATION!
Anyway
enjoy your night Chatty and relax a little!
we love ya anyway
Nice edit Chatty!
The Release File :
The 15.1 serie contains the following new features:
- The Phone Book Access Profile has been added
- The device side of the HID-profile has been added
- In the AV, FTC, OPC, BPP, CM and SC it is now possible to cancel an
action started by:
AV_CONNECT_REQ
FTC_CONNECT_REQ
OPC_CONNECT_REQ
BPP_CONNECT_REQ
CM_SDC_SEARCH_REQ
CM_SDC_UUID128_SEARCH_REQ
SC_BOND_REQ
Besides the new features a number of bugfixes has also been addressed in this release.
Below a short description of the content of the bugfixs that has been solved in this release is listed.
Release 15.1.0
--------------
Introduction
------------
The 15.1.0 release contain a number of bugfixes and improvments as liste
above.
Bugfixes
------------------
D-0095 Fixed problem in ./common.h with endian dependend macro's for
bytestream manipulation. The macros have been made endia
independent.
D-0307 Linux: Using BCHS in the Linux Kernel mode, the scheduler did
not correctly clean up the timed event queue upon shutdown.
D-0419 Linux: Using BCHS in the Linux User mode, the scheduler did
not correctly clean up the timed event queue upon shutdown.
D-0578 Linux: In the Linux kernel port, it must be possible to
specify an alternate panic handler, such that special
platform/application specific handling can be performed
instead of the default BCHS sched_panic() function.
D-0717 Linux: The Linux userspace USB driver must support the new
kernel-driver interfaces for Reset and EnterDFU.
D-0797 Linux: The Linux kernel USB driver supports a
non-documented customer-supplied "extra" interface to augment
the standard USB driver
D-0804 Linux: It is now possible to setup maximum number of
outstanding ISOC frames in the USB driver at runtime, instead
of having to define it at compile time.
D-0805 Linux: The Linux kernel USB driver is slow due to inefficient
URB usage pattern and too many payload copying.
D-0863 Linux: The Linux kernel driver will sometimes crash when being
unloaded.
D-0879 Linux kernel: Crashes/oopses have been seen to occur when
loading/unloading the USB driver multiple times.
D-0888 Linux: If the Linux kernel BSL (PAN) network interface was
loaded, but not configured (ie. not connected), the module
would crash on unload/unregister.
D-0901 Linux kernel: The USB driver must support the UsbDrv_Reset()
API call required by the USB interface.
D-0904 Linux kernel: The USB driver keeps too much track of the
outstanding URBs.
D-0959 All demo applications: Added "-A <bluetooth-address>" command
line argument for all demo applications. This option can be
used to skip device inquery in the demo application.
D-1017 Linux: The verify_area() Linux kernel API function has been
deprecated since at least Linux version 2.6.11 and completely
removed from at least version 2.6.14. The function access_ok()
should be used instead.
D-1082 Fixed problem in ./common.h with endian dependend macro's for
bytestream manipulation. The macros have been made endia
independent.
D-1100 OBEX/Common: Corrected miscalculation of unicode string length
D-1107 Linux USB: Fixed a problem in the Linux USB driver where a
transfer buffer was allocated based on a predefined value
instead of the value defined by the device
D-1155 BPPS: Support for mandatory features has been completed,
including status and referenced object channel has been
included.
D-1235 Linux USB: Fixed a problem in the Linux USB driver where URB's
could be leaked.
D-1238 Linux: The USB-driver can now handle a warm-reset so it is
possible to use USB ROM devices.
D-1239 Bootstrap: now possible to also use bootstrap when using USB.
A new Library is created for use with USB. The library name
is bccmd_boot_strap_usb.lib for windows and
libbccmd_boot_strap_usb.a for Linux. The old
bccmd_boot_strap-library still contains the serial boot strap
implementation.
D-1254 HFG: Disabling of status indicators using the AT+CMER is now
implemented.
D-1259 HFG: The actual status indicator values are now stored in the
HFG separately for each connection.
D-1265 Linux: The default BCHS sched_panic() now generates a kernel
stack dump when using the Linux kernel BCHS port.
D-1269 In BCHS version 15.0.0 the OBEX profiles writes the total file
size erroneous. This has now been fixed
D-1277 PAN DEMO: updated to prompt user for passkey instead of using
a fixed value.
D-1284 SBC: An overflow could occur in the decoded SBC sound
D-1432 samples, if the sound was played with maximum amplitude at the
time of encoding
D-1293 OBEX/FTC,OPC: The FTC and OPC profiles has had a general code
cleanup.
D-1297 OBEX/OPC: The prim->bodyType in the opcPutReq library function
is only assigned a value if the bodyType in the lib call is
not NULL. I.e. the bodyType contains garbage when arriving in
OPC profile resulting in a crash when OPC pfree it. This has
when fixed so the library set it to NULL.
D-1298 BPP: Could not initiate two requests on different channels at
the same time. This is now fixed.
D-1299 HFG: If the connection was disconnected during a service
search, it was not possible to initiate any further connections
from the HFG since service search resources were not released.
D-1300 Build: Problem compiling without
EXCLUDE_EXCEPTION_HANDLER_MODULE but with ENABLE_SHUTDOWN has
been solved.
D-1305 JSR82: Cancelling an inquiry through the JSR-82 layer led to a
delayed access violation in some cases, because a timed event
was not cancelled. The timed event is now removed when an
inquiry is cancelled.
D-1306 HFG: Fixed problem with Ring request
D-1310 OBEX/FTP: The FTP client API have been updated so the Get and
Put signal describes the new interface
D-1313 Linux: It is now possible to use bootstrapping when running in
the Linux User to kernel mode split.
D-1329 Changed the page scan mode to HCI_PAGE_SCAN_MODE_MANDATORY.
D-1339 Build: The WIN macro has been replaced by the build-in _WIN32
D-1340,D-1341 macro for windows builds. WIN is no longer needed.
D-1344 AV: Avoided AV forcing link to active in case of sniff request
by remote device.
D-1345 DUNC demo app.: Added menu item for hanging up a call and
updated the AT command call setup sequence
D-1350 SC: The SC module does not called sc_db_write() if the peer
device updates a link link which already exits. This has been
fixed so the sc_db_write() function is called when the link
key is updated.
D-1351 SC: If a peer device initiates a connection while the local
device is in high security mode, the class of device parameter
in a SC_BOND_IND msg is zero. A fixed has been made so this
parameter is valid in this situation.
D-1357 BCCMD: Removed memleak in SetPcmChannel
D-1360 VDP-Demo: SD_IFACEQUEUE added to tasks.c
D-1361 VDP-Demo: Alignment set to 8 byte
D-1364 Optimized the HID parser.
D-1365 HFG: When an incoming connection from a headset is initiated
at the same time of a connect request from the application it
is possible that both connections will fail.
D-1367 VDP demo: In order for properly interfacing the external video
library demuxing functions, BCHS libraries and the demo
application must be built using the same alignment as the
external library alignment. Instructions on how to do so has
been added in the demo description.
D-1371 HFG: Fixed handling of AT+CHLD=? in profile and Demo app.
D-1372 VDP Demo: ScPasskeyResSend updated to use proper result format.
D-1373 JSR82: An ill-behaved, threaded Java program could cause rfcomm
packets from the JSR-82 layer to arrive out-of-order. A message
queue has been added to handle this.
D-1374 VDP-Demo: If multiple media packets were sent in the same l2cap
packet then a temporary buffer was freed, causing an error.
This pfree has been removed.
D-1376 OBEX/OPC: If the OPC put an object which need to be spilt up in
multiple OBEX packets, the OPC is some cases keeps sending the
OBEX headers(name, type length).
D-1379 DUNC demo app.: Added response to port negotiation.
D-1380 CM: Under rare condition the Connection Manager could restore
its local queues when it is not allow to. The consequences of
this are that it can send more than one signal to the lower
layer and in worst case a dead lock could happen.
This has been fixed.
D-1381 JSR82: The inquiry procedure of the JSR-82 layer requests names
for all found devices. This has been changed to only request
names when requested from application layer.
The inquiry is now usable for selectService implemented in
upper layer.
D-1382 TCS: The SDP record of the TCS GW contained an incorrect value
of the protocol descriptor list. This incorrect value
(UUID TCS-BIN) has been changed to the correct value
(UUID TCS-BIN-CORDLESS)
D-1389 BPP: Removed potential memory leak when sending document to
printer, by pfreeing printContent.
D-1410 JSR-82: The inquiry procedure may cause a segmentation fault
if no device names are fetched during this. The event
responsible is now properly cleaned up.
D-1411 HFG-Demo: Cleaned up the handsfree demo application and removed
some macro re-definitions.
D-1416 OBEX/OPC: If the OBEX clients (FTC, OPC, BIPC) is release while
setup an OBEX connection their could go into a state where it
has not possible to make a new OBEX connection. This has now
been fixed.
D-1417 OPC: Removed potential memory leak when putting an object to
the server, by pfreeing the object received by the application.
D-1418 OPS: If an OBEX PUT packet includes a type header the OPS
profile did write an invalid byte into the OBEX PUT packet,
which made the rest of it invalid. This has now been fixed so
an invalid byte is not put into the OBEX PUT packet.
D-1420 HFG: HfgAtCmeErrorSend has been added to the Hfg-lib file.
D-1421 HFG: Library function HfgAtCopsSend now returns the correct
structure.
D-1423 BPP: Added description of docTypeLength and printContentLength
in API.
D-1424 HF: Fixed compilation problem when ADVANCED_HF was deined and
new SCO interface is used.
D-1426 BPPS: Activation issue for the BPPS profilemanager solved.
D-1428 BCSP: Fixed problem in BCSP where it was not possible to
initialise BCSP multiple times.
D-1429 Linux kernel: The USB driver should adjust the SCO packet size
after the VOICE_SETTING in usr_config.h.
D-1435 DUNC: Corrected 'maxMsgSize' assignment in the DUNC_STATUS_IND
primitive
D-1438 Handsfree: Fixed interoperability issue with some car kits that
does not follow HFP specification
D-1440 HFG: Fixed problem with incoming and outgoing connection at the
same time
D-1444 AV: Update of the AV API document so it now also states that
the AV profile supports video streaming
D-1445 AV: The description of the roleType parameter in the
AV_STATUS_IND message was wrong. This has been corrected so
the description matches the parameter
D-1446 HIDH Demo: The second parameter of the
HidhConnectAcceptReqSend(...) call in the HIDH demo is invalid.
D-1447 Handsfree: Updated default values for eSCO connections.
D-1456 AVRCP: Update of AVRCP API description, particularly connection
establishment issues.
D-1457 Build: It is now possible to compile BCHS with the
EXCLUDE_BCHS_L2CA_MODULE and/or EXCLUDE_BCHS_RFC_MODULE
compiler defines.
D-1463 BCHS: BCHS has been updated to support RFCOMM so it may be used
together with the 21d Firmware version
D-1467 AVRCP: Prevented forcing connection out of low power mode when
low power was changed by remote device
D-1473 Build: Problem compiling without
EXCLUDE_EXCEPTION_HANDLER_MODULE but with ROM_BUILD_ENABLE
has been solved.
D-1476 HFG: Transmission of callheld status indicator from the HFG is
added.
D-1477 HFG: Fixed the supported features written in service record.
D-1478 BPP-Client: Added description of
BPP_CONNECT_IND and BPP_CONNECT_RES which was missing in the
API documentation (bchs-api-023_obex_bpp_client_api)
D-1482 HFP: PICS document has been updated
D-1488 Corestack: Fixed an issue where the max_frame_size field of an
RFC_START_CFM contained the locally requested value and not the
negotiated value.
D-1489 TCS-Demo: Fixed the GW part of TCS demo application. The GW did
not respond with an alert message due to an imporperly set
variable.
D-1491 FTS: Added low power mode control.
D-1494 HFG: Updated HFG to mutually exclude RING and audio connections
for HSP according to ESR1 E2112.
D-1500 JSR82: For short local names, the JSR-82 layer would read
outside of the string, due to an incorrect cast. The name is
now copied properly.
D-1501 BPP: Made sure that BPP can be activated in NULL state.
D-1502 BPP: Only perform one SDC attribute search during BPP connect.
D-1503 BPP: Fixed problem with handling channels disconnecting in
random order in BPP.
D-1505 The following two compiler defines is added to usr_config.h:
PAGE_SCAN_TYPE
INQUIRY_SCAN_TYPE
These defines allow the customer to select which Page Scan Type
and Inquiry Scan Type BCHS is using.
D-1506 SAPS: Added Bluetooth address of remote device for incoming
connections to the SAPS_CONNECT_IND.
D-1507 BPP: Removed possibility of getting an incorrect structured
OBEX packet on the BPP Object Channel.
D-1509 TCS: Added support for the Samsung SIT105EW access point in the
terminal part of TCS
D-1515 HF: Updated API document with some missing lib. functions.
D-1516 CM: Added more error code mappings from HCI-error codes to
BCHS error codes.
D-1518 Optimized the HID parser
D-1519 HFG: Updated API document with some missing lib. functions.
D-1521 JSR-82: L2CAP connections may leave remaining data when Java
application is closed. This caused new connections in a new
Java application to fail. This data is now cleared.
D-1524 BPP: Corrected the security setting for BPP Object Channel to
none.
D-1525 Obex/Push App: Removed the references to C-code files in
profile_mangers etc. directories and insert the use of
libraries instead.
D-1526 BPP: Corrected the requested max OBEX packet size for BPP Job
and Status Channel.
D-1527 BPP: Added description of channelId and ConnectionId to
documentation of BPP_DISCONNECT_IND.
D-1530 BPP: Added extra security so BPP only accepts incoming Object
Channel connections from a connected printer.
D-1532 HFG: Fixed handling audio request when signals are crossing
D-1533 SC: The cod is zero in the SC_PASSKEY_IND and SC_BOND_IND in
the scenario where:
A successful bond has been made between dev 1) and dev 2).
If dev 2) debonds dev 1) and dev 1) afterwards initiate a
connection to dev 2) then dev 2) will initiate a new bond
sequence against dev 1) and in this case the SC_PASSKEY_IND
will popup with a cod=0 at dev 1).
This has been fixed now by adding a read to the SC_DB if cod=0.
D-1534 HFG/HF: Fixed error in SCO negotiation if application specified
eSCO parameters
D-1535 Changed default sniff mode parameters to 40 in order to follow
the BT spec.
D-1544 BIP: Optimized the BIP code and removed some bugs.
D-1545 AV,FTC,OPC,BPP,CM,SC: A new feature was been made which allowed
the application to cancel a:
AV_CONNECT_REQ
FTC_CONNECT_REQ
OPC_CONNECT_REQ
BPP_CONNECT_REQ
CM_SDC_SEARCH_REQ
CM_SDC_UUID128_SEARCH_REQ
SC_BOND_REQ
D-1547 OBEX/SYNC: Who header length corrected from (10 to 9) in the
obex-sync-server.
D-1548 The compiler define DEFAULT_LINK_SUPERVISION_TIMEOUT has been
added to usr_config.h.
This allows to adjust the default link supervision timeout for
all new ACL links created.
D-1550 OBEX/SYNC: Who header length corrected from (10 to 9) in the
obex-sync-server.
D-1552 SBC:When the SBC decoder decodes an audio signal, encoded with
max amplitude, the output signal occasionally drops to zero at
the peak values. This has been fixed now by fine tuning the
final scaling boarders.
D-1555 BPP: Fixed converter error in BPP related to getEvent,
getJobAttributes, and cancelJob, so it does not forget the
number zero.
D-1559 BCHS: Removed the use of put_message_in, put_message_at and
cancel_timed_message. These functions are planned to be removed
from the BCHS scheduler in the future (date of removal has not
been fixed yet)
D-1560 FTC: In BCHS 15.0.4 FTC always request the link to go to
ACTIVE mode even if it is already in this mode. This has been
change so FTC only request to go to ACTIVE mode if the link is
not in this mode.
D-1561 BPP: Now possible to cancel a job without getting a
disconnection in BPP.
D-1563 CM: In the situations where a peer device releases its L2CAP
connection before it has been configured, the connection
Manager (CM) could go into a state where it keeps rejecting
incoming connection attempts. This has now been fixed
D-1565 TCS: Lib functions has been updated to use bchs_msg_transport
which makes it more easy to split applications from BCHS.
D-1566 Linux: The library: sc_db-file was not built for Linux. This
has now been fixed.
D-1571 HIDD: The device side of the HID profile has now been
implemented conforming to the specifications.
D-1573 Handsfree: Memory leak when a AT command is not encoded as it
should has been fixed.
D-1576 API document updated with additional description, including
examples of how to use library functions.
D-1577 API documentation is updated with additional information on new
library functions and example on how to use all library are
added.
D-1578 PAN: Now only possible to build PAN for HCI and not RFC,
because PAN is only to be runned on HCI-builds.
D-1579 JSR-82: If the JSR-82 layer received a disconnect from the
remote device on an L2CAP connection while sending data,
it could enter a state where it would stop responding to any
signals sent to it. This issue has been cleared up.
D-1581 Handsfree: The body and the data fields are now switched so
that the contents are according to the API document.
D-1583 Handsfree: Length value of the body and the data fields is now
corrected so that the 0-terminations is also included.
D-1584 HFG: Format changed for CIND response, so that the call_setup
element is closed properly.
D-1585 HFG Demo App: OK is now send after HFG demo app has all +CLCC
results to HF.
D-1587 SDP: The SDP layer now does full comparison for 128bit UUIDS,
allowing searches for non-bluetooth (e.g. JSR-82 Java)
applications.
Note: This fix has only been applied to HCI builds.
D-1588 AV: When unregistering the service record when running as
SINK the wrong service record was used. This has now been fixed
D-1595 BCSP: Added init of timer ID to avoid cancelling already
expired timers
D-1597 HF: Fixed problem with string handling for +CLCC. and +CNUM.
D-1600 obex/fts: The connection-ID was wrongly set to 0xFFFFFFFF when
a connection was terminated. This has now been fixed so the
correct connection ID is returned.
D-1605 Handsfree: In the unsolicited +CLIP message send form the HFG a
needed space is added after the ":" so that the message now is
+CLIP: xx, where xx is a number.
D-1606 Handsfree: In different unsolicited message send form the HFG a
needed space is added after the ":" so that the message now
is +CLIP: xx, where xx is a number.
D-1608 Handsfree: The support AT-functions are corrected so that they
are according to the AT specification format.
D-1611 Handsfree: The errors in the function HfSendHfCmeeInd have been
corrected. It is not able to handle a space after :
(example:+CME ERROR: 32) and the digits send in the error code
are not mixed up any more so that a received code is send
corecltly to the app.
D-1613 Handsfree: Implemented signal interface is corrected so that
COPS function will work in HF and HFG API is updated for
HFG_COPS_RES.
D-1614 Linux kernel: The USB driver should have the functionality to
bring the interface into DFU mode.
D-1615 Changed default sniff mode parameters to 40 in order to follow
the BT spec. in the
bchs-api-005_connection_mgm_api documentation
D-1618 HF: Function HfSendClccInd is now able to handle space after :
D-1620 Linux: The userspace part of the USB driver does not support
entering DFU mode or USB reset.
D-1622 Phone Book Access Profile is implemented according version 1.0
of the specification.
The profile has two modules:
PAC is the client side e.g. Car kits
PAS is server side e.g. Mobile phones.
D-1628 BCHS has now been updated to support the BC3MM AV-router
v1.2.2 solution.
D-1630 SPP: Made API for changing low power mode on SPP connections
D-1632 SBC: The SBC decoder has undergone a minor optimization round
to improve the general decoder MIPS performance.
D-1634 CM: If the Connection Manager(CM) receives an incoming L2CAP
connection while the local message l2cap_connect_accept_req is
stored on a local queue, the CM will reject the incoming L2CAP
connection.
This has been changes so if a l2cap_connect_accept_req message
is stored the incoming L2CAP connection is also stored. In this
way the CM will not reject it.
D-1636 BPP: A cancel connect attempt can no longer result in a
BPP_CLOSE_SEARCH_IND.
D-1637 BPP: Made sure that the abort timer is cancelled if a
disconnection happens simultaneous.
D-1641 BPP: Fixed problem with uninitialised memory when using Object
Channel.
D-1642 FTS now sends CmModeChangeReq (for LINK_STATUS_CONNECTED)ONLY
once on rx of CM_DATA_IND while NOT in LINK_STATUS_CONNECTED
and obex is connected.
D-1644 FTS now sends CmModeChangeReq (for LINK_STATUS_CONNECTED)ONLY
once on rx of CM_DATA_IND while NOT in LINK_STATUS_CONNECTED
and obex is connected.
D-1647 Linux: The Linux userspace UART driver now correctly perform
the pthread shutdown sequence.
D-1648 In BCHS 15.0.5 FTC will request the link to go to ACTIVE mode
even if it is already in this mode. This only happens if FTC
receives a FTC_CANCEL_CONNECT_REQ in connected state.
This has been change so FTC only request to go to ACTIVE mode
if the link is not in this mode.
D-1649 Linux USB: A memory leak has been found in the Linux userspace
USB driver in the UsbDrv_Rx() function, where the rx-queue
element itself was not freed after the data has been send to
the stack.
D-1655 Linux user: The USB driver does not use the correct pthread
shutdown sequence.
D-1659 PAC: Added handling for low power mode and cancel connect.
D-1664 HIDH: solved free of non allocated data
D-1665 SPP Demo App: mapping between client and instance number made
more intuitive
D-1672 SAP: Updated Service record for SAP server to be compatible
with WinCE devices
D-1673 FTC: FTC accidently uses more than one timer to control
lowpower. This has been fixed so FTC only use one timer to
control this.
D-1674 HIDH: When calling HIDHConnectReqSend(..) with SdpInfo as a
NULL pointer undefined Memory access is read. This has now been
fixed.
D-1677 HFG: New signal "HFG_STATUS_INDICATOR_SET_REQ" is created to
enable the application to update the actual status indicator on
all link at the same time and in any state of the HFG.
D-1679 AV: Av app. will now receive a negative connect confirm also
when a cancel connect arrives too late to make actual cancel -
when the connection establishement is done but has not yet been
reported to app.
D-1680 An incorrect offset calculation that caused searches for more
than one 128 bit UUID to fail has been fixed.
Note: This fix has only been applied to HCI builds.
D-1681 HIDH: When HIDH luses the connection and should automatically
reconnect. If the reconnect fails, a HIDH_CONNECT_CFM is send
to the application instead of a HIDH_DISCONNECT_IND. This is
Fixed.
D-1682 HIDH: A problem in the HIDH package fragmentation routing which
did not work for packages larger than the MTU size has been
fixed.
D-1685 OBEX: Optimize the OBEX profiles so the clients release the
connection and the servers send a response code with error, if
the peer device sends an OBEX packet larger than agree on.
D-1688 TCS: Doing shutdown the tcs_deinit function did not pfree the
payload in a CM_L2CA_CONNECTIONLESS_DATA_IND_T message, causing
a potential memory leak. This has now been fixed.
D-1691 HIDH: Problems with Connect Accept and Reconnect Flag and
Virtual Cable Flag are True and Normally Connectable Flag is
False. This has been fixed.
D-1694 HIDH: Fixed a memory leak in HIDH which occured when packages
bigger that the MTU size was send. The user payload was then
not free'ed. This is now free'ed.
D-1704 OBEX documentation: Added connected state to the sequence
overview diagram.
D-1740 CM: In BCHS 15.0.6 TCS_IFACEQUEUE were hardcoded into the
Connection Manager (CM). If TCS_IFACEQUEUE were removed from
the bchs_task.h bchs could not compile.
This has now been fixed.
quite list there! will be interesting to see what the possibilities for the magician shall be!
Thanks for the heads up and i look forward to reading more
now to wait for the cab file...
The most important question for me: Will the modem work now?
Good!
Only two questions:
1) When it can be downloaded? From where?
2) That HUGE list of improvements it's really confusing. What is this new stack going to do respect the previous? It's worth install it?
Really thanks to people like wensonlau that discover interessant unpgrades to the magician
Cheers, MocciJ
still no working download to this hotly anticpated release?
What a pity... no one got access.
Was hoping this would make my Magaician work better with my Pioneer Bluetooth head unit....damn dissapointed it hasn't emerged.
UP
where?
I didn't say, I uploaded it. I just meant to put this thread to the top.
Can Anybody please tell me if this works fro Prophet (Xda neo), too ?
I have some Problems with my HT-820....
@meisterlampe2000: just try the older version and you'll know. Or just read the thread about the old version. How to find it? Use the SEARCH function!
SO kind of you !
I`ve read everything now, didn`t expect a different answer from you !
I hope to find a Link to that new Stack soon - Would be nice to listen to Music withoput interruptions.
THX

Multipurpose Navi-Loader v1.2

just thought i'd share this with you.. been using it and it's really good.
On WinCE platform, there is no taskbar like WM5/6 platform, that's why most of WinCE full
screen applications always partial behind on WM5/6 taskbar at upper of screen, even shift
down one line on WM5/6 platform. Also, even WinCE application had controlled backlight
strength in program, but it won't work on WM5/6 platform. That's a story to be born this
utility.
This NavLoader utility provides environment pre-setup before loading Navigator application,
individual configuration file for your perference to load specific Navigator application.
The features also include WinCE full screen emulation and turn on bluetooth..etc by variety
parameters in configuration file.
From now on, you can set up difference preference for your Navigator application, such Garmin
run on portrait mode and power off PPC when exit Garmin, TomTom run on landscape mode and redirect
all audio to bluetooth earphone, you don't need to setup environment manually before you launch
application.
This utility has been tested on WM5 platform with TomTom 6(PDA), Garmin(PDA), MioMap(PDA),
Finean V2.0(PND), PPG VR-ONE(WinCE PND), If you are interested this utility, you may report your
test result of which applications or bugs for next version information collection.
DOWNLOAD LINK: (this IS freeware)
http://rapidshare.com/files/117823058/MulPurNavLoa11Fre.rar.html
knock yourself out

[Updated November 09] Route Tracker

Route Tracker
With Route Tracker you can create routes and add several route points containing text and/or images from your current position. If gps is available it will take the current longitude, latitude and altitude. Without a gps module information of the current cell id and the location area code are saved.
For each route a report can be created which can be saved as a html file.
prerequisites:
PocketPC with .net compact framework 2.0 and SQL Compact Server 2005 (already installed in WM6 professional)
(tested on a WM6 professional device without gps)
known issues:
after uninstall the db and the images will not be deleted
getting MyLocation can time out
timer greater than ~15 seconds doesn't word when device is in suspend mode
in the view form only the map type for default route maps is working
next features:
automatic point adding by distance (every x meters)
more robust MyLocation
geo game (show taken image and try to find the place on the map)
Any comments are appreciated.
version 1.0.5
new view showing the whole route in one image using Google Maps (markers or path)
this view can be saved to an image file
check its settings form for parameters
version 1.0.4
new setting: Use Google's MyLocation for report GMaps and for exporting to kml. On devices without gps the cell id information will be used to get an approximate location. (default on and will use internet connection!)
version 1.0.3
new report "GMaps" using google maps (will try to use internet connection!)
updated date set to last saved route point
additional setting: Flash on Saving (flash on main screen)
version 1.0.2
additional settings: check gps, vibrate on saving
saving settings: seconds, minutes and vibrate on saving
show time with date in the grid
version 1.0.1
A report can be saved to kml for viewing in google maps.
In Menu/Auto Report... timed saving can be activated.
Thanks,
heliosdev
Anybody tried?
Would be interesting to know if the gps information gets stored and if there are any issues on devices with qwerty hardware keyboard (regarding screen rotation).
Thanks!
New version is up. If you have difficulties with the gps data, try to start gps with another app and after having enough sat fixes try Route Tracker.
Nice now this app work, but here some ideas:
A Sign that shows a record was made
Start Time on the main screen
Show Cell ID or GPS is used
Other Ideas will follow
Thanks for the input! New version is up.
very cool! i will be certainly using it.
nir36 said:
very cool! i will be certainly using it.
Click to expand...
Click to collapse
me too. will report back feedback. thanks.
heliosdev said:
Anybody tried?
Would be interesting to know if the gps information gets stored and if there are any issues on devices with qwerty hardware keyboard (regarding screen rotation).
Thanks!
Click to expand...
Click to collapse
It works on my Diamond without any problem.
Great but here some Ideas:
Show the last position time in the grid (Last position time saved at
Vibrate is good, but better would it if you make a flashing dot on the main screen because if you use it in a carholder its not so go.
(Or you can add vibrate too under settings)
And Upload direct the cab file, its easier to use!
Thx and work on!
didn't work on my vogue - got a net framework error.
@all
thanks for your input!
@fredcatsmommy
what is the error message saying? Can you go to menu/settings and press the 'Check GPS' button?
heliosdev said:
@fredcatsmommy
what is the error message saying? Can you go to menu/settings and press the 'Check GPS' button?
Click to expand...
Click to collapse
okay, here's the message I get when trying to run RouteTracker (which does not open at all):
Error
RouteTracker.exe
MissingMethodException
File or assembly name
'System.Data.SqlServerCe,
Version=3.0.3600.0, Culture=neutral,
PublicKeyToken=3BE235DF1C8D2AD3',
or one of its dependencies, was not
found.
Well, it looks like sql is not installed on your device! I've seen cooked roms which removed this to save some space...
What .net version do you have installed? (run /Windows/cgacutil.exe)
heliosdev said:
Well, it looks like sql is not installed on your device! I've seen cooked roms which removed this to save some space...
What .net version do you have installed? (run /Windows/cgacutil.exe)
Click to expand...
Click to collapse
I'm using the ppckitchen to cook a custom rom and have included both sql, 3.5 supposed to be included and I also select .netcf 2. Maybe that's a problem, but I've not ever gotten that message with any of the other programs I use that require .netcf. When I run /Windows/cgacutil.exe it says 2.0.7045.0
Will this work with .NET 3.5 or only 2.0?
I get this error using the ROM in my sig and SQLce 3.5 added.
Code:
An unexpected error has occurred in RouteTracker.exe.
Select Quit and then restart this program, or select Details for more information.
File or assembly name 'System.Data.SqlServerCe, Version=3.0.3600.0, Culture=neutral, PublicKeyToken=3BE235DF1C8D2AD3', or one of its dependencies, was not found.
Here a new Idea
Make a Today Plugin that shows CELL ID, LAC, MCC, MNC or GPS and a count down. It shows new recorde made in xx.xx.xx (ex. 00:00:10 = 10 sek.)
Well, I'm using C# .net and I'm not sure if this can be used for today plugin development.
Btw, new version is up!
new version is up!
Tests with devices without gps are appreciated! (internet connection needed)
(report GMaps and save report (in Report form) to kml and view it with google maps/earth on desktop)
Nice,
works fine!
But can you set a dot on mylocation?
Like here http://cellid.schlapa.net
Also show the cellID data on the Gmaps Screen.
Thx wait for next versions ...
Dtrieb
Hi thanks for this app!!!!
Is it possible to get bigger screen shots ?
Thanks dude

Services & DLL's - Descriptions/Functionality

Many threads say you can just disable/enable services but don't get into enough detail.
Figured I'd try to start a nice thread on services/DLL's that are on devices.
Feel free to help out.
*Even asking about other services found on your device will even help.
Required - The service is required for common core functionality.
May Be Required - Should not effect basic device functionality, but necessary in some cases.
Not Required - Wont have a significant impact on device functionality.
==== SERVICES ====
SqmUpload/sqmsvc.dll - System Quality Metrics, not required. Used by Customer Experience functionality to monitor feedback. (Can be deleted with SQM disabled)
credsvc/credsvc.dll - Credential Manager Service, required for ActiveSync to sync properly.
LASSD/lassd.dll - Local Authentication Subsystem, required (GWES or SERVICES relies on it???)
DTPT/dtpt_srv.dll - Desktop Pass-through, may be required for ActiveSync. Allows ethernet access when connected via ActiveSync.
BTHIDSVC/bthidsvc.dll - Bluetooth Human Interface Service, may be required for connecting inout devices over Bluetooth.
OBEX/OBEXSrVr.dll - Object Exchange Server, may be required for IrDA/Bluetooth file transfering.
SNApi/regextdev.dll - State and Notification API, may be required for some applications monitoring devices states. ex: Incoming Calls, etc.
CERTENROLL/enrollsvc.dll - Unknown (Socket Certificate Enroll?), may be required for EAP-TLS Authetication.
BTAGSVC/kwag.Dll - Bluetooth Audio Gateway Service, may be required to activate Bluetooth and Audio over Bluetooth. (Some devices claimed to stream audio without)
BthAsPlugin/BthASPlugIn.dll - Bluetooth ActiveSync Plugin, only required for Syncing over a Bluetooth connection.
==== PROCESSES ====
filsys.exe - Internal Filesystem, required for basic operation. Manages registry and filesystem.
cprog.exe - Default Cellular Handler, required for basic phone operation.
device.exe - Device Handler, required for basic operation. Hooks system drivers and basic system functionality.
gwes.exe - Graphical Windowing and Event Subsystem, required for basic operation. Basically draws windows and controls.
shell32.exe- Windows Mobile Shell, required for basic operation. Basically creates the "desktop" and window functionality.
connmgr.exe - Connection Manager Application, required for basic network operation. Maintains a list of connections and profiles.
NK.exe - ??? Kernel, required for basic operation. Initilizes device and maintains system kernel.
poutlook.exe - Pocket Outlook ?Monitor?, may be required for some operation. May maintain connection to e-mail server.
==== DRIVERS ====
coming later
Nobody finds this the least bit useful?
I do! Give people a chance to reply, you posted late in the evening for Europe!
Thanks for the info.
I do too Maybe BTAGSVC means bluetooth audio gateway service?
MCSchermer correct
BTHIDSVC/bthidsvc.dll - Bluetooth Human Interface Service, required for connecting human interface devices over bluetooth (mice, keyboards and such)
BTAGSVC/btagsvc.dll - Bluetooth Audio Gateway Service, required to transfer audio over bluetooth.
thanks
good work
BR
Thanks Allot
as a Noob chef, I totally find this useful.. this isn't around anywere i've seen. Thanks allot sir!!
Thanks for the explaination. Should be a sticky thread IMO.
Very helpful. Thanks!
Tahnks a lot mate...A good effort. Share some more...
Very useful stuff
Great for building ROM's and speeding up the device by disabling some services.
You should post this on WIKI great info.
xplode said:
MCSchermer correct
BTHIDSVC/bthidsvc.dll - Bluetooth Human Interface Service, required for connecting human interface devices over bluetooth (mice, keyboards and such)
BTAGSVC/btagsvc.dll - Bluetooth Audio Gateway Service, required to transfer audio over bluetooth.
Click to expand...
Click to collapse
Thank you very much sir.
I kept thinking...HID...HID...what would a mobile device use HIDs for?
Basically exactly what an HID is, rather stupid to have it enabled by default...but makes sense.
If anyone can find out if device hotkeys (like headsets, etc) work with BTHIDSVC disabled, that would be great.
*Also could use assistance in determining core nature of poutlook.exe
Thanks
I found this lying around the internet. I don't have time to translate it, maybe someone does. I'll just post it here and hope You find it useful.
EDIT: Adding some keywords to make it googleable WM6 windows mobile Exe dll file description documentation
Dude, this is freakin' awesome! Thanks, bro
Thanks! Very useful information.
Nobody gonna help?
Nobody's gonna help until You very clearly state what is the problem. Currently You have one rhetorical question pending. Nobody has time to answer rhetorical questions.
Cool info
thanks for the info man.this will be a nice help for rom cookers.
btw, i'm not sure though, but is'nt poutlook.exe related to contacts or messaging for communicating to outlook on pc thru active sync?
I don't really know, I haven't flashed anything in my life except a router and CD-ROM Ant these were far more easy to flash than a PPC it seems.
Thanks, Great info..

[Q] for "jwoegerbauer" about installing "autorun" manually

hi, I was hoping that you are able to help .... i am permanently mounting my my wince6 Apical AT12X gps within a replica sunvisor in my car ... i want the igoPrimo program on the gps to start as soon as the engine is running, without any interaction from me or pressing any menu buttons on the touchscreen ... so essentially, unlike most people i want to lock my device ... i do not need file or video viewers, mp3 players or games, just iGo Primo which has detailed raster maps ... youtube[dot]com/watch?v=urX3rERYZf4
looking at the MioPocket4fv installation script, a section codes adding an entry into the "init" section of the registry to detect whether an SD card is inserted, and if it is, autorun a program
this would be a good way to directly run Primo, without hacking the GPS software too much, and removal of the SD would return the GPS device's operation to factory default
can you advise what the registry settings should be if i were to do this manually ... i do not fully understand the index number concept... a screenshot of my registry is attached, i am quessing the ceSd2577 program should be stored on the NandFlash partition, and the SDMMC / sd card would have the autorun / mortscript calling primo.exe
thanks in advance from New Zealand
antdavison said:
hi, I was hoping that you are able to help .... i am permanently mounting my my wince6 Apical AT12X gps within a replica sunvisor in my car ... i want the igoPrimo program on the gps to start as soon as the engine is running, without any interaction from me or pressing any menu buttons on the touchscreen ... so essentially, unlike most people i want to lock my device ... i do not need file or video viewers, mp3 players or games, just iGo Primo which has detailed raster maps ... youtube[dot]com/watch?v=urX3rERYZf4
looking at the MioPocket4fv installation script, a section codes adding an entry into the "init" section of the registry to detect whether an SD card is inserted, and if it is, autorun a program
this would be a good way to directly run Primo, without hacking the GPS software too much, and removal of the SD would return the GPS device's operation to factory default
can you advise what the registry settings should be if i were to do this manually ... i do not fully understand the index number concept... a screenshot of my registry is attached, i am quessing the ceSd2577 program should be stored on the NandFlash partition, and the SDMMC / sd card would have the autorun / mortscript calling primo.exe
thanks in advance from New Zealand
Click to expand...
Click to collapse
Adding an SD-Autorun feature to your GPS (which is running WinCE 6.0) indeed makes sense, because the app you start via "Autorun" simply overlaps default app as was intended by OEM. Means, it doesn't hurt anything.
Now to your questions:
1. ceSD2577.exe (extracted from MioPocket 4.0 FV package) must be installed on your GPS's nandflash in <nandflash-folder>.
2. With a Windows registry editor ( use CeRegEditor ) you simply import to your GPS's registry a .REG-file you created with Notepad with contents as following:
Code:
Windows Registry Editor Version 5.00
[COLOR="Red"]<-CR Carriage Return[/COLOR]
[HKEY_LOCAL_MACHINE]
[HKEY_LOCAL_MACHINE\init]
"Launch255"="<nandflash-folder>\ceSD2577.exe" [COLOR="Red"] <- <nandflash-folder> here is placeholder for the folder you created[/COLOR]
[COLOR="Red"]<- CR Carriage Return[/COLOR]
[COLOR="Red"]<- CR Carriage Return[/COLOR]
3. On SD-card in its root create folder 2577, and put there the package containing "Autorun.exe","Autorun.mscr" & Mortscript.exe
4. If SD-card is left in GPS, everytime GPS is booted and SD-card gets initialzed, then Autorun.exe present in folder \2577 of SD-card will be executed.
thank you so much
for taking time to reply soooo quickly ... i did not really understand the launch and dependency indices, but your MP4fv code was, and suggested regedit will, be very useful ...
check out my raster maps on youtube if you have time ... new zealand government have just released hi-res (< 1m) aerial orthophotos for 95% of the country for the cost of the hard drive they send it to you on, so could be porting these to iGo Primo for years
thanks again, I am very grateful
works flawlessly, you are a genius ... thank you
the OEM menu is now totally invisible until i exit iGoPrimo
just need to make some matching green-theme splash screens for power up and iGoPrimo loading screen, and my life will be perfect
so i am looking for some "green theme" Apical menu bitmaps, the menu looks like the attached image
the 800x480 menu files i am looking for are
residentflash2-bin-Main-Fore2-*.bmp
residentflash2-bin-Main-Animate2-*.bmp
residentflash2-bin-Main-MainLayer2-*.bmp
and maybe any *.ini file relating to GPSAni*.bmp
mine (AT12/atlasVI) are all archived into a single *.bin file, which i cannot unarchive, but in earlier versions of this shell (maybe AT10/atlasV), they are separate files ... these files will give me enough menu elements to make some matching splash screens for power-on and igoPrimo load .... i don't need to modify the apical menu itself
davison[dot]antony[at]gmail[dot]com
----
hi-res aerial orthophotos in igoPrimo (150km x 130km area, <1m per pixel resolution)
youtube[dot]com/watch?v=urX3rERYZf4
understanding the launch and dependancy indices
from
austech[dot]info/gps/31080-gps-launching-program-6.html
source is
blogs[dot]msdn[dot]com/b/mikehall/archive/2007/01/04/ce-6-0-booting-processes-with-command-line-options.aspx
==================================================================================
CE based devices have a couple of options for booting applications at startup.
1. The Registry.
The first option is to use the registry to launch processes during the boot process of the device, the registry key for launching applications is HKEY_LOCAL_MACHINE\Init - the registry approach has a couple of drawbacks - the first issue is that there is a dependency chain within the boot process, processes are started and need to signal back to the o/s that the process has launched (using the SignalStarted API) so that other dependent processes can also start - here's how this looks in a snippet from a device registry.
[HKEY_LOCAL_MACHINE\init]
"Launch20"="device.dll"
"Depend20"=hex:0a,00
"Launch30"="gwes.dll"
"Depend30"=hex:14,00
"Launch50"="explorer.exe"
"Depend50"=hex:14,00, 1e,00
Take a look at the "Launch50" line, this launches "explorer.exe", the standard Windows CE shell that looks somewhat similar to the Windows desktop shell - The Explorer process has dependencies on hex:14 (20 decimal) and hex:1e (30 decimal), this maps directly to the Launch20 and Launch30 processes - explorer.exe will not be started until the processes associated with Launch20 and Launch30 are started and have signaled the o/s that that have started, an application started through the registry must call SignalStarted to allow any dependent applications to also launch - an application launched through the registry gets its launch number (50 in the case of the Explorer shell) passed as a command line parameter - this is of course passed as a string, not a number, the SignalStarted API needs to pass a DWORD value as its parameter, so a process would use SignalStarted similar to the following.
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
// Do some work here...
SignalStarted(_wtol(lpCmdLine));
The second drawback is that processes launched through the HKLM\init registry key cannot be passed any additional command line options beyond the launch key value which is then passed to SignalStarted by the launched application.
2. Startup Folder
The second option is to drop your application (or a shortcut to an application) in the operating system Startup folder (this is only implemented in the Windows Explorer shell) - The code that walks the Startup folder looking for processes to start can be found here - C:\WINCE600\PUBLIC\SHELL\OAK\HPC\EXPLORER\MAIN\exp lorer.cpp - take a look at the ProcessStartupFolder() function, it should be fairly easy to lift this code and implement your own startup folder code.
The advantage of using the Startup folder is that the applications don't need to know about the boot sequence of the o/s, don't need to be aware of the launch dependency chain, and could (if a shortcut is used) be passed command line options.
The downside of using the Startup folder is that all processes within the startup folder are launched at the same time - there isn't a dependency chain, or time delta betweeen processes launching - this could be an issue in some circumstances - let me give you an example - you may want to boot a CE device image and then connect to that device image from VS 2005 (so you can deploy/debug some managed or native applications), if you were to launch ConManClient2 and CmAccept from the startup folder you would have three minutes to configure VS 2005 with the correct IP address and then connect VS 2005 to the device - you might want to delay the launch of ConmanClient2 and CmAccept until the device has a valid and active IP address.
3. (did I say there were a couple of options?) SvcStart Services Sample.
John Spaith posted on the launch issue back in December 2004 - John wrote a sample called SVCSTART whose sole purpose in life is to start other applications with a delay period that can be configured through the registry - this sample was initially added to the CE product back at CE 4.1 and is still available today in CE 6.0 - C:\WINCE600\PUBLIC\SERVERS\SDK\SAMPLES\SERVICES\SV CSTART - it could be a little fiddly to get this built/added to your o/s image if you are just getting started with CE 6.0 development.
4. Project Socrates - AutoLaunch
To assist students taking part in the ImagineCup 2007 competition (and also to make it easier for any developer to launch applications on their device with delay, command line options, and also waiting until the device has a valid IP address) Jim Wilson and I have developed a simple application called AutoLaunch - the AutoLaunch application comes in a handy Sub-Project form so can easily be added to an existing CE 6.0 workspace. The functionality is similar to the SvcStart sample written by John Spaith but does have a couple of minor differences - the first is that the AutoLaunch program is launched through the HKLM\Init registry keys (much like any typical startup process) - the registry keys for adding AutoLaunch to the startup sequence are included in the sub-project .reg file, so you don't need to worry about this.
The second difference is that the AutoLaunch process waits until the device has a valid IP address before launching any processes - the reason why this is useful is that we wanted students to use their reference boards without needing a second monitor, keyboard or mouse (in effect the device is booting headless even though the CE desktop or launch application is being displayed) - in this case we want to launch the CE Remote Display application (CERdisp.exe) on the device with the command line "-c" (connect) which then broadcasts the device IP address/name to a listening desktop CE Remote Display application.
The CE Remote Display application can be found in the CE 6.0 catalog by searching for "cerdisp", the SYSGEN for the component is (strangely enough) SYSGEN_CERDISP. The desktop CE Remote Display application can be found here - C:\WINCE600\PUBLIC\COMMON\OAK\BIN\I386\cerhost.exe [NOTE: The CE Remote Display application is not the same as RDP/Remote Desktop, although RDP is supported as a client side application on CE 6.0 (SYSGEN_RDP)].
In the sample below we're launching the CE device side Remote Display application (cerdisp) with the command line "-c" to start connected, with a timeout of 0x1388 (5000ms, 5 seconds), and also starting the CE command prompt (cmd.exe) with a delay of 0x1f40 (8000ms, 8 seconds) - it would of course be trivial to also add ConmanClient2 and CmAccept to the launch process list.
[HKEY_LOCAL_MACHINE\Startup]
"Process1"="cerdisp -c"
"Process1Delay"=dword:00001388
"Process2"="cmd"
"Process2Delay"=dword:00001f40
Here's how the desktop CERHost.exe application looks when the device boots and runs the "cerdisp -c" command - notice the name of the device and the device IP address are both displayed in the Remote Host application (the IP address being displayed here is very useful for plugging into the VS 2005 Device Properties dialog!).
And to round off the blog post here's the Remote Display application running on my Vista desktop showing the CE 6.0 desktop - note that I can now use my desktop mouse and keyboard to remotely control the CE 6.0 device!
Using AutoLaunch and the CE Remote Display for hands on labs/training that use reference boards instead of the Device Emulator may be quite useful!
antdavison said:
works flawlessly, you are a genius ... thank you
Click to expand...
Click to collapse
Glad to hear this. Thank you.

Categories

Resources