BubbleUPnP Server through Debian Arm

This version is for Arm routers: RT-AC56U, RT-AC68U, RT-AC87U...


1a - Install Optware from here


1b - Install Entware (recommended) from here

2 - Install Debian from here

3 - Install Minidlna from here

4 - Enter Chrooted Debian

debian enter

5 - Run update to see if some recent packages are available

apt-get update
apt-get upgrade

6 - Install zip package

apt-get install zip net-tools procps iptables

7 - Download and install Oracle Java 7

mkdir -p /usr/lib/jvm/
cd /usr/lib/jvm/
wget -c -O java.tgz http://goo.gl/g5BbkS
tar xvzf java.tgz
update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/ejre1.7.0_71/bin/java" 1
update-alternatives --set java /usr/lib/jvm/ejre1.7.0_71/bin/java

8 - Download and install BubbleUPnP Server

mkdir -p /etc/bubbleupnp
cd /etc/bubbleupnp
wget http://bubblesoftapps.com/bubbleupnpserver/BubbleUPnPServer-distrib.zip
unzip BubbleUPnPServer-distrib.zip
chmod +x ./launch.sh

9 - Start server


10 - Wait about a minute to download and start, then exit with CTRL-C

11 - Download startup script and allow wan configuration

wget -c -O /etc/init.d/S99bubbleupnp-debian http://goo.gl/3oCXho
chmod 755 /etc/init.d/S99bubbleupnp-debian
sed -i 's/false<\/allowWANConfigurationUI>/true<\/allowWANConfigurationUI>/g' "/etc/bubbleupnp/configuration.xml"

12 - Exit Debian


13 - Stop chrooted services

debian stop

14 - Add BubbleUPnP to chrooted services list

echo "" >>/opt/etc/chroot-services.list
echo "S99bubbleupnp-debian" >>/opt/etc/chroot-services.list
chmod 755 /opt/etc/chroot-services.list

15 - Open default BubbleUPnP ports

nano /jffs/scripts/firewall-start

Paste this lines in terminal


iptables -I INPUT -p tcp --destination-port 58050 -j ACCEPT
iptables -I INPUT -p tcp --destination-port 58051 -j ACCEPT

Save with CTRL-O / Enter / and exit with CTRL-X

16 - Apply rules

chmod a+rx /jffs/scripts/firewall-start
sh /jffs/scripts/firewall-start

17 - Start services again

debian start

18 - Go to and wait about 30 seconds, default Username Admin & password admin if asked, now press ok on both messages



 19 - On next screen, press Auto-detect or input your ddns address and click Apply, change username & password then press Apply
 20 - On Media Servers tab you should see the list of UPnP Servers available


Download BubbleUPnP app on your android phone

Open app and go to Menu/Settings/Setup network wizard/NEXT/


Give server a name

In Server address input your external ip or ddns address, like user.asuscomm.com:58050

Then Login and password chosed in server setup

When finished, press NEXT

Now you should see Connection successful

Go to Menu/LIBRARY and should see a list with available servers


Choose one server and a RENDERER from top


Go to Menu/Media and play your media files from selected server on selected Renderer

  • Csaba Benesch

    11. is not working with this command : sed -i 's/false/true/g' "/etc/bubbleupnp/configuration.xml"

    error message: root@rt-ac87u:/etc/bubbleupnp# sed -i 's/false/true/g' "/etc/bubbleupnp/configuration.xml"

    • Solved, try again

      sed -i 's/false/true/g' "/etc/bubbleupnp/configuration.xml"

      • Csaba Benesch

        command work now, but if I close putty and the webbrowser with the bubbleupnp configuration site and I want to start bubbpleupnp app in android, then the connection failed.....

      • Csaba Benesch

        If I check the bubbleupnp status under debian, then I get the following message: root@rt-ac87u:/# /etc/init.d/S99bubbleupnp-debian status

        Checking BubbleUPnP...Process dead but pidfile exists

  • terry bogard

    Can I try to my RT-AC66U router?

    • I installed once on my rt-ac66u but was very slow, it takes 10 minutes to start :( but didn't start after reboot.
      You can try it but at step 7, install java normally with apt-get and not manually like for arm devices.

      • terry bogard

        Thanks a lot.
        Have good weekend.

  • Gary Chu

    Chinese Name title doesn't support

  • Gary Chu

    stop as step 9: the message
    WARNING - 09:53:01.868 - RetrieveRemoteDescriptors : Device descriptor retrieval failed, no response:

    Client connection was aborted: com.bubblesoft.a.a.a.c.f: Device descriptor retrieval failed, no response:

    Client connection was aborted: com.bubblesoft.a.a.a.c.f:

    How to solve ? thx

    • Continue with the next step

  • derekm2j

    just be able to get my roku to play audio with vidoes. Right now if i play a movie roku sometimes will not play audio unless in right format. any way to enable just audio transcoding. i have ffmpeg installed but still no audio. need aac or mp3 thanks

  • derekm2j

    Is it posible to have bubble with FFMpeg installed transcode audio to a friendly format like aac so it will play on roku app

    • Audio from video files or stand alone audio files like mp3?

  • Hadi

    So , Install it or not ?it is working normal if I don't install it?

    • Install it and try, if it's not working, disable transcoding in android app

      • Hadi

        I don't want to explode my router , better not install as you said.

        • Hadi

          my videos are quite large and if I enable it , sth worth will happen to my expensive router.

        • Was just a joke

  • Hadi

    Hello ,
    I Installed it successfuly , but in the status tab :
    Video Transcoding supported:
    no (ffmpeg not found)
    How can I install ffmpeg ? does it support mkv too?

    • He He, the router with such a little ammount of ram and with current cpu will "explode" :) if you try to transcode videos. Installing ffmpeg it's easy if you want to try:
      apt-get install ffmpeg
      Restart bubbleupnp server after

  • Denis


    At the 18th point after I enter Username/password I get:

    HTTP ERROR: 403

    Problem accessing /. Reason:

    WAN configuration is not allowed

    Powered by Jetty://

    What is the problem?

    • Stop server
      change inside debian /etc/bubbleupnp/configuration.xml
      allowWanConfigurationUi from false to true
      restart server


To be notified by email when a new tutorial is posted :)

Thanks for Subscribing! I'll keeping you up-to-date with latest tutorials!

Something went wrong, try again...