Ubuntu下切换无线网卡驱动使之支持 AP 模式,并建立安卓可用的 WIFI 热点

包含网卡/无线网的网络问题和ADSL/校园网/宽带拨号支持及代理/共享等网络使用问题
XuQiankun
帖子: 33
注册时间: 2014-01-22 16:43
系统: Ubuntu

Ubuntu下切换无线网卡驱动使之支持 AP 模式,并建立安卓可用的 WIFI 热点

#1

帖子 XuQiankun » 2014-03-01 19:18

文章直接复制过来的,参考链接多了点,原文在此(包含参考链接):https://blog-kongkong.rhcloud.com/?p=65 自己写的,所以搬运过来没有侵权问题。

现在有一个问题就是:在下文中切换网卡驱动后,重启系统,驱动又变回原来的那个了。所以求达人教教怎么写入那个配置,重启不失效。

以下原文:
拿到N7之后,第一个想到的就是用笔记本建个热点给N7用了。

这里有个Ubuntu下建立AP模式热点的简易方法:
How To Set Up A Wireless Hotspot (Access Point Mode) That Supports Android In Ubuntu:http://www.webupd8.org/2013/06/how-to-s ... ccess.html

这篇文章可能要科学上网才能看到,所以我简单介绍以下步骤。
首先安装ap-hotspot:

代码: 全选

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install ap-hotspot
然后运行:

代码: 全选

sudo ap-hotspot start
第一次运行“start”会要求你输入网络信息与热点名称密码等。
下次直接运行上面的命令就OK了。

要查看ap-hotsopt的所有指令,直接输入“ap-hotspot”即可

但是当我“sudo ap-hotspot”之后,竟然提示我的网卡不支持AP模式的热点!无奈之下只能求助google,这才知道利用Ubuntu网卡驱动一般只支持AD-HOC热点,而该热点安卓原生是不支持的。所以只能再次求助google。
经过几天研究后,终于发现我的Broadcom网卡并不是不支持AP模式热点,只是使用的驱动不对而已。

如何切换驱动以让无线网卡在Ubuntu下支持AP模式呢?如下:

首先查看你的当前网卡驱动到底支不支持AP模式,终端输入:

代码: 全选

ifconfig
输出信息中很容易成可以看出你的无线网卡是哪个,比如我的信息是:(以下信息经过简化,具体的会复杂一些)

代码: 全选

eth0      Link encap:Ethernet  HWaddr 84:34:97:6b:0b:4d  

lo        Link encap:Local Loopback  

wlan0     Link encap:Ethernet  HWaddr 08:3e:8e:1f:99:76
显而易见我的无线网卡是“wlan0”

然后查看无线网卡“wlan0”驱动的具体信息:</pre>

代码: 全选

ethtool -i wlan0
若提示无ethtool此工具,可以安装一个:

代码: 全选

sudo apt-get install ethtool
我的输出结果第一行就是:

代码: 全选

driver: wl0
可见驱动是“wl0”。

然后是最关键的,确定你的当前无线网卡驱动到底支不支持AP模式:

代码: 全选

xuqiankun@xuqiankun-Ubuntu:~$ sudo iwconfig wlan0 mode master
Password: 
Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlan0 ; Invalid argument.
可以看到执行错误,所以不支持AP模式了。
有些新的网卡用的是mac80211 framework,所有要用以下方法测试,终端输入:

代码: 全选

iw list
我的输出:

代码: 全选

Supported interface modes:
		 * IBSS
		 * managed
可以看到supported interface modes下面并没有“AP”,所以我的网卡是确定不支持AP模式了。

以上测试方法参考自http://ihacklog.com/post/use-hostapd-to ... linux.html荒野无灯的博客

本来都到这一步了,只能用荒野无灯推荐的水星USB网卡了。但是天无绝人之路!(以下只在Broadcom无线网卡上测试过,其余品牌网卡仅供参考)

我在http://ihacklog.com/post/use-hostapd-to ... linux.html驱动支持列表中看到,Broadcom网卡的四种驱动“b43”“b43legacy”“brcmfmac”“brcmsmac”中,只有brcmfmac一种不支持AP模式的WIFI热点。但是我的明明是Broadcom网卡,为什么驱动却是莫名其妙的“wl0”呢?
是不是可以换成支持AP模式的驱动,我的笔记本就可以建立AP模式的热点呢?于是在网上狂搜一番,终于给我找到了个解决方法。
首先查看你的无线网卡驱动芯片:

