标签: usb

为什么adb在设备字符串后返回脱机状态?

我使用"adb devices"获得以下结果.只有一台设备通过USB连接到PC,但我们得到8行结果.

有人能说出原因吗?

WH96TNE00361    offline
WH96TNE00361    offline
WH96TNE00361    offline
WH96TNE00361    offline
WH96TNE00361    offline
WH96TNE00361    offline
WH96TNE00361    offline
WH96TNE00361    offline
Run Code Online (Sandbox Code Playgroud)

usb android device adb debug-mode

57
推荐指数
8
解决办法
15万
查看次数

Android USB主机从设备读取

我正在尝试从连接到主机模式的Android手机的USB设备中获取一些数据.我能够向它发送数据,但读取失败.

我已经看了几个 例子,尽我所能,但我没有任何USB通信经验,虽然现在我知道了一点,而且我已经坚持了这个,我不得不承认.

我对端点配置不太熟悉,但我知道我的设备使用CDC类型的通信方法,并且输出(从电话到设备)和输入都被注册.

这是使用连接到手机的唯一设备来管理USB连接的整个班级,它没有以任何方式完成,但我希望在我继续前进之前让阅读部分工作.

public class UsbCommunicationManager
{
    static final String ACTION_USB_PERMISSION = "com.android.example.USB_PERMISSION";

    UsbManager usbManager;
    UsbDevice usbDevice;
    UsbInterface intf = null;
    UsbEndpoint input, output;
    UsbDeviceConnection connection;

    PendingIntent permissionIntent;

    Context context;

    byte[] readBytes = new byte[64];

    public UsbCommunicationManager(Context context)
    {
        this.context = context;
        usbManager = (UsbManager) context.getSystemService(Context.USB_SERVICE);

        // ask permission from user to use the usb device
        permissionIntent = PendingIntent.getBroadcast(context, 0, new Intent(ACTION_USB_PERMISSION), 0);
        IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION);
        context.registerReceiver(usbReceiver, filter);
    }

    public void connect()
    {
        // …
Run Code Online (Sandbox Code Playgroud)

usb android host cdc

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

macbook adb无法打开界面

我遇到了通过USB调试Android ADB的问题.

使用Macbook Air 2013并尝试连接Nexus 6开发电话.

在MAC Android Studio上安装了android最新的sdk.

当我做

adb kill-server
adb devices
Run Code Online (Sandbox Code Playgroud)

我明白了:

adb I   661  9881 usb_osx.cpp:259] Found vid=18d1 pid=**** serial=*****
adb I   661  9881 usb_osx.cpp:259] 
adb E   661  9881 usb_osx.cpp:331] Could not open interface: e00002c5
adb E   661  9881 usb_osx.cpp:265] Could not find device interface
Run Code Online (Sandbox Code Playgroud)

因此,它发现设备,供应商ID,产品ID和串行匹配我在Nexus 6的系统信息中找到的内容.

我在网上找到以下建议后尝试了 - 但没有成功 - 以下解决方法:

  • 在电话上禁用和重新启用调试模式,还可以在USB配置之间切换充电,MTP,PTP,RNDIS,音频源,MIDI,始终确保对Mac的RSA指纹进行授权

  • 关闭Android Studio/DDMS,通过'kill-server'命令杀死adb以及通过Apple活动监视器终止进程

  • 以root身份运行adb

  • 重启Mac几次

  • 重新启动Nexus 6

  • 完全重新安装Android SDK

  • 与其它调试启用Android设备尝试(三星Galaxy Tab,这里还发现了亚行正确的设备信息,但不能访问与同样的错误接口)

  • 尝试使用3种不同的USB电缆,所有电缆最初都附带Android设备

通过谷歌,我了解到错误代码e00002c5意味着该设备已被其他驱动程序使用.

我最近安装了Sophos Home Antivir.认为这可能会阻止ADB打开设备界面,我使用提供的卸载程序完全卸载了Sophos并重新启动了Mac.

任何提示都表示赞赏:

  • 要解决哪些步骤?

  • 因为e00002c5似乎是另一个驱动程序正在使用该设备的明确指示,如何找出哪个进程以及如何阻止它执行该操作

macos usb android adb nexus6

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

Android应用程序,与插入USB端口的设备通信

我正在考虑一个Android应用程序(可能还有一个附带的物理设备),我正在试图弄清楚这是否可行.

1)假设我将Android插入PC.PC上安装的应用程序是否可以与手机中运行的应用程序通信?我只需要一个非常简单的数据交换,它甚至可以是单向的(只需将数据从手机推送到PC上的监听应用程序,无论何时手机需要,我都不需要从PC发送到手机的任何数据).

当我插上它时,手机给了我4个选项(充电,磁盘驱动器,HTC同步,网络共享),这让我觉得这不可行,但仍然值得一试.

2)PC上的应用程序是否可以通过任何其他方式与手机上的应用程序通信?(Wi-Fi,蓝牙等).我猜wi-fi没有,因为任何一方都没有对方的IP(我希望这只是工作,而不是一直手动输入IP).

3)如果我将一个设备插入手机底部的小USB端口(让我们说这是一个可以做任何事情的神奇设备,只要它可行,我就不太关心这些细节).我可以让Android应用与该设备通话吗?

