我有一个 Cisco WAP4410N 接入点,我想用它作为客户端连接到 WPA2 无线网络(用于 WLAN 服务监控目的)。
据说此接入点支持允许执行此操作的“无线客户端/中继器”模式。中继器功能是可选的(我取消选中该框,以便没有人可以通过无线方式连接到此接入点)。我已通过 SSH 验证接入点已配置为客户端而不是主设备。但它从未与我要求的 SSID 关联。这是 iwconfig 显示的内容:
ath04 IEEE 802.11ng ESSID:"myownssid"
Mode:Managed Channel:0 Access Point: Not-Associated
Bit Rate:0 kb/s Tx-Power:14 dBm Sensitivity=1/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/94 Signal level=161/162 Noise level=161/161
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
虽然我从未从命令行执行过此操作,但我想我可以使用 wpa_supplicant 或 wpa_client 来关联它,但我不知道如何在不编辑配置文件的情况下执行此操作,并且文件系统是只读的。此外,每次重启后我都必须手动运行这些命令。
如果可能的话,我想知道如何按照 Cisco 的方式做到这一点。如果不行,任何使这项工作可行的技巧都会有用。
编辑:这是最新固件 2.0.4.2。我发现并非所有文件系统都是只读的,因为 /var 和 /tmp 是以 ramfs 类型挂载的。
答案1
好的,我想我明白了。我通过 ssh 进入了接入点,我认为这是 Cisco 固件中的一个错误。
选择“无线客户端/中继器”模式后,将存储一个选项并重新启动系统。可以使用 nvram 命令读取选项,这个特定选项似乎是
wlan0_op_mode=UnversalClient
每次启动时,系统都会读取该选项并为 wpa_supplicant 生成合适的配置文件,并将其存储在 /var/wpasupp.cfg 中(/var 已安装在 RAM 中且可写入)。
该文件中存储的 SSID 和密码短语正确取自配置的第一个 SSID。但是生成配置文件的代码中有一个错误,因为它包含 wpa_supplicant 无法解析的一行。
此行内容如下:
ctrl_interface=/var/run/wpa_supplicant
现在,考虑到 wpa_supplicant 的其他版本的行为方式,这一行似乎没问题。但是 Cisco WAP4410N 中包含的这个特定版本的 wpa_supplicant 无法解析它,并且在使用调试选项 -d 运行时会显示这一点。
我的结论是,它应该从一开始就起作用,但是由于这个错误而没有起作用。
为了使其工作,必须修改此文件,并且每次启动后必须手动运行 wpa_supplicant。