[APP-DEV] RCAgent - GPS Tracker - Windows Mobile Software Development

Hey guys,
I need few brave people to [beta] test my GPS Software - A program similar to RemoteTracker. Information about it is written on my personal site at http://www.mkexchange.com/rcagent (Or should i have copied the whole thing here?)
The software currently has no privacy protection (no passwords, no configurable way of specifying the upload location, etc) - everything is recorded in the "Debug Log" for testing and debugging purposes. This is not a final "stable" version, your device could blow up! - probably not though
I wrote this for personal use but i wouldn't mind sharing and give back to the community
Requirements:
- Someone who knows what they're doing.
- Device with GPS running WM6+ (with Compact Framework 2.0... maybe 3.5 in the future)
- Unlimited Data/SMS plan - so it doesn't end up costing you a fortune while testing. Mainly SMS is used for comms - data is optional.
- Enough space on the External Storage/SD Card - for debug log, track files, etc.
- The software has no visible interface so you will need another phone to send the messages from.
Let me know if you are interested.
I'm using SPV M700 (HTC P3600) permanently connected to the car battery to test this.
I'll put more info about it, if there's enough interest.
-----------------------------------------------------------------------------------------
Update: 2011-07-12
I have attached the latest build of the program to this post. Use this to Install the program.
Before you do anything, please read, understand and only continue if you accept the following sentence/paragraph:
YOU USE THIS SOFTWARE AT YOUR OWN RISK, I AM IN NO WAY RESPONSIBLE FOR ANYTHING THAT HAPPENS TO YOU, YOUR DATA OR YOUR PHONE ARISING FROM THE USE OF THIS SOFTWARE EITHER DIRECTLY OR INDIRECTLY.
1. Before you install this software, please backup your data.
2. Set the GPSID (or "External GPS") configuration in system settings to the correct hardware port. This is important, otherwise the program will not be able to get any GPS data and may not work correctly.
3. Install the attached cab
4. You will need to manually activate the program from the programs folder ("RCAgent (Beta)"). If you wish to remove it, please remember to kill the process/program using task manager before uninstalling.
5. Once installed and activated you might want to switch on the "Monitors". You can activate most of them together by sending an SMS Command "@rc monitors on";
Tip: Send "@rc version" to get the version information or to check whether it's running and responding to commands.
Check post #2 (or here: http://www.mkexchange.com/rcagent-ug) to see how to use all the commands. Remember this is a beta/alpha software so it might have bugs or compatibility issues as i've only tested on two devices.
Update 2011-07-13
Please note, RCAgent.log file is limited to 100mb to prevent it from taking all the space on the external storage card. Once it hits 100MB, it will empty the file automatically to make way for new data. Make sure you backup this file if you want to keep its contents.

