基于USB设备的Linux网络驱动程序开发
求的URB dev->udev, usb_sndbulkpipe(dev->udev, 2), //指定写端点 skb->data, 512,//count, write_bulk_callback, //使用write_bulk_callback做为URB的回调函数。 dev ); if((result = usb_submit_urb(dev->tx_urb, GFP_ATOMIC))){ //将URB发送给 …… //USB Core } 写请求URB完成时,write_bulk_callback回调函数被内核调用。该函数判断写请求URB是否成功完成。根据URB的完成情况,驱动程序需要更新网络接口的相应统计数据,例如成功/失败发送包的数目等。 5. 小结 本文从工程应用出发,介绍了Linux的体系结构及其网络子系统,并结合USB设备在Linux下的访问机制,研究了USB驱动程序实现异步通知的方法,并给出了USB网络驱动程序的设计框架和实例。在实际测试中,本文分析的驱动程序运行稳定,并且达到了预期的网络传输速度。 参考文献: [1] J. Corbet, A. Rubini, and G. Kroah-Hartman. Linux Device Drivers, Third Edition. 2005, O'Reilly Media, Inc. [2]毛德操 胡希明. Linux内核源代码情景分析. 2001. 浙江大学出版社. [3]Daniel P. Bovet, M. Cesati. Understanding the Linux Kernel, Second Edition. 2002, O'Reilly Media, Inc. [4]李少甫 何小庆 江文瑞.The Development of Embedded Wireless LAN Application System Based on MontaVista Linux.微计算机信息. 2002年11期49-51
- REDIce-Linux--灵活的实时Linux内核(11-12)
- linux文件系统基础(02-09)
- Linux标准趋向统一(11-12)
- linux基础技术(02-09)
- LINUX的目录树(02-09)
- 在Windows下启动Linux(02-09)
