Dell bios, how to decompose / mod.

Discussion in 'BIOS Mods' started by wolf69, Nov 21, 2009.

  1. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,384
    2,038
    210
    Another candidate could be Dimension 5150c

    sebus
     
  2. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,384
    2,038
    210
    And with 4Gb RAM, upgraded to Pentium D 9x0 & nVidia low profile 8400 card it is as good as current Optiplex 360
    Or even better as it runs perfectly Mac OS X 10.6.1 as well with minimal fiddling

    sebus

    sebus
     
  3. en4rab

    en4rab MDL Novice

    Oct 27, 2009
    44
    7
    0
    #223 en4rab, Jan 23, 2010
    Last edited by a moderator: Apr 20, 2017
    Right i just reflashed the relocated RSDT mod i did and here are the results (this was the first mod i tried and does boot to windows) below are the tables dumped from ram, hence offsets are wrong.
    The old RSDT in ram, note SSDT address and checksum have been added to nulled out area:
    Code:
    Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
    000000D0   84 C3 2E A1 C0 CB CB 4D  30 39 20 20 20 20 00 00   „Ã.¡ÀËËM09    ..
    000000E0   00 00 00 00 00 00 00 00  8C 00 00 00 00 00 00 00   ........Œ.......
    000000F0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
    00000100   00 00 00 00 00 00 00 12  4D FD FF 00 00 00 00 00   ........Mýÿ.....
    00000110   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 46   ...............F
    00000120   41 43 50 74 00 00 00 01  0E 44 45 4C 4C 20 20 4D   ACPt.....DELL  M
    00000130   30 39 20 20 20 20 00 07  00 00 00 41 53 4C 20 61   09    .....ASL a
    New RSDT table, note checksum hasnt been updated:
    Code:
    Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
    
    00000030   FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
    00000040   52 53 44 54 44 00 00 00  01 00 44 45 4C 4C 20 20   RSDTD.....DELL  
    00000050   4D 30 39 20 20 20 20 00  07 00 00 00 41 53 4C 20   M09    .....ASL 
    00000060   61 00 00 00 1F CC 0F 00  00 00 00 00 93 CC 0F 00   a....Ì......“Ì..
    00000070   25 CD 0F 00 4D CD 0F 00  B4 CD 0F 00 F2 CD 0F 00   %Í..MÍ..´Í..òÍ..
    00000080   84 F3 0F 00 53 4C 49 43  76 01 00 00 01 8A 44 45   „ó..SLICv....ŠDE
    00000090   4C 4C 20 20 4D 30 39 20  20 20 20 00 12 0C D8 27   LL  M09    ...Ø'
    000000A0   41 53 4C 20 61 00 00 00  00 00 00 00 9C 00 00 00   ASL a.......œ...
    RSD PTR remains the same as the modded file, below is the report from slic dump:
    Code:
    Table NameOEMID&TableIDAddress  LenthDescription Table  (ACPI 1.0)
    
    RSD PTR DELL          000FEC01    20Root System Desc.Pointer
     |
     |- RSDTDELL  M09     000FF340    68Root System Desc.Table
           |
        00 |- FACP  DELL  M09     000FCC1F   116
        01 |- APIC  DELL  M09     000FCC93   146
        02 |- BOOT  DELL  M09     000FCD25    40
        03 |- ASF!  DELL  M09     000FCD4D   103
        04 |- MCFG  DELL  M09     000FCDB4    62
        05 |- HPET  DELL  M09     000FCDF2    56
      * 06 |- SLIC  DELL  M09     000FF384   374Software Licensing Desc.Table
    and attached is the RW everything acpi dump
     

    Attached Files:

  4. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    Very nice - will take a look ang get back.
    Did you dump from XP?

    Please upload you modded HDR or EXE too!
     
  5. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    #225 Apokrif, Jan 23, 2010
    Last edited by a moderator: Apr 20, 2017
    From original AcpiTbls:
    Code:
    Root System Description Table: 0x000FCBDF
    FCBDF 52 53 44 54 40 00 00 00 01 17 44 45 4C 4C 20 20[email protected]  
    FCBEF 47 58 32 38 30 20 20 00 07 00 00 00 41 53 4C 20GX280  .....ASL 
    FCBFF 61 00 00 00 1F CC 0F 00 F1 4C FD FF 93 CC 0F 00a........L......
                                  ^^ ^^ ^^ ^^ @ 0CC07
    FCC0F 25 CD 0F 00 4D CD 0F 00 B4 CD 0F 00 F2 CD 0F 00%...M...........
    
    RSDT @ FCBDF
    SSDT ptr inside SSDT @ 0CC07

    Looking in the code in 00-01-01.bin

    Code:
    1st place to change – put SSDT ptr into RSDT table (correct offset)
    00003804: 668BF2                         mov         esi,edx
    00003807: E8B805                         call        000003DC2
    0000380A: 6603F3                         add         esi,ebx
    0000380D: 662E893607CC                   mov         cs:[0CC07],esi  <- SSDT ptr updated inside RSDT
    00003813: 0E                             push        cs
    
    Code:
    2nd place to change – correct RSDT offset to calculate sum for new RSDT
    000038AE: BEDFCB                         mov         si,0CBDF ;'T-'        <- RSDT
    000038B1: 8D7C09                         lea         di,[si][9]
    000038B4: 2E8B4C04                       mov         cx,cs:[si][4]
    000038B8: E8D400                         call        00000398F        <- update sum
    
    I suggest doing one step at a time.
    I’m not telling you how to correct – DIY.
    Don’t flash tho, post it here so I can validate first!
     
  6. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    That's the one I bricked (Dimension 5150-E510)...
    I guess, it's done already.. in certain sense :eek:
    Pure PC... o_O
     
  7. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
  8. wolf69

    wolf69 MDL Senior Member

    Jul 29, 2009
    276
    19
    10
    do you need the code from the rsdt table from memory dumb to do the dell xps 400
     
  9. truthinjection

    truthinjection MDL Member

    Aug 27, 2009
    247
    46
    10
    Hi Apokrif,

    You're probably well past this, but I was wondering about the PXE roms in the Dell BIOSes you've messed with.

    I'm working on the rom-combiner to combine WindSLIC with the traditional Intel PXE ROM, and since this might be useful for the Dell situation I was thinking about the space considerations.

    I have a trio of questions about the Dell BIOSes:
    1. Are the PXE ROMs compressed in BIOS image?
    2. How large are the ROMs compressed/uncompressed?
    3. What is the free-space situation in the area immediately after these ROMs in the BIOS image?

    Congratulations on your high success ratio so far!
    -tij-
     
  10. 911medic

    911medic MDL Guru

    Aug 13, 2008
    5,772
    503
    180
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. wolf69

    wolf69 MDL Senior Member

    Jul 29, 2009
    276
    19
    10
    i did it from 200 to 5200 did you need it from 5200 to 8000?
     
  12. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    #234 Apokrif, Jan 24, 2010
    Last edited: Jan 24, 2010
    1. Yes, except TPM one and some others, see below.
    2. SATA is more than 64K, compress ratio about 50%
    3. About 64K in general, so we can fit about 126K

    oROM like PXE got loaded only it it’s enabled in BIOS (well known)
    Not clear (to me), if we decide to go with uncompressed oROM, where it supposed to be in HDR file.
    Even with TPM ROM, there is an option in BIOS to enable/disable it.
    So something is BIOS copy it to memory where all oROM supposed to be – the area BIOS is scanning for oROMs.
    In short – the way you planning do it (to combine!) is the only right way, IMO!

    Do you mean one brick only so far? ;)



    Questions to you:
    1. Intel Boot Agent (IBA) comes with few flb files.
    Intel PXE oROM is created by combining PCI header with flb one.
    Do you happen to know exact process?

    2. oROM can handle more than one VEN_ / DEV_ combination.
    Do you know how to pull all of them from oROM?

    Edit - found answer on 1st one - it uses very same flb file format, see below:
    Creating an option ROM image for integration into a BIOS requires the use of the utility
    program iSCSIUtl.exe. This is a universal utility that can both update the option ROM
    image in the Flash memory on a NIC, or can be used to create an image for inclusion in
    a system BIOS on LOM designs.
    To create a LOM image, use the following command line parameters:
    iSCSIutl -di -devid='device id value in hex' -LOM
    where device id value in hex means the PCI device ID of the Intel network device in
    hexadecimal format. This is in the form 0xyyyy, with yyyy representing the 4 character
    device ID.
    Example:
    iSCSIutl -di -devid=0x105e -LOM
    The resulting file name has an extension of .LOM. Various image types are supported by
    iSCSIUtl, but for a LOM implementation, only the LOM file type is supported.
     
  13. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
  14. wolf69

    wolf69 MDL Senior Member

    Jul 29, 2009
    276
    19
    10
    do whatever you need to do
     
  15. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    #237 Apokrif, Jan 24, 2010
    Last edited by a moderator: Apr 20, 2017
    Oh man. Could you just post WinHex dump, please?
    Don’t even remember if it WinHex has worked for you, sorry...

    Basically, I need very same info, i posted below, but from memory.
    I think it should be at offset FD200.
    Is it there?


    Open WinHex, open RAM, goto FD200, if it’s same pose here few like, just like I do:

    If not, goto F0000, find RSDT, select 100 rows, Alt-Shift-C, paste to file or post here, or post a link to file.
    I can easily make a mistake otherwise, understood?
    If WinHex won’t work try HWdirect.
    If you do memory dump, I need to know exact location it’s taken from.
    I.e. if you dump 256 bytes from FD200
    In HWdirect you open memory dump, type FD200 100, save
    Post link and might be a screenshot.
    Again, if I misread you message, you risk getting a complete brick!

    Code:
    Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
    00005200   E6 B3 B0 0A E6 B2 E6 84  C3 52 53 44 54 40 00 00   æ³°.æ²æ„ÃRSDT@..
    00005210   00 01 00 44 45 4C 4C 20  20 44 58 50 30 35 31 20   ...DELL  DXP051 
    00005220   00 07 00 00 00 41 53 4C  20 61 00 00 00 E1 D2 0F   .....ASL a...áÒ.
    00005230   00 00 00 00 00 49 D4 0F  00 BB D4 0F 00 E3 D4 0F   .....IÔ..»Ô..ãÔ.
    00005240   00 4A D5 0F 00 88 D5 0F  00 00 00 00 00 00 00 00   .JÕ..ˆÕ.........
    00005250   00 00 00 00 00 00 00 00  00 00 00 00 00 58 53 44   .............XSD
    00005260   54 5C 00 00 00 01 00 44  45 4C 4C 20 20 44 58 50   T\.....DELL  DXP
    00005270   30 35 31 20 00 07 00 00  00 41 53 4C 20 61 00 00   051 .....ASL a..
    00005280   00 55 D3 0F 00 00 00 00  00 00 00 00 00 00 00 00   .UÓ.............
    00005290   00 49 D4 0F 00 00 00 00  00 BB D4 0F 00 00 00 00   .IÔ......»Ô.....
    000052A0   00 E3 D4 0F 00 00 00 00  00 4A D5 0F 00 00 00 00   .ãÔ......JÕ.....
    000052B0   00 88 D5 0F 00 00 00 00  00 00 00 00 00 00 00 00   .ˆÕ.............
    000052C0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
    000052D0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
    000052E0   00 46 41 43 50 74 00 00  00 01 00 44 45 4C 4C 20   .FACPt.....DELL 
    000052F0   20 44 58 50 30 35 31 20  00 07 00 00 00 41 53 4C    DXP051 .....ASL
    And post RW report too!
     
  16. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    Thank you! :)
     
  17. wolf69

    wolf69 MDL Senior Member

    Jul 29, 2009
    276
    19
    10
    ok sorry the hw direct didnt work right sorry ill do it tomorrow after i get back into town
     
  18. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    Just do it accurately, please, so we don't have to go back and forth indefinitely, ok?