Audio Station on Synology RT1900ac router

In November I bought a new router: The Synology RT1900ac. I used several of their NAS devices and really like their user interface and approach with installable official and 3rd party apps.

Sadly my favourite app “Audio Station” was not released for the router by synology. A person from Synology told me that Audio Station is not available for the RT1900ac because they were focussing on network performance and this package might reduce it. So be aware of this. I did not notice any difference yet…

Tonight I thought I’ll give it a try to install it myself. The RT1900ac uses a ARM A9 (2x 1 GHz) as cpu. I checked their NAS devices and realized that the Diskstation DS414j uses a very similar cpu. So I downloaded the AudioStation package for the DS414j from their website and tried to manually install it to the router.

 

Manually installing Audio Station SPK file

It did not work. I wanted to take a look in their installation files. .SPK packages are simple .gz archives, so you can extract them on a mac or pc if you have the proper software installed.

After extraction you will see a file called “INFO”. I compared the values in this file with another INFO file from a package for the RT1900ac and saw that the “architecture (“arch”) variable has a different string. So I changed it from “comcerto2k” to “northstarplus” and compressed the folder again to a gz/spk file.

Before manually install the new package you have to change the trust level  in the settings of the package Center “any Publisher”. Then try to manually install the modified package. It should be installing without an error.

synology_dsaudio_install

But afterwards you cannot use it without an infinite loading icon.

 

Fixing missing libraries

Enable SSH Access on the router:

In the “Storage & Printer” section make sure the admin user is not disabled and if you don’t remember the password reset it to a new one.

rt1900ac_enable_admin

