Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 2 12 LastLast
Results 1 to 10 of 17
  1. #1

    Help needed...trying to get RealSlim working with 6.x

    I spent a little time recently trying to get RealSlim (the Rhapsody plugin) working with 6.1, and discovered some interesting things, but I'm not sure where to go from here. Maybe people here already understand why it stopped working as of version 5.4.1...but I don't think I've seen any thorough discussion of it. Anyway, I'm hoping someone might be able to help.

    It was trivial to make the plugin superficially 6.1 compatible, and I was able to replace a line or two that wasn't working (cacheEntry stuff) with non-functional code. At that point, everything actually seemed to work just fine when I ran 6.1 from the commandline with "slimserver.pl". But it didn't work running as a service, or running "slim.exe" from the commandline. When I went back to 5.4.1, I saw the same thing -- but the problem didn't occur with 5.4.0.

    At any rate, I was able to narrow down the problem a bit. receiveCookies() is never called when running the .exe, and I believe it's related to the failure of this (modified) line in initPlugin():

    setsockopt($cookieSocket,
    IP_LEVEL,
    IP_ADD_MEMBERSHIP,
    $ip_mreq)
    or warn "Couldn't setsockopt: $!\n";

    Running the .pl file (for 5.4.0, 5.4.1, 6.1), or the 5.4.0 .exe, that works fine, but running the 5.4.1.exe prints "Unknown error".

    I found a recent bug on the activestate website that I assume is relevant:

    http://bugs.activestate.com/show_bug.cgi?id=37890

    "In Perl 5.8.3, calling setsockopt() with IPPROTO_IP (which equals 0) and IP_ADD_MEMBERSHIP (which equals 5) arguments causes an IGMP multicast join message to be sent on the network. This is the desired and expected behavior.

    However, in Perl 5.8.6, the same call to setsockopt() will return undef (ie. setsockopt() failed), and no IGMP multicast join messages are sent on the network".

    I happen to have 5.8.4 installed at home.

    Now, I'd normally assume that the 5.4.0 and 5.4.1 binaries were compiled with the same version of Perl, but is this a possible explanation? If it is, can anyone think of any workarounds?

    I'm an experienced software developer, but know virtually nothing about network programming or Perl. I don't mind taking the time and learning some stuff, but I wonder if anyone has any suggestions on where to begin with this problem.

    Incidentally, I'm surprised that getting SlimServer to work with the various subscription services (Rhapsody/Napster/Yahoo) isn't a higher priority. Seems like even basic UPnP support would be very useful.

    I'm attaching my modified version of the Plugin.pm file from RealSlim, in case anyone is interested.

  2. #2
    I sadly have no programming abilty but I think your efforts are really great. If there is anything a lay person can do to help, let me know.

    Could you post the unzipped version of your file. For some reason as I pull it down it says its corrupt.

    Dont get surprised by slow response time to your questions. This question has been around a long time.

  3. #3
    The .zip attachment looks ok to me when I re-download it from the forum, but anyway, I'm reattaching the file Plugin.pm as Plugin.pm.txt here.

  4. #4
    Member
    Join Date
    Apr 2005
    Location
    Yorkshire. UK
    Posts
    53

    Help needed...trying to get RealSlim working with 6.x

    Hi,

    This is great news and I am glad that someone is having a go at
    getting Rhapsody working again with Slim as for me it is one of the most
    important plugins ever released. It may also be worth noting that the
    Rhapsody client was recently updated to v3 and I believe that causes yet
    another set of issues for the plugin. No doubt at some stage Rhapsody
    will enforce an update of their clients to v3
    ..
    I hope you do persevere with this, could you also perhaps drop me an
    email with your email address so I could send you an offlist reply.

    slimdev <at> ukusa <dot> co <dot> uk

    Thanks Kevin



    gsamsa wrote:

    >I spent a little time recently trying to get RealSlim (the Rhapsody
    >plugin) working with 6.1, and discovered some interesting things, but
    >I'm not sure where to go from here.
    >



  5. #5
    NOT a Slim Devices Employee kdf's Avatar
    Join Date
    Apr 2005
    Posts
    9,493

    Re: Help needed...trying to get RealSlim working with6.x

    I just thought I'd give your updated plugin a test run to see if I can offer any
    insights. I just discovered again why I never cared about Rhapsody support
    being updated before. Not only is it not available to Linux users, its not
    available to Canadians either.

    So, all I can say is good luck. If you run into specific error messages, I will
    try to offer help when I can.

    -kdf

  6. #6
    Quote Originally Posted by kdf
    If you run into specific error messages, I will
    try to offer help when I can.
    Well, here's a specific question, which you may be able to answer: Was the win32 executable of 5.4.0 currently downloadable from slimdevices created with a different version of perlsvc than 5.4.1 and later versions? As I mentioned, there's a problem with one specific line, and it may be related to a perl bug. If that's the case, it may be a waste of time for me to try to fix it.

    Also, if you understand Perl networking (which I imagine you do), do you have any idea why that line would be failing? This should be a general multicast issue, not a rhapsody specific one. The specific error message is unfortunately "Unknown Error" -- if you know how I can get more useful diagnostic information, that would also be helpful. Thanks.

  7. #7

    Think I got it now...

    Never mind the previous message. Think I figured out the problem now, more or less.

    This page:

    http://support.microsoft.com/default...;en-us;Q257460

    suggests that there are potential mismatches between versions of winsock and different header files. There must be a mismatch in perlsvc or something, which explains both the realslim error and the activestate perl bug I originally linked to.

    Changing this:

    setsockopt($cookieSocket,
    IP_LEVEL,
    IP_ADD_MEMBERSHIP, # IP_ADD_MEMBERSHIP = 5
    $ip_mreq)
    or warn "Couldn't setsockopt: $!\n";

    to this:

    setsockopt($cookieSocket,
    IP_LEVEL,
    12,
    $ip_mreq)
    or warn "Couldn't setsockopt: $!\n";

    seems to fix the problems. At least, everything appears to work for me now.

    I'm attaching the modified plugin.pm file both zipped and renamed as a .txt file, if anyone wants to check it out.

  8. #8
    NOT a Slim Devices Employee kdf's Avatar
    Join Date
    Apr 2005
    Posts
    9,493

    Re: Help needed...trying to get RealSlim working with6.x

    Quoting gsamsa <gsamsa.1p7ze0 (AT) no-mx (DOT) forums.slimdevices.com>:

    >
    > kdf Wrote:
    > > If you run into specific error messages, I will
    > > try to offer help when I can.

    >
    > Well, here's a specific question, which you may be able to answer: Was
    > the win32 executable of 5.4.0 currently downloadable from slimdevices
    > created with a different version of perlsvc than 5.4.1 and later
    > versions?


    This would be the kind of question I cannot answer. Not being at Slim Devices,
    I dont have the kind of inside knowledge of knowing which version of PerlDev is
    being used, or when upgrades are done (except for when the upgrade goes wrong,
    and I catch a few comments i the checkins

    Glad you got it working, though. A lot of users will be very pleased.

    -kdf

  9. #9
    Junior Member
    Join Date
    May 2005
    Posts
    4
    First off, thanks for getting this working again!

    I've installed and managed to get the plugin loaded in v6, but have a quick question. Have you tested with version 2 or version 3 or rhapsody (or both)? I just tried with the realslim service and version 3 which didn't work. I'm going to rollback to version 2.x and see if that works as before.

  10. #10
    Junior Member
    Join Date
    May 2005
    Posts
    4
    Just answered my own question here, have everything working properly with 6.02 and Rhapsody 2.1.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •