UHD VID inside discatt.dat and discattd.dat

The place to discuss linux version of MakeMKV
Post Reply
MrPenguin
Posts: 531
Joined: Thu Oct 19, 2023 11:31 pm

UHD VID inside discatt.dat and discattd.dat

Post by MrPenguin »

I have created decrypted back-ups of my UHD disks, each of which has a MAKEMKV/discattd.dat file. And I have discovered that each of this files contains something which looks like a VID:

Code: Select all

04 00 00 80 00 00 00 10 [next 16 bytes, could be a VID]
Now if these next 16 bytes are a VID then I would expect them to be the same for a given disk, regardless of which UHD drive I use to generate its discattd.dat file. However, I actually have two UHD-capable drives (that also support LibreDrive), and I have discovered that each one generates a different "VID" for the same disk.

I have also tried generating discatt.dat files instead of discattd.dat, and these also contain something that looks like a VID. The "VID" inside discatt.dat matches the one inside discattd.dat for the same disk, while still differing across drives. E.g.

Code: Select all

$ hexdump -C discatt1.dat
...
00000540  00 00 00 04 00 00 80 00  00 00 10 74 37 5d 4e 79  |...........t7]Ny|
00000550  db d5 b5 0a 5b bb dc 89  fd bf 91 00 01 00 01 00  |....[...........|
00000560  00 00 23 4d 61 6b 65 4d  4b 56 20 76 31 2e 31 37  |..#MakeMKV v1.17|
00000570  2e 36 20 6c 69 6e 75 78  28 78 36 34 2d 72 65 6c  |.6 linux(x64-rel|
00000580  65 61 73 65 29 00 01 01  01 0c 00 00 00 14 01 0c  |ease)...........|
00000590  00 10 32 30 32 32 31 30  31 31 30 30 30 30 30 30  |..20221011000000|
000005a0  00 00                                             |..|
vs

Code: Select all

$ hexdump -C discatt2.dat
...
00000540  00 00 00 04 00 00 80 00  00 00 10 74 b5 57 56 bb  |...........t.WV.|
00000550  78 37 32 37 68 f4 da a9  c8 1e 6e 00 01 00 01 00  |x727h.....n.....|
00000560  00 00 23 4d 61 6b 65 4d  4b 56 20 76 31 2e 31 37  |..#MakeMKV v1.17|
00000570  2e 36 20 6c 69 6e 75 78  28 78 36 34 2d 72 65 6c  |.6 linux(x64-rel|
00000580  65 61 73 65 29 00 01 01  01 0c 00 00 00 14 01 0c  |ease)...........|
00000590  00 10 32 30 32 30 30 36  31 35 30 30 30 30 30 30  |..20200615000000|
000005a0  00 00                                             |..|
You can see that both these files were generated by the same version of MakeMKV using drives with different firmware dates.

I cannot see that I have any room to make any kind of error here, and yet one other MakeMKV user insists that he sees the same VID for each disk across all of his different drives:
https://forum.doom9.org/showthread.php? ... ost1999087

The only possible difference between his methodology and mine is that he is using Windows and MacOS, whereas I am using Linux.

Is this a bug in the Linux version of MakeMKV 1.17.6 please?
Woodstock
Posts: 10352
Joined: Sun Jul 24, 2011 11:21 pm

Re: UHD VID inside discatt.dat and discattd.dat

Post by Woodstock »

The files are used for MakeMKV to track information it needs for processing the disk. They aren't likely to "be" anything else.

They're created for the Windows version as well. Probably the Mac version too.
MrPenguin
Posts: 531
Joined: Thu Oct 19, 2023 11:31 pm

Re: UHD VID inside discatt.dat and discattd.dat

Post by MrPenguin »

The files are used for MakeMKV to track information it needs for processing the disk.
AFAIK their stated aim is to ensure that MakeMKV can handle a "back-up" as much like the original disk as it possibly can. As such, I would therefore expect the contents of these files to be consistent across Windows, MacOS and Linux. However, the evidence is that they are actually only consistent across Windows and MacOS, because the 16 bytes following

Code: Select all

04 00 00 80 00 00 00 10
can be recognized as the disk's VID on these two platforms, whereas it cannot possibly be the VID on Linux.

I am forced to wonder whether MakeMKV running on Windows or MacOS is able to open a back-up that was created on Linux. However, I don't have either of these platforms available to test this idea with.
MrPenguin
Posts: 531
Joined: Thu Oct 19, 2023 11:31 pm

Re: UHD VID inside discatt.dat and discattd.dat

Post by MrPenguin »

FYI here is the diff between the two discatt.dat files generated for the same UHD disk:

Code: Select all

$ diff -u one.dat two.dat 
--- one.dat	2024-03-14 00:22:24.646444299 +0000
+++ two.dat	2024-03-14 00:23:40.718586569 +0000
@@ -4,8 +4,8 @@
 00000030: 2e6d 616b 656d 6b76 2e63 6f6d 2f6c 6962  .makemkv.com/lib
 00000040: 6472 6976 6569 6f0a 0a0a 0001 0000 0000  driveio.........
 00000050: 0000 6005 8000 325b 0000 0050 494f 4e45  ..`...2[...PIONE
-00000060: 4552 2042 442d 5257 2020 4244 522d 5844  ER BD-RW  BDR-XD
-00000070: 3038 5531 2e30 3120 3232 2f31 302f 3131  08U1.01 22/10/11
+00000060: 4552 2042 442d 5257 2020 2042 4452 2d55  ER BD-RW   BDR-U
+00000070: 4430 3431 2e31 3420 3230 2f30 362f 3135  D041.14 20/06/15
 00000080: 2020 2020 2020 2020 2020 2000 0000 0000             .....
 00000090: 0000 0000 0000 0000 0000 0000 0000 0000  ................
 000000a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
@@ -78,14 +78,14 @@
 000004d0: 0300 0000 0000 0802 a85a df00 0008 0001  .........Z......
 000004e0: 0300 3800 0000 5c01 0000 5c12 3456 789a  ..8...\...\.4Vx.
 000004f0: bcde ff77 0000 0147 36c2 159b a17f 67ff  ...w...G6.....g.
-00000500: dceb 6cef ce3a b2fe da0c 1117 482e 1ed2  ..l..:......H...
+00000500: dceb 6cef ce3a b2fe da0c 1217 482e 1ed2  ..l..:......H...
 00000510: 0b87 80ba 4170 f000 0000 0000 0000 0000  ....Ap..........
 00000520: 0000 0000 0000 0000 0000 0000 0000 0000  ................
 00000530: 0000 0000 0000 0000 0000 0000 0000 0000  ................
-00000540: 0000 0004 0000 8000 0000 1074 375d 4e79  ...........t7]Ny
-00000550: dbd5 b50a 5bbb dc89 fdbf 9100 0100 0100  ....[...........
+00000540: 0000 0004 0000 8000 0000 1074 b557 56bb  ...........t.WV.
+00000550: 7837 3237 68f4 daa9 c81e 6e00 0100 0100  x727h.....n.....
 00000560: 0000 234d 616b 654d 4b56 2076 312e 3137  ..#MakeMKV v1.17
 00000570: 2e36 206c 696e 7578 2878 3634 2d72 656c  .6 linux(x64-rel
 00000580: 6561 7365 2900 0101 010c 0000 0014 010c  ease)...........
-00000590: 0010 3230 3232 3130 3131 3030 3030 3030  ..20221011000000
+00000590: 0010 3230 3230 3036 3135 3030 3030 3030  ..20200615000000
 000005a0: 0000                                     ..
Note that I have removed the drives' serial numbers from these, and I can only see two significant differences. The first is obviously the 16 bytes that I expect to be the VID, and the second is this single-byte change 0x11 -> 0x12:

Code: Select all

-00000500: dceb 6cef ce3a b2fe da0c 1117 482e 1ed2  ..l..:......H...
+00000500: dceb 6cef ce3a b2fe da0c 1217 482e 1ed2  ..l..:......H...
I don't know what this byte signifies, but discatt.dat files generated by Pioneer drives all seem to contain 0x11 here, whereas the one containing 0x12 was generated by a Verbatim 43888.
MrPenguin
Posts: 531
Joined: Thu Oct 19, 2023 11:31 pm

Re: UHD VID inside discatt.dat and discattd.dat

Post by MrPenguin »

I have just bought the 4K version of "2001 - A Space Odyssey" and discovered that my Pioneer BDR-XD08U writes the correct VID into discatt.dat. I must therefore assume that my Verbatim 43888 is writing an incorrect VID.

This means I could actually be seeing a "LibreDrive" problem with Verbatim 43888 drives rather than a MakeMKV problem on Linux.
Post Reply