Moode Audio Player for Raspberry Pi

Ok it is picking up an ip from cold boot.
However, the second part of the boot problem remains,... the playback page is unpopulated . If I browse for a radio station and select play the page returns fully populated but if I then refresh it it comes back unpopulated again. Tried clearing browser cache.

I had this kind of problem intermittently with Moode 2.7 when using wifi at some distance from the router. It was solved by adding a range extender. Still working reliably now on 3.0
 
Here is the problem... if your Pi is on 24/7 and/or you reboot then the ip is picked up.
If the Pi is cold booting (leave off and unplugged overnight) then the ip isn't picked up without a reboot, necessitating a keyboard to issue the command.
I've increased the wait from 3 to 6 and will report. :)

Ok it is picking up an ip from cold boot.
However, the second part of the boot problem remains,... the playback page is unpopulated . If I browse for a radio station and select play the page returns fully populated but if I then refresh it it comes back unpopulated again. Tried clearing browser cache.

Here's a weird thing....if I try other browsers I eventually find one that shows the playback page fully. Then if I go back to any of the other problematic browsers they show the page ok too...?

DHCP is the bane of networkers lives, while being the saviour - a double-edged sword.

It's old and a kludge and needs replacing with something more modern, but is still remarkably effective.

You've hit on one of the instances in which it's a pita. If you have to get a fresh lease, it can take a subjective age. And don't even think of getting started on IPV6!

For a newly-turned-on device, the process goes like this:

CLIENT -> DHCPDISCOVER
SERVER -> DHCPOFFER
CLIENT -> DHCPREQUEST
SERVER -> DHCPACK


That is: client looks for any listening dhcp server, if one is found, it replies with an offer of service. The client responds with a 'yes please' and the server then flags the ip as used and acknowledges with a packet containing the IP address.

DHCP leases are given out for a particular length of time. When a client that has a lease that is still within time restarts, it broadcasts a DHCPRequest message instead of a DHCPDiscover message.

The DHCPRequest message contains a request for the previously assigned IP address by way of its MAC address.

If the requested MAC is still in the table and the IP address can be used by the client, the DHCP server responds with a DHCPAck message.

If the IP address cannot be used by the client because it is no longer valid, is now used by another client, or is invalid because the client has been physically moved to a different subnet, the DHCP server responds with a DHCPNak message. If this occurs, the client restarts the lease process.

There are two ways you can make things easier - increase your lease time to 8 days or so (done at your router/DHCP server) or give your Moode player a fixed IP address, along with setting a range or ip addresses aside at your DHCP server for fixed devices.

'In the trade', the second is always the best option for a device that is serving a function, rather than a general-purpose client. For a few reasons, not least of which is faster boot up, better documentation of your network, easier access (you always know your servers address) and in the case of using android clients, you can add a table entry so you can refer to the player by name, rather than by IP address.

Different strokes and all that, but for home networking I always leave the bottom 50 addresses for functions and mentally compartmentalise those into sub function - networking-specific devices in the first ten, printers, NAS, SAN in the next ten and 'other' servers (including Moode) in the next 30. That still leaves you 205 DHCP addresses for clients. Most homes don't use more than twenty, in my experience, although right now I have an inordinate amount of leases, due to a ton of IoT gear I'm building.

Usually router manufacturers default to using 192.168.0.1 or 192.168.1.1 and unless you have a pressing need (paranoia, integration issues, existing infrastructure), it's usually best to leave it at the factory default and build from there.

Even with five or so Moode devices like I've currently got installed, it's really no chore to define a fixed IP address for each player and much easier when it comes to maintenance.
 
Last edited:
I had this kind of problem intermittently with Moode 2.7 when using wifi at some distance from the router. It was solved by adding a range extender. Still working reliably now on 3.0

WiFi range extenders, especially ones using WDS, are fraught with problems - not least of which is a halving (or worse) of your bandwidth.

Using powerline network extenders is by far a better option, even if you stick a wifi AP at the other end.

Of course it does require that your mains rings are in phase and are serving the right plug outlet, but that can be overcome by cheating :)

DHCP hates dealing with disparate networks on different subsets. It will do it, but it takes even longer than normal.
 
Last edited:
While on the subject of DHCP/DNS, can someone with an Android phone do a test?

'Forget' your current home Wifi connection, then reconnect and select 'advanced' then choose 'static' instead of 'DHCP'

In your static setting pick a free IP address, a mask of 255.255.255.0 and your router as the Gateway and DNS. If there are more than one option for DNS, put the same (router) address in both.

Connect to your wifi

Then, try and navigate to moode.local and tell me whether it works, or if you get an error, what that error is.


While I don't have an Android device, I do have a Chromecast which uses ChromeOS (a port of Android OS) and has the same limitation of having fixed DNS server entries to Google's DNS servers - 8.8.8.8, 8.8.4.4, 208.67.222.222 and 209.244.0.3

Because we are in the third world and don't have any english-language TV, we use a 'smart DNS' to access 'home' TV via our NZ satellite subscription, NZ local fta broadcasts, Netflix, etc. but in order to do this, you need to fool the Chromecast into using our smart DNS settings, rather than its built-in DNS.

To do this you simply (gurp!) add static route entries that point any request to the Google servers to your own DNS - this also works to resolve .local addresses - in theory.

Find your static route entry on your router's advanced settings section and add each Google DNS server as follows

destination server: googleserverIP Gateway:your router's IP address mask:255.255.255.255

