wrt3200acm安装openwrt折腾记

于由astupidcoder发布

题记:在折腾的路上,你永远不知道自己会遇到什么问题。

买了wrt3200acm以后,一直想装openwrt,但是临时有事,自己也嫌麻烦,就没有装,五一假期终于得空,就拿来练了一下手,结果一路趟坑不少,简直是泪目。

坑一:wrt3200acm暗搓搓升级了硬件

关于wrt3200acm的硬件信息,可见DeviWiki-wrt3200acm
这种刷固件的事情,即使外界号称再简单,我也是很谨慎的,毕竟从诺基亚5320一路折腾各种设备到现在,玩坏的砖也有那么好几块了。所以开始的时候我就决定去openwrt官网上看看情况。
在openwrt:支持的设备中查看了相内容,果然有新坑,在2017年大概10月的时候,linksys暗搓搓地升级了硬件,见[wrt3200acm新硬件](NEW Linksys WRT3200ACM with the new Winbond chip W29N02GV),官方镜像下载页面marvell ebu设备的镜像中放出的固件都是2017年8月的,明显不可能支持新设备。后来在openwrt:linksys-AC-series中看到下图:
3200acm-new-chip
看到这个patch是2月就提交了,琢磨着这么久了不会还没有合并到官方源里面去吧。就去Github:openwrt中看了一眼,发现Github:openwrt-patches中已经有了005-linksys_hardcode_nand_ecc_settings.patch这个文件,可见已经被吸收到官方源里面去了。
接下来想到的自然是自己编译openwrt了。
编译过程就不表了,因为反正我没有一次成功过。只要我在make menuconfig中选择了marvell ebu 处理器和wrt3200acm设备后,编译就绝对内存溢出。我虚拟机给了6G内存,加上12G的swap,编译到一半仍然是内存耗尽。
没办法啊,不让老子玩啊。
这可咋整,在百度上倒是找到了一些第三方固件,关键是路由器这东西,我不敢装其他人给的固件啊,于是继续在openwrt:linksys-AC-series里搜索有用的消息,后来发现有个第三方固件的推荐,就是Third party builds,我想着既然是官方推荐,应该不会有问题,就下载了,而且还发现了这个第三方固件的官网地址,如下:wrt系列第三方固件

填坑一

在填坑一的时候,因为编译比较慢,而且我重复编译了两次,耗了一天的时间,后来下载第三方固件后就简单了。
根据要求:绝对不要用无线连接刷固件,我用有线连接好路由,当时路由还是官方页面,我忘了截图了。就是在路由器升级那个界面,选择刚下载的第三方固件,上传等着升级就好了。
大约上了个大厕,回来就刷好了,192.168.1.1变成了Luci登陆界面,第一次会要求输入root密码,输入就行。
之后在Luci-主机验证界面设置ssh的密码,或者直接用SSH公钥进行免密登陆,这个设置过程就不赘述了。

坑二:Xware已经停更很久了

其实安装openwrt的初衷,主要是为了挂硬盘做家庭内部共享来看电影,那显然需要一个下载工具。Xware已经停更很久了,网上下载的不少Xware版本都不支持我这款路由,后来翻了好多论坛的信息,发现有个哥们提到Netgear 6300V2的Xware可用于这款路由,于是下载下来试了试……
真的可以。
openwrt-list-of-Xware,找到6300v2那个zip下载就可以了。
+ 安装Xware
命令如下(假设已经ssh到路由了):

wget http://downloads.openwrt.org.cn/software/xware1.0.31/Xware1.0.31_netgear_6300v2.zip
unzip Xware1.0.31_netgear_6300v2.zip
cd Xware
./portal

之后会得到一个code,是用来在迅雷-远程下载页面绑定的,进去后在下图选择添加,输入激活码即可。
迅雷添加设备
之后

curl http://192.168.1.125:9000/getsysinfo
可用于检测状态,将得到类似以下结果
[ 0, 1, 1, 0, "4XXXX1",1, "2XX_X.X.X.1XX", "", 1 ]
其中有用的几项为:
第一项:0表示返回结果成功
第二项:1表示检测网络正常,0表示检测网络异常
第四项:1表示已绑定成功,0表示未绑定
第五项:未绑定的情况下,为绑定的需要的激活码
第六项:1表示磁盘挂载检测成功,0表示磁盘挂载检测失败

只要显示了你的迅雷账号名,就说明搞定了。
要使得你的迅雷能够下载,还需要在/mnt/下有挂载一个U盘/硬盘/文件夹。
+ 挂载硬盘
据说ntfs的硬盘在网速大于100M的时候性能不是很好,网友建议格式化成ext4或者ext3格式。

