如何通过C向设备(如Sierra无线网卡)发送QMI api请求

如何通过C向设备(如Sierra无线网卡)发送QMI api请求,c,at-command,C,At Command,我现在正在阅读QMI软件API,因为我们将使用QMI而不是AT命令。基于api,我知道QMI导入C库与设备进行通信。我的问题是,它到底是如何与设备通信的 在使用AT命令之前,我可以使用serialPort将AT命令字符串发送到设备并获取响应。但现在我将进入C库,比如 ULONG QCWWAN2KConnect(CHAR * pDeviceID, CHAR * pDeviceKey); 该协议是如何工作的?我如何将其发送到设备?还使用串行端口吗 我真的需要一些专家给我一个简单的例子。谢谢这实际上

我现在正在阅读QMI软件API,因为我们将使用QMI而不是AT命令。基于api,我知道QMI导入C库与设备进行通信。我的问题是,它到底是如何与设备通信的

在使用AT命令之前,我可以使用serialPort将AT命令字符串发送到设备并获取响应。但现在我将进入C库,比如

ULONG QCWWAN2KConnect(CHAR * pDeviceID, CHAR * pDeviceKey);
该协议是如何工作的?我如何将其发送到设备?还使用串行端口吗


我真的需要一些专家给我一个简单的例子。谢谢

这实际上取决于您使用的是GobiNet内核驱动程序(即制造商提供的“官方”树外驱动程序)还是qmi_wwan内核驱动程序(即“非官方树内”驱动程序)。如果您的目标是使用GobiAPI库(或特定于供应商的库,如Sierra SDK),那么您可能会使用GobiNet。有关差异的更多信息,请参阅

GobiNet不使用串行端口;相反,它将使用:

  • 公开了一个非串行字符设备,名为/dev/qcqmi0
  • 共享内存,在内核和用户空间之间进行对话(例如,在较新的Android设备中)
在本例中,您可能会看到qcqmi设备,因此GobiAPI/SDK将使用该字符设备向该设备发送QMI命令


如果您想使用上游qmi_wwan驱动程序,可以将其与库及其助手qmicli工具一起使用。

这实际上取决于您使用的是GobiNet内核驱动程序(即制造商提供的“官方”树外驱动程序)还是qmi_wwan内核驱动程序(即“非官方树内”驱动程序)。如果您的目标是使用GobiAPI库(或特定于供应商的库,如Sierra SDK),那么您可能会使用GobiNet。有关差异的更多信息,请参阅

GobiNet不使用串行端口;相反,它将使用:

  • 公开了一个非串行字符设备,名为/dev/qcqmi0
  • 共享内存,在内核和用户空间之间进行对话(例如,在较新的Android设备中)
在本例中,您可能会看到qcqmi设备,因此GobiAPI/SDK将使用该字符设备向该设备发送QMI命令

如果您想使用上游qmi_wwan驱动程序,可以将其与库及其助手qmicli工具一起使用