Jamless Play is the feature that returns garbage data instead of making MakeMKV retry on a failed sector. This results in HashCheck errors. LG drives are the only ones that gives this error because Jamless Play kicks in and returns garbage data. Using LiteOn or Panasonic drives doesn't return hash errors. Instead, they retry the bad sectors, but it seems the LG is the better drive when it comes to reading, except that in some cases, the Jamless Play feature kicks in and returns garbage data.
I wonder if a customized firmware could disable this and make the drive actually retry on failed sectors.
Any way to disable LG's "Jamless Play" on the drives?
-
puertorican
- Posts: 7
- Joined: Tue Aug 18, 2020 1:01 pm
-
kja70
- Posts: 17
- Joined: Mon Jun 15, 2020 7:40 pm
Re: Any way to disable LG's "Jamless Play" on the drives?
Just ran into this issue as well. Anyone find any workarounds/techniques for avoiding bad data coming back from the drive?
-
rkjnsn
- Posts: 28
- Joined: Tue Aug 24, 2010 7:03 am
Re: Any way to disable LG's "Jamless Play" on the drives?
I looked at the firmware I currently run on my drives (BU40N 1.00, BU40N 1.03, BP60NB10 1.02, and WH16NS60 1.02), and they all appear to support a vendor command to do just that (no customized firmware needed). You use the READ BUFFER opcode with vendor mode 0D.
The full 10-byte CDB (command descriptor block) is
mode: DD for off, EE (or any other non-zero value) for on.
persist: FF to save the setting to flash, 00 (or any other value) for only until the next disc load.
The command returns 4 bytes, DD 00 00 00 after turning it off or EE 01 00 00 after turning it on. (Reply is the same regardless of the persist setting.)
So (on Linux, with sg3_utils), the following will disable jamless play temporarily:
And persistently (across discs and power cycles; I think it's persisted in a flash region which should also survive firmware flashing, but I haven't tested that):
To undo the previous (persistently re-enable):
(Note: A non-persistent enable (mode = EE, persist = 00) can only undo a non-persistent disable. The drive only builds the jamless-play tables on disc load (and disc load reverts to the persistent setting), so there's no way to have it persistently disabled but enable enable it for a single disc.)
This likely works on other LG firmware versions, too, but I haven't looked at them.
The full 10-byte CDB (command descriptor block) is
Code: Select all
3C 0D 01 00 00 00 <mode> <persist> 00 00persist: FF to save the setting to flash, 00 (or any other value) for only until the next disc load.
The command returns 4 bytes, DD 00 00 00 after turning it off or EE 01 00 00 after turning it on. (Reply is the same regardless of the persist setting.)
So (on Linux, with sg3_utils), the following will disable jamless play temporarily:
Code: Select all
sg_raw -r 4 /dev/srN 3C 0D 01 00 00 00 DD 00 00 00Code: Select all
sg_raw -r 4 /dev/srN 3C 0D 01 00 00 00 DD FF 00 00Code: Select all
sg_raw -r 4 /dev/srN 3C 0D 01 00 00 00 EE FF 00 00This likely works on other LG firmware versions, too, but I haven't looked at them.
-
kaysee
- Posts: 102
- Joined: Wed Apr 07, 2021 12:22 am
Re: Any way to disable LG's "Jamless Play" on the drives?
I have used ASUS firmware on LG drives to handle this. Have you tested these commands for controlling jamless play? I wonder about variations for different LG models.