Also enable the ssh service in the “Network Center” (Administration > Service”.

The access the RT1900ac by ssh open a terminal windows (on Mac/Linux or download and use PuTTY on Windows):


ssh root@<IP.OF.YOUR.RT1900ac>

and enter your password (you will not see what you type).

Try to restart the Audio Station with the included script:


/volume1/@appstore/AudioStation/scripts/S96synoaudiod.sh restart

You should see an output like this:


Stopping synoaudiod ...

:: Unloading module snd-usb-hiface ... [&amp;nbsp; OK&amp;nbsp; ]

:: Unloading module snd-pcm-oss ... [&amp;nbsp; OK&amp;nbsp; ]

:: Unloading module snd-mixer-oss ... [&amp;nbsp; OK&amp;nbsp; ]

:: Unloading module snd-usb-audio ... [&amp;nbsp; OK&amp;nbsp; ]

:: Unloading module snd-pcm ... [&amp;nbsp; OK&amp;nbsp; ]

:: Unloading module snd-timer ... [&amp;nbsp; OK&amp;nbsp; ]

:: Unloading module snd-hwdep ... [&amp;nbsp; OK&amp;nbsp; ]

:: Unloading module snd-usbmidi-lib ... [&amp;nbsp; OK&amp;nbsp; ]

:: Unloading module snd-rawmidi ... [&amp;nbsp; OK&amp;nbsp; ]

:: Unloading module snd-seq-device ... [&amp;nbsp; OK&amp;nbsp; ]

:: Unloading module snd ... [&amp;nbsp; OK&amp;nbsp; ]

:: Unloading module snd-page-alloc ... [&amp;nbsp; OK&amp;nbsp; ]

:: Unloading module soundcore ... [&amp;nbsp; OK&amp;nbsp; ]

Stopping pulseaudio

Test whether personal library tables exist or not

Test whether personal library tables exist or not

Test updated column in personal library tables

whether the datatype of userid in personal library tables is int4 or not

Already changed to int8, return

test rating table in mediaserver DB

test star in personal_music table in mediaserver DB

test playlist_sharing table in mediaserver DB

test updated in playlist_sharing table in mediaserver DB

test collation (en_US_synology) in pg_collation table in mediaserver DB

test virtual_personal_music table in mediaserver DB

test virtual_musicid in rating table in mediaserver DB

Starting synoaudiod ...

:: Loading module soundcore ... [&amp;nbsp; OK&amp;nbsp; ]

:: Loading module snd-page-alloc ... [&amp;nbsp; OK&amp;nbsp; ]

:: Loading module snd ... [&amp;nbsp; OK&amp;nbsp; ]

:: Loading module snd-seq-device ... [&amp;nbsp; OK&amp;nbsp; ]

:: Loading module snd-rawmidi ... [&amp;nbsp; OK&amp;nbsp; ]

:: Loading module snd-usbmidi-lib ... [&amp;nbsp; OK&amp;nbsp; ]

:: Loading module snd-hwdep ... [&amp;nbsp; OK&amp;nbsp; ]

:: Loading module snd-timer ... [&amp;nbsp; OK&amp;nbsp; ]

:: Loading module snd-pcm ... [&amp;nbsp; OK&amp;nbsp; ]

:: Loading module snd-usb-audio ... [&amp;nbsp; OK&amp;nbsp; ]

:: Loading module snd-mixer-oss ... [&amp;nbsp; OK&amp;nbsp; ]

:: Loading module snd-pcm-oss ... [&amp;nbsp; OK&amp;nbsp; ]

:: Loading module snd-usb-hiface ... [&amp;nbsp; OK&amp;nbsp; ]

/var/packages/AudioStation/target/sbin/synoaudiod: error while loading shared libraries: libjson-c.so.0: cannot open shared object file: No such file or directory

Starting pulseaudio

/var/packages/AudioStation/target/bin/pulseaudio: error while loading shared libraries: libjson-c.so.0: cannot open shared object file: No such file or directory

sh: ne: unknown operand

cat: can't open '/var/run/synoaudiod.pid': No such file or directory

So it seems that there are missing libraries: libjson-c.so.0.

“libjson-c.so” is already in the /lib folder. A symbolic link is all you need here:


ln -s /lib/libjson-c.so /lib/libjson-c.so.0

By repeating the S96synoaudiod.sh restart  step, you will find out that there are also some other libraries missing:

libicui18n.so.22, libicuuc.so.22, libicudata.so.22

You cannot relink these libraries. They are not in the /lib directory. So download the DS414j DSM from the Synology website. Create a folder (e.g. temp) on your computer and decompress the system files image from the .PAT file to it:


mkdir temp

cd temp
tar -xzvf ~/Downloads/DSM_DS414j_5644.PAT hda1.tgz

Do the same for the hda1.tgz file:

tar -xzvf hda1.tgz

If there is an error at the end you can ignore it. Browse to the “lib” folder and copy the missing files to a folder on the RT1900ac (In my examples I will use /public).

Back in the ssh session with the router we copy the libraries to the right directory:


cd /lib

cp /volumeUSB1/usbshare1-1/@sharebin/public/libicui18n.so.22 .

cp /volumeUSB1/usbshare1-1/@sharebin/public/libicuuc.so.22 .

cp /volumeUSB1/usbshare1-1/@sharebin/public/libicudata.so.22 .

Done. Type “exit” to end the ssh session.

Go to your Package Center and restart the AudioStation. It should work now. Don’t forget to open “Storage & Printer” and go to Indexing Service to set your audio folder. Audio Station will need it.

For security reason you should also disable the Admin User again, disable SSH, and set the trust level of the Package Center back to “Synology only”.

 

rt1900ac_dsaudio

Be aware that I can not guarantee that this will still work after performing a SRM update. Maybe you have to do it again…

3 Comments on “Audio Station on Synology RT1900ac router”

  1. ozsolt

    Did you left the “firmware” variable unchanged (6.0-7312) in the INFO file? I am unable to compress correctly after the modification of the INFO file, I always get an invalid file format error message in the Package Center when try to install manuall 🙁
    Maybe you can share me the installable, modified spk?

    1. chris

      This post was written before DSM6 was released. The SRM is still based on the DSM5 version. I would recommend downloading an older version of AudioStation (Version 5.4-2860 works). You can find old packages here.
      There is no need to adjust DSM field in the INFO file. When you are done editing the INFO file you can compress it easily by terminal (on Linux/Mac) by entering the package folder in a terminal window (AudioStation-comcerto2k-5.4-2860) and typing “tar -cvf Audiostation.spk *”. Your spk file should be in the same folder afterwards. Also check the Trust Level in the Package Center. It should be set to “any Publisher” (at least for the installation of the package).
      The missing library files should also be taken from .pat file of the DSM 5 release.

  2. ozsolt

    Thanks Chris, I made it, but got the same invalid file format message. Decompressing the modified .spk everything seems to be OK, but SRM can not install.

Leave a Reply

Your email address will not be published. Required fields are marked *