问题标签 [usb-hostcontroller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 设备驱动程序编程 - USB
我不得不讨论USB主机控制器的代码流。这个 USB 主机控制器是设备和操作系统之间的接口。有许多 USB 设备(例如键盘、相机、鼠标等)。
我在哪里可以找到代码来查看 USB 设备和操作系统之间的通信是如何通过 USB 主机控制器进行的?
android - Android:外部设备和Android应用程序之间的USB通信
我想通过 USB 电缆实现 android 应用程序和外部设备之间的音频数据通信。
我看过android USB 文档和它的示例代码。我能够在 android 应用程序中成功检测并连接外部设备。
如何在外部设备和安卓应用程序之间传输(发送/接收)数据?
编辑:
让我解释一下我到目前为止所做的事情。
我通过下面的代码找到了设备及其接口。
然后通过以下代码打开设备连接和接口声明。
claimInterface 将成功返回给我。
根据android 开发者文档,USB_DIR_IN 为 128,USB_DIR_OUT 为 0。所以,我已经采用了这两个接口。我通过下面的代码找到了 in & out 端点。
外接设备详情:
Intarface 及其端点详细信息:
virtualbox - Vagrant usbfilter 使访客机器进入无效状态
基于以下说明: https ://gist.github.com/dergachev/3866825#vagrant-setup
Ubuntu Linaro uname -a Linux ken-desktop 3.11.0-18-generic #32-Ubuntu SMP Tue Feb 18 21:11:14 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux cat /proc/version Linux 版本 3.11.0-18-通用(buildd@toyol)(gcc 版本 4.8.1(Ubuntu/Linaro 4.8.1-10ubuntu8))#32-Ubuntu SMP Tue Feb 18 21:11:14 UTC 2014
Virtualbox-4.2
流浪者 1.5 vagrant_1.5.0_x86_64.deb
在食谱文件夹中,我克隆了以下厨师食谱:
我也安装了这个:
我尝试制作一个不错的 Vagrantfile,创建一个自动挂载 usb 的精确 64 虚拟机。但是每次我尝试在我的 virtualbox VM 上添加一个 usbfilter 时,我都会收到以下消息:
我的配置文件如下:
详细信息是:如果我删除以下几行,它会正常启动(但没有可用的 USB)
编辑
来自 Vlogs 文件的日志
VAGRANT=调试 vragant up 日志
有人对这个主题有一些专业知识吗?非常感谢。
解决方案:我虽然它已经安装...阅读时:00:00:00.039722已安装扩展包:00:00:00.039747 VNC(版本:4.2.16 r86992;VRDE模块:VBoxVNC)但实际上我必须安装主机上的扩展访客包。这有点令人困惑。非常感谢您。您可以添加一个正确的答案,我会验证它。
java - How to start an app on reboot if USB_HOST_ATTACHED and ACTION_BOOT_COMPLETED
I'm writing an app that needs to start up automatically when a device is connected to a tablet in USB Host Mode. In addition to that I want my app to start on tablet reboot after boot_completed if the usb device is attached. Having need to implement these two functionalities I'm in a bit of a dead lock situation. It works all fine when I plug a usb device the app brings up itself without a problem. but on reboot i'm running in to an issue where the application starts itself before the boot_complete is recieved, and that is because the usb device is already attached to the tablet. This is made worse in kitkat 4.4.2 as they have delayed processing the boot_complete state by doing it serially where as 4.3 did it parallely on reboot.
So how can I get the app to start on reboot after bootup is completed rather than before boot_up is completed while having the USB device attached.
Many thanks
java - USB主机+电源支持
在我目前正在进行的一个项目中,我正在使用 PIPO T9 平板电脑运行一个应用程序,该应用程序使用 USB 端口与收发器进行通信。我选择这款平板电脑的原因是它有一个 USB 端口和一个 5vDC 电源输入(看似),可以在使用 USB 端口时为其供电。后来我发现一次只能使用一个。所以现在我一直在寻找一种方法:
在不使用应用程序时,以编程方式强制平板电脑禁用 USB 主机。希望允许平板电脑从 5vDC 线路切换到充电,或者
使用 OTG Y 数据线充电并从 USB 端口获取数据
到目前为止,我已经尝试过 OTG Y 电缆方法,似乎这不适用于平板电脑。当平板电脑关闭时,充电没有问题,但一旦重新打开,充电就会停止。我在这里看到了一些类似的问题,建议使用 USB 附件模式,但我正在努力找出这是否适用于运行 4.42 的平板电脑(注意:此平板电脑已植根)。
与往常一样,如果有人有任何建议,我将不胜感激。
先感谢您 :)
android - android两个USB设备问题
我正在开发一个用于控制电路的平板电脑应用程序,但现在我被困在了某个地方……在这个阶段之后,我考虑了一些选择。我需要 2 个 USB 端口,一个用于 USB 串行转换器(即 pl-2303),另一个是标准闪存驱动器。我尝试使用连接到 OTG 电缆的集线器,但没有成功。当我只将我的一个设备插入 OTG 端口时,它们都可以工作,但是当我将其中的 2 个插入集线器系统时,系统会冻结或不安装我的闪存驱动器。我尝试了 3 个不工作的不同集线器。有时我使用 sd 读卡器而不是闪存和 digitus 转换器而不是 pl-2303 来运行这个设置。然后我认为这可能是 USB 1.1 - 2.0 规范的问题,因为 pl-2303 是 USB 1.1 设备,其余的是 2.0。在我意识到平板电脑中的 realtek wifi 模块也安装到 USB 端口后,我移除了模块以检查我是否可以将我的一个设备连接到该端口。但像往常一样,系统的 wifi 驱动程序正在控制这个端口,所以当我尝试为端口加电时,系统会检查它是否可以找到 realtek 模块,当它无法检测到 realtek 无线模块时,只会关闭端口。发生这种情况时,我可以看到我的设备已连接到系统几秒钟,然后驱动程序将其关闭。
这就是全部故事。我只需要这两个设备一起工作。我在等你的意见
该平板电脑是基于 ATM 7021 处理器的廉价平板电脑。
提前致谢。
android - Android:与安卓设备的RS232串行通信
我有一个MR400s 计价器硬件。我想使用 RS232 电缆与这个计价器通信,我已经在 windows 中实现了这种连接和通信。但我想使用 android 设备建立连接。
我怎样才能做到这一点?
谢谢伊山耆那教
android - 三星 Galaxy Tab S 10.5 和 Unity 的 Android UsbHost 问题
当应用程序已经打开并附加了 USBDevice 时,应用程序有时能够与设备通信,有时则不能。我收到的错误每次都不同。不变的是,它在三星 Galaxy 手机、Nexus 7、Nexus 10 上按预期工作。如果应用程序从正在连接的设备启动,则大部分时间一切都按预期工作。
清单是这样设置的
在 onCreate 中,我通过以下方式检查应用程序是否是从意图启动的:
如果应用程序已经打开,并且因为launchMode
is singleTask
,我已经onNewIntent
像这样覆盖了该方法
而且它几乎总是会在该方法中遇到权限被拒绝的 else 块,因此它会转到我设置的权限检查广播接收器,如下所示:
该过程似乎没有导致任何错误,并且每次都会写出设备信息。有时,它列出了两个接口,有时是 0。这很奇怪,我不知道它为什么会这样做。
这就是我初始化设备的方式:
这是通常的 logcat 输出:
在 logcat 中打印以下行后,似乎有一个明显的超时:
如果应用程序的其余部分继续运行得足够快,则问题不会发生,但如果它在该步骤上挂起几秒钟,则每次都会失败。但是,并不总是在同一个地方。有时在尝试声明接口时,有时在发送控制传输时,有时没有失败消息,但没有接收到数据。
启动应用程序时,logcat 输出如下所示:
当应用程序启动,设备连接,并且onNewIntent
方法被点击时,每次都点击权限被拒绝的块,但从来没有显示请求权限的提示?
有谁知道为什么这款平板电脑的这种行为如此奇怪?
模型:SM-T800
安卓版本:4.4.2
内核版本:3.4.39-2010469
内部编号:KOT49H.T800XXU1ANFB
android - Android USB Host 通过 USB 集线器进行串行通信
当设备插入具有多个设备的 USB 集线器时,我从 USBDevice 获取 USBInterface 时遇到问题。
当我直接通过 OTG 或通过 OTG 连接的集线器连接 USB 设备时,一切正常,但是一旦我在集线器中插入额外的设备,我就无法打开连接。
我检索所有 USB 设备驱动程序并遍历它们,直到找到要与之通信的设备。
以下代码片段包含我检索 USB 设备的方法:
当我的设备是集线器中唯一的设备时,接口数为 2,但一旦我添加其他设备,计数为 0,并且系统在我尝试打开连接时立即在 getInterfaceCount 上抛出 ArrayIndexOutOfBoundException。
附加信息:我使用usb-serial-for-android库作为与设备通信的包装器。它是 arduino(用于测试)或 FTDI 芯片。