前面的几篇Post中已经完成了立项时候的要求, 从OpenWRT的移植,到各个子功能项的构建测试, 基本完成了基本的路由器功能, 同时在加入了MPD后实现了多媒体音乐播放器功能. 但是还剩下一个外部存储设备的自动mount.
内核修改
因为外部的移动设备可能是FAT32文件系统, 也可能是NTFS等, 因此需要注意在内核中添加VFAT与NTFS的支持.
如何完成自动mount
自动mount, 在linux下, 我们都是使用udev的rules来完成, 当然在busybox的小系统中可能使用的mdev. 如果都是类似的.
在现代的Linux Desktop Distribution中,系统启动后, 一般都是根据fstab文件来mount 对应的设备.
在OpenWRT中, 也是借用的fstab另外自动mount设备. 对于像U盘和移动硬盘这样的Hotplug设备, OpenWRT中的fstab中有一个特别的section来完成.
参考: https://wiki.openwrt.org/doc/uci/fstab
根据上面的OpenWRT的文档, 我们可以知道要自动挂载, 可以在fstab的global的section中添加下面这些内容:
这个表示自动挂载fstab中所有mount section表示的设备, 假设我们的的U盘只有一个目录, 那么在插入之后就会生成/dev/sda1节点, 而且其文件系统为ext4, mount 到 /mnt目录下, 那么我们可以在fstab中添加下面这个mount section , 从而让系统可以自动mount我们的移动设备:
添加完成后我们保存测试即可.
插入U盘, 使用df命令查看:
然后我们就可以通过这个U盘来作为Music的存储目录了.
至此, 我们就完成了所有的功能.
以下是结项说明.
项目概述
根据最初申请的说明:
一步一步, 从最开始的开箱, OpenWRT的移植, 然后构建路由器需要的无线网络设备, 然后再到路由器的中转, AP功能, 另外还添加了MPD Server用来完成音乐的流媒体中心, 最后添加了对外部设备的自动挂载功能. 任务均完成.
这个路由器可以通过使用有线网络登陆来控制, 进入到luci web管理页面, 同时可以作为中继器使用. 而对于多媒体服务器, 我们可以使用移动设备, 或者scp网络功能拷贝mp3等格式的音频到板子的固定目录, 然后通过mpd client来连接播放, 完成流媒体功能.
硬件设计
这个多媒体路由器需要的硬件除了收到的板子, 还需要另外两个无线网卡, 我分别使用的一个TP-Link的WN821N的USB无线网卡, 另外的一个是基于Realtek的USB无线网卡.
试用IMX6UL 开发板 有两个USB口, 因为我们在后面还需要使用移动存储设备拷贝音频, 因此还需要一个USB HUB, 总结起来就是, 除此之外并不需要任何的硬件更改, imx6UL板子已经具备其他所有我们需要的, 包括两个有线网卡.
软件调试
我们采用的是分块根据功能一点点完成, 所以调试过程以及遇到的问题和注意事项都在对应的文章有说明.
从最开始的OpenWRT的移植, 因为使用LEDE遇到的问题, 到支持USB无线网卡,再到使用Wpa_supplicant.
要完成热点功能的Hostapd. 后面用到了mpd作为多媒体的服务, 以及最后用于自动挂载的mound, 中间还因为流量的中转用到了iptables.以上就是我们用到了的软件模块.
内核修改
因为外部的移动设备可能是FAT32文件系统, 也可能是NTFS等, 因此需要注意在内核中添加VFAT与NTFS的支持.
如何完成自动mount
自动mount, 在linux下, 我们都是使用udev的rules来完成, 当然在busybox的小系统中可能使用的mdev. 如果都是类似的.
在现代的Linux Desktop Distribution中,系统启动后, 一般都是根据fstab文件来mount 对应的设备.
在OpenWRT中, 也是借用的fstab另外自动mount设备. 对于像U盘和移动硬盘这样的Hotplug设备, OpenWRT中的fstab中有一个特别的section来完成.
参考: https://wiki.openwrt.org/doc/uci/fstab
根据上面的OpenWRT的文档, 我们可以知道要自动挂载, 可以在fstab的global的section中添加下面这些内容:
这个表示自动挂载fstab中所有mount section表示的设备, 假设我们的的U盘只有一个目录, 那么在插入之后就会生成/dev/sda1节点, 而且其文件系统为ext4, mount 到 /mnt目录下, 那么我们可以在fstab中添加下面这个mount section , 从而让系统可以自动mount我们的移动设备:
添加完成后我们保存测试即可.
插入U盘, 使用df命令查看:
然后我们就可以通过这个U盘来作为Music的存储目录了.
至此, 我们就完成了所有的功能.
以下是结项说明.
项目概述
根据最初申请的说明:
一步一步, 从最开始的开箱, OpenWRT的移植, 然后构建路由器需要的无线网络设备, 然后再到路由器的中转, AP功能, 另外还添加了MPD Server用来完成音乐的流媒体中心, 最后添加了对外部设备的自动挂载功能. 任务均完成.
这个路由器可以通过使用有线网络登陆来控制, 进入到luci web管理页面, 同时可以作为中继器使用. 而对于多媒体服务器, 我们可以使用移动设备, 或者scp网络功能拷贝mp3等格式的音频到板子的固定目录, 然后通过mpd client来连接播放, 完成流媒体功能.
硬件设计
这个多媒体路由器需要的硬件除了收到的板子, 还需要另外两个无线网卡, 我分别使用的一个TP-Link的WN821N的USB无线网卡, 另外的一个是基于Realtek的USB无线网卡.
试用IMX6UL 开发板 有两个USB口, 因为我们在后面还需要使用移动存储设备拷贝音频, 因此还需要一个USB HUB, 总结起来就是, 除此之外并不需要任何的硬件更改, imx6UL板子已经具备其他所有我们需要的, 包括两个有线网卡.
软件调试
我们采用的是分块根据功能一点点完成, 所以调试过程以及遇到的问题和注意事项都在对应的文章有说明.
从最开始的OpenWRT的移植, 因为使用LEDE遇到的问题, 到支持USB无线网卡,再到使用Wpa_supplicant.
要完成热点功能的Hostapd. 后面用到了mpd作为多媒体的服务, 以及最后用于自动挂载的mound, 中间还因为流量的中转用到了iptables.以上就是我们用到了的软件模块.