zoukankan      html  css  js  c++  java
  • Ad Hoc配置

    1.iwconfig检查是否支持ad hoc模式

    iwconfig与ifconfig一样,一个配置网卡命令,一个配置无线网卡命令。

    如果出现:iwconfig :wlan0 no wireless extensions,表明内核配置中没有开启相应配置选项。

    本人开发板为ZYNQ7000系列,如果单纯PC上Ubuntu系统,该选项是默认开启的,可以查到iwconfig的信息。

    解决办法:

    petalinux工具重新读取硬件信息,配置内核、文件系统、u-boot、设备树,最后编译生成BOOT.Bin文件。(正常的ARM Linux系统开发流程)

    特别的是在配置内核时将下图选项加入进去:“cfg80211 wireless extensions compatibility”,这样就开启了无线网卡扩展功能,即可使用iwconfig命令

    重新启动之后,输入iwconfig命令可查到无线网卡的相关信息。

    (上述图片是本人开发板选项,也可查看CONFIG_WIRELESS_EXT或者CONFIG_CFG80211_WEXT选项,网上搜索得)

    2.主节点搭建自组网

    (以下所有命令均在root模式下,否则在每条命令前加“sudo  ”即可)

    ifconfig wlan0 down(如果出现设备忙可先关掉网卡,本人开发板并没有,无需输入)

    iwconfig wlan0 mode "ad-hoc"(ad hoc模式)

    iwconfig wlan0 essid "My_AdHoc_Net"(无线网络名称)

    iwconfig wlan0 key off(设置密码)

    iwconfig wlan0 channel 1(默认为channel 1)(iwlist wlan0 channel查看可用信道)

    之后给网卡设置相应的IP:

    ifconfig wlan0 192.168.5.10

    ifconfig wlan0 up(开启网卡)

    iwconfig查看网卡信息,可看到网卡模式为ad hoc模式,essid信息,frequency,cell等

    ifconfig 查看网卡信息,可看到网卡IP和MAC地址

    简单来讲:

    iwconfig wlan0 mode "ad-hoc"(ad hoc模式)

    iwconfig wlan0 essid "My_AdHoc_Net"(无线网络名称)

    ifconfig wlan0 192.168.5.10

    这三条命令即可搭建,从节点同上。

    3.从节点接入到该ad hoc网络中

    ifconfig wlan0 down

    iwconfig wlan0 mode "ad-hoc"(ad hoc模式)

    iwconfig wlan0 essid "My_AdHoc_Net"(无线网络名称,需和主节点网络名称相同,essid相同才可通信)

    iwconfig wlan0 key off(无密码,或者不输入该命令)

    iwconfig wlan0 channel 1(默认为channel 1)(需和主节点相同信道)

    之后给网卡设置相应的IP:

    ifconfig wlan0 192.168.5.11(需要和主节点在同一网段)

    ifconfig wlan0 up(开启网卡)

    iwconfig查看网卡信息,可看到网卡模式为ad hoc模式,essid信息,frequency,cell等

    ifconfig 查看网卡信息,可看到网卡IP和MAC地址

    4.两节点相互ping

    一般来讲是可以ping通的,不会存在无法得知对方MAC地址的情况,因为ping的时候也会发送ARP包来寻找相应节点的MAC地址

    如果ping不同,没有ARP协议,可以尝试手动输入对方节点的MAC地址,方法如下:

    如果ping不通,没有对方的MAC地址,可以输入命令:arp -n查看ARP表信息

    如果没有相应的arp信息,则手动建立对方的静态arp地址,命令如下:

    arp -s 192.168.5.10 xx:xx:xx:xx:xx:xx

    arp -s 192.168.5.11 xx:xx:xx:xx:xx:xx

    有了对方的MAC地址,再ping,就可以ping通了

    5.脚本文件配置

    每次节点开机都要重新手动输入相关命令,对开发来说较为麻烦,可采用以下两种方法:

    方法一:将命令写入到/etc/rc.local文件中,开机自运行

    方法二:编写.sh脚本,将配置命令写入脚本,再./XX.sh(sudo chmod +x XX.sh修改为可执行权限)或者sh XX.sh即可

    6.PC端搭建ad hoc网络

    如果只是在PC上Ubuntu系统下搭建,也可采用以下方法:

    vi /etc/network/interfaces

    写入:

    auto wlan0

    iface wlan0 inet static

    address 192.168.5.10

    netmask 255.255.255.0

    wireless-channel 1

    wireless-essid My_AdHoc_Net

    wireless-mode ad-hoc

    最后:

    sudo /etc/init.d/networking restart即可,或者重启。

  • 相关阅读:
    《linux/unix设计思想》读后感
    webserver ZooKeeper Cluster
    OS + RedHat 6.3 x64 / sshd X11 /
    nGrinder SocketTest.groovy
    OS + Centos7.6 gdm / xmanager xstart
    OS + CentOS 7 / VirtualBox 6.0 / VMware-Workstation-Full-15.1.0
    浅谈MySQL Replication(复制)基本原理
    MySQL存储引擎比较
    explain SQL语句性能检测
    看看JavaScript中void(0)的含义
  • 原文地址:https://www.cnblogs.com/jpzhu/p/11983620.html
Copyright © 2011-2022 走看看