Install uShare in Debian from source for streaming to xbox 360.
By stabbyjones
Getting ushare to install on debian is a bit more annoying than on ubuntu and takes a little bit more effort on your part before you’re streaming away. I spent a good hour today playing around but all in all it’s a pretty simple process.
The biggest issues is the libdlna has never been able to install for me without changing the Makefile in the src folder.
Requirements:
libavcodec and libavformat – ffmpeg libraries
I’m not sure if the -dev packages are need but I threw them on as well (libavcodec-dev libavformat-dev)
root@debian:~$ apt-get install libavcodec51 libavformat52Mercurial – Scalable distributed version control system
Mercurial is a fast, lightweight Source Control Management system designed for efficient handling of very large distributed projects.
root@debian:~$ apt-get install mercurial
Linux SDK for UPnP Devices (libupnp), 1.4.2 or later.
http://pupnp.sourceforge.net/
Download Source package and extract.
Open terminal in the source location:
root@debian:~/src/libdlna-0.2.3$ ./configure
root@debian:~/src/libdlna-0.2.3$ make
root@debian:~/src/libdlna-0.2.3$ make install
GeeXboX libdlna – Reference DLNA open-source implementation for Linux
http://libdlna.geexbox.org/
libdlna cause me great amounts of headache. The stable version just would not install for me at all so I had to install mercurial and get the latest version.
From the terminal change to your source directory and execute the following.
(A libdlna folder will be created in your terminal location.)
To get a local copy of the libdlna Mercurial repository :
root@debian:~/src$ hg clone http://hg.geexbox.org/libdlnaTo update your local copy of the Mercurial, synchronizing with the server :
root@debian:~/src/libdlna$ hg pull -uTo install:
root@debian:~/src/ushare/svn/libdlna$ ./configure
root@debian:~/src/ushare/svn/libdlna$ make
root@debian:~/src/ushare/svn/libdlna$ make installI was getting an error with the command make if you get the same problems making the install edit Makefile in the src directory.
Error Message:
xargs: etags: No such file or directory
make[1]: *** [TAGS] Error 127
make[1]: Leaving directory `/home/user/src/ushare/svn/libdlna/src'
make: *** [lib] Error 2To fix this error run:
root@debian:~/src/ushare/svn/libdlna$ gedit ./src/MakefileChange the following line:
all: depend $(BUILD_RULES) TAGS tagsTo:
all: depend $(BUILD_RULES)Comment the following lines like this:
#TAGS:
# @rm -f $@; \
# ( find -name ‘*.[chS]‘ -print ) | xargs etags -a
#tags:
# @rm -f $@; \
# ( find -name ‘*.[chS]‘ -print ) | xargs ctags -a;
clean:
-$(RM) -f *.o *.lo *.a *.so*
-$(RM) -f ixml/*.o ixml/*.lo
-$(RM) -f threadutil/*.o threadutil/*.lo
-$(RM) -f upnp/*.o upnp/*.lo
-$(RM) -f .depend
# -$(RM) -f tags TAGS
By removing the references to tags I was able to bypass the errors I was getting and install libdlna using make and make install.
Install ushare
http://ushare.geexbox.org/
To get a local copy of the uShare’s Mercurial repository :
root@debian:~/src$ hg clone http://hg.geexbox.org/ushareTo update your local copy of the Mercurial, synchronizing with our server :
root@debian:~/src$ hg pull --updateUshare also installs successfully from 1.1a source available from the download page.
http://ushare.geexbox.org/#Download
Install with the following:
root@debian:~/src/ushare/svn/libdlna$ ./configure
root@debian:~/src/ushare/svn/libdlna$ make
root@debian:~/src/ushare/svn/libdlna$ make install
Configure ushare:
Edit ushare config file:
root@debian:~$gedit /usr/local/etc/ushare.conf
Sample config file:
# /etc/ushare.conf
# Configuration file for uShare
USHARE_NAME=debian
USHARE_IFACE=eth0
USHARE_PORT=49153
USHARE_TELNET_PORT=1337
USHARE_DIR=/mnt/music/full,/mnt/video
USHARE_OVERRIDE_ICONV_ERR=1
ENABLE_WEB=yes
ENABLE_TELNET=no
ENABLE_XBOX=yes
ENABLE_DLNA=yes
Start ushare:
I just start ushare when I log on. From the panel go to:
System → Preferences → Sessions
From the Startup programs tab, click add.
Name: uShare
Command: /usr/local/bin/ushare
Comment: xBox 360 media server
Web interface location:
http://localhost:49153/web/ushare.html
By stabbyjones
Getting ushare to install on debian is a bit more annoying than on ubuntu and takes a little bit more effort on your part before you’re streaming away. I spent a good hour today playing around but all in all it’s a pretty simple process.
The biggest issues is the libdlna has never been able to install for me without changing the Makefile in the src folder.
Requirements:
libavcodec and libavformat – ffmpeg libraries
I’m not sure if the -dev packages are need but I threw them on as well (libavcodec-dev libavformat-dev)
root@debian:~$ apt-get install libavcodec51 libavformat52Mercurial – Scalable distributed version control system
Mercurial is a fast, lightweight Source Control Management system designed for efficient handling of very large distributed projects.
root@debian:~$ apt-get install mercurial
Linux SDK for UPnP Devices (libupnp), 1.4.2 or later.
http://pupnp.sourceforge.net/
Download Source package and extract.
Open terminal in the source location:
root@debian:~/src/libdlna-0.2.3$ ./configure
root@debian:~/src/libdlna-0.2.3$ make
root@debian:~/src/libdlna-0.2.3$ make install
GeeXboX libdlna – Reference DLNA open-source implementation for Linux
http://libdlna.geexbox.org/
libdlna cause me great amounts of headache. The stable version just would not install for me at all so I had to install mercurial and get the latest version.
From the terminal change to your source directory and execute the following.
(A libdlna folder will be created in your terminal location.)
To get a local copy of the libdlna Mercurial repository :
root@debian:~/src$ hg clone http://hg.geexbox.org/libdlnaTo update your local copy of the Mercurial, synchronizing with the server :
root@debian:~/src/libdlna$ hg pull -uTo install:
root@debian:~/src/ushare/svn/libdlna$ ./configure
root@debian:~/src/ushare/svn/libdlna$ make
root@debian:~/src/ushare/svn/libdlna$ make installI was getting an error with the command make if you get the same problems making the install edit Makefile in the src directory.
Error Message:
xargs: etags: No such file or directory
make[1]: *** [TAGS] Error 127
make[1]: Leaving directory `/home/user/src/ushare/svn/libdlna/src'
make: *** [lib] Error 2To fix this error run:
root@debian:~/src/ushare/svn/libdlna$ gedit ./src/MakefileChange the following line:
all: depend $(BUILD_RULES) TAGS tagsTo:
all: depend $(BUILD_RULES)Comment the following lines like this:
#TAGS:
# @rm -f $@; \
# ( find -name ‘*.[chS]‘ -print ) | xargs etags -a
#tags:
# @rm -f $@; \
# ( find -name ‘*.[chS]‘ -print ) | xargs ctags -a;
clean:
-$(RM) -f *.o *.lo *.a *.so*
-$(RM) -f ixml/*.o ixml/*.lo
-$(RM) -f threadutil/*.o threadutil/*.lo
-$(RM) -f upnp/*.o upnp/*.lo
-$(RM) -f .depend
# -$(RM) -f tags TAGS
By removing the references to tags I was able to bypass the errors I was getting and install libdlna using make and make install.
Install ushare
http://ushare.geexbox.org/
To get a local copy of the uShare’s Mercurial repository :
root@debian:~/src$ hg clone http://hg.geexbox.org/ushareTo update your local copy of the Mercurial, synchronizing with our server :
root@debian:~/src$ hg pull --updateUshare also installs successfully from 1.1a source available from the download page.
http://ushare.geexbox.org/#Download
Install with the following:
root@debian:~/src/ushare/svn/libdlna$ ./configure
root@debian:~/src/ushare/svn/libdlna$ make
root@debian:~/src/ushare/svn/libdlna$ make install
Configure ushare:
Edit ushare config file:
root@debian:~$gedit /usr/local/etc/ushare.conf
Sample config file:
# /etc/ushare.conf
# Configuration file for uShare
USHARE_NAME=debian
USHARE_IFACE=eth0
USHARE_PORT=49153
USHARE_TELNET_PORT=1337
USHARE_DIR=/mnt/music/full,/mnt/video
USHARE_OVERRIDE_ICONV_ERR=1
ENABLE_WEB=yes
ENABLE_TELNET=no
ENABLE_XBOX=yes
ENABLE_DLNA=yes
Start ushare:
I just start ushare when I log on. From the panel go to:
System → Preferences → Sessions
From the Startup programs tab, click add.
Name: uShare
Command: /usr/local/bin/ushare
Comment: xBox 360 media server
Web interface location:
http://localhost:49153/web/ushare.html
平台:
CPU: i7 950 3.07G
M/B: GA-EX58-EXTREME
RAM: 創見 aXeRam 1800 2G*6
顯卡: MSI ATI4890 公版
測試軟體有3D MARK06、3D MARK VANTAGE、快打旋風4












CPU: i7 950 3.07G
M/B: GA-EX58-EXTREME
RAM: 創見 aXeRam 1800 2G*6
顯卡: MSI ATI4890 公版
測試軟體有3D MARK06、3D MARK VANTAGE、快打旋風4













硬體規格:
CPU:Qualcomm MSM7200A 528MHz
OS:Android 1.5版(Cupcake)
螢幕:3.2吋,HVGA解析度(320 × 480),電容式多點觸控
記憶體:288MB
儲存:512 MB、吃micro SD
網路:HSPA(HSDPA 7.2Mbps、HDUPA 2Mbps)與WCDMA、藍牙2.0(EDR+A2DP)、WiFi
相機:5百萬畫素手機,可自動對焦AF
電池:1350mAh
待機時間:WCDMA為750小時;GSM待機440小時
通話時間:WCDMA為420分鐘;GSM待機470分鐘
重量:135公克(含電池)
其他:3.5mm耳機孔、重力感應器、電子羅盤、GPS、軌跡球
Overview:
•set the unique names of each device
•configure subnet, dhcp, etc
•create a VPN policy to connect to the other
NOTE: I'm not talking about setting passwords or security here - it's assumed that you've already setup the environment.
Set the Unique Name on each device:
1.log into the first device's web interface
2.click on VPN on the left side
3.under "Unique Firewall Identifier" create a name logical name like "USNY1"
4.log into the second device's web interface
5.click on VPN
6.under "Unique Firewall Identifier" create another name like "USNY2"
Configure Subnets for DHCP:
1.log into the first device's web interface
2.click Network > LAN
3.set the SonicWall LAN IP to something like 10.0.1.1
4.set the subnet mask to whatever is appropriate for your network like 255.255.255.0
5.repeat the sames steps for device 2 except make the ip and subnet different like 10.0.2.1 and 10.0.2.0/255.255.255.0
Setup VPN Policy:
Assuming you have the following configuration we can create the VPN policy:
Site 1
Device Name: USNY1
Subnet: 10.0.1.0/24
Site 2
Device Name: USNY2
Subnet: 10.0.2.0/24
Setup Device 1
1.On device 1 click on VPN > Settings
2.click Add under VPN Policies
3.Fill out the information as shown below:
IPSec Keyring Mode: IKE using Shared Secret
Name: USNY2 [name of your device 2]
IPSec Primary Gateway Name or Address: the public IP address of device 2
IPSec Secondary Gateway or Name or Address: left blank in most cases
Shared Secret: Since you will only be typing it in twice and this is the basis of the tunnel's security, you should set it to be very strong. [https://www.grc.com/passwords.htm] Write it down!
4.click the Specify destination networks below and click Add
5.type in the subnet that device 2 is controlling - in this example 10.0.2.0/24
6.click OK
Setup Device 2 [Almost same as above]
1.On device 1 click on VPN > Settings
2.click Add under VPN Policies
3.Fill out the information as shown below:
IPSec Keyring Mode: IKE using Shared Secret
Name: USNY1 [name of your device 1]
IPSec Primary Gateway Name or Address: the public IP address of device 1
IPSec Secondary Gateway or Name or Address: left blank in most cases
Shared Secret: same as the password you generated above
- click the Specify destination networks below and click Add
- type in the subnet that device 1 is controlling - in this example http://10.0.1.0/24
- click OK
Check The logs:
If you've configured everything correctly, you should be able to watch the VPN tunnel negotiation process from the event logs.
1.click on Log > Categories
2.check "Log all categories" - this will record VPN functions
3.under Log click "View"
4.review the logs for the following events:
SENDING>>>> ISAKMP OAK INFO (InitCookie 0x69c45089cc845af4, MsgID: 0x26D85F88) *(HASH, NOTIFY:DPD_ACK)
RECEIVED<<< ISAKMP OAK INFO (InitCookie 0x69c45089cc845af4, MsgID: 0x3AAF690F) *(HASH, NOTIFY:DPD_REQUEST)
Troubleshooting:
Phase 2 or Algorithm's Don't Match
If you see a log with this kind of message it is most likely caused by different encryption under the Phase 2 settings. Go back and make sure they match exactly.
IKE Initiator: Proposed IKE ID mismatch
This message is most likely caused by the firewall names being mismatched. Make sure that under VPN settings, the name is set to something unique and the VPN policy on each device has each other's appropriate name.
Dynamic IP's
If you're connecting two sites with dynamic IP addresses, I've read that you need to check the "Aggressive Mode" type of VPN but maybe someone can confirm that.
1.click VPN and click configure on the tunnel you created
2.under proposals change "Exchange" to Aggressive mode
3.click the Advanced tab
4.click Enable Keep Alive and Try to bring up all possible Tunnels
5.click OK
•set the unique names of each device
•configure subnet, dhcp, etc
•create a VPN policy to connect to the other
NOTE: I'm not talking about setting passwords or security here - it's assumed that you've already setup the environment.
Set the Unique Name on each device:
1.log into the first device's web interface
2.click on VPN on the left side
3.under "Unique Firewall Identifier" create a name logical name like "USNY1"
4.log into the second device's web interface
5.click on VPN
6.under "Unique Firewall Identifier" create another name like "USNY2"
Configure Subnets for DHCP:
1.log into the first device's web interface
2.click Network > LAN
3.set the SonicWall LAN IP to something like 10.0.1.1
4.set the subnet mask to whatever is appropriate for your network like 255.255.255.0
5.repeat the sames steps for device 2 except make the ip and subnet different like 10.0.2.1 and 10.0.2.0/255.255.255.0
Setup VPN Policy:
Assuming you have the following configuration we can create the VPN policy:
Site 1
Device Name: USNY1
Subnet: 10.0.1.0/24
Site 2
Device Name: USNY2
Subnet: 10.0.2.0/24
Setup Device 1
1.On device 1 click on VPN > Settings
2.click Add under VPN Policies
3.Fill out the information as shown below:
IPSec Keyring Mode: IKE using Shared Secret
Name: USNY2 [name of your device 2]
IPSec Primary Gateway Name or Address: the public IP address of device 2
IPSec Secondary Gateway or Name or Address: left blank in most cases
Shared Secret: Since you will only be typing it in twice and this is the basis of the tunnel's security, you should set it to be very strong. [https://www.grc.com/passwords.htm] Write it down!
4.click the Specify destination networks below and click Add
5.type in the subnet that device 2 is controlling - in this example 10.0.2.0/24
6.click OK
Setup Device 2 [Almost same as above]
1.On device 1 click on VPN > Settings
2.click Add under VPN Policies
3.Fill out the information as shown below:
IPSec Keyring Mode: IKE using Shared Secret
Name: USNY1 [name of your device 1]
IPSec Primary Gateway Name or Address: the public IP address of device 1
IPSec Secondary Gateway or Name or Address: left blank in most cases
Shared Secret: same as the password you generated above
- click the Specify destination networks below and click Add
- type in the subnet that device 1 is controlling - in this example http://10.0.1.0/24
- click OK
Check The logs:
If you've configured everything correctly, you should be able to watch the VPN tunnel negotiation process from the event logs.
1.click on Log > Categories
2.check "Log all categories" - this will record VPN functions
3.under Log click "View"
4.review the logs for the following events:
SENDING>>>> ISAKMP OAK INFO (InitCookie 0x69c45089cc845af4, MsgID: 0x26D85F88) *(HASH, NOTIFY:DPD_ACK)
RECEIVED<<< ISAKMP OAK INFO (InitCookie 0x69c45089cc845af4, MsgID: 0x3AAF690F) *(HASH, NOTIFY:DPD_REQUEST)
Troubleshooting:
Phase 2 or Algorithm's Don't Match
If you see a log with this kind of message it is most likely caused by different encryption under the Phase 2 settings. Go back and make sure they match exactly.
IKE Initiator: Proposed IKE ID mismatch
This message is most likely caused by the firewall names being mismatched. Make sure that under VPN settings, the name is set to something unique and the VPN policy on each device has each other's appropriate name.
Dynamic IP's
If you're connecting two sites with dynamic IP addresses, I've read that you need to check the "Aggressive Mode" type of VPN but maybe someone can confirm that.
1.click VPN and click configure on the tunnel you created
2.under proposals change "Exchange" to Aggressive mode
3.click the Advanced tab
4.click Enable Keep Alive and Try to bring up all possible Tunnels
5.click OK