Closed alfredopalhares closed 8 years ago
ushare looks fine. Did you try it a few times? Broadcasting is not reliable by nature, especially in complex network setups. But normally this is not an issue in home LANs. For myself it works always.
Network troubleshooting If your MediaServer doesn't show up on your client most of the time networking issue are responsible for that.
- Add a multicast route, pointing to the proper network interface:
route add -net 239.0.0.0 netmask 255.0.0.0 eth0
- Any firewall on your system?
Hello @masmu , thanks for the reply.
I add the 239 and also the 224 route. and got no luck finding the ushare server.
Here are the logs:
09-29 00:26:48 pulseaudio_dlna.application INFO Using localhost: 192.168.222.189:8080
09-29 00:26:48 pulseaudio_dlna.application INFO Loaded encoders:
09-29 00:26:48 pulseaudio_dlna.application INFO <LameEncoder bit-rate="192" state="True" enabled="True" mime-types="audio/mpeg,audio/mp3">
09-29 00:26:48 pulseaudio_dlna.application INFO <WavEncoder bit-rate="None" state="False" enabled="True" mime-types="audio/wav,audio/x-wav">
09-29 00:26:48 pulseaudio_dlna.application INFO <AacEncoder bit-rate="192" state="True" enabled="True" mime-types="audio/aac,audio/x-aac">
09-29 00:26:48 pulseaudio_dlna.application INFO <FlacEncoder bit-rate="None" state="True" enabled="True" mime-types="audio/flac,audio/x-flac">
09-29 00:26:48 pulseaudio_dlna.application INFO <OggEncoder bit-rate="192" state="False" enabled="True" mime-types="audio/ogg,audio/x-ogg,application/ogg">
09-29 00:26:48 pulseaudio_dlna.application INFO <OpusEncoder bit-rate="192" state="False" enabled="True" mime-types="audio/opus,audio/x-opus">
09-29 00:26:54 pulseaudio_dlna.listener INFO Discovery complete.
09-29 00:28:28 pulseaudio_dlna.pulseaudio INFO on_new_playback_stream "/org/pulseaudio/core1/playback_stream55"
09-29 00:28:28 pulseaudio_dlna.pulseaudio INFO _handle_sink_update /org/pulseaudio/core1/sink1
09-29 00:28:30 pulseaudio_dlna.pulseaudio INFO on_playback_stream_removed "/org/pulseaudio/core1/playback_stream55"
09-29 00:28:30 pulseaudio_dlna.pulseaudio INFO on_new_playback_stream "/org/pulseaudio/core1/playback_stream56"
09-29 00:28:31 pulseaudio_dlna.pulseaudio INFO _handle_sink_update /org/pulseaudio/core1/sink1
09-29 00:28:32 pulseaudio_dlna.pulseaudio INFO on_playback_stream_removed "/org/pulseaudio/core1/playback_stream56"
09-29 00:28:33 pulseaudio_dlna.pulseaudio INFO _handle_sink_update /org/pulseaudio/core1/sink1
09-29 00:31:12 pulseaudio_dlna.pulseaudio INFO on_new_playback_stream "/org/pulseaudio/core1/playback_stream57"
09-29 00:31:12 pulseaudio_dlna.pulseaudio INFO _handle_sink_update /org/pulseaudio/core1/sink1
09-29 00:31:14 pulseaudio_dlna.pulseaudio INFO on_playback_stream_removed "/org/pulseaudio/core1/playback_stream57"
09-29 00:31:14 pulseaudio_dlna.pulseaudio INFO _handle_sink_update /org/pulseaudio/core1/sink1
09-29 00:31:16 pulseaudio_dlna.pulseaudio INFO on_new_playback_stream "/org/pulseaudio/core1/playback_stream58"
09-29 00:31:17 pulseaudio_dlna.pulseaudio INFO _handle_sink_update /org/pulseaudio/core1/sink1
09-29 00:31:18 pulseaudio_dlna.pulseaudio INFO on_playback_stream_removed "/org/pulseaudio/core1/playback_stream58"
09-29 00:31:19 pulseaudio_dlna.pulseaudio INFO _handle_sink_update /org/pulseaudio/core1/sink1
Any ideas?
It does not find your device at all. Normally the discovery is known to be very robust. If it finds your device, there is a line like the following: Added device "XXX" ...
Could you provide an full debug.log to make sure it is not some kind of parsing error? The following command will create one in the current directory.
pulseaudio-dlna --debug 2>&1 | tee -a debug.log
Besides that, could you give me some information about your network configuration? Interesting would be the IPs of the devices and computers and if those are connected via wifi or cable.
Hello @masmu
With the debug output its exactly the same, after several minutes:
$ pulseaudio-dlna --host=192.168.222.189 -p 8080 --debug
09-29 01:17:33 pulseaudio_dlna.application INFO Using localhost: 192.168.222.189:8080
09-29 01:17:33 pulseaudio_dlna.application INFO Loaded encoders:
09-29 01:17:33 pulseaudio_dlna.application INFO <LameEncoder bit-rate="192" state="True" enabled="True" mime-types="audio/mpeg,audio/mp3">
09-29 01:17:33 pulseaudio_dlna.application INFO <WavEncoder bit-rate="None" state="False" enabled="True" mime-types="audio/wav,audio/x-wav">
09-29 01:17:33 pulseaudio_dlna.application INFO <AacEncoder bit-rate="192" state="True" enabled="True" mime-types="audio/aac,audio/x-aac">
09-29 01:17:33 pulseaudio_dlna.application INFO <FlacEncoder bit-rate="None" state="True" enabled="True" mime-types="audio/flac,audio/x-flac">
09-29 01:17:33 pulseaudio_dlna.application INFO <OggEncoder bit-rate="192" state="False" enabled="True" mime-types="audio/ogg,audio/x-ogg,application/ogg">
09-29 01:17:33 pulseaudio_dlna.application INFO <OpusEncoder bit-rate="192" state="False" enabled="True" mime-types="audio/opus,audio/x-opus">
09-29 01:17:38 pulseaudio_dlna.listener INFO Discovery complete.
I telnet'd onto the router and started ushare manually:
root@airmusic:~# /usr/bin/ushare -n airmusic-DMS -i br-lan -c /tmp/mnt -v --dlna
Interface br-lan is down.
Recheck uShare's configuration and try again !
uShare (version 1.1a), a lightweight UPnP A/V and DLNA Media Server.
Benjamin Zores (C) 2005-2007, for GeeXboX Team.
See http://ushare.geexbox.org/ for updates.
Listening on telnet port 1337
Initializing UPnP subsystem ...
Starting in DLNA compliant profile ...
UPnP MediaServer listening on 192.168.222.254:49152
Sending UPnP advertisement for device ...
Listening for control point connections ...
Building Metadata List ...
Looking for files in content directory : /tmp/mnt
scandir: No such file or directory
Found 2 files and subdirectories.
http_get_info, filename : /web/cds.xml
http_open, filename : /web/cds.xml
http_read
Read file from memory.
Read 5513 bytes.
http_close
http_get_info, filename : /web/cds.xml
http_open, filename : /web/cds.xml
http_read
Read file from memory.
Read 5513 bytes.
http_close
http_get_info, filename : /web/cds.xml
http_open, filename : /web/cds.xml
http_read
Read file from memory.
Read 5513 bytes.
http_close
http_get_info, filename : /web/cds.xml
http_open, filename : /web/cds.xml
http_read
Read file from memory.
Read 5513 bytes.
http_close
Also tried to force the renderer url explicitly:
$ pulseaudio-dlna --host=192.168.222.189 -p 8080 --debug --renderer-url http://192.168.222.254:49152/web/cds.xml
09-29 01:22:11 pulseaudio_dlna.application INFO Using localhost: 192.168.222.189:8080
09-29 01:22:11 pulseaudio_dlna.application INFO Loaded encoders:
09-29 01:22:11 pulseaudio_dlna.application INFO <LameEncoder bit-rate="192" state="True" enabled="True" mime-types="audio/mpeg,audio/mp3">
09-29 01:22:11 pulseaudio_dlna.application INFO <WavEncoder bit-rate="None" state="False" enabled="True" mime-types="audio/wav,audio/x-wav">
09-29 01:22:11 pulseaudio_dlna.application INFO <AacEncoder bit-rate="192" state="True" enabled="True" mime-types="audio/aac,audio/x-aac">
09-29 01:22:11 pulseaudio_dlna.application INFO <FlacEncoder bit-rate="None" state="True" enabled="True" mime-types="audio/flac,audio/x-flac">
09-29 01:22:11 pulseaudio_dlna.application INFO <OggEncoder bit-rate="192" state="False" enabled="True" mime-types="audio/ogg,audio/x-ogg,application/ogg">
09-29 01:22:11 pulseaudio_dlna.application INFO <OpusEncoder bit-rate="192" state="False" enabled="True" mime-types="audio/opus,audio/x-opus">
09-29 01:22:11 requests.packages.urllib3.connectionpool INFO Starting new HTTP connection (1): 192.168.222.254
09-29 01:22:11 requests.packages.urllib3.connectionpool DEBUG "GET /web/cds.xml HTTP/1.1" 200 5513
09-29 01:22:11 pulseaudio_dlna.plugins.chromecast.renderer DEBUG Response from chromecast device (http://192.168.222.254:49152/web/cds.xml)
<?xml version="1.0" encoding="utf-8"?><scpd xmlns="urn:schemas-upnp-org:service-1-0"> <specVersion> <major>1</major> <minor>0</minor> </specVersion> <actionList> <action> <name>Browse</name> <argumentList> <argument> <name>ObjectID</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_ObjectID</relatedStateVariable> </argument> <argument> <name>BrowseFlag</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_BrowseFlag</relatedStateVariable> </argument> <argument> <name>Filter</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Filter</relatedStateVariable> </argument> <argument> <name>StartingIndex</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Index</relatedStateVariable> </argument> <argument> <name>RequestedCount</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Count</relatedStateVariable> </argument> <argument> <name>SortCriteria</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_SortCriteria</relatedStateVariable> </argument> <argument> <name>Result</name> <direction>out</direction> <relatedStateVariable>A_ARG_TYPE_Result</relatedStateVariable> </argument> <argument> <name>NumberReturned</name> <direction>out</direction> <relatedStateVariable>A_ARG_TYPE_Count</relatedStateVariable> </argument> <argument> <name>TotalMatches</name> <direction>out</direction> <relatedStateVariable>A_ARG_TYPE_Count</relatedStateVariable> </argument> <argument> <name>UpdateID</name> <direction>out</direction> <relatedStateVariable>A_ARG_TYPE_UpdateID</relatedStateVariable> </argument> </argumentList> </action> <action> <name>DestroyObject</name> <argumentList> <argument> <name>ObjectID</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_ObjectID</relatedStateVariable> </argument> </argumentList> </action> <action> <name>GetSystemUpdateID</name> <argumentList> <argument> <name>Id</name> <direction>out</direction> <relatedStateVariable>SystemUpdateID</relatedStateVariable> </argument> </argumentList> </action> <action> <name>GetSearchCapabilities</name> <argumentList> <argument> <name>SearchCaps</name> <direction>out</direction> <relatedStateVariable>SearchCapabilities</relatedStateVariable> </argument> </argumentList> </action> <action> <name>GetSortCapabilities</name> <argumentList> <argument> <name>SortCaps</name> <direction>out</direction> <relatedStateVariable>SortCapabilities</relatedStateVariable> </argument> </argumentList> </action> <action> <name>UpdateObject</name> <argumentList> <argument> <name>ObjectID</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_ObjectID</relatedStateVariable> </argument> <argument> <name>CurrentTagValue</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_TagValueList</relatedStateVariable> </argument> <argument> <name>NewTagValue</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_TagValueList</relatedStateVariable> </argument> </argumentList> </action> </actionList> <serviceStateTable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_BrowseFlag</name> <dataType>string</dataType> <allowedValueList> <allowedValue>BrowseMetadata</allowedValue> <allowedValue>BrowseDirectChildren</allowedValue> </allowedValueList> </stateVariable> <stateVariable sendEvents="yes"> <name>SystemUpdateID</name> <dataType>ui4</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_Count</name> <dataType>ui4</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_SortCriteria</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>SortCapabilities</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_Index</name> <dataType>ui4</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_ObjectID</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_UpdateID</name> <dataType>ui4</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_TagValueList</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_Result</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>SearchCapabilities</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_Filter</name> <dataType>string</dataType> </stateVariable> </serviceStateTable></scpd>
09-29 01:22:11 pulseaudio_dlna.plugins.chromecast.renderer ERROR No valid XML returned from http://192.168.222.254:49152/web/cds.xml.
09-29 01:22:11 requests.packages.urllib3.connectionpool INFO Starting new HTTP connection (1): 192.168.222.254
09-29 01:22:11 requests.packages.urllib3.connectionpool DEBUG "GET /web/cds.xml HTTP/1.1" 200 5513
09-29 01:22:11 pulseaudio_dlna.plugins.upnp.renderer DEBUG Response from UPNP device (http://192.168.222.254:49152/web/cds.xml)
<?xml version="1.0" encoding="utf-8"?><scpd xmlns="urn:schemas-upnp-org:service-1-0"> <specVersion> <major>1</major> <minor>0</minor> </specVersion> <actionList> <action> <name>Browse</name> <argumentList> <argument> <name>ObjectID</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_ObjectID</relatedStateVariable> </argument> <argument> <name>BrowseFlag</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_BrowseFlag</relatedStateVariable> </argument> <argument> <name>Filter</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Filter</relatedStateVariable> </argument> <argument> <name>StartingIndex</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Index</relatedStateVariable> </argument> <argument> <name>RequestedCount</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Count</relatedStateVariable> </argument> <argument> <name>SortCriteria</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_SortCriteria</relatedStateVariable> </argument> <argument> <name>Result</name> <direction>out</direction> <relatedStateVariable>A_ARG_TYPE_Result</relatedStateVariable> </argument> <argument> <name>NumberReturned</name> <direction>out</direction> <relatedStateVariable>A_ARG_TYPE_Count</relatedStateVariable> </argument> <argument> <name>TotalMatches</name> <direction>out</direction> <relatedStateVariable>A_ARG_TYPE_Count</relatedStateVariable> </argument> <argument> <name>UpdateID</name> <direction>out</direction> <relatedStateVariable>A_ARG_TYPE_UpdateID</relatedStateVariable> </argument> </argumentList> </action> <action> <name>DestroyObject</name> <argumentList> <argument> <name>ObjectID</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_ObjectID</relatedStateVariable> </argument> </argumentList> </action> <action> <name>GetSystemUpdateID</name> <argumentList> <argument> <name>Id</name> <direction>out</direction> <relatedStateVariable>SystemUpdateID</relatedStateVariable> </argument> </argumentList> </action> <action> <name>GetSearchCapabilities</name> <argumentList> <argument> <name>SearchCaps</name> <direction>out</direction> <relatedStateVariable>SearchCapabilities</relatedStateVariable> </argument> </argumentList> </action> <action> <name>GetSortCapabilities</name> <argumentList> <argument> <name>SortCaps</name> <direction>out</direction> <relatedStateVariable>SortCapabilities</relatedStateVariable> </argument> </argumentList> </action> <action> <name>UpdateObject</name> <argumentList> <argument> <name>ObjectID</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_ObjectID</relatedStateVariable> </argument> <argument> <name>CurrentTagValue</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_TagValueList</relatedStateVariable> </argument> <argument> <name>NewTagValue</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_TagValueList</relatedStateVariable> </argument> </argumentList> </action> </actionList> <serviceStateTable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_BrowseFlag</name> <dataType>string</dataType> <allowedValueList> <allowedValue>BrowseMetadata</allowedValue> <allowedValue>BrowseDirectChildren</allowedValue> </allowedValueList> </stateVariable> <stateVariable sendEvents="yes"> <name>SystemUpdateID</name> <dataType>ui4</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_Count</name> <dataType>ui4</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_SortCriteria</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>SortCapabilities</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_Index</name> <dataType>ui4</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_ObjectID</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_UpdateID</name> <dataType>ui4</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_TagValueList</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_Result</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>SearchCapabilities</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_Filter</name> <dataType>string</dataType> </stateVariable> </serviceStateTable></scpd>
09-29 01:22:11 pulseaudio_dlna.plugins.upnp.renderer ERROR No valid XML returned from http://192.168.222.254:49152/web/cds.xml.
The network is very simple, the airmusic device is runing hostapd, and only the test laptop is connected to it.
I can successfully visit the ushare web page.
The cds.xml file:
<?xml version="1.0" encoding="utf-8"?><scpd xmlns="urn:schemas-upnp-org:service-1-0"> <specVersion> <major>1</major> <minor>0</minor> </specVersion> <actionList> <action> <name>Browse</name> <argumentList> <argument> <name>ObjectID</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_ObjectID</relatedStateVariable> </argument> <argument> <name>BrowseFlag</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_BrowseFlag</relatedStateVariable> </argument> <argument> <name>Filter</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Filter</relatedStateVariable> </argument> <argument> <name>StartingIndex</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Index</relatedStateVariable> </argument> <argument> <name>RequestedCount</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Count</relatedStateVariable> </argument> <argument> <name>SortCriteria</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_SortCriteria</relatedStateVariable> </argument> <argument> <name>Result</name> <direction>out</direction> <relatedStateVariable>A_ARG_TYPE_Result</relatedStateVariable> </argument> <argument> <name>NumberReturned</name> <direction>out</direction> <relatedStateVariable>A_ARG_TYPE_Count</relatedStateVariable> </argument> <argument> <name>TotalMatches</name> <direction>out</direction> <relatedStateVariable>A_ARG_TYPE_Count</relatedStateVariable> </argument> <argument> <name>UpdateID</name> <direction>out</direction> <relatedStateVariable>A_ARG_TYPE_UpdateID</relatedStateVariable> </argument> </argumentList> </action> <action> <name>DestroyObject</name> <argumentList> <argument> <name>ObjectID</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_ObjectID</relatedStateVariable> </argument> </argumentList> </action> <action> <name>GetSystemUpdateID</name> <argumentList> <argument> <name>Id</name> <direction>out</direction> <relatedStateVariable>SystemUpdateID</relatedStateVariable> </argument> </argumentList> </action> <action> <name>GetSearchCapabilities</name> <argumentList> <argument> <name>SearchCaps</name> <direction>out</direction> <relatedStateVariable>SearchCapabilities</relatedStateVariable> </argument> </argumentList> </action> <action> <name>GetSortCapabilities</name> <argumentList> <argument> <name>SortCaps</name> <direction>out</direction> <relatedStateVariable>SortCapabilities</relatedStateVariable> </argument> </argumentList> </action> <action> <name>UpdateObject</name> <argumentList> <argument> <name>ObjectID</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_ObjectID</relatedStateVariable> </argument> <argument> <name>CurrentTagValue</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_TagValueList</relatedStateVariable> </argument> <argument> <name>NewTagValue</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_TagValueList</relatedStateVariable> </argument> </argumentList> </action> </actionList> <serviceStateTable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_BrowseFlag</name> <dataType>string</dataType> <allowedValueList> <allowedValue>BrowseMetadata</allowedValue> <allowedValue>BrowseDirectChildren</allowedValue> </allowedValueList> </stateVariable> <stateVariable sendEvents="yes"> <name>SystemUpdateID</name> <dataType>ui4</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_Count</name> <dataType>ui4</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_SortCriteria</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>SortCapabilities</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_Index</name> <dataType>ui4</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_ObjectID</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_UpdateID</name> <dataType>ui4</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_TagValueList</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_Result</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>SearchCapabilities</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents="no"> <name>A_ARG_TYPE_Filter</name> <dataType>string</dataType> </stateVariable> </serviceStateTable></scpd>
Thank you for your help so far!
You are welcome!
Good idea to query the renderer yourself. But that's the wrong url. Are there other applications on your computer which are able to find the renderer? If so, you could start wireshark and look for SSDP packages. They look like:
HTTP/1.1 200 OK
Cache-Control: max-age=1800
Date: Tue, 29 Sep 2015 00:57:57 GMT
Ext:
Location: http://192.168.1.23:40897/8fd2dff8-b3b5-3a84-2b02-2d9113e68f32/description.xml
Server: Linux/3.1.1 UPnP/1.1 CoCy/0.1
ST: urn:schemas-upnp-org:device:MediaRenderer:1
USN: uuid:8fd2dff8-b3b5-3a84-2b02-2d9113e68f32::urn:schemas-upnp-org:device:MediaRenderer:1
BOOTID.UPNP.ORG: 1444592141
CONFIGID.UPNP.ORG: 1
The URL you are looking for is the Location
entry. In that case: http://192.168.1.23:40897/8fd2dff8-b3b5-3a84-2b02-2d9113e68f32/description.xml
. The ST header has to be: urn:schemas-upnp-org:device:MediaRenderer:1
The URL content is something like the following content:
<?xml version='1.0' encoding='utf-8'?>
<root configId="1" xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>1</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<friendlyName>Wohnzimmer</friendlyName>
<manufacturer>cocy</manufacturer>
<modelName>Wohnzimmer</modelName>
<UDN>uuid:8fd2dff8-b3b5-3a84-2b02-2d9113e68f32</UDN>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<SCPDURL>/RenderingControl_1/service.xml</SCPDURL>
<controlURL>/8fd2dff8-b3b5-3a84-2b02-2d9113e68f32/RenderingControl/control</controlURL>
<eventSubURL>/8fd2dff8-b3b5-3a84-2b02-2d9113e68f32/RenderingControl/sub</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<SCPDURL>/ConnectionManager_1/service.xml</SCPDURL>
<controlURL>/8fd2dff8-b3b5-3a84-2b02-2d9113e68f32/ConnectionManager/control</controlURL>
<eventSubURL>/8fd2dff8-b3b5-3a84-2b02-2d9113e68f32/ConnectionManager/sub</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
<serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
<SCPDURL>/AVTransport_1/service.xml</SCPDURL>
<controlURL>/8fd2dff8-b3b5-3a84-2b02-2d9113e68f32/AVTransport/control</controlURL>
<eventSubURL>/8fd2dff8-b3b5-3a84-2b02-2d9113e68f32/AVTransport/sub</eventSubURL>
</service>
</serviceList>
</device>
</root>
It can vary quite a bit, but the basic structure is always the same.
If you have an Android phone on your wifi, you could try to install BubbleUPnP to ensure your network setup is not the problem. But as far I could see, everything is fine. 192.168.222.254
is on the same network as 192.168.222.189
.
Hello @masmu , thanks for the detailed answer.
So I have tried to use BubbleUPnP, I connected to the same "airmusic network" and the only devices in that connection were, my laptop, the soundmate m1 (serving the network) and an android device with BubbleUPnP.
With BubbleUPNP, pulseaudio-dlna worked immediately, and I was able stream music properly.
I tried to sniff the traffic before, but all i see (with the soundmate m1) is IGMP traffic.
I have run out of ideas to get this device to do anything.
Any suggestion would be welcome!
Regards,
I am pretty sure your network setup is not the problem, since BubbleUPnP and pulseaudio-dlna work flawlessly together.
There are basically 3 different roles in DLNA.
Many devices (or applications) have one or more roles. Kodi for example is a DMS and a DMR. It serves media and can get instructed to play from other DMS. BubbleUPnP is everything, since it does serve files, plays media and can instruct other DMRs to do so. You have to consider one thing with DMRs: Normally they can be remote controlled (by DMCs) to play media or you can instruct them yourself (e.g. via a remote control, integrated touchpad, whatever) to play media. But there are manufacturers who do not implement the full DMR protocol stack. Those devices implement the methods to play media from other DMS, but do not implement the protocol for being remote controlled. Those devices can just play media from DMS when you use something like a remote control or the buttons at the device. pulseaudio-dlna needs a full DMR protocol stack to remote control the device. So, some devices cannot work.
I took a look at the device on amazon. It is not a DMC that's for sure and it does not have to be. It may be a DMS (because of the USB port), which is unimportant for your case. Since it is missing a display and control buttons at the devices surface it should be a full stack DMR. That's what we want. Other people reported it to be an DMR. So, there is hope.
As I understood, BubbleUPnP and pulseaudio-dlna are both not able to find the device. I have a D-Link DCH-M225/E which also supports Airplay and DLNA. But I needed to enable DLNA in the web panel. I can just assume it is something like that. BubbleUPnP is a very mature and reliable piece of software. If it does not find your device, it is normally the fault of the devices firmware implementation or you have a problem with your network setup. So, I recommend you to look for UPnP or DLNA in the web panel and make sure it is enabled.
Closed due to inactivity.
Hello,
I am trying to stream to a soundmate m11, and as its turn out its running openwrt on it.
I has ushare , version 1.1.a running on:
I am on a archlinux box, updated system, runing pulseaudio-dlna from the AUR version 0.4.4.
I just start pulseaudio-dlna from the command line:
I am on the same network as the device, but opening pavucontrol, does not show any new output device.
Any suggestions?