Articles of 驱动

Linux的USB连接/断开事件

您好,我正在一个embedded式Linux设备与usb端口使用g_ether驱动程序的USBnetworking。 当usb插头连接时,dmesg的输出是: g_ether小工具:全速configuration#2:RNDIS 拔下USB电缆时,不会将消息写入dmesg。 使用C如何侦听连接/断开事件? embedded式Linux操作系统没有任何附加function。 没有dbus守护进程或hotplug助手脚本。 我甚至不确定这些是否有用。

如何在RHEL 6 / Linux上设置Oracle ODBC驱动程序

我需要在RHEL 6上设置Oracle ODBC驱动程序,以连接驻留在远程Windows计算机上的Oracle数据源。 我采取了以下步骤: [1]安装oracle-instanceclient-basic [2]设置环境variables:ORACLE_HOME和LDpath [3]创build了/etc/oracle/TNSnames.ora并进行了configuration,但没有正确设置 最初,我得到错误, "Connect failed because target or object does not exist" 然后,我在TNSnames.ora文件中设置: ORACLE_SID = DB_NAME 。 但是,这并没有解决问题,我现在得到一个新的错误消息: "TNS: net service name is incorrectly specified"

找不到适合jdbc的驱动程序:postgresql://192.168.1.8:5432 / NexentaSearch

我写了下面的Java程序 import java.io.*; import java.util.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.logging.Level; import java.util.*; public class Sample { public static void main (String[] args) throws IOException { int CountComputers; FileInputStream fstream = new FileInputStream( "/export/hadoop-1.0.1/bin/countcomputers.txt"); BufferedReader br = new BufferedReader(new InputStreamReader(fstream)); String result=br.readLine(); CountComputers=Integer.parseInt(result); input.close(); fstream.close(); Connection con = null; […]

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

我在MX28(ARMv5)上运行linux,并使用GPIO线路与设备通信。 不幸的是,该设备有一些特殊的时间要求。 GPIO线上的低电平持续时间不能超过7us,高电平没有特殊的时序要求。 该代码作为内核设备驱动程序实现,并通过直接寄存器写入来切换GPIO,而不是通过内核GPIO API。 为了testing,我只产生3个脉冲。 这个过程如下,都在一个函数中,所以它应该适合在指令caching中: 设置gpio高 保存标志并禁用中断 gpio低 暂停 gpio高 再重复2次 恢复标志/重新启用中断 这是连接到GPIO的逻辑分析仪的输出。 大部分时间它的工作很好,脉冲持续时间在1us以下。 然而,大约10%的低点持续了很多很多微秒。 即使中断被禁用,也会导致代码stream被中断。 我很茫然。 RT Linux在这里可能没有什么帮助,因为问题不是延迟,它似乎是在低端发生的事情,尽pipe没有任何事情可以在IRQ禁用的情况下中断它。 任何build议将大大,非常感谢。

Linux驱动程序中的结构文件

我目前正在学习如何编写Linux设备驱动程序,我无法理解“ 结构文件 ”。 我正在使用Linux设备驱动程序第三版来帮助我。 这就是我所理解的。 一个。 struct文件表示一个打开的文件,因此,当在设备驱动模块中调用open时,内核将创build一个包含与设备驱动相关的所有内容的结构文件。 湾 如果你想传递这个设备驱动程序的实例,那么必须传递一个指针,指向open()之后由内核创build的特定结构文件。 C。 文件 – > private_data将始终返回指向设备的指针。 与此相关的另一个问题是“ f_pos ”字段。 该书说,如果驱动程序想知道文件中的当前位置,可以读取这个值。 这是我从中理解的。 d。 如果struct foo_dev和这个驱动程序用于存储数据的内存总量是X,那么f_pos指向驱动程序保留的那块内存中的当前位置。 我明白了多less是正确的,请纠正我的错误。 谢谢, 米尔

Windows防火墙编程

我GOOGLE了很多次,直到我创build了这个问题,所以请原谅,如果有一些教程。 我没有find他们。 如何在Windows中编写防火墙应用程序? 我想过在每个进程中使用内联钩子的用户模式fiewall,但是有一个问题,我不能在Windows 7中挂钩csrss.exe(它创build新的进程)。第二件事是它不是很干净,确定为恶意软件。 所以我认为我应该把内核模式的API作为一个驱动程序。 但是有三个问题。 首先,我不知道Windows套接字的内核API。 其次我没有任何有关内核模式钩子的经验。 第三,我不知道这是否正确。 别担心,我知道这不是一件容易的事情,我不是初学者,只是一个想法;)。 如果有人有好的信息,请分享。 哦,我想写的x86系统;)。

