@Apokrif
On post #40 in first two area code you present some very detailed hdr structure,was that obtained by some tools of you or was written by hand? If is a program can I have this?
What I have done until now:
Extract unpack modules,take the dsdt one remove some header bytes,decompile with asl.exe make some correction and recompile back with asl,add back header bytes as result bin file was a little smaller.
Pack module and now rom file was a little bigger than original one,so take hdr file hexedit to make some more room,insert new module corrected lenght and after crc.
(here by mistake typing having some problems,almost thinking to extract rom from hdr and to write bios on external programmer,but in the end I see where I typed wrong) then insert hdr in exe.
Flash bios and all is working.
Your work is fantastic!
Thanks again for what you do.
WinHEX – available everywhere, these forums.
Cool so far – could you check if all following conditions were met?
You bin file with ACPI tables has following structure:
code segment A
data (ACPI tables)
code segment B
If you change data size and code segment B offset change – you risk bricking you mobo
You changed DSDT table.
Was new DSDT size exactly same as old one?
If new is smaller – you can blank extra bytes
If new is bigger – you have to have space available (it might be or might not)
If size if same – do nothing.
Oh boy – tools can do everything for you… (insert/update new module (correct length), fix all CRCs, update exe file...)
Thank you - IMO, you did very interesting work!
Could you elaborate a little bit, what model you have and what functionality you have added?
And just in case: be prepared to answer tons of questions![]()
I have to say – it’s partially my fault.
I did write instructions by they are scattered across this thread.
“partially” – because I asked moderatorsto move one or two of my posts to very beginning so I can put all instructions together.
This thread is started by (i.e. belongs to) wolf69.
He wrote early in this thread – he has nothing against it.
Still waiting...
I did similar request in another thread.
Apparently it's easy to move posts, but getting approval is quite difficult.
http://forums.mydigitallife.info/thr...897#post228897
http://forums.mydigitallife.info/thr...934#post228934
The bright site – if you read whole thread thoroughly – you’ll understand whole process better and hopefully will do fewer mistakes![]()
My skills in software part,programming,debuging reversing is not very but very very very poor.
But you explain clear and that's how I can do that.
My bin ACPI table now is like that
code segment A (old one,what was at start of file)
new data (ACPI tables)
no code segment B
This bin file I inserted manually in hdr (selected in hexedit,new file,selected in hdr portion of old file,delete paste take a count to see how much increased hdr go to first area with FF below insertion and deleted as many as necessary to have same size of hdr) then I corrected lenght of module replaced remake crc.
As for bricking I have no fear,I can reprogram bios chip externally in any case.
Model is Inspiron 9400 (same as E1705,similar with M1710 M90)
Now I'm looking for a way to enable native sata support and HPET.
I haven’t seen files like this before.
Do you mean it was without code segment B from originally?
I wish I have this luxury too ; )
Let me know exact ICH model – get it from CPUID.
I’ll give you RAID module.
Or do you want to enable ACHI mode only?
Can help with HPET – I’m noob there…
chipset i945PM
southbridge 8201GHM ICH7-M
Just AHCI,bu isn't available in bios.And From years there are requests on ideastorm to release that,thousand of votes but no response from dell.
I know ICH7-M have just two sata ports they use one for hdd in emulated mode,second one is free (not used) and for optical unit one ide port,is not clear for me why.
As for segment B,how to explain,
file bin extracted,can't decompile with asl then I cut first bytes from start of file,so file start now with DSDT in header now I can decompile with asl,after some modifications compiled back with asl,resulting aml file renamed to bin and added first bytes from original one.
At this moment file was smaller than original,after packing rom file resulted was a little bigger than original rom.
My bin file was composed from iasl compilator + header of initial file
original bin - remove header - use iasl -result dsl file - make moddification to file - use iasl -result aml file -rename aml to bin - add initial header insert into hdr
As for externall programming is not big deal, can be easy done, hard part for others is soldering-desoldering and that is not a problem for me.
I remember reading you bricked one dell ,did you fix it?
ICH7-M doesn’t support RAID, only ACHI
Do you know how program chipset (I read only some theory so I have some raw understanding only)
If you do – do you have an idea where to put your code?
I can suggest few things to try, but you might have better understanding then I do.
That’s Dell business concept – never add new functional to releases computer.
How would they make people buy newer stuff otherwise?
Are you taking about DSDT module starting with DSAT string?
Looks like it doesn’t have any code in it, just two ACPI tables: DSAT and DSDT
I guess, it’ll be absolutely safe to modify DSDT, if you know what to do
What did you get exactly from modified DSDT table?
So you have created the perfect experiment target!
I wish I can do the same…
Nope. I wasn’t even able to locate BIOS chip yet… I hope it’s on the back of the mobo.
To get there I would need to remove CPU heat sink (nice Dell design!) - still hesitant to do it…
Hopefully will do it one day and ask here for little help![]()
Updated tools:
Handle all combinations of module lengths / types
; Section types
; A - 2 bytes module length + 1 byte module type (OptiPlex GX620, Dimension 4600)
; a - 1 byte module type + 2 bytes module length
; C - 4 bytes module length + 1 byte module type
; c - 1 byte module type + 4 bytes module length (Latitude D620)
Store most of parameters in INI files.
gz_exe can handle multi gZip stream BIOS.EXE files.
Wrote step by step instruction, updated tools instructions.
To Do: Write instruction on BIOS boot images replacements.
Images are encoded sometimes. Have tool to convert back and forth, just need to write tiny instruction![]()
I don't know how to program chipset, in one module I find few times 28 10 CD 01 which is subsystem id and vendor id,this is for dell,now next to do is to replace one by one or all of them with other data and to track which one is for sata (ide) controller and maybe around them are bytes for initialization.
Yes,I was talking about the one who start with DSAT .
As for bios chip,depend on how old is motherboard,if it's a new generation one bios chip can be a cmos spi flash and can look like this
something marked with MX 25L8005 or similar.
If anyone is interested in having a look...
BETA version of the phoenix tool that handles Dell BIOSes
Dynamic - replace existing SLIC
SSV2 - insert new SLIC
Based on the great work of apokrif.
http://urlisdown.org/Tools/Phoenix...xtool114b6.zip
I have used it successfully on a Dell Inspiron 1520 (dynamic) and 510m (SSV2) with default options and success.
Bear in mind still BETA.
Enjoy!
Andy
Bookmarks