Forum RSS Feed Follow @ Twitter Follow @ Twitter

Thread Rating:
  • 2 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Solved][REQUEST] Lenovo X230 wlan whitelist removal
#1
-Manufacturer:Lenovo
-Motherboard Model:ThinkPad X230
-Bios revision:G2ET97WW
-Bios Type: (unknown)
-Bios Download Link: http://driverdl.lenovo.com.cn/think/down.../5794/BIOS[g2uj15us].exe
-RW Everything Report Download Link: (unknown)

Many thanks!!!
find
quote
#2
I've done it myself. It's not a total solution but works. I'd like to share my experience as following.

Things should be prepared
- PhoenixTool v1.90
- RW v1.50
- A hex editor
- The preinstalled WiFi module's hardware ID. For my X230, it's VEN_10EC&DEV_8176&SUBSYS_819510EC(seen from device manager)
- The new module's hardware ID(if not known, install it and X230 will tell you the ID on its' startup halt screen, just record it). For Intel Centrino 2230, it's 8086/0888/8086/4262(seen from the startup halt screen)
Specially, a Linux environment is recommended to speed up to find out the file which contains white list

Then following steps may be help
1. Download the lastest BIOS from Lenovo, for this case, it's http://driverdl.lenovo.com.cn/think/down.../5794/BIOS[g2uj15us].exe
2. Execute the download EXE file to extact the BIOS files but not install the new BIOS. By default, the BIOS file will the extracted to
C:\DRIVERS\FLASH\g2uj15us
3. Lauch the PhoenixTool
a) In the 'Original' field, choose the file 'C:\DRIVERS\FLASH\g2uj15us\G2ET97WW\$01D3000.FL2' for it
b) Launch DW and then simple press Ctrl+F2 to save a copy of ACPI table, you can save it under C:\DRIVERS\FLASH\g2uj15us\G2ET97WW as the default file name AcpiTbls.rw
c) Back to PhoenixTool, choose the new saved RW file in field ' RW file'
d) Click the 'Advanced' button in the bottom of PhoenixTool, make sure you've choosed the following 2 options
- Allow user to modify other module
- No SLIC
e) Click 'Go' button in the bottom of PhoenixTool and wait until the popup window 'You can now make manual alternations...' appears.
!!!Important, don't click the 'OK' button now, we need to change the white list before we click the 'OK' button
f) Under the folder C:\DRIVERS\FLASH\g2uj15us\G2ET97WW\DUMP, we have near 2,000 files. The while list file is among them. I don't know the naming rule for these files and just know there will be one or more files should contain the white list. We have got the device ID from device manager as VEN_10EC&DEV_8176&SUBSYS_819510EC which should be translated to 'EC107681EC109581'. Then it will be a huge job to find the hex string among the 2,000 files. Now we can turn to Linux, just copy the files to a Linux system and then save following code as a shell script(x230.sh)
#!/bin/bash
for file in /tmp/DUMP/*.ROM; do
xxd $file |grep -q -i 'ec10 7681 ec10 9581'
echo $? '-' $file
done
Then run the follwing command,
./x230.sh |grep '0 - '
And I got the result
0 - /tmp/DUMP/79E0EDD7-9D1D-4F41-AE1A-F896169E5216_1_1457.ROM
So we find the whitelist file
g) Open the hex editor, find the hex string, replace the new hardware ID and save it
h) Return to PhoenixTool ,click the 'OK' button and wait it to finish. It will generate the new BIOS file '$01D3000_SLIC.FL2'.
4. Save the old BIOS file $01D3000.FL2 then use ''$01D3000_SLIC.FL2' to replace it.
5. Run the BIOS utility C:\DRIVERS\FLASH\g2uj15us\WINUPTP.exe to flash the new modified BIOS

Enjoy it
find
quote
#3
(11-25-2013, 09:13 PM)newcat Wrote: I've done it myself. It's not a total solution but works. I'd like to share my experience as following.

Things should be prepared
- PhoenixTool v1.90
- RW v1.50
- A hex editor
- The preinstalled WiFi module's hardware ID. For my X230, it's VEN_10EC&DEV_8176&SUBSYS_819510EC(seen from device manager)
- The new module's hardware ID(if not known, install it and X230 will tell you the ID on its' startup halt screen, just record it). For Intel Centrino 2230, it's 8086/0888/8086/4262(seen from the startup halt screen)
Specially, a Linux environment is recommended to speed up to find out the file which contains white list

Then following steps may be help
1. Download the lastest BIOS from Lenovo, for this case, it's http://driverdl.lenovo.com.cn/think/down.../5794/BIOS[g2uj15us].exe
2. Execute the download EXE file to extact the BIOS files but not install the new BIOS. By default, the BIOS file will the extracted to
C:\DRIVERS\FLASH\g2uj15us
3. Lauch the PhoenixTool
a) In the 'Original' field, choose the file 'C:\DRIVERS\FLASH\g2uj15us\G2ET97WW\$01D3000.FL2' for it
b) Launch DW and then simple press Ctrl+F2 to save a copy of ACPI table, you can save it under C:\DRIVERS\FLASH\g2uj15us\G2ET97WW as the default file name AcpiTbls.rw
c) Back to PhoenixTool, choose the new saved RW file in field ' RW file'
d) Click the 'Advanced' button in the bottom of PhoenixTool, make sure you've choosed the following 2 options
- Allow user to modify other module
- No SLIC
e) Click 'Go' button in the bottom of PhoenixTool and wait until the popup window 'You can now make manual alternations...' appears.
!!!Important, don't click the 'OK' button now, we need to change the white list before we click the 'OK' button
f) Under the folder C:\DRIVERS\FLASH\g2uj15us\G2ET97WW\DUMP, we have near 2,000 files. The while list file is among them. I don't know the naming rule for these files and just know there will be one or more files should contain the white list. We have got the device ID from device manager as VEN_10EC&DEV_8176&SUBSYS_819510EC which should be translated to 'EC107681EC109581'. Then it will be a huge job to find the hex string among the 2,000 files. Now we can turn to Linux, just copy the files to a Linux system and then save following code as a shell script(x230.sh)
#!/bin/bash
for file in /tmp/DUMP/*.ROM; do
xxd $file |grep -q -i 'ec10 7681 ec10 9581'
echo $? '-' $file
done
Then run the follwing command,
./x230.sh |grep '0 - '
And I got the result
0 - /tmp/DUMP/79E0EDD7-9D1D-4F41-AE1A-F896169E5216_1_1457.ROM
So we find the whitelist file
g) Open the hex editor, find the hex string, replace the new hardware ID and save it
h) Return to PhoenixTool ,click the 'OK' button and wait it to finish. It will generate the new BIOS file '$01D3000_SLIC.FL2'.
4. Save the old BIOS file $01D3000.FL2 then use ''$01D3000_SLIC.FL2' to replace it.
5. Run the BIOS utility C:\DRIVERS\FLASH\g2uj15us\WINUPTP.exe to flash the new modified BIOS

Enjoy it

Thanks for info.
And successful flash?

From Hanoi, Vietnam
find
quote
#4
(11-25-2013, 09:31 PM)sovem Wrote:
(11-25-2013, 09:13 PM)newcat Wrote: I've done it myself. It's not a total solution but works. I'd like to share my experience as following.

Things should be prepared
- PhoenixTool v1.90
- RW v1.50
- A hex editor
- The preinstalled WiFi module's hardware ID. For my X230, it's VEN_10EC&DEV_8176&SUBSYS_819510EC(seen from device manager)
- The new module's hardware ID(if not known, install it and X230 will tell you the ID on its' startup halt screen, just record it). For Intel Centrino 2230, it's 8086/0888/8086/4262(seen from the startup halt screen)
Specially, a Linux environment is recommended to speed up to find out the file which contains white list

Then following steps may be help
1. Download the lastest BIOS from Lenovo, for this case, it's http://driverdl.lenovo.com.cn/think/down.../5794/BIOS[g2uj15us].exe
2. Execute the download EXE file to extact the BIOS files but not install the new BIOS. By default, the BIOS file will the extracted to
C:\DRIVERS\FLASH\g2uj15us
3. Lauch the PhoenixTool
a) In the 'Original' field, choose the file 'C:\DRIVERS\FLASH\g2uj15us\G2ET97WW\$01D3000.FL2' for it
b) Launch DW and then simple press Ctrl+F2 to save a copy of ACPI table, you can save it under C:\DRIVERS\FLASH\g2uj15us\G2ET97WW as the default file name AcpiTbls.rw
c) Back to PhoenixTool, choose the new saved RW file in field ' RW file'
d) Click the 'Advanced' button in the bottom of PhoenixTool, make sure you've choosed the following 2 options
- Allow user to modify other module
- No SLIC
e) Click 'Go' button in the bottom of PhoenixTool and wait until the popup window 'You can now make manual alternations...' appears.
!!!Important, don't click the 'OK' button now, we need to change the white list before we click the 'OK' button
f) Under the folder C:\DRIVERS\FLASH\g2uj15us\G2ET97WW\DUMP, we have near 2,000 files. The while list file is among them. I don't know the naming rule for these files and just know there will be one or more files should contain the white list. We have got the device ID from device manager as VEN_10EC&DEV_8176&SUBSYS_819510EC which should be translated to 'EC107681EC109581'. Then it will be a huge job to find the hex string among the 2,000 files. Now we can turn to Linux, just copy the files to a Linux system and then save following code as a shell script(x230.sh)
#!/bin/bash
for file in /tmp/DUMP/*.ROM; do
xxd $file |grep -q -i 'ec10 7681 ec10 9581'
echo $? '-' $file
done
Then run the follwing command,
./x230.sh |grep '0 - '
And I got the result
0 - /tmp/DUMP/79E0EDD7-9D1D-4F41-AE1A-F896169E5216_1_1457.ROM
So we find the whitelist file
g) Open the hex editor, find the hex string, replace the new hardware ID and save it
h) Return to PhoenixTool ,click the 'OK' button and wait it to finish. It will generate the new BIOS file '$01D3000_SLIC.FL2'.
4. Save the old BIOS file $01D3000.FL2 then use ''$01D3000_SLIC.FL2' to replace it.
5. Run the BIOS utility C:\DRIVERS\FLASH\g2uj15us\WINUPTP.exe to flash the new modified BIOS

Enjoy it

Thanks for info.
And successful flash?
Successful!!! And 2 additional notes for my case:
1. I didn't replace the pre-installed device ID in the white list. I replaced the upper one which should be for the 63xx WiFi module. So the pre-installed and new WiFi module are both supported.
2. I've already installed the new BIOS before and the utility don't install the same version of BIOS. So I have to installed a lower version of the BIOS firstly and then installed my mod-bios because I don't know the command options of the BIOS utility.
find
quote
#5
I've tried the method of newcat to replace device id for Intel 7260 ac wlan Card.
Couldn't find PhoenixTool v1.90, i took PhoenixTool v2.50 and RwPortableX64V1.6.5 instead.
Found the whitelist in:
79E0EDD7-9D1D-4F41-AE1A-F896169E5216_2215.ROM

After modifying the file wich contains the whitelist and flashed the modifyed bios I still have the message of unsupported pci Card.
After using the Universal BIOS Backup ToolKit 2.0, I saw that no changes were written to the bios.
Tried this on Lenovo X230T, Bios 2.57

Had someone else succsess with the method above?
find
quote
#6
(11-25-2013, 09:13 PM)newcat Wrote: f) Under the folder C:\DRIVERS\FLASH\g2uj15us\G2ET97WW\DUMP, we have near 2,000 files. The while list file is among them. I don't know the naming rule for these files and just know there will be one or more files should contain the white list. We have got the device ID from device manager as VEN_10EC&DEV_8176&SUBSYS_819510EC which should be translated to 'EC107681EC109581'. Then it will be a huge job to find the hex string among the 2,000 files. Now we can turn to Linux, just copy the files to a Linux system and then save following code as a shell script(x230.sh)
#!/bin/bash
for file in /tmp/DUMP/*.ROM; do
xxd $file |grep -q -i 'ec10 7681 ec10 9581'
echo $? '-' $file
done
Then run the follwing command,
./x230.sh |grep '0 - '
And I got the result
0 - /tmp/DUMP/79E0EDD7-9D1D-4F41-AE1A-F896169E5216_1_1457.ROM
So we find the whitelist file

A simpler solution to find the file would be:
LC_CTYPE="" grep -lP '\xec\x10\x76\x81\xec\x10\x95\x81' /tmp/DUMP/*.ROM

or with Perl:
perl -ne 'print $ARGV if /\xec\x10\x76\x81\xec\x10\x95\x81/' /tmp/DUMP/*.ROM

I am pointing out the Perl solution because Perl is available (free) in Windows too (but I haven't tested this in Windows).
The first solution is also also available in Windows for free, by installing Cygwin.

I would also like to point out that people have trouble bypassing the BIOS whitelist in the X230 because it seems there is a digital signature involved (I don't know the details). So how come you were able to overcome this? Is it because you downgraded it to an older firmware version too? Or perhaps your hardware is different somehow?

I am very interested in hearing if this is indeed working.
find
quote
#7
The trick doesn't work on my x230.
Even with the original Centrino 2200 can still working, but the Centrino 2230 obviously still blocked.
I don't know how you did it man, I hope you can send me your modified $01D3000_SLIC.FL2 so I can directly flash it to see what happen
find
quote
#8
(03-05-2014, 03:59 PM)triaji Wrote: The trick doesn't work on my x230.
Even with the original Centrino 2200 can still working, but the Centrino 2230 obviously still blocked.
I don't know how you did it man, I hope you can send me your modified $01D3000_SLIC.FL2 so I can directly flash it to see what happen

I use this program XSearch :

http://www.easexp.com/xsearch/

None know this useful wonderful tool, It does a recusive search for hex value or string (unicode too used into bios) on all files in a folder or more folders, the BEST to do this work.
Try to believe . . .
The method is right and It's only question time.
Sovem remove completly Withelist so You can use every card without have to re.change Vendor-ID Card every time.
regards

Your Brain . . . . It's the best tool U can use ! Wink
Don't FLASH the Bios Mod if You get a Size Alert, You risk a Brick !!!
Donate to me for my work, click here BDM
find
quote
#9
T430 same?
find
quote
#10
I have tested the method without success.
I have replaced the hex chain by the one of my new card, and it seems that there is no modification after installing the mod bios.
I can't use the new card but I can use the original one ?!

Any idea where the process get stucked ?

FYI: I use g2uj18us and g2uj17us bios versions to upgrade and downgrade.
find
quote


Forum Jump:


Users browsing this thread: 2 Guest(s)
Expand chat
Expand chat
Expand chat

To join us in the community live chat, please register or log-in