wireless setup

9 篇文章 0 订阅

~~~~~~~~~~~~~~~~~~~~~~~~~~~~
wifi.conf
---------------------
ctrl_interface_group=0
ap_scan=1
#network={
#  ssid="e-puck" #this should be replaced by your ssid
#  scan_ssid=1
#  key_mgmt=WPA-PSK
#  psk=0175b7ab454e74e80020396131453fab3abee7b00107c4bd064cc3ac5e5eeb89
#}
network={
  ssid="Tenda1" #this should be replaced by your ssid
  scan_ssid=1
  key_mgmt=NONE
}
network={
  ssid="NAO_Network" #this should be replaced by your ssid
  scan_ssid=1
  key_mgmt=NONE
}


~~~~~~~~~~~~~~~~~~~~~~~~~~~~

$ iwconfig wlan# 

epuck@epuck6:/etc/network$ cat interfaces                                       
----------------------------------------
auto lo                                                                         
iface lo inet loopback                                                          
                                                                                
auto eth0                                                                       
iface eth0 inet dhcp                                                            
                                                                                
auto wlan0                                                                      
iface wlan0 inet dhcp                                                           
        wpa-conf /etc/network/wifi.conf                                         
                                                                                
auto wlan1                                                                      
iface wlan1 inet dhcp                                                           
        wpa-conf /etc/network/wifi.conf                                         
                                                                                
auto wlan2                                                                      
iface wlan2 inet dhcp                                                                                                                                 
        wpa-conf /etc/network/wifi.conf                                         
                                                                                
auto wlan3                                                                      
iface wlan3 inet dhcp                                                           
        wpa-conf /etc/network/wifi.conf 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux中的MAC80211和CFG80211是用于无线网络的子系统。它们提供了一组API,使开发人员能够在Linux内核中实现无线网络设备驱动程序。 MAC80211是一个实现IEEE 802.11标准的软件模块,它负责管理Linux内核中的无线网络设备。它为网络设备提供了一组接口,使它们能够与其他网络设备进行通信。MAC80211还负责处理无线帧和管理无线网络的连接。 CFG80211是一个用于配置802.11设备的API。它负责管理无线网络设备的配置,例如频率、信道和加密设置等。它还提供了一组接口,使用户空间应用程序能够与无线网络设备进行通信。 示例代码: 以下代码展示了如何使用CFG80211 API在Linux内核中配置无线网络设备。 ``` #include <linux/module.h> #include <linux/kernel.h> #include <linux/netdevice.h> #include <linux/wireless.h> #include <net/cfg80211.h> static struct cfg80211_ops my_cfg_ops = { .change_beacon = NULL, }; static struct cfg80211_device my_cfg_device = { .ops = &my_cfg_ops, }; static int __init my_init(void) { int ret; struct wireless_dev *wdev; wdev = kzalloc(sizeof(*wdev), GFP_KERNEL); if (!wdev) return -ENOMEM; wdev->wiphy = wiphy_new(&my_cfg_ops, sizeof(*wdev)); if (!wdev->wiphy) { kfree(wdev); return -ENOMEM; } wdev->wiphy->privid++; wdev->wiphy->dev.parent = NULL; wdev->wiphy->dev.release = NULL; wdev->wiphy->dev.groups = NULL; wdev->wiphy->dev.dma_mask = NULL; wdev->wiphy->dev.coherent_dma_mask = ~0; ret = wiphy_register(wdev->wiphy); if (ret) { wiphy_free(wdev->wiphy); kfree(wdev); return ret; } wdev->wiphy->dev.parent = wiphy_dev(wdev->wiphy); wdev->netdev = alloc_netdev_mqs(sizeof(struct net_device *), "my_dev", NET_NAME_UNKNOWN, ether_setup, 1, 1); if (!wdev->netdev) { wiphy_unregister(wdev->wiphy); wiphy_free(wdev->wiphy); kfree(wdev); return -ENOMEM; } wdev->wiphy->privid++; wdev->netdev->ieee80211_ptr = wdev; wdev->netdev->ieee80211_ptr->iftype = NL80211_IFTYPE_STATION; wdev->netdev->ieee80211_ptr->flags |= IEEE80211_STA_CONNECTION_POLL; ret = register_netdev(wdev->netdev); if (ret) { free_netdev(wdev->netdev); wiphy_unregister(wdev->wiphy); wiphy_free(wdev->wiphy); kfree(wdev); return ret; } my_cfg_device.wiphy = wdev->wiphy; ret = cfg80211_register_device(&my_cfg_device); if (ret) { unregister_netdev(wdev->netdev); free_netdev(wdev->netdev); wiphy_unregister(wdev->wiphy); wiphy_free(wdev->wiphy); kfree(wdev); return ret; } return 0; } static void __exit my_exit(void) { cfg80211_unregister_device(&my_cfg_device); unregister_netdev(wdev->netdev); free_netdev(wdev->netdev); wiphy_unregister(wdev->wiphy); wiphy_free(wdev->wiphy); kfree(wdev); } module_init(my_init); module_exit(my_exit); MODULE_LICENSE("GPL"); ``` 这段代码首先创建了一个无线设备和一个无线网络接口。然后,它将无线设备注册到CFG80211子系统中,并将无线网络接口注册到Linux内核中。最后,它将无线设备和无线网络接口添加到一个数据结构中,并将该数据结构注册到CFG80211子系统中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值