为基于AT命令的调制解调器的串行端口开发Mac OSX网络驱动程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为基于AT命令的调制解调器的串行端口开发Mac OSX网络驱动程序相关的知识,希望对你有一定的参考价值。

首先请允许我说我没有开发OSX驱动程序的经验,也没有开发Windows驱动程序的经验。所以,关于司机如何运作,我有很多不明白的事情;我相信在我的问题中这一点很明显。

我有一个调制解调器,可以使用AT命令打开和关闭TCP / UDP套接字。我想创建一种实现网络驱动程序的程序(内核扩展?驱动程序?),将网络接口调用转换为AT命令串行消息。

这是它的基本要点。我本质上是在询问是否有人可以指出我正确的方向/给我一个高级别的概述,他们将如何处理它以及Apple指导的重点。

答案

与大多数网络堆栈一样,XNU网络堆栈期望网络设备直接发送和接收IP数据包。它不能与内部处理网络堆栈(如TCP或UDP)的网络设备一起使用 - 无法实现使用此设备的网络驱动程序。

你可能有更多的运气将这个设备暴露为SOCKS proxy。您需要编写一个用户空间守护程序,该守护程序侦听localhost(在计算机上)上的TCP端口,并将流量中继到串行设备;完成后,您可以将计算机设置为在网络控制面板中将该设备用作SOCKS代理。

(顺便说一句:实现此类接口的大多数设备对打开的套接字数量的限制非常低 - 通常少于10.它们不太可能处理桌面操作系统生成的网络负载。)

以上是关于为基于AT命令的调制解调器的串行端口开发Mac OSX网络驱动程序的主要内容,如果未能解决你的问题,请参考以下文章

Mac 上的 RxTx - 串行端口已在使用中

Windows Server 2008 上的串行端口问题

SerialPort 类偶尔会挂在 Dispose 上

带有调制解调器的 PCM 接口的 Alsa

从串口读取命令的响应

使用 Android 模拟器测试来自外部应用程序的 COM 的 AT 命令