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 Mbps
max # scan SSIDs: 9
max scan IEs length: 2304 bytes
Coverage 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 0
Supported interface modes:
* IBSS
* managed
* AP
* monitor
* P2P-client
* P2P-GO
software interface modes (can always be added):
* monitor
interface combinations are not supported
Supported 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
* disconnect
Supported 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 0xf0
Supported 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 0xd0
WoWLAN 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手机或苹果手机或电脑搜索下,连接看能否正常使用,经测试正常使用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。