Related
XDA-dev guys, We need help.
Ok, We have right now, a Kitchen working with a couple of cool enhancements, we have acomplished to install, from the kitchen, some commercial programs, like Resco Explorer 2003, SPB Pocket Plus, and others. And we want to make this kitchen available to the public, so everyone can download their custom ROMS with these cool programs, but of course, for legal purposes, we can't just post them like that, already registered versions of programs.
We have an idea, basically what we want is a the text field provided under each program, (kind of the same as thing as the "NBF header string" that is at the bottom of the regular kitchen). This text entry would be each user's own serial (entered by the user). This would create a registry entry file which will put the fields in and then merge it into the rom, in that way the user would be able to use the programs and would not have to worry about the Serials anymore.\
In short, A text field in the webpage, under each program choice, so the user can enter his/her own serial number. With this text, it will generate a registry entry automaticly in the ROM generator, so The program is registered from the ROM, and the user is free to use its own program directly from the ROM
We have the progs working fine from the ROM, but we are using our own serials, we want each user to enter its own, so everyone is happy, and we don't get in trouble giving away software that is not ours for free.
Any help would be appreciated.
So what exactly do you need help with?
i'm a webdesigner with knowledge of php so maybe i can be of asistance.
Rico
exactly what I want is how to create a text field where people can enter their serial and this entry will generate a registry file that will go to the creation of the ROM, and to register the programs installed.
Sounds like you need a form with multiple text-fields targeting a page where these textfields are converted to registry entries.
maybe we could mns about this. that would probably speed things up.
or mail me @ [email protected]
Rico
The textbox feature in the current kitchen can put the literal typed string anywhere in the registry. Have you looked at how it works?
If you need more, you could write some php to do that. You'd still need permission to distribute the included programs though. Easy way to get this permission is to become a point of sale: you would point people to the place to buy it if they did not already have a serial. Could even make you some money through these affiliate programs.
Thanks guys. kenofalte, i might need ur help with php. I'm not a good programmer. I'll try to do it myself but in case i get lost.
alex
Most SPB and Resco programs come with the Trial versions that you can use for 14 days etc. that can later have a registration code entered... can't you setup your custom kitchen ROM with these different Trial versions instead and then whoever burns their own ROM can pick and choose what they want, burn it, and when setup and finished, they can enter their own code then? Just a curiousity. I am not sure about the permission to distribute the programs then? Either way, just a thought.
Regards,
mS
that's another option. i just wanted to make it so that they can register it during the "cooking" process. otherwise everytime they do a hard reset they have to re-register the product.
alex
Alex
just mail or msn me at the previous mentioned e-mail.
We will make it work.
Rico
I have been searching the web for years trying to find the solution to what I would consider is a very simple requirement:
From Outlook on the PC, right click on a contact and dial to a connected Pocket PC via Activesync.
Now, either I am alone in this world, or my search capabilities are flawed. This is a function/capability I used to have with my old Sony-Ericsson & I am missing it badly - yes, I know there is a Powertool that provides you with a "window" to your PPC, but I have found that this is somewhat flakey, doesnt like Landscape mode and frequenly freezes the PPC.
Further, I have enhanced my Access application to perform the dialup via the CPROG.exe, what I am after is the same or similar functionality direct from Outlook... please help!
Is there anyone out there that can help me?
looking for the same
it seems we both live in the same world
Come on guys, are you really telling me there isn't anything out there at all?
err so remind me why one would want to do this other than to write some annoying dialer program?
OK, rather simple, really:
Working from Desktop PC, with PPC connected via ActiveSync and sitting in a cradle - by definition, this makes it a pain to access the PPC.
Current Scenario:
1. PC has Outlook open, search for a contact that you wish to converse with
2. Open Contact
3. Look at number
4. Lean over desk, usually spilling coffee, or unintentionally moving to another website
5. Try to use Stylus to dial number (or use Intellidialer to access the same contact you have in Outlook)
6. Make call
7. Hope you have put in the right number
8. Call goes to voicemail, throw phone against wall
All in all, a rather cumbersome scenario.
Preferred Scenario:
1. PC has Outlook open, search for a contact that you wish to converse with
2. Open Contact, or right click on Contact
3. Select number to dial
4. "Magical programme" sends dial request to PPC
5. Make call
6. Call answered, sale made, kids go to expensive Private School and Wife loves you forever
Makes sense now?
yep so get one of those programs to control your phone from the desktop?
sure its not what you really want to do but it will do the job
st3v3 said:
yep so get one of those programs to control your phone from the desktop?
sure its not what you really want to do but it will do the job
Click to expand...
Click to collapse
Did you ever read his first post?
yeah for about 4 or 5 seconds, gave pity and responded for the simple fact no one else did and thought i would show some interest.
at least some of us make an attempt eh helterskelter
Thanks for your pity, but I would prefer to know what, if anything, is out there. Obviously, I was mistaken in believing this was the font of all wisdom and exciting development in the PPC world. I truly cant believe that nobody has thought to put this together. Funnily enough, there is one that does this via Bluetooth, but as the XDA Mini wont allow multiple Bluetooth connections, I have been "forced" to find out if there is anyone clever enough to make this happen :sigh:
Hi!
I miss this funtion in windows mobile. This is the only reason why I consider to go back to my old Ericsson.
A little bit strange that it works with other software but not with Microsofts own?
Using .net you might be able to write an app (server) that listens on an open port on the PPC for coms from the active sync pc. When a certial string is sent down this port DIAL(123456789) the app calls the dial command in .net framework.
Maby its time to bite the bullet and code it.
Im having to with another app
No need for a PPC app, as you can already do this from the desktop - using:
rapistart.exe "cprog.exe -n -url tel:numbertocall"
from within any ap. I have done this from my Access program, I was looking to see if anyone had done this for Outlook as a plugin for the Desktop, or indeed some form of TSR on the PC that will take a hotkey and use the above for a highlighted number (yes, I know that I am now officially in fairyland).
mlk said:
No need for a PPC app, as you can already do this from the desktop - using:
rapistart.exe "cprog.exe -n -url tel:numbertocall"
from within any ap. I have done this from my Access program, I was looking to see if anyone had done this for Outlook as a plugin for the Desktop, or indeed some form of TSR on the PC that will take a hotkey and use the above for a highlighted number (yes, I know that I am now officially in fairyland).
Click to expand...
Click to collapse
Nope this can then be done using windows scripting host cause its the outlook that you need to automate not he PPC.
See the 3rd item on this page.
http://www.cooperstown.net/tips/outlook-address.html
It should be able to help you out just make a custom toolbar button in outlook to call this piece of code and your away laughing.
EDIT:
Where did you fiind the info on cprog. Is there any way it could help with this
Unfortunately, I cant remember where I found the information on Cprog - only thing I have is the "How to call a number".. tried for some time to find various parameters to no avail... not too sure if this will help with your problem.
OK Guys, I finally bit the bullet - thanks Shaun for the "hint" - and coded a Macro to perform this.
It may be a bit clunky and as a "non-developer" I don't have the requisite nous nor software to distribute this as a plugin. For this reason, I have provided this as completely open (as far as I can tell), so if anyone wants to take this further, I hope I have started you on the track and that you wont forget the initial starter!
For those of you that wish to install - you will need to access your \Documents and Settings\<username>\Application Data\Microsoft\Outlook folder and extract the zipped file. My recommendation is that you save the existing one first, just in case you have written a bunch of Macros - wouldn't want to get any nasty surprises here - remember, Outlook only has one Macro bucket and this file is it!
Once you have installed and either provided your own Digital Certificate, or have an appropriate level Security within Outlook to allow this to run, simply add the Macro "Dial2PPC.Dialit" to a toolbar both in Outlook (that comes up in Contacts preferably) and in the Contact Form itself (use "Customise" as you would in any other Office application to facilitate this).
From here, it is as simple as selecting the Contact from your contact list and clicking on the Macro button you have setup - then follow the instructions, make sure your PPC is connected & Dial away!
Please note that you will need to have installed RapiStart from the Windows Mobile Power Toys and that I make no assertions that this is bug free, so use wisely - although, I am pretty sure I have most of the bugs out.
Again, this is provided open & free, so if you make an enhancement, please share it with the rest of us!
Hope this solves the "issue" for you guys as it has done for me!
DialViaActiveSync
mlk – thanks very much for your macro. I’ve taken the liberty of rewriting quite a bit of it (everything other than the part which communicates with the device, really), and have made it available under the GPL v2.0, in order to preserve its “Free” status.
In terms of changes, as I say, I’ve rewritten most of the back-end functionality. In particular:
1.) Adding items to the listbox – this now only shows fields which have a valid phone number, so there are no empty spaces
2.) Dynamic resizing of the form
3.) Form and “Dial” button captions show the name of the contact
4.) Where a contact has no valid phone number, a dialogue to this effect is shown
5.) You need to select number from the listbox before the “Dial” button is available
6.) You can double-click on a number in the listbox to dial it
7.) General tidy-up of some of the variable names, and removed a couple of unused variables
Installing my version:
I’ve exported the relevant files from the Project, so there is no need to overwrite the existing Project file – just open Visual Basic Editor (Tools / Macro in Outlook) and select “Import” and the browse to the relevant folder.
I'm a lurker rather than a poster on here, but, any questions, please do let me know.
Cheers,
Neil
Administrator
WindowsMobile247.com
[email protected]
Neil,
Champion stuff mate - I have always said it is best to wait for Version 2! Just one question: The ".frx" file, what is that for?
Mark.
It's the binary file for the VB .frm - it's not something you manually import, but it's necessary for the display of the form.
BTW- I've changed the contents of the .zip file for download- realised that I'd left in a line (an extra ResetState call) which stopped the whole thing from working - new version uploaded (same name) should be fine.
Cheers,
Neil
Administrator
WindowsMobile247.com
[email protected]
Thanks for this, maybe should change my mantra to: Wait for V2.1?
P.S. Thanks for coming out of the lurk!
Nah- v2 was fine... if I hadn't been meddling with it...
Managed to put the reset call before the RAPI argument, which, of course, wiped out the phone number it was trying to dial... Stupid, stupid, stupid -embarrassing, but at least easy to fix.
I guess that the next step is to try and implement SMS via ActiveSync - not sure if cprog.exe handles this, though, so it could be rather more complicated...
I'm been working on this for a little bit now since I found all the existing apps don't work well in WM6 or don't work well in a custom rom. This is a open source program (as all of mine are) and I welcome help/donations/and comments. Bug reports will be helpful in this first release as I certainly consider this a alpha release at the moment.
What it does:
once setup at every boot it compares your IMSI number with the one stored, if it's a match it plays a little sound and that's it. If it's not a match, it locks the device and displays your email and a request to please get it back to you. It also send you the "new sim's" imsi and phone number via a SMS.
------------------------------
SecurIt 1.1 (BETA) by Shadowmite
------------------------------
TODO: Build in SMS rule filtering thus adding remote control
Lock out activesync connections?
Protect the datafile from being deleted, or keep a backup in registry.
NOTE: THIS DOES NOT WORK WITH CDMA PHONES!
Version 1 (BETA) Instructions:
This security applicatioon can run loaded normally via a cab file to your device, or via being cooked into a rom. It will require your phone able to run unsigned code (most roms at this site are fine in this regard). Furthermore it does require the .NET Framework so it's really for WM6 devices, WM5 will be more tricky and is left up to the user to figure out how to make it all work.
When first run the program resides in \windows and must run from there. If you ran the cab installer it will have created a shortcut for you into the Programs folder.
The application comes up with a form showing you the current device imei, imsi, and phone number. You need to enter a password (needed to disable security programmatically or change SIM info), a email you can be reached at my a "finder" of your phone, and a SMS phone number you'd like alert messages sent to. Once done click set. Finally, click Enable security.
The application then sets itself up to autorun upon boot and if the SIM matches, it plays a little sound file to let you know everything is fine. If the sim is found to have changed, it will lock down the device until a password is entered. Meanwhile it shows your contact email and has sent the alert sms to you with the new imsi and phone number.
If you enter the proper password the program will take you to the settings screen where you can reenter the password and make changes to the settings and resave them. Simply clicking enable security without making changes will keep the settings as they are.
Clicking disable security will remove the autorun entries and remove the data file the programs keeps at \windows\SecurIt.dat.
The data file keeps 5 lines, MD5 hashes of your imei, imsi, password, and also your email and sms phone number as plain text. Thus stealing this file does not enable retrieving the password or easy changing of the imsi. Deleting this file however would remove security. Furthermore activesync will still link to a locked device. Knowledgable people about these devices could therefore defeat this security, however it's goal is to keep the casual theif / finder out of the phone.
This program is a work in progress and I welcome help with modifications to it as well as bug fixes. Source can be found at:
svn://www.shadowmite.com/shadowmite/SecurIt
To cook this into a rom, you need 3 files. 2 of them need to be generated when you first install it like normal and set it up. Copy the SecurIt.dat from \windows and the SecurIt.lnk from \windows\start up to your rom as well as the SecurIt.exe file. It's that simple. Enjoy!
History:
1.1: Fixed all kinds of bugs causing security to crash with various sims
1.0: Initial release
If you like my work and would like to help insure I continue to have time for this, please consider a donation to: foglemATshadowmiteDOTcom
Shadowmite, thnx for starting an "opensource" project for this. I havent tried it yet, will try once I reach home.. But I had a cpl of suggestions\questions:
1. Why do u keep email and sms phone no in plain text instead of encrypting them as well?
2. Instead of storing config in a file, store the config in registry which lessens the chances of someone finding out about the prog and deleting the file to disable security.
nice work as usual...
shantzg001 said:
Shadowmite, thnx for starting an "opensource" project for this. I havent tried it yet, will try once I reach home.. But I had a cpl of suggestions\questions:
1. Why do u keep email and sms phone no in plain text instead of encrypting them as well?
2. Instead of storing config in a file, store the config in registry which lessens the chances of someone finding out about the prog and deleting the file to disable security.
Click to expand...
Click to collapse
number 2 is in the TODO list...
#1) we could encrypt them as long as it's not a one-way hash like the first 3 lines, however those are the bits of data we don't mind the theif/finder seeing afterall as they are the means to get the phone back to its rightful owner. I suppose we could hide them but the phone number will be on his next bill for sending it a SMS and the email is displayed on the locked screen.
And as walshy said, #2 is certainly on the todo, but locking our activesync connections is a bigger concern and I believe completely doable.
#1) we could encrypt them as long as it's not a one-way hash like the first 3 lines, however those are the bits of data we don't mind the theif/finder seeing afterall as they are the means to get the phone back to its rightful owner. I suppose we could hide them but the phone number will be on his next bill for sending it a SMS and the email is displayed on the locked screen.
And as walshy said, #2 is certainly on the todo, but locking our activesync connections is a bigger concern and I believe completely doable.
Click to expand...
Click to collapse
ok, and sorry abt the #2, I missed the TODO part..
Keep up the good work..I myself was thinking abt making smthing similar but now I think I'll drop my idea to make a different one, as this seems to be a better idea (opensource is always better )..
I hope I can make some contribution to the code if possible..
shantzg001 said:
ok, and sorry abt the #2, I missed the TODO part..
Keep up the good work..I myself was thinking abt making smthing similar but now I think I'll drop my idea to make a different one, as this seems to be a better idea (opensource is always better )..
I hope I can make some contribution to the code if possible..
Click to expand...
Click to collapse
What advantages does this give over "Mobile Justice"..another similar util...my rom has Mobile Justice cooked with it which makes it hard to remove.
famewolf said:
What advantages does this give over "Mobile Justice"..another similar util...my rom has Mobile Justice cooked with it which makes it hard to remove.
Click to expand...
Click to collapse
If you like that software and have it working properly use it. Maybe you'd like to post in every rom thread asking why not use some other rom while you're at it?
Shadowmite said:
If you like that software and have it working properly use it. Maybe you'd like to post in every rom thread asking why not use some other rom while you're at it?
Click to expand...
Click to collapse
I'm not using Mobile Justice which is WHY I asked what advantages YOURS had over theres for COMPARISON. If it had additional features I was going to recommend it for addition into XM6R3 (the next release of the current rom), but with an attitude like yours I won't bother with further review.
famewolf said:
I'm not using Mobile Justice which is WHY I asked what advantages YOURS had over theres for COMPARISON. If it had additional features I was going to recommend it for addition into XM6R3 (the next release of the current rom), but with an attitude like yours I won't bother with further review.
Click to expand...
Click to collapse
you dont bother with a review but bother with a slagging ... take your "fame" somewhere else...
Ok, for starters mine isn't based on assuming every device has a GPS built in (while technically being a Trinity owner I should go that route). I instead base mine on nicely locking down the interface so far with a polite message to get the device back to the owner. Furthermore mine is trivial to build into a cooked rom which was my main reason to write it. I tried every security app out there over the last weekend without any of them working "properly" and figured the best way to get one is to write one. In addition mine is open source, mobilejustice is not.
Now then, you said you're not using it... But the last post said you had it cooked in? WTF? Need some help deciding what you use and don't use?
my rom has Mobile Justice cooked with it which makes it hard to remove.
Click to expand...
Click to collapse
I'm not using Mobile Justice which is WHY I asked what advantages YOURS had over theres for COMPARISON.
Click to expand...
Click to collapse
Shadowmite said:
Now then, you said you're not using it... But the last post said you had it cooked in? WTF? Need some help deciding what you use and don't use?
Click to expand...
Click to collapse
1) The rom I currently have installed comes with Mobile Justice preinstalled.
2) I have not configured and am not currently using Mobile Justice
3) The author is currently taking suggestions for software to include in the next revision of their rom.
What part of any of those statements are you having difficulty comprehending?
Perhaps you and the gentleman from Melbourne should both grow up and quit reading an insult where one was not intended.
Well than back on track... Give it a try and see what you think. I really want feedback from folks outside the USA as I believe it will not properly catch your phone number of the "thief's sim" however if the sms works it should still get the phone number to you obviously.
The GPS coord. request feature is a nice one and will have to go on the todo list.
well, well, fights apart, what drew me to this app over the other apps was the opensource nature as mentioned by Shadowmite because I, like shadowmite, was not happy with the other apps doing things properly or just because I wanted somethings to be done differently..
@shadowmite:
1. I have a few ideas of getting "coordinates" and sending to the original owner even on non-GPS devices ..Maybe we can discuss some things later on once the basic structure of the app is ok.
2. Couldn't find the source code of the app on ur site..(May be am just one dim-witted dim-sighted git ) Please point me to it..
You'll need svn to get it, windows users: http://superb-west.dl.sourceforge.n...vn/TortoiseSVN-1.4.4.9706-win32-svn-1.4.4.msi
svn://www.shadowmite.com/shadowmite is my master repository for all projects.
cool, I do have TortoiseSVN installed at home..Will check it when I go back..
Will it sustain a hard re-set ? Dont think so.
@shailesh, for sustaining hard resets, it has to be cooked into the rom, pointed out by shadow on post 1..
I don't know if something else can be done for this (writing into ext rom is one option but that is not possible for most devices now)
Sounds like a great piece of software. And open source is a great idea too.
I did tried several others like this one (Eye on the thef, Ultimately Theft Alert ...) some features were still missing :
First an autoconfig method :
As already said, whatever your storage methode is (file or registry), you 'll everytime lose the configuration when a hard-reset is done on the device. The only one possibility i can imagine is to store your "installer" program on extended rom with the ability to add an external config (encrypted) file as a parameter.
Installation will be handled by the autoconfig process, using this external file. Config will probably needs to be stored on extended rom too. It's not peace of cake to create an extended rom, but easier that cook a rom.
This feature won't be very helpfull if there is no way to generate a config file automaticaly base on settings done by user : kind of export process.
On standart start/soft-reset, your program will run as it does actually, but when a hard-reset, is proceed, programm will reinstall unattented and will still be running after boot... No way to easily remove it. Bad effect is that it will also be difficult to update programm/config.
Secondly, i'd like to have the a way to "format"(or encrypt) a memory card remotely.
Do you thinks those could be part of your TODO list ?
Will try it on few next days and i'm ready to help you translating it in french
hi shantzg001,
thanks for replying,
My mistake, did not read the whole text.
Hi,
I asked this question over on another mobile phone forum and a user directed me here, so here goes:
Is it necessary for apps developed for Windows Mobile 5 and 6 (PPC) to be "signed" in any way in order to be installed and run? Similar to the way newer Symbian OS apps must be signed? Or can they just be developed and flat-out installed without any hassle or complication, the same way apps for regular desktop Windows PC's can be?
As a programmer/developer and also a Symbian user, I absolutely HATE the need for signing or certifying anything for it to be able to run. If it's not necessary on a laptop or desktop, it shouldn't be necessary on a phone. I am considering switching over from Symbian to WM6, but ONLY if the platform is completely free of the need for anything resembling certificates and signing.
At the very least, is there the option for the end WM6/5 user to easily change a setting within the OS so as to allow the full installation of non-signed apps? I'd settle for that. With Symbian, both developers and users are completely imprisoned by certificates and cannot do anything without the permission of the OS fascists.
Thanks for any help on this..
on WM5 default, when you try and uninstall something unsigned, you just have to tap the "yes" button to run the application, after that it remembers it for that app.
so basically for my setup (wm5/wm6) i can run anything, signed or unsigned. And there is a fix somewhere to disable the notification warning
hope that helps
and
come to the light side
Pocket PC's for the win
Thanks for your reply.. it's certainly encouraging to hear that WM5/6 is not restricted by the absolute necessity for signed certificates like Symbian is. As a programmer I completely refuse to bother developing software for a platform that handcuffs both developer and end user so mercilessly. If I can write programs in Visual Basic that will comple to an EXE and run hassle-free on any Windows PC, I don't see why I should have any less freedom when writing programs for a mobile device.
SymbianSigned and its locked OS is a deal-breaker for me. In looking through this forum though, it seems that there are in fact some components of WM that absolutely must be signed to be installed? Like skins for example? Are there any other components that fall into that category?
Still hoping to get a defnitive answer on what components of WM require mandatory signing and which ones are totally non-restrictive optional. So far my understanding is that under no circumstances do any applications ever have to be signed in order to be installed and run, no matter what kind of advanced access and functions they involve. Correct? Whereas fully integrated keyboard skins do need to be signed, for some reason. Correct?
Any other categories not covered above that do or don't require signing?
Thanks!
As far as I know the worse case scenario for signing is that you must also install your own cert. All that happens when you do this is again a warning.
As for the merits of the whole signing thing. Although I agree symbian goes too far, I think some kind of signing procedure, that is more robust should be required for windows mobile.
My preferred solution would be to have restricted functions that on install warn the user of exactly what capabilities the SW has, and allows the user to allow or restrict certain capabilities.
Simply an I trust this or that is useless as everyone ends up trusting everything as you have little choice. But given that it is easy to write SW using the RIL functions that completely unknown to the user can call expensive pay lines, download ridiculous amounts of data over gprs, or even send me personal information from your device, some security should definitely be required.
The truth is because of the ability to make expensive phone calls directly to people who will have direct financial benefit, I would argue security for a phone is at least if not more important than on the PC.
my 2 cents
WM5/WM6 editions for touch-screen devices generally come with "relaxed" security which means that third party apps don't have to be signed to execute once somebody answers yes to a first-time warning dialog box. ROM cookers here generally relax this requirement even more by setting a registry value HKLM\Security\Policies\Policies\0000101A to a 1. This disables the first-time warning message also.
However, services and device drivers generally need to be signed because they are executed before these relaxed settings take effect. Application developers generally can work around this too by starting the service/device driver themselves with a little program placed in \windows\startup
WM6/WM5 editions for devices without touch-screens generally have a higher security setting that disallows execution of any application unless it is signed.
Hi,
I'm interested to know which debugging/logging tools are available.
I'd like to get more information about the processes at startup, and specially logs of the CPU usage by each application over a period of time.
I've been searching for some time and the only I've found are the old Htc Test applications, but can't get what I want.
Noted that HTC devices have a builtin debug tool (debuglog.dll). Anyone knows how to use it?
Also found the following the following post describing the HTCDiagDriver and the possibility to analyze the device using QUALCOMM eXtensible Diagnostic Monitor.
http://forum.xda-developers.com/showpost.php?p=12624471&postcount=2
Anyone uses it?
Global debuglog can be enabled via DebugTool.exe (available in Htc Test Applications). It depends on debuglog.dll, yeah. Read manual, it works quite well.
Then, if you want to get log for selected app, launch it via IDA.
Also we have CeLog available, I will post needed launchers soon. I can hardly call it useful as we have retail/ship SYS builds. The only useful purpose for us is page faults chart.
EDIT: CeLog attached.
Some of the builds come with the Perfman package. That s.o.b. will really slow down your device, though, and it creates a massive log file, which I could never find the tools to analyze. I think celog does it, though, which is pretty sweet.
The htc debugger works better. You just change one of the debug flags and reset, and the device starts writing the log file. It doesn't slow down the device nearly as much as perfman. I think celog may work on that log file, too. You can royally eff up your device with that tool, though, if you mess with the radio flags. It's pretty cool how it writes to flash memory. Too bad you can't change other things with it like the page pool size.
ultrashot said:
Also we have CeLog available, I will post needed launchers soon. I can hardly call it useful as we have retail/ship SYS builds. The only useful purpose for us is page faults chart.
EDIT: CeLog attached.
Click to expand...
Click to collapse
I have been playing with the tool on my Tornado and observed the following (usage related):
Use it while the device is disconnected from PC. The overhead of repllog.exe (connected to ActiveSync on XP PC) and syncing is just filling your log. For my installation (no further MS Mobile development tools on the PC) kerneltracker.exe does not connect to the device anyway.
Though obvious, the files CeLog*.exe have to run on the device, so copy them to a convenient place there.
The CeLogAttach.exe seems to start the kernel logging and it slows down the device (kind of obvious). There is no way to stop this logging. Something like CeLogDetach would be needed, if it exists, to restore the state before CeLogAttach.exe was run.
The CeLogFlush.exe will flush the existing log but also immediately start the logging again.
The CeLogStopFlush.exe does just what the name tells - it stops the flush to file of the (still ongoing) logging.
After transfering the celog.clg file (from \Release\ directory of the device) it can be opened in kerneltracker.exe. Then you see all the kernelactivities logged and aligned per process/thread on a zoom-able timeline (10ms - 10s) including the labels of the logged primitives. With event filtering you can sort out what you are not interested in. Here you may need advice on what to look after when you want to hunt down a certain device behaviour.
I have checked for page-faults, Virtual Memory related actions (Allocate, Copy, Free) and also Module actions (load, free) to get a clue if and how modules and paging (or better said: the use of the Page-Pool) is correlated. Nothing eye-striking coming up here, but it may just be for the unknowing observer like myself.
@ultrashot: I could not find anything I would call a "page faults chart" - where is that - or what is that?
Looking further: If I change certain device properties (like increase the pagepool or playing with OSB advanced options) I fear that the logged information here is just far too detailed for a useful compare. For that you would have to create identical conditions for the action under scrutiny - something that cannot be done with a disconnected device.
So I have to admit that all objective compare of such tuning and tweaking is far above my head and I just have to join the many that make more or less clever assumptions trusting on their model of actions in their heads. I hope that the better knowing heads continue to spread their wisdom without only telling RTFM or guide with LMGTFY (which can help if the results really point to right places).
tobbbie said:
@ultrashot: I could not find anything I would call a "page faults chart" - where is that - or what is that?
Click to expand...
Click to collapse
Use Event filter->Miscellaneous->Page fault.
I am not too advanced user of this tool. If we had builds with extra celog instrumentation, we could have take much more from this tool. However, there are some articles in the internets about celog, so anyone who wants to be get more info may just try to google it. I don't want
ultrashot said:
Use Event filter->Miscellaneous->Page fault.
Click to expand...
Click to collapse
That is what I did already when telling about the items I cared below. Page faults are however part of generic virtual memory management and they do also apply for any normal loaded executables. As you know I seek for traces of module related paging and the use of the page-pool.
So it will stay with the trial and error and side-by-side compare with two devices having different settings. Not a big thing doing that...
Some interesting articles on MSDN regarding the paging pool (aka "pagepool"):
Kernel Blog article explaining the fundamentals (highly recommended): http://blogs.msdn.com/b/ce_base/archive/2008/01/19/paging-and-the-windows-ce-paging-pool.aspx
Pagepool Variable explained and simple methods to measure impact: http://msdn.microsoft.com/en-us/library/aa451041.aspx
-> this is what kitchentools are patching in the kernel
Then some more backup on virtual memory - just to complete on that:
http://blogs.msdn.com/b/ce_base/archive/2006/10/30/what-is-virtual-memory.aspx
http://blogs.msdn.com/b/hegenderfer/archive/2007/08/31/slaying-the-virtual-memory-monster.aspx
http://blogs.msdn.com/b/hegenderfer...aying-the-virtual-memory-monster-part-ii.aspx
And to get back to the debug tools topic of this thread, linked form the first article an introduction to the Remote Kernel Tracker to explain what you can actually see there (and why you cannot see certain things as we have shipped ROM builds and not profiling builds to deal with): http://blogs.msdn.com/b/sloh/archive/2005/05/17/introduction-to-remote-kernel-tracker.aspx
Great insight if you want to get a glimpse of how Windows CE operates under the hood.
...reading a little deeper in the MSDN articles, Sue Loh mentions there when talking about the paging pool size determination:
The best tool I know is that readlog.exe will print you a page fault report if you turn on the “verbose” and “summary” options. If you get multiple faults on the same pages, your pool may be too small (you may also be unloading and re-loading the same module, ejecting its pages from memory, so look for module load events in the log too). If you don’t get many repeats, your pool may be bigger than you need.
Click to expand...
Click to collapse
To avoid dealing with a full setup of the Mobile Development toolsets, could any one (ultrashot - you have been so helpful - could you??) post that mentioned "readlog" tool? If there is something like "CeLogDetach.exe", please add it too.
BTW: you may notice that the paging pool is a central part of the Windows CE memory management when it comes to running executable code from "memory mapped files" (as Sue Loh calls them). In my understanding these are simply what we know as "modules".
A lot of tweaking strategies go around that when building ROMs with OSBuilder. There are several ways how to avoid or optimize the use of the paging pool for certain or all modules in OSB. I think these options deserve an own thread and I am not sure if the one OSB thread we have should be cluttered with discussing this.
don't have any of those.