timiil
无才可去补单车

本人是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高手指导下。

posted on 2013-05-05 22:03  timiil  阅读(2327)  评论(0编辑  收藏  举报