代码: 全选

lspci -vvnn | grep 14e4
我的输出信息:

代码: 全选

08:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter [14e4:4727] (rev 01)
可以看到,我的Chip ID 是 BCM4313,PCI-ID 是 [14e4:432b]。所以我的显卡芯片是BCM4313。

https://help.ubuntu.com/community/WifiD ... t%20accessWifiDocs/Driver/bcm43xx</a>中的“Drivers available in Ubuntu”中,可以看到芯片为“BCM4313”的网卡支持的驱动有“wl”与“brcmsmac”两种,我的默认就是“wl”这个坑爹货了。又从http://ihacklog.com/post/use-hostapd-to ... linux.html驱动支持列表看到“brcmsmac”是支持AP模式的。于是果断动手。

先安装 firmware-b43-installer package(因为我找到完整方法时,这一步早已做过,所以不知是否必要)。
参考:http://wireless.kernel.org/en/users/Dri ... u.2FDebian
sudo apt-get install firmware-b43-installer

然后进行驱动间的切换:
首先关闭已有无线网卡驱动模块:
sudo modprobe -r b43 bcma sudo modprobe ... robe -r wl
由于前文中提到我的网卡驱动程序是“wl0”,所以只用执行第三条就OK了

然后加载“brcmsmac”驱动:

代码: 全选

sudo modprobe brcmsmac
然后运行:

代码: 全选

iw list
可见输出:

代码: 全选

Supported interface modes:
		 * IBSS
		 * managed
		 * AP
		 * AP/VLAN
		 * monitor
已经有AP了。

之后就是按照上面的说明使用ap-hotspot即可。

PS:当我的外置网卡到了之后才发现这个方法,真是伤心。
头像
cdaxcy
帖子: 97
注册时间: 2007-06-07 15:59
联系:

Re: Ubuntu下切换无线网卡驱动使之支持 AP 模式,并建立安卓可用的 WIFI 热点

#2

帖子 cdaxcy » 2014-03-30 20:06

感谢楼主分享!
头像
cdaxcy
帖子: 97
注册时间: 2007-06-07 15:59
联系:

Re: Ubuntu下切换无线网卡驱动使之支持 AP 模式,并建立安卓可用的 WIFI 热点

#3

帖子 cdaxcy » 2014-03-31 12:23

楼主再不?
每次开机都要重新执行

代码: 全选

modprobe -r wl
modprobe brcmsmac
有没有好办法,不写入rc.local,而是直接使用正确驱动的?
头像
photor
论坛版主
帖子: 11004
注册时间: 2008-04-26 12:41

Re: Ubuntu下切换无线网卡驱动使之支持 AP 模式,并建立安卓可用的 WIFI 热点

#4

帖子 photor » 2014-03-31 12:35

cdaxcy 写了:楼主再不?
每次开机都要重新执行

代码: 全选

modprobe -r wl
modprobe brcmsmac
有没有好办法,不写入rc.local,而是直接使用正确驱动的?
把wl这个驱动加入黑名单不行? :em09
头像
cdaxcy
帖子: 97
注册时间: 2007-06-07 15:59
联系:

Re: Ubuntu下切换无线网卡驱动使之支持 AP 模式,并建立安卓可用的 WIFI 热点

#5

帖子 cdaxcy » 2014-03-31 12:40

photor 写了:
cdaxcy 写了:楼主再不?
每次开机都要重新执行

代码: 全选

modprobe -r wl
modprobe brcmsmac
有没有好办法,不写入rc.local,而是直接使用正确驱动的?
把wl这个驱动加入黑名单不行? :em09

执行这个删除驱动行不行,是不是“附加驱动”里的网卡驱动?
sudo apt-get remove -–purge bcmwl-kernel-source
sudo rm /etc/modprobe.d/blacklist-bcm43.conf

blacklist屏蔽了
# replaced by b43 and ssb.
blacklist bcm43xx

/etc/modprobe.d下有一个blacklist-bcm43.conf
把brcmsmac一系列都给屏蔽了

