OUR NETWORK:TiVo Community TechLore Explore3DTV DVRplayground Dijit Community See all... About UsAdvertiseContact Us

 
Learn about scoring Forum's Raw Score: 1133440.0
March 23, 2010 12:54 PM

Categories: Open Source Projects and Firmware

Rating (0 votes)
  • 1
  • 2
  • 3
  • 4
  • 5
Rate This!

Member Avatar

Peter Redmer

Administrator
Joined: 01/02/2008

Hello everyone,

We're looking for our skilled community members to step up and check out the MiniDLNA server software, which is compatible with the NETGEAR WNR3500L open source router.

This requires that you set up the proper cross-compiling environment with the necessary shared libraries, to turn your WNR3500L into a DLNA server.

We are looking for someone, or a group of course, to create a ready-made firmware for the WNR3500L that includes this software.

Please post if you are interested or have any questions, and good luck!

Download the MiniDLNA Code Here!

Peter Redmer
Administrator
Blog | Twitter

Discussion:    Add a Comment | Comments 1-25 of 29 | Latest Comment | 1 2 Next »

March 23, 2010 7:46 PM

Is that code compiled for an i386 architecture not the ARM architecture? If so someone would need to recompile to ARM.

But if done it probably could be added to the router and just ran as an additional program. No new firmware needed. (I am guessing)

http://placeshiftingenthusiasts.com/

March 24, 2010 7:04 AM

@Brandon, if you download the static you can run "readelf -h minidlna" to get information about the binary. You will see, that is is compiled for i386.

March 24, 2010 7:39 AM

In order to compile minidlna, you need to check out the latest source code with:
cvs -z3 -d:pserver:anonymous@minidlna.cvs.sourceforge.net:/cvsroot/minidlna co -P minidlna

I was trying to compile it with the optware toolchain ( http://www.nslu2-linux.org/wiki/FAQ/Optware-uClibcBuild ) because it has the minidlna source code (20090413) with all dependencies (libexif, libjpeg, libid3tag, libFLAC, libvorbis, sqlite3, libavformat/ffmpeg, libuuid).
However compiling ffmpeg stops with 'img_convert' is deprecated.

March 25, 2010 4:08 AM

I fixed the ffmpeg problem, but I cannot compile minidlna:
uuid.c:40: error: '__NR_clock_gettime' undeclared (first use in this function)

I've checked the dd-wrt v24_2 linux header files, but this function is not there.
It might require a special kernel or any ideas?

March 29, 2010 12:48 PM

Finally I've got minidlna working on my WNR3500L. I can play mp3 files and see jpeg images on the PS3 from the router.

I've compiled with optware-clibc-0.9.28 and installed with ipkg-opt. The source had to be patched, because __NR_clock_gettime and __NR_inotify syscalls are not implemted. As a result inotify is still not working, and I need to rebuild the database manually after copying files to the media library. Next time I will try with uclibc 0.9.29 or later with all the dependent packages.

March 29, 2010 12:56 PM

@netgearl - this is fantastic! I'm not an expert, so I'm curious as to how an average user might be able to take advantage of your hard work and get miniDLNA running on their WNR3500L.

In other words, is there a final firmware build that you can submit to the community with miniDLNA compatibility pre-installed, that users could easily upgrade to?

If not, I'd love to help you get a tutorial up and running on the community to show other users how to download and compile, if possible.

Let me know, we can communicate via PM if you prefer!

Peter Redmer
Administrator
Blog | Twitter

March 29, 2010 2:18 PM

Hi Peter,

I just wanted to get it work as a package on my router. I wouldn't say it will fit into 8MB flash, because it requires a lot of other packages, logging space and of course the media files. So in my opinion it needs be installed on USB drive. I choose optware to compile, but current stable packages are compiled with uclibc9.27-9 and this minidlna requires more recent uclibc, because some functions are still not working. I would suggest trying to compile it with the dd-wrt toolchain or other. It will be a hard work to get all the dependencies compiled.

April 9, 2010 6:06 AM

because __NR_clock_gettime and __NR_inotify syscalls are not implemted


You have to compile using K26 sources

April 22, 2010 4:56 PM

Hi Kong!

Yes you are perfectly right, but K26 headers was not in the optware official toolchain when I tried first.

I compiled this minidlna with K26 sources with a different toolchain.
Now I have this issue:
inotify.c:189: warn: WARNING: Could not read inotify max_user_watches! Hopefully it is enough to cover 0 current directories plus any new ones added.

/proc/sys/fs/inotify/max_user_watches doesn't work or not implemented.

Any ideas on this? Thanks.

April 23, 2010 2:34 AM

DD-WRT does not have inotify compiled in kernel, don't know if tomato has it enabled. Unfortunately you cannot compile inotify as module and install it later on.
So it requires a customized kernel.

May 4, 2010 1:40 PM

Hi there, I've following this thread for a wile now... Is there any update in this quest for the firmware with miniDLNA?

Thank you

May 4, 2010 1:59 PM

I'm have just compiled,tested a dd-wrt image with included samba3, once I have the webpage + config scripts for samba ready, I will integrate minidlna.

May 5, 2010 11:27 AM

@Kong - awesome. Looking forward to it!

Peter Redmer
Administrator
Blog | Twitter

May 5, 2010 11:28 AM

In addition, please let me know when you have it ready. We'd love to feature it on the site.

Peter Redmer
Administrator
Blog | Twitter

May 25, 2010 3:04 PM

netgearl said: Hi Kong! Yes you are perfectly right, but K26 headers was not in the optware official toolchain when I tried first. I compiled this minidlna with K26 sources with a different toolchain. Now I have this issue: inotify.c:189: warn: WARNING: Could not read inotify max_user_watches! Hopefully it is enough to cover 0 current directories plus any new ones added. /proc/sys/fs/inotify/max_user_watches doesn't work or not implemented. Any ideas on this? Thanks.
My build of dd-wrt with included samba3 now has inotify enabled.

May 28, 2010 10:34 PM

This is really awesome, sounds like it's getting close!(?)

July 5, 2010 11:03 AM

Kong said: My build of dd-wrt with included samba3 now has inotify enabled.

Kong,

First of all thanks for your samba enabled firmware. I tested my minidlna package on it and it works pretty good with inotify support, even on NTFS USB drive. It doesn't work with your embedded uclibc, I've used uClibc-0.9.28 from optware. The required size of the minidlna package is minimum 9.3 MB (3.3 MB in tar.gz format). I'm not sure how this package should be integrated into the firmware (maybe loaded to ramdisk?), but I can run this from USB without optware or any other ipkg prerequisites.

July 5, 2010 1:32 PM

Hi netgearl,

actually with included minidlna the firmware size is 6.9MB:-)

