本节讲述在 Linux 系统中让笔记本开无线热点时应注意的问题。Archlinux Wiki (e 文) 内有一个比较详细的说明。尽管操作系统不一样,但是思路是一样的。
[% callout style=danger %]
很可能会失败
尽管在 Windows 系统中建立热点很容易,并且成功率很高,但是在 Linux 系统中并不是这样。因为 Linux 系统很多无线网卡驱动是社区开发的,受官方支持的程度有限。因此,
- 有些型号的无线网卡无解。“无解”意味着你没有必要为了寻找解决方案而继续浪费时间。
- 很多型号无线网卡不支持混合模式,也就是一边连着热点,一边开热点。
对于以上两种情况,你只能换回 Windows,或者买 (换) 一个对 Linux 系统支持良好的无线网卡,或者买一个路由器。mini PCI-E 或 USB 无线网卡的价格一般在 30 元左右。
[% endcallout %]
判断是否能开热点
是否能开热点
在命令行中输入
iw list
(如果提示“未找到命令”,那么请手动装一下叫 iw 的软件包。)
如果在列表的“Supported interface modes”中看到“AP”,那么说明可以开热点,否则无解。
如果嫌输出文字太多,可以用 grep 过滤一下:
iw list | grep -A 10 "Supported i"
这样输出结果就会直接以这一行开头。
是否支持混合模式
如果支持混合模式,这就意味着,你可以一边连着 Wifi 一边开热点,否则你只能一头插网线另一头开热点。
在命令行中输入
iw list | grep -A 5 "valid"
如果看到“valid interface combinations”那么很有希望。详见 Archlinux Wiki 的有关说明。
hostapd
hostapd 是一个用来开热点的软件。但是,需要注意两个问题:
- 它只管开热点,不负责连接热点之后如何获取 IP (DHCP) 等问题。因此,第一次配置好的时候,给设备分配静态 IP 是应该能连接的。但是为了使设备直接连接,还要做一系列配置。
- RTL8192CU (芯片) 的无线网卡需要使用定制的 hostapd。
- 网上有些配置文件写的是“wpa=3”,这样建立的热点可能无法正确连接。改成“wpa=2”就行了。
网络共享
仅仅用 hostapd 开了热点,设备是无法正常连接的 (无法获取 IP),也无法连接网络。这时有两种解决问题的思路,一个是网桥,一个是 NAT (DHCP 服务器 + 转发)。
网桥
网桥的配置比较简单。详见这里 (往底下看)。
NAT
这里有一个详细的操作步骤。因为这篇文章讲的是在一个嵌入式开发板中架设热点的过程,所以不要看有关装系统的部分。