Related
I've been working with the Wizard Port which mamaich has done, and have run into the 'normal' performance issues with WM2005 which most everyone has encountered.
Since our devices have so much RAM available, IMHO it should no longer be used for storage. Instead we can utilise huge SD Cards for all storage needs. We need one for the EXTROM installation anyways, and the Batteries will drain the same whether you're using 32Mb or 128Mb of your RAM.
My main focus has therefore been to improving RAM usage for Caching and Filesystem access (StorageManager). I'm trying things out to see if there are any improvements which can be done simply through registry changes. I'd felt I was relatively successful on my Himalaya (using BuzzROM 1.60c) with this style of performance tweak, so now it was time to try it out on the new Blue Angel.
I'm primarily concerned with stability and performance, as well as usability and resources. My focus has therefore been to make extensive use of the RAM Disk for all temporary elements (why make them persistant?), to add appropriate levels of caching and to set an appropriate number of buffers for all memory and filesystem access. My goal is to use the RAM to it's full potential - 32Mb for temp/ramdisk, and as much as beneficial for Cache/Buffers/Paging/etc. leaving the remainder (64Mb+) available for applications to use.
For this I've been scanning the forums and have gleaned the 'pearls of wisdom' from many developers who have been trying to improve the performance of their devices. For everything which I've found, I've researched the origins of the registry modification, and have verified (to the best of available information) that the flags/settings/values or other parameters as I've changed them in the attached registry files below, are legal and valid.
I've geared things to be a 'workhorse' device - i.e. the initial application open/start may be slightly slower (first run), but once the application is up and running, it responds very quickly. The point is then to keep all the commonly used applications running and using the RAM, not to try to have untold Mb of RAM free. All those 'Task OK Button Close' are a real waste when using WM2005 now.
If you do have some memory intensive application, then you may need to close applications, but with 64MB+ free I couldn't think of what you might want to run (except a game or something else 'useful'). The "Memory" Control Panel is all you'd ever need for this.
Ok ... enough rambling about what I've tried to achieve ... on to the details.
Device Configuration I'm using:
- mamaich Wizard ROM v2a (unmodified)
- Model No.: PH20B
- Model Name: iMate PDA2K
- ROM Version: 5.03.02 WWE
- ROM Date: 03/02/05
- Radio Version: Radio 1.15.00
- Protocol Version: 1337.45
- CPU: Intel(R) PXA263
- Speed: 400 Mhz
- RAM Size: 96 Mb
- Flash Size: 32 Mb
- Flash Chip Type: 28F128K3
- Storage Size: 60.30 Mb
Attached below are two principal registry files: Performance.reg, and Customize.reg
Performance is specifically for improving the Performance of the device.
Customize is specifically for setting 'default' customizations, which are user/owner preferences.
These can be imported using your favourite registry editor (I'm using Resco) and you can see what (if any) difference to performance they can make.
Code:
Performance.reg Details:
[HKEY_CURRENT_USER\ControlPanel\Phone]
- Disable Phone Sleep. May help with Bluetooth disconnect issues.
[HKEY_CURRENT_USER\ControlPanel\Sounds\TTSAnnounce]
- Move Voice Command Caller Identification into RAM Disk
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
- Move all of IE's Temporary Files into RAM Disk
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
- Give IE More Connections
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
- Give IE More Threads
[HKEY_LOCAL_MACHINE\ControlPanel\WiFi]
- Slow down the WiFi Scanning Interval
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\QwertyKey]
- Improve Keyboard Responsiveness
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\WaveDev]
- Improve Audio Responsiveness
[HKEY_LOCAL_MACHINE\Security\Policies\Policies]
- Disable Signing
[HKEY_LOCAL_MACHINE\Software\HTC\XPanel]
- Move Volatile elements to RAM Disk
[HKEY_LOCAL_MACHINE\System\FileSys]
- Move all Temporary Items to RAM Disk
[HKEY_LOCAL_MACHINE\System\GWE]
- Disable Animation
[HKEY_LOCAL_MACHINE\System\GWE\Menu]
- Disable Animation
[HKEY_LOCAL_MACHINE\System\StorageManager\Filters\fsreplxfilt]
- Set the File & Directory Exclusions for the Filesystem Filter
[HKEY_LOCAL_MACHINE\System\StorageManager\...]
- Tweak all the StorageManager settings to improve performance
Code:
Customize.reg Details:
[HKEY_LOCAL_MACHINE\ControlPanel\AdminPassword]
- Enable Admin Password Control Panel
[HKEY_LOCAL_MACHINE\ControlPanel\GPS Settings]
- Move GPS Control Panel to Connections
[HKEY_LOCAL_MACHINE\System\GWE]
- Make THIN scroll bars (get a bit more screen space - I'm accurate with a stylus)
[HKEY_CURRENT_USER\ControlPanel\Backlight]
- Default Backlight Settings
[HKEY_CURRENT_USER\ControlPanel\Comm]
- Default USB Communications
[HKEY_CURRENT_USER\ControlPanel\Notifications\ShellOverrides]
- Set the Volume
[HKEY_CURRENT_USER\ControlPanel\PhoneExtendFunction]
- Set PAP and Class 8 (4 Receive, 1 Transmit) GPRS Settings
[HKEY_CURRENT_USER\ControlPanel\Sip]
- Set SIP Input Word Suggestion Defaults
[HKEY_CURRENT_USER\ControlPanel\SoundCategories\Ring]
- Set the Volume
[HKEY_CURRENT_USER\ControlPanel\SoundCategories\RingPreview]
- Set the Volume
[HKEY_CURRENT_USER\ControlPanel\Volume]
- Set the Volume
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
- Set some IE defaults (Google, History, Zoom, etc.)
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
- Set some IE Messages
[HKEY_LOCAL_MACHINE\ControlPanel\Phone]
- Phone Flags
[HKEY_LOCAL_MACHINE\Explorer]
- Show all Files
[HKEY_LOCAL_MACHINE\Software\HTC\Camera\AppDefSettings\P3]
- Disable Recording Time Limit
[HKEY_LOCAL_MACHINE\Software\HTC\Camera\AppDefSettings\P4]
- Enable additional Contacts Photo Mode
[HKEY_LOCAL_MACHINE\Software\Microsoft\Inbox\Svc\SMS]
- Change the SMS Text Message Confirmation
[HKEY_LOCAL_MACHINE\Software\Microsoft\Obex]
- Disable OBEX
[HKEY_LOCAL_MACHINE\Software\Microsoft\Pocket MSN]
- Permit any email address in Pocket MSN
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\TaskBar]
- Clock in Taskbar
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
- ClearType in IE
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\AdvancedCPL]
- Enable Microphone AGC
*** NOTE: I forgot to mention to create the following directories in the RAM Disk in order to properly support things! ***
Cache
Cookies
History
Volatile
Improvements, comments, discussion and changes to these values (or adding more) is HIGHLY encouraged. We'll all benefit from faster machines, without needing to overclock them into instability. And if something is obviously WRONG in these settings, point out the mistake! 8)
Hope this helps others with their performance concerns.
Regards,
Tuatara.
*********************************************************
UPDATE: Version 2 of the Scripts: 5/Feb/2006
Performance:
1). Corrected the WaveDev Priority, and the QwertyKey Priority to values which will produce better performing results across all requirements.
2). Removed requirement for \Ram Disk32\Volatile since the \Volatile directory is NOT automatically created. This can lead to problems if the RAM gets corrupted and or is reformatted. Now all temporary (Volatile) Files have been placed in the root folder "\Ram Disk32\" instead.
NOTE: This means you DO NOT need to create any directories! All cache directories will automatically be created as required by IE on startup!
3). BufferSize has been reduced to a more 'sensible' value of 1024 buffers.
4). Added "EnableDataCacheWarm", "EnableFatCacheWarm", and "PathCacheEntries" to the filesystem specifications.
Customize:
1). Moved Key Deletion to END of registry script, since some registry imports fail to delete these keys properly. Can be done manually.
2). Changed Default Search Page to a more Mobile Friendly GOOGLE search page, which permits better searching of results.
3). Removed the /GWE elements which shrunk down the scroll bars, as I did begin to find it tiring to aim more carefully to scroll things.
4). Removed the OBEX Disable, since this would probably confuse more than help.
Filesys.exe and StorageManager Registry Settings
mamaich said:
Some registry settings regarding StorageManager profiles are read during the first stage of boot process from constant boot.hv file located in XIP section of a ROM, and not from the registry you've changed. For example all drivers that are loaded during "Bootphase" 0 or 1 may ignore all settings that are not present in boot.hv. For example you can change "MountFlags" value to anything, and it would be ignored. I also think that cache size settings for TRUEFFS_DOC and MSFlash are read from boot.hv, because setting the cache size in registry to 16Mb (you cannot allocate more than 32Mb in one chunk) does not decrease the free memory size. The same is for "XIP" and "Flags" settings. The filesystem driver may reread these settings from registry when it becomes available, but I don't think so.
The only filesystem driver that reads your changed settings is SD-Card driver. It is loaded after registry is fully functional.
By the way, it is possible to mount root directory of our device to SD-Card, similar to MPX200.
Click to expand...
Click to collapse
I've had a look into this, and from my understanding the StorageManager mounts the partitions (keeping all the flags, etc.) as from boot.hv, but once the filesystem is up and running, it appears to reload in the filesystem (not partition) registry keys from the user registry, when it mounts the portions of the user registry hive at the end of the process.
Filesys.exe Boot Process
http://msdn.microsoft.com/library/d.../wcemain4/html/cgconFilesysexeBootProcess.asp
Although I could be wrong about this ... it 'appeared' to have made a slight improvement. Very hard to say though if it is reloading the registry information.
A better answer might be to modify the boot.hv and then check the performance.
More on this shortly ...
Regards,
Tuatara
Thread Times and Quantum Theory ...
mamaich said:
Tuatara said:
...
Badly written code ... maybe ... most likely it's poor blocking / thread safety implementations which are causing the issues. Interrupt level and thread level access to the data buffers, taken from legacy 2003/SE code could be at fault here. ...
Click to expand...
Click to collapse
Occasionally I've found this page - http://blogs.msdn.com/sloh/archive/2005/05/27/422605.aspx
It has an interesting code at the bottom. I've already made a program that can hook system calls, I'll try to hook EnterCriticalSection and WaitForMultipleObjects and force them to use that code. Maybe this would reduce the occasional lockdowns.
I've also managed to find the value of default thread quantum on our device. It is 0x4b == 75 milliseconds (WinCE default is 100ms). I.e. we have about 13 task switches per second. Decreasing the value can potentially make our device more responsive, but would add some overhead.
Here is the address to patch in nk.nba (address: old_value new_value):
00207B94: 4B 20
this would set a thread quantum to 0x20 == 32 milliseconds, thread switching would be 31 times per second.
Currently I'm testing this patch, if it is efficient - i'll integrate it into newer ROMs.
Click to expand...
Click to collapse
Modifying the Quantum Times is an excellent thought. I remember when this was done for Win2K by SysInternals (tweaking Server into Workstation & vice-versa). Reducing the quantum (in theory) should improve the performance, unless there are too many 'busy' applications executing. Interrupt service requests, and thread unblocking to service them could really kill the 'Quantum Theory' if they come too 'thick and fast'.
It would mean that USB/GSM data is serviced quickly, but application responsiveness (user perception) actually goes down slightly overall.
BUT !!!! the upside of this would be that the dreaded 'lockup' events won't happen anymore, since data is ALWAYS serviced, and the application has (in effect) a lower priority timeslice in which to execute. You will never have a high-priority thread blocking for extended periods, locking the 'foreground' application while it's busy servicing the data requests.
Let me know your initial testing results - I'd then go ahead and modify my ROM if you feel there is any improvement of note. Similarly, I'd probably try to also go about modifying the boot.hv for StorageManager registry settings and see how far that can get things.
Cheers,
Tuatara
Re: Thread Times and Quantum Theory ...
Tuatara said:
mamaich said:
Tuatara said:
...
Badly written code ... maybe ... most likely it's poor blocking / thread safety implementations which are causing the issues. Interrupt level and thread level access to the data buffers, taken from legacy 2003/SE code could be at fault here. ...
Click to expand...
Click to collapse
Occasionally I've found this page - http://blogs.msdn.com/sloh/archive/2005/05/27/422605.aspx
It has an interesting code at the bottom. I've already made a program that can hook system calls, I'll try to hook EnterCriticalSection and WaitForMultipleObjects and force them to use that code. Maybe this would reduce the occasional lockdowns.
I've also managed to find the value of default thread quantum on our device. It is 0x4b == 75 milliseconds (WinCE default is 100ms). I.e. we have about 13 task switches per second. Decreasing the value can potentially make our device more responsive, but would add some overhead.
Here is the address to patch in nk.nba (address: old_value new_value):
00207B94: 4B 20
this would set a thread quantum to 0x20 == 32 milliseconds, thread switching would be 31 times per second.
Currently I'm testing this patch, if it is efficient - i'll integrate it into newer ROMs.
Click to expand...
Click to collapse
Modifying the Quantum Times is an excellent thought. I remember when this was done for Win2K by SysInternals (tweaking Server into Workstation & vice-versa). Reducing the quantum (in theory) should improve the performance, unless there are too many 'busy' applications executing. Interrupt service requests, and thread unblocking to service them could really kill the 'Quantum Theory' if they come too 'thick and fast'.
It would mean that USB/GSM data is serviced quickly, but application responsiveness (user perception) actually goes down slightly overall.
BUT !!!! the upside of this would be that the dreaded 'lockup' events won't happen anymore, since data is ALWAYS serviced, and the application has (in effect) a lower priority timeslice in which to execute. You will never have a high-priority thread blocking for extended periods, locking the 'foreground' application while it's busy servicing the data requests.
Let me know your initial testing results - I'd then go ahead and modify my ROM if you feel there is any improvement of note. Similarly, I'd probably try to also go about modifying the boot.hv for StorageManager registry settings and see how far that can get things.
Cheers,
Tuatara
Click to expand...
Click to collapse
I've done this modification on nk.nba and reflashed my device and i can't see any difference so far. Will do some more testing later.
"[HKEY_LOCAL_MACHINE\Software\Microsoft\Obex]
- Disable OBEX"
Why?
To which point are these tweaks actually noticeable?
Don't get me wrong, i appreciate greatly all the research done arround this, but last time i applied some reg settings (like cache, etc), that didn't improve wm5 speed to the point to find it usable..
I mean, time required to open tmail.exe, the lag in writing sms, lag before answering a call, wifi multitask use, and program responsiveness in general, can one say that with these tweaks the improvements are significative?
I mean, i've kind of given up on wm5 because of these things (although i've reflashed it many times, hope is last thing to die )
Will running some benchmarking software (before) and (after) the registry tweaking show any improvement?
I'm trying to find some (preferably free) benchtest software for WM5 right now. Will update this thread if I find it.
I'm using Wizard v2a on SX66 with Radio 1.15 myself.
Hmm, actually i can feel a little speed up, not much, but it is faster a bit indeed.
KTamas said:
"[HKEY_LOCAL_MACHINE\Software\Microsoft\Obex]
- Disable OBEX"
Why?
Click to expand...
Click to collapse
Ah - legacy stuff for the defaults I need here. Most of our users don't have Bluetooth Headsets, so by default it is disabled to extend battery life. I should have removed that before posting - but then again, maybe it's useful for someone.
d3vil said:
To which point are these tweaks actually noticeable?
Click to expand...
Click to collapse
As with anything which is NOT modifying the underlying issues, these registry tweaks will only produce SOME improvement in the performance. There is a limit to how much you can cache, buffer, move into RAM, or maintain available.
d3vil said:
Don't get me wrong, i appreciate greatly all the research done arround this, but last time i applied some reg settings (like cache, etc), that didn't improve wm5 speed to the point to find it usable..
Click to expand...
Click to collapse
Part of the reason for this is the abundance of mis-information about the registry tweaks. I've seen posts where for example the Flags settings for StorageManager have been specified in Hex, someone else copied them in decimal, and then these have been imported as hex again - leading to some 'random' FATFS configuration setting which would cause problems. Or other posts where the buffer sizes are set to 64Mb or larger?!!? And you would get no useful benefit from this.
d3vil said:
I mean, time required to open tmail.exe, the lag in writing sms, lag before answering a call, wifi multitask use, and program responsiveness in general, can one say that with these tweaks the improvements are significative?
Click to expand...
Click to collapse
For my expectations and usage, these tweaks do help the performance of applications. This does take into account some assumptions though - such as I do not 'Terminate' the application, but leave them running as intended. All temporary elements are placed onto the RAMDisk. All applications are attempted to be executed from RAM. etc.
d3vil said:
I mean, i've kind of given up on wm5 because of these things (although i've reflashed it many times, hope is last thing to die )
Click to expand...
Click to collapse
It all depends on your expectations. Mine are to have better Word, Excel, Outlook, and Exchange integration, incl. Push Email and ActiveSync support. Can't get that with WM2003, so I'm working with what I can, and making it run as smoothly/quickly/stably as possible.
Cheers,
Robert.
mr_ding said:
Will running some benchmarking software (before) and (after) the registry tweaking show any improvement?
Click to expand...
Click to collapse
Benchmarking software is unfortunately inherently flawed. It can only measure what it is attempting to execute - which in the majority of cases does not reflect real-life usage.
These tweaks aren't necessarily designed to speed up the first execution of an application, but are to keep that application ready and available for the next time it is needed and used.
It would be hard to design a benchmark which could replicate everyday usage. The best answer is ... if you've been using your device for a while, and have noticed a few problems ... try the registry settings and see if the issues are less pronounced, or are eliminated entirely.
mr_ding said:
I'm trying to find some (preferably free) benchtest software for WM5 right now. Will update this thread if I find it.
Click to expand...
Click to collapse
I've applied similar settings to my Himalaya and have had very good performance and results from them. I've barely needed to reset the device (maybe 5 times in as many months) and have adapted my usage, or configured my way around most of the flaws. Time to do the same for the Blue Angel Wizard v2a. (or b)
Anyways ... the next step on my list is to make a EXTROM which auto-configures the devices with all the settings and applications we need for our users. mamaich's cfg.txt makes this so easy to do. 8)
Regards,
Robert.
thank you for the work.
one little question, what do i do with the files?
and there is in the all settings the boot image ?
I'm not sure if it is mamaich's very new hexa editing in ROM or your tweaks but my problems with sound are back Will reflash the original Wizard2BA and do a hardreset i guess.
Tuatara said:
mr_ding said:
Will running some benchmarking software (before) and (after) the registry tweaking show any improvement?
Click to expand...
Click to collapse
Benchmarking software is unfortunately inherently flawed. It can only measure what it is attempting to execute - which in the majority of cases does not reflect real-life usage.
These tweaks aren't necessarily designed to speed up the first execution of an application, but are to keep that application ready and available for the next time it is needed and used.
It would be hard to design a benchmark which could replicate everyday usage. The best answer is ... if you've been using your device for a while, and have noticed a few problems ... try the registry settings and see if the issues are less pronounced, or are eliminated entirely.
mr_ding said:
I'm trying to find some (preferably free) benchtest software for WM5 right now. Will update this thread if I find it.
Click to expand...
Click to collapse
I've applied similar settings to my Himalaya and have had very good performance and results from them. I've barely needed to reset the device (maybe 5 times in as many months) and have adapted my usage, or configured my way around most of the flaws. Time to do the same for the Blue Angel Wizard v2a. (or b)
Anyways ... the next step on my list is to make a EXTROM which auto-configures the devices with all the settings and applications we need for our users. mamaich's cfg.txt makes this so easy to do. 8)
Regards,
Robert.
Click to expand...
Click to collapse
I guess you don't use the (SPB Plus) feature when pressing (x) button, it automatically closes the application, right?
I will try your tweak tonight/tomorrow and uninstall/disable SPBPlus feature on auto-closing application myself.
Typically I run Mapopolis (sometimes with BT GPS), phone, sudoku, and tcpmp (watch divx movies). Will it really be okay with all these applications running in the background without closing them?
KTamas said:
I'm not sure if it is mamaich's very new hexa editing in ROM or your tweaks but my problems with sound are back Will reflash the original Wizard2BA and do a hardreset i guess.
Click to expand...
Click to collapse
Interesting ... it could well be either at fault. The only change I've made for the Sound was to set the Audio Priority to a sensible value. You could readily change the value of Priority256 for the sound and see if that makes a difference.
Alternatively, with the quantum time for a thread being lowered, it is possible that there is not enough time for audio decoding to be performed per quantum, which will lead to stuttering as there are other waiting tasks to be serviced.
For the audio, you could try two things:
1). Change the value of Priority256 for HKEY_LOCAL_MACHINE\\Drivers\\BuiltIn\\WaveDev (lower = higher priority = serviced more often)
2). Change the quantum time to something larger (more audio processing per thread switch)
Try patching nk.nba (address: old_value new_value):
00207B94: 4B 64
This would set the thread quantum to 100 milliseconds (MS Recommended = 10 times per second)
You could even be so radical as to try 120 milliseconds (= 78, which would give you 8 1/3 switches per second)
You may find that the audio more responsive with larger processing time blocks, and higher priority. Again, it really depends on what your requirements are.
NOTE: A Hard Reset isn't required for these changes. This is only changing how things execute, not where things are executing from. There should be no need to hard reset & format.
Regards,
Tuatara.
Tuatara said:
KTamas said:
I'm not sure if it is mamaich's very new hexa editing in ROM or your tweaks but my problems with sound are back Will reflash the original Wizard2BA and do a hardreset i guess.
Click to expand...
Click to collapse
Interesting ... it could well be either at fault. The only change I've made for the Sound was to set the Audio Priority to a sensible value. You could readily change the value of Priority256 for the sound and see if that makes a difference.
...
Click to expand...
Click to collapse
I don't have sound issues. But I have Priority256 set to 0x80 (128). Tested on PocketPlayer, sound of incoming call, Toppler game (without Priority256=0x80 it had clicking sounds).
I recommend using 0x80, it is a well-tested value since GB-tweak for WM2003. In this case wavedev driver would not steal time from system services, and priority is high enough to eliminate sound pauses.
I'm still testing my patch, and had no occasional slowdowns yet. The device is responsive even when you are running CPU benchmarks. Previously it lost Activesync connection, ignored touchscreen taps, etc.
Re: Filesys.exe and StorageManager Registry Settings
Tuatara said:
I've had a look into this, and from my understanding the StorageManager mounts the partitions (keeping all the flags, etc.) as from boot.hv, but once the filesystem is up and running, it appears to reload in the filesystem (not partition) registry keys from the user registry, when it mounts the portions of the user registry hive at the end of the process.
Filesys.exe Boot Process
http://msdn.microsoft.com/library/d.../wcemain4/html/cgconFilesysexeBootProcess.asp
Click to expand...
Click to collapse
It is easy to find whether driver rereads registry or not. Just search for "SYSTEM/BOOTPHASE2" unicode string inside it. None of the drivers wait for this event, so we can assume none of them rereads registry. Only filesys.exe, devmgr.dll and pm.dll use this event.
I don't know when filesystem filters are loaded, but they may be loaded at the bootphase 2, so fsreplxfilt.dll can use your new settings. But this should be checked.
You can also try to set invalid values to some settings, so that device would have great slowdown or would not boot at all. Or you can set cache size to something near 32Mb, and check the size of used memory. If it would be decreased, or device would react on your settings (i.e. would not boot) - the driver rereads the registry.
mamaich said:
Tuatara said:
KTamas said:
I'm not sure if it is mamaich's very new hexa editing in ROM or your tweaks but my problems with sound are back Will reflash the original Wizard2BA and do a hardreset i guess.
Click to expand...
Click to collapse
Interesting ... it could well be either at fault. The only change I've made for the Sound was to set the Audio Priority to a sensible value. You could readily change the value of Priority256 for the sound and see if that makes a difference.
...
Click to expand...
Click to collapse
I don't have sound issues. But I have Priority256 set to 0x80 (128). Tested on PocketPlayer, sound of incoming call, Toppler game (without Priority256=0x80 it had clicking sounds).
I recommend using 0x80, it is a well-tested value since GB-tweak for WM2003. In this case wavedev driver would not steal time from system services, and priority is high enough to eliminate sound pauses.
Click to expand...
Click to collapse
I initially had the setting as 128 (0x80) as well, but had some occasional issues with Voice Command & pauses/delays. I increased the priority and the issue appeared to be resolved. However this is assuming short audio playback streams, not continuous ones, and I had changed things further since that issue arose. Time to retest.
Probably setting the value back to 0x80 in the registry is the best option as mamaich recommends. It would be a general solution for everyone. Similarly, I've found the keyboard better with the tweak, but this too could be reduced in priority - possibly 0xA0 (160) would be a more 'adequate' value to utilise.
Code:
Recommend to Change: Performance.reg to contain:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\QwertyKey]
"Priority256"=dword:000000A0
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\WaveDev]
"Priority256"=dword:00000080
mamaich said:
I'm still testing my patch, and had no occasional slowdowns yet. The device is responsive even when you are running CPU benchmarks. Previously it lost Activesync connection, ignored touchscreen taps, etc.
Click to expand...
Click to collapse
Sounds good ... possibly the Priority256 setting for the WaveDevice was too high - especially with the smaller quantum value, leading to stuttering (somehow). Hopefully KTamas has some time to see which direction solves the problem in the audio.
Re: Filesys.exe and StorageManager Registry Settings
mamaich said:
Tuatara said:
I've had a look into this, and from my understanding the StorageManager mounts the partitions (keeping all the flags, etc.) as from boot.hv, but once the filesystem is up and running, it appears to reload in the filesystem (not partition) registry keys from the user registry, when it mounts the portions of the user registry hive at the end of the process.
Filesys.exe Boot Process
http://msdn.microsoft.com/library/d.../wcemain4/html/cgconFilesysexeBootProcess.asp
Click to expand...
Click to collapse
It is easy to find whether driver rereads registry or not. Just search for "SYSTEM/BOOTPHASE2" unicode string inside it. None of the drivers wait for this event, so we can assume none of them rereads registry. Only filesys.exe, devmgr.dll and pm.dll use this event.
I don't know when filesystem filters are loaded, but they may be loaded at the bootphase 2, so fsreplxfilt.dll can use your new settings. But this should be checked.
Click to expand...
Click to collapse
Haven't had the chance yet to decompose the ROM Image, but will get to that shortly - shame that MS doesn't make the process description clearer. I will try updating the boot.hv with changed settings and see what results that can bring.
mamaich said:
You can also try to set invalid values to some settings, so that device would have great slowdown or would not boot at all. Or you can set cache size to something near 32Mb, and check the size of used memory. If it would be decreased, or device would react on your settings (i.e. would not boot) - the driver rereads the registry.
Click to expand...
Click to collapse
From what I could tell in my experimenting, outlandish (or illegal) settings are limited by the driver itself. i.e. trying to set a CacheSize of 64Mb is met with an upper limit to the CacheSize of 2Mb anyways - regardless of the registry value. This is (partially) why some ridiculous values published by others still work, and additionally why increasing those values doesn't bring any further gains.
Each tweak I've done for StorageManager has increased the memory usage requirements, so I (strangely) still think that there is some mystical reloading of the registry information happening. Maybe it is solely the filters which affect this - maybe it is the loading of the filters which resets only the cache/buffer sizes (to limits), since the filesystems are already mounted.
Regardless, I will try the boot.hv, and the Quantum Time Change sometime soon.
jimp said:
This might be irrelevant, but I had most versions of wm5 on my BA (except the himalaya port). I'm having some issues with MS VoiceCommand.
The (leaked) original (slow) version worked ok.. The wizard port worked even better so did v2.. when i put v2a however (with 32M ramdrive), voice command started acting strange.
The whole device seems abit odd.. when i remove the device off its cradle its just SO SLOW.. as if its searching to sync.. anyway back to VC.
Its very wierd.. ie.. i say Call Harry .. and it matches NAT .. HOW ON EARTH!? Or I say.. call nicole.. and it matches TAXI! . This was NOT an issue with previous wm5 roms. I dont run any other software on the device so I dont know what's causing this. Could it be the ramdrive?
Note.. VC rarely gets the match right anymore.. where as before it RARELY got it wrong.
Click to expand...
Click to collapse
I'm still testing with VoiceCommand, and have had to change a few things to get suitable performance. I haven't as yet made the Quantum Timing change, but I'll evaluate that and see how it goes.
Anyways, you might wish to try the following CAB file. I can't remember who created it but I've been using it along with the RAM Disk for the CallerID Wave File Generation, and Voice Command has been working well. It makes a few registry entries, and I believe replaces some configuration elements - haven't disassembled it as yet.
jimp said:
Note2.. MP3 playback skipping like mad.. (just noticed) (and only on certain mp3s.. not all STRANGE).
Click to expand...
Click to collapse
Additionally, it would be recommended to keep the WaveDev Priority at 128, since KTamas has reported stuttering when it was set at 96 (as in the registry script in the first post)
(Time! I just need more time!!! )
Code:
[HKEY_CURRENT_USER\ControlPanel\SoundCategories\VoiceCommand1]
"AttenuationCategory"=dword:00000001
"InitVol"=dword:00000005
"Script"="p"
[HKEY_CURRENT_USER\ControlPanel\Sounds\TTSAnnounce]
"Sound"="\\RAM Disk32\\Volatile\\TTSCallerID.wav"
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\WaveDev]
"Priority256"=dword:00000080
Howdy,
In about a week (assuming that G.W.B. can resist starting WWIII for that long), I'm going to build another ROM. This time I'd like to get some input on what to include.
A few things to keep in mind:
1) The goal is to include apps and hacks that appeal to the widest audience and are useful. If it's something that's not useful to a lot of people, then there's no reason to put it into a ROM. I can add more themes and ringers as well, but they should appeal to as broad a group as possible.
2) I won't include any commercial apps. Not even in an unregistered state. I might consider things that have been extracted from other ROMs, but I'm debating that with the voices in my head and will decide later.
3) Apps should be mature, not beta, if possible. I don't want to have to rebuild the ROM every time a new beta version of an app comes out.
4) If possible, attach registry hacks in the form of .reg files to your request. Or at least post the registry entry in you message.
5) It would we swell if someone could take the lead on tallying up the suggestions and help to prioritize. I'll shoot for building the ROM in about 10 days.
If we can keep the additions under 5 Megs total I think we'll be OK.
Here's what will be in there as of now (which is in the current custom ROMs)
-Oregami themes
-digital, cellular, and electronic ringers
-.NET Compact Framework 2
-A2DP/AVRCP
-Wireless Today screen plugin
-enable multi-select/delete contacts
-a hidden treasure map providing the precise pinpoint location of $2.33 in pennies that I previously buried when I was perhaps 7 or 8
First I want to say thinks for the bang up job you have done on putting together these roms for us.
The only things that I would like to see that I can think of would be the registery hack that makes GPRS/EDGE stay on all the time. And I would also like, if it is possible, anything that would make the phone us a WiFi connection, when present and turned on, instead of GPRS/EDGE.
I am not sure if it is possible to do that or not.
Usefull apps
Well I would like to have these applications in the next ROM
1) Smartkeys - http://forum.xda-developers.com/viewtopic.php?t=41060&highlight=smartkeys
2) Wakeapp - to easily setup OmapClock and other event-driven applications. http://www.kent7.com/holly/wakeapp/ , download EN version at http://kent7.sakura.ne.jp/holly/wakeapp/wa_arm021_e.zip
3) SMSDeliveryFix - to show SMS recipient name in a delivery report - http://forum.xda-developers.com/viewtopic.php?t=42696&highlight=sms+delivery+fix
4) WM5NewMenu - similiar to WM2003 "New" button - http://forum.xda-developers.com/viewtopic.php?t=40088&highlight=wm5newmenu
5) WM5torage - PDA acting as a memory card reader without ActiveSync - http://www.modaco.com/WM5torage-t238545.html
6) Some software for sending and receiving vCard via SMS.
Thank you for the great effort :wink:
The correct E or G icon
Caps, Num, lock indicators
ability to set OMPA and forget it.
smaller scroll bars
the three reptile themes at this site, I think everyone would like these, grey, blue, and red.
http://www.zombienexus.net/portal/GL_SubDirectory.asp?SEC=3&CatID=70
TCPMP-media player
Total Commander-file explorer/reg editor
Agile Messenger-great messaging app aol,msn,icq etc.
I think these are good apps that everyone could use.
the only thing i think would be beneficial would be adding all the reg edits that reg wiz adds to speed up our device, so we don't have to do it each time we clear storage. THAT would be awesome. i could care less about apps being included, i can install them just fine; but it's a pain in the ass every time i clear storage/flash new rom, that i have to redo all the reg tweaks.
I haven't found a way, but more emphesis on Storage Memory than Program memory would be good for me. I use alot of storage memory with Contacts, Email (even with moving my attachments to storage) and Calendar databases.
I used the much cleaner 2.17 RUU rom without the ringtones but did copy over a couple of them from the 2.17 with RT and OC. Also copied the OMAP clock and it's shortcuts.
A clean Rom without much of the extras would be good.
I also have customized my Cingular connection to use isp.cingular and [email protected] instead of the built in wap.cingular and [email protected] connection. I also turned of the proxy as it was interfeering with my AKU2 push from my Exch2K3-SP2 box.
Is there anyway to use the EXT ROM or add a slider bar like in WM2003SE?
J-Man5
p.s. thanks for the ROMs. I just got my 8125 about 2 weeks ago and have been having mucho grande fun with it.
ROM additions
How about:
- Total Commander
- ?? some sort of free registry editor (PHM RegEdit?)
- smartskey, I agree, but I think it's ini file needs to be in the same directory and it's small so this may not work
- RegWizard (the xda developer forum developed list of hacks), although actually i don't think this is necessary because it along with its framework requires over a meg, and you can just delete it once you install the desired reg hacks. . .
- Magic Button or some other similar task manager thing
I don't think more themes or ringers would be uniformly useful.
jason
Can you add something to truly shut down apps?
I've gotten in the habit of shutting down apps through the running programs tab under memory. Is there any way to make this easier such as putting a direct link in the Start menu to this page or on the Today list.
You know, summiter, you could just fix it so that the programs actually close when you hit the X.
Re: Can you add something to truly shut down apps?
sbuff said:
I've gotten in the habit of shutting down apps through the running programs tab under memory. Is there any way to make this easier such as putting a direct link in the Start menu to this page or on the Today list.
You know, summiter, you could just fix it so that the programs actually close when you hit the X.
Click to expand...
Click to collapse
Not unless he is going to rewrite the way Windows Mobile works. Thats a M$ thing. And also why apps such as vBar and Magic Button and InClose exist.
Summiter may be a ROM compiling wizard but lets not lay too many burdens at his feet to fix.
I'm just really happy push email is working.
J-Man5
Suggestions:
TCPMP with plugins http://tcpmp.corecodec.org/about
tGetFile.dll http://tillanosoft.com/ce/tgetfile.html
PocketNotepad http://tillanosoft.com/ce/pnotepad.html
PocketTweak http://tillanosoft.com/ce/ptweak.html
Adobe Reader 2.0 is huge and belongs in ROM. But is it popular enough? http://www.adobe.com/products/acrobat/readstep2_mobile.html#pocketPC
Continued Bluetooth Fixes
I have notice several still having Bluetooth issues with the lack of support; specifically, SSP over bluetooth. This opens up additional application possibilities not available today. I wouild like to run Bluetooth GPS with receivers such as the Holux 236 GPSlim, but the lack of SSP makes this almost impossible.
Just a thought
I'd like to see common registry hacks already applied and perhaps a txt file explaining the ones included with the new ROM. For example, the ones I listed below are from my own notes so when I re-flash I can re-apply them.
Regarding software, I'd almost prefer to see CAB files instead of pre-loaded software. Since CABs disappear once installed, we could make the choice of installing or deleting, and thus possibly save space but also gain the benefit of having them ready-to-install. You could even use different subdirectories for free vs the ones requiring a registration code to help keep the surprise / disappointment factor down (when we find out it costs money). This would also prevent a problem of competing solutions for some who prefer one plugin over another if they both serve a common function.
Along the same lines, I believe registry hacks can be applied via CAB files or maybe even .reg files (or maybe not - I'm still educating myself with all of this). You could stick with what you have for the current ROM but load it up with optional extras which could be deleted if we just didn't want them.
I think what you're doing is great and applaud your efforts!
I just started configuring my 8125 today, these are the hacks I applied so far (after stepping up to your 2.17 ROM):
Enable scrolling in IE with 4-way button
HKLM\SOFTWARE\Microsoft\Internet Explorer\Navigation\4-Way Nav
Change Value from 1 to 0.
____________________
Slide-out Keyboard Status Indicator
\HKCU\ControlPanel\Keybd
Create entry EnableIndicator and assign DWORD value of 1(decimal)
____________________
Increase your 8125 speed
HKEY_LOCAL_MACHINE\System\StorageManager\FATFS\
Change "CacheSize" value from "0" to "4096".
Assign a value of 1 to EnableCache
HKEY_LOCAL_MACHINE\System\StorageManager\Filters\f sreplxfilt\
Assign a value of 4096 to ReplStoreCacheSize
____________________
Disable menu animation – removes menu animation which uses up system resources
HKEY_LOCAL_MACHINE\SYSTEM\GWE\Menu
Change "AniType" from "6" (default) to "0" (disabled).
____________________
Change the width of the vertical scroll bar and the height of the horizontal scroll bar so they take less room on the screen:
HKEY_LOCAL_MACHINE\System\GWE
Change cxVScr to (say) 9 to make vertical scrollbar narrower. Default value is 13
Change cyHScr to (say) 9 to make horizontal scrollbar narrower. Default value is 13
____________________
Enable 802.11g
[HKEY_LOCAL_MACHINE\Comm\TNETWLN1\Parms]
"dot11SupportedRateMaskG"=dword:00000008
"dot11SupportedRateMask"=dword:00000001
TCPMP
TCPMP definitely, I use this more than any other app on pocketpc devices.
I think you should also consider a paired down ROM. One without any Cingular addons that aren't required to make the device work on Cingular. Basically only the ones that set up MMS and the GPRS settings. I'd even leave out the proxy if thats possible.
But in this paired down ROM I'd still include a few extras like some extra themes and ringers.
And I'd put in the two programs I don't think anyone can live without, SmartSkey and TotalCommader.
Thats basically the setup I have now, but I'm wasting space in my extended ROM and other areas because there are things on my device that I can't remove and I'm not using.
azagahl said:
Adobe Reader 2.0 is huge and belongs in ROM. But is it popular enough? http://www.adobe.com/products/acrobat/readstep2_mobile.html#pocketPC
Click to expand...
Click to collapse
Is Adobe reader prefered over the ClearviewPDF Reader that is already in the ROM?
Re: Continued Bluetooth Fixes
jlsenter said:
I have notice several still having Bluetooth issues with the lack of support; specifically, SSP over bluetooth. This opens up additional application possibilities not available today. I wouild like to run Bluetooth GPS with receivers such as the Holux 236 GPSlim, but the lack of SSP makes this almost impossible.
Just a thought
Click to expand...
Click to collapse
I'm not familarwith SSP. Is it a profile? What does it enhance/enable?
Do you know if there are any WM5 devices which have it? (perhaps it can be ripped out and added to the Wiz)
knight4led said:
I think you should also consider a paired down ROM. One without any Cingular addons that aren't required to make the device work on Cingular. Basically only the ones that set up MMS and the GPRS settings. I'd even leave out the proxy if thats possible.
But in this paired down ROM I'd still include a few extras like some extra themes and ringers.
And I'd put in the two programs I don't think anyone can live without, SmartSkey and TotalCommader.
Thats basically the setup I have now, but I'm wasting space in my extended ROM and other areas because there are things on my device that I can't remove and I'm not using.
Click to expand...
Click to collapse
haha this is at least the second message that goes something like: "how about a ROM stripped of everything, but add this and that and oh yeah add this too". I say this in good fun so don't take offense. It just indicates that everyone has quite unique needs.
I will create a barebones ROM as well. But I don't want to have too many ROMs out there because I don't want to have to rebuild them all when something changes.
As far as using the Extended ROM for other purposes..as of now it can't be done. It's locked in some way that prevents effectively using as storage space. (if you try to manipulate it, it becomes corrupted). So the only use for it is to install stuff at first boot.
Well I might as well put in my two cents....but first....Summiter....marry me! I'll tell my wife to divorce me and she can take her nokia phone with her!
-Ok definitely Smartskey in the same folder as Omapclock so smartskey.ini file can tell omapclock to clock me at 216 everytime after soft reset.
-Please take out the stupid SIP keyboard...i'ts useless and can only be used by leprechauns with little fingers.
-A way to easily change splash screens.
-Hide SIM contacts
HKCU\ControlPanel\Phone
new DWORD value named "ShowSim" and set it to 0
1. Disable menu animations to increase performance:
"HKEY_LOCAL_MACHINE \SYSTEM\GWE\Menu"
Change "AniType" from "6" (default) to "0" (disabled).
- Add vibration instead of sound to keypresses in the phonepad for better tactile feedback:
for i = 0 to 9
Give an example for "i" Button:
[HKEY_CURRENT_USER\ControlPanel\Sounds\Dtmf "i"]
1. Rename Standart DWORD parameter "Sound" to "Sound1"
2. Create new String Parameter "Sound"
3. Assign value *vibrate* to this new parameter.
For this there is also a cab file available.
***this is a cool registry tweak
- oh and this is a must have, all these pda phones lack in the phone department...people on the other side of a phone call can barely hear us until you put this registry tweak in.
\\\registry\HKLM\Software\HTC\AUDIOGAIN(x)\
changed RECEIVE_UPLINK_VOLUME and EARPHONE_UPLINK_VOLUME values to CC. after that change, microphone sensitivity got better and didn't receive any more complaints.
Though i wish someone knew a way to improve the sound mic quality during speakerphone.
And there are so many ringtones in your rom summiter...they all sound alike lol. put the You've got mail.wav file for incoming mail, i have it if you want. how bout some funny ringtones or music ringtones instead?
k that's all
Hi! Check this out, it comes from the LG Incite.. explains a ton of the variables involved with the GPSOne chipset.. part of it is passworded, i'll dig the password out in a bit
This lets you tweak pretty much any variable involved with the GPSOne chipset internal to qualcomm msm7xxx devices.
Copy the .dll and .exe to the device in any folder you like, and run the .exe (it's hidden so make sure you have show all files on)
http://rapidshare.com/files/192175960/GPSOneApp.rar
Dood...YOU ARE THE MAN!
In helping people out in the threads on GPS issues, I was JUST THINKING I WISH I HAD THIS! I'm running tools from from other chipset vendors with so-so NMEA parsers and no access to binary or advanced chipset commands.
Installing...
*EDIT: This little app has a lot of potential. I'll need sometime to test and play with this.
Da_G said:
Hi! Check this out, it comes from the LG Incite.. explains a ton of the variables involved with the GPSOne chipset.. part of it is passworded, i'll dig the password out in a bit
This lets you tweak pretty much any variable involved with the GPSOne chipset internal to qualcomm msm7xxx devices.
Copy the .dll and .exe to the device in any folder you like, and run the .exe (it's hidden so make sure you have show all files on)
http://rapidshare.com/files/192175960/GPSOneApp.rar
Click to expand...
Click to collapse
LOL I gotta try this...
EDIT:: Threw together a quick cab file to install this. It creates a shortcut in Start Menu\Programs\Tools
can't launch it (i yet know it is hidden, but i've made a custom shorcut pointing to the hidden .exe).
it gives an error:
the file gpsoneapp cannot be opened. either it is not signed with atrusted certificate or one of its components cannot be found. if the problem persists, try reinstallling or restoring the file.
Did you copy the .dll to the same folder as the .exe or in your system path? (\Windows)
Thanks for the .cab dharvey4651 Although it's not HTC soft so i duno about the \HTC folder..
fourcc said:
can't launch it (i yet know it is hidden, but i've made a custom shorcut pointing to the hidden .exe).
it gives an error:
the file gpsoneapp cannot be opened. either it is not signed with atrusted certificate or one of its components cannot be found. if the problem persists, try reinstallling or restoring the file.
Click to expand...
Click to collapse
Try the cab file I posted right above your post.
Da_G said:
Did you copy the .dll to the same folder as the .exe or in your system path? (\Windows)
Click to expand...
Click to collapse
yes i did. dll and hidden exe is in its own folder. Custom made shortcut is rechecked for a typo. but everything seems fine.
edit 1
...now trying the cab.
edit 2
cab works! don't know why but now it works
Da_G said:
Thanks for the .cab dharvey4651 Although it's not HTC soft so i duno about the \HTC folder..
Click to expand...
Click to collapse
Yeah I didn't know who really made it so I just guessed. Ha oh well the cab file works. I tested it personally
Aside from the dll I included, all dependancies are on windows system files, so unless your system is missing something..?
with the cab, it works.
thanks to all
So now that we have established that I'm the man, let's get that password
lol
I won't have time to check that out for a while, i'm working on porting other drivers etc. from lg incite to raphael.. whee
I almost feel dumb for spending the time to look... I guess I just like doing things the hard way
The password is all 0's
Da_G said:
I almost feel dumb for spending the time to look... I guess I just like doing things the hard way
The password is all 0's
Click to expand...
Click to collapse
what part needs password? I played a little this morning, I wonder if we can disable the static nav like w/the sirf tools. Or can this tool only read stuff? Any luck yet Da_G?
it definitely writes, it doesn't write directly to NVRAM though, only through IOCTL's.. nothing to disable the 'static nav' like behavior though, that'll be in NVRAM. Gotta find the memory address for it so we can use RegisterEditor.. or get access to the radio ROM..
The passworded part(s) are the system settings menus.. the first "user setting" menu is tied to the LG's gpsid (it stores the registry entries in a different part) so you can't toggle the menu options there and have them take effect.. but it at least explains what the options do and you can find the corresponding registry entries in HKLM\Software\HTC\SUPL AGPS.. but the system settings.. in particular UMTS PDE IP, port, url are persistant through a hard reset.. stored in MFG partition probably.. using this you can change the AGPS PDE server you're talking to.. i have good results with supl.nokia.com 66.35.236.25 port 7275..
Oh wow, this is a great little app. Thanks to Da_G and dharvey for getting this to us. I bet now we can get our GPS to funtion like its supposed to.
Da_G said:
using this you can change the AGPS PDE server you're talking to.. i have good results with nokia.supl.com 66.35.236.25 port 7275..
Click to expand...
Click to collapse
What do you mean DA-G? that if we use these settings we will get a working AGPS service in our devices in any part of the world and with any operator?
I won't say that (as I cannot test to verify)
But you will certainly have a better chance, as supl.nokia.com is open to worldwide use, whereas the default AT&T servers may not be.
It might be placebo, but when I have gpsoneapp open a gps connection, with my system settings set to what i mentioned above, it seems to be using the assistance servers (as I get a sub-30 sec fix on cold start)
I don't see the same behavior with htc gps tool or any other gps program, so i'm tempted to think gpsoneapp issues an assistance IOCTL that kicks things into gear..
But again, i'm gonna call placebo effect on that until I do many more tests
Da_G said:
I won't say that (as I cannot test to verify)
But you will certainly have a better chance, as supl.nokia.com is open to worldwide use, whereas the default AT&T servers may not be.
It might be placebo, but when I have gpsoneapp open a gps connection, with my system settings set to what i mentioned above, it seems to be using the assistance servers (as I get a sub-30 sec fix on cold start)
I don't see the same behavior with htc gps tool or any other gps program, so i'm tempted to think gpsoneapp issues an assistance IOCTL that kicks things into gear..
But again, i'm gonna call placebo effect on that until I do many more tests
Click to expand...
Click to collapse
I have to concur with this. Completely. I am a US T-Mobile Customer and I'm using an AT&T Fuze. When I got the phone nothing worked(data, GPS, etc...). Since then it seems I've gotten everything figured out. Data works with a simple registry change. GPS works AWESOME now. I can now lock from a cold start(right after a reset) in less than 20 seconds(a minute in my bedroom with no visibility) and I'm a very happy man.
I just want to say thanks to everyone here at XDA!!! Especially Da_G for this post here. I used nokia's servers just now and changed my AGPS connection to T-Mobile Data and now my GPS is super fast!
Thanks again!!!
dharvey4651 said:
...now my GPS is super fast!
Click to expand...
Click to collapse
I'm also a USA T-Mobile customer (on an unbranded phone). Would you mind sharing what settings changes you made? I'd love to have the same GPS performance you're seeing.
If your changes are the same as what you put into the .cab you posted here:
http://forum.xda-developers.com/showthread.php?t=478199
then I've done that, and thanks already. Non-technical types like myself definitely appreciate the hard work of yourself and everyone else here.
Hi folks,
I need to know what the "correct" values for the Internet Sharing registry keys look like, so I can write an app that fixes them for those of us who don't have it working. To do this, I'm asking if people can do some simple steps for me:
1) Install Webserver Native Access v0.5.3 on a dev-unlocked phone, if you don't already have it. If possibly, please use the AllCapabilities version but even the normal-capability version helps.
2) Run the app and use a browser on your PC to navigate to Registry, HKEY_LOCAL_MACHINE, SYSTEM\CurrentControlSet\services\ICSSVC (URL should look something like http://192.168.0.15:9000/Registry?hive=80000002&path=SYSTEM\CurrentControlSet\services\ICSSVC).
3) Click "Download this key and subkeys as .REG" and save the resulting file.
4) Post that file (in a .ZIP or as a .TXT) here, along with the following info:
4a) What phone model you have (if using a modified ROM, which ROM as well).
4b) What carrier (mobile operator) you have, and whether your phone was built for that carrier.
4c) What OS version you are running (exact build won't hurt but shouldn't matter).
4d) Whether the "Internet Sharing" feature currently works for you, and if not, what error you get.
Thank you so much! I'll post an example below.
By the way, I'm particularly interested in the following classes of phone:
* Everybody who can run the AllCapabilities version of the webserver.
* Anything on T-Mobile US that has working ICS. Since it seems to work only for TMo-branded phones, better still if your phone isn't a TMo model.
* Anybody who has working Internet Sharing on a different carrier than their phone was built for.
* Anybody who has it work on their home carrier but not on any others.
* Anybody for whom it does not work and never has.
* Anybody who has an open-market phone and Internet Sharing works on multiple networks for them
(I will add to this list if other classes of problem crop up and need to be fixed in a different way).
I should mention that there's no guarantee that the fix will be available for all phones, at least not until we interop-unlock them. It should be possible for any phone with IU, though, at a minimum.
Thanks for your help! (Seriously, I'll push Thanks for anybody who sends useful data *at least* until I get it working.) This could benefit a lot of us here; in theory, it might even allow us to get Internet Sharing working without it using tethered data limit too.
Example from my phone
Phone model: Samsung ATIV S (SGH-T899M), stock (but capability-unlocked and somewhat hacked) ROM
Carrier: T-Mobile US, but the phone was built for Telus in Canada even though it had no SIM lock.
OS version: WP8.0 GDR3 plus the pre-8.1 update (Samsung firmware slightly tweaked to reserve registry and filesystem writing).
Feature status: Internet Sharing feature does not work for me on this carrier, and never has. Error is:
Connection Not Shared
There's no cellular data connection to share right now. Check your cellular settings and signal, and try again.
Click to expand...
Click to collapse
(As a side note, that error message is a dirty lie.)
I'm very confused about this one topic.. Because i always share my internet connection without data plan since 8.0 & it works fine. Never disconnect.
Firstly i would like to know as what peoples want as refers this one.
Sorry for no helping points.
Wow, "THANKS" @djamol. Would it have been too bloody hard to follow the steps so you would have actually contributed something to this thread? If your Internet Sharing works, even though you don't have a tethering plan (I *VERY* strongly doubt it works if you don't even have a data plan; that makes no sense at all) then your configuration data would have been very valuable.
There are quite a few people who are either completely unable to use the Internet Sharing feature or for whom it would cost extra (even though, in some cases, it is *supposed* to be included in their plan). The goal is to help these people.
Phone model: Samsung ATIV Odyssey (SCH-I930), interop unlocked(thank you sir!!!)
Carrier:Verizon US
OS version: Dev Preview 8.1 Update 1(8.10.14147.180)
Feature Status: Working (Seems on other devices/earlier OS's I got a warning message about data usage but not now). Haven't tried on other carriers; first time used.
A little side note: Still had Internet Sharing enabled when I started the webserver app and got a strange IP or MAC address which when clicked on threw an error. Couldn't find the address on any devices connected to my wireless or on the router itself. Included screenshots...
Aw hell, that's an IPv6 address again. I really ought to fix the app for handling those. Thanks for the reminder...
Also, big thanks for the file! I'd like some more from different versions, just to get a feel for what's version-specific vs. different for reasons of working-or-not, but that was already helpful.
EDIT: Did you use the AllCapabilities version of the app? It looks like the standard version can't read one of the relevant registry keys, and sadly it's the one that is most useful.
GoodDayToDie said:
4) Post that file (in a .ZIP or as a .TXT) here, along with the following info:
4a) What phone model you have (if using a modified ROM, which ROM as well).
4b) What carrier (mobile operator) you have, and whether your phone was built for that carrier.
4c) What OS version you are running (exact build won't hurt but shouldn't matter).
4d) Whether the "Internet Sharing" feature currently works for you, and if not, what error you get.
Thank you so much! I'll post an example below.
By the way, I'm particularly interested in the following classes of phone:
* Everybody who can run the AllCapabilities version of the webserver.
* Anything on T-Mobile US that has working ICS. Since it seems to work only for TMo-branded phones, better still if your phone isn't a TMo model.
* Anybody who has working Internet Sharing on a different carrier than their phone was built for.
* Anybody who has it work on their home carrier but not on any others.
* Anybody for whom it does not work and never has.
* Anybody who has an open-market phone and Internet Sharing works on multiple networks for them
(I will add to this list if other classes of problem crop up and need to be fixed in a different way).
Click to expand...
Click to collapse
Hi,
4) Attached.
4a) Nokia Lumia 920 RM-821 on UK CV ROM, but originally phone came with Orange Poland ROM
4b) I'm on Orange too, though not in Poland nor in UK.
4c) Running WP8.1 Update 1 on Lumia Black firmware.
4d) Internet Sharing feature worked smoothly for me from the beginning on any rom i flashed and any firmware, so yes, it's working without any problems.
Hope this helps.
@GoodDayToDie
Guess I can help!
4a) T-Mobile Branded HTC 8X running WP 8.1 Developer Preview
4b) T-Mobile US. It was built for the carrier
4c) OS version 8.10.12400.899; Firmware 3030.0.34101.531
4d) Internet Sharing works great! Sometimes when I am roaming, I get a message saying I don't have a plan that supports Internet Sharing and that I need to purchase one.
Hope that helps!
GoodDayToDie said:
EDIT: Did you use the AllCapabilities version of the app? It looks like the standard version can't read one of the relevant registry keys, and sadly it's the one that is most useful.
Click to expand...
Click to collapse
Sorry, can't sideload AllCapabilities version and of course the Bootstrap app succeeds but AllCapabilitiesUnlock fails on this OS. I am currently trying to find you any other info via FS Access and came across this if it's of any use ???
Oh right, I meant to release an updated version of EnableAllSideloading for 8.1. Whoops, I should do that. If you want to help out with that (not really the right thread but oh well, it's sort of relevant), dropping the exported .REG for HKLM\SOFTWARE\Microsoft\SecurityManager will help a lot. Note that it will include a list, by GUID, of all the apps you've installed (but nothing much else of a potentially-sensitive nature).
The files you provided are interesting. I can't say I know what the value in the first one mean, but they do imply a Verizon-specific difference in the feature. The second you actually might not want to share; it has the (default?) configuration of the Internet Sharing network in it, including key material. The third isn't actually data by itself; it instead defines the schema for the HotSpot configuration file. This info is potentially useful (though I wasn't able to get a Configuration Service Provider to parse my HotSpot provxml when I tried, probably because I didn't have the requisite access) although the info is also available publicly online.
4) Posted rar file here. Though I get no value, using the webserver and snicklers registry tools. Shows error2 in webserver. Registry Tools doesn't show any error just shows "no value".
4a) Using a Samsung Ativ-S SGH-T899M running Wolf's Fake Rom
4b) Using it on Simple Mobile, bought it sim unlocked I think it used to say Telus before the fake rom.
4c) OS Version 8.10.12359.845
4d) Internet Sharing works fine after Wolf's Fake Rom.
Whaaaa? That's weird. Error 2 means FILE_NOT_FOUND, or, more precisely here, means the registry key wasn't found. If you go up a level (CurrentControlSet\Services) is there not any ICSSVC key? Can you maybe post the .REG for that entire key?
Samsung ATIV S Neo (SPH-I800) Stock Rom - Interop-Unlocked/All Capabilities
Sprint for Sprint
Window Phone 8.1 Update through DP: 8.10.14147.180
Internet Sharing doesn't work for me.....that might be because I haven't paid Sprint for it.
Error:
Connection Not Shared
There's no cellular data connection to share right now. Check your cellular settings and signal, and try again.
Also attached, what I think, is the text of the S printEntitlement dll. This may be only be relevant for sprint....
Blue_Frog was working on something regarding ICS here: http://forum.xda-developers.com/showpost.php?p=54704074&postcount=577
-tdecision10
Any movement with this?
-tdecision10
Was reading wolfs MBN Creator thread the other day and somebody mentioned a backup of the CSC being stored at C:\Windows\System32\CSC
It has to be blocking the internet sharing when the original CSC is run during a hard reset. However wolfs CSC has internet sharing working fine. Tested by me. Im using an ativ s t899m WP8.1 running wolfs fake rom.
Using the webserver I pulled the files from my phone. Using sam-tools I extracted his CSC file, not directly off phone just from the mbn file from his fake rom thread.
Don't have time to look them over but here they are.
Looked over files in my previous post.
The stock CSC has 5 different configurations, all from different carriers. Most of the files contain nothing related to internet sharing except the SS_xxx_CSC.xml file. This one contains a lot of registry edits that aren't included in the wolf csc. Some for accent colors, tile layout, etc. but there is a few registry edits that regulate internet sharing in there. This same file in wolf's csc contains a bunch of capability unlocks but nothing even close to the stock versions with all the reg edits for all sorts of different stuff.
It mentions a dll file named EAPSIMHSPlugin.dll that I wasn't able to find on my phone. Not that I don't think its there I just wasn't able to get to the directory from the webserver. Here is the path c:\Programs\HotspotHost\MSFT\EAPSIMHSPlugin.dll
Here are the 3 edits made that I think block internet sharing. They are in
HKLM\Software\Microsoft\Windows Phone\HotspotOffload
I have that directory in my phone and it includes the subdirectory Plugins and Parameters but neither include any keys within them.
Can someone test this edit and see if its gonna be this easy to turn off the internet sharing block.
HKLM\Software\Microsoft\Windows Phone\HotspotOffload\Plugins\MSFT\PluginRank
Change the 1 to 0
Ill attach a txt file of the entries I copied and pasted from the Telus CSC files that would have anything to do with internet sharing for all the reg edits made incase anybody wants to look.
Oddly enough, my phone doesn't have that key at all. It has the Plugins key, but no subkeys of it (and no values like the ones in the provxml you attached). Of course, that could be due to previous experiments that I've tried (though they didn't work). Similarly, it has the Parameters key but not the subkeys listed in the attached file.
Huh, I really thought we had something there.
Another difference is in the config file. Ill attach just them. Not sure where to go with the differences though. Not familiar with it.
Does any one know the registry settings to enable internet sharing?
There's a small collection of them, what isn't working about it on your phone? If it's something like the mobile operator permission check, then yeah, we can bypass that.
GoodDayToDie said:
There's a small collection of them, what isn't working about it on your phone? If it's something like the mobile operator permission check, then yeah, we can bypass that.
Click to expand...
Click to collapse
Really? I missed that. Is that in a thread somewhere?
I have the Samsung Ativ S Neo from Ssprint.
-Tdecision10
There are a number of threads about Internet Sharing and about registry tweaking. The requirement for tethering to be enabled on your account is checked by a mobile operator-specific DLL that is used by ICSSVC (the Internet Connection Sharing SerViCe). There's a registry value that tells the phone what DLL to load, or whether to load any. If you don't tell it to use any, it defaults to assuming you have access.
There are a number of ways to make registry changes on your phone. You can flash a custom CSC (not a full ROM, though if you look for "custom ROM" on the dev&hacking subforum, you'll find stuff about it), or you can edit the registry directly using a hijacked app chamber, or you can interop-unlock (itself requiring a registry edit, so you probably need to use the chamber hack unless you're on an old version of Samsung's firmware) and unblock RPC, then use the RPCComponent.
GoodDayToDie said:
There are a number of threads about Internet Sharing and about registry tweaking. The requirement for tethering to be enabled on your account is checked by a mobile operator-specific DLL that is used by ICSSVC (the Internet Connection Sharing SerViCe). There's a registry value that tells the phone what DLL to load, or whether to load any. If you don't tell it to use any, it defaults to assuming you have access.
There are a number of ways to make registry changes on your phone. You can flash a custom CSC (not a full ROM, though if you look for "custom ROM" on the dev&hacking subforum, you'll find stuff about it), or you can edit the registry directly using a hijacked app chamber, or you can interop-unlock (itself requiring a registry edit, so you probably need to use the chamber hack unless you're on an old version of Samsung's firmware) and unblock RPC, then use the RPCComponent.
Click to expand...
Click to collapse
http://forum.xda-developers.com/showpost.php?p=54929482&postcount=13
http://forum.xda-developers.com/showpost.php?p=54652850&postcount=575
I followed and did everything posted in these but I'm still not sure if there was a solution for s print.
"and unblock RPC, then use the RPCComponent. " I think this is the part I need to be educated on.
-tdecision10
That is one (of several) methods for editing the registry. It can write more places than the other methods, but only works on Strings and Integers (DWORDs) and is only usable on Samsung phones. It requires that your process have ID_CAP_INTEROPSERVICES, which many OEM apps (and some first-party ones, like Skype) have, but which is not normally available to sideloaded apps.
"Unblock RPC" is the term we use for telling a Samsung service that it's in test mode by placing a file named "Non-production errors.txt" in the Documents folder of the phone. This will allow using RPCComponent anywhere in the registry, instead of just in a few specific places. Search for "unblock rpc" to learn more.
RPCComponent is a Samsung-provided native (C++/CX) DLL and WINMD for accessing various privileged functions by means of a high-privilege RPC (Remote Procedure Call) server. It is not publicly available but is bundled in many of Samsung's OEM apps and is available on this forum inside most .XAP files intended for use on Samsung phones (such as my own BootstrapSamsung tool; see the interop-unlock thread). As mentioned above, you need ID_CAP_INTEROPSERVICES for it to be useful.
GoodDayToDie said:
That is one (of several) methods for editing the registry. It can write more places than the other methods, but only works on Strings and Integers (DWORDs) and is only usable on Samsung phones. It requires that your process have ID_CAP_INTEROPSERVICES, which many OEM apps (and some first-party ones, like Skype) have, but which is not normally available to sideloaded apps.
"Unblock RPC" is the term we use for telling a Samsung service that it's in test mode by placing a file named "Non-production errors.txt" in the Documents folder of the phone. This will allow using RPCComponent anywhere in the registry, instead of just in a few specific places. Search for "unblock rpc" to learn more.
RPCComponent is a Samsung-provided native (C++/CX) DLL and WINMD for accessing various privileged functions by means of a high-privilege RPC (Remote Procedure Call) server. It is not publicly available but is bundled in many of Samsung's OEM apps and is available on this forum inside most .XAP files intended for use on Samsung phones (such as my own BootstrapSamsung tool; see the interop-unlock thread). As mentioned above, you need ID_CAP_INTEROPSERVICES for it to be useful.
Click to expand...
Click to collapse
I interop-unlocked (all-capabilities) my phone using methods you've posted. This was earlier in the year sometime.
http://forum.xda-developers.com/showpost.php?p=54929482&postcount=13
I followed this closely but didn't see any finality.
I just added the Non-production errors.txt in the place noted on that relative thread.
Not sure what to do next.
Forgive me if I am being a bother.
-tdecision10
Yeah i'm completely lost. The EnableAllSideloading XAP won't deploy for me (The manifest could not be loaded and may not be valid) so I can't even full unlock, and I have no clue how to go about using the MBN creator. So if you could hold my hand, I'd love it....
okay so I figured out MBN creator (kinda) but I still need to know the proper reg settings to disable the carrier authorization check.... i.e. the setting that points to the carrier specific DLL you mentioned...
EnableAllSideloading doesn't work on WP8.1 because they changed the security on the registry key where it operates. If you can't sideload it, that's because you're not interop-unlocked at all.
MBN Creator should, in theory, not require any particular customization unless your operator requires it; the *default* state of the Internet Sharing feature is "no restrictions, enabled by default". Several people have reported that IS started working after they flashed a custom CSC even though that CSC had nothing to do with IS, just because it removed the carrier-specific customizations that were present (and were blocking IS from working) before.
@tdecision10: If you are or were able to capability-unlock, then you can just sideload any registry editor tool you want and use that. Some of them are better than others, of course. A handful of apps, like WPTelnetD (https://github.com/FurballTheGreat/WPTelnetD/releases), ship with almost no capabilities so that they can be sideloaded on any phone, but you could unpack the XAP and edit the capability list before installing if you want to. A capability that gives access to the relevant registry key is ID_CAP_RUNTIME_CONFIG.
GoodDayToDie said:
EnableAllSideloading doesn't work on WP8.1 because they changed the security on the registry key where it operates. If you can't sideload it, that's because you're not interop-unlocked at all.
MBN Creator should, in theory, not require any particular customization unless your operator requires it; the *default* state of the Internet Sharing feature is "no restrictions, enabled by default". Several people have reported that IS started working after they flashed a custom CSC even though that CSC had nothing to do with IS, just because it removed the carrier-specific customizations that were present (and were blocking IS from working) before.
@tdecision10: If you are or were able to capability-unlock, then you can just sideload any registry editor tool you want and use that. Some of them are better than others, of course. A handful of apps, like WPTelnetD (https://github.com/FurballTheGreat/WPTelnetD/releases), ship with almost no capabilities so that they can be sideloaded on any phone, but you could unpack the XAP and edit the capability list before installing if you want to. A capability that gives access to the relevant registry key is ID_CAP_RUNTIME_CONFIG.
Click to expand...
Click to collapse
Okay, I put Pasquiindustry CustomPFD on my pc unzipped it added that capability in the WPAppManifest. xml file, rezipped it but now it won't deploy.
Did I think it was too simple?
EDIT:
For Spr int, I think I need to figure out how to do this:
TetheringNAIConnection
Optional. Specifies the CDMA TetheringNAI Connection Manager cellular connection that internet sharing will use as a public connection.
If a CDMA mobile operator requires using a Tethering NAI during internet sharing, they must configure a TetheringNAI connection and then specify the connection in this node.
Specified connections will be mapped, by policy, to the internet sharing service. All attempts to enumerate Connection Manager connections for the internet sharing service will return only the mapped connections.
The mapping policy will also include the connections specified in the DedicatedConnections as well.
(This is the error I get)
If the specified connections do not exist, internet sharing will not start because it will not have any cellular connections available to share
Anyone know how to add this to the APN settings?
-tdecision10
well, i reverted to 8.0 and then updated to 8.1 via retail without thinking.... so i got the new firmware and took myself out of the game :crying:
edit: reverted back to 8.0 again and i have the old firmware again. i think using the mbn creator is key. with older versions of windows phone, the APN settings were all built into the rom. now they are provisioned OTA. everytime i change the CSC, the device fails the authorization check with sprints servers and the device doesn't provision itself. what we need is the provxml that contains all of sprints APN settings. I used to have this information in a kitchen for WM 6.5, but sadly, I deleted it a long time ago. i can currently do one thing or another, unlock internet sharing but have no data connection, or, have a data connection with internet sharing locked. i believe that i can make a custom CSC with all the necessary edits but I need to get my hands on the correct sprint provxml first. I've tried and tried to find an old kitchen for Sprint with the correct files in it, but because it's so old most of them are dead download links. I think even a stock RUU for the GOLD_C (Sprint's HTC Arrive) would do. If anyone has this or can track it down I think we'd be in business....
@GoodDayToDie thanks for all the input, it's really helpful. I think that most people have found success by simply changing their CSC because their phones are not CDMA. we've got all these extra restrictions that keep the technology from working automatically
also, i believe that if I could manage to somehow get my MSL unlock code, I could manually program the APN. problem is, CDMA Workshop can't read it, and the free version doesn't let you use the brute force option to find it. Sprint changed their policy in October to under no circumstances giving out the MSL code unless your contract is up. I'm going to continue to keep trying different tech support reps to see if I can get one of them to give it up.
@tdecision10 I'm getting close, but I REALLY need those WM 6.5/7 Sprint OEM packages..... if you know of anyone or come across it browsing it would be immensely helpful!
mtstmp, I have leadpoizon's old rom for HTC Arrive. Let me know if that will work and if so, how to get it to you.
-tdecision10