Code Monkey home page Code Monkey logo

Comments (7)

gabrielmagno avatar gabrielmagno commented on June 11, 2024

Unfortunately I have never tested nano-dlna on OpenBSD.

I have created a new branch (bugfix/openbsd) to test some fixes. First, let's see if the source of the problem is simply the command to set the TTL.

@vext01 would you mind cloning this new branch, installing and testing it?

git clone https://github.com/gabrielmagno/nano-dlna.git
cd nano-dlna
git checkout bugfix/openbsd
sudo python setup.py install

Then try doing a nanodlna list again.

Thank you!

from nano-dlna.

vext01 avatar vext01 commented on June 11, 2024

Hi,

Thanks for looking into this!

I didn't want to write to /usr/local, so I just did pip install --user .. Shouldn't make any difference I think.

Anyways, now we have no crash, but it doesn't see any devices:

$ nanodlna list
nano-dlna log will be saved here: /tmp/tmpwha95f37/nanodlna-2021-10-18_16-16-30.log
$

In the log file:

[ 2021-10-18 16:19:33,945 ] INFO : Scanning devices...
[ 2021-10-18 16:19:38,954 ] INFO : Number of devices found: 0

There should be two render devices. gupnp-av-cp can see them.

from nano-dlna.

gabrielmagno avatar gabrielmagno commented on June 11, 2024

Thanks for testing it for us @vext01 !

I didn't want to write to /usr/local, so I just did pip install --user .. Shouldn't make any difference I think.

Perfectly fine!

So, after removing the TTL line the crash disappeared. That's good to know, because now I will try to figure how to set the same thing in OpenBSD.

But first, let me just try to understand why your render device dit not appear.

A question about your local network setup: are the computer (where you are running nano-dlna) and the render device (where you want to play the video) connected directly to the same router/switch/acces-point in your network, or are they connected into different router/switch/acces-point (meaning that they would be separated by at least 2 "hops" of distance)?

Also, would you mind sharing the output of the following command:

gssdp-discover -n 10

Feel free to remove or redact from the output any personal information that you are not comfortable sharing (e.g. IP adresses).

from nano-dlna.

gabrielmagno avatar gabrielmagno commented on June 11, 2024

Forgot to mention, but gssdp-discover is part of the gupnp-tools project (https://github.com/GNOME/gupnp-tools), so since you already have gupnp-av-cp, I believe you will already have gssdp-discover available.

from nano-dlna.

gabrielmagno avatar gabrielmagno commented on June 11, 2024

@vext01 I have added a candidate fix into the bugfix/openbsd.

Can you git pull the branch, reinstall nano-dlna, and check if it works now?

Thank you.

from nano-dlna.

vext01 avatar vext01 commented on June 11, 2024

Alas, nanodlna list still returns no devices.

Running with -b, here's the log:

[ 2021-10-20 09:59:29,774 ] INFO : Scanning devices...
[ 2021-10-20 09:59:29,774 ] DEBUG : Configuring broadcast message
[ 2021-10-20 09:59:29,774 ] DEBUG : Sending broadcast message
[ 2021-10-20 09:59:29,774 ] DEBUG : Waiting for devices (5 seconds)
[ 2021-10-20 09:59:34,779 ] INFO : Number of devices found: 0

are the computer (where you are running nano-dlna) and the render device (where you want to play the video) connected directly to the same router/switch/acces-point in your network, or are they connected into different router/switch/acces-point

My network is flat, but involves a mesh network of 2 access points. I don't know if that makes a difference? Regardless running gupnp-av-cp on the same computer does work. The computer I'm running minidlna on is on a wired ethernet connection, and the renderers are on wifi, but the wired and wireless networks are the same /24 subnet.

The two renderers I'm testing with are bubbleupnp on an android phone, and a Hiby R3 Pro.

Interestingly, gssdp-discover -n 10 doesn't find the renderers. I think this is because of:

$ gssdp-discover -n 10
...
Using network interface re0

My system has two ethernet interfaces: re0 and em0. The renderers wouldn't be found on re0 (only on em0). Could it be that the upnp library defaults to the first network interface it finds? Do you need to tell it to scan all interfaces?

FWIW, if I do gssdp-discover -n 10 -i em0, then I see a ton of upnp devices, including ones with the USN suffix: urn:schemas-upnp-org:device:MediaRenderer:1 and with correct-looking IP addresses too.

For example the Hiby R3:

$ gssdp-discover -n 10 -i em0
...
resource available
  USN:      uuid:HiByMusic-XXXXXXXX-XXX-XXXX-X::urn:schemas-upnp-org:device:MediaRenderer:1
  Location: http://192.168.1.2:49153/description.xml

Hope that helps.

from nano-dlna.

gabrielmagno avatar gabrielmagno commented on June 11, 2024

Hi @vext01.

Sorry for the late follow up on this.

I have added a new fix into the bugfix/openbsd. Basically, I bind to 0.0.0.0 by default now (instead of empty string), and also, if a host is provided, use that as the IP to bind.

First try normally as before:

nanodlna -b list

If it does not work, try this (replacing 10.x.x.x by the local network address of the interface em0)

nanodlna -b -H 10.x.x.x list

Could you git pull the branch, reinstall nano-dlna, and check if it works now?

Thank you.

from nano-dlna.

Related Issues (11)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.