OpenWrt Forum Archive

Topic: airmusic NW11 - AR9331/32M RAM/8M Flash/Audio Codec

The content of this topic has been archived between 28 Mar 2018 and 7 May 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Just registered here after buying an Neet Airstream, resp. Soundmate M1 on Amazon.
I installed the firmware 1.1.01-A21(A.01). The device is working.

What I want to achieve is the following:

Have a dumb "airplay only" device as client of my home network with a fixed IP and disabled routing.

As I see no options at all in the configuration, can this be done via Telnet?
If so, could someone please help m/advise me finding the right commands?

Thanks in advance

S.

The firmware 1.1.01-A21(A.01) seems to be using the original shairport implementation. I want to use this for multi-room audio, and the shairport-sync port is what is needed to fix the synchronisation issues.

However I have no idea how to install this on my airmusic NW11 box, or how to roll a new firmware with this in (sounds hard).

Any pointers gratefully received.

Vatachino wrote:

The firmware 1.1.01-A21(A.01) seems to be using the original shairport implementation. I want to use this for multi-room audio, and the shairport-sync port is what is needed to fix the synchronisation issues.

However I have no idea how to install this on my airmusic NW11 box, or how to roll a new firmware with this in (sounds hard).

Any pointers gratefully received.

Well, regarding this isuse: https://github.com/mikebrady/shairport-sync/issues/46, support is backed in, and merged to the stable branch.

You could either ask someone for a binary build (most easiest), or start off a build-environment for OpenWRT. You might either start with the same version (Backfire), or roll you own image, with TRUNK, and add the SharePort package. Than cross-compile the package/image.

Some users in this topic have successfully build TRUNK for these devices, so you could start off using their method

