Raspberry Pi 3b+ Clicking on USB Audio Devices

@duncan, I appreciate your testing efforts and thanks for opening my eyes about the Pi 3B+ problems. I have a Pi 3B+ but it is running Pi-hole and Ubiquiti controller, so I can’t test it for audio. I was thinking about getting one or two more 3B+ Pis to use as Roon endpoints but now I am thinking maybe I should get 3B instead, although I’d prefer the 3B+ because of its 5GHz wifi capability in case I decide to use it in the future.

I did some testing on my 3B+ without audio. Mine is connected to a Linksys managed switch. When I checked port statistics I saw a bunch of errored and dropped packets on this port. I had never seen those on my network before. The port was gigabit with auto negotiation. Then I tried to set it to 100M full duplex. I checked the Pi and it connected 100M half duplex even after reboot, and the flow control on the Pi was disabled while enabled on the switch. Maybe that’s why you didn’t see the difference when you forced the port to 100M – the Pi has its own mind. I found that if I change “Auto advertisement” from “Max capability” to “100 Full Duplex” the Pi behaves and connects at 100M full duplex with flow control. I don’t know if your switch has similar options. And I just found an explanation to this: https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=208512&p=1297857#p1294761 “things should default to 100/Half if autonegotiate is turned off”.

By the way, you can see the information about the Pi connection using this command ‘ethtool eth0’ but you need to install the ethtool first: ‘sudo apt-get install ethtool’. You can see the network statistics using this command: ‘ifconfig’.

I think I found the ultimate solution in the link you provided: https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=208512&p=1297857#p1294790 “Simply insert the following into /etc/rc.local: ‘/sbin/ethtool -s eth0 speed 100 duplex full autoneg on’". After reboot this will limit the network interface to 100M full duplex with auto negotiation enabled. I tried it and my Pi connects now at 100M full duplex and flow control enabled. I still see dropped RX packets though [EDIT2: After some investigation I found out that seeing some dropped RX packets is normal for various reasons]. I wonder if you want to try this without your extra 10/100 switch and see if it works for audio. I think it should.

EDIT: Found that disabling EEE (Energy Efficient Ethernet) further helps with network problems: add ‘dtparam=eee=off’ to /boot/config.txt https://forum.openmediavault.org/index.php/Thread/18991-New-approach-for-Raspberry-Pi-OMV-images/?postID=171929#post171929 Seems like the Pi 3B+ is a mess.