The Setup
I'll use my current setup as an example.
I have the program installed on the SPV M700 (HTC P3600 - HTC Trinity) which is connected directly to the car battery. The connection is via a 3way cigarette lighter adapter with a USB port, so there was no need to modify the smartphone; I simpley used the normal mini-usb cable to keep it permanently connected inside the (back) boot of my car (next to the spare wheel).
I've installed one of the stable and "light" version of a custom rom got from the www.xda-developers.com forum.Once the program was installed and the device is set-up for GPS (GPSID configuration) and data connection, it's ready for commands.
On the other side, I have an Android phone which i use to send sms text commands.
Inside RCAgent
The initial idea was to have multiple "Agents" listening on different services; one agent to monitor and respond to SMS commands, another agent for Email commands, another for Twitter status updates, etc. All of these "Agents" would run simultaneously depending on user preference and settings. All commands are held in a single FIFO (First-in-first-out) queue for later processing.
Due to limitations on the platform and time restrictions, i have only managed to complete the SMS Agent and a "Debug Agent", which is basically a visible interface on the device to simulate SMS commands - The "Debug agent" is switched off when the application is deployed (i.e. on "Release" build).
The application also has what i call "Monitors" which actively monitor the battery level, current location, speed, etc. These monitors can be switched on or off individually and will accept parameters to configure its variables.
It also currently uses GPSID (GPS Intermediate Driver) to retrieve the location from the GPS hardware. The platform needs to be configured to use the correct port, otherwise the program wouldnt receive any data.
There are plans to implement an alternative GPS access method using Serial ports but i was having some problems with the SerialPort class in the emulator while testing. In the meantime GPSID is the preferred method for majority of the cases.
GPS signal and location information sent from the chip is not always accurate due to signal noise so the application has some tolerences set. In my tests, the speed was also not accurate - e.g it would claim its moving at 2.6knots while it was idle.
The GPS location is deemed to be valid when it meets two conditions; the Horizontal Dilution of Precision (HDOP) is less than 5.0 and there is a minimum of 4 "fixed" satellites.In addition, Internally the application "buffers" some valid locations before acting on the data, depending on the monitor (some capture 10 locations, some 20, etc). I found this to be the best way to ascertain the current location/condition despite some drawbacks.
Currently, most of the settings are saved in the external storage in an XML file. Only the parameters for the monitors are currently saved to this file, the application does NOT switch on the monitors when the program is restarted/rebooted.
All commands are formatted similar to a console based application.
The replies are sent to the original sender - one instance for each sender. This means multiple alerts can be set for each sender and each sender being able to configure the settings in isolation.
Example: Sender 1 would want to be notified when battery level reaches 40% percent, while Sender 2 may want to be notified when it reaches 20%. Both will be alerted when it reaches the set level.
Monitors and alerts
The following monitors are currently implemented:
Battery Level Monitor (bmon)
Parameters: switch on/off, Alert level in percentage
Default: alert level set to 20%
Alerts the sender when the battery level of the device drops below the alert level. When the device is charged above this level, another message will be sent to indicate this.
Geofence Monitor (gfmon)
Parameters: switch on/off, alert hours, radius in km, latitude and longitude
Default: alert hours set to whole day (00-00), 1km radius, current location
When the monitor is switched on, it will wait for couple of valid GPS Locations so that it can determine the current location and set it as its virtual "fence". The default "fence" is set to the current location at a radius of 1km. When the device moves outside of this fence, the sender (who switched ON this monitor) will receive an alert message. Another alert message will be sent when the device/car comes back inside this fence.
The fence can be set manually by specifying the radius, latitude and longitudal coordinates.
Alert hours - this can be set so that alerts are only sent at a certain time in the day. For example, I would only want to be alerted if the car moves outside the fence between 10pm till 7am (10pm-7am) while i'm sleeping to warn me of theft.
To keep things simple, only hours can be specified (no minutes or seconds). The start and end hours can be specified as 24-hour components, separated by a dash. E.g 21-7 would be 9pm to 7am (the following day).
Movement Monitor (gmmon)
Parameters: switch on/off, alert hours
Default: alert hours set to to whole day.
This generates two alerts (like most of these monitors). One when the vehicle (i.e device) start moving and another when it stops moving. Like the Geofence monitor, the alert hours can be set in the same format.
Speed Monitor (gsmon)
Parameters: switch on/off, speed alert level
Default: 50knots speed alert level
Alerted when speed exceeds the configured level or the default of 50knots ( ~57mph, 92km/h) and another when it falls below this level.
Geo Area Monitor (gamon)
Parameters: switch on/off, radius in km, latitude, longitude, name
Default: None
This monitor is similar to the geofence monitor in its operation but it allows specifying multiple areas. Each area can be registered by specifying the latitude, longitude coordinates, the radius and a human-readable name/label. When the car/device enters one of these areas, it will alert by sending back a message with the current coordinates, along with the information about the area that triggered it.
Example use: I usually get picked up and dropped off from work so I've set one "area" on this monitor to the location of my workplace. When i'm expecting someone to pick me up from work with my car, i will be alerted when the car arrives in the vicinity so that i can start preparing to leave.
Tracks Log Monitor (tracksmon)
Parameteres: switch on/off, log duration
Default: Log for 10 minutes.
This oddly named "Monitor" will generate track/path files saved to the external storage card (currently KML format only). When it is switched on, it will log for the specified number of minutes (10 minutes by default) before automatically switching off and saving the track information to a file.
Phone Call Reboot Monitor (crmon)
Parameters: switch on/off, phone number, number of rings in seconds
Default: Sender's number, 15 seconds of ring
Another oddly named "Monitor" will basically reboot the phone by receiving a phone call. The Monitor will wait until the specified number (sender's number by default) calls and let it ring for set number of seconds (15 seconds by default) before automatically rebooting the device.
The reason for this monitor is; in case the messaging system hangs and is unable to receive any sms text messages/internet/email, the phone may need to be rebooted. In the absence of these services, phone calls usually still work so this was implemented to signal a reboot and hope the device start working again.
The Remote Commands
"@rc" is the prefix for all SMS commands that will be intercepted by the program. Commands and parameters are separated by spaces and are all in lower case.
version - Gets the version of the currently running program
Parameters: None
Example: @rc version
Response: Version of the program.
alarm - Sets the volume to high and plays alarm5.wav from the \Windows directory. Volume level is restored after playback.
Parameters: Repititions (default 3)
Example: @rc alarm 4
Response: N/A. The audio file will be played 4 times.
gp - Get Position - Gets the current location (if available within 5 minutes)
Parameters: "false" to not apply GPS tolerances (i.e a location will be returned even if HDOP is over 5.0 and satellite count is less than 4).
Example: @rc gp false
Response: Current location, even if it's not validated by internal tolerances/rules. Information may be unreliable.
Example 2: @rc gp
Response: Returns a valid location if its available within 5 minutes or a failure message if no valid location is received from the GPS chip.
More parameters will be implemented later, to specify length of timeout and the com port number.
callback - Try to call the senders number automatically. This may be useful if you want to hear whatever's going on in the surrounding area.
Parameters: Phone number
Example: @rc callback
Response: N/A. It will try to dial the number that is specifiedor by default, call the number that sent the command.
reset - Reboot/restart the phone
Parameters: None
Example: @rc reset
Response: N/A. It will force a reboot
exit - Exits out of the program, all monitors switched off.
Parameters: None
Example: @rc exit
Response: N/A. It will switch off all the monitors and exit out of the program.
webupdate - Will download the updater file which will quit the program once an update is available and has been successfully downloaded. Currently, automatic update is only available through my website.
Parameters: None (yet)
Example: @rc webupdate
Response: A text message to indicate whether the updater file was downloaded and executed. Once the updater is active, it will download the latest version of the program and kill the currently running program and restart the new version automatically. Currently, no messages are sent to indicate whether it was able to execute the program. It will, however, add a note in the next response if the app was updated.
monitors - Batch operation on the monitors. Switch all on/off/reset/status/etc.
Parameters: on/off/reset/status
Example: @rc monitors on
Response: It will respond with the monitors that were loaded and switched on.
Note: 2 monitors are currently excluded from this list and will not be switched on. Area Monitor and Tracks Monitor will need to switched on manually - this is by design - which i may change in the future. This behaviour can be changed from within the XML settings file (set "OnByDefault" to true).
msg - Sends a message to the specified number/contact via the device. Will "Echo" by default (message will be sent to the sender).
Parameters: Recipient phone number, message
Example: @rc 07800000000 This is a test
Response: It will send the message "This is a test" to07800000000
Note: If the number is omitted, it will be sent back to the sender.
ftpdl - Debug log sent to the set FTP address (currently fixed).
Parameters: None (yet)
Example: @rc ftpdl
Response: A message will be sent back to indicate success or failure
bmon - Battery Monitor settings and status
Parameters: on/off/status/reset, level
Example: @rc on 10
Response: The monitor will be switched and a message indicating that the alert level was set to 10%
Example 2: @rc status
Response: A message indicating whether the monitor is active and the current alert level
crmon - Call Reboot Monitorsettingsand status
Parameters: on/off/status/reset, phone number, number of rings
Example: @rc on07800000000 10
Response: The monitor will be switched on and monitor all incoming phone calls. Once a call is received from07800000000and rings for 10 seconds, it will force a reboot.
Note: "status" will send a message back with information about its current settings.
gfmon - Geofence Monitorsettingsand status
Parameters: on/off/status/reset, alert hours (default: whole day)/radius in km, latitude, longitude
Example: @rc gfmon on 0.5 55.12345 -2.12345
Response: This will switch on the monitor, set the latitude (55.12345), longitude (-2.12345)and radius (0.5km or 500 metres) of the virtual "fence". A Message will be sent back to indicate this new information.
Example 2: @rc gfmon reset
Response: A message sent back to indicate settings were set to defaults and a new virtual "fence" will be set once a valid location has been determined (with the default radius of 1km).
Example 3: @rc gfmon on 21-3
Response: It will set the alert hours of 9pm to 3am (the following day). Alerts will be generated if they happen between these times.
gmmon - Geo Movement Monitor settingsand status
Parameters: on/off/status/reset, alert hours (default: whole day)
Example: @rc gmmon on 9-17
Respone: Monitor switched on with alert hours set to 9am to 5pm.
gsmon - Geo Speed Monitor settingsand status
Parameters: on/off/status/reset, speed limit/level in knots
Example: @rc gsmon on 60.8
Response: Monitor switched on, with speed alert set for 60.8 knots (or 70mph).
gamon - Geo Area Monitor Settingsand status
Parameters: on/off/status/reset, radius in km, latitude, longitude, name/label
Example: @rc gamon on 0.556.12345 -3.12345 Some random location
Response: A new alert area (with latitude of56.12345, longitude of-3.12345, radius 500 metres and the label "Some random location")will be added to the list. When the device enters the area, it will send a message with the area information and the current location (along with the distance) and another message when it leaves the area.
Note: "@rc gamon status" switch will send a message back with the list of registered areas.
trackmon - Track Monitor settingsand status
Parameters: on/off/status/reset, max minutes for log
Example: @rc on 20
Response: The monitor will be switched on and will try to capture locations for 20 minutes. The track file (currently KML format) will be saved in the external storage with the current time and date as the filename. The file can be uploaded with the "upsdfile" ("listsd" will list the file names) command below (Warning: it will currently only upload files to my website). This KML file can be imported into Google Earth to plot the path.
cmd - Special sub-commands - cmd by itself without any parameters will return a list of available commands
cmd uptime - gets the uptime of the currently running process (RCAgent)
cmd deldl - Deletes Debug Log file
cmd dloff - Debug Log switched off - no data written to file
cmd dlon - Debug Log switched on
cmd ction / ctioff - Switches on/off cell tower information in every message
cmd listsd - List SD - Lists the files in the root of the storage card and their size - Warning: might be a long list.
cmd ftpsdfile - FTP SD File - Sends the specified file to the set ftp (currently, it will only upload to my ftp)
cmd upsdfile - Upload SD File - Uploads the specified file to the set website address (currently, it will only upload to my website)
cmd updl - Upload Debug Log - Uploads the Debug Log file to the set website address (currently, a folder on my website)
cmd help - A lengthy description of each command.
* For Monitors: "on" and "off" options will switch on/start and off/stop the monitors, respectively. The "Status" option will indicate the current status and settings. And finally, the "Reset" option will set all the settings of the monitor back to its defaults values.
** For sanity, long messages are truncated to a maximum of 5 messages (160 characters x 5).

I can take this for a test drive.
My device is a Touch Pro 2 on Verizon network (CDMA). Get pretty good GPS. Also have 16gb SD card so should be able to write the debug log files as you are looking for.
Let me know.
Thanks.

i'll try on hd mini...

Thanks guys.
Hope you realise this software has no visible interface? You will need another phone to send the messages.
I'm compiling a little user guide over the next few days so you'll be able to use it. I've put it on my website for now (don't worry, its a personal site, no ads or anything) so i can update it from anywhere. Once complete, i'll probably paste it all here.
Stay tuned!