glGenFramebuffers或glGenFramebuffersEXT?

我很困惑。 要在Windows上使用OpenGL 1.x中的Framebuffer Object扩展(FBO),可以使用哪些? wglGetProcAddress("glGenFramebuffers"); // or wglGetProcAddress("glGenFramebuffersEXT"); 就我从使用不同硬件的用户的报告中可以看出,一些驱动程序支持所有的组合,既不是一个,也不是两者中的一个。 哪一个是正确的? 一些司机真的支持一个,而不是另一个? 如果没有find,试图从一个回落到另一个是否正确? 编辑:我仍然有严重的问题与ATI Radeon显卡和周围的代码。 我们刚刚使用这个代码(www.scirra.com)推出了一个商业编辑器。 看来不pipe我用什么代码组合来使用FBO,一些不同的用户组合报告他们什么都看不到(即没有呈现)。 这里是我检测是否使用ARB函数(无后缀)或EXT后缀函数的代码。 这在启动时运行: gl_extensions = reinterpret_cast<const char*>(glGetString(GL_EXTENSIONS)); gl_vendor = reinterpret_cast<const char*>(glGetString(GL_VENDOR)); gl_renderer = reinterpret_cast<const char*>(glGetString(GL_RENDERER)); gl_version = reinterpret_cast<const char*>(glGetString(GL_VERSION)); gl_shading_language = reinterpret_cast<const char*>(glGetString(GL_SHADING_LANGUAGE_VERSION)); // If OpenGL version >= 3, framebuffer objects are core – enable regardless of extension // (the […]

强制Windowsvideo驱动程序重新加载。 有没有可能?

一些驱动程序使用registry中写入的参数来在启动时加载它们。 我可以修改这些值,然后重新启动,但我想知道是否有可能强制驱动程序重新加载,使更改有效,无需重新启动。 具体来说,我正在谈论video驱动程序(NVIDIA)。 我在某个地方读过,通过640x480x8bits分辨率的pINvoke()[User32.ll] :: ChangeDisplaySettings()来调用(它太低以至于不应该被现代驱动程序所支持)将强制windows加载“Standard VGA驱动程序“,并使用当前分辨率再次调用将再次加载nvidia驱动程序。 这虽然不起作用。 至less在Windows 7中,即使低分辨率不显示为“支持”,系统会将屏幕缩小到屏幕中央的一个小方块,显示低分辨率,但不会卸载nvidia驱动程序。 那么,有没有.NET / Win32的API,服务重新启动,或者任何方式来强制video驱动程序重新加载? 也许以编程方式禁用设备(就像你可以从设备pipe理器中做的那样)并重新启用它。 任何想法? 非常感谢。

检测CMD中的可移动驱动器号

我试图写一个脚本,它会检测到我的USB可移动驱动器名为“UUI”的信,然后创build它的文件夹。 我已经为CMD写了几个命令,它们在单独运行时工作。 但是,当我把它们放入一个bat文件时,我总会遇到一些错误。 以下是bat文件中的命令: for /F "tokens=1 delims= " %i in ('WMIC logicaldisk where "DriveType=2" list brief ^| c:\windows\system32\find.exe "UUI"') do (echo %i > drive.txt) set /p RemovableDriveLetter2= < drive.txt del /F /Q drive.txt set RemovableDriveLetter=%RemovableDriveLetter2:~0,1% %RemovableDriveLetter%: md MyNewFolder cd MyNewFolder 当我去cmd.exe并通过调用“myScript.bat”或“call myScript.bat”运行该文件时,出现错误: C:\用户\ UUI \桌面> myScript.bat \ windows \ system32 \ find.exe在这个时候是意外的。 C:\ Users […]

在Windows 64位上使用Delphi的libusb?

稍微阅读后,我担心我的32位Delphi应用程序将无法在Windows 7和其他64位Windows系统上使用libusb 64位驱动程序,并且无法与我的定制硬件进行通信这些系统上的设备。 这是真的? 如果是,是否有一些解决方法? 我在这张照片中错过了什么吗?