Android 亚洲开发银行没有';我再也认不出这个装置了

Android 亚洲开发银行没有';我再也认不出这个装置了,android,linux,adb,Android,Linux,Adb,整个系列的平板电脑不再在亚洲开发银行的设备上展出(一周前它们还可以正常工作)。其他安卓设备也可以工作(比如我的Nexus5手机)。这是我第一次面对这个问题。我已经阅读并尝试了我在SO和其他网站上找到的大多数解决方案,但都无济于事。情况如下: 它们在lsusb中显示为Bus 010 Device 004:ID 18d1:dddddd Google Inc. 创建/编辑了/etc/udev/rules.d/51 android.rules,并添加了子系统==“usb”、属性{idVendor}==

整个系列的平板电脑不再在亚洲开发银行的设备上展出(一周前它们还可以正常工作)。其他安卓设备也可以工作(比如我的Nexus5手机)。这是我第一次面对这个问题。我已经阅读并尝试了我在SO和其他网站上找到的大多数解决方案,但都无济于事。情况如下:

  • 它们在
    lsusb
    中显示为
    Bus 010 Device 004:ID 18d1:dddddd Google Inc.
  • 创建/编辑了
    /etc/udev/rules.d/51 android.rules
    ,并添加了
    子系统==“usb”、属性{idVendor}==“18d1”、MODE=“0666”
    (以及此处的几个其他属性组合)
  • 重新启动
    udev
    通过
    sudo服务udev-restart
  • 通过ADB kill服务器重启ADB服务器;adb启动服务器“”
  • 已尝试PC上的所有USB端口
  • 尝试了另一个USB电缆
  • 重新启动PC和平板电脑
奇怪的是,即使我清空
/etc/udev/rules.d/51 android.rules
文件并重新启动
udev
守护进程,
adb
仍然会检测到我的Nexus 5手机

我记得我在这个问题发生之前做过的改变:

  • 开始使用Android Studio而不是Eclipse(尽管我使用的是相同的ADK)和工具)
  • 将Ubuntu升级到最新版本14.04(这里可能有一些
    udev
    changes/problem?)
欢迎提出进一步建议,提前感谢


编辑:当运行注释中建议的
lsusb-v
时,我可以看到以下描述:

  bInterfaceClass         8 Mass Storage
  bInterfaceSubClass      6 SCSI
  bInterfaceProtocol     80 Bulk-Only
  iInterface              1 Mass Storage
而Nexus5显示为

  bInterfaceClass       255 Vendor Specific Class
  bInterfaceSubClass    255 Vendor Specific Subclass
  bInterfaceProtocol      0
  iInterface              4 MTP

编辑:平板电脑通过ADB在其他计算机(Windows和Linux)上运行良好。所以我的箱子一定有问题


编辑:正如评论中所建议的,我在TCP模式下尝试了ADB,效果很好。运行
dmesg
后,我可以看到系统正试图使用
ndiswrapper

[277701.803751] usb 1-4: reset high-speed USB device number 48 using ehci-pci
[277701.952803] ndiswrapper (load_wrap_driver:103): couldn't load driver android_winusb; check system log for messages from 'loadndisdriver'

此消息不会显示在ADB通过USB正常工作的其他Linux设备上。

由于相同的设备在其他PC上工作,您已经可以排除平板电脑方面的硬件问题。需要检查的其他事项包括:

  • 电脑上的USB权限:尽管其他设备可以工作,但您可能仍然没有足够的权限使用adb访问平板电脑。您提到的udev规则是特定于供应商的,有时也是特定于设备的。排除权限问题的唯一方法是以root用户身份启动adb。adb分叉一个守护进程,因此在尝试执行此操作之前,您必须先杀死adb的所有实例:
    $pkill adb

    $sudo adb devices

    如果设备确实出现在列表中,您必须调整udev规则。暂时,您可以继续正常使用adb-它将连接到现在以root用户身份运行的服务,从而按预期工作
  • 驱动程序问题:在平板电脑的开发者菜单中,您可以选择“adb over tcp”作为选项。启用它并。如果这样做有效,调试网桥本身就可以了,因此USB连接必须是问题的根源。我们已经可以排除有缺陷的电缆,因为该设备确实显示在
    lsusb
    中,并且其他功能正常工作。运行
    dmesg
    应该会为您提供解决问题所需的信息,很可能是干扰设备驱动程序。尝试使用
    rmmod
    /
    modprobe
    卸载它

与12.10+版本不同的是MTP支持。我知道14.04会在手机插入后自动使用它。这应该是一种比“大容量存储”更快、更简单的方法。也许它妨碍了你,你应该想办法从PC端或设备上禁用它?

关于投票结果:请阅读。这个问题对StackOverflow完全有效。我昨天就有这个问题,通过从USB切换到摄像头再切换回来修复了它(当你连接它时,通知会出现在状态栏中)。这是唯一的问题,也是突然发生的。那个链接充满了错误的信息。不管怎样,我还是要试试。你没抓住重点。为设备运行
lsusb-v
时,是否看到255/66/1接口?如果你看不到它-设备本身有问题。PC端的任何更改都不会改变这一点。谢谢,已经尝试过了。MTP在这些平板电脑中不能正常工作。当我激活它时,它甚至不会显示在USB总线上。