Okay guys, i've updated everything here.
Please give me your feedback.
Remember to use a good (preferably unlimited) SMS/text/data plan for this so it doesn't bankrupt you!

For testing purposes you may want to consider allowing interaction on the app-installed phone. I dont have a second phone.
tq

I was debating whether to keep the "Debug Agent" active and thought it would be pointless for the purpose of this app ("remote control...") and may not be useful for real-life [beta] testing.
But, you can send the commands to your own number and use it that way.

mk27 said:
I was debating whether to keep the "Debug Agent" active and thought it would be pointless for the purpose of this app ("remote control...") and may not be useful for real-life [beta] testing.
But, you can send the commands to your own number and use it that way.
Click to expand...
Click to collapse
I'll try that out & revert.
Thanks

Well guys, do you have any feedback for me?

I'm instal and testing
RCAgent 1.0.4210.39687
HTC s740 ROM 1.12.402.0 10/25/08
Radio 0.24.30.24

Don't work.
I can not set the GPS COM port.

The program uses GPSID.
In system settings, there should be an icon for "External GPS" (or GPS Settings, or might be something else depending on the firmware). You can set the port using that.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}

don't work

I've attached the GPSID settings program. Use that to set the hardware port and select "Manage automatically".

I used this program, but it still does not work.
I checked all configurations.
The problem is that except for the GPS receiver does not turn on. Neither nor GPSID RCAgent not start the GPS receiver.
Programs Navigation (maps) work very well.

