标签: driver

Mac上的PDO MySQL驱动程序

我有一个mac,其中包含大约一年前构建的自定义PHP 5安装.我记得它花了整个星期天,我必须编译大约20次以使它正确.我拥有的MySQL来自熵并且是预编译的.

现在我需要使用MySQL驱动程序运行PDO并且未安装驱动程序.我尝试了"pecl install pdo_mysql",它死于无法找到一些mysql文件的地方.我有什么想法可以快速解决这个问题吗?

checking for mysql_config... not found
configure: error: Cannot find MySQL header files under
ERROR: `/private/tmp/pear/temp/PDO_MYSQL/configure' failed
Run Code Online (Sandbox Code Playgroud)

我将发布您需要的任何路径或消息,以帮助我解决此问题.我是否必须重新编译PHP,或者我可以只编译pdo_mysql扩展名吗?

我希望我看起来不是很懒,我只需要编写很多代码,而不是花很多时间来配合我的PHP配置.

php mysql pdo driver

9
推荐指数
1
解决办法
8086
查看次数

测量Windows中设备驱动程序的内存使用情况

如何确定每个设备驱动程序消耗的内存量?我假设这可以使用一些Win32或.NET API完成,但我只是无法确定哪个.

windows memory-management driver

9
推荐指数
2
解决办法
9514
查看次数

如何编码驱动程序?

我想在Linux操作系统中使用C编写驱动程序,不过我觉得它很难.我可以获得一些关于如何开始或书籍的提示吗?驱动程序可以从我的USB端口到显卡!!

我知道在哪里可以搜索书籍,我想知道我应该从哪些基本知识开始.我是否需要具备硬件知识,哪些特定书籍对我这样的新手有用?

c driver linux-device-driver

9
推荐指数
4
解决办法
1万
查看次数

充分利用糟糕的"校验和"算法

我正在研究一种通过串行端口控制8位MCU的现有驱动程序.MCU有许多不同类型的固件,但它们都有共同的方法来尝试确保链路完整性.这个方法不是很强大,我正在寻找有关驱动程序如何修改其行为以充分利用它的想法.

命令是带有行号和校验和的gcode:

N3 T0*57
N4 G92 E0*67
N5 G28*22
N6 G1 F1500.0*82
N7 G1 X2.0 Y2.0 F3000.0*85
N8 G1 X3.0 Y3.0*33
Run Code Online (Sandbox Code Playgroud)

行号必须是顺序的(但可以重置M110).如果校验和不匹配或行号是失序的固件将回复Resend: nnn这里nnn是最后的成功N加1."校验"是极其原始:

        // Calc checksum.
        byte checksum = 0;
        byte count = 0;
        while(instruction[count] != '*')
                checksum = checksum^instruction[count++];
Run Code Online (Sandbox Code Playgroud)

主要问题是主要错误机制是由于中断被保持关闭导致1字节MCU FIFO溢出而丢弃的字节.实际的串行总线在FTDI(或类似)USB串行桥和MCU之间只有几厘米,因此不太可能出现误码.我从来没有在固件的回复中发现有点错误.

正如您所看到的,上面的算法会检测到一个丢弃的字节,但如果丢弃了两个相同的字节(任何地方!),结果仍然匹配.因此F3000.0(进给率3000mm/min)可以转化为F30.0并仍然匹配.此外,字符集非常小,因此永远不会涉及某些位.

驱动程序可以做些什么来使给定的行更健壮吗?

  • 添加或删除尾随(或甚至前导)零
  • 添加或删除空格
  • 重新排序单词(与之X1 Y1相同Y1 X1)
  • 添加或删除空格
  • 在一定容差范围内对值进行"无关紧要"的修改(例如,F2999.9而不是F3000)
  • 重置行号以获取N给定行的特定行
  • 打破单个命令分成多个等效的命令(例如G1 X2变为 …

embedded checksum serial-port driver

9
推荐指数
2
解决办法
1013
查看次数

将IOCTL发送到Windows设备驱动程序 - CreateFile失败

我想将IOCTL命令发送到连接到我的计算机的PC/SC阅读器(win7 64位).为了发送IOCTL命令,我需要一个HANDLE到设备,我无法创建.

设备在设备管理器中列为"OMNIKEY 1021",物理设备对象名称为"\ Device\USBPDO-15".使用"WinObj"工具,我可以检测到2个符号链接:USB#VID_076B&PID_1021#5&291f6990&0&1#{50dd5230-ba8a-11d1-bf5d-0000f805f530} USB#VID_076B&PID_1021#5&291f6990&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed}

我的问题:我无法使用CreateFile函数为此设备创建有效句柄:

我发现MSDN/Google上有几种可能的格式用作CreateFile函数的lpFileName参数,但它们似乎都不起作用:

\\?\Device\USBPDO-15
\\.\Device\USBPDO-15
\\GLOBAL??\Device\USBPDO-15
\GLOBAL??\Device\USBPDO-15
\\.\USBPDO-15
\\?\USB#VID_076B&PID_1021#5&291f6990&0&1#{50dd5230-ba8a-11d1-bf5d-0000f805f530}
\\.\USB#VID_076B&PID_1021#5&291f6990&0&1#{50dd5230-ba8a-11d1-bf5d-0000f805f530}
\\GLOBAL??\USB#VID_076B&PID_1021#5&291f6990&0&1#{50dd5230-ba8a-11d1-bf5d-0000f805f530}
\GLOBAL??\USB#VID_076B&PID_1021#5&291f6990&0&1#{50dd5230-ba8a-11d1-bf5d-0000f805f530}
\\?\USB#VID_076B&PID_1021#5&291f6990&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
\\.\USB#VID_076B&PID_1021#5&291f6990&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
\\GLOBAL??\USB#VID_076B&PID_1021#5&291f6990&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
\GLOBAL??\USB#VID_076B&PID_1021#5&291f6990&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Run Code Online (Sandbox Code Playgroud)

代码示例:

#include <iostream>
#include <Windows.h>

int main (int argc, char* argv[])
{
    HANDLE handle = CreateFile (
        L"\\\\.\\Device\\USBPDO-15",
        0,
        FILE_SHARE_READ, //FILE_SHARE_WRITE,
        NULL,
        OPEN_EXISTING,
        0, //FILE_FLAG_OVERLAPPED,
        NULL
    );

    if (handle == INVALID_HANDLE_VALUE)
        std::cout << "INVALID HANDLE" << std::endl;
    else
        std::cout << "HANDLE: " << std::hex << handle << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 返回的句柄始终无效
  • 始终以管理员身份运行,因此权限不应成为问题

编辑:

解:

  • PC/SC服务拥有设备的独占所有权,因此任何调用'CreateFile'的尝试都将失败.
  • 解决方案是内核空间驱动程序,这允许您将IRP传递给驱动程序.(我能够实现KMDF过滤器驱动程序来改变发送到设备/从设备接收的数据)

c++ windows ioctl driver device

9
推荐指数
1
解决办法
1万
查看次数

Windows 8驱动程序安装和目录/签名验证

我无法获得Windows 8(发布预览版)接受inf2catmakecat方法描述为问题的解决方案

Windows 8的驱动程序签名要求发生了哪些变化?

除非我禁用验证.

我现在没有使用任何证书签署这些证书,只是试图通过错误来阻止驱动程序安装.

Windows 8给了我一个非常不明显的错误:

"尝试将驱动程序添加到商店时遇到问题."

查看事件日志,没有任何用处; 只是来自"Windows错误报告"的信息条目,表示PnPdriverimporterror.

当我使用与inf不匹配的cab文件的原始文件时,我得到其他人列出的错误:

指定的目录文件中不存在该文件的哈希.

我有一个.inf文件,我需要生成一个.catfor.

也许我做错了什么.想法?

INF2CAT方法

c:\win_xp_vista32_64>inf2cat /driver:"." /os:XP_X86,XP_x64,Vista_X86,Vista_x64,7_X86,7_X64,8_X86,8_X64

.......................
Signability test complete.

Errors:
None

Warnings:
22.9.10: usbser.sys in [drivercopyfiles.nt] is missing from [SourceDisksFiles] s
ection in \mchpcdc.inf; ok if file source is provided via LayoutFile in [Version
].
22.9.10: %driverfilename%.sys in [drivercopyfiles.ntamd64] is missing from [Sour
ceDisksFiles] section in \mchpcdc.inf; ok if file source is provided via LayoutF
ile …
Run Code Online (Sandbox Code Playgroud)

install driver digital-signature inf windows-8

9
推荐指数
2
解决办法
6万
查看次数

以编程方式"拔出并重新插入"USB设备以在OS X中加载新驱动程序?

我正在OS X中安装一个安装程序,为USB设备安装一个IOKit驱动程序,我试图让它不需要在最后重启.安装程序正确安装驱动程序并重建kext缓存,运行后,如果我拔下并重新插入USB设备,它会正确加载新驱动程序,一切正常.

但是,我不希望要求用户物理拔出设备以便加载新驱动程序.必须有一种方法让OS X以编程方式加载新驱动程序 - 实际上模拟设备被拔出并重新插入或类似的东西.我该怎么做呢?到目前为止,几个小时的谷歌搜索没有任何结果,所以任何帮助将不胜感激!

macos usb installer driver iokit

9
推荐指数
1
解决办法
2950
查看次数

Python仪器驱动程序

我是一名实验性物理学家,是Python的狂热爱好者.

我发现它非常适合数据分析和脚本编写,我也可以用它来连接实验室仪器(网络分析仪,示波器,信号分析仪和信号发生器......).我认为如果存在一个包含仪器驱动程序的漂亮库,Python将成为我所在领域中非常重要的MATLAB竞争者.

到目前为止,我一直在使用几种策略直接从我的IPython会话中连接它们:

  • 使用pyVisa库很好,适用于大多数设备,但有点低级,需要额外的编程层来向用户公开有用的功能.

  • 我最近能够使用pythondotnet(不是IronPython,缺少NumPy/Matplotlib ...库)使用IVI-COM或.NET驱动程序.这个解决方案显然是最令人满意的解决方案,因为IVI驱动程序已经处于相当高的水平,并且它们通常由供应商提供,来自不同供应商的仪器可以互换.

我的第一个问题是一个相当技术性的问题:我随处可读COM对象集成在.NET框架中,并且可以在.NET中直接使用COM对象.就我而言,我能够通过导入comtypes模块(请参阅使用COM对象http://code.activestate.com/recipes/578089-using-iviscope-in​​strument-driver-with-python/),并dotnetclr来自pythondotnet ,但我根本不明白如何使用该clr模块访问这些COM对象.有人可以解释COM和.NET之间的联系吗?

另外,我总是有点困惑,我怎么知道,当我有一个DLL文件,如果它包含一个.NET模块,如果我可以用4.0版本的.NET打开它(我是一个完整的这些框架问题的初学者和正确文档的链接会非常好吗?

第二个问题是,更一般地说,没有一个模块可以统一收集不同仪器的大量驱动程序吗?在我看来,我们必须成千上万的人在处理同样的问题.

我最近落在模块lantz http://lantz.glugcen.dc.uba.ar/.不幸的是,这是在Python 3.0中,而我仍在使用Python 2.7(用于Windows的pythonxy发行版).此外,我有点害怕这个项目不是试图实施IVI建议,这将是一个很好的起点.

任何对相关信息来源的评论或链接都将受到欢迎.

.net python com driver visa

9
推荐指数
1
解决办法
3101
查看次数

ARM Linux内核驱动程序中的关键时序

我在MX28(ARMv5)上运行linux,并使用GPIO线与设备通信.不幸的是,该器件有一些特殊的时序要求.GPIO线路上的低电平不能超过7us,高电平没有特殊的时序要求.代码实现为内核设备驱动程序,并通过直接寄存器写入切换GPIO,而不是通过内核GPIO api.为了测试,我只生成3个脉冲.该过程如下所示,都在一个函数中,因此它应该适合指令缓存:

  • 设置gpio高
  • 保存标志和禁用中断
  • gpio低
  • 暂停
  • gpio高
  • 再重复2次
  • 恢复标志/重新启用中断

这是与GPIO相连的逻辑分析仪的输出.

三个脉冲的图片

大部分时间它都很好用,脉冲持续不到1us.然而,大约10%的低点持续很多很多微秒.即使禁用了中断,也会导致代码流中断.

奇怪的长脉冲

我很茫然.RT Linux可能在这里没有帮助,因为问题不是延迟,它似乎是在低端发生的事情,即使没有任何东西应该在禁用IRQ时中断它.非常感谢任何建议.

linux kernel arm driver linux-kernel

9
推荐指数
1
解决办法
1592
查看次数

为通过USB连接的某些硬件编写游戏控制器驱动程序

我正在为我拥有的游戏控制器创建一个驱动程序(钴通量www.cobaltflux.com).物理控制器本身有九个面部按钮和两个控制盒按钮(启动/选择).控制盒有一个USB端口,但据我所知,没有人曾经为它编写驱动程序.我想要的最终结果是能够通过USB端口插入钴通量,并让Windows将其识别为游戏控制器.

我有一些编程经验.我在加州大学戴维斯分校计算机科学和在大嵌入式系统公司实习的资深本科生,但是这个项目涉及几方面我有没有经验:通过USB端口接口的硬件和软件,从硬件调查反馈我没构建(当按下按钮时,哪些位点亮?),以及为Windows创建驱动程序和程序.

因为我个人并不认识任何能够让我在正确的轨道上找到解决这个问题的工作流程的人,所以我在这里问.我想这个方法类似于:

我通过USB连接设备

我打开一个程序来查看推送按钮对USB通道的影响

我编写了一个程序,将USB端口的信号连接到Windows所具有的游戏控制器驱动程序

这可能是值得指出的是,我需要有按钮游戏手柄的支持和不支持操纵杆,因为比赛将涉及一次按下任意数量的按钮和操纵杆一般只在任何给定时间寄存器输入的一个方向.

任何建议或帮助将不胜感激.我无法确定从哪里开始.

windows usb driver joystick joypad

9
推荐指数
1
解决办法
3930
查看次数