首页 文章
  • 2 votes
     answers
     views

    MacOS HID - USB控制传输 - HID API / libusb MacOS

    我试图从类似控制器获取报告,我无法访问固件 . 我已成功设法在Windows平台上与设备通信,但在 MacOSX (尝试 MacOS 10.12 )时出现问题 . 在 Windows 上我使用了 HidD_SetOutputReport() / HidD_GetInputReport() 函数,这意味着设备希望请求为 Control Transfers . Interrupt Trans...
  • 3 votes
     answers
     views

    kext隐藏在10.7卸载失败但10.6工作完美无缺

    我正在研究MacOSX的虚拟USB总线驱动程序(Windows已经运行)通过网络连接到Linux机箱 . 它可以在10.6和10.7下使用大容量存储设备和鼠标或键盘等HID设备正常工作 . 但是,对于10.7(.5)以下的HID设备,删除设备(拔出)或更简单的卸载kext失败,因为剩下的一个实例(分离后保留计数不会降到零) . 我的10.6和10.7测试环境与MacBooksPro 8.2 i7相...
  • 3 votes
     answers
     views

    USBInterfaceOpen始终报告kIOReturnExclusiveAccess错误

    最近我头痛地遇到了这个问题,我已经在这个问题上花了一个星期,但仍然失败了 . 希望你能帮我把这块石头踢掉,非常感谢 . 我的问题:我们的compony为iPhone 生产环境 USB存储设备,实际上这个存储设备中有一个SDCard . 现在,我们要开发一个Mac应用程序来更新此存储设备的固件 . 但是每次我将存储设备连接到Mac时,Mac都会自动挂载它,并且在调用 USBInterfaceOpen...
  • 0 votes
     answers
     views

    在Mac OS X上手动重置USB设备后,Kext驱动程序没有响应

    我正在使用通过USB连接到Mac OS X操作系统的计算机的蓝牙耳机 . 我有用户空间运行的应用程序以及通过发送设备请求和读/写管道与耳机一起工作的kext驱动程序 . 要更改耳机的设置,我调用IOUSBDevice :: DeviceRequest(...),但要应用这些设置,我需要重新启动耳机的芯片 . 问题是在从kext驱动程序发送特殊设备请求后重新启动芯片时,不会调用函数stop(IOSe...
  • 3 votes
     answers
     views

    用于USB存储设备的无代码kext

    在一个项目中,我最近试图通过osx 10.9.5上的libusb访问usb存储设备 . 但显然一些默认驱动程序声称该设备,我无法访问它 . 当我尝试通过libusb访问它时,它返回我“权限不足” . 当我在Ubuntu中执行(java)应用程序时,一切正常 . 我在互联网上的研究表明,提供与更高探针核心上的设备匹配的无代码kext会阻止默认驱动程序声明设备 . 这将完全解决问题,因为卸载IOUSB...
  • 1 votes
     answers
     views

    MAC中的HID设备接口

    我必须为OSX创建一个软件/驱动程序,它与通过USB连接的HID设备进行交互 . 申请的目的如下, 检测何时插入或移除了HID设备 . 设备的PID和VID是已知的 . 读取HID设备序列号,固件版本以及与VID和PID匹配的已连接设备的其他详细信息 获取报告并在连接时将报告设置到HID设备 . 与另一个应用程序通信,用户可以通过该应用程序更改HID设备设置 我不是驱动程序开发...
  • 0 votes
     answers
     views

    在Linux上,通过USB使用HID报告的好方法是什么?

    在macOS上,我使用IOKit通过USB连接获取和设置HID报告(对于好奇的,这是一个站立式桌面的控制器,允许您以编程方式升高和降低桌面) . 我可以使用 IOHIDManager 获取设备列表: _manager = IOHIDManagerCreate(NULL, 0); NSDictionary *deviceQuery = @{@kIOHIDVendorIDKey: @0x12D3, ...
  • 7 votes
     answers
     views

    Cocoa:按供应商ID检测USB设备

    我正在为Mac编写一个Foundation工具,并尝试检测Apple设备何时通过USB连接和断开连接 . 我在this post中找到了一些帮助以及USBPrivateDataSample - 但它似乎只有在我同时提供供应商ID和产品ID时才有效 . 我想消除产品ID并找到Apple设备上的所有USB事件(供应商ID 1452) . 有什么帮助吗? 这是我的代码似乎没有检测到任何设备: #inc...
  • 1 votes
     answers
     views

    OS X上的平移/倾斜UVC(USB视频设备类)控制

    我正在尝试修改现有的应用程序,该应用程序通过OS X上的USB与标准USB视频设备类网络摄像头(Logitech BCC950相机)通信 . 该设备( Session 网络摄像头)符合USB的"Video Device Class"(https://en.wikipedia.org/wiki/USB_video_device_class) . I have provided ...
  • 3 votes
     answers
     views

    如何在Mac OS cocoa中获取已安装的USB设备的设备ID,供应商ID和产品ID

    我正在尝试编写一个Cocoa程序来检测连接到Mac OS的iPod . 我正在收听NSWorkspaceDidMountNotification和NSWorkspaceDidUnmountNotification以获取USB设备的安装和卸载通知 . 我可以使用NSString * path = [[notif userInfo] objectForKey:@“NSDevicePath”]获取已安装...
  • 3 votes
     answers
     views

    从插入设备的IOKit(CoreFoundation)接收通知时出现问题

    我正在开发一个10.6.7上的应用程序,它应该在插入新的USB设备时收到通知 . 我发现有一个IOKit函数可以处理这些东西'IOServiceAddMatchingNotification' . 因为这个特定函数的返回值是0,我认为这个问题可能出现在我的匹配字典中,该字典被赋予了这个函数 . 我这样宣布字典: CFMutableDictionaryRef matchingDict = IOSer...
  • 1 votes
     answers
     views

    IOServiceGetMatchingServices在OSX 10.11 El Capitan中返回空迭代器

    我有一个小程序来查找连接到Mac的所有USB CDC设备的供应商ID和产品ID . 该程序使用IOServiceNameMatching和IOServiceGetMatchingServices分别获取匹配的字典和服务迭代器,如下面的代码片段所示: matchingDictionary = IOServiceNameMatching("AppleUSBCDC"); IOServ...
  • 1 votes
     answers
     views

    无代码kext加载问题

    我创建了一个无代码kext,这样我的一个USB设备就不会被AppleUSBUHCI驱动程序绑架 . 当我插入一个,它应该加载一个不同的驱动程序 . 它发生在FTDI和CSR设备上 . 我把我的kext放在一起,而info.plist看起来很像这里的例子:http://www.projectosx.com/forum/index.php?showtopic=798只是有不同的VID / PID . ...
  • 0 votes
     answers
     views

    OSX和Windows 10上的低延迟同步输出

    我正试图通过高速USB 2以极低的延迟输出等时数据(以编程方式生成) . 理想情况下大约1-2毫秒 . 在Windows上我使用WinUsb,而在OSX上我使用的是IOKit . 我想到了两种方法 . 我想知道哪个是最好的 . 1 -frame transfer WinUsb在它允许的范围内是相当严格的,并且要求每个等时传输是整数帧(1帧= 1ms) . 因此,为了最大限度地减少延迟,请在循环中使...
  • 10 votes
     answers
     views

    使用I / O套件访问串行至USB设备

    我有以下问题:我有一个Wintec WBT-202 GPS设备,它能够通过USB传输位置数据作为NMEA数据 . 在这个USB内部它只是一个USB到串行桥,它使用标准 usbser.sys 驱动程序在Windows下运行 . 我的问题是让它在Mac OS X下运行 . The hardware USB GPS鼠标使用Atmel AT91SAM7S256芯片,该芯片也负责USB接口 . 在Mac ...
  • 0 votes
     answers
     views

    具有相同供应商ID和不同产品ID的Mac OS X通知

    从stackfow链接尝试此解决方案: CFMutableDictionaryRef matchingDict = IOServiceMatching ( kIOUSBDeviceClassName ); if ( matchingDict ) { UInt32 usbVendor = k_MyVendorID; CFNumberRef refVendorId ...

热门问题