Latitude D610 request - fix for 137GB BIOS limit

Discussion in 'BIOS Mods' started by LATD610_please, Sep 16, 2010.

  1. tqhoang

    tqhoang MDL BIOS Modder

    Apr 29, 2008
    1,601
    357
    60
    #62 tqhoang, Oct 29, 2010
    Last edited by a moderator: Apr 20, 2017
    I found a bunch of 1028's reversed (for x86) but I'm not sure what to try to change.

    FWIW here's all of my main devices for the D610 with Intel graphics.
    Code:
    Dell 0D4571 Mainboard
    
    -------------------------------------------------------------------------------
    
    Mobile Intel(R) 915GM/GMS,910GML Express Chipset Family (Display Adapter)
    PCI\VEN_8086&DEV_2592&SUBSYS_01821028&REV_03
    PCI\VEN_8086&DEV_2592&SUBSYS_01821028
    PCI\VEN_8086&DEV_2592&CC_030000
    PCI\VEN_8086&DEV_2592&CC_0300
    
    PCI\VEN_8086&DEV_2792&SUBSYS_01821028&REV_03
    PCI\VEN_8086&DEV_2792&SUBSYS_01821028
    PCI\VEN_8086&DEV_2792&CC_038000
    PCI\VEN_8086&DEV_2792&CC_0380
    
    -------------------------------------------------------------------------------
    
    Intel(R) 82801FBM Ultra ATA Storage Controllers - 2653
    PCI\VEN_8086&DEV_2653&SUBSYS_01821028&REV_03
    PCI\VEN_8086&DEV_2653&SUBSYS_01821028
    PCI\VEN_8086&DEV_2653&CC_010180
    PCI\VEN_8086&DEV_2653&CC_0101
    
    -------------------------------------------------------------------------------
    
    Mobile Intel(R) 915GM/PM/GMS/910GML Express Processor to DRAM Controller - 2590
    PCI\VEN_8086&DEV_2590&SUBSYS_01821028&REV_03
    PCI\VEN_8086&DEV_2590&SUBSYS_01821028
    PCI\VEN_8086&DEV_2590&CC_060000
    PCI\VEN_8086&DEV_2590&CC_0600
    
    -------------------------------------------------------------------------------
    
    Intel(R) 82801 PCI Bridge - 2448
    PCI\VEN_8086&DEV_2448&SUBSYS_01821028&REV_D3
    PCI\VEN_8086&DEV_2448&SUBSYS_01821028
    PCI\VEN_8086&DEV_2448&CC_060401
    PCI\VEN_8086&DEV_2448&CC_0604
    
    Intel(R) 82801FB/FBM PCI Express Root Port - 2660
    PCI\VEN_8086&DEV_2660&SUBSYS_00000000&REV_03
    PCI\VEN_8086&DEV_2660&SUBSYS_00000000
    PCI\VEN_8086&DEV_2660&REV_03
    PCI\VEN_8086&DEV_2660
    PCI\VEN_8086&DEV_2660&CC_060400
    PCI\VEN_8086&DEV_2660&CC_0604
    
    Intel(R) 82801FBM LPC Interface Controller - 2641
    PCI\VEN_8086&DEV_2641&SUBSYS_01821028&REV_03
    PCI\VEN_8086&DEV_2641&SUBSYS_01821028
    PCI\VEN_8086&DEV_2641&CC_060100
    PCI\VEN_8086&DEV_2641&CC_0601
    
    -------------------------------------------------------------------------------
    
    Intel(R) 82801FB/FBM USB Universal Host Controller - 2658
    PCI\VEN_8086&DEV_2658&SUBSYS_01821028&REV_03
    PCI\VEN_8086&DEV_2658&SUBSYS_01821028
    PCI\VEN_8086&DEV_2658&CC_0C0300
    PCI\VEN_8086&DEV_2658&CC_0C03
    
    Intel(R) 82801FB/FBM USB Universal Host Controller - 2659
    PCI\VEN_8086&DEV_2659&SUBSYS_01821028&REV_03
    PCI\VEN_8086&DEV_2659&SUBSYS_01821028
    PCI\VEN_8086&DEV_2659&CC_0C0300
    PCI\VEN_8086&DEV_2659&CC_0C03
    
    Intel(R) 82801FB/FBM USB Universal Host Controller - 265A
    PCI\VEN_8086&DEV_265A&SUBSYS_01821028&REV_03
    PCI\VEN_8086&DEV_265A&SUBSYS_01821028
    PCI\VEN_8086&DEV_265A&CC_0C0300
    PCI\VEN_8086&DEV_265A&CC_0C03
    
    Intel(R) 82801FB/FBM USB Universal Host Controller - 265B
    PCI\VEN_8086&DEV_265B&SUBSYS_01821028&REV_03
    PCI\VEN_8086&DEV_265B&SUBSYS_01821028
    PCI\VEN_8086&DEV_265B&CC_0C0300
    PCI\VEN_8086&DEV_265B&CC_0C03
    
    Intel(R) 82801FB/FBM USB2 Enhanced Host Controller - 265C
    PCI\VEN_8086&DEV_265C&SUBSYS_01821028&REV_03
    PCI\VEN_8086&DEV_265C&SUBSYS_01821028
    PCI\VEN_8086&DEV_265C&CC_0C0320
    PCI\VEN_8086&DEV_265C&CC_0C03
    
    -------------------------------------------------------------------------------
    
    Broadcom NetXtreme 57xx Gigabit Controller
    PCI\VEN_14E4&DEV_1677&SUBSYS_01821028&REV_01
    PCI\VEN_14E4&DEV_1677&SUBSYS_01821028
    PCI\VEN_14E4&DEV_1677&CC_020000
    PCI\VEN_14E4&DEV_1677&CC_0200
    
    Conexant D110 MDC V.92 Modem
    PCI\VEN_8086&DEV_266D&SUBSYS_542314F1&REV_03
    PCI\VEN_8086&DEV_266D&SUBSYS_542314F1
    PCI\VEN_8086&DEV_266D&CC_070300
    PCI\VEN_8086&DEV_266D&CC_0703
    
    SigmaTel C-Major Audio
    PCI\VEN_8086&DEV_266E&SUBSYS_01821028&REV_03
    PCI\VEN_8086&DEV_266E&SUBSYS_01821028
    PCI\VEN_8086&DEV_266E&CC_040100
    PCI\VEN_8086&DEV_266E&CC_0401
    
    Texas Instruments PCI-x515 CardBus Controller
    PCI\VEN_104C&DEV_8036&SUBSYS_01821028&REV_00
    PCI\VEN_104C&DEV_8036&SUBSYS_01821028
    PCI\VEN_104C&DEV_8036&CC_060700
    PCI\VEN_104C&DEV_8036&CC_0607
    
    Texas Instruments PCI GemCore based SmartCard controller
    PCI\VEN_104C&DEV_8038&SUBSYS_01821028&REV_00
    PCI\VEN_104C&DEV_8038&SUBSYS_01821028
    PCI\VEN_104C&DEV_8038&CC_078000
    PCI\VEN_104C&DEV_8038&CC_0780
    
     
  2. shakeyplace

    shakeyplace MDL Addicted

    May 5, 2007
    866
    75
    30
    tqhoang,
    The bios does state 64 Mb ram for the X300, the latest test bios had the same results, no display...
     
  3. shakeyplace

    shakeyplace MDL Addicted

    May 5, 2007
    866
    75
    30
    have an idea, since the hardware seems dependant on your modules, the two devices have different SubSystem IDs, let me change the value in the bios for X300 and keep the original X300 D610 bios but with the hardware id for the D810 X300, will report back, BTW, I can manually parse the newer Dell bioses but am having trouble with the older ones.. do you know exactly where the module starts in the bios so I can use winhex instead of the pheonix tool? (to change the module id if necessary)
     
  4. tqhoang

    tqhoang MDL BIOS Modder

    Apr 29, 2008
    1,601
    357
    60
    #67 tqhoang, Oct 30, 2010
    Last edited by a moderator: Apr 20, 2017
    Assuming that you're using Apokrif's splite.exe tool, here's the .map and generated .smap file for my last D610_A81_SLIC HDR file.
    View attachment D610_A81_SLIC_split.zip

    D610_A81_SLIC.map
    Code:
    # Section types
    # $RBUT01 
    # A - 2 bytes module length + 1 byte module type (OptiPlex GX620, Dimension 4600)
    # B - 1 byte module type + 4 bytes module length (Latitude D620)
    #
    # $RBUT02
    # C - 4 bytes module length + 1 byte module type
    #
    # R - RAW module
    # -----------------------------
    # line format:
    # start[TAB]type[TAB]end+1(for RAW only)
    00054 R
    04054 R
    10054 R
    60054 B
    F4054 R
    
    D610_A81_SLIC.smap
    Code:
    section #0x00 starts 0x000054
     module #01 (0x00) 0x000054-0x004054 = 0x004000
    section #0x01 starts 0x004054
     module #01 (0x00) 0x004054-0x010054 = 0x00C000
    section #0x02 starts 0x010054
     module #01 (0x00) 0x010054-0x060054 = 0x050000
    section #0x03 starts 0x060054
     module #01 (0x01) 0x060054-0x0689DE = 0x008985
     module #02 (0x0E) 0x0689DE-0x06C8B5 = 0x003ED2
     module #03 (0x03) 0x06C8B5-0x0745E0 = 0x007D26
     module #04 (0x04) 0x0745E0-0x0764A6 = 0x001EC1
     module #05 (0x05) 0x0764A6-0x089BC3 = 0x013718
     module #06 (0x07) 0x089BC3-0x08B3D8 = 0x001810
     module #07 (0x08) 0x08B3D8-0x08FADD = 0x004700
     module #08 (0x12) 0x08FADD-0x08FDD9 = 0x0002F7
     module #09 (0x10) 0x08FDD9-0x090810 = 0x000A32
     module #10 (0x2E) 0x090810-0x09113F = 0x00092A
     module #11 (0x32) 0x09113F-0x0919B1 = 0x00086D
     module #12 (0x3A) 0x0919B1-0x092237 = 0x000881
     module #13 (0x3C) 0x092237-0x09281A = 0x0005DE
     module #14 (0x38) 0x09281A-0x093174 = 0x000955
     module #15 (0x42) 0x093174-0x093AB5 = 0x00093C
     module #16 (0x11) 0x093AB5-0x09464C = 0x000B92
     module #17 (0x2F) 0x09464C-0x094E89 = 0x000838
     module #18 (0x33) 0x094E89-0x095624 = 0x000796
     module #19 (0x3B) 0x095624-0x095DF7 = 0x0007CE
     module #20 (0x3D) 0x095DF7-0x09631F = 0x000523
     module #21 (0x39) 0x09631F-0x096BE1 = 0x0008BD
     module #22 (0x43) 0x096BE1-0x09744A = 0x000864
     module #23 (0x13) 0x09744A-0x09FBC8 = 0x008779
     module #24 (0x14) 0x09FBC8-0x0A4FF3 = 0x005426
     module #25 (0x27) 0x0A4FF3-0x0B0EC5 = 0x00BECD
     module #26 (0x28) 0x0B0EC5-0x0B1473 = 0x0005A9
     module #27 (0x0D) 0x0B1473-0x0B1B2B = 0x0006B3
     module #28 (0x15) 0x0B1B2B-0x0B36DE = 0x001BAE
     module #29 (0x0F) 0x0B36DE-0x0BAD83 = 0x0076A0
     module #30 (0x16) 0x0BAD83-0x0BAE35 = 0x0000AD
     module #31 (0x46) 0x0BAE35-0x0C0093 = 0x005259
    section #0x04 starts 0x0F4054
     module #01 (0x00) 0x0F4054-0x10005C = 0x00C008
    
     
  5. shakeyplace

    shakeyplace MDL Addicted

    May 5, 2007
    866
    75
    30
    #69 shakeyplace, Oct 30, 2010
    Last edited: Oct 31, 2010
    Hmmm, that didn't go so well, I guess it must be something else it looks for? It seems to me I was trying this a couple months back, the ATI cards for the older ones, are clocked at the driver level, the bios clocks only affect say linux drivers... I know there is a utility and that is why I never pursued it too far, but anyways I collected a few bioses for the same chip that had higher default clocks and switched them with similar results. just changing the default clocks had no effect with windows drivers and using alternate video bioses would not boot...
    btw, couldn't download your map files, corrupt somehow. I have had the same problem before here with attached files..
    the two models have different memory settings for the video bios, both 64 Mb but the D610 has faster timings, I could change the timings on the D810 video bios but am not holding out much hope... more testing
    More bad news, hoping for something positive I modded the Inspiron 6000 bios by replacing the same modules you reported, despite the fact that the D510 also had an optical drive, it is not recognized :( I suppose it is either because of the different interface, disabled port or it may also be whitelisted to the models Dell sold with the particular models... on the positive side :) the broadcom ethernet works fine..
     
  6. shakeyplace

    shakeyplace MDL Addicted

    May 5, 2007
    866
    75
    30
    Thanks for the map files, Personally I feel if we could figure out the whitelisting and enabling/disabling of ports, we could at least get this working for the Intel graphic models by enabling the network adapter on the D610 and the port that the optical drive is on for the I6000, then work on the ATI video bios from there
     
  7. tqhoang

    tqhoang MDL BIOS Modder

    Apr 29, 2008
    1,601
    357
    60
    #73 tqhoang, Nov 2, 2010
    Last edited: Nov 5, 2010
    Agreed. I'm still here, just trying to learn about how the D610's Intel ICH is configured.

    I'm a total noobie when it comes to assembler, so I'm taking baby steps in learning what happens when the PC is powered on.
    - CPU runs 16-byte instruction at F000:0000h (aka the jmp command to F000:E05Bh)
    - Running IDA and I'm starting to understand some stuff.

    I'll probably need a little time to find the code, but I think I'm getting close. I'll keep updating as I find anything new. Wish me luck!

    UPDATE: Ok, I'm not understanding much at all...assembler is too low-level for me. I am running a full D510 => D610 A51 BIOS and I'm trying to compare PCI configurations. Apparently the PCI-to-PCI Bridge (PCIE) is not getting a memory region allocated...perhaps this is why the Broadcom Gigabit Ethernet card is not being detected/initialized.
     

    Attached Files:

  8. tqhoang

    tqhoang MDL BIOS Modder

    Apr 29, 2008
    1,601
    357
    60
    #74 tqhoang, Nov 7, 2010
    Last edited: Nov 7, 2010
    Do you want to know something funny? I'm still running my latest A51 BIOS and decided to disable the integrated LAN in the BIOS setup to see if I could peek at the CMOS data. To my surprise, the Broadcom Gigabit Ethernet is now detected & working!

    I just have to manually replace the two PXE modules (13=Broadcom PXE ROM, 14=PXE Base-Code???) and then I'll upload a new BIOS and update the readme file.
     
  9. tqhoang

    tqhoang MDL BIOS Modder

    Apr 29, 2008
    1,601
    357
    60
    Hey - I was thinking that since the D510 and D610 were extremely similar, I'm wondering if they left the code for the ATI video card detection in tact. Would you be willing to test my D610 A51 SLIC + ATI modules?...or have you tried something similar with the D510 BIOS already?
     
  10. Michael Hunt

    Michael Hunt MDL Novice

    Nov 12, 2010
    6
    0
    0
    #78 Michael Hunt, Nov 12, 2010
    Last edited: Nov 12, 2010
    I have a D610 with the ATI graphics and I'd like to try this out but first; just so I understand this...

    1. Download and unzip your A51 BIOS.
    2. There are 4 files in the zip container (bios.gz, D610_A06.EXE, D610_A51_SLIC.hdr and D610_A51_SLIC.txt)
    3. The txt file says to copy all the files to a bootable floppy, but that won't work because they won't fit. I assume you mean: Copy the D610_A06.EXE and the bios.gz only.
    4. If step 3 above is true, then the 2 files will fit and the instructions to "run D610_A06 -readgzfile to install the BIOS" makes sense.

    If, heaven forbid, something goes wrong and I have to revert to A06, all I need to do is extract the hdr file from a virgin A06 file (from Dell), rename it AZEDA06.HDR and place that single file on a bootable USB floppy drive and do the Dell recovery procedure where you remove the battery, unplug the AC, hold down the "END" key, insert the AC plug, release the "END" key, watch the floppy being read and eventually the laptop reboots to A06.

    If I have this straight, please let me know.

    Thanks
     
  11. tqhoang

    tqhoang MDL BIOS Modder

    Apr 29, 2008
    1,601
    357
    60
    No don't do it, my A51 BIOS will not work on D610's with ATI X300 graphics at the current moment.

    Sorry about the confusion, I'll *eventually* update the text file to clarify which files are needed to copy to the DOS bootable media when I have something for you to test.