网络设备驱动程序

问题描述:

我想为基于网络的设备编写Linux设备驱动程序。该网络设备只是输入输出控制,而且该设备通过以太网端口通过以太网电缆连接。我怎么写驱动程序?如何在设备和内核之间传输数据?网络设备驱动程序

+0

谷歌它的“如何写以太网设备驱动程序” – jhonnash 2013-04-10 06:24:33

如果设备通过以太网连接到Linux机器,则根本不需要编写内核驱动程序 - 用户空间守护程序可以通过AF_PACKET套接字地址系列完全访问以太网。有关详细信息,请参阅packet(7)手册页。

+0

感谢您的答复。但我想通过应用程序写驱动程序访问。 – 2013-04-10 07:31:31

+0

无论你想从以太网驱动程序访问什么都可以通过套接字调用访问。只强调“套接字编程”。 – jhonnash 2013-04-10 07:54:25

+0

试图编写一个像这样的内核硬件驱动程序试图把一个方形钉在一个圆孔。但是如果你坚持,你可以启动一个使用'AF_PACKET'套接字的内核线程来与硬件进行通信。 – caf 2013-04-10 08:00:11

您可以选择TCP或UDP连接通信。

对于TCP,您必须选择基于流的传输 但是,UDP不是可靠的通信,而是与TCP相比它更快。

我会建议去开始Linux编程它有一个理论和实践的思考。

干杯!