philippe44/LMS-Raop

Did not pop up pair window when pair appleTV.

Closed this issue · 22 comments

goven commented

I use Synology DS218+,and installed LMS with air-bridge plugin, after start LMS,it found my appleTV 4K and appeared a pair button, when I clicked pair button,my appleTV showed a pair code, but there is nothing happened on LMS,so I can't input the pair code showed on my appleTV to pair it.please help me.Thx!

Pairing requires some Perl crypto-libs which usually are not installed on NAS. I've tried to build and include as many as possible, but that's a royal pain as these libraries are CPU, OS and Perl version specific ... a lot of permutation & combination. You can either get the keys using a temporary installation on a PC with Windows, Linux or OSX or you can tell me what Perl, CPU and OS runs on your NAS (I assume Linux + Celeron but I have no idea wrt Perl version)

goven commented

Thx for your reply,my perl version is 5.24.0-0074,CPU is INTEL Celeron J3355,and OS on my NAS is Synology DSM 6.2.2-24922.can you please help me to solve this problem.Thx again!

goven commented

Hi,I don't want to disturb you, but I wanna know how it's going.could you please help me with this matter,That would be very nice of you.Thanks.

That combination of Linux/CPU/Perl should be supported. What do you have in the log when you set the level for Airplay bridge to debug and try to pair (set the level in LMS Settings, Advanced, Logging, do not use the AirPlay bridge settings

goven commented

maybe this log can help:
[19-05-17 14:48:37.8271] Plugins::RaopBridge::Pairing::displayPIN (50) Cannot load crypto modules, please check your configuration

goven commented

Each time when I clicked the pair button, these logging appears :
[19-05-17 15:13:09.6905] Slim::Utils::Misc::msg (1254) Warning: [15:13:09.6901] Use of uninitialized value in concatenation (.) or string at /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/HTML/EN/plugins/RaopBridge/settings/basic.html line 99.
[19-05-17 15:13:09.6914] Slim::Utils::Misc::msg (1254) Warning: [15:13:09.6911] Use of uninitialized value in concatenation (.) or string at /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/HTML/EN/plugins/RaopBridge/settings/basic.html line 107.
[19-05-17 15:13:09.6921] Slim::Utils::Misc::msg (1254) Warning: [15:13:09.6919] Use of uninitialized value in concatenation (.) or string at /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/HTML/EN/plugins/RaopBridge/settings/basic.html line 113.
[19-05-17 15:13:09.6928] Slim::Utils::Misc::msg (1254) Warning: [15:13:09.6926] Use of uninitialized value in concatenation (.) or string at /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/HTML/EN/plugins/RaopBridge/settings/basic.html line 119.
[19-05-17 15:13:09.6946] Slim::Utils::Misc::msg (1254) Warning: [15:13:09.6943] Use of uninitialized value in concatenation (.) or string at /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/HTML/EN/plugins/RaopBridge/settings/basic.html line 128.
[19-05-17 15:13:09.6964] Slim::Utils::Misc::msg (1254) Warning: [15:13:09.6960] Use of uninitialized value in concatenation (.) or string at /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/HTML/EN/plugins/RaopBridge/settings/basic.html line 141.
[19-05-17 15:13:09.6972] Slim::Utils::Misc::msg (1254) Warning: [15:13:09.6969] Use of uninitialized value in concatenation (.) or string at /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/HTML/EN/plugins/RaopBridge/settings/basic.html line 147.
[19-05-17 15:13:09.6989] Slim::Utils::Misc::msg (1254) Warning: [15:13:09.6986] Use of uninitialized value in concatenation (.) or string at /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/HTML/EN/plugins/RaopBridge/settings/basic.html line 158.
[19-05-17 15:13:09.6998] Slim::Utils::Misc::msg (1254) Warning: [15:13:09.6994] Use of uninitialized value in concatenation (.) or string at /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/HTML/EN/plugins/RaopBridge/settings/basic.html line 164.
[19-05-17 15:13:09.7015] Slim::Utils::Misc::msg (1254) Warning: [15:13:09.7011] Use of uninitialized value in concatenation (.) or string at /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/HTML/EN/plugins/RaopBridge/settings/basic.html line 173.
[19-05-17 15:13:35.4022] Plugins::RaopBridge::Pairing::displayPIN (50) Cannot load crypto modules, please check your configuration

goven commented

basic.html.zip

Here is the basic.html file.

Can you edit the file Pairing.pm (it’s in the plugin’s directory and at the end of the like ‘cannot load crypto ... ); replace ); by , $@);

goven commented

Pairing.pm.zip
This this it,I'm not sure if I could edit properly,could you edit it for me?Thanks!

goven commented

Image 2019-5-17 at 11 54 PM

I edit the file Pairing.pm,replaced ); by , $@); at the end of the "cannot load crypto); . here is the new error logging:

[19-05-17 23:48:52.5345] Plugins::RaopBridge::Pairing::displayPIN (50) Cannot load crypto modules, please check your configurationAttempt to reload CryptX.pm aborted.
Compilation failed in require at /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/Pairing.pm line 40.

So it seems that the crypto module does not load properly. I'm sorry but I don't know why. You can try that Pairing.pm file which will make the plugin fail to start but will give me probably a better idea why.
Pairing.zip

goven commented

I replaced this pm file, and restarted LMS,then I go to LMS setting-plugins-air bridge-settings,it give me this error massage at this page,not in the log, same thing happens when I go to LMS setting-advance:

