'Ya he descubierto que fallaba en mi caso. Hay archivos demasiado pesados para el minidlna y casca. Luego hay otros ficheros problemáticos, bien por el formato (me petaba en los .VOB) o por ser ficheros "corruptos".
Los logs tal como está configurado el minidlna no sirven de mucho, no se registra lo que estaba haciendo el minidlna antes de que el proceso de escaneo petase. Lo mejor es parar todos los servicios tipo samba, transmission, etc. para realizar un escaneo con el debug activado. Dejo los pasos:
1) Paramos el minidlna:
# /etc/init.d/minidlna stop
2) Arrancamos el minidlna con el debug y forzando el escaneo:
# /usr/bin/minidlna -f /tmp/minidlna.conf -d -R
Aquí veremos lo que hace el minidlna, tardará varios minutos en completar el escaneo y si tenemos algun fichero multimedia problemático no terminará nunca y tampoco tendremos ninguna pista de que anda haciendo el minidlna, simplemente se quedará sin hacer nada. Para detectar que se ha quedado pillado hacemos el paso 3) al mismo tiempo que el 2)
3) Abrimos otra sesión ssh y ahí hacemos periódicamente esto:
# dmesg | tail
En el momento que veamos algo como esto:
[ 3436.376000] [ 1394] 0 1394 376 18 0 0 0 ntpd
[ 3436.380000] [ 2209] 0 2209 306 38 0 0 0 dropbear
[ 3436.388000] [ 2210] 0 2210 380 24 0 0 0 ash
[ 3436.396000] [ 3127] 0 3127 306 38 0 0 0 dropbear
[ 3436.404000] [ 3128] 0 3128 378 21 0 0 0 ash
[ 3436.412000] [ 3142] 0 3142 2312 117 0 0 0 minidlna
[ 3436.420000] [ 3147] 0 3147 13884 12135 0 0 0 minidlna
[ 3436.428000] [ 3157] 0 3157 378 21 0 0 0 vi
[ 3436.436000] Out of memory: Kill process 3147 (minidlna) score 751 or sacrifice child
[ 3436.444000] Killed process 3147 (minidlna) total-vm:55536kB, anon-rss:48540kB, file-rss:0kB
será porque el escaneo del minidlna ha sido sacrificado por el sistema operativo. Nos vamos a la shell donde tenemos el demonio arrancado y miramos que fue lo último que hizo. En mi caso escaneaba una pelicula que ocupaba 11Gigas (ufff!). Pulsamos Control+C (se para el minidlna) y tenemos que sacar la película del directorio en el que minidlna escanea. Yo lo tengo configurado en el /etc/config/minidlna como:
list media_dir '/mnt/persa/multimedia'
Así que creo un directorio llamado "/mnt/persa/problematicas" y muevo la película ahí. Ahora volvemos al paso 2 y así hasta que no haya archivos problemáticos. Cuando lo consigamos veremos que el minidlna nos dice algo como "escaneo completado". Una vez completado ya tendremos la base de datos operativa y no será necesario realizar estos pasos. El demonio ya arrancará sin problemas y podremos disfrutar del dlna.
PD. Por si acaso he configurado el transmission para que grabe los archivos temporales fuera del ámbito del minidlna
