UPnP music stops early and skips to next track after ~3 minutes

Hello,

Since my RouterOS upgrade from 7.0.5 to 7.3.1 on my RB5009, my music players can’t play an audio track in it’s full length.
When a track is longer then 3 minutes, the track ends early and skips to the next track. This happens every ~3 minutes.

I’m using MoOde Audio music players on RaspberryPi’s as Digital Media Renderers (DMRs), A Synology 1515+ NAS as a Digital Media Server (DMS) and BubbleDS as a Digital Media Controller (DMC) on Andorid phones and tablets. I only play my local music files (flac’s) form the NAS.

I never had this when using RouterOS 7.0.5.

Any idea what might be the problem?

I’m considering a downgrade to 7.0.5, but I can’t find the package on the Mikrotik downloads page.
I found somthing on a German Mikrotik site: routeros-7.0beta5-arm.npk. Is this the correct package for downgrading to 7.0.5?

Best regards, Mike

7.0beta5 is 7.0beta5, not 7.0.5

So where can I download 7.0.5? I can’t find it on the Mikrotik website.

Furthermore:

  • My network is wired all the way (1Gbps)
  • The problem is not there just after a refresh/clean install of the router. It starts ~12 hours later

Do you have an IGMP querier enabled on this net? If so, what’s the timeout?

No, I don’t. I see nothing under Routing → IGMP Proxy → Interface and also nothing under Routing → IGMP Proxy → MFC.

I’m not talking about the IGMP Proxy feature, just the IGMP querier that complements IGMP snooping. They’re related, but separate.

It’s part of the bridge configuration. In WinBox, it’s under Bridge → IGMP Snooping → Multicast Querier. In the CLI, “/interface bridge print” will give the info I’m after.

This is wat I get:

[beheerder@MikroTik] > /interface bridge print
Flags: X - disabled, R - running 
 0 R name="filiaal-bridge" mtu=auto actual-mtu=1500 l2mtu=1514 arp=enabled arp-timeout=auto mac-address=DC:2C:6E:45:DC:08 protocol-mode=rstp fast-forward=yes 
     igmp-snooping=no auto-mac=yes ageing-time=5m priority=0x8000 max-message-age=20s forward-delay=15s transmit-hold-count=6 vlan-filtering=no dhcp-snooping=no

Also, the problem is most severe in the morning. During the day, the skips disappear and during the evening they are gone. My server (DMS) is restarted every night.

So no querier, either. Ah, well, it was an idea.

I must say, I was mislead by your post headline and the bolded text in your first message claiming it happens “every ~3 minutes”. That’s precisely what an IGMP querier does: cuts off data streams at fixed time limits, when no one steps up to claim they’re still wanted.

Now you say the cutoff time varies. How can you expect people to give useful answers when you don’t describe the symptom properly? Post #8 isn’t the time to be revealing this detail.

Since the problem is correlated with the restart period, what happens if you leave this DMS thingy running overnight? Does the good performance from the night before then continue into the next morning?

Any reason you have Protocol Mode set to RSTP? Otherwise you might want to give none a try.

As far as I know, the bridge was created that way with protocol RSTP. I was not aware of this setting before printing the bridge settings.

I’m still in the process of finding patterns in this odd behavior. Today in Wireshark, I saw some suspicious packets from 2 devices (a Solar Power Inverter and a Thermostat) around the skips.
At the end of this week, I will further investigate the traffic on my LAN with Wireshark with precise timings of the skips. Then I will get back to you with some results.

Thanks so far…

Yesterday, I downgraded my RB5009 from 7.3.1 to 7.1.0. So far I had not one skipping problem. :smiley:
Tried on 2 different streamers: both working perfectly again.

For 7.1.0, I restored the same configuration as used for 7.3.1.
So what causes the skips on 7.3.1?

[beheerder@MikroTik] > /interface bridge print
Flags: X - disabled, R - running 
 0 R name="filiaal-bridge" mtu=auto actual-mtu=1500 l2mtu=1514 arp=enabled arp-timeout=auto mac-address=DC:2C:6E:45:DC:08 protocol-mode=rstp fast-forward=yes 
     igmp-snooping=no auto-mac=yes ageing-time=5m priority=0x8000 max-message-age=20s forward-delay=15s transmit-hold-count=6 vlan-filtering=no dhcp-snooping=no

7.1.0 to 7.3.1 spans 6 months of releases.

Can you at least do us the favor of bisecting among the stable releases between? That will give us a single ChangeLog to scan, which may provide an answer.

By the way, I take it that turning off RSTP didn’t help? I didn’t expect that it would.

Try with

/interface/ethernet/switch/set [find] cpu-flow-control=no