0IcH1vtgd01drs8EG1sY3yEZ2ZE_B9WJQfNyxz0vOUR95y8v32U0bTpImwpVx-2gEO3WGa7PqkA5fQ1BTg0zyyPMcIy1o_thLugoGK1crFiUUBl9P9l6SiUSo7fFEyESZVgzQpDBzPSA_b1GSfWVve-ArEgrqUjWccON-elL-xortIjwscGoxDaj-TA0DOvBzPtZHg-B3rOLiV_rXnB6LnxKFm2mwZG2x8NuNRtQs-y5pZ080WEZd1H94ZW6x_KMgk9pQPBHj45P8GuG_iknxHOhDvG9gmVZmq86LAELfWDoZp990fsukvqs4bWZzH_qJ4T-s9xY3fOYuY8HyeV-HmMoqRi30_IbRRLYisIlKRvmBQYxxWGj-_3JW86jLUaJ0KGyOtZ81ow_Ix6eV1X55ewTBX_NuD6P-GqTZtd0emydvHTndfxSguJCXDTiCLOuvP41sro41WwT_zIxusBIwTdaGpAW_G0r5cZtytgU6P6dG_q3GMpZ434xOy7iJ6_Z87VTzC7Yh0SuBzs3OtUAsfBTDrT_3h2HjwJ1GWezzCr2ME_WawEZbUuK6G9FRKy-9gPWXnfQnaWgMqG9ZfFwPjS8B2GuNEbY3lKvIz95nUAEbO3m=w1015-h282-no


brexDpAuzAre3vRTaEYkF6_dN_ePLr60W6GQNDUF3OHbPkgXr2SIjyBGYidOx9We0fRxtXCfVWgsWob--b9FtwDO_tJvjwxAuTvM45iiyfaGtv0upjdVNpldHQr3saVK9XFItCmQjW9d6_w82LzzWzxHAUUnaT9Lk0YmY-PNyy77o0G9pRgBA_X5NZkw5Ae9HFt7P_Bz6BkYjOaOfKp_UIQPcAWEuSSyRPJU6wXme2vRQTjm0Yrm6EsO52HAMQ_rz9QrgVSpoHhWqNRWBixQ81xB7pfuvHehdwpYFszBrhw99m34IGakKiveGC2DBFrSWvPBbOiCaSVjXG5_DijAWgN4-CWWAHjFcYoPIZwK5Wh3S-BQt_0JifjNTiBzpDbDdDGNxiFZieNoxBMRkoje-Ig0I2P0O-CNEes7XAqwvrjnTXmbENm_XEXXx8wvGdOY2r_-sCNHo-5h3vUOLYY4-pSj3dierA-gxMEQ8RtDOI-35bkt4dJwkm7dr_lyd2JYOX78ckQUKGj02vHspGERHrwdA0HEdqNkYXQabaK7YrGS3JBdCKNw-SLVhUeJ9bIJUuY8a1UuUv9ePrb41t4Zx0nzEZ3NnwuxoHpiNxZ8MoGSR60P=w554-h226-no


If someone wants to try adding these static entries and testing their android phone, please let me know your results.

You only need to do one or the other - either static entry on your android device or static route on your router. If you are comfortable changing your router, that way is the least invasive as any android phone/tablet will work and it doesn't require you to change anything on your phone.
 
Last edited:
DHCP is the bane of networkers lives, while being the saviour - a double-edged sword.<snip>.

Thanks for the info...makes perfect sense...and I, being a bear of very little brain :), managed to 'rooster' up (substitute here as you may see fit :eek:) it completely.
Followed these instructions for setting a static address ....
Reduce or Eliminate Inconvenient DHCP Address Changes
How do I configure my 7800 series router to assign a static IP to a computer via DHCP? - Powered by Kayako Help Desk Software
Finding the MAC Address of a Raspberry Pi
and was able to configure the Pi as 192.168.1.201 making it totally unreachable no matter what....:D.. no ssh, no web interface, but I did have a keyboard plugged in...;) and could shutdown, reboot etc yadayada no joy.
Unfortunately as hdmi output is null once booted I could not resolve the ip problem by resetting to dhcp..
(Tim..hdmi off should be opt out not default !!!!)
Removed card and tried to edit interfaces on Ubuntu but no luck so reamed the b*****d out and reinstalled...

Re-configured and now adding files and web-radios....and simply went to router and made leases 8 days !!.. Done... :D:D
Thanks for the learning...(even if I know not what I failed with..:eek:)

Any enlightenment as to how to set static addresses...walkthrough..would be appreciated.
 
Last edited:
Thanks for the info...makes perfect sense...and I, being a bear of very little brain :), managed to 'rooster' up (substitute here as you may see fit :eek:) it completely.
Followed these instructions for setting a static address ....
Reduce or Eliminate Inconvenient DHCP Address Changes
How do I configure my 7800 series router to assign a static IP to a computer via DHCP? - Powered by Kayako Help Desk Software
Finding the MAC Address of a Raspberry Pi
and was able to configure the Pi as 192.168.1.201 making it totally unreachable no matter what....:D.. no ssh, no web interface, but I did have a keyboard plugged in...;) and could shutdown, reboot etc yadayada no joy.
Unfortunately as hdmi output is null once booted I could not resolve the ip problem by resetting to dhcp..
(Tim..hdmi off should be opt out not default !!!!)
Removed card and tried to edit interfaces on Ubuntu but no luck so reamed the b*****d out and reinstalled...

Re-configured and now adding files and web-radios....and simply went to router and made leases 8 days !!.. Done... :D:D
Thanks for the learning...(even if I know not what I failed with..:eek:)

Any enlightenment as to how to set static addresses...walkthrough..would be appreciated.

Hi Bob,

I checked the 3.0 image and HDMI defaults to ON.

-Tim