BubbleUPnP Server through Optware-NG

Working only on Arm routers, like: RT-AC56U, RT-AC68U, RT-AC87U, RT-AC3200, RT-AC5300...

A) SERVER SIDE

1 - Flash RMerlin firmware from here

2 - Install Optware-NG from here

3 - Install a DLNA media server like minidlna from here

4 - Install necessary packages

ipkg install nano openjdk8-jre-headless

5 - Download and install BubbleUPnPServer

mkdir -p /opt/bubbleupnpserver
cd /opt/bubbleupnpserver
wget http://www.bubblesoftapps.com/bubbleupnpserver/BubbleUPnPServer-distrib.zip
unzip BubbleUPnPServer-distrib.zip
rm BubbleUPnPServer-distrib.zip

6 - Create startup script

cat >> /opt/etc/init.d/S99bubbleupnpserver << 'EOF'
#!/bin/sh
DAEMON_PATH="/opt/bubbleupnpserver"
DAEMON="java -Xss256k -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dfile.encoding="UTF-8" -jar BubbleUPnPServerLauncher.jar"
DAEMONOPTS=""
NAME=BubbleUPnPServer
DESC="Runs BubbleUPnP"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/opt/etc/init.d/$NAME
case "$1" in
start)
printf "Starting $NAME..."
cd $DAEMON_PATH
PID=`$DAEMON $DAEMONOPTS > /dev/null 2>&1 & echo $!`
#echo "Saving PID" $PID " to " $PIDFILE
if [ -z $PID ]; then
printf "%s\n " "Fail"
else
echo $PID > $PIDFILE
printf "%s\n " " OK"
fi
;;
status)
printf "Checking $NAME..."
if [ -f $PIDFILE ]; then
PID=`cat $PIDFILE`
if [ -z "`ps w | grep ${PID} | grep -v grep`" ]; then
printf "%s " "Process dead but pidfile exists"
else
echo " Running"
fi
else
printf "%s\n " " Service not running!"
fi
;;
stop)
printf "Stopping $NAME..."
PID=`cat $PIDFILE`
cd $DAEMON_PATH
if [ -f $PIDFILE ]; then
kill -HUP $PID
printf "%s\n " " OK"
rm -f $PIDFILE
else
printf "%s\n " "pidfile not found"
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {status|start|stop|restart}"
exit 1
esac
EOF

Press ENTER

7 - Make script executable

chmod +x /opt/etc/init.d/S99bubbleupnpserver

8 - Open default BubbleUPnP ports

nano /jffs/scripts/firewall-start

Paste this lines in terminal

 #!/bin/sh

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

9 - Apply rules

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

10 - Start server

/opt/etc/init.d/S99bubbleupnpserver start

11 - Go to 192.168.1.1:58050 or www.asusrouter.com:58050 and wait about 30 seconds, default Username Admin & password admin if asked, now press ok on both messages

bubbleupnp1

bubbleupnp2

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

B) CLIENT SIDE

Download BubbleUPnP app on your android phone

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

bubbleupnp-network

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

bubbleupnp-servers

Choose one server and a RENDERER from top

bubbleupnp-renderers

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

  • Hec

    How can i uninstall

    • TeHashX

      To remove BUS
      sevices stop
      rm -r /opt/bubbleupnpserver
      rm /opt/etc/init.d/S99bubbleupnpserver
      rm /jffs/scripts/firewall-start

      To remove all Optware installation
      sevices stop
      rm -r /opt
      rm /jffs/scripts/*

      If you have some custom jffs scripts, delete only post-mount, services-start, services-stop, firewall-start

  • elradix
    • elradix

      it was down, its okay now

      • TeHashX

        Yes, I just check :)

SUBSCRIBE

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