I have already flashed my WNR. Once I finish my tests tonight I'll upload the new mod with included minidlna + a few fixes for samba.

July 5, 2010 1:48 PM

Looking forward to it, Kong! Let me know when you get the new build uploaded.

Peter Redmer
Administrator
Blog | Twitter

July 7, 2010 3:57 AM

Kong said: Hi netgearl, actually with included minidlna the firmware size is 6.9MB:-)

Hi Kong,

Great work, but how did you manage it? Have you included the libraries?
http://minidlna.cvs.sourceforge.net/viewvc/minidlna/minidlna/INSTALL?revision=1.4&view=markup

July 19, 2010 6:34 AM

Hi netgearl,

the libraries are all statically compiled in. The biggest challenge was to create my own patched toolchain. DD-WRTs toolchain uses an older uClibc that does not include all functions which are needed by minidlna. On the other hand you cannot use a default openwrt toolchain , since dd-wrt added features to its toolchain that are not in any standard toolchains:-)

Now based on latest kamikaze openwrt toolchain I have an updated toolchain that has the neccessary changes to be compatible with dd-wrt sources + new features and enhancements from newer uClibc.

January 8, 2011 12:41 AM

Hello everyone,

I looked through all the posts here and I must say you all people are doing an awesome job. I had been trying to cross-compile miniDLNA for ARM and have been running into issues.

Actually, I manually cross-compiled all the dependent libraries except libFLAC. I couldn't cross-compile it as I was getting errors with "ogg". I am stuck here, with no progress ahead.

Does anyone know precisely how can I get miniDLNA cross-compiled.

Thanks in advance.

January 9, 2011 2:26 AM

hi all
I am interested to compile minidlna for ARM as well, but not sure how to start.

Any guide will be appreciated.

January 10, 2011 4:39 AM

Hi,

Is this thread still active? I believe there are even more people like me who want to compile minidlna for ARM.

What I did is:
--> I downloaded all the seven dependent libraries and cross-compiled them (except sqlite3, which I got it directly).
--> Then I modified the makefile to include the headers and libraries from these cross-compiled files.

However, everything compiles fine, but during linking I get an error saying:

Linking minidlna
/usr/local/arm/4.2.2-eabi/usr/bin-ccache/../lib/gcc/arm-unknown-linux-gnueabi/4.2.2/../../../../arm-unknown-linux-gnueabi/bin/ld: skipping incompatible /minidlna_arm_libraries/libexif/lib/libexif.so when searching for -lexif
/usr/local/arm/4.2.2-eabi/usr/bin-ccache/../lib/gcc/arm-unknown-linux-gnueabi/4.2.2/../../../../arm-unknown-linux-gnueabi/bin/ld: skipping incompatible /minidlna_arm_libraries/libexif/lib/libexif.a when searching for -lexif
/usr/local/arm/4.2.2-eabi/usr/bin-ccache/../lib/gcc/arm-unknown-linux-gnueabi/4.2.2/../../../../arm-unknown-linux-gnueabi/bin/ld: cannot find -lexif
collect2: ld returned 1 exit status
make: *** [minidlna] Error 1

Can anyone help?

Does anyone have previous experience of succesfully cross-compiling minidlna for ARM. Hope the administrator looks into this and I find a solution.

Thanks in advance.

January 10, 2011 5:57 AM

Hi Liya,
where do you download all the libs required?

Discussion:    Add a Comment | Back to Top | Comments 1-25 of 29 | Latest Comment | 1 2 Next »

Add Your Reply

(will not be displayed)

Email me when comments are added to this thread

 
 

Please log in or register to participate in this community!

Log In

Remember

Not a member? Sign up!

Did you forget your password?

You can also log in using OpenID.

close this window
close this window