Llink:synology: Difference between revisions

From Lundman Wiki
mNo edit summary
mNo edit summary
 
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Image:synology_logo.gif|Synoogy Inc. logo]] <br>
== libdvdread.plus ==
<p>The Synology NAS can host the [[llink]] server. It has been reported successfully installed on the CS-406 model, firmware 518, 590 and 2.0-0598. The CS-406 has a PPC-based cpu which indicates that all Synology DS and RS NAS in the x06-series should be able to run the compiled syno_x06 binary below.</p>




=== Binaries ===
'''UPDATE'''
'''Latest binary'''<br>
This contains a [[Llink:synology_autostart|startup script]], a Synology installation guide ([[Llink:synology_readme|README-Synology.txt]]) and a prepared llink.conf that points to the Synology default /volume1/video share. Place this binary in the /volume1 directory, untar and open the <code>README-synology.txt</code> file with a text editor for further assistance. Note: the startup script and the installation guide was written for the synology_x06_ppc in mind.


Planned: create new libudfread library instead, just for reading UDF. Take the IFO part of dvdread into libifo. Retain compatibility with libdvdnav, and libdvdcss. Also work with libbluray.


The following models uses ''x06_ppc'' version per default:
DS-101g+, DS-106j, DS-106e, DS-106, DS-106x , CS-406, RS-406 and CS-406e


The following x07-models share the same cpu family as x06 and should also use the ''x06_ppc''-version of llink:
I have made some patches to the regular '''libdvdread''' library used by many developers. Alas, I have had no luck in getting them accepted into the upstream repository, which has forced me to maintain a second version myself.  
DS-107e, DS-107, DS-207, DS-207.128 and CS-407e


The following models should use the ''x07_arm'':
Patches include:
DS-107+, DS-107+.128, DS-207+, CS-407 and RS-407


* Bring UDF compatibility from base 1.92, to 2.50. This adds Bluray and BD5 ISO format.
* Properly handle UDF chains, instead of assuming they are contiguous, and without gap.
* Move filesizes from 32bit to 64bit.
* Add POSIX style '''opendir(3)''', '''readdir(3)''' API to add the ability to retrieve contents of ISO files & input-devices.
* Add POSIX style '''open(3)''' of non-DVD related files. (Reading playlists, certificates etc)
* Allow API call to set IO handlers. Allowing all IO to libdvdread be developer defined. (Adding RAR support, or FTP perhaps)


