Related
A kitchen of a cleaned Sprint's 3.35.651.2
running WM 6 CE OS 5.2.1629 (Build 18136.0.4.8)
(no radio included -- requires 3.35.04, 3.37.20, 3.39.10)
With the release of 1.3.0 I think that this project may be complete.
I can't think of how to safely free up any more memory and every module
that I had planned is packaged separately into the kitchen.
Small additions may come but I can't foresee any major revisions.
Using DogGuy's Kitchen Maker this was originall based off of a1jatt's preliminary cleaning of the official Sprint release, v1.3.x is a direct cleaning of the 3.25.651.2 OS ROM.
I have packaged the latest official Alltel, Sprint, and Telus carrier setups, with the rest from DCD.
The base (with Office) of this kitchen installs a ROM at 49 MB and when first after boot providing ~25.6 MB of RAM free at the default 6 MB pagepool:
OEMizer & PagePool Changer utils are included for you to customise your ROM further.
Carriers:
Alltel (settings from the April/08 release), Bell, Cricket, QWest, Sprint (settings from March/08 release), Telecom, Telus (settings from the July/2007), Verizon
Removed:
.NET CF 2.0, HTC Guardian, SQM, HTC Home, HTC Task Manager, Adobe Acrobat
Cyberon Voice Speed Dial, Esmertec Java, remaining items of Sprint Navigator, Lockstream DRM, Windows Live, Office
Kitchen:
Except for the rotten HTC Guardian, the kitchen includes all of the removed
apps and utils, plus some fundamental choices for tweaks,
dotFred's Task Manager & Registry Editor, Oxios Memory, SIPChange,
and No2Chem's nueLED 1.5 & nueAudio 1.0,
Remote Desktop, Today Screen Disable Options, UC Compatibility auto-run after first boot,
choice of the newer .NET CF 3.5 or .NET CF 2.0 as included with the Sprint ROM,
Office, OneNote, Windows Live, DCD's standard registry tweaks....some games..., HTC Zip, Touch Dialer,
Esmertec Jbed 20080222_3_1, Esmertec Jeodek 20080115_4_1 (read here for info on differences)
- you may add your own to the Kitchen's OEM directory.
This kitchen package is released to be a small and stable base for the OS.
Follow to this XDADeveloperWiki page for links to many OEM packages for you to
collect and apply the individual items that you wish to build into the ROM.
MIRRORS:
v1.3.2
http://www.megaupload.com/?d=5VR5SV7S
http://www.mediafire.com/?mawzy1wp5dn
v1.3.1
http://www.mediafire.com/?ehydfqjwtyc
http://www.megaupload.com/?d=A457KYNF
v1.3.0
http://www.mediafire.com/?llebzi2snvd
http://www.megaupload.com/?d=M6X685I0
v1.2.5.1
http://www.mediafire.com/?djyuznmmmtn
http://www.megaupload.com/?d=5IKSTCCX
v1.2.4
http://www.mediafire.com/?jzyyoem1zn2
http://www.megaupload.com/?d=LGSDOOL3
THANKS GOES TO:
DCD, a1jatt, No2Chem, and DogGuy for his excellent kitchen utility!!!
~~~~~~~~~~~~~~~~~~~~~
Easy installation:
HINT: Avoid hassles with your USB connection and PC by flashing via a non-SDHC microSD card
This ROM requires Olipro 2.40 bootloader
If flashing ROMs via the microSD method then update to 2.40 before continuing on.
radio 3.35.04, 3.37.20, or 3.39.10 is required
via the microSD card flashing method (below), upgrade your Titan directly to the radio without reflashing the OS or via the full Sprint 3.35.651.2 ROM (radio 3.35.04) or Alltel 3.35.671.9 ROM (radio 3.37.20) or Sprint pre-release 3.49.xx (an executable archives, right click to extract the RUU_signed.nbh ROM file)
Use the SD card method to only flash the CDMA radio to 3.37.20 or 3.39.10
Flash to one of the latest Sprint or Alltel ROMs but do NOT boot into the OS after flashing to this ROM.. Carrier specific customisations will run after screen calibration and alter your EPST settings.
Repeat the microSD flashing routine to flash to the kitchen built ROM.
I. OEMizer (optional)
Run OEMizer.exe from the kitchen's tool directory.
Complete your choices to customise your Titan's OS/Owner/Data/etc configurations
Hit the 'Create OEM' buttom for the customizations to be written into the kitche's OEM directory.
Build your ROM via the kitchen.
II. Kitchen
Run BuildNB.bat to execute BuildOS.
Hit the play button when you have selected your choices.
Exit BuildOS once it has completed.
Let the batch file complete its jobs.
quit the ROM Upgrade utility when it loads up and skip onto the following instructions on how to flash via the microSD card method.
OR follow through to finish the flash with the ROM Upgrade Utility via the USB.
III. PagePool Changer (optional)
Run PagePool Changer.exe
Select your ROM -- /RUU/RUU_signed.nbh
The default is 6 MB
The Titan has limited RAM so it isn't recommended to go beyond 8 MB
go smaller if you want more RAM free
Hit 'Close' when ready.
Flash your custom ROM.
IV. Flashing via a non-SDHC microSD card
With a card reader on your PC, format a non-SDHC microSD card into FAT32 (tested to work up to a 4kb cluster size)
From the kitchen's RUU directory, copy the ROM (RUU_signed.nbh) to the root of the microSD
Rename the ROM to TITAIMG.nbh
Insert your card.
Force into the boot loader with POWER-CAMERA-RESET
Follow the instructions and you'll quickly flash your Titan...
This will work to flash with an official ROM and radio, I think regardless of the boot loader you have installed. But ensure that you have the correct boot loader (olipro 2.40 for this ROM) installed for when you do eventually finish with your flashing and are ready to boot into the OS.
change log
Known issues: nada
~~~~~~~~~~~~~~~~~~
v1.3.2 [23/04/08]
Updated Alltel carrier settings to the that of the April/08 Alltel 3.35.671.9 ROM
Alltel specific Arcsoft MMS settings -- waiting for those on alltel to test
Updated from the new Alltel ROM:
bluetooth drivers BTHCI.dll
CDMA_API.dll
InitProv.dll
v1.3.1
updated Sleuth255's UC to v2.0
Choice between the stock and Touch camera
Choice between the old (stock jeodek) and latest Esmertec Jbed 2008/02/22 Java (apparently you may install both -- read here for info on differences)
Changed mxip_notify.vol to remove any Customer Feedback reminders
Customer Feedback link in settings is removed by default without the need to select DCD's common registry tweaks
v1.3.0
Fully cleaned remaining SQM bloat...well, except for the customer feedback link in system settings.
Finally OEM'd the stock dialer so dialer skins are now supported by the kitchen - fttilt's Touch dialer is included
Sprint is now using nearly identical operators settings as the official ROM
The missing '1' in the stock dialer when using Sprint is resolved.
v1.2.5.1
Back to the stock AudioPara.csv only. The available modifed ones are incompatible with the profile of SPB PhoneSuite and tend to lock up the device. They're for WM 6.1 only? I may include a working option from one created with nueAudio within WM 6, but you can include nueAudio into the build and quickly personalise the handset and 'earcuple' settings within the OS.
v1.2.5
Customer feedback and SQM is removed.
Removed Office, OneNote, and Windows Live and added their options to the kitchen.
Added a choice of Scrufdog's louder AudioPara.csv (tested and works with SPB Phonesuite) or the stock file from Sprint.
Added the option of DCD's regular ROM tweaks.
Were previously bundled into the SYS directory by a1jatt.
v1.2.4
Removed Lockstream DRM as it was prompting issues with the PRL and slow boots.
Returned .NET CF 2.0 as per the Sprint ROM providing the choice between that OR the latest 3.5
v1.2.3
A choice of Comm Managers is now possible
Included the popular 10 button manager
Removed the modifed audiopara.csv and replaced it with the stock file.
It was interferring with SPB Phone Suite's profiles
v1.2.2
Changed the .NET CF 3.5 package to the one included in _Alex_'s v5.1 OEM pack.
Removed the Lockstream DRM files and added it as a kitchen option.
Kitchen additions:
FTouchFlo, FTouchFlo Config, Remote Desktop, and Today Screen stock item disable options.
v1.2.1
I was wrong, it was not .NET 3.5 that was causing the trouble but No2Chem's battery .dll was somehow preventing apps from seeing/accessing COM4.
the battery dll is back to stock.
.NET CF 3.5 is back in and 2.0 is once again removed.
v1.2.0
to resolve VisualGPSc not seeing the GPS's COM4, I removed .NET CF 3.5 and reverted back to Sprint's stock 2.0
removed No2Chem's nueAudio from the kitchen as it requires .NET CF 3.5
v1.1
Added carrier selections
Telus based services from last summer's WM6 offical release
Remainder carriers from DCD's releases
Removed Adobe Acrobat Reader
v1.0
My FIRST ROM/kitchen!
Thanks Key... downloading now. I've been looking to cook a custom TELUS ROM with WM6 and drivers that support the new radio.
FIRST IMPRESSIONS:
- Very Speedy ROM overall
- initial free RAM is ~24 as claimed
- I still think an 8MB pagepool is a must for the TITAN so it was nice to still be able to do a custom PP with this kitchen
- Sprint Customization forces carrier back to SPCS. Is there any fix?
- additional OEM dialer skins, smart dial, calc (vogue) would be nice to cook with as well
- Some things like "get good" still need to be removed
Looks like the kitchen still needs some work at the moment. Flashing back to DCD 3.0.1
Would you consider swapping out the extended rom driver with the one in no2chem's rom so that the extended rom can be unlocked. Also, does your rom work with wm5torage. If not, could you add an option to swap the memory card driver with a previous version that does work with wm5torage.
Thanks for the great work. I'm already downloading your rom!!!!
- Sprint Customization forces carrier back to SPCS. Is there any fix?
SO could I be using this as a functioning 3.35 Sprint kitchen? That's what I am really in search of... Thanks,
Josh
Juicy47 said:
- Sprint Customization forces carrier back to SPCS. Is there any fix?
Click to expand...
Click to collapse
Should be resolved now. The ROM this was based upon wasn't fully set-up for Telus and still had some of the previous Sprint settings in the OEMOPERATORS folder. That's all history with the use of DCD's selectable carriers. As it appears DCD did with his Sprint and Verizon settings, hopefully all is fine with my reversion from DCD Telus settings to the official operator settings from last summer's Telus WM6 release.
Juicy47 said:
- additional OEM dialer skins, smart dial, calc (vogue) would be nice to cook with as well
Click to expand...
Click to collapse
For now I just wanted to get this out clean and working. I haven't had a chance to test for skins yet.
Juicy47 said:
- Some things like "get good" still need to be removed
Click to expand...
Click to collapse
I was disspointed by that too... Anyone know the names of the associated files?
Juicy47 said:
Looks like the kitchen still needs some work at the moment. Flashing back to DCD 3.0.1
Click to expand...
Click to collapse
Thanks for helping! I'm learning. Now I will get onto last night's odd COM4 mystery with VisualGPSc.
atomclock said:
Would you consider swapping out the extended rom driver with the one in no2chem's rom so that the extended rom can be unlocked. Also, does your rom work with wm5torage.
Click to expand...
Click to collapse
I did consider that but I wanted to keep things as simple as possible. You're welcome to add it.
Keystone said:
I did consider that but I wanted to keep things as simple as possible. You're welcome to add it.
Click to expand...
Click to collapse
I would be happy to make the changes. Would you mind telling me where you learned how to change the .net version from 2 to 3.5. I tried doing this using dog guy's kitchen and the original rom image and while i had limited success it was really only a cludge which is kind of buggy. long story short, i dont know how to modify the underbelly of the rom which wold be necessary to change the drivers. if you can give me a link or a brief explanation of the process then i will be happy to work out the details of this mod.
thanks
atomclock said:
I would be happy to make the changes. Would you mind telling me where you learned how to change the .net version from 2 to 3.5. I tried doing this using dog guy's kitchen and the original rom image and while i had limited success it was really only a cludge which is kind of buggy. long story short, i dont know how to modify the underbelly of the rom which wold be necessary to change the drivers. if you can give me a link or a brief explanation of the process then i will be happy to work out the details of this mod.
thanks
Click to expand...
Click to collapse
I deleted the net directory within the SYS directory. Then I added the PPCGeeks OEM of 3.5 to the OEM directory of the kitchen.
I have since removed it and gone back to 2.0, as 3.5 alone was giving a single odd error of VisualGPSc not being able to recognise COM4 for the internal GPS. I'm not sure if it was the GPS driver, VisualGPSc, etc., that was having the issue but since 2.0 fixed and I didn't know what other problems 3.5 may cause, I've gone back to the .NET settings that Sprint released.
Thanks for the offer for the carriers, but I was quicker than I expected! All done.
As for learning, I began last night at 10 on a whim of wanting a cleaned version of the Sprint WM6 release for myself. I had the weekend free so all last night I went for it.
Keystone said:
I deleted the net directory within the SYS directory. Then I added the PPCGeeks OEM of 3.5 to the OEM directory of the kitchen.
.
Click to expand...
Click to collapse
This is the same thing I did but it causes errors with some .net applications. If you look at DCDs roms, the SYS/NET directory is replaced by a SYS/NET35 directory. (Note, you can't just replace the directory it doesn't work) In other words, he integrates net35 into the rom instead of using an oem. I believe that there is a place where the registry keys are hiding but I can't find them. The only glimpse I have had of these hidden registry keys is when you do a partial build of the rom and then extract the user.hv and default.hv files. Then you can see the registry keys. Unfortunately, modifying the registry keys at that stage of the build is not really practical because it would have to be done every time the rom is built. I was hoping you had done the integration similar DCD and that you might share you knowledge. I have searched and I can not find the information.
Thanks again for you work!
P.S. By the way, if I ever learn how to do this I am planning on modifying a WM5 kitchen with the latest drivers and gps so that I can reduce the memory footprint.
atomclock, I dunno but since I found that .net 3.5 wasn't at fault for the GPS and I haven't crashed other apps, I think that I will leave it in. If people notice problems then it will be a quick change for me to revert back to 2.0 in the kitchen.
We may get word from DCD and others as to what and how things are working for them.
thank you!
d/l now. i have to let the phone charge up a bit and then will try out your rom. What are the advantage of the 3.5 framework again?
I am currently running the factory rom cause dcd's version would not let me connect to the net after a period of time.
Juicy47 said:
Thanks Key... downloading now. I've been looking to cook a custom TELUS ROM with WM6 and drivers that support the new radio.
FIRST IMPRESSIONS:
- Very Speedy ROM overall
- initial free RAM is ~24 as claimed
- I still think an 8MB pagepool is a must for the TITAN so it was nice to still be able to do a custom PP with this kitchen
- Sprint Customization forces carrier back to SPCS. Is there any fix?
- additional OEM dialer skins, smart dial, calc (vogue) would be nice to cook with as well
- Some things like "get good" still need to be removed
Looks like the kitchen still needs some work at the moment. Flashing back to DCD 3.0.1
Click to expand...
Click to collapse
Did you try going over 8MB with the pagepool and see what effect it had on free RAM after bootup? I'm running a 24MB pagepool on a Touch and the larger size makes a world of difference.
atomclock said:
I would be happy to make the changes. Would you mind telling me where you learned how to change the .net version from 2 to 3.5. I tried doing this using dog guy's kitchen and the original rom image and while i had limited success it was really only a cludge which is kind of buggy.
Click to expand...
Click to collapse
I'll soon repost a link to download my v1.2 that uses CF 2.0 rather than 3.5.
Hmm, I keep crashing BuildOS.exe when running the batch. I have all the packages as DCD suggested, and can cook other ROMs just fine.
Any ideas what might cause this?
If there is an NBH file in the RUU folder (from previous cook), that will block the BuildOS. Delete it if it is there.
morganlowe said:
Hmm, I keep crashing BuildOS.exe when running the batch. I have all the packages as DCD suggested, and can cook other ROMs just fine.
Any ideas what might cause this?
Click to expand...
Click to collapse
I'm sorry morgan, but few ideas.
Are you extracting the archive of the kitchen to a fresh folder?
Do you have appropriate security rights for the folders?
Are you running BuildNB.bat intact and unmoved from there?
When does it crash? Upon loading BuildOS or when BuildOS dumps the new OS to its created TEMP directory?
Well, I configured my OEMs, added a few of my own. It's fully extracted in it's own folder inside my 'phone' folder. I have all the rights. I did not change any of the files after unzipping.
It crashes right as I run the batch, when it goes to load buildOS...
http://www.morninglion.com/crash.jpg is a screen shot.
Just a guess, but do you have the latest MS Visual C++ Resdistributable installed?
Yup, and all the latest .nets... I do all my ROM building on this same PC, this is the only one to give me an issue... Maybe it's the mirror I used, let me try another.
I post this under the ROM dev for numerous reasons.
The Radio thread is scattered with confusing information about it.
You may wreck your phone by just copying it over the existing one.
There seems to be a requirement to be met by the ROM (patched NK.EXE if I recall right).
There seems to be a patch if NK is not patched by the chef.
Can one really explain what's behind that file and interaction with the Radio?
Admins, if you mind this post here either delete or move though I think it's ROM
related.
tyguy said:
I post this under the ROM dev for numerous reasons.
The Radio thread is scattered with confusing information about it.
You may wreck your phone by just copying it over the existing one.
There seems to be a requirement to be met by the ROM (patched NK.EXE if I recall right).
There seems to be a patch if NK is not patched by the chef.
Can one really explain what's behind that file and interaction with the Radio?
Admins, if you mind this post here either delete or move though I think it's ROM
related.
Click to expand...
Click to collapse
I can answer part of this.
The NK.exe must be patched to allow signed dll files to be added to the rom.
I have not heard of any way to get around the nk.exe patch. If there is Id like to hear it
It remains to be seen if the rilphone dll really makes much difference radio wise. However it does contain some carrier specific stuff in some cases. Da_G is more capable of explaining the technical details.
Thanks arupp I thought so too that there isn't a patch though one of the chefs had a comment on that
http://forum.xda-developers.com/showpost.php?p=3296537&postcount=794
I couldn't find it.
Thank you for starting this thread. I had searched everywhere for the Cmonex's autopatcher, but couldnt find it. Da_G also referenced it in the Radio thread here: http://forum.xda-developers.com/showpost.php?p=3229451&postcount=1012
so to patch or not to patch. That is the question.
Do i patch if i have a custom ROM?
Do i patch if i have the leaked version of the touch pro ROM official HTC (well almost) ?
Good thread thanks.
Found the thread Monx and Da_G referenced here: http://forum.xda-developers.com/showthread.php?t=384137
Post with patcher here: http://forum.xda-developers.com/showpost.php?p=2812111&postcount=23
Wtf??? i need to read the thread a few more times bc im still not sure what to do
Cmonex's autopatcher program is not really intended for the end-user, but more for the chef (it needs to be applied to xip.bin or os.nb.payload)
Her post says it might work directly on the .nbh before you flash it, but it's not guaranteed. I haven't tried it that way either - only directly on nk.exe inside the xip.
So, what you want to do is use the autopatcher directly on the .nbh - but again her post says it's not guaranteed to work.
Da_G thanks for chiming in!
So let me recap:
NK.EXE patch tool designed for chefs, not for Joe Doe users
No direct patch/fix for existing installation
Patch to be applied in ROM image NBH not Radio image NBH (---> hard reset)
Effects not really clear
From what I've read the rilphone.dll interacts with the Radio ROM and may be beneficial for reception and battery life but it's not proven that there will be a positive effect on the GPS for example (we all have lag ).
Furthermore, wrong ril... /Radio combo my make Radio unusable.
For GPS issues a NVRAM fix must be applied (early hardware boot-stage fix) which may not be even possible with the current ROM basis.
Conclusion:
Keep your hands off copying whatever rilphone.dll files are flying around in the Radio thread into your Windows dir and play it secure until the chefs figured it out BUT keep this post updated for general information.
Please tell me if I'm wrong.
tyguy said:
Da_G thanks for chiming in!
So let me recap:
NK.EXE patch tool designed for chefs, not for Joe Doe users
No direct patch/fix for existing installation
Patch to be applied in ROM image NBH not Radio image NBH (---> hard reset)
Effects not really clear
From what I've read the rilphone.dll interacts with the Radio ROM and may be beneficial for reception and battery life but it's not proven that there will be a positive effect on the GPS for example (we all have lag ).
Furthermore, wrong ril... /Radio combo my make Radio unusable.
For GPS issues a NVRAM fix must be applied (early hardware boot-stage fix) which may not be even possible with the current ROM basis.
Conclusion:
Keep your hands off copying whatever rilphone.dll files are flying around in the Radio thread into your Windows dir and play it secure until the chefs figured it out BUT keep this post updated for general information.
Please tell me if I'm wrong.
Click to expand...
Click to collapse
I can say the majoriity of custom roms have the nk.exe patched. If you dont know if your rom is patched ask your chef.
if you look at rilphone.dll in a PE viewer app, you'll see some references in the file to "AGPS". I think it's simply setting AGPS on or Off......or it might be more than that but I do see some references to AGPS in that dll (using the latest dll provided in the 5.05 release which is about 500kb in size)
I notice that my reception varies with different ROMs. I would say that I was getting the best reception with the 5.05 ROM and the 1.11.25.01 Radio. Then when I switched to some custom ROMs, things get a bit worse. The signal strength seems to vary more and I find the phone often switching between 3G and Edge or between Edge and GPRS/GSM. It keeps doing that even when I stay in the same place. I'll make a call with 5 bars of Edge and by the end of the call, be on GPRS when I didn't physically more. Or sometimes the phone will hang on to an HSDPA signal until I drop a call and never switch to Edge, which has 3 or 4 bars of signal strength once it finally does switch. I would imagine that all this switching to different signals is wasting battery too.
1) Could this be an issue with the custom ROMs rilphone.dll? I'm using EnergyROM 1.1a and 1.11.25.01 at the moment.
2) How can I know which radio version my ROMs rilphone.dll is designed to work with?
3) Does having that NK.exe patched allow me to just copy in a different version of the file with no adverse affects?
TheSopranos16 said:
I notice that my reception varies with different ROMs. I would say that I was getting the best reception with the 5.05 ROM and the 1.11.25.01 Radio. Then when I switched to some custom ROMs, things get a bit worse. The signal strength seems to vary more and I find the phone often switching between 3G and Edge or between Edge and GPRS/GSM. It keeps doing that even when I stay in the same place. I'll make a call with 5 bars of Edge and by the end of the call, be on GPRS when I didn't physically more. Or sometimes the phone will hang on to an HSDPA signal until I drop a call and never switch to Edge, which has 3 or 4 bars of signal strength once it finally does switch. I would imagine that all this switching to different signals is wasting battery too.
1) Could this be an issue with the custom ROMs rilphone.dll? I'm using EnergyROM 1.1a and 1.11.25.01 at the moment.
2) How can I know which radio version my ROMs rilphone.dll is designed to work with?
3) Does having that NK.exe patched allow me to just copy in a different version of the file with no adverse affects?
Click to expand...
Click to collapse
-----------------------------------------------------------------
Only NRGZ28 should be able to answer your ????
As he as mentioned in 1st page of thread "
This ROM is CE OS 5.2.20764 (build 20764.1.4.3) and the version is: 5.05.405.1 ,all from official Raphael ROM." using same build with which 1.11.25.01 radio is attached. Obviously it should have same DLL file if he has not altered it during cooking.......
Here's a bit more of a technical explanation for the whole thing:
rilphone.dll is the 'interpreter", or the "middle man" inbetween the Microsoft-desgined "Radio Interface Layer" or RIL - you can think of it as the Radio ROM speaks spanish, and Windows Mobile speaks english.. so when a program wants to do something involving the cellular radio, say, determining the signal strength to display the "bars", it issues a command to the RIL.. the RIL forwards this command to rilphone.dll, which interprets it into an AT Command. rilphone.dll then communicates through a standard serial port connection through SMD9: to communicate back and forth with the Radio ROM. Any responses are then translated again by rilphone.dll, and passed on to the RIL.
So, let's say a new command gets added to the radio. In this case we'll use a new command that was in fact added in 5.05, [email protected] - if the rilphone.dll is not updated, it is not aware of this new radio command, and will never issue it to the radio ROM. So you'd potentially be missing out on whatever that command does. Also, if a change is made to the required format of some other AT Command, the rilphone.dll will not be aware of this change and still be using the old format.
Carrier-specific rilphone.dll's also have features that generic ones do not (such as the 5.05 rilphone.dll in the htc-branded build most custom roms are using) - one such feature is CNAP support for Rogers - it seems support is built into all radio ROM's, but if rilphone.dll does not have specific support for CNAP, it never reads the caller name into the registry for display on the dialer. There are a number of similar carrier-specific features i've observed.
That should cover the function of rilphone.dll and the reason you'd want to keep it on-parity with the radio ROM... and in some cases why you'd want to use an older rilphone.dll (to maintain support for CNAP, etc)
Now on to the nk.exe patch -
nk.exe is the "boot process" for Windows Mobile.. it brings up hardware to initial values and displays the radio/protocol/build version info on the intial boot screen.. nk.exe controls such low-level things as the size of the page pool, certificate checking, etc.
This is where the nk.exe patch comes into play.. it replaces the code that checks certificates with a "No Operation" - so the system now trusts all code installed, regardless of if it has been signed by a trusted provider or not - this is a good thing, as you control all code being installed on the device, rather than the OEM, and one would presume at the point you want such checks removed, you know better than the OEM
Without the nk.exe patch, when you replace rilphone.dll, the system checks it against it's internal certificate store, finds that it's not signed with a trusted certificate, and refuses to load it. This is why replacing rilphone.dll on unpatched ROM's results in no radio function.
Once you have a patched nk.exe you can replace any trusted file in the system with an unsigned file and not have to worry about the checks - note you no longer need sdkcerts.cab either as this is intended to load onto your device's root certificate store, and then manually sign the files you're replacing with the sdk certificates, then it would be loaded up as a trusted file.. however this doesn't work on drivers that are loaded early in the boot process, as there are 2 "states" of the certificate store - one early boot state where the drivers are loaded, where it's using a pre-defined set of root certificates (specifically sysroots.p7b in XIP, which contains 17 certificates from trusted root providers) - the 2nd "state" of the certificate store is farther on in the boot process, after drivers and services are loaded - this is when it would load in the sdk certificates and allow you to load manually-signed drivers. But again this is too late in the boot process to allow sdkcerts.cab to work for Drivers and Services - which is why the nk.exe patch is needed.
Note that any files/modules cooked into ROM are automagically treated as trusted, regardless of nk.exe patching status or if the files are actually signed with a trusted authority - it's assumed by Windows Mobile if the file is cooked into ROM, it must be trusted.
Incidentally, I believe this is the reason HTC created the "BootLauncher" service - so that they could load up services signed with their own stuff after creation of the ROM (patches, hotfixes, etc). Basically BootLauncher loads up during the services stage, and waits for a pre-defined period of time before then loading it's own set of services (wait time and services to load are defined in the registry under HKEY_CURRENT_USER\Software\HTC\BootLauncher)
the autopatcher searches for a string to replace, so it might work on the .nbh.. the feeling i get from cmonex's post is that she didn't design or test it against that scenario, but it might work
Hope that sheds some light on the situation, and isn't too complicated!
Hi DA_g
Thank you Da_g for such a beneficial explanation....
I hope its going more complicated now..... as you have explained
"Carrier-specific rilphone.dll's also have features that generic ones do not (such as the 5.05 rilphone.dll in the htc-branded build most custom roms are using) - one such feature is CNAP support for Rogers - it seems support is built into all radio ROM's, but if rilphone.dll does not have specific support for CNAP, it never reads the caller name into the registry for display on the dialer. There are a number of similar carrier-specific features i've observed."
all radios have Carrier-specific rilphone.dll's so obviously all its not only with 1.11.25.01 (Raphael radio) all other radio's i.e, for example .16,.19,.28,.32,.20 if so obviously the results would be not stable for all the users with different ROM's and Radio's.......... Now the big ? rilphone.dll should be programed for different carriers to the specific radio
The way it seems to work from my observations is this:
Carrier X issues a "ROM Request" to HTC, specifying what support and configuration they require (such as CNAP support for rogers)
HTC then assembles the ROM to their specifications, using the latest drivers, etc, available at the time.
All radio rom's seem to include support for all carrier-specific options, they just need a rilphone.dll that is aware of the particular option to enable it.
So for us to get a newer rilphone.dll with rogers support (say, 5.05), rogers would need to issue a "ROM Request" to HTC, and they would need to fill it.. then we would have the rogers 5.05 rilphone.dll.
Using an older rilphone.dll has unknown effects (as it will not be aware of newer features in new radio version, etc) but so far has not shown to cause specific issues.
Hi DA_g
I need your help regarding this...how to edit rilphone.dll i am working as switch engineer for Ericsson india for GSM ...hope fully i would be able to understand some of the specifications present in this file.
Editing a .dll is beyond the scope of my ability to explain in a forum post, you need to do some research into reverse engineering and ARM disassembly..
Particularly, if this screenshot scares you: http://www.hex-rays.com/idapro/pix/idalarge.gif
You probably don't want to even get into it
Da_G said:
Editing a .dll is beyond the scope of my ability to explain in a forum post, you need to do some research into reverse engineering and ARM disassembly..
Particularly, if this screenshot scares you: http://www.hex-rays.com/idapro/pix/idalarge.gif
You probably don't want to even get into it
Click to expand...
Click to collapse
Ha ha ha really it is scary...............
But in my opinion individual Radio should be mapped to rilphone.dll with carrier specification with out this non of the radio would give best result .....
Depends on one using carriers with different frequencies for example.... i got tp with radio ver .28 (raphael) which is made for IDEA operator which uses 1800mhz freq, where power of the cell site & TP might be programmed vious according in rilphone.dll.....
i did SIM unlock.....Now i am using TP on Airtel operator which work on dual band 900 & 1800 so it is obvious that RADIO would not give me best results.
Results are vigorous ....dropped calls, voice break, poor coverage, poor battery performance,e.t.c................
So all ROM with associated with RADIO would work better on TP who uses specified Carrier...
Is there a way to get or create an universal rilphone.dll ?
Only someone with access to rilphone.dll source code could create a universal rilphone.dll.
Quite doubtful that HTC would be interested in doing this
aruppenthal said:
I can answer part of this.
The NK.exe must be patched to allow signed dll files to be added to the rom.
I have not heard of any way to get around the nk.exe patch. If there is Id like to hear it
Click to expand...
Click to collapse
I think you mean unsigned.
there is a way around... you import your own certificate into the device's trusted certs store and then sign the system DLL with your cert and copy it over... WM accepts this no problem and this is exactly how I used to do things.
*** MOVED! The dev thread for this app is now in Development and Hacking, HERE
---original post---
I recently got into cooking my own personal ROMs, and realized that every time I get a new kitchen/ROM or flash a new radio, I have to make sure the rilphone.dll file is the correct one for my radio. Well, more accurately, I realized how annoying it can be.
Yes, it can be done with UC and the appropriate CAB for the user's current radio, but I wanted to create an easier way to do it so that the user doesn't have to think about it. Considering how many times the TP/Fuze keyboard layout question is asked here, I'd say any kind of automation is good automation
My answer to this issue is rilphoneAuto.exe, a .NET CF 2.0 app that reads the user's current radio version, determines if the appropriate RIL DLL is available (through a configuration XML file), and edits the "DLL" entry under HKLM\Drivers\BuiltIn\RIL to point to this particular DLL.
In order for this app to work, you have to include all the RIL DLLs you'd like to support in your ROM, and change the rilphoneAuto.xml file to have an entry for each of those DLLs. It's a very simple format, don't worry
I have attached version 1.0 of rilphoneAuto in OEM and EXT formats. Both attachments contain the app, RIL DLLs version 1.12.25.19 and 1.14.25.05, and the XML config file preconfigured with the aforementioned DLLs.
*** IMPORTANT: You must add rilphoneAuto to one of your config*.txt files in order for the app to start on first boot customization. I don't know if that can be done from inside the OEM or EXT packages. The line you'll need to add is:
Code:
EXEC:\Windows\rilphoneAuto.exe
Please leave feedback. Thanks!
Looks like a good addition, i'll try it out on my ROMs.
frickin awesome!
you should post this on the development & hacking forum, a lot of other devices users could use this too!
Good idea. I'll do that.
awesome as hell for all the users into radio switching and even those who arent. they'll have improved functionality and not even know it, just by flashing their radio.
so this is in the rom i just updated to
if i change my radio after the initial boot does the phone change the necasarry settings? or is it now up to me?
thanks
rilphoneAuto should only run on first boot, so if you changed your radio, you should re-run it by executing \Windows\rilphoneAuto.exe and then rebooting.
I've been struggling over the past few days trying to get the latest AT&T ROM working in a kitchen. I've tried three different workstations and two Virtual Machines assuming it was an environmental issue.
As a result, I decided to create a fresh new "old style" (PkgToolsBuildOS) kitchen on the assumption that something was wrong with my kitchens.
Noticed the following anomalies in the fresh new kitchen:
1) XIP.BIN / OS.NB.PAYLOAD
Noticed that when performing a Find Date/Rom Version on PAYLOAD or Find Date/ROM Version on XIP_OUT.BIN using XIPPORTEREX 1.2 rev32 , I get the following information:
Date: 06/May/2009
Rom Version: [K] InitDr
I've used the standard process that I always use which yields a working OS.NB.PAYLOAD and even validated it against Aruppenthal & Da_G's sk00ling.
Essentially: PP Unlock, NoCert Patch, PP = 6 MB ... same OEMXIP & MSIXP kernel for now just to try and get it to work.
2) Compiled ROM
If I change the ROM Version & update the Date (as per usual), the ROM compiles fine and boots. However, I am unable to connect to browse the Internet even though the 3G/H data connection appear indicating that a connection is established.
The ROM, OEM, SYS are all 20771 (5.511.502.2) for now just to try and get it to work using my Rogers SIM.
Has anyone else run into similar anomalies before? Cause I'd sure love to know what the heck I'm missing/doing wrong.
* EDIT *
Some of the "paranoid" measures I have done: Rootkit Scan, Full Anti-Virus Scan, Mem Test, Hard Drive Diag, CHKDSK, Restart, typical IT stuff ...
I'm not really sure what could be wrong, but if you need the dump set up for Visual, I had no problems dumping it and uploaded the untouched "Kitchen" to my FTP. Its labeled correctly as the build number 5.11.xxxx. I wish Icould help more, as you have helped me out a bunch.
EDIT: I did dump a ROM recently and got the same Version ID with xipporter as you have mentioned, but thought nothing of it. And I dont remember which it was, so sorry still not very helpful.
The ROM Version "garbage" is odd and IMHO should not be like that - your confirmation that you saw the same thing is very helpful ... at least I'm not losing my mind completely.
I'm trying to keep a PkgToolsBuildOS (5.3) and a Visual Kitchen (9.8) going for folks to use.
I had gone through all of the effort to port 21051 (SYS) and 20771 (OEM) in the hopes of posting it up before the end of the weekend ... then I started running into these unexplained issues and ended up scrubbing the lot.
I'm in the midst of recreating a new Visual Kitchen (9.8) and am discovering additional files in the OEM folder that weren't there before in older versions of the Visual Kitchen - not sure what it means yet; sure hope it doesn't mean having to recreate a kitchen everytime there's an update to the tools.
Cheers,
hilaireg said:
I've been struggling over the past few days trying to get the latest AT&T ROM working in a kitchen. I've tried three different workstations and two Virtual Machines assuming it was an environmental issue.
As a result, I decided to create a fresh new "old style" (PkgToolsBuildOS) kitchen on the assumption that something was wrong with my kitchens.
Noticed the following anomalies in the fresh new kitchen:
1) XIP.BIN / OS.NB.PAYLOAD
Noticed that when performing a Find Date/Rom Version on PAYLOAD or Find Date/ROM Version on XIP_OUT.BIN using XIPPORTEREX 1.2 rev32 , I get the following information:
Date: 06/May/2009
Rom Version: [K] InitDr
I've used the standard process that I always use which yields a working OS.NB.PAYLOAD and even validated it against Aruppenthal & Da_G's sk00ling.
Essentially: PP Unlock, NoCert Patch, PP = 6 MB ... same OEMXIP & MSIXP kernel for now just to try and get it to work.
2) Compiled ROM
If I change the ROM Version & update the Date (as per usual), the ROM compiles fine and boots. However, I am unable to connect to browse the Internet even though the 3G/H data connection appear indicating that a connection is established.
The ROM, OEM, SYS are all 20771 (5.511.502.2) for now just to try and get it to work using my Rogers SIM.
Has anyone else run into similar anomalies before? Cause I'd sure love to know what the heck I'm missing/doing wrong.
* EDIT *
Some of the "paranoid" measures I have done: Rootkit Scan, Full Anti-Virus Scan, Mem Test, Hard Drive Diag, CHKDSK, Restart, typical IT stuff ...
Click to expand...
Click to collapse
Several of the new builds are this way. Its because the date info has been moved. Until someone figures out which part needs hex edited we are stuck with stock dat Version changes fine.
Are you saying that we should *no longer* be changing the ROM Version and ROM Date?
In my case the Date "looked" ok but the ROM Version was bogus.
Which leads to these questions:
Does this also mean that PagePool Unlock, NoCert Patching, PagePool sizing are also in jeopardy of moving? (I know you or others won't have an answer for this one as it's in the hands of the OEM).
Does this mean that PkgToolsBuildOS kitchens and supporting tools are now at end-of-life?
Hate that when I forget to read the memo
UPDATE
Well, after an all-nighter ...
I can confirm that attempting to change the ROM Version and/or ROM Date via XIPPorterEX, PkgToolsBuildOS6.x-5.3, or Visual Kitchen 9.8 will indeed mess up the ROM - at least on the Raphael.
hilaireg said:
Well, after an all-nighter ...
I can confirm that attempting to change the ROM Version and/or ROM Date via XIPPorterEX, PkgToolsBuildOS6.x-5.3, or Visual Kitchen 9.8 will indeed mess up the ROM - at least on the Raphael.
Click to expand...
Click to collapse
So am I correct in assuming that when I change the PP in the 21806 version (as posted by Da_G) it is not really changing the PP. I did wonder why the amount of RAM didnt increase
B4PJS said:
So am I correct in assuming that when I change the PP in the 21806 version (as posted by Da_G) it is not really changing the PP. I did wonder why the amount of RAM didnt increase
Click to expand...
Click to collapse
The PagePool seems ok on my 6.1 builds at the moment but Da_G could best confirm that as he's been on this "circuit" way longer than I.
An observation I made, while I've been working on this, is that the PP size on the AT&T 5.11.502.2 seems to be set 1MB ... at least that's what XIPPorterEX 1.2 rev32 reports when I issue a change to the PagePool to 16MB on a non-reduced ULDR os.nb.payload.
Hmmm, Wonder why when I change my PP to 0 I still only have 197mb Total instead of about 213mb total? Might have to do a test and set it higher to see if my free space decreases
UPDATE: Direct From Da_Grand Pubba ...
Just had a quick chat with Da_G and he confirms that there's been a change in the XIP modules.
At first glance, he noticed that the NK.EXE module has three (3) new resource strings. So in short, if the ROM Version happens to display [K] InitDr (which is [K] InitDriverGlobals) DO NOT attempt to change the Date/ROM Version.
He also had a quick look for Certificate Patching, PagePool Unlock, and PagePool resizing - these appear to be untouched at the moment.
HTH,
Over time several Hurricane have served as replacement parts for my Tornados, but they deserve a life of their own. So I have taken the effort of porting the Tornado Kitchen I had published also to the Hurricane.
I must tell you however that this device (also with the other available ROMs) has some shortcomings that I could not work around. The WM6 base and derived builds you could create with this kitchen can do the same (except some GUI tweaks that I have not ported) as the other available ready made ROMs, some things it can do better.
Same for all Hurricane builds (old or new):
no WLAN/WIFI (was never there - so no surprise, but some UI elements still list that)
Bluetooth cannot do A2DP well (stuttering, probably transfer speed?) but it stays in the UI (Settings)
GSM Radio (rilgsm.dll) does not support NITZ (automatic Time/zone setting - removed that from the UI) possibly other things as well. It will do the same as all other builds, just not as much as the Tornado.
memory card encryption cannot work (encfilt.dll is not loaded in XIP like in all other ROMs) still in UI though
keyboard hotkey assignment is different to Tornado (keybd.dll calls other .lnk files)
there is no SDHC support (but on Tornado)
Worse for this one (not anymore - updated ddi.dll available)
Display shows a quirk that the empty parts of the horizontal scrollbar are filled with random garbage when scrolling. No other side effects are observed yet.
Better for this one:
Hotkey handling built in (see Tornado Nitrogen Kitchen)
WMP Keys work for left-aligned (8200) and right aligned (SDA 2) music key layout. The WMP internal plugin can be disabled for device without music keys. All settings are done via UI.
You can cook in what you want or stay with the minimal setup.
Storage memory optimized - almost all items that can be UPX-ed (see my Tornado kitchen thread) are treated.
HTC Camera 4.0 could also be ported from Tornado build (also keeping the brightness bug with cursor L/R - use "Reset Brightness" to cure).
MMS/Camera integration is very good (heritage from efforts on the Tornado builds)
There is a working Direct 3D driver (d3dm_ti3d.dll) active in this build. It was supposed to work in the Tornado builds already (as modules there) but it did not. Taking the file versions from a shipped S620 ROM works ok. You may never notice the gap as hardly any smartphone application uses that D3D interface.
What is special about the Hurricane? Well quite many things that make it hard to cook for it:
It never had a native released WM5+ build. It seems that for Typhoon WM5 leaked once (Aleut's Typhoon builds are based on that as he told me) - and some parts of that leaked were also re-used in the Hurricane.
Several (quite many) OEM specific modules cannot be easily relocated as their .reloc section is missing (like for all WM2k3 retrieved parts). Hunting this down took quite some effort.
Only the wmreloc.exe can handle that properly and the builds that are created all work fine (except the display scrollbar quirk). No other relocation tools can handle that set of modules (I tried G'reloc, OSBuilder, ExtReloc, Platformrebuilder) so wmreloc is the wizard that makes it happen - so many thanks to the author:
Author: dysxq
Thanks: [email protected] http://www.oiopda.com.cn
The available Hurricane ROMs stem from a time where re-building a ROM seemed not to work easily and actions for most were done by manipulating a ready-made build to the cook's needs. This makes using them as a base for further cooking not so easy. Thankfully none of the authors has put efforts in "protecting" his ROM.
Hello!Waiting for the kitchen!!!I tried to disassemble the Rom with your programs binfiletools.zip.
Once converted the bin in nb0, i use os builder to dump files in the rom.
Then tried to remove the speaker, and add the Russian language. Collected Rom so well with Os builder. But it does not start on the Rom tmobile sda2. Although it has betrayed the boot OS, and I could make a Hard reset and soft reset!
Well, I had a discussion about the special topics of Hurricane ROM with the guys over at asusmobile.ru - and they concluded that OSBuilder will not be able to work on such patched old ROMs.
These are missing some essential information the OSBuilder relies on. So despite I like OSBuilder kitchen very much for its options - it cannot work with any of the Hurricane ROMs I have. Basically it will not remap the modules right and so your ROMs will not boot - no way to get that solved.
OSBuilder will dump everything correctly (as far I can judge) but rebuilding will always include the remapping step and due to missing info in most OEM modules they fail to re-locate.
The old kitchen I use (basically an adapted Nitrogen Kitchen for the Tornado) plus the wmreloc.exe will create booting ROMs.
When I find time I will have another try with the Chinese WM6.5 ROM, but I doubt that the OEM parts are much different.
You should also know that the XIP part cannot change much as the nk.exe (Native Kernel) is HW dependent. The nk.exe is very old and does not support the improved memory slot allocation of WM6.5. There is however not so much memory to manage on the Hurricane - so that should not be a problem.
The kitchen I intend to release will supply a bilingual English and German ROM that could be extended by more languages or have German be replaced by any other.
It is quite tricky though to have languages added, so I have to provide a rough guide to that as well.
Well, thank you! I'll wait for your kitchen!
Hello!How many days wait kitchen?)Thanks!
oh - well got other priorities. It is ready technically but the finetuning and description is pending - please some more patience. You could prepare in decomposing some existing ROMs with OSBuilder to see what is inside. This weekend - for sure
Hello, Thank you again, I already dump ROM files, and saw what's inside, but the problem was that I could not run the firmware on the phone! "Maybe I did something wrong did! So I'm looking forward to your kitchen! Thanks!