Repository navigation
Drive Firmware Compatibility
This page consolidates which HLDS (Hitachi-LG Data Storage) MT1959-based optical drives can be flashed with which firmware, and where to get each firmware. There are two main firmware families in active use:
| Firmware family | Base firmware | Target drives | Primary use case |
|---|---|---|---|
| OmniDrive | ASUS BW-16D1HT 3.02 / LG BU40N 1.00 | JB8/JB9 desktop & slim MT1959 drives | Disc preservation/dumping (Redump) — lead-in/lead-out, raw sectors, game disc reading |
| MK firmware | Various (WH16NS60 1.02, BW-16D1HT 3.10, BU40N 1.03, etc.) | Same MT1959 drives | UHD Blu-ray ripping with MakeMKV (LibreDrive) |
Both families run on the same hardware. The difference is which features they unlock. OmniDrive focuses on complete disc reading for preservation; MK firmware focuses on UHD ripping compatibility and LibreDrive features for MakeMKV.
Source key (used in the tables below):
- [R] = Redump Wiki — OmniDrive
- [R-O] = Redump Wiki — Flashing Older HLDS Drives
- [B] = MakeMKV Forum — Ultimate UHD Drives Flashing Guide (Billycar11 et al.)
- [M] = MakeMKV Forum — SDFtool Flasher thread (MartyMcNuts, "All You Need Firmware Pack")
- [G] = GitHub — RibShark/OmniDrive
- [F1] = MakeMKV Forum — BU40N firmware question (MartyMcNuts on recommended MK versions)
- [F2] = MakeMKV Forum — Asus BW16D1HT 3.11 encrypted firmware
- [F3] = MakeMKV Forum — Enabling LibreDrive on new ASUS BW-16D1HT v3.11
Before consulting the tables, confirm your drive meets all of these:
-
MT1959 platform — MakeMKV must report
Drive platform: MT1959. If it reportsMT1939, the drive is based on the older MT1939 chip and is not compatible with OmniDrive or most MK firmware.[R][B] -
Manufacturing date ≥ late 2015 — Drives manufactured 2015 or earlier are likely the older JB7/JBC5 platform and are incompatible. Check the sticker on the drive.
[R][B] -
PCB code JB8 (2015.05.08) or JB9 (2015.09.03) — For desktop/half-height drives. JB7 (2011.11.17) and JBC5 (2012.05.02) are not compatible with OmniDrive.
[R][R-O] -
SVC code NS50/NS52 (desktop) or NB50/NB52 (slim external) — If present on the sticker. NS40/NB40 usually indicates the older incompatible model.
[R][B]
These drives cross-flash to firmware based on ASUS BW-16D1HT 3.02 (OmniDrive) or ASUS BW-16D1HT 3.10-MK / WH16NS60 1.02-MK (MK firmware).
| Drive model | PCB | OmniDrive | MK firmware | Notes | Source |
|---|---|---|---|---|---|
| ASUS BW-16D1HT | JB8 | ✅ ASUS 3.02 OmniDrive | 3.10-MK → 3.02 (DE) | "PRO" variant is identical. "a" suffix (Chinese relabel) may be incompatible JB7. Circular-top drives may be JB7. 3.11 stock firmware is encrypted — flash 3.10-MK with enc first. |
[R] [R-O] [B] [F2]
|
| ASUS BW-16D1HT PRO | JB8 | ✅ same as above | same as above | Identical to BW-16D1HT. |
[R] [B]
|
| ASUS BC-12D2HT | JB8 | ✅ ASUS 3.02 OmniDrive | 3.10-MK → 3.02 (DE) | BD reader only (cannot burn BD). Older models cannot be flashed. Requires cross-flashing. |
[R] [R-O]
|
| ASUS BC-12B1ST b | JB8 | ✅ ASUS 3.02 OmniDrive | 3.10-MK → 3.02 (DE) | BD reader only. Older models cannot be flashed. Requires cross-flashing. |
[R] [R-O]
|
| ASUS BW-16D1X-U | JB8 | ✅ ASUS 3.02 OmniDrive | 3.10-MK → 3.02 (DE) | External USB. Must be LG BH50N variant internally. Drives made before 2025 may be the incompatible Pioneer BDR-212T variant. | [R] |
| LG WH16NS60 | JB9 | ✅ ASUS 3.02 OmniDrive | WH16NS60 1.02-MK (direct) | JB9-based — can flash directly to OmniDrive or MK firmware without intermediate steps. |
[R] [R-O] [B] [F1]
|
| LG BH16NS60 | JB9 | ✅ ASUS 3.02 OmniDrive | WH16NS60 1.02-MK (direct) | JB9-based. |
[R] [R-O]
|
| LG WH16NS40 | JB8 | ✅ ASUS 3.02 OmniDrive | WH16NS60 1.02-MK | Only newer models (JB8) can be flashed. 1.05 stock is encrypted — flash 1.05-MK or use enc flag. |
[R] [B] [F1]
|
| LG BH16NS40 | JB8 | ✅ ASUS 3.02 OmniDrive | WH16NS60 1.02-MK | Only newer models. |
[R] [R-O]
|
| LG WH14NS40 | JB8 | ✅ ASUS 3.02 OmniDrive | WH16NS60 1.02-MK | Only newer models. SVC code must be NS50. |
[R] [B]
|
| LG BH14NS40 | JB8 | ✅ ASUS 3.02 OmniDrive | — | Only newer models. |
[R] [R-O]
|
| LG BH16NS55 | JB8 | ✅ ASUS 3.02 OmniDrive | WH16NS60 1.02-MK | 1.05 stock is encrypted. |
[R] [B] [F1]
|
| LG BH16NS50 | JB8 | ✅ ASUS 3.02 OmniDrive | — | Older models (2015, v0495) untested. |
[R] [R-O]
|
| LG BH14NS50 | JB8 | ✅ ASUS 3.02 OmniDrive | — | [R] |
|
| LG BH14NS58 | JB8 | ✅ ASUS 3.02 OmniDrive | — |
[R] [R-O]
|
|
| LG BH16NS58 | JB8 | ✅ ASUS 3.02 OmniDrive | — |
[R] [R-O]
|
|
| LG WH16NS58 | JB8 | ✅ ASUS 3.02 OmniDrive | — | [R] |
|
| LG UH12NS40 | JB8 | ✅ ASUS 3.02 OmniDrive | WH16NS60 1.02-MK | BD reader only. Requires cross-flashing. |
[R] [B]
|
| LG CH12NS40 | JB8 | ✅ ASUS 3.02 OmniDrive | — | BD reader only. Requires cross-flashing. | [R] |
| LG BH40N | JB8 | ✅ ASUS 3.02 OmniDrive | — | Only newer models. Also rebadged by Dell/HP/Lenovo. | [R] |
| LG BH50N | JB8 | ✅ ASUS 3.02 OmniDrive | — |
[R] [R-O]
|
|
| LG BH-A10AME | JB8 | — | Uncommon drive, should be compatible but untested. | [R] |
These drives cannot use OmniDrive. Some can still be flashed with older firmware for scrambled-mode dumping with Redumper/DiscImageCreator. [R-O]
| Drive model | PCB | Recommended firmware | Source |
|---|---|---|---|
| ASUS BW-12B1ST a | JB7 | 1.00 | [R-O] |
| LG BH14NS40 (older) | JB7 | 1.00 | [R-O] |
| LG BH16NS40 (older) | JB7 | 1.03 | [R-O] |
| LG WH14NS40 (older) | JB7 | 1.03 | [R-O] |
| LG WH16NS40 (older) | JB7 | — | [R-O] |
| HP BH40L (A2HH) | JB7 | untested | [R-O] |
| HP BH40N (A2HH) | JBC5 | — | [R-O] |
| LG CH12NS30 | JBC5 | untested | [R-O] |
| LG UH12NS30 | JBC5 | untested | [R-O] |
| LG CH12NS38 | JBC5 | untested | [R-O] |
These drives cross-flash to firmware based on LG BU40N 1.00 (OmniDrive) or BU40N 1.03-MK (MK firmware).
| Drive model | OmniDrive | MK firmware | Notes | Source |
|---|---|---|---|---|
| LG BU40N | ✅ BU40N 1.00 OmniDrive | BU40N 1.03-MK (direct) | Internal slim. Includes OEM variants (HP, Dell). 1.02+ stock is encrypted — use enc flag. |
[R] [B] [F1]
|
| LG BU50N | ✅ BU40N 1.00 OmniDrive | BU40N 1.03-MK | Internal slim. | [R] |
| LG BP71N | ✅ BU40N 1.00 OmniDrive | BU40N 1.03-MK | Internal slim. | [R] |
| LG BP50NB40 | ✅ BU40N 1.00 OmniDrive (two-step) | BP50NB40-NB50 1.03-MK → BP60NB10 1.02-MK | External USB. Must have SVC NB50 or NB52. NB40 = incompatible BU20N. Two-step: flash NB50 1.03-MK first, then RECOVER → BU40N OmniDrive. |
[R] [B] [M]
|
| LG WP50NB40 | ✅ BU40N 1.00 OmniDrive (two-step) | BP50NB40-NB50 1.03-MK → BP60NB10 1.02-MK | External USB. Must have SVC NB50 or NB52. Same two-step process as BP50NB40. |
[R] [B]
|
| LG BP55EB40 | ✅ BU40N 1.00 OmniDrive (two-step) | — | External USB. Must have SVC EB50 or EB52. EB40 = incompatible BU20N. Same two-step process. | [R] |
| LG BP60NB10 | BP60NB10 1.02-MK (direct) | External USB. Must have SVC NB10 or NB12. OmniDrive support untested. |
[R] [B]
|
|
| Archgon MD-8107-U3 | ✅ BU40N 1.00 OmniDrive | BU40N 1.03-MK | External USB, BU40N internally. Enclosure may not be compatible — remove internal BU40N and use a different enclosure/cable if needed. | [R] |
| ASUS SBW-06D5H-U | ✅ BU40N 1.00 OmniDrive | BU40N 1.03-MK | External USB, BU50N internally. Must be newer LG BU50N variant. Pre-2025 = incompatible Pioneer BDR-US03. | [R] |
| Buffalo BRUHD-PU3-BK | ✅ BU40N 1.00 OmniDrive | BU40N 1.03-MK | External USB, BU40N internally. Enclosure may interfere with inquiry data but OmniDrive still works. |
[R] [B]
|
| Buffalo BRXL-PT6U2V | ✅ BU40N 1.00 OmniDrive | BU40N 1.03-MK | External USB, BU40N internally. | [R] |
| Buffalo BRXL-PTV6U3 | ✅ BU40N 1.00 OmniDrive | BU40N 1.03-MK | External USB, BU40N internally. May need to remove from enclosure. | [R] |
| Buffalo BRXL-PUS6U3B | BU40N 1.03-MK | External USB, BU40N internally. Enclosure interferes with inquiry data. Must remove BU40N and use different enclosure. | [R] |
|
| Verbatim 43888 | ✅ BU40N 1.00 OmniDrive | BU40N 1.03-MK | External USB-C. Must be newer LG BU40N variant. Pre-2025 = Pioneer BDR-UD04. | [R] |
| Verbatim 43889 | ✅ BU40N 1.00 OmniDrive | BU40N 1.03-MK | External USB-C. Must be newer LG BU40N variant. Pre-2025 = Pioneer BDR-UD03. | [R] |
| Verbatim 43890 | BU40N 1.03-MK | External USB 3.0 Micro-B. Must be BU40N variant (unconfirmed if they exist). Pre-2025 = Pioneer BDR-UD03. | [R] |
For MakeMKV / UHD ripping (not preservation dumping), the community-recommended MK firmware versions are: [B] [F1]
| Drive | Recommended MK firmware | Direct flash? | Source |
|---|---|---|---|
| LG WH16NS60 | WH16NS60 1.02-MK | ✅ direct |
[B] [F1]
|
| LG WH14NS40 | WH16NS60 1.02-MK | ✅ direct (from any firmware) | [B] |
| LG WH16NS40 | WH16NS60 1.02-MK | ✅ direct | [B] |
| LG BH16NS55 | WH16NS60 1.02-MK | ✅ direct | [B] |
| LG UH12NS40 | WH16NS60 1.02-MK | ✅ direct | [B] |
| ASUS BW-16D1HT | ASUS BW-16D1HT 3.10-MK | ✅ direct (from encrypted 3.11, use enc) |
[B] [F2]
|
| LG BU40N | BU40N 1.03-MK | ✅ direct (from encrypted 1.02+, use enc) |
[B] [F1]
|
| LG BP50NB40 / WP50NB40 | BP50NB40-NB50 1.03-MK → BP60NB10 1.02-MK | ❌ two-step (RECOVER mode) |
[B] [M]
|
| LG BP60NB10 | BP60NB10 1.02-MK | ✅ direct | [B] |
Why not the newest version? MartyMcNuts: "We don't generally recommend using the latest version of the firmware, even the MK version, as they are mostly garbage and of no benefit." BU40N 1.03-MK and WH16NS60 1.02-MK / BW-16D1HT 3.10-MK are the proven stable choices.
[F1]
Firmware with a date in 2020 or later is encrypted and requires the enc flag with sdftool / makemkvcon, or automatic detection in SDFtool Flasher v1.3.5+. [B]
Known encrypted firmware files: [B]
HL-DT-ST-BD-RE_BE16NU50-1.04-N000300-212005081025.bin
HL-DT-ST-BD-RE_BH14NS50-1.03-N000400-212004211008.bin
HL-DT-ST-BD-RE_BH16NS40-NS50-1.05-N000600-212005061331.bin
HL-DT-ST-BD-RE_BH16NS50-1.03-N000400-212004210958.bin
HL-DT-ST-BD-RE_BH16NS55-1.05-N000400-212004211049.bin
HL-DT-ST-BD-RE_BH16NS60-1.02-N000600-212005081014.bin
HL-DT-ST-BD-RE_BP50NB40-NB52-1.03-N000300-212107081603.bin
HL-DT-ST-BD-RE_BP50NB40-NB50-1.03-N000800-212005070917.bin
HL-DT-ST-BD-RE_BP55EB40-NB50-1.03-N000800-212005070924.bin
HL-DT-ST-BD-RE_BP60NB10-1.02-N000800-212005070935.bin
HL-DT-ST-BD-RE_BP60NB10-NB12-1.02-N000300-212107081556.bin
HL-DT-ST-BD-RE_BU40N_1.02_212012011716_MO3L91F0715.bin
HL-DT-ST-BD-RE_BU40N-1.04-N000500-212005061142.bin
HL-DT-ST-BD-RE_BU40N-BN13-0002300-212009251104.bin
HL-DT-ST-BD-RE_BU40N-BN14
HL-DT-ST-BD-RE_BU40N-BU13
HL-DT-ST-BD-RE_BU40N-BU14
HL-DT-ST-BD-RE_WH14NS40-NS50-1.05-N000900-212005061444.bin
HL-DT-ST-BD-RE_WH16NS40-NS50-1.05-N000900-212005061440.bin
HL-DT-ST-BD-RE_WH16NS60-1.03-N000600-212005081010.bin
HL-DT-ST-BD-RE_WP50NB40-NB50-1.03-N000800-212005070929.bin
HL-DT-ST-BDDVDRW_CH12NS40-1.03-N000800-...
ASUS BW-16D1HT 3.11 (encrypted)
The following SHA-256 hashes are from the "All You Need Firmware Pack" (MartyMcNuts) [M]. These are the same hashes used by sdf-flash-gui for firmware identification. Even if a firmware file is renamed, the SHA-256 hash remains unchanged and can be used to verify the file's identity.
| Firmware file | SHA-256 | Model | Version | MK | PCB |
|---|---|---|---|---|---|
| DE_ASUS_BC-12D2HT_3.11_MK.bin | 6c003aa1e75170f02746e08c8df9df5e31c7f935dde93d0174eff1be2f1fa823 |
BC-12D2HT | 3.11-MK | ✅ | JBC6 |
| DE_ASUS_BW-16D1HT_3.02.bin | 83ea24bb07b8a7a451bba1856d1db18b7f54b1823b9d148e213f25daf2e0a1d2 |
BW-16D1HT | 3.02 | ❌ | JB8 |
| DE_ASUS_BW-16D1HT_3.10_MK.bin | e04ed8f38ce9e85804bc0709a9321dc43f3e468ce0c0c3bc027a1c9805556f14 |
BW-16D1HT | 3.10-MK | ✅ | JB8 |
| DE_LG_BH16NS55_1.02.bin | bdfd6f290ba8172d4c46d8c822013255043f4ad30deb8604608fa0397bddb648 |
BH16NS55 | 1.02 | ❌ | JB8 |
| DE_LG_WH14NS40-NS50_1.02.bin | 648a16d024eea31ef4901f3ac2180cbfffeda1161d70f9096335d8a6097445bc |
WH14NS40 | 1.02 | ❌ | JB8 |
| DE_LG_WH16NS40-NS50_1.02.bin | 87790f053877e3e1bdd22969d70a7b1b6ed36624bb474bfcdee6526ac6e227c0 |
WH16NS40 | 1.02 | ❌ | JB8 |
| DE_LG_WH16NS60_1.00.bin | d133893209392b74cb0c3c1225cc4c0e8b1d927f1f671261ecc82525405e47e0 |
WH16NS60 | 1.00 | ❌ | JB8 |
| DE_LG_WH16NS60_1.02_MK.bin | c5e351d25f647599185b117f569a98c42c1fc54f6bc07d21410677afa6372510 |
WH16NS60 | 1.02-MK | ✅ | JB8 |
| Firmware file | SHA-256 | Model | Version | MK | PCB |
|---|---|---|---|---|---|
| DE_Buffalo_BRUHD-PU3_BN12-MK.bin | 3559077e3c032451137967d4f81f3e8777f8bfbf8245e68ac4732eb5cec5f404 |
BU40N | 1.03-MK | ✅ | BU5 |
| DE_Buffalo_BRUHD-PU3_BU10.bin | 58203b539de096786cde232ee3b0ef3fe824b20d7768a96b30f6a96bdac77bfb |
BU40N | 1.00 | ❌ | BU5 |
| DE_Buffalo_BRUHD-PU3_BU12-MK.bin | f98acee01998afb043d9cfaa0c519e7e0799824a58e565789b2c3ca735204231 |
BU40N | 1.03-MK | ✅ | BU5 |
| DE_LG_BP50NB40-NB50_1.03_MK.bin | e04aaf44157fbbec5e3c0cbf1a9ba99c81d2aeba7d420c7ece654dc515d503ff |
BP50NB40 | 1.03-MK | ✅ | BUP3 |
| DE_LG_BP60NB10_1.00_MK.bin | 04f879f0bf676ede526f7d07f20f5c949caac7e00dbb1b2620d0c1601780d29a |
BP60NB10 | 1.00-MK | ✅ | BUP5 |
| DE_LG_BP60NB10_1.02-MK.bin | cd10fc7396a2cdc77f3b49df6fa553dabc48ac5261584fc5d62cf8a866310fce |
BP60NB10 | 1.02-MK | ✅ | BUP5 |
| DE_LG_BP60NB10-NB12_1.02-MK.bin | 1227f133eb1c5315d955bb9d9cfcaf84381772a1edfef56b39ad3439b92ca4c0 |
BP60NB10 | 1.02-MK | ✅ | BP52 |
| DE_LG_BU40N_1.00.bin | 221ad35b7edd402353e125841893ce651064e8fc6b90368fe84ff19a85a506f4 |
BU40N | 1.00 | ❌ | BU5 |
| DE_LG_BU40N_1.03_MK.bin | 64900e8d69212f5d729b9dfa45ef0f317378db8c8b48083a7cb99831235b5d57 |
BU40N | 1.03-MK | ✅ | BU5 |
| DE_LG_WP50NB40-NB50_1.03_MK.bin | 592e8d22d98aea9c1162c9f010fe2df29b31f6320d539336a699a78ea3af9191 |
WP50NB40 | 1.03-MK | ✅ | BUP3 |
PCB type is extracted from the boot string at offset 12288 in the firmware binary. JB* = desktop, BU*/BP* = slim. This is how sdf-flash-gui identifies firmware form factor without relying on filenames.
Verifying a firmware file: Run
shasum -a 256 <file>(macOS/Linux) orcertutil -hashfile <file> SHA256(Windows) and compare with the hashes above.
| Source | What's there | Link |
|---|---|---|
| OmniDrive v1.0.2 | OmniDrive firmware (ASUS 3.02 + BU40N 1.00 patched) |
archive.org [R] [G]
|
| All You Need Firmware Pack | MK firmware, DE firmware, recovery files |
MediaFire [M]
|
| SDFtool Flasher v1.3.5 | Windows GUI for sdftool |
MediaFire [M] [R]
|
| SDFtool Flasher v1.3.6 | Latest (bug fixes; if issues, use v1.3.5) |
MediaFire [M]
|
| DE_LG_BP50NB40-NB50_1.03_MK.bin | Intermediate firmware for BP50NB40/WP50NB40 two-step |
archive.org [R]
|
| ASUS BW-16D1HT 3.02 (DE) | Downgrade-enabled 3.02 firmware |
WebArchive [R-O]
|
| ASUS BW-16D1HT 3.10-MK | Intermediate MK firmware for 3.11 downgrade |
WebArchive [R-O]
|
Build OmniDrive yourself: The OmniDrive source code is open. Place stock
HL-DT-ST_BD-RE_BU40N_1.00.binandASUS_BW-16D1HT_3.02.binin thefirmware/folder and build with CMake + ninja + arm-none-eabi-gcc. See the GitHub README for checksums and instructions.[G]
Rule: if your drive supports OmniDrive, flash OmniDrive. OmniDrive is a superset of MK firmware reading features — it also enables UHD reading for MakeMKV. Only use MK firmware if your drive is not OmniDrive-compatible (e.g. JB7/JBC5 older drives).
Is your drive OmniDrive-compatible?
│
├── Yes (JB8/JB9, MT1959, manufactured ≥ late 2015)
│ └── Flash OmniDrive
│ ├── Desktop drive → ASUS BW-16D1HT 3.02 OmniDrive
│ └── Slim drive → BU40N 1.00 OmniDrive
│
├── No (JB7/JBC5, or MT1939)
│ └── Flash MK firmware (if available for your model)
│ ├── Desktop drive → WH16NS60 1.02-MK or BW-16D1HT 3.10-MK
│ └── Slim drive → BU40N 1.03-MK
│
└── Already flashed OmniDrive but need burning or specific MK features?
└── Reflash to MK firmware (WH16NS60 1.02-MK / BU40N 1.03-MK)
- Flashing Guide for New Users — Step-by-step walkthrough
- Redump Wiki: OmniDrive — Primary source for OmniDrive compatibility and instructions
- Redump Wiki: Flashing Older HLDS Drives — JB7/JBC5 drive flashing
- MakeMKV Forum: Ultimate UHD Drives Flashing Guide — Billycar11's comprehensive guide (3885+ posts)
- MakeMKV Forum: SDFtool Flasher — MartyMcNuts' GUI tool and firmware pack
- GitHub: RibShark/OmniDrive — OmniDrive source code and build instructions