Wifi 论坛上看到有人困惑于这款路由器的无线配置。我自己不用无线,所以之前也没有折腾过。
昨天从公司带了一个无线网卡回来,想尝试一下如何配置。没想到这一个尝试引发了一堆问题。
记录一下过程。
1. OpenWRT wiki
WIKI 上的配置写的并不复杂,英文过得去的看看这个章节就可以了。
但我看到了这样一句话:
config wifi-device wifi device name
option type currently only broadcom and atheros
那么 WAG354G 到底是不是 Broadcom 的无线芯片呢?
在 OpenWRT 的 Device 列表里面,是这样介绍的:
V2——TI TNETW1350A
V1——TI TNETW1130 ACX111
同时又在 WAG354G 独立页面里面看到了:
The wireless chipset needs a firmware. You can download some firmwares for the ACX111 chipset here. Choose one firmware binary (I used the last version) named tiacx111c16 and upload it in the /lib/firmware/ folder of your router.
当时还没有仔细的看 Device 列表,以及自己路由器的芯片(后来仔细看过了,的确是TI TNETW1350A的)。于是就按照这篇说明下载了 ACX111 的 firmware 文件。结果放在 /lib/firmware/ 之后丝毫没有反应。
现在想想,如果是 V1 的机器应该就会反应了。所谓有反应就是能出现 wlan0 设备。
继续顺着 ACX 芯片的路走,在内核配置中找到了支持 acx 设备的选项。选中!编译!刷机!死翘……
其死亡症状和 Neup Openwrt 版本一模一样。终于知道为啥那个版本会刷死机器了。强加了一个不正常的模块,机器在开机的过程中应该卡住了。
二、Neptune354 固件
刷入之后无线部分无法正常工作。在 Neptune 系统中,eth0 似乎定义为了无线网卡。br0 定义为了交换芯片网卡。
尽管网页部分可以看到 Wireless 的设置内容。但怎么按都是没有反应的。
这里又花费了我半个小时的时间。
三、 Linksys 官方固件
1.01.58 可以在这里找到源码。可以在这里下载Bin文件(Linksys 中文化做得很棒)。
在刷了 1.01.58 之后无线部分完全正常,最明显的一个标识,Wireless 灯亮了。
其实 Neu 也是基于 Linksys 修改的,但为啥他不行呢?
版本!
Neu 的作者自己使用的是 V1 版本。
在 WAG354G 的源码页面并没有区分 V1 和V2 。但是实际上由于时间的早晚,各个版本的源码中包含的驱动是不同的。
Neu 编译的应该不是1.01.58版。早期的版本使用的是 acx 网卡。而Neu 作者给的 V2 版本固件,并没有考虑到这个问题。仅仅只是将 WA7A 和 WA3A 列了出来。尽管是两个固件,但他们是从一个源码出来的。
四、型号
说到底无线的问题就集中在一点了,到底是啥芯片呢?
我尝试搜索 “TI TNETW1350A”,第一次没啥结果。现在发现是“德州仪器”的。
但同时又很奇怪的在一个文件的源码里面看到了 “Broadcom” 的字样。
如果是 Broadcom 倒好解决了,如果是“德州仪器”就又要折腾了……
今晚休息,周六继续折腾无线部分。