【发布时间】:2013-04-10 06:02:16
【问题描述】:
我想为基于网络的设备编写 Linux 设备驱动程序。该网络设备只是输入输出控制,并且该设备通过以太网电缆通过以太网端口连接。我该如何编写驱动程序?如何在设备和内核之间传输数据?
【问题讨论】:
-
谷歌搜索“如何编写以太网设备驱动程序”
标签: network-programming linux-kernel linux-device-driver
我想为基于网络的设备编写 Linux 设备驱动程序。该网络设备只是输入输出控制,并且该设备通过以太网电缆通过以太网端口连接。我该如何编写驱动程序?如何在设备和内核之间传输数据?
【问题讨论】:
标签: network-programming linux-kernel linux-device-driver
如果设备只是通过以太网连接到 Linux 机器,那么您根本不需要编写内核驱动程序 - 用户空间守护程序可以通过 AF_PACKET 套接字地址系列完全访问以太网。有关详细信息,请参阅 packet(7) 手册页。
【讨论】:
AF_PACKET 套接字与硬件对话的内核线程。
您可以选择 TCP 或 UDP 连接通信。
对于 TCP,您必须选择基于流的传输 但是 UDP 不是一种可靠的通信方式,它比 TCP 更快。
我建议使用 Beginning Linux Programming,它既有理论性又有实践性的反思。
干杯!!
【讨论】: