近日换了新的华硕路由器,照例插上移动硬盘,然后开启USB应用中的媒体服务器:

媒体服务器页面

但是打开并应用之后,电视上看不到这个媒体设备,同时在电脑上的Windows“网络”浏览界面里也看不到。因此排除识别端的问题,那就是路由器上的媒体服务器出现了问题。

ssh登录路由器,发现minidlna进程并未运行。于是尝试手动运行该进程:

1
2
3
4
5
6
admin@RT-AX86U-F880:/tmp/home/root# minidlna -f /etc/minidlna.conf -d
[1970/01/27 06:34:34] minidlna.c:1315: warn: Starting MiniDLNA version 1.2.1.
[1970/01/27 06:34:34] minidlna.c:378: warn: Creating new database at /tmp/mnt/XXXX/.minidlna/files.db
rm: can't remove '/tmp/mnt/XXXX/.minidlna/art_cache/tmp/mnt/XXXX/Game/殻ノ少女': Directory not empty
......
[1970/01/27 06:34:34] minidlna.c:394: fatal: Failed to clean old file cache!  Exiting...

看起来是minidlna在启动的时候需要先清理目标分区上的 .minidlna 目录,但是出了问题,有些文件无法删除。我手动删了一下发现也删不掉,大概是以前的minidlna写文件的时候写坏了文件系统,或者直接就是有什么坏道。

找到问题了就好办,由于分区里面的文件很多,不想直接格式化硬盘,就把旧的 .minidlna 文件夹改了个名,然后就一切正常了。

P.S. 华硕路由器使用的是梅林系统,因此本文也适用于所有使用梅林系统的情况。