linux上的USB设备的权限ATTR {idVendor}使用表mobii protab2 XXL

时间:2012-03-29 16:38:50

标签: android permissions usb adb

我正在使用linux mint,并从VendorIds咨询http://developer.android.com我不知道如何正确检测我的平板电脑设备。我的平板设备是Mobii protab 2 XXL,由观点制作。

我在/etc/udev/rules.d/创建了50-android.rules并添加了一行: SUBSYSTEM=="usb|usb_device", SYSFS{idVendor}==”0955″, MODE=”0666″

但adb设备抛出:

List of devices attached  ????????????  no permissions

有谁知道我必须使用哪个idvendor ???

USB:

    lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 058f:6362 Alcor Micro Corp. Flash Card Reader/Writer
Bus 002 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 002 Device 005: ID 1058:1003 Western Digital Technologies, Inc. 
Bus 007 Device 002: ID 1a34:0203  
Bus 007 Device 003: ID 06f8:3008 Guillemot Corp. 
Bus 008 Device 002: ID 046d:c050 Logitech, Inc. RX 250 Optical Mouse
Bus 002 Device 007: ID 0a81:0101 Chesen Electronics Corp. Keyboard
Bus 002 Device 008: ID 18d1:0003 Google Inc. 

我上次放入udev:

SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1:0003", SYMLINK+="android_adb", MODE="0666" GROUP="plugdev"

它第一次工作,但是当我重新启动PC时,权限被拒绝。我试图重新启动:

sudo service udev restart
adb kill-server
adb start-server

但它不起作用。

注:

某些设备在执行此过程时无法正常工作。如果仍有问题,请尝试执行

sudo adb start-server

它适用于观点设备。

5 个答案:

答案 0 :(得分:5)

SUBSYSTEMS=="usb", 
ATTRS{idVendor}=="0bb4", 
ATTRS{idProduct}=="XXXX",
MODE="0660", 
OWNER="`<your user name>`"

并尝试使用大写和小写,因为在linux中很多人都有添加权限的问题。

答案 1 :(得分:5)

Arch Linux Wiki页面开始,我将创建/etc/udev/rules.d/51-android.rules

SUBSYSTEM=="usb", ATTR{idVendor}=="18D1", MODE="0666"
SUBSYSTEM=="usb",ATTR{idVendor}=="18D1",ATTR{idProduct}=="0003",SYMLINK+="android_adb"
SUBSYSTEM=="usb",ATTR{idVendor}=="18D1",ATTR{idProduct}=="0003",SYMLINK+="android_fastboot"

然后以root运行udevadm control --reload-rules 您可能需要将18D1替换为18d1。这就是我所做的,而且效果很好。只要您向每个人授予权限(MODE =“0666”),您就不一定需要用户名。如果您需要更高的安全性,请查看添加OWNER标记。这些是我在Arch上使用的规则,他们在Mint上工作。

祝你好运!

答案 2 :(得分:5)

On 51-android.rules:

SUBSYSTEMS=="usb"ATTRS{idVendor}=="18b1"ATTRS{idProduct}=="0003"MODE="0666"

并使用chmod命令在adb上拥有许可666(野兽的数量,muahahhaha)或不起作用。

祝你好运。

答案 3 :(得分:3)

根据Ethan的建议,请查看“lsusb”以找到Mobii供应商ID。在下面的示例中, 046d 是Logitech的ID。 “0955”属于nVidia。

Bus 001 Device 006: ID 046d:c52b Logitech, Inc. Unifying Receiver

此外,不要忘记在更改50-android.rules文件后重新启动udev。

答案 4 :(得分:2)

  • 连接您的设备。

  • 运行lsusb

  • 断开您的设备并再次运行。

  • 通过比较两个lsusb结果找到您的设备十六进制:
    Bus 001 Device 013: ID xxxx:2765并注意xxxx

  • 制作新规则:
    sudo nano /tmp/android.rules

  • 插入
    SUBSYSTEM=="usb", ATTRS{idVendor}=="xxxx", MODE="0666"

  • 复制规则:
    sudo cp /tmp/android.rules /etc/udev/rules.d/51-android.rules

  • 更改权限:
    sudo chmod 644 /etc/udev/rules.d/51-android.rules
    sudo chown root. /etc/udev/rules.d/51-android.rules

  • 重新启动亚行:
    sudo service udev restart
    sudo killall adb

  • 重新连接您的设备。

  • 测试亚行: adb devices
    List of devices attached
    xyzxyzxyz device

来源: pts.blog: How to fix the adb no permissions error on Ubuntu Lucid