I remember they “fixed” something on the switch between those releases.
Not sure if it helps with your case, but it does in others.

Hello Znevna,

No luck: i get this message:

[beheerder@MikroTik] > /interface/ethernet/switch/set [find] cpu-flow-control=no
failure: cpu flow control not supported

By the way: the problem is back using routerOS 7.1.0 :frowning:
It started skipping again 24 hours after my downgrade to 7.1.0.

When I startup 2 streamers with tracks longer then 3 minutes, I see these pattern:

  • Tracks skips to the next track after 3 minutes of playing


  • When streamer 1 is started on 12:00, it skips on ~12:03, ~12:06, ~12:09 etc.


  • When streamer 2 is started on 12:01, it skips on ~12:04, ~12:07, ~12:10 etc.

Maybe this means that the skipping is invoked on the streamers itself.

This is the older ufficially available:
https://download.mikrotik.com/routeros/7.0.9/routeros-7.0.9-arm.npk

Try to bypass RB5009 with one switch for link the devices, if the problem persist, probably they have not any to do with RB…

Also seeing only the “bridge” print, instead of a full export, and a diagram how the devices are connected, is indicative of nothing…

And to say “before it didn’t do this with the xxx version”, I wonder why you updated it if it worked, and how do you make sure it’s the only updated software (and hardware) in the rest of the network…

I enabled debug logging on the Moode Audio Streamers: here you see some logging that is repeated every ~3 minutes:

20220701 143556 engine-mpd: Idle timeout event=(changed: player)
20220701 143556 engine-mpd: Get new status
20220701 143556 engine-mpd: Generating enhanced metadata

