Remove whitelist check / add ID's to break hardware restrictions mod requests.

Discussion in 'BIOS Mod Requests. Post Requests Only' started by Yen, Jun 19, 2010.

  1. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    10,938
    10,474
    340
    Hi,

    at the moment many users want to use another e.g. wlan card and are receiving an error: Not supported device. This is because of a whitelist at the bios that contains hardware ID's of special OEM vendors that are allowed to run. Others are restricted and don't run.
    This is annoying and IMHO a bad marketing politic.

    There are 2 general ways to break this restriction:

    1. Add your card's IDs you have bought to make it run
    2. Disable the check code.


    The specific byte sequence (your vendor ID, device ID, sometimes the subsysID) is not found at the biosimage. It’s almost always compressed in a module.

    General steps to mod, no matter what bios:
    -decompose the bios into its modules and decompressing, at least one module.
    -search through the modules for the bytes sequence of your currently used card. Note it’s stored like that:

    PCI\VEN_8086&DEV_4237&SUBSYS_12118086&REV_00

    Means:
    Vendor: 8086
    Device: 4237
    SUBSYS: 12118086

    Stored at whitelist like:
    86 80 37 42 86 80 11 12

    How to obtain the IDs:
    1. Remove existing wireless card from laptop, leave the access cover off.
    2. Boot laptop and enter boot selection screen. Press F8 therefore.
    3. Install new card (whilst laptop is running), no need connect antenna wires.
    4. Boot into windows and new card will appear as unknown device.
    5. Now you can obtain exact ven, dev & subsys id's from device properties

    -patch an unused ID sequence with the ID sequence of your new card. Correct sums if needed (HP’s own bioses)
    -rebuild the biosimage.



    Instructions for efi, Insyde, Phoenix bioses:

    Use andy's Phoenix tool version 1.55 or above.
    Tick No SLIC and Allow users to modify other modules.
    Open the bios to be modified. The tool extracts the modules into the dump folder and pauses.
    Now search for your byte sequence in the dump folder. Or try to find the whitelist code, or modify what you need.
    Save your modifications.
    The tool will notice about the changes and reintegrate the modified module.
    Please note we don’t use the tool to SLIC a bios, but to decompose the modules / rebuild the bios.

    Example and how to apply Zender's great patchtool for Lenovo phoenix bioses:
    http://forums.mydigitallife.net/thr...estrictions-mod-requests.?p=338719#post338719

    That way you may edit any module. It will result to unable to reintegrate if its new compressed size is bigger and hence it doesn't fit to its original offset before. You may gain space when editing another sequence to the same ID string (more compressible).

    I hope that I can soon take care of this thread. At the meantime, I would be happy if anybody that is familiar with whitelistmodding is posting results / instructions..thanks.

    This subject is at the start of development.


    Please post requests regarding whitelists here using this form:

    -Manufacturer:
    -Motherboard Model:
    -Bios revision:
    -Bios Type:
    -Bios Download Link:
    -Current original card (like): PCI\VEN_8086&DEV_4237&SUBSYS_12118086&REV_00
    -Card to be added (like): PCI\VEN_14E4& DEV_4328& SUBSYS_000A1028
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    10,938
    10,474
    340
    reserved space
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. sloozer

    sloozer MDL Member

    Apr 25, 2007
    112
    2
    10
    Yen,
    Will this whitelist removal works for HDD restrictions also?
    My Thinkpad limited to only a few HDD approved by Lenovo/IBM. :mad:
     
  4. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    10,938
    10,474
    340
    I never had tried that. I'm able to remove the whitelist checks for most of Lenovo Phoenix bioses. At other Lenovo bioses such as Insyde I have replaced an existing ID with a new one to make it run.
    I think there must be a check also. The hardware ID's of a HDD are different, like IDE\DiskSAMSUNG_HD103UJ_________________________1AA01118.
    To figure that you would have to look at your current ID's and then try to find anything about at the bios. Finally disable the check or replace the ID with an unsupported HDD.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. ZakMcRofl

    ZakMcRofl MDL Member

    Aug 11, 2007
    102
    6
    10
    Acer 5652

    Hi Yen,
    great thread! I don't simply want to request a bios mod, I'd like to collect some information on how Acer handles the PCI whitelist for the wireless switch.

    Here is the information:

    -Manufacturer: Acer
    -Motherboard Model: HBL50/HBL51 (Aspire 3690/5610/5610Z/5630/5650/5680
    TravelMate 2490/4200/4230/4260/4280
    Extensa 5510/5510Z)
    -Bios revision: 3.60
    -Bios Type: Phoenix
    -Bios Download Link: http://www.multiupload.com/UJTFB98HKJ (Acer 3.60 with VT option enabled and Acer SLIC 2.1, made by kizwan)
    -Current card: PCI\VEN_8086&DEV_4222&SUBSYS_10018086&REV_02
    -Card to be added: to be decided (I'm curious if we can find a generic solution but I have a card laying around if we need to test something)
    - Type of restriction: Acer, wireless switch not working, card always off unless PIN 20 trick is used

    What I have already done:
    - dumped Bios using the Phoenix bios tool
    - searched for whitelist (results below)
    - search for some documentation (links below)

    How I searched for whitelist:
    I opened the bioscod*.rom files and searched for 86802242 (VEN&DEV). I found 10 occurrences in bioscod5.rom and only one in bioscod0.rom so I suspected the whitelist in bioscod5.rom. But I found no matches for 86800110 (subsys).

    Then I downloaded all wifi drivers for this notebook (Broadcom, Atheros, Intel) and crosscheck all modules with the IDs mentioned in the inf files. In my case, I found some entries in bioscod0.rom and bioscod1.rom:
    8C161300 and 8C161C00 which correspond to Atheros AR5001 IDs (168C - 1300/1C00)
    E4141843, E4141143 and E4142043 which correspond to Broadcom BCM43XG IDs

    I am now a little confused which one of the candidates is the actual whitelist.

    By the way, during my research if found some interesting links that I want to share with you guys:

    http://forum.thinkpads.com/viewtopic.php?f=29&t=55837&start=180
    http://www.endeer.cz/bios.tools/bios.html (IDA disassemble of Thinkpad bios)
    http://www.endeer.cz/bios.tools/phnxpatch.zip (Auto patcher, I think mainly for IBM/Lenovo)

    Maybe we can find a phnxpatch-pattern for Acer bios files?
    What should I do next? Disassemble the two bioscod files? Yen, can you help me out?
     
  6. gringo8831

    gringo8831 MDL Novice

    Jul 3, 2010
    1
    0
    0
  7. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    10,938
    10,474
    340
    ATM I'm busy, but will return soon to this thread.
    Please check first post to make a proper request. I need the Id's of your current card and of the card to be added...
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. Jako2328

    Jako2328 MDL Novice

    Jul 13, 2010
    4
    0
    0
    Hi Yen
    I have tried to add a WiFi card Id's to my BIOs with no success can you please help me?

    -Manufacturer: HP Compaq Presario CQ61-320EI
    -Motherboard Model: HP
    -Bios revision:F21
    -Bios Type:Insyde
    -Bios Download Link:http://h10025.www1.hp.com/ewfrf/wc/...2&lc=en&cc=au&dlc=en&sw_lang=&product=4043417
    -Current card (like): PCI\VEN_168C&DEV_002B&SUBSYS_3040103C&REV_01\4&1517C434&0&00E0 Atheros AR9285
    -Card to be added (like): PCI\VEN_8086&DEV_4222&SUBSYS_135C103C&REV_02\4&1517C434&0&00E0 Intel Pro WiFi 3945ABG

    Thx in advance
     
  9. amirb

    amirb MDL Novice

    Jul 7, 2010
    16
    0
    0
    Whitelist total removal ?

    Hello
    I have a need (at my job), to take a Lenovo\Dell\HP Laptop and totally remove form there bioses all restrictions regarding wifi/wimax cards.
    Is it possible ?
    Is there an option to cancel the Hardware check itself ? (all hardware checks)
    Thanks

    Amir
     
  10. ramon007

    ramon007 MDL Novice

    Jul 21, 2010
    2
    1
    0
    Hello, I have Lenovo X300 6478 14G laptop. Is there possibility to remove whitelist check or add my wireless card to whitelist? At this moment I have Intel 4965AGN MM2 inside and I read it should work, but my is not working in the main minipci slot :-(

    In two another slots is normally detected and windows starts, driver is installed (I tried also Intel 3965AG and the same thing happened). But I cant switch it on. Any wireless I cant switch on - windows and linux ubuntu are telling that wireless traffic is disabled. Is there any way to enable wireless traffic?
    FN+F5 is not working in windows - Bluetooth normally on/off, but Wireless not :-(

    I am so unhappy, that whole laptop is so good, but wireless is not working :-(

    Thanks to everybody for any ideas and help.
     
  11. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    10,938
    10,474
    340
    amirb,
    It is a complex operation and a huge effort needed since the bioses are different. You have to decompose the bios, to find the code that asks the hardware,to patch the code and to rebuild the bios then. The most difficult step is to understand the code. Better is to add an existing card ID to enable it.....


    ramon007,
    I'm familiar with disabling the check at Phoenix lenovo bios. But I would need to have a look, because every bios is different in code.
    If I can do, I'll post it for you...check here again....
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. Unimatrix

    Unimatrix MDL Novice

    Jul 21, 2010
    2
    0
    0
    Hi

    Could you mod my bios to disable the whitelist so I can add a new Wlan adapter?

    -Manufacturer: HP
    -Motherboard Model: DV4-2112BR
    -Bios revision: F.17
    -Bios Type: Insyde
    -Bios Download Link: ftp://ftp.hp.com/pub/softpaq/sp46501-47000/sp46845.exe
    -Current card: PCI\VEN_14E4&DEV_4315&SUBSYS_1508103C&REV_01
    -Card to be added: PCI\VEN_168C&DEV_002A&SUBSYS_03061A32&REV_01

    Thanks in advance.
     
  13. srps

    srps MDL Novice

    Aug 10, 2009
    9
    0
    0
    Can you please add one card to the whitelist? It says "Device cannot start (Code 10)", which probably means the new card isn't whitelisted.

    -Manufacturer: Acer
    -Motherboard Model: Aspire 4810TG
    -Bios revision: 1.35
    -Bios Type: Insyde
    -Bios Download Link: here
    -Current card: PCI\VEN_8086&DEV_4232&SUBSYS_13018086&REV_00
    -Card to be added: PCI\VEN_8086&DEV_4239&SUBSYS_13118086&REV_2C

    Thanks a lot

    Edit: Just saw the post below, thanks a lot for keeping us updated Yen
     
  14. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    10,938
    10,474
    340
    I have removed the whitelist check.

    Update to the same original biosversion if you haven't done that before. Close all applications before you flash.
    http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-69538


    Get the mod, close all applications run winphlash
    Upon opening the WinPhlash, click "Advanced Settings" then check and uncheck the boxes so it looks like this:

    ("Flags" Tab):
    [ ] Verify BIOS part number
    [ ] Flash only if BIOS version is different
    [ ] Flash only if BIOS version is newer
    [ ] Verify BIOS image size
    [ ] Verify BIOS checksum
    [ ] Zero block before erasing
    [x] Verify block after programming
    [x] Disable Axx swaping automatic detection .... (if present)
    [ ] Clear CMOS Checksum

    ("DMI" tab)
    "Update": Select "Update the BIOS and not DMI"

    Flash the mod. (32 bit winphlash included).
    http://slics.myftp.org/Lenovo/Lenovo_X300_7tuj10us_no_whitelist.rar

    @all
    I'll have a look at the other requests soon, it's time consuming to figure each bios. Will keep you updated.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. ramon007

    ramon007 MDL Novice

    Jul 21, 2010
    2
    1
    0
    heeeey YEN, you are the best!
    It WORKS ! :rolleyes:
    Thank you sooo much :worthy:
     
  16. Padpadak

    Padpadak MDL Member

    Feb 11, 2010
    123
    24
    10
    Hello,

    situation :

    HP pavilion DV7 1010ED
    BIOS: F49 with slic 2.1 modded

    I checked in winhex my wireless card :

    HARDWARE ID :
    Atheros AR5007 802.11b/g WiFi Adapter
    PCI\VEN_168C&DEV_001C&SUBSYS_137B103C&REV_01
    PCI\VEN_168C&DEV_001C&SUBSYS_137B103C
    PCI\VEN_168C&DEV_001C&CC_020000
    PCI\VEN_168C&DEV_001C&CC_0200

    COMPARTIBLE ID :
    PCI\VEN_168C&DEV_001C&REV_01
    PCI\VEN_168C&DEV_001C
    PCI\VEN_168C&CC_020000
    PCI\VEN_168C&CC_0200
    PCI\VEN_168C
    PCI\CC_020000
    PCI\CC_0200

    See Screen shot: http://img251.imageshack.us/img251/8092/winhexa.png

    In yellow is my compartible card
    In green my normal card

    Can I chance the vendor / id from my compartible card instead of my normal card ?
    Than I have always my normal card working.

    I want to chance the vendor/id from my compartible card into this:
    Name: Intel(R) Wireless WiFi Link 4965AGN
    Hardware ID's:
    PCI\VEN_8086&DEV_4229&SUBSYS_11008086&REV_61
    PCI\VEN_8086&DEV_4229&SUBSYS_11008086
    PCI\VEN_8086&DEV_4229&CC_028000
    PCI\VEN_8086&DEV_4229&CC_0280

    I see no SUBSYS By my compartible card ,so I dont know what to fill in in winhex ?
    only chance the new VEN and DEV without the SUBSYS ?
    and also in reverse ?
    So only chance in winhex 8C 16 1C 00 into 86 80 29 29 ?

    Thnx in advance

    I see in winhex 3C 10 7A 13 by my compartible card can that be the SUBSYS, because that is not written by the hardware ID

    COMPARTIBLE ID :
    PCI\VEN_168C&DEV_001C&REV_01
    PCI\VEN_168C&DEV_001C
    PCI\VEN_168C&CC_020000
    PCI\VEN_168C&CC_0200
    PCI\VEN_168C
    PCI\CC_020000
    PCI\CC_0200
     
  17. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    10,938
    10,474
    340
    You have to edit the subsys, too!

    Your 'green' bytes
    8C 16 1C 00 3C 10 7B 13
    allow to run:

    PCI\VEN_168C&DEV_001C&SUBSYS_137B103C

    Your yellow bytes
    8C 16 1C 00 are followed by the subsys: 3C 10 7A 13
    allow to run
    PCI\VEN_168C&DEV_001C&SUBSYS_137A103C


    Your card you want to add:
    PCI\VEN_8086&DEV_4229&SUBSYS_11008086
    86 80 29 42 86 80 00 11 (bytes to write)


    I suggest to replace card ID's you don't use at all.
    8C 16 2A 00 3C 10 81 13 allows to run
    PCI\VEN_168C&DEV_002A&SUBSYS_1381103C
    Replace this sequence.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  18. srps

    srps MDL Novice

    Aug 10, 2009
    9
    0
    0
    What I find weird is that I can't really find the SUBSYS strings in the "whitelist". I think the whitelist is this block:

    86808B10FF020200 86808C1000000000
    86808C10FF020200 86809A10FF020200
    86802242FF020300 86802742FF020300
    86802842FF020300 86803242FF020300
    86803542FF020300 86803642FF020300
    86803742FF020300 86803A42FF020300
    86803B42FF020300 86803C42FF020300
    86803D42FF020300 FFFF000000000000

    I marked my supposed current card with bold, but shouldn't it be like 8680324286800113 ? What's that FF020300 part?

    I wonder if I just replaced a random card there with 86803942 it'd work :confused:. Don't really want to brick the BIOS though, maybe I should try one of those "emergency flashes" before trying out a modified BIOS so I can be on the safe side :rolleyes:.

    Note: The system is perfectly bootable even with the non-whitelisted card, contrary to what normal unlisted card systems would be (prevented from booting, with a "unsupported system" warning). The only thing that happens is that the card doesn't start, it always says "Device cannot start (Code 10)", so I assume there's some kind of whitelist going on here.
     
  19. Padpadak

    Padpadak MDL Member

    Feb 11, 2010
    123
    24
    10
    Thnx yen for your quick and clear answer

    I wil get the card on fryday, I'll let you know if it works .

    Stupid question maybe?

    when I changes the old bytes into the new bytes , I also need to change the name of the card ?
    Atheros AR5007 802.11b/g WiFi Adapter into Intel(R) Wireless WiFi Link 4965AGN ?
    Or does that goes by inselves because of the VEN-DEV-SUBSYS change ???

    Thnx in advance
     
  20. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    10,938
    10,474
    340
    "Device cannot start (Code 10)" is usually a device diver issue. Sure you have installed the right one?

    Your posted code seems to me the whitelist though, also your card ID to be added isn't found at the code block you have posted.
    There are whitelists without subsys, yes. Some are separated with four bytes, this is nothing special. To try to add your card you would need to change one byte only. Anyway I'll have a look at the bios....
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...