dr_Henio said:
I used this program, but it still does not work.
I checked all configurations.
The problem is that except for the GPS receiver does not turn on. Neither nor GPSID RCAgent not start the GPS receiver.
Programs Navigation (maps) work very well.
Click to expand...
Click to collapse
Interesting. Are you willing to send me the RCAgent.log file for me to analyse?

I change the phone. Now working.
Can you add to the sms link to a map with GPS/CELLID coordinates?

Using it. Loving it.
Hi mk27,
I am using RCAgent in in LG-GM750 WM6.5 in my car since 25th March 2012 and loving it. However I would be interested to know if you are still working on it. I would love to see updates, gprs and more functionality added. It seems to respond quite well through SMS so definitely working. Today I texted me that the car was moving over the 50knots speed limit and then again that it was under the speed limit.
It would be good to see an email being sent, or location updates on a map. May be as someone suggested, the sms could be in a google maps format.
Are you planning to make it open source at all?

Related

Removing Exchange Direct Push Device Security Policy

I had been searching all over for this solution, and was not able to find anything to remove the policy our exchange admins put on my device upon syncing which required a strong password to unlock the device after only 30 minutes of inactivity.
After some digging and trial and error I came up with a solution...
Here is how to remove and/or modify the policy that is pushed down from the server:
using a device registry editor (remote, or PHM) modify the following key(s)
The Exchange Security Policy (4131) updates the device policy:
HKLM\Security\Policies\00001023: 0 = Enabled; 1 = Disabled
To change the inactivity timer:
HKLM\Comm\Security\Policy\LASSD\AE\{50C13377-C66D-400C-889E-C316FC4AB374}\
AEFrequencyType: 0 = No inactivity time; 1 = Activity time enable
AEFrequencyValue: = number of minutes before timeout
To change the password strength policy:
HKLM\Comm\Security\Policy\LASSD\LAP\lap_pw\
MinimumPasswordLength: minimum number of characters in password (0 defaults to 1)
PasswordComplexity: 0 = Require Alphanumeric; 1 = Require numeric (PIN); 2 = No restriction
And finally to change the Device wipe settings:
HKLM\Comm\Security\Policy\LASSD\
DeviceWipeThreshold: -1 = disabled; (any positive number) = # failed attempts before device memory gets whacked
CodewordFrequency: # of attempts before a codeword is displayed to prevent accidental device wipe.
From what I've seen, the exchange server only pushes the policy down once, unless the exchange admin updates the policy, in which case you'd have to reset the registry entries.
Enjoy!
Thank you! So far, so good on my WM6 Wizard ROM. I've been trying to convince our network admin that this was a stupid policy, and now I don't have to
You totally saved me from wiping my TyTN and reinstalling from scratch.
Thank you!!!
cptcoconut said:
Thank you! So far, so good on my WM6 Wizard ROM. I've been trying to convince our network admin that this was a stupid policy, and now I don't have to
Click to expand...
Click to collapse
The reason this is NOT a stupid policy is the fact that you are required to configure a policy such as this on the mobile devices in order to be able to implement the remote wipe capabilities of Exchange SP2 and windows Mobile 5.0.
Without this policy in place if someone steals your phone they will still have access to all of your data and email on the phone from the time they steal it. With this policy in place once you inform your Admins that your phone was stolen they can implement the remote wipe and within a few minutes your phone has been set back to factory defaults and all Company data has been removed.
There is generally a reason behind security policies.
The policy is not stupid. However, it's implementation can be a pain. You can enforce the policy and have remote wipe ability without requiring the password every x minutes/hours.
Timeout settings with Remote Wipe
Great work, Coderuckus...
Are there any registry tools out there to automate these sorts of "hacks"?? Sounds like a good addition to a commercial tool like PocketMecahnic?
Ideally having an "Advanced Mode" to allow for more granular settings changes would be ideal... (eg allow Bitwipe etc, but during business hours, allow the user to extend or snooze the auto-timeout)..
Anyone fancy writing the app? (We'd have a stack of customers for you!)...
Cheers
Andy
www.pressdigital.com.au
Press Digital Australia Support Team
(Australia's PDA People).
Take care! coderuckus registry tweaks work well, but the manual changes are overwritten by the exchange server every 24 hours or so, which requires you to change the registry again and again. An automated solution which works very well (at least with my Trinity WM5) you can find in this post http://forum.xda-developers.com/showthread.php?t=279073&highlight=zenyee
When I make these changes to the registry I am still prompted to enter the password.
When I go to the lock settings screen I can then disable the password.
Is there anyway around this??
I had nearly forgotten about this until yesterday when our exchange admin was messing around with the policy and forced an update which made my pocketpc go haywire. It looks like some good work has been done with the automated utility to auto-disable the password policy, if our admins decide to force policy updates more frequently I may have to try out that app. I'd rather not have to keep yet another program in memory though. It seems the only relevant setting would be setting policy 1023's value to 1, the rest can be reset using the "Lock" settings after the policy reset.
If the exchangeserver is set to re-enforce policies on every connect, you'll need an app that monitors and resets the key when necessary, like :
http://blogs.microsoft.co.il/files/folders/tamir/entry46249.aspx
(I found this to work better then the Zenyee tool, that turned my Touch HD into nothing more then an expensive brick.)
kkoenen said:
If the exchangeserver is set to re-enforce policies on every connect, you'll need an app that monitors and resets the key when necessary, like :
http://blogs.microsoft.co.il/files/folders/tamir/entry46249.aspx
(I found this to work better then the Zenyee tool, that turned my Touch HD into nothing more then an expensive brick.)
Click to expand...
Click to collapse
can you give more information on why the Stayunlock brick your Touch HD?
it's just a small program that monitors the exchange server security policy enforce activity, it shouldn't hang unless your office intrduce a program to be installed that always enforce the policy everything it's being undone, inwhich case it'll no doubt result into a 'hang' situation.
What about Zen on WM6.5? It's crucial application for me.
Best regard,
MCC
mcc666 said:
What about Zen on WM6.5? It's crucial application for me.
Best regard,
MCC
Click to expand...
Click to collapse
Have you had any luck with WM 6.5?
thanks and its stays after 24hrs
Thanks you for your effort.
i'am ok with them having the power to wipe my phone and all but when i dont want to use mobile email all the time, but only update it when i want its stupid to have it on.
my exchange server password is much stronger than the "minimum of 4 numbers" pin ****.
I was looking for more info about the security setting on my phone, when I found this in the Microsoft library:
It gives a detailed explanation of the LASS Registry Settings
LASS is short for Local Authentication Subsystem
Here a copy from the most interresting settings:
Exponential Backoff Registry Settings
The HKEY_LOCAL_MACHINE\Comm\Security\LASSD registry key is used to enable the LASS exponential backoff mechanism. This mechanism is designed to deter brute force attacks that rapidly try several authentications on a LAP by introducing an exponentially increasing time delay between unsuccessful consecutive attempts of the VerifyUser call to a LAP.
The time delay or lockout time is calculated by using the following expression:
Copy
(InitialPenalty + (2^(Number of failures above Threshold)) * IncrementalPenalty)
The following table shows the named values.
InitialPenalty (REG_DWORD): Time, in seconds, for the initial penalty. Default value is 0.
Treshold (REG_DWORD): The number of failures before the exponential backoff mechanism is activated. Default value is 0. This indicates that exponential backoff is disabled.
IncrementalPenalty (REG_DWORD): Time, in seconds, of the multiplier for the exponent. Default value is 0, indicating that there is no delay beyond the value set for InitialPenalty.
LAP Codeword and Device Wipe Registry Settings
The HKEY_LOCAL_MACHINE\Comm\Security\LASSD registry key is used to configure the LASS settings for codeword functionality and the threshold for device wipes. After a number of failed password attempts, defined by the CodeWordFrequency setting, the device completely locks up and prompts the user to enter a displayed codeword to unlock it again. The purpose of the codeword prompt is to be sure that the incorrect password attempts are not the result of accidental key presses. After entering the displayed codeword, the user is then able to make more password attempts. Once the device wipe threshold is reached, the device wipes the memory, including all data and certificates.
Note:
Do not implement a code word that includes Double Byte Character Set (DBCS) characters. While the CodeWord registry node will accept DBCS characters, users cannot enter DBCS characters on a device.
The following table shows the named values.
CodeWordFrequency (REG_DWORD): The number of times an incorrect password can be entered before a displayed codeword must be entered to continue. This is to prevent accidental password entry resulting in a local device wipe.
If the registry key either does not exist or is set to 4294967295 (0xFFFFFFFF), this policy is not enforced.
CodeWord (REG_SZ): Codeword that the user will be requested to type.
DeviceWipeThreshold (REG_DWORD): The number of authentication failures before the device will be wiped. A value of 0 disables device wipe functionality.
LAP Password Settings
The length and type of a password can be enforced on the Microsoft Default LAP using the MinimumPasswordLength and PasswordComplexity settings under the HKEY_LOCAL_MACHINE\Comm\Security\LASSD\LAP\lap_pw registry key. These settings will only be enforced if PasswordNotRequired is set to zero (0).
In the following example, the minimum length of the password is set to 9 characters and the complexity is set so that a strong password is required.
Copy
[HKEY_LOCAL_MACHINE\Comm\Security\LASSD\LAP]
"MinimumPasswordLength"="9"
"PasswordComplexity"="0"
The following table shows the settings and values.
MinimumPasswordLength (REG_DWORD): Sets the minimum device password length the user can enter. The length is measured in characters and can be set to any number less than or equal to the maximum number of characters allowed. Entering zero (0) for MinimumPasswordLength results in the default setting of 1.
Note: Using Wireless Access Protocol (WAP) allows for password lengths from 1 to 256 characters. However, setting this parameter with the Exchange Security Manager limits you to a minimum of 4 and a maximum of 18 characters. This value works in conjunction with security policy 4131, which when set to zero (0) indicates that password enforcement is required on the device. If password enforcement is not required, the value of MinimumPasswordLength is ignored.
PasswordComplexity (REG_DWORD): Sets the complexity of the Device Password.
The following list shows the possible values:
Zero (0) indicates that a strong password is required. 1 indicates that a numeric pin is required. Any other value indicates that a numeric or alphanumeric password can be used
Setting this parameter with the Exchange Security Manager results in a setting of zero (0) or 2. It is not possible to set this parameter to 1 using the Exchange Security Manager.
AE Registry Settings
To install a new authentication event (AE), create a subkey with the GUID of the AE under the HKEY_LOCAL_MACHINE\Comm\Security\LASSD\AE registry key. For examples, see Installing an AE.
The following table shows the named values.
FriendlyName (REG_SZ): String that indicates to the user what the AE represents.
DisplayText(REG_SZ): String that indicates the name of the application that is verifying the user in a call to VerifyUser.
AEFrequencyType (REG_DWORD): Type of frequency policy used to control an AE. It can be any one of the following values, and AEFrequencyValue is interpreted differently based on each value:
0: User authentication occurs at the frequency specified by AEFrequencyValue.
2: AEFrequencyValue represents the number of minutes since any AE returned from VerifyUser successfully.
3: AEFrequencyValue represents the number of minutes since the specified AE returned from VerifyUser sucessfully
AEFrequencyValue (REG_DWORD): Value indicating how often user authentication will occur. The interpretation of AEFrequencyValue depends on the value of AEFrequencyType. For more information about how AEFrequencyType and AEFrequencyValue are related, see Setting an AE Policy.
When AEFrequencyType is set to 0, AEFrequencyValue has the following special cases:
0: Call LAP every time VerifyUser is called.
0xFFFFFFFF : Never call into LAP.
N: Call into LAP every N-1 time(s) that VerifyUser is called.
Authentication Reset Settings
The Authentication Reset Settings determine whether a device can be reset by RemoteWipe. The messages displayed to users can be customized for authentication reset in the default Local Authentication Plug-in (LAP). All keys listed in the table are located in the path HKEY_LOCAL_MACHINE\Comm\Policy\LASSD\AuthReset.
AuthenticationReset (REG_DWORD): Specifies whether or not to allow authentication reset on the device. If this setting is enabled, the Reset Password option appears in the password menu.
0: Authentication Reset is disabled.
1: Authentication Reset is enabled.
RequestMessage (REG_SZ): This message is displayed to the user before the reset process begins. If no message is specified, a default message is displayed.
RequestSuccessMessage (REG_SZ): This message is displayed if the reset process completes successfully. If no message is specified, a default message is displayed.
RequestFailureMessage (REG_SZ): This message is displayed if the reset process fails. If no message is specified, a default message is displayed.
RecoveryMessage (REG_SZ): This message is displayed in the Recovery PIN entry dialog. If no message is specified, a default message is displayed.
RecoveryPhone (REG_SZ): This is a secondary string to be displayed following the recovery message.
Exchange Management Console
I know this is an old thread, but it might help anybody searching. I've just had a similar issue on Exchange 2010.
In the Exchange Management Console > Organization Configuration > Client Access select the Exchange ActiveSync Mailbox Policies. You can either remove the password requirement, or change it in the Default Policy. Alternatively you can create a new policy, then under Recipients Configuration > Mail Box, you can select the user properties, and then choose the Mailbox Features tab. Select Exchange ActiveSync and properties. You can then apply another policy. We have the default then a special one for those who request it.
One important thing, on our installation the default refresh in the policy was not set. We changed this to push out the change of "no password required" for some devices.
I hope this saves somebody some time!

Email HELP... PLEASE.

I'm gonna fire this thing out the door at 100mph soon..
Thanks for looking.
First off, I'm coming from a CrackBerry, which worked, not that it matters.
I have tried several roms, double checked all my settings etc .. but still not functioning properly.
I have a tilt2 (running on Bell Network (Canada)) and I like the unit, but need to perform as follows:
1,) Email,auto connect every 15mins or so, even if unit is a sleep in my pocket.
2.) NOTIFY me when an EMAIL comes in with a Buzz, ding/ring and screen Icon.
3.) Go WIFI first to check, then go G if wifi not connected. check mail
4.) THEN DISCONNECT It. period
I've tried 6 different roms and they all seem to behave different, some won't auto disconnect, some don't notify me till hours later, most don't auto Check every 15min as it is set to. (I'm not blaming the rom,.. but everyone seems to be different .. yet the same)
I'm at my wits end,
stupid comments about check this/ check that comments are WELCOME as it is probably something I'm doing not the device. (I consider myself 'puter savy but this sucker is winning.)
PS: Any roms with Transcriber working ?
Regards
HTCgonnagetTRASHED
1. What is the method of email retrieval? Microsoft Exchange? POP3/IMAP4? or WindowsLive mail (Hotmail)?
If Microsoft Exchange,
Open Activesync
Tap Menu -> Schedule
Set schedule accordingly
If POP3 or IMAP4,
Open the Messaging application.
Go into Options. (If at Account Picker, tap Menu->Options. If already in an account's inbox, tap Menu->Tools->Options.)
Tap "Send/Receive Schedule"
Set schedule accordingly
If Windows Live or Hotmail,
Open Windows Live
Tap Menu->Options
Tap "Sync schedule"
Set schedule accordingly
2. Go to Settings->Personal tab->Sounds&Notifications->Notifications tab. In the dropdown menu for "Event", select "Messaging: New e-mail message" and adjust accordingly.
3. Your device should always prioritize your wifi connection ahead of your cellular connection by default. But note that your device's wifi is inactive when in suspended mode unless you applied a registry edit. But also note that if you keep you wifi active all the time, you battery life will suffer.
4. There's nothing you need to do here. After your device finishes polling for mail and there's no other application using your connection, there's no data activity. You really shouldn't be concerned with disconnecting unless your carrier charges you by the hour.

[PRJ] XDA_Sync

Hello fellow XDA members,
Last week I flashed my favorite ROM to it's newest version again and once again I had to put some settings right and all. Now, this is nothing new and you can let the process be done for you with tools already availabe. However, I'm not pleased with the options given by the different apps to be set!
Synchronizing different data is one of the most important features on any smartphone at the moment in my opinion. Some you like to do manually, but lots of them you just let go on schedule. This is where my problem popped up. Quick searching didn't give any results, so I decided to start this tread. Example of a problem: you have to set every app to roaming or not and give them a refresh rate.
My idea/project I would like to start is making an app that has the following features:
setting up syncing schedules with the following options:
selecting days on which it syncs
timespan for synchronisation
refresh rate
roaming/no roaming
toggle list for assigning installed syncable programs fast and easy
assigning apps to different schedules
menu item for a list of schedules (with a subtext which programs follow and list of programs (with a subtext which schedule they follow)
Manila styled menus for known user interface
detection of different already syncing apps or syncable apps on the phone (adding them to the program list but not importing schedules since those would spam the list)
menu option to stop all syncing so everything is manual (useful when roaming but wanting to sync on demand)
import/export settings and automatic importing settings from the XDA_UC folder on install
making internet connection on sync and if it was off before turning it off after sync (don't know if some apps do this already, but then the turning off has to wait until the end of all synchronization)
option to show pop-up on sync fail with an option to retry in a given time or automatic retry time
I had some more features in mind but they fail to pop up right now.
What this solves:
schedules all crossing eachother which makes your phone connecting to and disconnecting from the internet all day (some have 3h option, some 4h)
unnessecary syncs, for example during your sleep
hopefully more options for selecting sync times (like with the FB-tab which can't go higher than 99)
one menu serving all the main apps on your phone
if importing settings on install works: no need to set everything up again, never!
There's only one big problem:
I'm not a developer and have no idea of any coding for WM devices at all. I do have some basic insight in structures and can help searching for entries and locations of different settings/manual sync triggers, but not much more than that. I'd like to see how this works during the project if there are others out there who like this app and a developer to take the big job!
Coding challenges I expect:
I think it has to set the apps assigned to a schedule to "manual" in the offical app/tab and has to trigger the manual synchronisation when schedule starts. If we really get into the core of other apps too: we could add the option "XDA_Sync schedule" to the drop down menus which pops up a schedule selector for the app. This way you could enable the automatic sync in the tab and the "roaming" item should be grayed out because that's fixed in the XDA_Sync schedule.
Locating all syncing.
Different devices (I have a Touch Pro2)
So: Good idea?
And: Any developer willing to take the challenge?
P.S. Not sure if I'm allowed to use the "XDA" part in the name, thread name could then be changed to "Cell_Sync" or something similar.

[Q] Internet connection popups

Hello
I have HTC Touch Pro2 rhodium with Windows. I have some applications frequently connecting to internet, e. g. email, weather etc. Now problem is, that I traveled abroad, where I don't have data tarif. So I disabled internet connection, but all apps are still trying to connect. As result, approximately every minute phone beep with popup screen "cannot connect" and backlite is turned on.
This behaviour
a) reduces batery life to less than eight hours from previous 1-2 days due to active backlite.
b) is making normal work with phone quite annoying as I must every moment click on some popup.
So my question is. Is it possible to somehow supress this popup?
(I don't want to hear advices about disabling automatic connecting in every single app
Thank you
No way the question could be answered comprehensively not knowing all your apps, but at least for the generic ones like Weather, Location, etc., as you noted there are check boxes that can disable the attempt-to-connect if you are in roaming state. If you don't want to do this manually, it would not be that hard to build a .REG file that includes the settings to turn this off, and either import the reg file into a reg editor or convert the reg file to a cab file you can just click on and run. In the past I have found those reg file settings documented in these forums if you want to go that route.

[APP][FREE][ANDROID] I'm OK, I'm here (geolocation app)

Short description
Link to the google store: https://play.google.com/store/apps/details?id=com.tim4dev.imokhere
Watching the location of the device.
The application allows you to track the location of Android devices (and their owners).
It can be: your's children, elderly relatives, friends, yourself.
The application must be installed on the device "observed" and "observers".
This is a MVP (minimum viable product).
Important: this is not a GPS tracker. Data is transmitted much less often and the data source is not just GPS.
Differences from competitors
Anonymous,
save battery,
free of charge,
no advertising,
no in-app purchases.
Requirements
Android 4.1 "Jelly Bean: (API level 16) and higher.
The "observable" device should be able to determine its location and have access to the Internet.
The "observer" device must have access to the Internet.
How it works
The user who installed the application can be either "observed" or "observer", possibly simultaneously.
In order to become "observable" you need to start the location service in the "I'm watched" menu, and allow the application to access the location and access to the Internet.
In this case, the "observed" will be assigned a certain identifier and data about its location will be periodically sent to the remote server (see privacy policy).
Important: You should not disclose your identifier to third parties.
When you exit the application or reboot the device, the service continues to run in the background. Stop the data transfer service through the same menu or by uninstall the application.
In order to become an "observer" you must obtain the identifier of the "observed". On the "watched" device in the "I'm watched" menu, send your ID to the "observer". After receiving the identifier, the "observer" through the "I'm watching" menu can receive data about the location of the "observed" and see it on the Google map. "Observed" can pass its identifier to several "observers".
"Observer" can receive data from few devices.
Screenshots
See attachments.
Privacy policy
The application does not start up on its own. You must start and configure the application yourself. You can uninstall the app at any time.
The application provides complete anonymity. Registration is not required.
A remote database stores an temporary anonymous identifier that is not associated with you personally, with your particular device, or with your phone number. Data that is transmitted and stored in a remote database is location data and some other data: longitude, latitude, time; If available: accuracy, altitude, speed, bearing, battery charge.
Only the last xx records are stored in the remote database (this restriction may be changed). No data is provided to third parties.
If you reinstall the application, you will be assigned a new anonymous identifier and link with all the old data will be lost.
The application does not hide the fact of its work. The application does not have any other hidden features, except those described here.
Usage limits
The last xx locations are remembered (this restriction may be changed).
https://firebase.google.com/pricing/
https://developers.google.com/maps/pricing-and-plans
https://developers.google.com/maps/documentation/geocoding/usage-limits
Firebase, simultaneous connections : 100.
Geocoding API : 2,500 free requests per day.
For beta testers
To become a member of the open beta-testers team, join the Google group (mailing list)
[email protected]
https://groups.google.com/d/forum/en-imokhere

Categories

Resources