Dell bios, how to decompose / mod.

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

  1. sksoft

    sksoft MDL Novice

    May 16, 2010
    2
    0
    0
    Dell Inspiron 9400 AHCI

    Could anybody clear up the current situation with ability to enable AHCI for Inspiron 9400 BIOS or how to enable it under Windows (XP or 7) ?
     
  2. gabiz_ro

    gabiz_ro MDL Member

    Feb 2, 2010
    173
    12
    10
    #402 gabiz_ro, May 16, 2010
    Last edited: May 16, 2010
    I try some ways but in the end I abandoned this idea.And ICH7-M is only sataI capable so I'm thinking at other possible mods.
    In AHCI mode optical unit will not work since is connected to IDE interface.
    There was two cases
    -using custom pci rom to rewrite chipset registers and switch ICH7-M into native sata ahci, result was can't boot anymore from internal disk
    (booting from usb devices was ok and under linux or windows startup ICH7-M was working in AHCI)
    - using a DSDT patch in bios, result was controller is switched to AHCI in booting process,that works for linux but for win only BSOD or no disk found at installing stage.

    Now I'm thinking to try to adapt one pci express x1 sata card to express card slot and test if is working.

    Maybe is possible but I'm not a programmer and this was beyond my skill.
    As i remember during my tests,dumping memory address where was set ABAR address I always get some status errors and ahci was not enabled.But after loading drivers was working.I don't know if all is done properly bios can boot from disk.
     
  3. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    gabiz_ro,
    I don’t follow this thread anymore, but you finding are very interesting.
    Could you answer few questions and/or provide external links, please?

    Do you mean switching ICH7-M to AHCI mode disables IDE interface completely?
    Could it be, that it got disabled during switch by mistake?

    I.e. neither Linux nor Win Live CD can boot, right?
    If it’s so – it’s probably too late to switch to ACHI during boot process
    I.e. BIOS already found ICH7-M device in compatible mode, than lost it (we turn it into ACHI)
    There was no AHCI device detected, because it was not there yet.
    Sorry, I not an expert in this area…

    And once booted – you don’t have access to CD connected to IDE, right?

    I’d say – this is very good progress!

    What are you exactly you trying to do?

    Could you elaborate on this, please?
    I guess driver tries to reinitialize device, thus correct mistakes made during BIOS initialization stage…

    Anyway, I would try to find a code piece in different BIOS, responsible for switching ICH7-M modes and put them into your 9400 BIOS. I guess you already know what to look for better than anybody else in this forum ;-)
     
  4. Neo

    Neo MDL Novice

    May 31, 2007
    12
    0
    0
    Thank you very much
     
  5. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    I’ve read your links. IMO, there is no problem to enable ACHI in ICH7-M, the problem is to make int 13h work with ICH7-M in ACHI mode if BIOS doesn’t support it.
    In short - you have the latter, you can switch BIOS into compatible mode, than use grub with extra module to enable ACHI and chain-load into Win without hitch.
    If your BIOS doesn’t have it – the above process will hung.
    To resolve you would need extra TSR to support int 13h during boot phase (which wasn’t done yet?)

    In your case Linux boots just fine, but Win hangs on load - so 9400 BIOS doesn’t support ACHI mode int 13h.

    Ideally you would need to get two code pieces from newer Dell model BIOS with ICH7-M and ACHI support:
    1. code to switch compatibly -> ACHI mode (relatively easy)
    2. int 13h module [with ACHI support] (don’t really know - might be much harder or much easier than #1)

    I have a feeling Optiplex GX620 BIOS can be updated from 745 one- the mobo looks almost identical.
    Obviously, the process will need a way to restore damaged GX620 BIOS – it cannot be done without few trials at least. I don’t have any equipment to re-flush dead mobo…

    Don’t know either, what might be the donor BIOS for 9400 – what is the next successor model with ACHI support?
     
  6. gabiz_ro

    gabiz_ro MDL Member

    Feb 2, 2010
    173
    12
    10
    D630, Inspiron 1720, have AHCI support but is ICH8-M i think.
     
  7. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    Hopefully Int 13h support is the same for all ICH8-M/ICH8/ICH7-M/ICH7 (I really hope it is)
    I have practically no knowledge about ICH# compatibility - they probably all compatible from int 13h perspective.

    So you’ll need to find module with Int 13h code in new BIOS and try to replace old one...
    Some modules are exactly the same across many Dell models, especially released around same date.

    I’ve have no clue where find more knowledgeable person to get an advice beforehand, then spend lots of time and get nothing… :eek:
     
  8. sksoft

    sksoft MDL Novice

    May 16, 2010
    2
    0
    0
    AHCI support for Inspiron 9400

    Does anybody have any luck with AHCI support for Inspiron 9400?
     
  9. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    Oops… One more thing:
    You could you poke around BIOS menu and try to enable submenu responsible for ACHI, RAID, etc. switch.
    It supposed to switch controller at the “right moment”.
    As you found:
    And that might be the very reason why Dell had disabled the menu. :rolleyes:
     
  10. gabiz_ro

    gabiz_ro MDL Member

    Feb 2, 2010
    173
    12
    10
    That GRUB patch was first thing tried,but result was Geometry error displayed on screen,no matter what OS selected from GRUB menu.
    oROM switch was too late indeed,I was replacing PXE ROM and select network boot first.
    (all my attempts to make bios load oROM like normal bios was failed.No matter which ROM I replaced or for what PCI ID was build bios ignore them.One possibly variant was to inset my code into vbios but was risky to brick my video card and exist possibility that was to early and bios reconfigure chipset like in normal way.)
    As for switching in boot procees,that's windows issue of boot device since under linux is working fine.
    Since Dell doesn't offer SATA AHCI mode for that generations of notebooks (i think same on desktops) I think is very probable that doesn't exist as a hidden or disabled menu.
     
  11. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    I think it does - let me take a look anyway...
     
  12. gabiz_ro

    gabiz_ro MDL Member

    Feb 2, 2010
    173
    12
    10
    Don't remember exact message but was something like controller error or device unsupported.
     
  13. gabiz_ro

    gabiz_ro MDL Member

    Feb 2, 2010
    173
    12
    10
    Tested some time ago.
    No chance,always BSOD 0x0000007B
    (added device id in inf,enable iastor in registry,same result)
    That's the windows problem,too sensitive at boot device.
    I also tried kexec-loader but ... more work to do.
    One thing haven't tried
    -some chipset registers are RO or depends from others,something at offset 94 force some of them to be RW then enable memory space for AHCI,and write some aditional registers but let controller in legacy mode then use GRUB to write offset 90 but I think result will be same BSOD
    I don't have required skill to program in asm all is needed.
    There is need to write chpset registers then reset controller then in ABAR read some registers compare with needed value clear errors enable AHCI,usefull is to have some debug or to ptint to screen what is happening to see where is problem.
    Like I said during my tests I always ended with some errors and AHCI was not enabled (I see that dumping memory mapped ABAR address)
     
  14. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    What windows version you tried it with (XP, Vst, W7)?

    Do you have another computer to test:
    Install W7 with ICH in legacy mode (on spare HD?)
    change registry
    leave BIOS in legacy mode
    Reboot
    Check if ICH is switched to AHCI or RAID
    If it you get BSOD, switch BIOS to AHCI or RAID (whatever you set in registry)
    Reboot – it should work – if not (don’t know what to do yet) :(

    If not tired – “lather, rinse, repeat” for XP