Encrypted Physical Blu-Rays Not Playing

I’m having issues with encrypted blu-rays. Seems physical discs are not being decrypted.

2020-05-09 16:33:43.440 T:3484394368 DEBUG: CBlurayCallback::Logger - aacs.c:121: No usable AACS libraries found!

This is with both 9.2.2 and vpeter’s blu-ray menu build. The disc works fine on my Intel machine. Odroid C2, setup the same as my Ubuntu 20.04 Intel machine, same “~/.config/aacs” folder/contents, Kodi 18.6.

So why are the aacs libraries not found?

Debug log

I play physical Blu-Ray disks on an Odroid N2 using an external usb Blu-Ray drive.

If I remember correctly the only thing you should need is a KEYDB.cfg file in .config/aacs

Seems I’m out of ideas.

roidy, can you post one debug log to compare it?

kodi.log (516.3 KB)

smf007, try with nightly image from here https://relkai.coreelec.org/

It’s not a CoreELEC version problem. It’s that the OP has no KEYDB.cfg file.

As a test I removed my KEYDB.cfg file and tried playing an encrypted disk and got the exact same error.

2020-05-10 08:44:10.240 T:4066074048 DEBUG: CBlurayCallback::Logger - aacs.c:111: No usable AACS libraries found!

But he is saying same “~/.config/aacs” folder/contents.
Maybe he should list folder content

ls -l /storage/.config/aacs

I’m not sure then, as I said encrypted disk work ok for me until I remove KEYDB.cfg from .config/aacs then I get the same error.

The only other thing I can think of is KEYDB.cfg needs to be named exactly uppercase. When I first set my system up I had problems with playback failing because the file was named lowercase keydb.cfg


I had even went so far as to copy over the KEYDB.cfg from my Intel/Ubuntu machine just in case.

drwxrwxr-x 2 root root 1024 May 8 06:10 .
drwxr-xr-x 19 root root 1024 Sep 3 2019 …
-rwxr–r-- 1 root root 2899449 Mar 24 18:50 KEYDB.cfg
-rw-r–r-- 1 root root 2894945 Sep 8 2019 KEYDB.cfg.old
LibreELEC-C2:~/.config/aacs #

I’ll try to dig through the code some.

I think I got something. Will make you new image soon.

But please try with CE nightly.

Nightly did not change.

With nightly though I’ve been trying different configurations and checking the error codes.
If KEYDB.cfg is missing -> error aacs_open() failed: -2!
My old KEYDB.cfg -> error aacs_open() failed: -3!
My new KEYDB.cfg (same as Intel/Ubuntu system) -> aacs_open() failed: -6!

If I copy the ~/.cache/aacs folder over from my Intel/Ubuntu system, then that disc plays.

Now I just need to confirm if the firmware on my USB BluRay drive isn’t messed up as those keys may not have been generated off this drive.

I made few simulated tests and it seems that if even if file KEYDB.cfg exists but keys are bad then it tries to load libmmbd library which doesn’t exist. So I think it is something with your keys and BD disk.

More digging, this time on my Intel/Ubuntu machine. When using the libaacs that is in Kodi, the keys are never generated. However, when opening the disc in VLC, the keys are created!

So the issue is in Kodi, not CoreELEC. Something with the libaacs being used.

Sorry for the noise. I had never considered this possibility.

But you still can’t play it in CE right?

It plays fine in CE once the keys generated by VLC are added.

I’ve raised an Issue in the Kodi Issues list.

1 Like

Glad to hear that.

@smf007 Kodi has never generated keys, you have always been required to supply your own KEYDB.cfg file

@roidy Perhaps I’m using the wrong term then. What I’m specifically speaking of is the resulting files in ~/.cache/aacs/vuk and ~/.cache/aacs/vid after the decryption using the host key from KEYDB.cfg

The only files I end up with in .cache/aacs are:-

CoreELEC (official): nightly_20200509 (Amlogic-ng.arm)
CoreELEC:~ # ls -l .cache/aacs/
total 2
-rw-------    1 root     root           112 Nov  3  2019 drl
-rw-------    1 root     root           616 Nov  3  2019 hrl

And those files are months old.

Are you positive you’ve tried an encrypted disc?