20220701 143559 enhanceMetadata(): coverurl: (http://192.168.0.3:50002/transcoder/jpegtnscaler.cgi/ebdart_orig/2719788.jpg)
20220701 143559 enhanceMetadata(): UPnP url
20220701 143559 engine-mpd: Metadata returned to client: Size=(34)
20220701 143559 engine-mpd: Get initial status
20220701 143559 engine-mpd: UI state=(play), MPD state=(play)
20220701 143559 engine-mpd: Wait for idle timeout


20220701 143911 engine-mpd: Idle timeout event=(changed: player)
20220701 143911 engine-mpd: Get new status
20220701 143911 engine-mpd: Generating enhanced metadata

20220701 143914 enhanceMetadata(): coverurl: (http://192.168.0.3:50002/transcoder/jpegtnscaler.cgi/ebdart_orig/2719782.jpg)
20220701 143914 enhanceMetadata(): UPnP url
20220701 143914 engine-mpd: Metadata returned to client: Size=(34)
20220701 143914 engine-mpd: Get initial status
20220701 143914 engine-mpd: UI state=(play), MPD state=(play)
20220701 143914 engine-mpd: Wait for idle timeout

@rextended

Why update when it worked? That’s obvious (and you know that): new versions ideally should work better :slight_smile: I’m a developer and I know that’s not always the case.

I switched to another ISP (KPN Fiber 1Gbps Up/Down) and upgraded RouterOS. Then this problem started.

First I thought it was the ISP, so I switched back to my old ISP (Ziggo, COAX) but the problem remained.
Then I think it’s obvious that the upgrade might caused the problem, because that’s the only change left.

I will try my old TP-link router and see if the problems remains.

Here my routerOS config. My IP-address is replaced by my.ip.xxx.xxx.


# jul/01/2022 14:05:38 by RouterOS 7.1
# software id = LK6U-MMYI
#
# model = RB5009UG+S+
# serial number = <CENSORED>
/interface bridge
add name=filiaal-bridge
/interface list
add comment=filiaal-conf name=filiaal-interface-list-wan
add comment=filiaal-conf name=filiaal-interface-list-lan
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip pool
add comment=filiaal-conf name=filiaal-pool ranges=192.168.0.100-192.168.0.200
/ip dhcp-server
add address-pool=filiaal-pool interface=filiaal-bridge name=\
    filiaal-dhcp-server
/interface bridge port
add bridge=filiaal-bridge interface=ether2
add bridge=filiaal-bridge interface=ether3
add bridge=filiaal-bridge interface=ether4
add bridge=filiaal-bridge interface=ether5
add bridge=filiaal-bridge interface=ether6
add bridge=filiaal-bridge interface=ether7
add bridge=filiaal-bridge interface=ether8
/interface list member
add comment=filiaal-conf interface=ether1 list=filiaal-interface-list-wan
add comment=filiaal-conf interface=filiaal-bridge list=\
    filiaal-interface-list-lan
/ip address
add address=192.168.0.1/24 interface=filiaal-bridge network=192.168.0.0
/ip dhcp-client
add interface=ether1 use-peer-dns=no use-peer-ntp=no
/ip dhcp-server lease
add address=192.168.0.2 comment=ap-c3200 mac-address=84:16:F9:CB:B4:24 \
    server=filiaal-dhcp-server
add address=192.168.0.3 comment=synology-1515 mac-address=00:11:32:39:A6:18 \
    server=filiaal-dhcp-server
add address=192.168.0.4 comment=asrock mac-address=D0:50:99:A6:B6:C4 server=\
    filiaal-dhcp-server
add address=192.168.0.5 comment=video-server mac-address=E4:5F:01:41:7F:3A \
    server=filiaal-dhcp-server
add address=192.168.0.6 comment=filiaal-t14 mac-address=8C:8C:AA:A2:41:4F \
    server=filiaal-dhcp-server
add address=192.168.0.7 comment=filiaal-t14-wifi mac-address=\
    18:65:71:F4:2C:AC server=filiaal-dhcp-server
add address=192.168.0.8 comment=filiaal-t27hv mac-address=B4:0E:DE:53:50:6B \
    server=filiaal-dhcp-server
add address=192.168.0.9 comment=kinetiek-t14 mac-address=8C:8C:AA:EA:FF:BB \
    server=filiaal-dhcp-server
add address=192.168.0.10 comment=kinetiek-t14-wifi mac-address=\
    E0:2B:E9:BB:FB:6B server=filiaal-dhcp-server
add address=192.168.0.11 comment=kinetiek-t27hv mac-address=18:65:71:F4:2C:2A \
    server=filiaal-dhcp-server
add address=192.168.0.12 comment=galaxy-tab-s5e mac-address=A2:95:6A:B4:DF:8E \
    server=filiaal-dhcp-server
add address=192.168.0.13 comment=galaxy-tab-s2 mac-address=E0:AA:96:74:C3:BA \
    server=filiaal-dhcp-server
add address=192.168.0.14 comment=galaxy-tab-a10 mac-address=D4:E6:B7:3E:C0:59 \
    server=filiaal-dhcp-server
add address=192.168.0.15 comment=galaxy-a52s mac-address=8E:78:06:6C:0A:E5 \
    server=filiaal-dhcp-server
add address=192.168.0.16 comment=galaxy-a5 mac-address=1C:23:2C:36:F6:27 \
    server=filiaal-dhcp-server
add address=192.168.0.17 comment=iphone-mike mac-address=58:1F:AA:31:FC:64 \
    server=filiaal-dhcp-server
add address=192.168.0.20 comment=raspi-huiskamer mac-address=\
    B8:27:EB:FA:0A:0A server=filiaal-dhcp-server
add address=192.168.0.21 comment=raspi-kinetiek-wire mac-address=\
    B8:27:EB:7E:F1:5A server=filiaal-dhcp-server
add address=192.168.0.22 comment=raspi-filiaal-wire mac-address=\
    B8:27:EB:65:92:ED server=filiaal-dhcp-server
add address=192.168.0.23 comment=raspi-slaap-wire mac-address=\
    B8:27:EB:AE:10:2C server=filiaal-dhcp-server
add address=192.168.0.24 comment=raspi-zolder-wire mac-address=\
    B8:27:EB:1F:7F:A7 server=filiaal-dhcp-server
add address=192.168.0.25 comment=raspi-keuken-wire mac-address=\
    B8:27:EB:E3:5A:00 server=filiaal-dhcp-server
add address=192.168.0.26 comment=raspi-p1-mon mac-address=B8:27:EB:00:E4:A9 \
    server=filiaal-dhcp-server
add address=192.168.0.30 comment=odroid-n2+ mac-address=00:1E:06:42:75:C1 \
    server=filiaal-dhcp-server
add address=192.168.0.40 comment=netgear-gs116ev2 mac-address=\
    3C:37:86:1B:42:3A server=filiaal-dhcp-server
add address=192.168.0.50 comment=sunny-boy mac-address=00:40:AD:AE:11:2C \
    server=filiaal-dhcp-server
add address=192.168.0.51 comment=thermo-smart mac-address=00:1E:C0:3F:A5:FB \
    server=filiaal-dhcp-server
add address=192.168.0.60 comment=hp-x476dw mac-address=58:20:B1:DF:58:18 \
    server=filiaal-dhcp-server
/ip dhcp-server network
add address=192.168.0.0/24 dns-server=192.168.0.1,8.8.8.8 gateway=192.168.0.1
/ip dns
set allow-remote-requests=yes servers=1.1.1.1,1.0.0.1
/ip firewall filter
add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment=\
    "defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
    in-interface-list=!filiaal-interface-list-lan
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
    ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
    ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
    connection-state=established,related hw-offload=yes
add action=accept chain=forward comment=\
    "defconf: accept established,related, untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=drop chain=forward comment=\
    "defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
    connection-state=new in-interface-list=filiaal-interface-list-wan
add action=drop chain=input comment=\
    "filiaal-conf: block DNS UDP-requests from WAN" connection-state=new \
    dst-port=53 in-interface-list=filiaal-interface-list-lan protocol=udp
add action=drop chain=input comment=\
    "filiaal-conf: block DNS TCP-requests from WAN" connection-state=new \
    dst-port=53 in-interface-list=filiaal-interface-list-lan protocol=tcp
/ip firewall nat
add action=masquerade chain=srcnat comment="filiaal-conf: LAN-2-WAN" \
    ipsec-policy=out,none out-interface-list=filiaal-interface-list-wan
add action=masquerade chain=srcnat comment=\
    "filiaal-conf: hairpin for LAN-clients to LAN-servcies" dst-address=\
    192.168.0.3 out-interface-list=filiaal-interface-list-lan protocol=tcp \
    src-address=192.168.0.0/24
add action=dst-nat chain=dstnat comment=syno-ftp dst-address=my.ip.xxx.xxx \
    dst-port=21 protocol=tcp to-addresses=192.168.0.3 to-ports=21
add action=dst-nat chain=dstnat comment=syno-smtp dst-address=my.ip.xxx.xxx \
    dst-port=25 protocol=tcp to-addresses=192.168.0.3 to-ports=25
add action=dst-nat chain=dstnat comment=syno-http dst-address=my.ip.xxx.xxx \
    dst-port=80 protocol=tcp to-addresses=192.168.0.3 to-ports=80
add action=dst-nat chain=dstnat comment=syno-http-ssl dst-address=\
    my.ip.xxx.xxx dst-port=443 protocol=tcp to-addresses=192.168.0.3 to-ports=\
    443
add action=dst-nat chain=dstnat comment=syno-smtp-tls dst-address=\
    my.ip.xxx.xxx dst-port=587 protocol=tcp to-addresses=192.168.0.3 to-ports=\
    587
add action=dst-nat chain=dstnat comment=syno-imap-ssl dst-address=\
    my.ip.xxx.xxx dst-port=993 protocol=tcp to-addresses=192.168.0.3 to-ports=\
    993
add action=dst-nat chain=dstnat comment=syno-bitwarden dst-address=\
    my.ip.xxx.xxx dst-port=2021 protocol=tcp to-addresses=192.168.0.3 \
    to-ports=2021
add action=dst-nat chain=dstnat comment=syno-audio-ssl dst-address=\
    my.ip.xxx.xxx dst-port=6001 protocol=tcp to-addresses=192.168.0.3 \
    to-ports=6001
add action=dst-nat chain=dstnat comment=syno-file-ssl dst-address=\
    my.ip.xxx.xxx dst-port=7001 protocol=tcp to-addresses=192.168.0.3 \
    to-ports=7001
add action=dst-nat chain=dstnat comment=syno-dwnld-ssl dst-address=\
    my.ip.xxx.xxx dst-port=8001 protocol=tcp to-addresses=192.168.0.3 \
    to-ports=8001
add action=dst-nat chain=dstnat comment=syno-torrent dst-address=my.ip.xxx.xxx \
    dst-port=16881 protocol=tcp to-addresses=192.168.0.3 to-ports=16881
/ip service
set telnet disabled=yes
set ftp disabled=yes
set ssh disabled=yes
set api disabled=yes
set api-ssl disabled=yes
/system clock
set time-zone-name=Europe/Amsterdam
/system ntp client
set enabled=yes
/system ntp client servers
add address=1.nl.pool.ntp.org
add address=2.nl.pool.ntp.org
add address=2.europe.pool.ntp.org
add address=3.europe.pool.ntp.org
/system routerboard settings
set cpu-frequency=auto

ok…
I just start to read and instantly notice this:
the bridge has no admin mac, and no “none” as protocol mode, as already wroten from @erlinden

the DHCP server have the default lease time: 10 min, try to increase that to 1 hour

/ip dhcp-server network
missing netmask=24

this two??? you block your device to use the routerboard dns… despite the comment, block the LAN request, not the WAN…
and you specify /ip dhcp-server network … dns-server=192.168.0.1
these two rules are perfectly useless (also if uselessly block already blocked incoming from WAN) and block your devices
add action=drop chain=input comment=
“filiaal-conf: block DNS UDP-requests from WAN” connection-state=new
dst-port=53 in-interface-list=filiaal-interface-list-lan protocol=udp
add action=drop chain=input comment=
“filiaal-conf: block DNS TCP-requests from WAN” connection-state=new
dst-port=53 in-interface-list=filiaal-interface-list-lan protocol=tcp