Moode Audio Player for Raspberry Pi

Thanks Kent, I was busy today as long trip abroad from tomorrow. I still have to try Volumio on BBB. I am not (yet (;-) familiar with Linux Kernels, what could change from one to the other ?

BR
Jean-Louis

Hi Jean-Louis,

All the device drivers are in Linux kernel including USB audio driver and all the I2S audio device drivers. These drivers can undergo dramatic change as a result of bug fix or enhancement.

-Tim
 
Hi Kent
Thx for your help and info......
The usd.ids has older xmos products looking like this:
20B1 XMOS Ltd
20B1 10AD XMOS Ltd XUSB Loader
20B1 F7D1 XMOS Ltd XTAG2 - JTAG Adapter

My windows "lsusb.exe" says....
VendorID:20b1 Product Id: 3086 "XMOS Usb Audio" "Singxer" "USB Audio 2.0 (X1).

Tried to ad a line with same syntax in usb.ids like 3086 USB Audio 2.0 (X1) -----newbie atempt!
But of course this gives no sound....

The best baek47

Sorry, I've been preoccupied with a local volunteer effort. Just getting back to fun and games with audio players.

I'm afraid I may have misdirected you a bit with my discussion of the usb.ids file. It is consulted only after a USB device is enumerated by the system (I called it "detected" but "enumerated" is the USB term).

Based on the output from your Windows app, I would expect that, when you plug your "XMOS USB Audio" device into your RPi, you see a new line in the lsusb output resembling

Bus 001 Device 004: ID 20b1:3086

As I understand your earlier post, you don't. This means the device hasn't been enumerated. If it had been, then a core routine in lsusb would have looked up the VendorID/ProductID in usb.ids and added the text description it found, if any.

I don't have any devices at hand that I can use to test the following hypothesis but it seems to be the prevailing wisdom on the RPi forums:

If there are errors with enumeration, then there are a few usual suspects:
Power
The Raspberry Pi's USB ports cannot provide enough current for high-power 500mA devices. You should use a good-quality powered hub when using these devices: some devices may advertise that they use lower power than they actually do, especially things like wireless LAN dongles and USB HDDs. Also, some hub power supplies advertise that they give out much more power than they actually can. Be sure to check your USB device with an alternative source of power: if you continue to receive the same result, you can rule power out as a cause of the issue.

Number of hubs
There is a limit to the number of cascaded hubs you can use with the Raspberry Pi. If your device refuses to work when used with a multi-port hub, then use lsusb -t to display a "tree" of which devices physically connect to what. There is always at least 1 hub in a model B: the ethernet chip is actually a 3-port hub and a USB ethernet device.

This advice was written almost three years ago, so details may vary with more recent versions of the RPi (for the B+, 2B, and 3B models I believe the total draw from the four USB ports is limited to 1.2A), but the general wisdom still is that the RPi's USB ports don't deal with high-current USB devices as well as most PC's USB ports do.

Have you tried using a "good-quality powered hub" between your RPi and your USB DAC as recommended in the above quote?

Regards,
Kent
 
Hi,

The next update is nearing completion and will include the wonderful Crossfeed DSP plugin and Buddha Radio :)

-Tim
 

Attachments

  • moode-r26-crossfeed.png
    moode-r26-crossfeed.png
    178.9 KB · Views: 221
  • Buddah Radio.png
    Buddah Radio.png
    37 KB · Views: 213
Hi,

The next update is nearing completion and will include the wonderful Crossfeed DSP plugin and Buddha Radio :)

-Tim

Way cool. I remember trying to replicate Bauer's circuit when I was in college 50 years ago. My breadboard looked like heck but I convinced myself it made a difference with my Koss headphones. Lost it long ago. Can't wait to try digital crossfeed.

Regards,
Kent
 
For posterity, I've just done a full system and kernel upgrade on 2.6 (with update feature installed) without any fuss... Bumps the kernel to 4.4.13 as of today...

------

sudo su

apt-get update && apt-get dist-upgrade -y

(*two or three php packages prompted to update the default config or keep as is, select keep as is <or words to those effects> )

apt-get install libraspberrypi-bin libraspberrypi-dev libraspberrypi-doc libraspberrypi0 raspberrypi-bootloader

reboot

------

sudo su

rpi-update

reboot

------

Ltf
 
Oh and I've appended: "ipv6.disable=1" to /boot/cmdline.txt to turn IPV6 off....

My setup is that the PI is wired via Ethernet via a switch into my router... This is permanent but today I added a wireless dongle and had a play with with the access point feature provided via hostapd...

However for me personally I will set something up with iptables or create a bridge so that when my phone connects to the moode access point directly (seem to get less audio blips this way however my router is congested with wireless clients) I can also access the Internet connection from eth0

Just an idiosyncratic thing with my setup but if anyone cares I'll post instructions when I've tested it

Ltf
 
This guy:

https://www.raspberrypi.org/forums/memberlist.php?mode=viewprofile&u=10221

Regularly compiles kernel modules for wifi chipsets not in the kernel... See if he has a recent one..

Also I don't have the link but he distributes an all in one script which is invaluable

LTF



Guys,
One of my players has usb wifi based on Media Tek MT7601. As I've already found, there's no working driver for newest kernels yet. Are you aware of any custom made driver? I think it's time to switch to different wifi :)


Marek
(via Tapatalk)
 
I was banging my head for two days trying to fix some custom init.d stuff that wasn't working... :headbash:
tons of log warnings, fighting with permissions and groups and users...

wondering why the .conf settings weren't loaded? whyy?

Then I realized I had totally forgot that this runs on systemd... you should have seen the facepalm :D