是不是这个原因?
头像
cdaxcy
帖子: 97
注册时间: 2007-06-07 15:59
联系:

Re: Ubuntu下切换无线网卡驱动使之支持 AP 模式,并建立安卓可用的 WIFI 热点

#7

帖子 cdaxcy » 2014-03-31 12:43

photor 写了:楼主,在http://ihacklog.com/post/use-hostapd-to ... linux.html这个页面上看到的“brcmsmac”明明不支持AP模式啊,你的怎么又支持了? :em06
按照楼主的做法,切换驱动就可以了
头像
photor
论坛版主
帖子: 11004
注册时间: 2008-04-26 12:41

Re: Ubuntu下切换无线网卡驱动使之支持 AP 模式,并建立安卓可用的 WIFI 热点

#8

帖子 photor » 2014-03-31 12:44

cdaxcy 写了:
photor 写了:
cdaxcy 写了:楼主再不?
每次开机都要重新执行

代码: 全选

modprobe -r wl
modprobe brcmsmac
有没有好办法,不写入rc.local,而是直接使用正确驱动的?
把wl这个驱动加入黑名单不行? :em09

执行这个删除驱动行不行,是不是“附加驱动”里的网卡驱动?
sudo apt-get remove -–purge bcmwl-kernel-source
sudo rm /etc/modprobe.d/blacklist-bcm43.conf

blacklist屏蔽了
# replaced by b43 and ssb.
blacklist bcm43xx

/etc/modprobe.d下有一个blacklist-bcm43.conf
把brcmsmac一系列都给屏蔽了

是不是这个原因?
把黑名单里的brcmsmac直接换成wl噻 :em09
头像
cdaxcy
帖子: 97
注册时间: 2007-06-07 15:59
联系:

Re: Ubuntu下切换无线网卡驱动使之支持 AP 模式,并建立安卓可用的 WIFI 热点

#9

帖子 cdaxcy » 2014-03-31 12:47

photor 写了:
cdaxcy 写了:
photor 写了:
cdaxcy 写了:楼主再不?
每次开机都要重新执行

代码: 全选

modprobe -r wl
modprobe brcmsmac
有没有好办法,不写入rc.local,而是直接使用正确驱动的?
把wl这个驱动加入黑名单不行? :em09

执行这个删除驱动行不行,是不是“附加驱动”里的网卡驱动?
sudo apt-get remove -–purge bcmwl-kernel-source
sudo rm /etc/modprobe.d/blacklist-bcm43.conf

blacklist屏蔽了
# replaced by b43 and ssb.
blacklist bcm43xx

/etc/modprobe.d下有一个blacklist-bcm43.conf
把brcmsmac一系列都给屏蔽了

是不是这个原因?
把黑名单里的brcmsmac直接换成wl噻 :em09
我可以试试,不过我删除驱动行不行?不想重来一遍啊
头像
photor
论坛版主
帖子: 11004
注册时间: 2008-04-26 12:41

Re: Ubuntu下切换无线网卡驱动使之支持 AP 模式,并建立安卓可用的 WIFI 热点

#10

帖子 photor » 2014-03-31 12:47

cdaxcy 写了:
photor 写了:楼主,在http://ihacklog.com/post/use-hostapd-to ... linux.html这个页面上看到的“brcmsmac”明明不支持AP模式啊,你的怎么又支持了? :em06
按照楼主的做法,切换驱动就可以了
那就是那个页面上的信息有误
头像
photor
论坛版主
帖子: 11004
注册时间: 2008-04-26 12:41

Re: Ubuntu下切换无线网卡驱动使之支持 AP 模式,并建立安卓可用的 WIFI 热点

#11

帖子 photor » 2014-03-31 12:48

cdaxcy 写了:
photor 写了:
cdaxcy 写了:
photor 写了:
cdaxcy 写了:楼主再不?
每次开机都要重新执行

代码: 全选

modprobe -r wl
modprobe brcmsmac
有没有好办法,不写入rc.local,而是直接使用正确驱动的?
把wl这个驱动加入黑名单不行? :em09

执行这个删除驱动行不行,是不是“附加驱动”里的网卡驱动?
sudo apt-get remove -–purge bcmwl-kernel-source
sudo rm /etc/modprobe.d/blacklist-bcm43.conf

