Replacing WiFi module on Lenovo B450. We fix the error 104-Unsupported wireless network device detected
Some laptop manufacturers are artificially limiting hardware compatibility by flashing the WiFi module manufacturer identifier in the BIOS. Under kat a little description of how I struggled with such a problem. This operation was applied to Lenovo B450, but it can probably be applied to other devices with a similar problem (for example, HP Pavilion laptops, of course with the corresponding BIOS file).

And so, after replacing the WiFi module with a faster one, I found an error: 104-Unsupported wireless network device detected.

The fact is that the manufacturer sewed a specific WiFi adapter model in the laptop BIOS. The BIOS detects a foreign module and stops loading. To restore normal loading, you need to edit the BIOS and flash it. Let's get started.
Caution, further steps are unsafe and may damage your equipment. Remember that doing them you do it at your own peril and risk.
Or all in one archive (for free).

This can be done by connecting the new WiFi to another laptop. If you do not have such an opportunity, then you can do so.

Our old ID was PCI \ VEN_ 168С & DEV_ 002A & SUBSYS_ 0034168С & ...
In the BIOS, bytes go in the reverse order (the first becomes the last, etc.), we get three groups of numbers
8С 16 (from 16 8С), 2A from our identifier 00 (out of 00 2A), 8C 16 34 00 (out of 00 34 16 8C).
We are looking for the last sequence in our editor.

Editing in the EzH2O memory was necessary so that the correct checksum was put in the modified file.

PS The WiFi disconnect lever works with the new module.

And so, after replacing the WiFi module with a faster one, I found an error: 104-Unsupported wireless network device detected.

The fact is that the manufacturer sewed a specific WiFi adapter model in the laptop BIOS. The BIOS detects a foreign module and stops loading. To restore normal loading, you need to edit the BIOS and flash it. Let's get started.
Caution, further steps are unsafe and may damage your equipment. Remember that doing them you do it at your own peril and risk.
Download the necessary programs
- Official firmware [InsydeFlash] (it can be taken along with bios from the lenovo website).
- BIOS Editor - [EXH2O_v2.1.0.4]
- Hex Editor - [HxD]
Or all in one archive (for free).
Save the old WiFi adapter ID
- We find it in the device manager.
- We go into the properties and there:

Save the current BIOS
- Unpack 1DCN26WW.exe, go to the directory with the program.
- Open platform.ini
- Change the following values
[FDFile]
"BackupName=" меняем на "BackupName=OLDBIOS.FD"
[FlashComplete]
"Action=2" меняем на "Action=0"
[UI]
"ConfirmInfo=0" меняем на "ConfirmInfo=1"
[Option]
"Flag=0" меняем на "Flag=1"
- We save the file, close it, run InsydeFlash.exe.
- If you use Windows Vista / Windows 7, then to start, right-click on InsydeFlash.exe and select "run as administrator".
- In the window that opens, click Option, in the settings dialog box, in the file name field, select the file 1DCN26WW.fd, click OK.
- After that, click Start, wait a few seconds, at this time the old BIOS is saved to disk.
- In the window that opens, refuse the firmware (click cancel).
Get the Device ID of the new device.
This can be done by connecting the new WiFi to another laptop. If you do not have such an opportunity, then you can do so.
- When you turn on the laptop, when the BIOS has worked, and transfers control to the operating system, you must press the Pause button. You need to do this the moment the screen goes black before the Windows boot animation starts to display. In this case, the download will stop.
- Without turning off the laptop, carefully, without closing anything, we remove the old WiFi module and insert the new one.
Press Enter to continue the download. - When Windows boots, we get the Device ID of the new device in the same way as the old one.

Editing BIOS
- We start EzH2O, we open the old BIOS.
- Without closing the program, run HxD.
- Click "Advanced" -> "Open RAM" -> Select "EzH2O.exe" in the list.
- We need to find the old device identifier in memory.
Our old ID was PCI \ VEN_ 168С & DEV_ 002A & SUBSYS_ 0034168С & ...
In the BIOS, bytes go in the reverse order (the first becomes the last, etc.), we get three groups of numbers
8С 16 (from 16 8С), 2A from our identifier 00 (out of 00 2A), 8C 16 34 00 (out of 00 34 16 8C).
We are looking for the last sequence in our editor.

- And replace with a new one.
PCI \ VEN_ 168C & DEV_ 002A & SUBSYS_ 10671A3B & ...
8C 16 (out of 16 8C), 2A 00 (out of 00 2A), 3B 1A 67 10 (out of 10 67 1A 3B). - Click save to HxD. Close the program.
- Switching to EzH2O.
- We save BIOS.
Editing in the EzH2O memory was necessary so that the correct checksum was put in the modified file.
Flashing the changed BIOS
- Unpack 1DCN26WW.exe archiver into a new empty directory.
- We delete 1DCN26WW.fd from this directory and put our edited file there.
- We start InsydeFlash.exe, we flash, we wait while the laptop will reboot.

PS The WiFi disconnect lever works with the new module.