wireless驱动程序的安装以及ifconfig wlan0 up
来源:互联网 发布:网络暴力 知乎 编辑:程序博客网 时间:2024/05/20 17:08
看了几天代码,有些关系终于有些眉目,可以串起来了。
由于wireless设备是pci设备,因此在insmod驱动以后,会调用.probe函数。
.probe = xxx_probe.
在xxx_probe的实现中有几个值得注意的地方。
void xxx_probe()
{
//ieee80211_alloc_hw会分配跟驱动以及硬件相关的数据,有空的话把分配的图贴上来
struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len, const struct ieee80211_ops *ops)
接着会有irq io 以及memory等资源的申请
dma等等
...
//硬件资源分配完成后会调用该函数向内核注册。
int ieee80211_register_hw(struct ieee80211_hw *hw)
{
...
//这个函数尤其值得注意,通过该函数创建了名为wlanX的net_ device的数据结构,并向全局的网络设备链表中插入该数据结构
result = ieee80211_if_add(local, "wlan%d", NULL,
NL80211_IFTYPE_STATION, NULL);
int ieee80211_if_add(struct ieee80211_local *local, const char *name,
struct net_device **new_dev, enum nl80211_iftype type,
struct vif_params *params)
{ndev = alloc_netdev_mq(sizeof(*sdata) + local->hw.vif_data_size,
name, ieee80211_if_setup, local->hw.queues);
}
...
}
}
net_device是网络中最重要的数据结构了。这个在linux设备驱动程序以及understanding linux network internals中都有描述。
现在来说ifconfig wlan0 up这个命令.
在linux设备驱动程序508页有详细描述,这里就不再说明了。
这些关系现在理解应该是这样,并且可以串起来了。如果以后觉得理解有偏差,再来补充。
:)
- wireless驱动程序的安装以及ifconfig wlan0 up
- ifconfig wlan0 promisc 与 iw wlan0 set type monitor 区别
- ifconfig中lo、eth0、br0、wlan0接口
- ifconfig中lo、eth0、br0、wlan0接口
- ifconfig ra0 up/down的实现
- CentOS7关于ifconfig eth0 up的问题
- 常见驱动程序的安装以及注意事项
- 安凯AK3918E加载mtk7601驱动不能ifconfig wlan0 down
- ifconfig eth0 up/down与ifup/ifdown eth0的区别
- ifup/ifdown ethX 和 ifconfig ehtX up/down的区别
- centos下 ifconfig的安装
- NT DDK的安装以及设备驱动程序的编译
- NT DDK的安装以及设备驱动程序的编译
- NT DDK的安装以及设备驱动程序的编译
- centos7没有安装ifconfig命令的解决方法
- centos7没有安装ifconfig命令的解决方法
- centos7没有安装ifconfig命令的解决方法
- centos7没有安装ifconfig命令的解决方法
- td中换行问题
- winPcap库函数介绍
- 高性能网站性能优化与系统架构
- Magento 新闻模块开发教程 (一) 创建骨架目录
- EVC下载程序,出现timeout: Failed to connect to the device Failed downloading.
- wireless驱动程序的安装以及ifconfig wlan0 up
- hp unix 命令集合
- Oracle客户端NLS_LANG设置
- CISCO常用命令----更新中
- 【Linux设备驱动程序(第三版)】----忙等待
- 描点用法
- Java Base64类库学习笔记
- ajax分析 学习
- 25个必须记住的SSH命令