Announcement

Collapse
No announcement yet.

AirplaySpeak Linux HS3PRO network failure

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • txb
    started a topic AirplaySpeak Linux HS3PRO network failure

    AirplaySpeak Linux HS3PRO network failure

    I've been moving to a Razberry Pi system over the past week - this is the full Linux version of HS3PRO. I followed the instructions for getting the Linux (beta?) version installed, including the steps for getting the ffmpeg version .. I did have a problem with this part, but followed some other steps to get a working version. The Apple devices (a number of Airport Express nodes and some AppleTV units) show up in the AirplaySpeak UI. I replicated the configuration that I had on my HS3PRO Windows environment, which was working quite reliably (AirplaySpeak is currently disabled on the Windows system so as to avoid any possible contention).

    Long story short, the process works in all the steps to create the WAV files in the Temp directory, and if I copy these to my workstation (Mac) I can play the files. The issue that I have is that the connection to the Airport Express nodes apparently fails, and I see the following error sequence:

    Nov-01 12:09:41 PM AirplaySpeak DEBUG 61 Speaker.AfterSend()
    Nov-01 12:09:40 PM AirplaySpeak DEBUG 61 Speaker.SendSample() gets lock
    Nov-01 12:09:40 PM AirplaySpeak DEBUG 61 Speaker.SendSample()
    Nov-01 12:09:40 PM AirplaySpeak DEBUG 61 Speaker.BeforeSend()
    Nov-01 12:09:40 PM AirplaySpeak DEBUG Stack: at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP) [0x00000] in :0 at System.Net.Sockets.TcpClient.Connect (System.Net.IPEndPoint remoteEP) [0x00000] in :0 at System.Net.Sockets.TcpClient.Connect (System.Net.IPAddress[] ipAddresses, Int32 port) [0x00000] in :0
    Nov-01 12:09:40 PM AirplaySpeak INFO Connection to Kitchen (169.254.119.136:5000) failed: Connection timed out
    Nov-01 12:07:33 PM AirplaySpeak DEBUG 61 Speaker.Reset() gets the lock
    Nov-01 12:07:33 PM AirplaySpeak DEBUG 61 Speaker.Reset()

    The audio file never plays.

  • txb
    replied
    Well that appears to have worked much better. No failure, and the log shows the force action.


    Nov-06 9:13:12 AM AirplaySpeak DEBUG ip forced to 192.168.1.39, the actual discovered ip is 169.254.119.136
    Nov-06 9:13:12 AM AirplaySpeak DEBUG sf = '0x5'
    Nov-06 9:13:12 AM AirplaySpeak DEBUG fv = '76400.10'
    Nov-06 9:13:12 AM AirplaySpeak DEBUG am = 'AirPort4,107'
    Nov-06 9:13:12 AM AirplaySpeak DEBUG vs = '105.1'
    Nov-06 9:13:12 AM AirplaySpeak DEBUG tp = 'TCP,UDP'
    Nov-06 9:13:12 AM AirplaySpeak DEBUG vn = '65537'
    Nov-06 9:13:12 AM AirplaySpeak DEBUG pw = 'false'
    Nov-06 9:13:12 AM AirplaySpeak DEBUG ss = '16'
    Nov-06 9:13:12 AM AirplaySpeak DEBUG sr = '44100'
    Nov-06 9:13:12 AM AirplaySpeak DEBUG da = 'true'
    Nov-06 9:13:12 AM AirplaySpeak DEBUG sv = 'false'
    Nov-06 9:13:12 AM AirplaySpeak DEBUG et = '0,1'
    Nov-06 9:13:12 AM AirplaySpeak DEBUG ek = '1'
    Nov-06 9:13:12 AM AirplaySpeak DEBUG cn = '0,1'
    Nov-06 9:13:12 AM AirplaySpeak DEBUG ch = '2'
    Nov-06 9:13:12 AM AirplaySpeak DEBUG txtvers = '1'
    Nov-06 9:13:12 AM AirplaySpeak DEBUG TXT Records =
    Nov-06 9:13:12 AM AirplaySpeak INFO Resolved Service: 0024369D5960 - Kitchen - 169.254.119.136 - 5000

    I just tried an event that outputs to the Kitchen Airport Express (the log of that activity attached), and that seems to have worked - the tail end of the text was clipped. I will continue to monitor it.
    Attached Files

    Leave a comment:


  • spud
    replied
    Originally posted by txb View Post
    In answer to the earlier question, the Express node uses DHCP as opposed to a Static IP. They all do.

    I installed the new version of AirplaySpeak. Without the modified AirplaySpeak.ini, the version starts correctly, but does use the link local for the Kitchen Airport. If I modify the ini file to include the details for the Kitchen Airport Express, the plugin fails to start with the following error:


    Nov-05 9:10:26 AM Plug-In Finished initializing plug-in AirplaySpeak
    Nov-05 9:10:26 AM Error Initializing plug-in(2): AirplaySpeak Instance::Object reference not set to an instance of an objectSTACK: at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke (System.Runtime.Remoting.Proxies.RealProxy rp, IMessage msg, System.Exception& exc, System.Object[]& out_args) [0x00000] in :0
    Nov-05 9:10:26 AM Info Plugin AirplaySpeak with instance: has disconnected
    Nov-05 9:10:26 AM AirplaySpeak INFO AirplaySpeak version 3.0.0.8
    Nov-05 9:10:26 AM Info Plugin AirplaySpeak has connected. IP:127.0.0.1:51542

    There were other entries in the AirPlaySpeak.ini. I tried removing the other entries, and just leaving the Kitchen configured, but that failed as well.
    hmmm, ok try this:
    - delete or rename AirplaySpeak.ini
    - restart the plugin
    - go to the config page and change the volume for the problematic Airport Express, this will write the config to the ini file. (please also set the log level to debug)
    - Edit AirplaySpeak.ini and change the "###ipaddress" line to the correct ip and add the "###forceip=True" line

    let me know how it goes

    Leave a comment:


  • txb
    replied
    In answer to the earlier question, the Express node uses DHCP as opposed to a Static IP. They all do.

    I installed the new version of AirplaySpeak. Without the modified AirplaySpeak.ini, the version starts correctly, but does use the link local for the Kitchen Airport. If I modify the ini file to include the details for the Kitchen Airport Express, the plugin fails to start with the following error:


    Nov-05 9:10:26 AM Plug-In Finished initializing plug-in AirplaySpeak
    Nov-05 9:10:26 AM Error Initializing plug-in(2): AirplaySpeak Instance::Object reference not set to an instance of an objectSTACK: at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke (System.Runtime.Remoting.Proxies.RealProxy rp, IMessage msg, System.Exception& exc, System.Object[]& out_args) [0x00000] in :0
    Nov-05 9:10:26 AM Info Plugin AirplaySpeak with instance: has disconnected
    Nov-05 9:10:26 AM AirplaySpeak INFO AirplaySpeak version 3.0.0.8
    Nov-05 9:10:26 AM Info Plugin AirplaySpeak has connected. IP:127.0.0.1:51542

    There were other entries in the AirPlaySpeak.ini. I tried removing the other entries, and just leaving the Kitchen configured, but that failed as well.

    Leave a comment:


  • spud
    replied
    could you test version 3.0.0.8 attached

    in AirplaySpeak.ini set the ipaddress of your device to the actual routable ip (192.168.1.x) and add the flag forceip=True like in the example below


    Code:
    [SPEAKERS]
    0024369D5960###name=Kitchen
    0024369D5960###ipaddress=192.168.1.39
    0024369D5960###forceip=True
    0024369D5960###port=5000
    0024369D5960###volume=-12
    0024369D5960###enabled=True
    0024369D5960###predelay=0
    0024369D5960###postdelay=0
    Attached Files

    Leave a comment:


  • spud
    replied
    it looks like it is a bug in Avahi (equivalent of Bonjour) with Airport Express.
    For some reason avahi returns the link-local address (169.254.x.x) instead of the routable address (192.1.168.x)

    Does your Airport Express is configured with a static ip or using DHCP?

    As a workaround I will add a parameter in the .ini file that let you force a specific IP

    Leave a comment:


  • txb
    replied
    Attached are the two logs.

    It does appear that IP address resolution is failing on the Linux box for that one Airport Express (Kitchen). I added entries to the hosts file, but that didn't seem to make any difference.

    Of course now I have a subsequent problem with any other Airport Express which AirplaySpeak can connect to ... that issue is that it doesn't actually play the wav file. But one problem at a time.
    Attached Files

    Leave a comment:


  • spud
    replied
    Could you post your debug logs when you start the plugin, when it discovers your Airplay devices.

    And if you still have your HS3 windows running please post the logs too, so that I can compare them

    thanks

    Leave a comment:


  • txb
    replied
    I just noticed, as I posted this, that the IP address shown for the AirportExpress node is incorrect. The address is shown as "169.254.119.136:5000", but that node is actually a "192.1.168.x" address. So perhaps this is a name resolution issue? Do I need to have these hardcoded in the hosts file?

    Leave a comment:

Working...
X