404 Not Found: plugins/Extensions/settings/plugins/RaopBridge/settings/basic.html

You must have something else in server.log when LMS restarts. On the web browser, don’t stay on the plugin settings page

goven commented

Is this what we looking for?

[19-05-18 20:25:26.4378] main::init (387) Starting Logitech Media Server (v7.9.1, 1504317335, Mon Sep 4 22:13:00 UTC 2017) perl 5.024000 - x86_64-linux
[19-05-18 20:25:27.2417] Slim::Utils::PluginManager::load (393) Warning: Couldn't call Plugins::RaopBridge::Plugin->initPlugin: Can't locate Plugins/RaopBridge/Pairing.pm: /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/Pairing.pm: Permission denied at /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/Plugin.pm line 33.
[19-05-19 17:25:09.0263] Slim::Utils::Misc::msg (1254) Warning: [17:25:09.0024] Image::Scale libpng warning: iCCP: known incorrect sRGB profile (/volume1/@appstore/SqueezeCenter/Slim/Plugin/DontStopTheMusic/HTML/EN/plugins/DontStopTheMusic/html/images/icon.png)

Yes and no - when you copied the file Pairing.pm, you changed its owner and permissions so it can’t be loaded anymore. You must set it to what all other .pm have. Use a combination of chown, chgroup and chmod

goven commented

here is this.

[19-05-21 19:51:40.1166] main::init (353) Starting Logitech Media Server (v7.7.6, 1452060463, Thu Jan 21 02:17:04 UTC 2016) perl 5.024000
[19-05-21 19:51:43.0353] Slim::Utils::PluginManager::load (374) Warning: Couldn't call Plugins::RaopBridge::Plugin->initPlugin: Can't locate loadable object for module CryptX in @inc (@inc contains: /volume1/@appstore/SqueezeCenter/Plugins/RaopBridge/lib /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/lib /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins /volume1/@appstore/SqueezeCenter/CPAN/arch/5.24/x86_64-linux /volume1/@appstore/SqueezeCenter/CPAN/arch/5.24/x86_64-linux/auto /volume1/@appstore/SqueezeCenter/CPAN/arch/5.24.0/x86_64-linux /volume1/@appstore/SqueezeCenter/CPAN/arch/5.24.0/x86_64-linux/auto /volume1/@appstore/SqueezeCenter/CPAN/arch/x86_64-linux /volume1/@appstore/SqueezeCenter/CPAN/arch/5.24 /volume1/@appstore/SqueezeCenter/lib /volume1/@appstore/SqueezeCenter/CPAN /volume1/@appstore/SqueezeCenter/CPAN/auto /volume1/@appstore/SqueezeCenter /usr/local/lib/perl5/site_perl /usr/local/share/perl5/site_perl /usr/local/lib/perl5/vendor_perl /usr/local/share/perl5/vendor_perl /usr/local/lib/perl5/core_perl /usr/local/share/perl5/core_perl .) at /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/Pairing.pm line 16.
Compilation failed in require at /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/Pairing.pm line 16.
BEGIN failed--compilation aborted at /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/Pairing.pm line 16.
Compilation failed in require at /volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/RaopBridge/Plugin.pm line 33.
[19-05-21 19:51:47.9093] Slim::Web::JSONRPC::requestMethod (443) request not dispatchable!
[19-05-21 19:51:47.9112] Slim::Web::JSONRPC::requestMethod (443) request not dispatchable!
[19-05-21 19:51:58.9097] Slim::Web::JSONRPC::requestMethod (443) request not dispatchable!
[19-05-21 19:51:58.9117] Slim::Web::JSONRPC::requestMethod (443) request not dispatchable!
[19-05-21 19:52:09.9091] Slim::Web::JSONRPC::requestMethod (443) request not dispatchable!
[19-05-21 19:52:09.9111] Slim::Web::JSONRPC::requestMethod (443) request not dispatchable!
[19-05-21 19:52:18.8179] Slim::Web::JSONRPC::requestMethod (443) request not dispatchable!
[19-05-21 19:52:20.9120] Slim::Web::JSONRPC::requestMethod (443) request not dispatchable!
[19-05-21 19:52:20.9149] Slim::Web::JSONRPC::requestMethod (443) request not dispatchable!
[19-05-21 19:52:31.9086] Slim::Web::JSONRPC::requestMethod (443) request not dispatchable!
[19-05-21 19:52:31.9106] Slim::Web::JSONRPC::requestMethod (443) request not dispatchable!

goven commented

Hi,did it goes well?

It shows the problem: for some reason that I don't understand yet, your Perl system is not adding some of the directories containing crypto libraries to the search list. So when LMS starts, it can't load the plugin as they are missing. Might not be that, but running LMS on a NAS is often crippled with these kind of problem

goven commented

Thanks anyway, maybe it's the problem with my NAS environment,I choose to give up.

igoris commented

I also have this issue, with the same logs but on Mac OS.
Sorry, not sure if it's better to resurrect this issue or create a new one.

I took a quick look at the code and it seems that offending line is this one https://github.com/philippe44/LMS-Raop/blob/master/plugin/Pairing.pm#L29. I'm not a perl programmer myself but it seems a bit weird to me because it looks like method->object instead of object->method. Reversing the call to CryptX->import seemed to fix it and the pairing was successful.

Indeed, you're right. I did that change last month to avoid a use CryptX that was bothering some but I screwed up...

Thanks!