Dell bios, how to decompose / mod.

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

  1. gabiz_ro

    gabiz_ro MDL Member

    Feb 2, 2010
    173
    12
    10
    tried xp and 7
    Unfortunately I don't have.
    Desktop is D945GCL which also doesn't support AHCI.
    I doubt will work at least for Intel chipset,device id is changed and sub class code,most probably doing this will have no effect.
    Writing hex value 40 at offset 90 switch ICH7-M from legacy to AHCI but also affect offset 0A (sub class code) and change from ide to ahci so windows booting start from ide then controller is switched to AHCI and win see this as inaccessable boot device.
    That's the win problem.
    I said earlier that just a simple mod in dsdt table was working for linux but for win
    -old one installed and with or without registry changed BSOD
    -xp setup some strange error if I remember right
    -7 setup can't find hdd

    In the end I almost decided to abandon this idea and to do a hardware mod.
    I take a look onto a dead mainboard if I find second sata tracks of ICH7-M somewhere in pcb maybe I'll try more,if this pins of chipset is inaccessible (not connected or grounded,poor chance to gain access to hem) but ICH7-M is SATAI so if I get SSD will be limited.
    I'll try to add a PCIE x1 sataII card into PC Card slot and make required connection to hdd.
    Now I'm thinking what's the best? To drop optical unit and add a second hdd and setup a raid system? Hope I can trick the bios to load SIL3132 oROM.
     
  2. gabiz_ro

    gabiz_ro MDL Member

    Feb 2, 2010
    173
    12
    10
    Adding device id into inf to force switch in fact is working and maybe driver can handle that and configure con troller but then windows loose boot device.

    On bootable usb (hdd or stick ) I have a live 7 version iso booted using grub4dos.

    That GRUB patch only write hex value 40 at offset 90 of ICH controller but in that case controller is switched to AHCI but not initialized.
    All reports find working with this patch was for systems who already support AHCI.
    Negative results was on Dell and Toshiba.Especially for those without AHCI option in bios.

    On the other side if bios configure ICH in SATA AHCI mode then acording to datasheet (page 509 of ICH7 datasheet) is a matter of choice. IDE mode can be selected when AHCI or RAID are enabled.
    So I'm thinking BIOS from start configure ICH in native SATA mode and let user choice in setup.
    I'll search more to see what;s the diferences on pci registers on same system in both cases in legacy and AHCI mode.

    In my Dell case offset 90 have 02 value that result in map value 10 but AHCI or RAID can be enabled only map value is 0 .
    Most probably in system with AHCI option in bios map value is 0 then offset 90 become 00 in legacy mode and 40 in AHCI mode.
     
  3. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    Ok. Did it – got unsupported hardware… :confused:
    In fact, I've tested it with 2 different Intel(R) RAID for SATA v5 & v7 with same result.
    So It looks like ICH has to be in RAID mode for oROM to pick it up.
    I still don’t believe, but that’s might be right from BIOS design point of view:
    If you tell BIOS you want ICH in normal/AHCI mode, oROM shouldn’t change it, right?
    So whoever need RAID for SATA if it’s supported by hardware but there is not BIOS option – we are in same boat now.
    We either looking for GRUB/GRUB4DOS expert to help us.
    Or we need to find ICH switch sequence in BIOS and change to the one we need or hook it up to unused BIOS menu option.
    Any other ideas? :confused:
     
  4. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    Yep. I read that too… Make me believe something in BIOS is missing…

    What program to you use to read/write values?


    Could you do the test I described, please?
    I.e. format USB drive + copy from Win OS drive:
    ntldr
    NTDETECT.COM
    boot.ini
    Try to boot from USB – you should boot into Win OS.

    Change ICH mode using oROM or GRUB stage1 method.
    Boot from USB won’t work most likely.
    Try GRUB command line – fine what disks does it see.
    Check if you get any new drive, try to boot from it…
     
  5. gabiz_ro

    gabiz_ro MDL Member

    Feb 2, 2010
    173
    12
    10
    #426 gabiz_ro, Jun 24, 2010
    Last edited by a moderator: Apr 20, 2017
  6. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    #427 Apokrif, Jun 24, 2010
    Last edited by a moderator: Apr 20, 2017
  7. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    #428 Apokrif, Jun 24, 2010
    Last edited: Jun 24, 2010
    example from grub4dos :)

    title find and load NTLDR of Windows NT/2K/XP
    fallback 1
    find --set-root --ignore-floppies /ntldr
    chainloader /ntldr
    savedefault --wait=2

    Didn't work for me.

    This one works:
    I got into ntldr menu and was able to boot XP

    title Test
    savedefault
    rootnoverify (hd1,0)
    map (hd0) (hd1)
    map (hd1) (hd0)
    chainloader +1
     
  8. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    #430 Apokrif, Jun 24, 2010
    Last edited by a moderator: Apr 20, 2017
  9. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    #431 Apokrif, Jun 24, 2010
    Last edited by a moderator: Apr 20, 2017
  10. gabiz_ro

    gabiz_ro MDL Member

    Feb 2, 2010
    173
    12
    10
    In your particular case you have plain ICH7
    82801 ... I forgot.
    ICH7 doesn't work in SATA AHCI,like in my case with Intel D945GCL even bios know about that all is changed between emulated (legacy) and native (real sata) after BIOS setup is just offset 90 but no device id change and no sata.
    That's for simple ICH7.
    I was distracted by other things and completly forgot about ramap disks with grub.
    I'll try this later.
     
  11. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    ARAIR, it does – it’s ICH7R and it supports both AHCI and RAID

    Yeah – see if you can switch them at least.
    Might be better to install grub2 to USB drive run tests from there.
     
  12. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    Did one more test: used DCCU to configure BIOS settings.
    There is setting for Integrated SATA Controller: Off, Combined, ATA, AHCI, RAID
    Last two didn’t work - lspci shows IDE controller only :(

    I guess, there is an option to hold the setting, but BIOS code supports only first 3 choices. If we find where it’s read by BIOS (i.e. where BIOS programs ICH), we might be able to change code to add support to enable AHCI, RAID or both (depends on ICH model, of course)
     
  13. gabiz_ro

    gabiz_ro MDL Member

    Feb 2, 2010
    173
    12
    10
    Is working with remap hdd.
    As for PI 80 ... I think is "programming Interface" chipset register offset 09
    As for ICH7R that's strange,offset 90 is RW and f you write value dev_id must have been changed.
    Maybe is ICH7 simple and is IDE RAID. can you take a look on what is printed on chipset?
     
  14. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    Could you elaborate, please?

    I checked with CPU-Z, don’t have it connected now, but it identifies it as ICH7/R.
     
  15. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    #437 Apokrif, Jun 24, 2010
    Last edited by a moderator: Apr 20, 2017
    Did one more test with ICH8
    In addition to MS patch (to start drives) I created registry key for my new ACHI device:

    Code:
    REGEDIT4
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#VEN_8086&DEV_2824&CC_0106]
    "ClassGUID"="{4d36e96a-e325-11ce-bfc1-08002be10318}"
    "Service"="intelide"
    "DriverPackageId"="mshdc.inf_x86_neutral_f64b9c35a3a5be81"
    
    And I was able to boot W7 with grub2 AHCI setpci command!
    But it was so slowwww.
    It found new device “Standard AHCI 1.0 Serial ATA Controller” and created another key for it:

    Code:
    REGEDIT4
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_8086&DEV_2824&SUBSYS_01DA1028&REV_02]
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_8086&DEV_2824&SUBSYS_01DA1028&REV_02\3&172e68dd&0&FA]
    "DeviceDesc"="@mshdc.inf,%pci\\cc_010601.devicedesc%;Standard AHCI 1.0 Serial ATA Controller"
    "LocationInformation"="@system32\\DRIVERS\\pci.sys,#65536;PCI bus %1, device %2, function %3;(0,31,2)"
    "Capabilities"=dword:00000000
    "Service"="msahci"
    "ClassGUID"="{4d36e96a-e325-11ce-bfc1-08002be10318}"
    "ConfigFlags"=dword:00000000
    "ParentIdPrefix"="4&33a2420f&0"
    "Driver"="{4d36e96a-e325-11ce-bfc1-08002be10318}\\0004"
    "Class"="hdc"
    "Mfg"="@mshdc.inf,%ms-ahci%;Standard AHCI 1.0 Serial ATA Controller"
    
    W7 suggests rebooting to complete new device install, but it keeps crushing after (with AHCI patch). :(
    Boots fine with without AHCI still.
     
  16. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    Here we go:
    Chipset
    -------------------------------------------------------------------------
    NorthbridgeIntel i945P/PL/G/GZ rev. A2
    SouthbridgeIntel 82801GB (ICH7/R) rev. A1
     
  17. gabiz_ro

    gabiz_ro MDL Member

    Feb 2, 2010
    173
    12
    10
    #439 gabiz_ro, Jun 25, 2010
    Last edited by a moderator: Apr 20, 2017
    I can boot normal (no bios mod or patch) in legacy mode from usb drive with ntldr ntdetect and boot.ini from usb after remaping hdd in grub.

    why you start this ? "Service"="intelide" maybe that's why was working so slow.
    "Service"="intelide"

    I want to say to open case and read what is printed phisically to southbridge chipset.

    Code:
    82801GB   ICH7
    82801GR    ICH7R
    82801GDH  ICH7DH
    82801GBM  ICH7-M
    82801GHM  ICH7M DH
    82801 GU   ICH7-U
     
  18. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    Ok. Care to try grub2 + setpci?

    I had copied it from another key, probably.
    Good you noticed that. :)
    What’s interesting, it booted only once, replaced driver to "Service"="msahci" and never boots again with AHCI enabled.

    Sorry, didn’t think about it – will do next time!
    There is no easy way to read exact model [using RW everything], right? :(

    Checked Dimension 9100 - CPU-Z report is exactly the same chip:
    Southbridge Intel 82801GB (ICH7/R) rev. A1
    Opened it up – it’s NH82801GR - runs RAID as of now.

    So the best explanation so far – Optiplex 620 has ICH7 chip and it can do neither AHCI nor RAID
    intel.com datasheet 307013.pdf Sub Class Code Register (SATA–D31:F2) page 495.

    So next step is to try grub2 on ICH7M