minidlna & Roku

I’ve installed minidlna and followed the instructions at https://wiki.archlinux.org/index.php/ReadyMedia. I’ve stored my videos under home so I followed the instructions under “Running minidlna as your own user”. I also followed the instructions under “Media directory not accessible” since it was getting permission denied on the media directory. It also said it couldn’t write to the pid file at /var/run/minidlna/minidlna.pid so I changed the owner and group to myself and users the same as I put in the run-as-user.conf.

These are the details in services manager: (I can’t get this page to preserve the formatting)

  minidlna.service - MiniDLNA is a DLNA/UPnP-AV server software    Loaded: loaded (/usr/lib/systemd/system/minidlna.service; enabled; vendor preset: disabled)   Drop-In: /etc/systemd/system/minidlna.service.d            └─override.conf, run-as-user.conf    Active: active (running) since Fri 2020-12-18 13:18:04 EST; 39min ago  Main PID: 22925 (minidlnad)     Tasks: 2    CGroup: /system.slice/minidlna.service            └─22925 /usr/sbin/minidlnad -S 
Dec 18 13:18:04 Heaviside systemd[1]: Started MiniDLNA is a DLNA/UPnP-AV server software. Dec 18 13:18:04 Heaviside minidlnad[22925]: minidlna.c:1124: warn: Starting MiniDLNA version 1.3.0. Dec 18 13:18:04 Heaviside minidlnad[22925]: minidlna.c:1184: warn: HTTP listening on port 8200

The problem is the Roku does not see this dlna server. There’s also a computer running Windows 7 on the LAN and whenever it is on, it shows up on the Roku although no one has set up that computer for dlna. On mine, though, although I’ve worked on this for hours, I can’t get it to work. According to YaST, the firewall is not enabled. On this computer which is the one I’ve installed minidlna, I can access the server by putting the IP address of this computer followed by :8200 and it will show the status page but I can’t access it (the status page in a web browser) from any other computer on the network (although I don’t know if I should be able to). I also use kdeconnect with my phone and it worked right away: my computer shows up in the app on my phone and my phone shows up in the app on the computer so I don’t think there’s a system wide issue with connections. I’m at a loss. Any suggestions?

To start with, confirm firewall status with

sudo systemctl status firewalld

Also, if hosts are connected via wifi, multicast-isolation may be relevant perhaps…
https://wiki.archlinux.org/index.php/ReadyMedia#Server_not_visible_on_Wireless_behind_a_router

On the machine running minidlna check the following:

List services:

erlangen:~ # firewall-cmd --list-services 
dhcpv6-client http https mdns minidlna plex 
erlangen:~ #

Use vlc and go to Universal Plug’n Play in the left pane. Vlc will display contents of media_dir as configured in file /etc/minidlna.conf

I’m glad I’m not the only one fighting this.
In my case, the pc is connected via wifi only and connection happens not at boot, but after login and providing secrets via Kwallet. Firewall has holes in tcp8200 and udp1900.
I got minidlna showing in the network after I killed it and then restarted it manually. A service stop/start or restart wasn’t enough. Then I got an error message about the network sockets and it started working immediately.
to-do: making it work automatically after wifi is up…

You can configure the connection to store the network password in a file unencrypted (instead of encrypted in kwallet). This is not as dangerous as it might sound, because only root can read that file.

Once you have done that, and checked that it is working (you are connected without kwallet prompt, and perhaps a bit sooner), you can then consider setting the connection to be shared with all users (a system connection). With that change, it should connect on boot instead of waiting for login.