Unable to browser folder with subdirectories

Help
Marco
2011-08-08
2013-05-29
  • Marco
    Marco
    2011-08-08

    I try to use minidlna but I found a problem or bug in the implementation with didn’t allowe me to browse my media libraries. 
    If I have a foulter containing a subfoulder with an german “Umlaut” like ä,ü,ö or other the client lost the conection.
    Here is a debug trace of my side. Hope that help to understand the problem.
    Scanning fouler:
    scanner.c:719: info: Scanning /ftpData/media/Hoerspiele/Annwyn - Die Tore der Anderwelt (192 k, TbT)
    …..
    scanner.c:719: info: Scanning /ftpData/media/Hoerspiele/Annwyn - Die Tore der Anderwelt (192 k, TbT)/höhö

    Entring main foulder:
    upnphttp.c:648: debug: SOAPAction: urn:schemas-upnp-org:service:ContentDirectory:1#Browse
    upnpsoap.c:1486: debug: SoapMethod: Browse
    upnpsoap.c:1042: debug: Browsing ContentDirectory:
    * ObjectID: 0
    * Count: 10
    * StartingIndex: 0
    * BrowseFlag: BrowseDirectChildren
    * Filter: res,res@protocolInfo,res@duration,res@size,res@dlna:ifoFileURI,upnp:albumArtURI
    * SortCriteria: (null)
    upnpsoap.c:1112: debug: Browse SQL: SELECT o.OBJECT_ID, o.PARENT_ID, o.REF_ID, o.DETAIL_ID, o.CLASS, d.SIZE, d.TITLE, d.DURATION, d.BITRATE, d.SAMPLERATE, d.ARTIST, d.ALBUM, d.GENRE, d.COMMENT, d.CHANNELS, d.TRACK, d.DATE, d.RESOLUTION, d.THUMBNAIL, d.CREATOR, d.DLNA_PN, d.MIME, d.ALBUM_ART, d.DISC from OBJECTS o left join DETAILS d on (d.ID = o.DETAIL_ID) where PARENT_ID = '64'  limit 0, 10;
    upnphttp.c:1126: debug: HTTP RESPONSE: HTTP/1.1 200 OK
    Content-Type: text/xml; charset="utf-8"
    Connection: close
    Content-Length: 1923
    Server: Linux/2.6 DLNADOC/1.50 UPnP/1.0 MiniDLNA/1.0

    <?xml version="1.0" encoding="utf-8"?>
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:BrowseResponse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1"><Result>&lt;DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"&gt;
    &lt;container id="64$2" parentID="0" restricted="1" &gt;&lt;dc:title&gt;Alina Fox - Meisterdiebin&lt;/dc:title&gt;&lt;upnp:class&gt;object.container.storageFolder&lt;/upnp:class&gt;&lt;/container&gt;&lt;container id="64$3" parentID="0" restricted="1" &gt;&lt;dc:title&gt;Annwyn - Die Tore der Anderwelt (192 k, TbT)&lt;/dc:title&gt;&lt;upnp:class&gt;object.container.storageFolder&lt;/upnp:class&gt;&lt;/container&gt;&lt;container id="64$4" parentID="0" restricted="1" &gt;&lt;dc:title&gt;Astra Obscura&lt;/dc:title&gt;&lt;upnp:class&gt;object.container.storageFolder&lt;/upnp:class&gt;&lt;/container&gt;&lt;container id="64$5" parentID="0" restricted="1" &gt;&lt;dc:title&gt;Beyond the Veil&lt;/dc:title&gt;&lt;upnp:class&gt;object.container.storageFolder&lt;/upnp:class&gt;&lt;/container&gt;&lt;container id="64$6" parentID="0" restricted="1" &gt;&lt;dc:title&gt;Butler Parker&lt;/dc:title&gt;&lt;upnp:class&gt;object.container.storageFolder&lt;/upnp:class&gt;&lt;/container&gt;&lt;container id="64$0" parentID="0" restricted="1" &gt;&lt;dc:title&gt;Movies&lt;/dc:title&gt;&lt;upnp:class&gt;object.container.storageFolder&lt;/upnp:class&gt;&lt;/container&gt;&lt;container id="64$1" parentID="0" restricted="1" &gt;&lt;dc:title&gt;Serien&lt;/dc:title&gt;&lt;upnp:class&gt;object.container.storageFolder&lt;/upnp:class&gt;&lt;/container&gt;&lt;/DIDL-Lite&gt;</Result>
    <NumberReturned>7</NumberReturned>
    <TotalMatches>7</TotalMatches>
    <UpdateID>3</UpdateID></u:BrowseResponse></s:Body></s:Envelope>

    Trying to enter the “” foulder failed.
    minidlna.c:1195: debug: HTTP connection from 192.168.144.10:62282
    upnphttp.c:153: debug: Client found in cache.
    upnphttp.c:805: debug: HTTP REQUEST: POST /ctl/ContentDir HTTP/1.1
    HOST: 192.168.144.1:8200
    CONTENT-LENGTH: 514
    CONTENT-TYPE: text/xml; charset="utf-8"
    SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
    USER-AGENT: Darwin/10.4.0 UPnP/1.0 DLNADOC/1.50
    CONNECTION: close

    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
    s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <s:Body><u:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
    <ObjectID>64$3</ObjectID>
    <BrowseFlag>BrowseDirectChildren</BrowseFlag>
    <Filter>res,res@protocolInfo,res@duration,res@size,res@dlna:ifoFileURI,upnp:albumArtURI</Filter>
    <StartingIndex>0</StartingIndex>
    <RequestedCount>10</RequestedCount>
    <SortCriteria></SortCriteria>
    </u:Browse>
    </s:Body>
    </s:Envelope>

    upnphttp.c:648: debug: SOAPAction: urn:schemas-upnp-org:service:ContentDirectory:1#Browse
    upnpsoap.c:1486: debug: SoapMethod: Browse
    upnpsoap.c:1042: debug: Browsing ContentDirectory:
    * ObjectID: 64$3
    * Count: 10
    * StartingIndex: 0
    * BrowseFlag: BrowseDirectChildren
    * Filter: res,res@protocolInfo,res@duration,res@size,res@dlna:ifoFileURI,upnp:albumArtURI
    * SortCriteria: (null)
    upnpsoap.c:1112: debug: Browse SQL: SELECT o.OBJECT_ID, o.PARENT_ID, o.REF_ID, o.DETAIL_ID, o.CLASS, d.SIZE, d.TITLE, d.DURATION, d.BITRATE, d.SAMPLERATE, d.ARTIST, d.ALBUM, d.GENRE, d.COMMENT, d.CHANNELS, d.TRACK, d.DATE, d.RESOLUTION, d.THUMBNAIL, d.CREATOR, d.DLNA_PN, d.MIME, d.ALBUM_ART, d.DISC from OBJECTS o left join DETAILS d on (d.ID = o.DETAIL_ID) where PARENT_ID = '64$3'  limit 0, 10;
    upnphttp.c:1126: debug: HTTP RESPONSE: HTTP/1.1 200 OK
    Content-Type: text/xml; charset="utf-8"
    Connection: close
    Content-Length: 1136
    Server: Linux/2.6 DLNADOC/1.50 UPnP/1.0 MiniDLNA/1.0

    <?xml version="1.0" encoding="utf-8"?>
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:BrowseResponse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1"><Result>&lt;DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"&gt;
    &lt;container id="64$3$0" parentID="64$3" restricted="1" &gt;&lt;dc:title&gt;Teil 1&lt;/dc:title&gt;&lt;upnp:class&gt;object.container.storageFolder&lt;/upnp:class&gt;&lt;/container&gt;&lt;container id="64$3$1" parentID="64$3" restricted="1" &gt;&lt;dc:title&gt;Teil 2&lt;/dc:title&gt;&lt;upnp:class&gt;object.container.storageFolder&lt;/upnp:class&gt;&lt;/container&gt;&lt;container id="64$3$2" parentID="64$3" restricted="1" &gt;&lt;dc:title&gt;höhö&lt;/dc:title&gt;&lt;upnp:class&gt;object.container.storageFolder&lt;/upnp:class&gt;&lt;/container&gt;&lt;/DIDL-Lite&gt;</Result>
    <NumberReturned>3</NumberReturned>
    <TotalMatches>3</TotalMatches>
    <UpdateID>4</UpdateID></u:BrowseResponse></s:Body></s:Envelope>

    If I have one of this chars in my main foulder I can online scroll down until a foulder with this will request.
    I think my file system is ISO-8859-1 and not ISO-8. Could this be the problem?

    Hope that somebody can help help.
    Kind regards
    Marco

     
  • Justin Maggard
    Justin Maggard
    2011-08-08

    What type of client is this?  Some clients do not support UTF-8, but it looks like minidlna is doing the right thing here.

     
  • Marco
    Marco
    2011-08-09

    I'm trying this with an Sony Bravia, IPod Touch an Samsung Galaxy-Tab.

     
  • Marco
    Marco
    2011-08-12

    Any hint's or idears?

     
  • Marco
    Marco
    2011-08-17

    *push*

     
  • Justin Maggard
    Justin Maggard
    2011-08-17

    Can you browse folders with UPnP-Inspector?  What OS are you running?  What filesystem?  Mount options?

     
  • Marco
    Marco
    2011-08-18

    i can't see the server with UPnP-Inspector. But I can se them with WMP 11.
    The Device Validation Toll (http://opentools.homeip.net/dev-tools-for-upnp) crashed on test.
    The OS for the server is the FLI4L .. a smal linux router.
    I mount the ext3 usb disk with this: mount /dev/sda1 /ftpData/

     
  • Marco
    Marco
    2011-08-18

    An alsow the minidlna server:
    minidlna.c:1195: debug: HTTP connection from 192.168.144.6:59526
    upnphttp.c:153: debug: Client found in cache.
    upnphttp.c:805: debug: HTTP REQUEST: POST /ctl/ContentDir HTTP/1.1
    HOST: 192.168.144.1:8200
    SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
    CONTENT-TYPE: text/xml; charset="utf-8"
    Content-Length: 510

    <?xml version="1.0" encoding="utf-8"?>
    <s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
       <s:Body>
          <u:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
             <ObjectID />
             <BrowseFlag>BrowseMetadata</BrowseFlag>
             <Filter />
             <StartingIndex>0</StartingIndex>
             <RequestedCount>0</RequestedCount>
             <SortCriteria />
          </u:Browse>
       </s:Body>
    </s:Envelope>
    upnphttp.c:648: debug: SOAPAction: urn:schemas-upnp-org:service:ContentDirectory:1#Browse
    upnpsoap.c:1486: debug: SoapMethod: Browse
    upnpsoap.c:1546: warn: Returning UPnPError 701: No such object error
    upnphttp.c:1126: debug: HTTP RESPONSE: HTTP/1.1 500 Internal Server Error
    Content-Type: text/xml; charset="utf-8"
    Connection: close
    Content-Length: 404
    Server: Linux/2.6 DLNADOC/1.50 UPnP/1.0 MiniDLNA/1.0

    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><s:Fault><faultcode>s:Client</faultcode><faultstring>UPnPError</faultstring><detail><UPnPError xmlns="urn:schemas-upnp-org:control-1-0"><errorCode>701</errorCode><errorDescription>No such object error</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
    *** glibc detected *** free(): invalid pointer: 0x08233420 ***
    Aborted

     
  • Justin Maggard
    Justin Maggard
    2011-08-19

    Where did that request come from?  That's not a valid request, but still we shouldn't crash.  So that part has been fixed in CVS.

    Regarding your initial issue, does you kernel have CONFIG_NLS_UTF8 enabled?  Using UTF-8 characters is not really a related to ext3.  Ext3 doesn't care what characters you use as long as there are no control characters or slashes. You just need to tell the rest of the system to use the proper locale.  How did you even get the files onto your system?

     
  • Marco
    Marco
    2011-08-19

    The request come by OS Win7 client with the Device Validation Tool.
    How can I check the  kernal is CONFIG_NLS_UTF8 enabled? (I'm no a Linux Prof. , sorry)
    I transfare the files by ftp to the server. With the comand "ls" I see all characters correctly.
    Could be a hint: When I try to use the MediaTomb I have to set this option:
      <import hidden-files="no">
        <filesystem-charset>ISO-8859-1</filesystem-charset>
        <metadata-charset>UTF-8</metadata-charset>
        <playlist-charset>UTF-8</playlist-charset>
    ..

    But Mediatomb have no acteull release for a static version like youres. And I'm not able to compile from CVS/SVN.
    So I hope that this problem can be fixed. :)

     
  • Marco
    Marco
    2011-08-19

    Sorry for the question, but is it posible that you can tell me how to buil the static version.
    Got here an actual knoppix system but don't know how to build a static version like the minidlna_1.0.21_static.tar.gz on the download page. So I would be able to compile the new CVS version.

     
  • Justin Maggard
    Justin Maggard
    2011-08-19

    It would really be a good idea to use UTF-8 filenames.  You could try using the convmv utility (http://freshmeat.net/projects/convmv/).