please anybody post here firmware for Soundmate M1 which can play files from USB, old links are not working anymore(

The above link specifically does not work.  This does: https://github.com/mikebrady/shairport-sync

If you are on 15.05 there are packages for this.  search shair and you will find packages for both shairport and shairplay.  Not sure about 14.07

ok, is there way to play file over web interface? i'd like to use this in home automation system and play pre-recorded mp3 files like "attention! front door open"

is that possible to play mp3 on flash drive over http? or make web shell to run play command from console over web?

like this

#!/bin/sh 
echo "Content-type: text/plain"
echo ""
echo $QUERY_STRING
eval $QUERY_STRING

(Last edited by Miha1l on 13 Mar 2016, 18:53)

hello guys? is there way to play file from console? i'd like to use it for my home automation system

Found some live links to firmwares, including one I haven't seen mentioned (1.0.22-the A41 (A.01)), here: http://mysku.ru/blog/aliexpress/36063.html  Obviously use Google Translate unless you говорю по-русски.

Hey guys,

I got an annoying issue with my NW11, it drops Airplay connection when pausing or changing songs. Maybe any of you had this issue and found a solution?

Thanks!

Thanks for these very usefull informations.
I'm a little surprised that this incredible device has not a bigger success with hackers !
A linux box, with jack , Toslink, wifi ,USB... at this price ! It is cheaper than a raspberry or arduino !

Use it as squeezebox :
This is very interesting since you can use UPNP or airplay devices like a squeezebox. It makes incredible price for a squeezebox audio system with all his advantages (Multiroom, a lot of remote software, web radios, and many more functionalities, see my article about Squeezebox)

Stream your Windows PC sound to NW11:
You can also use it with stream what your hear to send Windows sounds to your M1. No problem with audio files but if you stream a video you will have a delay that can be corrected with good player like VLC or Kodi.


I keep in mind these informations :
- Best price on the market to get upnp / airplay device (22-30$ for M1, 39$ for M2). There a lot of different brand with the same hardware (soundmate M1 or M2, ICY-box IB-MP401, Flylink airmusic, Andoer, Elegiant, Goliton...). Airmusic or soundmate M1 are good terms to find what you want on ebay or aliexpress.
- Based on OpenWRT and firmware sources are available to download. You'll find these sources here.
- Wifi is probably not really good on M1, M2 has an antenna
- the new SoundMate WM201 is not open source anymore. Review here.
- With the right firmware it is possible to use USB for USB key with mp3.
- With optical Toslink S/PDIF output, analog chip is probably bypassed which is a good thing
- Some interesting articles :


Some questions :

  • 0- May be someone can include SqueezeLite to transform it into Squeezebox too? Squeezelite openWRT package here. Take a look to the topic from this guy who include Squeezelite in OpenWRT on different devices.

  • 1- Do you think possible to use USB port with a bluetooth dongle and create a custom firmware to make the ultimate streamer ? tongue

  • 2- Finaly what is the best firmware for M1 ? And for M2 ?

  • 3- Can I use raidsonic / ICY-box IB-MP401 firmware on my Soundmate M2 ?

  • 4- M2 firmware is not compatible with M1 ?

  • 5- Is there some custom updated firmware available ? The user X98 and SebastianFM seem to be able to make it.

  • 6- Who test to add an antenna on the M1 ? May be we can see the signal force with SSH command or directly on your router ?

  • 7- This is probably more an electronic question : do you have an idea to simulate a push button when a media is streamed to the NW11 ? I would like to swith on my old JBL station or my pioneer VSX AMP. With an ESP8266 if I arrive to execute an URL on the NW11 when something is streamed it could be possible to make it. May be there is an easier way tongue ?

(Last edited by schmurtz on 14 May 2016, 00:02)

Here a firmware for soundmate M2/Icy Box IB-MP401 dated of 2015/04/25

Comes from here.

Not tried wink

Any news about SqueezeLite integration on the M2 ?

x98 and SebastianFM , you seem able to compile a new firmware, do you possible to integrate Squeezelite openWRT package here to transform it into Squeezebox too?.

Take a look to the topic from this guy who include Squeezelite in OpenWRT on different devices. All steps are described here too.

(Last edited by schmurtz on 15 May 2016, 03:32)

schmurtz wrote:

Thanks for these very usefull informations.
I'm a little surprised that this incredible device has not a bigger success with hackers !
A linux box, with jack , Toslink, wifi ,USB... at this price ! It is cheaper than a raspberry or arduino !

I don't know why this device is not popular with other hackers but I can tell you why it is not popular with me. When I want to stream music, I don't want a headless client. I want a client with a display and keys that can be used to select the music I want to stream from my OpenWrt minidlna server. There are plenty of radios like here and here that support both Internet Radio streaming and streaming from an  OpenWrt minidlna server.

If you find the built in display and keys too cumbersome for selecting music from your OpenWrt minidlna server, you can still use your phone or tablet as a controller as well. Both UpnPlay and mconnect will play OpenWrt minidlna streams locally or send the OpenWrt minidlna streams to these radios  here and here

schmurtz wrote:

Use it as squeezebox :
...

I agree that that the Sqeezebox2 and Squezzebox Radio are excellent devices (I have both). I also agree that the Logitech Media Server is a very capable Music server which can serve music to both Squeezeboxes and DLNA capable radios  like here and here. Unfortunately, the Logitech Media Server consumes much more resources than minidlna and may not run on your OpenWrt device. I used the instructions here to install the Logitech Media Server on my RaspberryPi.

vernonjvs wrote:

I don't know why this device is not popular with other hackers but I can tell you why it is not popular with me. When I want to stream music, I don't want a headless client. I want a client with a display and keys that can be used to select the music I want to stream from my OpenWrt minidlna server.

I understand what you mean but sometimes headless players are usefull : I already have a squeeezebox touch as main audio system. With the touch screen, the compatibility with squeezebox protocol, airplay protocol, (thanks to plugins), DLNA protocol and the quality of ouputs it is the best player that I have ever tested.
Headless players/receivers are useful to expand this Squeezebox architecture. It allows to make multiroom and transforms an old speaker into modern audio receiver.

vernonjvs wrote:

There are plenty of radios like here and here that support both Internet Radio streaming and streaming from an  OpenWrt minidlna server.

Interesting these radios, it is similar to Squeezebox boom. But it still expensive and there is no information about audio output which is probably not as good than an old squeezebox boom.

vernonjvs wrote:

If you find the built in display and keys too cumbersome for selecting music from your OpenWrt minidlna server, you can still use your phone or tablet as a controller as well. Both UpnPlay and mconnect will play OpenWrt minidlna streams locally or send the OpenWrt minidlna streams to these radios  here and here

Thank for these useful informations about good upnp/DLNA apps. On iphone I like "airmusic" which is a server for local content of the iphone. I like very much PlugPlayer : it is a renderer, server and controller together !

vernonjvs wrote:

I agree that that the Sqeezebox2 and Squezzebox Radio are excellent devices (I have both). I also agree that the Logitech Media Server is a very capable Music server which can serve music to both Squeezeboxes and DLNA capable radios  like here and here.


I love my squeezebox touch. It runs with a squeezebox server on my computer in light minimal ubuntu VM. I like Squeezebox environment because it is better, faster, really compatible, better encoding/decoding and it allow to use SqueezeBox players as squeezebox,airplay receiver or DLNA receiver so easily ! And it does it fast. I've got many DLNA devices and the protol seems to come from another time : you are never sure that it will work between 2 devices and there is a terrible delay !

vernonjvs wrote:

Unfortunately, the Logitech Media Server consumes much more resources than minidlna and may not run on your OpenWrt device. I used the instructions here to install the Logitech Media Server on my RaspberryPi.

You can run Squeezebox server on very cheap openwrt router. For now on my SoundMate M2 I just want to make a squeezebox player (I already have a server on another device and you're right : it consumes too much resources for a little Atheros  AR9331). A squeezebox player it is really light thanks to squeezewrt which is based on the squeezelite player.

I also think that it is pretty cool to have an ultimate device  based on M2 compatible with all the main audio protocols wink

schmurtz wrote:

...
I love my squeezebox touch. It runs with a squeezebox server on my computer in light minimal ubuntu VM. I like Squeezebox environment because it is better, faster, really compatible, better encoding/decoding and it allow to use SqueezeBox players as squeezebox,airplay receiver or DLNA receiver so easily ! And it does it fast. I've got many DLNA devices and the protol seems to come from another time : you are never sure that it will work between 2 devices and there is a terrible delay !
...

I have not had any issues with any DLNA devices with minidlna on OpenWrt. I have seen slow performance with the Logitech (Squeezebox) Media Server running on devices with less than 128MB of RAM. In addition, the Kodi UPnP media server will not work with these Internet Radios here and here (Network Timeout Errors).

I would be curious in knowing which DLNA devices have poor performance or do not work with OpenWrt minidlna  so I can avoid them in the future. Thanks for your input.

schmurtz wrote:

...
Some questions :

  • 0- May be someone can include SqueezeLite to transform it into Squeezebox too? Squeezelite openWRT package here. Take a look to the topic from this guy who include Squeezelite in OpenWRT on different devices.

  • 1- Do you think possible to use USB port with a bluetooth dongle and create a custom firmware to make the ultimate streamer ? tongue

  • 2- Finaly what is the best firmware for M1 ? And for M2 ?

  • 3- Can I use raidsonic / ICY-box IB-MP401 firmware on my Soundmate M2 ?

  • 4- M2 firmware is not compatible with M1 ?

  • 5- Is there some custom updated firmware available ? The user X98 and SebastianFM seem to be able to make it.

  • 6- Who test to add an antenna on the M1 ? May be we can see the signal force with SSH command or directly on your router ?

  • 7- This is probably more an electronic question : do you have an idea to simulate a push button when a media is streamed to the NW11 ? I would like to swith on my old JBL station or my pioneer VSX AMP. With an ESP8266 if I arrive to execute an URL on the NW11 when something is streamed it could be possible to make it. May be there is an easier way tongue ?

...

  • 2- There is no good firmware because all available are based on outdated OpenWRT 12.

  • 3- I flashed Soundmate M2 firmware on my IB-MP401 Air and it worked fine (except it was outdated).

  • 5- As I said before I didn't compile whole firmware but I used ImageBuilder. I wrote and compiled only ALSA kernel audio driver.

Sorry, but currently I don't have enough free time to compile packages or create custom builds. I also deleted some stuff which I used to create my build. But I can share my work, source code of my driver or compiled kernel module. Even default OpenWRT 15.05 build works fine on our devices. Only one thing which must be changed in config files is to enable WiFi. Or use serial cable to enable it after flashing.
Block mount allows you to extend storage space and install as many packages as you want.

I never heard about Squeezebox before. Could you tell what are advantages of using it instead of DLNA or mpd?

SebastianFM wrote:

...
I never heard about Squeezebox before. Could you tell what are advantages of using it instead of DLNA or mpd?

The main advantage of the Logitech Media Server is that is supports the legacy SlimDevices music players and their protocol. These  music players cannot use mpd or DLNA. The  Logitech Media Server is written in Perl and has great platform flexibility and plugin capability. It also supports DLNA so the Logitech Media Server can support both DLNA and the legacy SlimDevices music players simultaneously,

vernonjvs wrote:
SebastianFM wrote:

...
I never heard about Squeezebox before. Could you tell what are advantages of using it instead of DLNA or mpd?

The main advantage of the Logitech Media Server is that is supports the legacy SlimDevices music players and their protocol. These  music players cannot use mpd or DLNA. The  Logitech Media Server is written in Perl and has great platform flexibility and plugin capability. It also supports DLNA so the Logitech Media Server can support both DLNA and the legacy SlimDevices music players simultaneously,

Yes you're right : Squeezebox server is also an UPNP server and Squeezebox Player are UPNP renderer since many years. You can also use an UPNP device like a squeezebox with a plugin installed but it is not perfect in all situation in this case (often not gapless with some file format problems too)

But the main advantage is not "to supports the legacy SlimDevices"

In fact there are many actual and successful projects based on Squeezebox. Many of them are based on raspberry, for example there are :
- Max2Play (named SqueezePlug Before)
- PiCorePlayer
- Volumio
- vortexbox
- muso
- and many more...

So why is there so much projects based on Squeezebox ? Just because it is the technology which offer the best sound quality (check on audiophile forums), player reactivity, gapless, easy synchronized multi-room and audio files compatibility... Have a legacy SlimDevice is not an obligation, you have software player on Windows, linux, ios, android, raspberry, openWRT, kodi plugin...

vernonjvs, I don't want to create a polemic to know what is better between upnp and squeezebox, I don't care I use both. Like many audiophile I prefer Squeezebox, there is a real community and I think it is interesting to include this technology in M1 and M2 players because it is possible and useful for some people (not the server, I know, server probably needs bigger CPU).


SebastianFM wrote:

2- There is no good firmware because all available are based on outdated OpenWRT 12.

Why it is bad ? For security reason ? Stability ? Power consumption ?

SebastianFM wrote:

3- I flashed Soundmate M2 firmware on my IB-MP401 Air and it worked fine (except it was outdated).

I tried both too. The M2 firmware (1.0.08-A32(A.01)) seems to have a better airplay synchronization with videos than IB-MP401 (WM_A53(07)). My device was originally in IB-MP401 WM_A53(09) but I don't find anymore this firmware...

SebastianFM wrote:

5- As I said before I didn't compile whole firmware but I used ImageBuilder. I wrote and compiled only ALSA kernel audio driver.

The audio driver included in sources is not compatible with openWRT 15.05 that's why you wrote a new one ?

I'm a perfect newbe in firmware building. I'm going to try to compile the old sources from raidsonic ICY-box IB-MP401. If I arrive to do that, I will try to include squeezebox player package (named Squeezelite) inside.
If you're agree to share your work I'll take it wink May be one day I will arrive to compile an updated version for M2 players tongue

(Last edited by schmurtz on 18 May 2016, 03:13)

schmurtz wrote:

So why is there so much projects based on Squeezebox ? Just because it is the technology which offer the best sound quality (check on audiophile forums), player reactivity, gapless, easy synchronized multi-room and audio files compatibility... Have a legacy SlimDevice is not an obligation, you have software player on Windows, linux, ios, android, raspberry, openWRT, kodi plugin...

I can only say that mpd also offers 'best quality'.

schmurtz wrote:
SebastianFM wrote:

2- There is no good firmware because all available are based on outdated OpenWRT 12.

Why it is bad ? For security reason ? Stability ? Power consumption ?

Rather early stage or buggy apps, e. g. minidlna shares audio files but doesn't allow to browse library by artist or album and it doesn't support playlists.

schmurtz wrote:

The audio driver included in sources is not compatible with openWRT 15.05 that's why you wrote a new one ?

This driver works fine in OpenWrt 15.05 but it isn't generic audio driver so it allows to play audio only to apps wrote especially for it.
It was easier for me to modify existing Qualcomm ALSA driver for another chipset than modifying mpd to make it compatible with current driver.

schmurtz wrote:

I'm a perfect newbe in firmware building. I'm going to try to compile the old sources from raidsonic ICY-box IB-MP401. If I arrive to do that, I will try to include squeezebox player package (named Squeezelite) inside.
If you're agree to share your work I'll take it wink May be one day I will arrive to compile an updated version for M2 players tongue

Please don't waste time for that. Sources provided by Raidsonic are much older than final M2 firmware. I compiled and tested it. Probably you won't be able to compile Squeezelite due to missing dependencies to other packages. Even if it will compile you also will need to modify it to make compatible with current audio driver.
Instead, maybe you can try to compile Squeezelite for generic OpenWrt 15.05. Then I'll add it to my build.

OK too late I finally compiled the Raidsonic sources successfully. Not much sleeping this night tongue
Understood, it will not work due to no standard sound driver hmm
It does not matter, it was a good first experience and my compilation build environment is now ready.
I'm gonna work on Squeezelite for generic OpenWrt 15.05 as you recommand. Thanks for your help and explanations !

Two little questions :

  • Do you know why they don't take an already existing standard audio driver ?

  • Do you think possible to make jack output working again later ?

(Last edited by schmurtz on 18 May 2016, 14:20)

schmurtz wrote:

...
Two little questions :

  • Do you know why they don't take an already existing standard audio driver ?

  • Do you think possible to make jack output working again later ?

Because there was no such driver. I spent a lot of time studying current and Qualcomm driver source code. Also I compared both AR72XX and AR9331 datasheets. Then I started to adapt Qualcomm driver to AR9331.

Sure it is possible.

If the package already exists in openWRT default package...

It's not enought to compile a new firmware easily for you ?


May be everything is already done for squeezlite :

Сборка клиента squeezelite OpenWrt Сhaos Сalmer 15.05

(Last edited by schmurtz on 18 May 2016, 16:09)

schmurtz wrote:

If the package already exists in openWRT default package...

It's not enought to compile a new firmware easily for you ?

There is no such package in OpenWrt but no matter because to launch Squeezelite only one binary is required. I downloaded it from here and launched it on my device running OpenWRT 15.05 using command /usr/bin/squeezelite-mips-ar71xx -o default:CARD=AR9331 -s 192.168.0.2 -a 450:45::0 where 192.168.0.2 is the address of Logitech Media Server running on my PC. I didn't found newer version of binary built for ar71xx but it works fine.

Anyway I still prefer mpd because it doesn't require running server on another machine. This way I can listen music stored on 32 GB USB flash drive or internet radio stations.

Do you have serial cable? If after flashing my firmware you'll mess something in Wi-Fi settings you won't be able to access your device anymore.

SebastianFM wrote:

There is no such package in OpenWrt

Strange... may be because andrew1kazakov has never post his sources because he had no answer from the OpenWRT community (take a look at this topic). I think that he don't know how to share his work with the OpenWRT, that' s a pity that nobody help him about that...


SebastianFM wrote:

but no matter because to launch Squeezelite only one binary is required. I downloaded it from here and launched it on my device running OpenWRT 15.05 using command /usr/bin/squeezelite-mips-ar71xx -o default:CARD=AR9331 -s 192.168.0.2 -a 450:45::0 where 192.168.0.2 is the address of Logitech Media Server running on my PC. I didn't found newer version of binary built for ar71xx but it works fine.

Thanks a lot to make this test. Finaly may be it is possible to make the same test without creating a new firmware, I mean is it possible to launch this binary on the old original M2 firmware ?
edit: I put the bin file on my M2 with wget but when I run it I can read squeezelite-mips-ar71xx: can't load library 'libasound.so.2' , OK a library is missing... I tried opkg install alsa-lib but opkg: not found . OK well... it is probably better to wait for your 15.05 version tongue


SebastianFM wrote:

Anyway I still prefer mpd because it doesn't require running server on another machine. This way I can listen music stored on 32 GB USB flash drive or internet radio stations.

Third party plugins are the main interest in squeezebox, there are so much possibilities smile
If I understand claearly, the MPD server is very light because MPD accesses audio data through a file-level protocol. I'm a little a lost with the relaion between MPD and UPNP but I will make a try with MPD too smile


SebastianFM wrote:

Do you have serial cable? If after flashing my firmware you'll mess something in Wi-Fi settings you won't be able to access your device anymore.

I should receive my FT232RL FTDI in few days. How difficult is it to modify the config files to have wifi natively ?
May be I can reflash with "$$update$$" on USB key if necessary ?

(Last edited by schmurtz on 19 May 2016, 01:07)

I don't know if it can be useful but I've made some research about I2S drivers :

there is still no open audio driver for Atheros chips and most Chinese products of this type uses the old, incompatible with ALSA, the code for the previous generation of systems WiSoC. This driver was made, however, on the occasion of one of my projects and will soon be udostęniony my account GitHub .

Does it helps for the jack output ?

(Last edited by schmurtz on 19 May 2016, 01:57)

schmurtz wrote:

I'm a little a lost with the relaion between MPD and UPNP but I will make a try with MPD too smile

The upmpdcli package is an UPnP client. It uses MPD backend to play files.

schmurtz wrote:
SebastianFM wrote:

Do you have serial cable? If after flashing my firmware you'll mess something in Wi-Fi settings you won't be able to access your device anymore.

I should receive my FT232RL FTDI in few days. How difficult is it to modify the config files to have wifi natively ?

You need to remove 'option disabled 1' from lib/wifi/mac80211.sh.
Optionally, after flashing OpenWrt you can connect using serial cable and type in terminal:
uci delete wireless.@wifi-device[0].disabled
uci commit wireless
wifi

schmurtz wrote:

May be I can reflash with "$$update$$" on USB key if necessary ?

Nope.

schmurtz wrote:

I don't know if it can be useful but I've made some research about I2S drivers :

there is still no open audio driver for Atheros chips and most Chinese products of this type uses the old, incompatible with ALSA, the code for the previous generation of systems WiSoC. This driver was made, however, on the occasion of one of my projects and will soon be udostęniony my account GitHub .

Does it helps for the jack output ?

I already know that pepe2k created such driver. Furthermore I found other ALSA drivers for AR9331.
But none of them supports 24, 32 bit formats and rates up to 96 KHz.