opkg install fdisk e2fsprogs
mkfs.ext4 /dev/sda1 #未必一定是sda1,看自己实际情况
mount -t ext4 /dev/sda1 /mnt/Movie/

之后再进入/mnt/Movie文件夹会发现里面多了thunderdb文件夹和TDDOWNLOAD文件夹,说明Xware的设置已经OK了。
以后直接在迅雷-远程下载中添加下载任务,就直接下载到硬盘上了。
+ 坑内坑:迅雷有很多资源不能下载
迅雷做大了,很多时候因为版权、色情等原因,一些资源就不能下载了,所以需要一些其他的下载方式。
接下来就是新坑,ARIA2

坑三:aria2与https

其实aria2的安装是超友好的,无论是直接luci页面安装,还是ssh安装都很友好,蛋疼在于webui的安装。

opkg install aria2
opkg install luci-app-aria2
opkg install luci-i18n-aria2-zh-cn

不建议安装aria2-webui或者yaaw
为什么呢?这里就有个大坑在里面,一会再说,我们先说aria2的配置,直接在Luci界面配置就行了。
说实话,刚开始我是拒绝Luci的,因为我觉得真正的极客就应该只使用ssh,vim配置……后来发现Luci很好用啊……
在服务>aria2配置里看到下图。基本设置就这样就OK,令牌随机生成一个就行。
Luci-aria2配置
在文件和目录里面把默认下载路径改为挂载路径即可
Luci-aria2配置2
之后保存和应用,接着点下面的查看
Luci-查看json
复制出现的地址备用,地址格式形如:http://token:XXXXXXXXXbvwy8tlrh2tj8cjw0mkwy@192.168.1.1:6800/jsonrpc
为什么不推荐安装aria2-webui或者yaaw呢?这里就有个大坑在里面。
因为这里安装的webui和yaaw要通过192.168.1.1/aria2-webui或者192.168.1.1/yaaw来访问,但是openwrt里内置的http是由uhttpd提供的,而uhttp的配置文件/etc/config/uhttpd里有个配置项是:
option redirect_https '1'
这就会导致所有企图对192.168.1.1的连接,都会被重定向到https连接上去,也就是443端口,所以你要么把这句话改成option redirect_https '0',之后再/etc/init.d/uhttpd restart,这样才可用,要么就会在webui里无限遇到无法连接,同时会显示Web sockets not working due to Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.,或者在yaaw里遇到internal server error,其实你是严格按照教程坐下来的,但是你会发现yaaw和webui仍然是永远连接不上,这种莫名其妙的抓狂感,就是坑三。
所以索性直接不装aria2-webui或者yaaw,用其他方式来替代。
替代方式如下:
Chrome插件两枚,火狐选手请自寻。不用Chrome也不用火狐的选手,显然不会来折腾openwrt:
yaaw2
115下载助手
无法连接的可以从下面两个链接下载,但是不保证是最新的,因为我以后可能不会老更新这篇文章。
yaaw2
115下载助手
把下载下来的文件拖到chrome扩展程序页面就可以安装。
设置方式如下图:
yaaw2
yaaw2
115助手,打开设置后把刚才粘贴的那个http://token:XXXXXXXXXbvwy8tlrh2tj8cjw0mkwy@192.168.1.1:6800/jsonrpc粘贴进去即可。
115设置助手
之后愉快地导出就行了。比openwrt自带的那个webui和yaaw填不尽的坑好要的多啊。

坑四:设置samba共享

主要是依据:CSDN-openwrt设置samba
这里面有这么几句话要特别注意:
Openwrt的samba配置是先读取/etc/config/samba,结合/etc/samba/smb.conf.template文件,生成配置文件/etc/samba/smb.conf,用户只需修改/etc/config/samba和/etc/samba/smb.conf.template文件,然后设置samba用户与密码。
也就是说,你去修改/etc/samba/smb.conf是没有用的,修改了也会在重启后被自动修改掉。
如果你不想要共享home文件夹,在/etc/config/samba中把option 'homes' '1'后面的1改为0就行了。
其实我也不想用root账户登录,所以我还新建了一个专门的samba用户,但发现openwrt没有useradd指令,还需要装一下:

opkg install shadow-common
opkg install shadow-useradd
useradd samba
passwd samba

之后按教程进行就是了。现在终于能愉快地双下载机(Xware和Aria2下载),以及samba共享资料了。
据说ftp的传输性能要优于samba……谁知道呢,就这样吧。

最后还有个莫名坑,如果信道宽度设置成160MHz的话,Wifi会不定时断开,原因尚不明确,内核日志倒是有错误代码,但网上并没有解决方案,只能估计是wifi驱动的问题,亲测设置成80MHz的信道宽度即可解决问题。


0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据。