I got this idea to start burning discs again for archiving purposes because hard drive and SSD prices are really high at the moment while the price for BD-R and BD-R DL media is pretty low. This turned out to be quite the adventure with coasters (failed discs) and deep analysis until success in the end.

First I bought an LG BU40N ultra slim Blu-ray writer in an USB 3.0 enclosure via AliExpress, although the specific drive wasn’t mentioned in product description at the time of purchase the user reviews hinted it would be an LG BU40N or similar LG drive. My purpose with the drive is to burn discs, but most of the users posting reviews happily comment that the drive works for ripping Blu-ray movies with ‘makemkv’, at the time I didn’t think much of it assuming it would be fine for burning discs as well.
What I ended up receiving was a refurbished (but sold as “new”) LG BU40N drive manufactured in 2017 which ended up with roughly 50% coasters (failed burns) when writing Ritek BD-R DL media, and later 100% coasters when writing Verbatim BD-R DL imported straight from Japan (media descriptor; “VERBAT/IMf/0 , Mitsubishi Kagaku Media Co.”). Yes, good quality media actually fails completely in this drive. What did work from the beginning was burning BD-RE DL (rewritable) media which is written in a different way compared to BD-R DL (write once).

I tried different writing speeds and different burning software under Linux like ‘cdrskin’, ‘xorriso’, ‘growisofs’ and even ImgBurn (using Wine), also tried powering the drive using external power supply via USB hub and later natively using SATA connectors directly to rule out power related problems completely, but nothing improved the situation. The drive kept giving “SCSI error condition on command 53h RESERVE TRACK: [3 72 00] Medium error” when writing lead in track on BD-R DL media, sometimes also error during lead out the few times it reached that far. After thinking the problem could be firmware related, the LG BU40N drive came shipped with firmware “FR07”, perhaps a newer firmware would work better, so I flashed the “LibreDrive” firmware v1.03 for LG BU40N recommended by the ‘makemkv’ community, but that didn’t make any difference either, still error when writing BD-R DL discs.
When doing ‘lsusb’ command in Linux I noticed the USB 3.0 enclosure for the drive reported as “JMS583 PCIe/NVMe bridge” which is intended to be used as SATA translation for SSDs but the chipset in the enclosure on the board was JMS578 according to the chip label. Aha! Perhaps the factory in china flashed the wrong JMS firmware which doesn’t support a full set of SATA commands required for an optical drive which results in the SCSI error I was seeing. I went ahead and flashed “JMS578 SATA 6Gb/s” pure bridge firmware which support optical drives, it was difficult to flash since I had to put the JMS578 in recovery mode by grounding pin #2 on the flash chip for one second during power on, and also had to modify the golang flash source code I found on GitHub to support the Zetta flash used in the enclosure. After a several failed attempts I finally managed to flash the JMS578 with proper firmware but the SCSI error when writing discs remained unfortunately.

I disassembled the LG BU40N drive to see if there was some way to calibrate the Blu-ray laser head, but couldn’t find any small potentiometers which is how optical drives could be calibrated back in the day. While checking around on the drive controller board/PCB I noticed that the MediaTek MT1959 chipset was used, so the calibration is probably done at factory through programming somehow, that’s when I spotted solder points marked ‘UTXD’ and ‘URXD’ on silkscreen. Great, so there is an UART there for the MediaTek chip, curious I soldered 30AWG wires to the points and a FT232 to USB level shifter serial board.


After verifying signal voltage levels using an oscilloscope and testing different serial settings in ‘minicom’ I settled for 115200 baud and “8N1” which seems correct, unfortunately it’s a proprietary binary log/protocol of sorts with a few ASCII strings confirming the baud rate was correct. I managed to find two recurring hex bytes which seemed to be some sort of “end of line” sequence, not sure. I wrote a short Python program to handle the input on the bash command line (one-liner with tabs and line feeds):
python3 -u -c "import sysbuffer = ''while True: byte_data = sys.stdin.buffer.read(1) if not byte_data: break byte_val = byte_data[0] hex_pair = f'{byte_val:02x}' buffer += hex_pair print(hex_pair, end=' ', flush=True) if buffer.endswith('aa1c'): print('', flush=True) buffer = ''" < /dev/ttyUSB0 | ts '[%Y-%m-%d %H:%M:%.S]' | tee mediatek.log
The output then looked like this, a few sample lines:
[2026-07-06 00:34:06.154630] e3 33 7a aa 1c[2026-07-06 00:34:06.250159] e4 19 69 2a b0 1b e5 19 72 9a 01 cb 1a e3 2d cc aa 1c[2026-07-06 00:34:06.282073] e4 2d ce 2a 0c 1b e3 2d d1 aa 1c[2026-07-06 00:34:06.454104] e7 2d c9 5a 04 00 fb 7f 18 e4 19 46 2a 0e 1b e3 34 c6 aa 1c
I couldn’t find much info about the binary UART protocol/log used by MediaTek, so pasted the logs from a failed burn and successful one into an GenAI prompt and it managed to identify what was going on, but can’t be completely sure if the AI hallucinated or not. The gist of the errors during the failed burn is that the Automatic Gain Control (AGC) and Focus Coil Lens Actuator Driver DAC failed to get reflection after several retries most likely due to fading laser diode. This is why I assume the drive is refurbished rather than “new old stock”. If someone ordered this for the sole purpose of ripping Blu-ray movies they would probably be happy with it, but not me who needs it mainly to burn discs.
While searching around on AliExpress I managed to find a cheap 9.5mm ultra slim Panasonic (Matshita) BD-MLT UJ272 drive which would fit in the USB 3.0 enclosure I have and is recommended for being good at writing while compatible with a lot of media. The drive was most likely cheap because you can’t rip Blu-ray movies using ‘makemkv’ with it which seems to be what a majority of the market wants these days. After a couple of weeks the Panasonic UJ272 arrived, I replaced the LG BU40N with it in the USB 3.0 enclosure and started testing, so far every disc I throw at it works perfect, not a single coaster since. Another benefit is that this Panasonic drive when used with ‘k3b’ (‘cdrskin’) doesn’t need to eject the drive before verify, it handles it without ejecting. For my archive purposes I now use Verbatim BD-R DL with media descriptor “VERBAT/IMf/0” (dual layer 50gb) and Ritek BD-R Pro with media descriptor “RITEK/BR3/0” (single layer 25gb). These disc types are currently the sweet spot regarding pricing, BD-R XL is still relatively expensive per gigabyte. For frequent temporary backups I use Verbatim BD-RE DL (dual layer 50gb).
Discover more from modrobert weblog
Subscribe to get the latest posts sent to your email.