At the end it was a 5 min job ahhaha

Sometimes I just forget the raspberry is a full PC :)
 
Hi,

If this is Pi-3 and Ethernet connection then Airplay discovery won't be routed out eth0 interface for some reason, probably something to do with mDNS (avahi).

Workaround is to disable the integrated BT/WiFi adapter.

1) ssh pi@moode (pwd=raspberry)
2) sudo nano /etc/modprobe.d/disable_rpi3_wifi_bt.conf
3) paste the lines below into the blank file

# wifi
blacklist brcmfmac
blacklist brcmutil
# bt
blacklist btbcm
blacklist hci_uart

4) Ctrl-x y <return> to save the file
5) reboot

-Tim

Tim

I am not sure what that means. No I am not using cable connection ATM but Pi3's own builtin WiFi. Airplay was working prior to the updater setup I think.

If I use cable instead of WiFi will Airplay work then?

Excuse the dimness

Thanks
 
For posterity, I've just done a full system and kernel upgrade on 2.6 (with update feature installed) without any fuss... Bumps the kernel to 4.4.13 as of today...

Ltf

Thanks for this confirmation, Ltf. In the past, dist-upgrade has so disrupted some custom systems I've worked with that I usually wait for a new release and clean-install. Annoying and tme consuming to say the least.

Regards,
Kent
.
 
This guy:

https://www.raspberrypi.org/forums/memberlist.php?mode=viewprofile&u=10221

Regularly compiles kernel modules for wifi chipsets not in the kernel... See if he has a recent one..

Also I don't have the link but he distributes an all in one script which is invaluable

LTF

Sctoll down this post to "Also I have made a script":
https://ww.raspberrypi.org/forums/viewtopic.php?t=62371

Caveat: I haven't tried the script, but now that LTF has brought it to my attention, I'll put it to use on an unsupported wifi adapter I have as a testcase on Monday.

Regards,
Kent
 
Tim

I am not sure what that means. No I am not using cable connection ATM but Pi3's own builtin WiFi. Airplay was working prior to the updater setup I think.

If I use cable instead of WiFi will Airplay work then?

Excuse the dimness

Thanks

Hi,

I have couple Pi-3's and no issues with Airplay using built in WiFi adapter. Try rebooting your Airplay sender (Mac, Windows, iPhone, etc).

-Tim
 
Hi Tim, I'm noticing the following bug in 2.6 (update release): when I open the web interface on safari iOS, button images don't show up, but in Chrome iOS the interface loads just fine. See attachments.

EDIT: NEVERMIND. The issue was caused by an advertising blocker that I had installed (purify). Interface loads just fine after whitelisting moode.local.
 

Attachments

  • IMG_4505.PNG
    IMG_4505.PNG
    102.7 KB · Views: 213
  • IMG_4504.PNG
    IMG_4504.PNG
    94.2 KB · Views: 206
Last edited:
Thanks for this confirmation, Ltf. In the past, dist-upgrade has so disrupted some custom systems I've worked with that I usually wait for a new release and clean-install. Annoying and tme consuming to say the least.

Regards,
Kent
.

Hi Kent,

Dist upgrade is RISKY. Same with disabling parts of the network stack for example IPv6 which is used by IOS on iPhones to make link-local Airplay connections. Kernel update using rpi-update is less risky since newer kernel can be replaced with earlier version.

moodeOS 1.0 is based on J-Lite 2016-03-18 release with 4.4.8 kernel and not the newer 2016-05-10 or 05-27 releases because several components in these releases including Samba have bugs that affect Moode. The newer J-Lite releases also perform automatic storage expansion to max size of SD card at boot. This conflicts with making the small Moode release images. Getting rid of the auto-expand feature from the stock J-Lite image requires "partition surgery".

At some point, I'll generate a fresh moodeOS build from a newer Raspbian-Lite release but only when there is some benefit for example when Raspbian Stretch is released it will include ALSA .29 (native DSD support), FFMpeg 3.0 and hopefully an updated version of USB audio driver that has better support for UAC2.

Remember to back up the SD Card :)

-Tim
 
Hi Tim, I'm noticing the following bug in 2.6 (update release): when I open the web interface on safari iOS, button images don't show up, but in Chrome iOS the interface loads just fine. See attachments.

EDIT: NEVERMIND. The issue was caused by an advertising blocker that I had installed (purify). Interface loads just fine after whitelisting moode.local.

Hi,

In Safari if u save Moode as a Home screen app, the UI will look much better :)

-Tim
 
Of course tim :)

I can't help myself tinkering with things but you're exactly right for a regular end user do not follow my advice, I'm not particularly qualified and you'll probably break it in the process :)

LTF


Hi Kent,

Dist upgrade is RISKY. Same with disabling parts of the network stack for example IPv6 which is used by IOS on iPhones to make link-local Airplay connections. Kernel update using rpi-update is less risky since newer kernel can be replaced with earlier version.

moodeOS 1.0 is based on J-Lite 2016-03-18 release with 4.4.8 kernel and not the newer 2016-05-10 or 05-27 releases because several components in these releases including Samba have bugs that affect Moode. The newer J-Lite releases also perform automatic storage expansion to max size of SD card at boot. This conflicts with making the small Moode release images. Getting rid of the auto-expand feature from the stock J-Lite image requires "partition surgery".

At some point, I'll generate a fresh moodeOS build from a newer Raspbian-Lite release but only when there is some benefit for example when Raspbian Stretch is released it will include ALSA .29 (native DSD support), FFMpeg 3.0 and hopefully an updated version of USB audio driver that has better support for UAC2.

Remember to back up the SD Card :)

-Tim