ethtool如何让接口闪灯_XuQi's Blog

网卡选择

不同于windows上,大部分的网卡都支持软AP ,linux下的网卡需要支持mode master的才可以做软AP 。具体识别方法如下

1、iwconfig识别

1

2

3iwconfig wlxec888fbd5d61 mode master

Error for wireless request "Set Mode" (8B06) :

SET failed on device wlxec888fbd5d61 ; Invalid argument.

2、iw识别

上面的操作失败,证明不支持。再进行进一步的验证,有些新的网卡用的是mac80211 framework,对于这些网卡的话,用iwconfig来测试它是否支持master模式是行不通的。

因为他们是使用新的 nl80211接口在用户空间通信的。再使用iw命令进行测试:

1

2

3

4

5

6

7

8

9

10

11[root@localhost ~]$ sudo iw list

........略........................

Supported interface modes:

* IBSS

* managed

* AP

* AP/VLAN

* monitor

* mesh point

* P2P-client

* P2P-GO

如果「Supported interface modes」中有「AP」的话,那么恭喜你,你的无线网卡可以架设虚拟AP 。如果没有则不支持。

3、驱动识别

1

2

3

4

5

6

7

8

9

10

11root@XuQi:~/proj/Private# ethtool -i wlxec888fbd5d61

driver: rtl8192cu

version: 4.15.0-60-generic

firmware-version: N/A

expansion-rom-version:

bus-info: 2-6:1.0

supports-statistics: yes

supports-test: no

supports-eeprom-access: no

supports-register-dump: no

supports-priv-flags: no

例如上面的示例中使用的驱动为rtl8192cu,通过http://wireless.kernel.org/en/users/Drivers AP模式支持的驱动列表里的查找AP项为yes,证明其支持。

即然如此,如何在未购买网卡前选择一款一定支持的网卡呢?wireless.kernel.org也给我们提供了一个方法 ,通过http://wireless.kernel.org/en/users/Devices 硬件列表

(该页按pci、usb、pcmcia接口类型做了区分,点开相应的类型即可查看具体的硬件)。当然,这个表里列出的并不完全,也并不能保证是最适合做软AP的硬件 。是否识合请参查看上面的三个方法。

编译hostapd

编译依赖libnl-3.2.25

编译依赖openssl

编译hostapd

hostapd-rtl871xdrv补丁1git clone http://www.github.com/pritambaral/hostapd-rtl871xdrv

1

2

3

4

5

6

7

8

9

10

11Configuration file: hostapd.conf

drv->ifindex=4

l2_sock_recv==l2_sock_xmit=0x0x1130410

ioctl[SIOCSIWMODE]: Invalid argument

Could not set interface to mode(3)!

Could not set interface to master mode!

rtl871xdrv driver initialization failed.

wlxec888fbd5d61: interface state UNINITIALIZED->DISABLED

wlxec888fbd5d61: AP-DISABLED

wlxec888fbd5d61: CTRL-EVENT-TERMINATING

hostapd_free_hapd_data: Interface wlxec888fbd5d61 wasn't started

这个问题的出现是由于你的kernel内核没有配置对wifi的master模式的支持(即对AP热点的支持),解决这个问题的办法就是用make menuconfig打开图形界面,然后选择IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)这个选项;这个选择的地址可以参考WG217 wifi模块RTL8811CU的移植(linux)这篇博客里面的第三部分:RTL8821CU驱动所需的支持中的第2小点:master的选项所在位置有详细的讲解。

编译wpa_supplicant

添加

1

2

3

4CFLAGS += -I/home/xuqi/hostadp/build/include/libnl3

LIBS += -L/home/xuqi/hostadp/build/lib

CFLAGS += -I/home/xuqi/hostadp/build/include/

编译错误,注释DBUS

1

2

3

4

5

6# Add support for new DBus control interface

# (fi.w1.hostap.wpa_supplicant1)

#CONFIG_CTRL_IFACE_DBUS_NEW=y

# Add introspection support for new DBus control interface

#CONFIG_CTRL_IFACE_DBUS_INTRO=y

启动:1sudo ./wpa_supplicant -i wlxec888fbd5d61 -c ./wpa_supplicant.conf -B

扫描:1

2

3sudo wpa_cli -i wlxec888fbd5d61 scan

sudo wpa_cli -i wlxec888fbd5d61 scan_result

sudo wpa_cli -i wlxec888fbd5d61 add_network

连接:

如果要连接加密方式是[WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS] (wpa加密),wifi名称是name,wifi密码是:psk。

1

2

3sudo wpa_cli -i wlxec888fbd5d61 set_network 0 ssid '"dev-xu"'

sudo wpa_cli -i wlxec888fbd5d61 set_network 0 psk '"xuqi9999"'

sudo wpa_cli -i wlxec888fbd5d61 enable_network 0

保存连接:1sudo wpa_cli -i wlxec888fbd5d61 save_config

断开连接:1sudo wpa_cli -i wlxec888fbd5d61 disable_network 0

分配IP:1udhcpc -i wlxec888fbd5d61 -s /etc/udhcpc.script -q

Soft-blocking

输出到sudo rfkill list显示您的网卡是”soft-blocked”。

当无线卡通过内核发信号通知switch-off时,可能会发生这种情况。

请尝试以下步骤:

在终端中运行:sudo rfkill unblock wifi; sudo rfkill unblock all

重新运行sudo rfkill list以确认该卡已被解除阻止。

重启

再次重新运行sudo rfkill list以确认已保留的解除阻塞。

重新运行sudo lshw -class network – 您现在应该看到内核已识别(或不识别)无线卡。

如果已识别无线内核模块(不应该说”unclaimed”),则网络管理器现在应该能够看到您的空闲区域中可用的无线网络。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值