Ubuntu台式机如何用usb无线网卡共享网络

Ubuntu台式机如何用usb无线网卡共享网络

Ubuntu台式机如何用usb无线网卡共享网络
Walker Xu

由于工作需要,要在ubuntu台式机上搭建一个wifi热点,供手机联网,在这里记录一下,因为确实有很多坑。
usb无线网卡的选择,要满足两个条件,支持模拟AP功能,和支持linux系统或能找到对应芯片组的linux驱动。支持softAP android手机才能正常连接。测试工具只支持ubuntu,所以网卡只能工作在linux上。我选择了tenda u1和水星MW150UH两款usb无线网卡,并在京东下单,经过调试只有tenda u1可以正常使用,mw150uh暂时没有办法支持。
所以后边的实现都是基于tenda u1的。
驱动的安装,从光盘或官网上下载驱动,解压到本地
(1)不要管什么install脚本什么的,直接进入目录RTL8192EU_linux_v4.3.15_14701_BTCOEX20150615-41.20150715/driver/rtl8192EU_linux_v4.3.15_14701.20150715_BTCOEX20150615-41$
(2)编辑include/autoconf.h文件,打开宏CONFIG_IOCTL_CFG80211和RTW_USE_CFG80211_STA_EVENT,目的是打开softAP模式。
(3)然后make,编译成功后本地会生成8192eu.ko
(4)插上usb网卡,执行sudo insmod 8192eu.ko挂载驱动
(5)用ifconfig命令查看,网卡是否正确识别,正确识别的话,命令会输出如下信息
wlan0 Link encap:Ethernet HWaddr 50:2b:73:c0:3e:8e

UP BROADCAST MULTICAST  MTU:1500  Metric:1      RX packets:0 errors:0 dropped:0 overruns:0 frame:0      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0      collisions:0 txqueuelen:1000       RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

用iw list命令,查看挂载的网卡是否支持softAP功能,主要看supported interface modes,support rx frame,support tx frame是否包含AP。如果如下图显示证明支持softAP模式,可以继续下边的工作了。
Wiphy phy0

Band 1:    Capabilities: 0x1862        HT20/HT40        Static SM Power Save        RX HT20 SGI        RX HT40 SGI        No RX STBC        Max AMSDU length: 7935 bytes        DSSS/CCK HT40    Maximum RX AMPDU length 65535 bytes (exponent: 0x003)    Minimum RX AMPDU time spacing: 16 usec (0x07)    HT TX/RX MCS rate indexes supported: 0-15, 32    Frequencies:        * 2412 MHz [1] (20.0 dBm)        * 2417 MHz [2] (20.0 dBm)        * 2422 MHz [3] (20.0 dBm)        * 2427 MHz [4] (20.0 dBm)        * 2432 MHz [5] (20.0 dBm)        * 2437 MHz [6] (20.0 dBm)        * 2442 MHz [7] (20.0 dBm)        * 2447 MHz [8] (20.0 dBm)        * 2452 MHz [9] (20.0 dBm)        * 2457 MHz [10] (20.0 dBm)        * 2462 MHz [11] (20.0 dBm)        * 2467 MHz [12] (20.0 dBm) (passive scanning, no IBSS)        * 2472 MHz [13] (20.0 dBm) (passive scanning, no IBSS)        * 2484 MHz [14] (disabled)    Bitrates (non-HT):        * 1.0 Mbps        * 2.0 Mbps        * 5.5 Mbps        * 11.0 Mbps        * 6.0 Mbps        * 9.0 Mbps        * 12.0 Mbps        * 18.0 Mbps        * 24.0 Mbps        * 36.0 Mbps        * 48.0 Mbps        * 54.0 Mbpsmax # scan SSIDs: 9max scan IEs length: 2304 bytesCoverage class: 0 (up to 0m)Supported Ciphers:    * WEP40 (00-0f-ac:1)    * WEP104 (00-0f-ac:5)    * TKIP (00-0f-ac:2)    * CCMP (00-0f-ac:4)Available Antennas: TX 0 RX 0Supported interface modes:     * IBSS     * managed     * AP     * monitor     * P2P-client     * P2P-GOsoftware interface modes (can always be added):     * monitorinterface combinations are not supportedSupported commands:     * new_interface     * set_interface     * new_key     * new_beacon     * new_station     * set_bss     * join_ibss     * set_pmksa     * del_pmksa     * flush_pmksa     * remain_on_channel     * action     * set_channel     * connect     * disconnectSupported TX frame types:     * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0     * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0     * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0     * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0     * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0     * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0Supported RX frame types:     * IBSS: 0xd0     * managed: 0x40 0xd0     * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0     * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0     * P2P-client: 0x40 0xd0     * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0WoWLAN support:     * wake up on anything (device continues operating normally)

上边已经讲了如何安装tenda u1的驱动,以及如何判断该网卡是否正确识别和支持softAP,这只是实现网络共享的一小步,都说万事开头难,实际后边更难。我们一步步来。
首先不要听网上或者官方文档说的用hostpad,ap-hotspot,hack network manager等方式,绝对坑你没商量。第一步要做的就是检查你的ubuntu版本,必须升级到14.04或以上,不然不用看下文了,自己折腾去。
在ubuntu software center搜索network,找到kde-nm--connection-editor这个软件,安装。不要用系统自带的network manager,它不支持建立AP模式热点,kde-nm-connection-editor可以。
在终端命令行输入kde-nm-connection-manager启动配置界面,然后添加一系列操作如下图完成一个无线网络的添加。


4.这个时候只是创建了一个无线AP,要启动它还要,点开右上角ubuntu的网络连接,选择connect to hidden wi-fi network,然后选择我们之前创建的connection name,点connect,AP开启,快用android手机或苹果手机或电脑搜索下,连接看能否正常使用,经测试正常使用。

推荐阅读