4)让手机与我制作的"设备"或PC上的应用程序通话的任何其他想法都非常受欢迎."通过网络"可能是一个选择(虽然必须有一个我作为中间人拥有的中央服务器,我相信).但我更喜欢这两种设备之间的通信是直接的.

usb android communication wifi

53
推荐指数
4
解决办法
6万
查看次数

使用远程主机的USB端口作为本地USB(Linux和Windows)

我有一个USB设备从系统读取数据并将它们传输到计算机.我想知道是否可以使用Linux单板PC(即Raspberry Pi)运行脚本并成为我的USB设备的远程服务器,我可以通过SSH或FTP连接到"远程服务器"(Linux)或其他协议(通过Internet)并将该USB端口安装到我的计算机上.任何软件都会这样做,你知道终端服务如何连接远程资源,我需要相同的,但最好是在Linux板上.

我的系统是Windows 7,因此我需要将远程USB安装为"本地端口",以便软件认为它在本地进行通信,并且它会找到读者.

linux usb remote-access

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

Linux(Ubuntu):通过命令行安全删除USB闪存盘

如果您的shell脚本可以帮助您在完成其工作后安全地删除闪存盘,那将会很酷.在发布问题之前我做了很多功课,要求提供一个有望满足以下需求的解决方案:

  1. 假设闪存盘/media/A与许多其他闪存盘一起安装,代码可以选择性地移除/media/A而不会干扰其他磁盘.例如,我可以/media/A作为参数传递.
  2. 轻量级解决方案.安装另一个100MB大小的包完成任务会让人发疯.
  3. 我知道hdparm除了他们的文件之外的一些命令很难阅读.如果有人能给我一个解决方案,我希望他/她也可以提供参数的解释等.
  4. 如果代码可以处理所有类型的闪存磁盘(例如我在2003年用32Mb购买的旧磁盘)(以及可选的便携式磁盘),则效果最佳.
  5. 右键单击磁盘应该达到确切的效果 - >单击"安全删除驱动器".安全问题将占上风,否则可能只是拔掉通常不会受伤的磁盘.

usb ubuntu

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

什么(软件)usb嗅探器可用于Windows?

是否有任何用于Windows 7(64位)的软件驱动程序可以报告在某些应用程序软件和USB设备之间传输的数据?

我试过snoopy(http://sourceforge.net/projects/usbsnoop/),但我无法让它工作.可能我需要沿着安装早期版本的Windows的路线走下去.

还有其他建议吗?

windows usb driver sniffer

46
推荐指数
2
解决办法
4万
查看次数

USB设备访问弹出抑制?

当USB设备连接到Android平板电脑时,会出现一个弹出窗口,要求获得用户许可.我想压制这个,因为客户端不想要它.我该怎么办呢?

在代码中:

UsbManager.requestpermission(); 
Run Code Online (Sandbox Code Playgroud)

被调用以给USB设备临时访问.

这会弹出一个弹出窗口.默认情况下,如何禁止弹出窗口或授予用户访问权限?

usb android

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

使用Java Sound API进行多通道USB录制?

我正在尝试使用Snow Leopard上的Java Sound录制/处理来自三个usb麦克风的一些音频(但如果修复了某些内容,可以切换到Windows).问题是,当我尝试使用与usb麦克风相对应的混音器时,Java Sound告诉我该行不受支持.具体来说,它说...

可用的搅拌机:

Java声音音频引擎

USBMIC Serial#041270067

内置输入内置麦克风

Soundflower(2ch)

Soundflower(16ch)

线程"AWT-EventQueue-0"中的异常java.lang.IllegalArgumentException:Line unsupported:interface TargetDataLine支持格式PCM_SIGNED 96000.0 Hz,8位,立体声,2字节/帧,

...当我要求它选择USBMIC调音台时:

  Mixer mixer = AudioSystem.
          getMixer(mixerInfo[1]);
Run Code Online (Sandbox Code Playgroud)

我已经尝试将音频格式与麦克风(16位,44100Hz,立体声)的确切规格相匹配,但没有任何区别.

问题出在这里:

 final TargetDataLine line = (TargetDataLine)
        mixer.getLine(info);
Run Code Online (Sandbox Code Playgroud)

似乎混音器和TargetDataLine彼此不喜欢.有没有办法让这两个人"匹配"并相处?

我正在使用的麦克风确实有点奇怪.它们被用于名为SingStar的卡拉OK视频游戏中.麦克风本身具有标准的单声道输入连接器,插入一个小集线器(两个到集线器),将它们转换为单个公头usb连接器.但是,除了陌生之外,它们似乎与Audacity一起作为单独的频道完美地工作,所以用它们进行多声道录音显然是可能的,也许不是用Java.

我还考虑使用像Soundflower这样的程序,在不同程序之间共享音频.但是,我不确定这是否会起作用,因为我无法看到如何将USB麦克风输入到Soundflower,然后将它们传输到Java中.一个快速的实验告诉我,我可以从麦克风中录制Audacity中的音频,通过Soundflower将其输出,然后在我的Java程序中处理.不过,我想要做的就是让它全部用Java实现.

有人熟悉这类问题吗?

java usb record microphone javasound

45
推荐指数
1
解决办法
3244
查看次数

在.NET中使用USB设备

使用.Net(C#),如何使用USB设备?

如何检测USB事件(连接/断开连接)以及如何与设备通信(读/写).

是否有本地.Net解决方案来执行此操作?

.net usb communication

43
推荐指数
5
解决办法
8万
查看次数