Dell Inspiron 9400 hangs on boot with an installed mPCIe SSD, fixable by modding?

Discussion in 'BIOS Mods' started by alez, Nov 19, 2014.

  1. alez

    alez MDL Novice

    Nov 19, 2014
    8
    0
    0
    Hi!

    I have an old Dell Inspiron 9400 that is in dire need of acceleration by SSD caching.
    Unfortunately the laptop hangs up at boot with a black screen and a blinking cursor if the mPCIe SSD is installed.
    I suspect that happens because the BIOS expects a wireless card in that slot, and does something wireless card specific.

    Is there a way to fix this with a BIOS mod? If so, how would one do it?
     
  2. gabiz_ro

    gabiz_ro MDL Member

    Feb 2, 2010
    173
    12
    10
    In 9400 M1710 M90 is classic mPCIE slot.
    Most of SSD in same shape and same connector use proprietary pinout on same connector.
    mPCIE slot have PCI-E data lines and one USB.
    That SSD have SATA data lines and different pinout.

    Most probably this won't work.
    But I could be wrong in that so you better check.
    Find detailed info about your SSD or search schematics for one of compatible laptops,then if found compare pinout for SSD socket with mPCI-E standard pinout.
    But like I said poor chance to be compatible.

    No BIOS mod could fix that since is hardware related.
     
  3. alez

    alez MDL Novice

    Nov 19, 2014
    8
    0
    0
    Sorry for not being precise enough about the SSD.
    The SSD in question is an 32GB "Super Talent CoreStore Plus" (I'm not yet able to link it since I do not have 20 posts yet)

    According to the datasheet: "The CoreStore Plus is an ultra-small form factor SSD designed to fit into a standard Mini-PCIe slot."
    The interface in "Physical Specifications" is also listed as "Mini PCIe"

    Unfortunately they do not seem to offer any information about the pinout.
     
  4. alez

    alez MDL Novice

    Nov 19, 2014
    8
    0
    0
    I have peeled back the sticker on my SSD to get a better look at the chips.

    JMF608 is correct, however the other chip is an ASM1061 1x PCI-Express to 2 port SATA controller.

    If it was USB it would have probably worked too, however mPCIe only offers USB 2.0 and it would not be able to reach its advertised speed this way.
     
  5. gabiz_ro

    gabiz_ro MDL Member

    Feb 2, 2010
    173
    12
    10
    Now is clear.
    It's PCI-E based.
    Can you disable wifi card from BIOS?Try to switch off wifi Fn+F2 maybe
     
  6. alez

    alez MDL Novice

    Nov 19, 2014
    8
    0
    0
    If the card is disabled in the BIOS the system boots up fine, however it does not show up in "lspci" or "lshw".
     
  7. gabiz_ro

    gabiz_ro MDL Member

    Feb 2, 2010
    173
    12
    10
    Is not show because is disabled.
    Just an ideea from what I remember when trying to enable AHCI.
    Find what module mess with that if is no wifi card but other.
    or
    Let it disabled on BIOS setup and search for function disable registers on ICH7,find what module do that and patch it to not disable that PCI-E port that is assigned to card.
    More info about function disable for ICH7 you can found on datasheet.

    Just now I remember that was on OSX forums,was just for cosmetical purpose,to hide unused ports or devices on hackintosh.They use some modified DSDT to disable some.
    Search for more info on projectosx forum.Search for function disable.
     
  8. alez

    alez MDL Novice

    Nov 19, 2014
    8
    0
    0
    Alright, just a little braindump to let you know where I'm at:

    I have found out, that the PCI-e port I'm interested in is "00:1c.1 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 2 (rev 01)".

    I have unpacked the 9400 BIOS using Apokrif's tools. I've got a bunch of .bin files, some of them I could identify as BMPs, some option ROMs, and some other binarys. When I open the binarys that I presume to be BIOS code with IDA Pro Free it only identifies a handful of areas as code. I have no idea where to go from there.

    I'm going to try to disable the WIFI in BIOS, install the SSD and use the method described in "Project Dirty Laundry - How to defeat whitelisting without BIOS modding" (again, sorry for not being able to link it).
     
  9. gabiz_ro

    gabiz_ro MDL Member

    Feb 2, 2010
    173
    12
    10
    #10 gabiz_ro, Nov 22, 2014
    Last edited: Nov 22, 2014
    If you are talking about power on sleep or hibernate without card and then insert card and resume I don't know if will work.
    You talk about lspci and lshw,are you running linux?
    If so and grub2 I remember something that grub2 is able to write to PCI register.
    Find what you need to write in function disable of ICH7 and do this from grub.

    BIOS execute POST and based to your choice disable wifi card and as result PCI-E port is also disabled.
    Grub,will write other value to function disable and as result port will be (re)enabled and then any card inserted into slot will be detected.

    If you are using linux I think best and easy method is DSDT mod.
    I was able to switch ICH7 from legacy to native AHCI by this method.But only under linux,under win BSOD since boot device change and windows doesn't like this.Linux was working fine and doesn't complain about that.
    Also you may try to find if exist Express card to mini PCI-e adapter and use this SSD in exppress card slot.
     
  10. alez

    alez MDL Novice

    Nov 19, 2014
    8
    0
    0
    Yep, that laptop runs linux, I'm not interested in running windows on it.

    Thats pretty much what I'm going to try. Function disable register is not in the PCI address space however, its memory mapped into RAM. It should still work with "write_dword" command of GRUB2.

    I have never done such a mod before. How would one do it?

    Looked into it. the adapters exist, but they are all sticking out of the laptop. Thus they would not live long.
     
  11. alez

    alez MDL Novice

    Nov 19, 2014
    8
    0
    0
    #12 alez, Nov 22, 2014
    Last edited: Nov 22, 2014
    (OP)
    So I have managed to re-enable the PCIe ports in GRUB by manipulating the "Function Disable" register. The ports now show up in "lspci" even when disabled in BIOS.

    Unfortunately the SSD does not show up there o_O

    I'm out of ideas on this one.

    EDIT: After browsing dmesg I stumbled upon this "[0.155644] pci 0000:00:1c.1: bridge configuration invalid ([bus 00-00]), reconfiguring". So maybe just re-enabling stuff in "Function Disable" is not enough.
     
  12. gabiz_ro

    gabiz_ro MDL Member

    Feb 2, 2010
    173
    12
    10
    I'm not so good at software part.
    take a look at chipset registers with wificard and after when you connect SSD and grub enabled port.
    If BIOS assign some memory space to wifi card,try to replicate that for SSD. That is for error with invalid config.
    You re-enabled port but this don't have nothing assigned,chipset registers are to default value that may be 0000
    That's just an idea.
     
  13. alez

    alez MDL Novice

    Nov 19, 2014
    8
    0
    0
    Well, I've spent 2 more days trying to get it configured manually, without success. Looks like I have to admit defeat, sell the SSD and buy a 2.5" one.

    By the way, could you describe how you managed to switch your SATA port from IDE to AHCI?
     
  14. gabiz_ro

    gabiz_ro MDL Member

    Feb 2, 2010
    173
    12
    10
  15. LatinMcG

    LatinMcG Bios Borker

    Feb 27, 2011
    5,711
    1,606
    180
    i had similar issues with older atheros cards like ar5b63 with old dell laptops. .. had to use ar5b91 and that didn't give me similar error.

    bridge configuration invalid ([bus 00-00]), reconfiguring"

    i do think adding info to dsdt might help.. look into the firewire dsdt fix.. might be similar issue.
    the only person i think can help would be Slice with the registers .