blacklist屏蔽了
# replaced by b43 and ssb.
blacklist bcm43xx

/etc/modprobe.d下有一个blacklist-bcm43.conf
把brcmsmac一系列都给屏蔽了

是不是这个原因?
把黑名单里的brcmsmac直接换成wl噻 :em09
我可以试试,不过我删除驱动行不行?不想重来一遍啊
那你至少要把brcmsmac从黑名单上去掉噻
头像
cdaxcy
帖子: 97
注册时间: 2007-06-07 15:59
联系:

Re: Ubuntu下切换无线网卡驱动使之支持 AP 模式,并建立安卓可用的 WIFI 热点

#12

帖子 cdaxcy » 2014-03-31 12:53

photor 写了:
cdaxcy 写了:
photor 写了:
cdaxcy 写了:
photor 写了:
cdaxcy 写了:楼主再不?
每次开机都要重新执行

代码: 全选

modprobe -r wl
modprobe brcmsmac
有没有好办法,不写入rc.local,而是直接使用正确驱动的?
把wl这个驱动加入黑名单不行? :em09

执行这个删除驱动行不行,是不是“附加驱动”里的网卡驱动?
sudo apt-get remove -–purge bcmwl-kernel-source
sudo rm /etc/modprobe.d/blacklist-bcm43.conf

blacklist屏蔽了
# replaced by b43 and ssb.
blacklist bcm43xx

/etc/modprobe.d下有一个blacklist-bcm43.conf
把brcmsmac一系列都给屏蔽了

是不是这个原因?
把黑名单里的brcmsmac直接换成wl噻 :em09
我可以试试,不过我删除驱动行不行?不想重来一遍啊
那你至少要把brcmsmac从黑名单上去掉噻
嗯,我先改过来,重启以后看看,行了就不折腾了。驱动模块不太熟悉,不瞎整了
头像
cdaxcy
帖子: 97
注册时间: 2007-06-07 15:59
联系:

Re: Ubuntu下切换无线网卡驱动使之支持 AP 模式,并建立安卓可用的 WIFI 热点

#13

帖子 cdaxcy » 2014-03-31 12:55

photor 写了:
cdaxcy 写了:
photor 写了:
cdaxcy 写了:
photor 写了:
cdaxcy 写了:楼主再不?
每次开机都要重新执行

代码: 全选

modprobe -r wl
modprobe brcmsmac
有没有好办法,不写入rc.local,而是直接使用正确驱动的?
把wl这个驱动加入黑名单不行? :em09

执行这个删除驱动行不行,是不是“附加驱动”里的网卡驱动?
sudo apt-get remove -–purge bcmwl-kernel-source
sudo rm /etc/modprobe.d/blacklist-bcm43.conf

blacklist屏蔽了
# replaced by b43 and ssb.
blacklist bcm43xx

/etc/modprobe.d下有一个blacklist-bcm43.conf
把brcmsmac一系列都给屏蔽了

是不是这个原因?
把黑名单里的brcmsmac直接换成wl噻 :em09
我可以试试,不过我删除驱动行不行?不想重来一遍啊
那你至少要把brcmsmac从黑名单上去掉噻
悲剧了,我在blacklist-bcm43.conf中发现一句话:

# Warning: This file is autogenerated by bcmwl. All changes to this file will be lost.
头像
cdaxcy
帖子: 97
注册时间: 2007-06-07 15:59
联系:

Re: Ubuntu下切换无线网卡驱动使之支持 AP 模式,并建立安卓可用的 WIFI 热点

#14

帖子 cdaxcy » 2014-03-31 12:58

只能删除驱动试试了,汗!
ubtljy
帖子: 10
注册时间: 2012-05-26 11:05

Re: Ubuntu下切换无线网卡驱动使之支持 AP 模式,并建立安卓可用的 WIFI 热点

#15

帖子 ubtljy » 2014-12-29 21:07

:em06 :em06 楼主,我的无线网卡也是bcm4313,按你的方法确实能开WIFI,可是另外一个问题来了,使用 brcmsmac 我的电脑搜索不了WIFI,只能搜索到自己开的wifi
我的版本是14.04, 桌面是gnome,求解
回复