[[Media:Llink-2.0.7-synology_x06_ppc.tar.gz|llink-2.0.7-synology_x06_ppc.tar.gz]] build 830 (Mon Jun  2 11:09:44 2008) (libdvdread), added 2008-06-06
[http://www.lundman.net/ftp/llink/llink-2.0.6-synology_x07_arm.tar.gz llink-2.0.6-synology_x07_arm.tar.gz] build 750 (Fri May 21 16:17:40 2008), added 2008-05-21


'''Download pre-patched source archive from:'''


http://lundman.net/ftp/dvdread/libdvdread-4.2.0.plus.tar.gz


'''Older binaries'''
[[Media:Llink-2.0.6-syno_x06.tar.gz|llink-2.0.6-syno_x06.tar.gz]] build 750 (Fri May 16 16:17:45 2008), added 2008-05-17
[[Media:Llink-2.0.4-syno_x06.tar.gz|llink-2.0.4-syno_x06.tar.gz]] build 709 (Mon Apr 21 10:06:04 2008), added 2008-04-24 
[[Media:Llink-2.0.3-syno_x06.tar.gz|llink-2.0.3-syno_x06.tar.gz]] build 709 added 2008-04-21
[[Media:Llink-2.0.2-syno_x06.tar.gz|llink-2.0.2-syno_x06.tar.gz]]
[http://www.lundman.net/ftp/llink/llink-1.9.2-synology.tar.gz llink-1.9.2-synology.tar.gz]




Once you've installed the binary you have to update the llink.conf file so it points to your media files, uses the right port etc.


=== Installation pre-requisites ===
If you wish to patch the original release yourself, the patches are located here:
Telnet/SSH-patch installed on the NAS.


If you want to autostart llink from boot, you can use this [[Llink:synology_autostart|script]].<br>
Otherwise you must enter via telnet and start manually after shutdown or restart.


=== Toolchains ===
=== Patch 1: ===  
==== x06 ====
For the syno_x06 compiles, the toolchain for DS1010g has been used successfully, found  at [http://www.nslu2-linux.org/wiki/DS101/HomePage NSLU2-linux.org].


==== x07 ====
Handle AD chains correctly, skip gaps, and give full end blocks
If you use a Synology NAS from the x07-series there is a toolchain available for compiling source at [http://www.synology.com/wiki/index.php/Mods_for_Marvell_mv5281_ARM-based_Synology_Products#Toolchain Synology.com]


Unfortunately, this toolchain is missing the Linux headers required. asm->asm-arm, linux and asm-generic. One way to solve this is go download Linux-2.6.15 linux kernel. (There is one on NMT forum, probably one in my ftp somewhere - anyway, it is GPL and available everywhere).
http://lundman.net/ftp/dvdread/patches/README.patch1
http://lundman.net/ftp/dvdread/patches/patch1


Issue the following commands:


# sudo bash
=== Patch 2: ===
# cd /usr/local/arm-marvell-linux-gnu/arm-marvell-linux-gnu/include/
# rsync -arv $YOUR_PATH/linux-2.6.15/include/asm-arm/ asm/
# rsync -arv $YOUR_PATH/linux-2.6.15/include/asm-generic/ asm-generic/
# rsync -arv $YOUR_PATH/linux-2.6.15/include/linux/ linux/


=== Additional resources and references ===
File sizes from 32 bit to 64 bit. Handle new FileInfoExt.
NSLU2-Linux.org [http://www.nslu2-linux.org/wiki/Optware/Packages?from=Unslung.Packages]<br>
 
flipflip's Diskstation site [http://oinkzwurgl.org/diskstation]<br>
http://lundman.net/ftp/dvdread/patches/README.patch2
Synology's official forum [http://www.synology.com/enu/forum/]
http://lundman.net/ftp/dvdread/patches/patch2
 
 
=== Patch 3: ===
 
Add Directory Content access, reading DVD AACS/ Directory.
 
http://lundman.net/ftp/dvdread/patches/README.patch3
http://lundman.net/ftp/dvdread/patches/patch3
 
 
=== Patch 4: ===
 
Expose dvd_input handlers as API call.  
 
http://lundman.net/ftp/dvdread/patches/README.patch4
http://lundman.net/ftp/dvdread/patches/patch4

Latest revision as of 13:12, 21 July 2012

libdvdread.plus

UPDATE

Planned: create new libudfread library instead, just for reading UDF. Take the IFO part of dvdread into libifo. Retain compatibility with libdvdnav, and libdvdcss. Also work with libbluray.


I have made some patches to the regular libdvdread library used by many developers. Alas, I have had no luck in getting them accepted into the upstream repository, which has forced me to maintain a second version myself.

Patches include:

* Bring UDF compatibility from base 1.92, to 2.50. This adds Bluray and BD5 ISO format.
* Properly handle UDF chains, instead of assuming they are contiguous, and without gap.
* Move filesizes from 32bit to 64bit.
* Add POSIX style opendir(3), readdir(3) API to add the ability to retrieve contents of ISO files & input-devices.
* Add POSIX style open(3) of non-DVD related files. (Reading playlists, certificates etc)
* Allow API call to set IO handlers. Allowing all IO to libdvdread be developer defined. (Adding RAR support, or FTP perhaps)


Download pre-patched source archive from:

http://lundman.net/ftp/dvdread/libdvdread-4.2.0.plus.tar.gz



If you wish to patch the original release yourself, the patches are located here:


Patch 1:

Handle AD chains correctly, skip gaps, and give full end blocks

http://lundman.net/ftp/dvdread/patches/README.patch1
http://lundman.net/ftp/dvdread/patches/patch1


Patch 2:

File sizes from 32 bit to 64 bit. Handle new FileInfoExt.

http://lundman.net/ftp/dvdread/patches/README.patch2
http://lundman.net/ftp/dvdread/patches/patch2


Patch 3:

Add Directory Content access, reading DVD AACS/ Directory.

http://lundman.net/ftp/dvdread/patches/README.patch3
http://lundman.net/ftp/dvdread/patches/patch3


Patch 4:

Expose dvd_input handlers as API call.

http://lundman.net/ftp/dvdread/patches/README.patch4
http://lundman.net/ftp/dvdread/patches/patch4