我有一个 USB 设备,我想知道如何从供应商 ID 和设备 ID 中识别“供应商名称”和“设备名称”。
我从 USBManagers 的 DeviceList Hashmap 获得的设备名称看起来无效。
最后我想要的是这样的:
(硅 - 功率 8GB)
我知道一些 Delphi 的基础知识(实际上我已经使用它几年了)......
我正在用 DLL 撞墙(从来没有真正玩过这个)。
考虑这个例子:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
Type FT_Result = Integer;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
FT_HANDLE : DWord = 0;
implementation
{$R *.dfm}
function I2C_GetNumChannels(numChannels: dword):FT_Result; stdcall; external 'libmpsse.dll' name 'I2C_GetNumChannels';
function I2C_OpenChannel(index:dword;handle:pointer):FT_Result; stdcall; external 'libmpsse.dll' name 'I2C_OpenChannel';
procedure TForm1.Button1Click(Sender: TObject);
var
numofchannels:dword;
begin
i2c_getnumchannels(numofchannels);
showmessage(inttostr(numofchannels));
end; …Run Code Online (Sandbox Code Playgroud) 我买了一个Waterrower,它有一个S4 性能监视器,背面有一个微型 USB 连接器,我认为能够获取来自 S4 的数据并用它做一些很好的事情会很好。
我确实知道一些 Ruby,但我一点也不喜欢与硬件交谈。我确实在 Github 上找到了Lars Kanis的libusb Ruby 绑定,并使用了它:
2.1.0 :001 > require "libusb"
=> true
2.1.0 :002 > usb = LIBUSB::Context.new
=> #<LIBUSB::Context:0x000001011451c0 @ctx=#<FFI::Pointer address=0x000001032788b0>, @on_pollfd_added=nil, @on_pollfd_removed=nil, @hotplug_callbacks={}>
2.1.0 :003 > usb.devices
=> [#<LIBUSB::Device 20/9 04d8:000a Microchip Technology Inc. CDC RS-232: WR-S4.2 ? (Comm (00,00))>, #<LIBUSB::Device 20/8 054c:0243 Sony Storage Media 2A08080530914 (MassStorage SCSI Bulk-Only)>, #<LIBUSB::Device 20/1 05ac:025a Apple Inc. Apple Internal Keyboard / Trackpad ? (HID …Run Code Online (Sandbox Code Playgroud) 我需要有关 USB 调试的帮助...
多年来,我一直试图让我的计算机调试我的手机。这令人沮丧。我已经安装了所有必需的驱动程序。我的设备已被检测到,adb devices但未经授权。无论我尝试多少次,我的 android 上的授权对话框都没有出现。
如果你想告诉我去对根文件做些什么,我不能。我的手机还是原装的,没有root。是的,我已更改为 PTP。我还从 SDK Manager 安装了最新的 sdk 平台工具。我使用 Windows,并在 cmd 中使用 adb。
请帮忙!
如何检测 Topaz 设备是否已连接?
我的 Topaz 是:T-LBK462-HSB-R (USB) 我使用的是:SigWeb SDK (SigWebTablet.js)
我应该调用 SigWebTablet.js 库的哪个方法来检查设备是否已连接?
正如他们在官方演示中所说:http : //www.sigplusweb.com/sigwebtablet_demo.htm
如果我想使用 Topaz,我需要调用此代码:
var ctx = document.getElementById('cnv').getContext('2d');
SetDisplayXSize( 500 );
SetDisplayYSize( 100 );
SetTabletState(0, tmr);
SetJustifyMode(0);
ClearTablet();
if(tmr == null)
{
tmr = SetTabletState(1, ctx, 50);
}
else
{
SetTabletState(0, tmr);
tmr = null;
tmr = SetTabletState(1, ctx, 50);
}
Run Code Online (Sandbox Code Playgroud)
但是这段代码即使没有连接 Topaz 设备也能成功执行,这基本上意味着它只需要运行 Topaz 本地服务器。但这对我来说还不够,我需要知道设备已连接。
ID_SERIAL和ID_SERIAL_SHORTudev 属性有什么区别。udev 如何为这 2 个 udev 属性 ID 分配值。我正在编写 USB 驱动程序,我正在使用udev_device_get_property_value()方法来获取 udev 属性的值。在这种情况下,我可以看到上面提到的 2 个类似的属性。我找不到这些信息的解释文件。
Ubuntu 没有显示我的 android 设备。
我尝试安装 libmtp* mtp* 并重新安装它并且还尝试将设备信息放在 udev.rules 的相关文件中
此问题涉及:如何使用 Windows API 重置 USB 设备? 我使用的是 Visual Studio 2015,项目目标平台是Win10.0.14393.0.
我正在尝试使用用户空间解决方案通过调用CM_Reenumerate_DevInst().
我遇到的问题是打电话时
SetupDiGetClassDevs(&GUID_DEVINTERFACE_USB_HUB, NULL, NULL, DIGCF_DEVICEINTERFACE);
我收到此编译错误。
1>UsbDevices.obj : error LNK2001: unresolved external symbol GUID_DEVINTERFACE_USB_HUB
1>C:\DEV\Experiment\MFCApplication1\x64\Debug\MFCApplication1.exe : fatal error LNK1120: 1 unresolved externals
Run Code Online (Sandbox Code Playgroud)
我找不到定义此 GUID 的库。
我正在开发一个 Android 应用程序,它在清单中为 BroadcastReceiver 注册了四个意图过滤器。这些是:
android.hardware.usb.action.USB_DEVICE_ATTACHED
android.hardware.usb.action.USB_DEVICE_DETACHED
android.hardware.usb.action.USB_ACCESSORY_ATTACHED
android.hardware.usb.action.USB_ACCESSORY_DETACHED
Run Code Online (Sandbox Code Playgroud)
请注意,目前没有device-filter与任何这些意图一起注册的元数据。当我在 Android 9(特别是在三星 Galaxy S9 上)启动这个应用程序时,任何和所有 USB 设备都被注册,并且onReceive在 BroadcastReceiver 中成功调用了该方法。但是,在 Android 10(在 Galaxy S20 上)中运行的相同代码不会调用onReceive. 我意识到设备过滤器被列为开发人员文档中的一项要求,但 Android 9 毫无疑问地接受了它。
在理想的世界中,我不想使用设备过滤器,因为我的应用程序通过用户配置包含一个动态设备过滤选项,他们在其中输入应用程序要使用的 PID/VID 组合。
我的问题是:有没有办法通过清单为 Android 10 应用程序提供“允许所有”设备过滤器?设备过滤器行为的这种变化一般是 Android 的预期功能,还是三星的实现?
如果它影响任何事情,这个应用程序是一个设备管理员。