[作品] 【IMX6UL开发板试用体验】OpenWRT中的移动存储设备挂载与结项

[复制链接]

技术员

发表于 2017-3-14 16:06:05   1109 查看 0 回复 显示全部楼层 倒序浏览
分享
本帖最后由 Tony_Ho 于 2017-4-10 10:32 编辑

前面的几篇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中添加下面这些内容:
  1. config 'global' 'automount'
  2.         option 'from_fstab' '1'
  3.         option 'anon_mount' '1'
复制代码

这个表示自动挂载fstab中所有mount section表示的设备, 假设我们的的U盘只有一个目录, 那么在插入之后就会生成/dev/sda1节点, 而且其文件系统为ext4, mount 到 /mnt目录下, 那么我们可以在fstab中添加下面这个mount section , 从而让系统可以自动mount我们的移动设备:
  1. config 'mount'
  2.         option 'target'   '/mnt'
  3.         option 'device'   '/dev/sda1'
  4.         option 'fstype'   'ext4'
  5.         option 'options'  'rw,sync'
  6.         option 'enabled'  '0'
  7.         option 'enabled_fsck' '0'
复制代码

添加完成后我们保存测试即可.
插入U盘, 使用df命令查看:
  1. Filesystem      Size  Used Avail Use% Mounted on
  2. /dev/sda1        15G   11G  3.7G  75% /mnt
复制代码
然后我们就可以通过这个U盘来作为Music的存储目录了.


至此, 我们就完成了所有的功能.

以下是结项说明.
项目概述
根据最初申请的说明:
项目名称:智能多媒体路由器

试用计划:项目计划完成的功能与试用实施步骤
1. 开箱, Linux Qt系统的构建, 包括kernel uboot
2. 移植OpenWRT或者LEDE到此板卡中, 从而让其具有路由器功能
3. 移植并驱动USB无线网卡,使得其可以有中转路由器的功能
4. 配置USB无线网卡使其具备AP功能, 成为一个路由器
5. 配置U盘或者移动硬盘,以此作为媒介, 用于存放Music
6. MPD与MPD Client从而让路由器有音乐播放功能
一步一步, 从最开始的开箱, 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.以上就是我们用到了的软件模块.

高级模式
您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表
-

推荐专区

技术干货集中营

专家问答

用户帮助┃咨询与建议┃版主议事

我的提问

工程师杂谈

工程师创意

工程师职场

论坛电子赛事

社区活动专版

发烧友活动

-

嵌入式论坛

ARM技术论坛

Android论坛

Linux论坛

单片机/MCU论坛

FPGA|CPLD|ASIC论坛

DSP论坛

嵌入式系统论坛

-

电源技术论坛

电源技术论坛

无线充电技术

-

硬件设计论坛

PCB设计论坛

电路设计论坛

电子元器件论坛

控制|传感

总线技术|接口技术

-

测试测量论坛

LabVIEW论坛

Matlab论坛

测试测量技术专区

仪器仪表技术专区

-

EDA设计论坛

multisim论坛

PADS技术论坛

Protel|AD|DXP论坛

Allegro论坛

proteus论坛|仿真论坛

EasyEDA-中国人自已的EDA工具

Orcad论坛

-

综合技术与应用

电机控制

智能电网

光电及显示

参考设计中心

汽车电子技术论坛

医疗电子论坛

-

开源硬件

DFRobot专区

树莓派论坛

智能硬件论坛

开发快智能硬件开发平台

Intel物联网开发者专区

Waveshare

乐美客SBC专区

Arduino论坛

BeagleBone论坛

机器人论坛

创客神器NanoPi

小钢炮CANNON

比派科技banana pi专区

-

无线通信论坛

无线通信技术专区

天线|RF射频|微波|雷达技术

-

IC设计论坛

芯片测试与失效分析

Mixed Signal/SOC[数模混合芯片设计]

Analog/RF IC设计

设计与制造封装测试

-

个人版区

阿东Verilog技术专版

直流马达驱动电路设计

LabVIEW英雄联盟

特权同学FPGA专区

-

厂商专区

灵动微电子 MM32

盈鹏飞嵌入式

TI论坛

TI Deyisupport社区

芯灵思嵌入式论坛

Tisan

米尔科技

庆科社区

WIZnet技术专区

Cypress技术论坛

飞凌嵌入式

Qualcomm技术论坛

英创嵌入式

机智云GoKit论坛

-

检测技术与质量

电磁兼容(EMC)设计与整改

安规知识论坛

检测与认证

-

消费电子论坛

手机技术论坛

平板电脑/mid论坛

音视/视频/机顶盒论坛

-

电子论坛综合区

聚丰众筹官方社区

新人报道区

聚丰供应链

-

论坛服务区

-

供求信息发布

供需广告

招聘┃求职发布区

电子展览展会专区