Linux网卡驱动相关
lcqlw123
这个作者很懒,什么都没留下…
展开
-
netdev_priv
include/linux/netdevice.h #define NETDEV_ALIGN 32 #define NETDEV_ALIGN_CONST (NETDEV_ALIGN - 1) static inline void *netdev_priv(struct net_device *dev) { return (char *)dev转载 2015-04-16 09:44:36 · 1280 阅读 · 0 评论 -
dev_set_drvdata ,SET_NETDEV_DEV
dev_set_drvdata(&pdev->dev, dev); // it just like that platform_set_drvdata(); 把设备的相关信息放到设备结构里作为私有数据存起来。 SET_NETDEV_DEV(dev, &pdev->dev); //将网络设备的基类dev父设备指向了平台设备的设备基类dev !!! #define SET_NETDEV_原创 2015-04-17 14:20:27 · 4598 阅读 · 0 评论 -
netif_start_queue、netif_wake_queue、
在网卡驱动中,内核为发送数据包的流量控制提供了几个主要的函数,用来在驱动程序和内核之间传递流控信息。主要有三个:1】netif_start_queue2】netif_wake_queue3】netif_stop_queue4】netif_queue_stoppedNETIF_STOP_QUEUE:【作用】在驱动程序中调用这个函转载 2015-04-15 19:23:03 · 1321 阅读 · 0 评论 -
dev_set_drvdata,dev_get_drvdata
dev_set_drvdata(&pdev->dev, dev); //将平台设备资源信息放到网络设备里。dev_get_drvdata(&pdev->dev, dev); //将平台设备信息资源从网络设备里拿出来。好处是很明显的,把设备的相关信息放到设备结构里,需要使用的时候可以方便的拿出来。原创 2015-04-15 17:31:18 · 758 阅读 · 0 评论 -
nexus5 博通芯片WIFI详解 (1)
1 WLAN技术WLAN是英文WirelessLAN的缩写,就是无线局域网的意思。无线以太网技术是一种基于无线传输的局域网技术,与有线网络技术相比,具有灵活、建网迅速、个人化等特点。将这一技术应用于电信网的接入网领域,能够方便、灵活地为用户提供网络接入,适合于用户流动性较大、有数据业务需求的公共场所、高端的企业及家庭用户、需要临时建网的场合以及难以采用有线接入方式的环境等。转载 2015-09-17 11:33:01 · 1886 阅读 · 0 评论 -
nexus5 博通芯片WIFI详解 (2)
1 Wifi模块解析和启动流程1.1 框架分析WIFI整体框架如图所示:首先,用户程序使用WifiManager类来管理Wifi模块,它能够获得Wifi模块的状态,配置和控制Wifi模块,而所有这些操作都要依赖 Wifiservice类来实现。 WifiService和WifiMonitor类是Wifi框架的核心,如图所示。下面先来看看Wif转载 2015-09-17 11:34:43 · 1442 阅读 · 0 评论 -
nexus5 博通芯片WIFI详解 (4)
1 IOCTL的调用逻辑之所以要分析这个,是因为上层wpa_supplicant和WIFI驱动打交道的方式,多半是通过ioctl的方式进行的,所以看看它的调用逻辑(这里只列出其主要的调用逻辑): 上面便是用户ioctl调用的流程图,它最终分为两条线即有两种支持,选择那一条或两条都选(个人感觉最好选第2条线,因为它最后也是会调用到相应的函数的,而且还有其它更转载 2015-09-17 11:38:36 · 1355 阅读 · 0 评论