本人是openwrt小白,之前一直没有好好学习,最近入了一个水星mw4530R,正好用于折腾。 折腾的目标大约包括:
1, 脱机下载
2, 播放音乐
3, Airplay客户端
4, USB设备共享(键盘鼠标)
5, 挂载摄像头
写下本文就是希望把过程步骤记录下来,作为学习笔记吧。错误的地方待指正。
1, 脱机下载
原来买这路由就是看中它128MB内存,跑BT应该会给力点,不过现在PT站点都被那啥了。 还是只能http下载和迅雷离线了。 固件内已经包括了Aria2,直接可用。 但aria2自带的webui也有点太丑了,而且正在下载的时候很容易访问不了。 好在很容易找到别的客户端,我用的是
https://github.com/ziahamza/webui-aria2
下载下来放在电脑硬盘就可以用Chrome打开。 当然,缺点是不能在ios和android上添加下载了。
还有一个问题是这样的网页不会记录路由的地址,每次都需要在Settings菜单内添加。解决办法是:
修改 js\services\rpc\rpc.js 查找configurations = [{ host: 修改host:的值
如果需要在iOS设备上控制arial2,也可以安装应用ADM
2, 用路由播放音乐
很多朋友都觉得这个比较蛋疼。 我是考虑到路由本身放置在客厅,长期开机工作,如果可以顺便播放一下音乐,这样不用劳动htpc或者高清播放机来输出了,用android和ios设备控制播放曲目和音量。
买路由的时候顺便向商家买了一个罗技的usb声卡,只需30元。
参考 http://blog.csdn.net/mirkerson/article/details/7287510 安装必要的软件包
编辑mpd配置文件
vi /etc/mpd.conf
配置基本如上。 貌似现在版本的MPD有些配置项已经废弃,所以不能完全照搬前述博文的配置内容
mixer_type 设置为software是必须的,否则我们远程控制mpd的时候不能控制音量。
安装音量设置工具
opkg update
opkg install alsa-utils
#alsamixer #图形界面条件音量,用上下箭头调节
#amixer set Speaker 30% 直接设置音量 (Speaker是需要执行amixer查看当前设备名称)
这样mpd和他的客户端mpc我们安装好了。 在路由的启动项脚本我加入:
mpd #启动音频播放服务值守程序
amixer set Speaker 10% #设置音量
Android控制器,我安装了MPDroid, IPad上我购买了正版的MPad, win8上使用了GmpcPortable, 三个平台的软件都基本满足要求,找歌,切歌都可以。
唯一的少少问题,是偶然播放mp3会有杂音,如果我们Pause一下播放器再继续,就会消失此杂音。 未知如何解决,或是另外购买别的usb 声卡可以解决? 有知道的朋友还请告知解决办法。
3, 卸载硬盘
如果我们需要关闭路由,为了保护硬盘数据安全,我们还是应该首先把usb移动硬盘卸载。为此我写了一个unplug.sh脚本:
kill -9 $(lsof -t $1)
umount $
hdparm -Y $2
执行此脚本: #sh unplug.sh mnt/sda7 /dev/sda
当然,我们为此需要安装lsof和hdparm两个包。
4, USB设备共享
这是另一个蛋痛的应用。 我的win平板AcerW700只有一个USB接口。平时外出我会用蓝牙键盘和鼠标。 但回到家,还是希望使用手感更好的键鼠。但如果使用无线鼠标,要占用唯一的USB 接口,还得来回拆装接收器。 所以我就希望把无线键鼠的接收器插到路由上。 当手提电脑进入路由范围的时候就可以使用这个虚拟的输入设备了。
参考文章: http://blog.sina.com.cn/s/blog_5d34020101018euz.html
首先我直接安装usbip是失败的,报一个依赖错误。 为此:
opkg --force-depends install usbip-server #强制安装
这样就可以了,然后我们可以执行:
usbip list -l #查看本地的usb设备
如图,可以看到第一个设备是USB声卡,第二个是硬盘,第三个 1-1.4就是一个雷柏的5G无线鼠标的接收器。
以下两句代码放在启动脚本:
usbip bind --busid=1-1.4 #共享此设备
usbipd -D #以后台方式运行usbip的守护程序
至此完成了服务端的设置。
首先我们到http://usbip.sourceforge.net/ 下载最新版本的驱动和客户端程序。驱动需要在设备管理器手动安装即可(我测试的系统是win8 64位)
如前文所述,我也碰到了windows客户端访问不了服务器的情况,签出代码,
修改windows客户端源码
#define USBIP_VERSION 0x000106
=>
#define USBIP_VERSION 0x000111
编译好之后则可以在windows列出服务端绑定设备:
usbip -l 192.168.1.1
执行附加虚拟usb设备:
usbip -a 192.168.1.1 1-1.4
然后? 按道理我们就可以使用USB设备了。 但我测试了3个雷柏的鼠标,分别是2个5GHz和1个2.4Ghz的无线鼠标,其中3100P成功被系统认出,非常顺利的使用中。 另外两个鼠标就用不了,我还搞不清楚是我的windows的驱动问题,还是usbip的兼容性问题了。
--------------------------------------------------------------------------------
一口气把这几天学习游玩openwrt的流水账记录下来了。文字记述得很乱。请各路openwrt高手指导下。