查看GNU/Linux Tips的源代码
←
GNU/Linux Tips
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
== udev == <pre> $ 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:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 003 Device 002: ID 413c:2003 Dell Computer Corp. Keyboard Bus 002 Device 003: ID 413c:3016 Dell Computer Corp. Optical 5-Button Wheel Mouse Bus 002 Device 016: ID 18d1:4e22 Google Inc. Nexus S (debug) </pre> Bus 002 Device 016 就是我的手机,对应的设备节点是 /dev/bus/usb/002/016 如下命令查看设备信息: <pre> $ udevadm info -q all -n /dev/bus/usb/002/016 P: /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6 N: bus/usb/002/016 E: BUSNUM=002 E: DEVNAME=/dev/bus/usb/002/016 E: DEVNUM=016 E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6 E: DEVTYPE=usb_device E: DRIVER=usb E: ID_BUS=usb E: ID_MEDIA_PLAYER=google_nexus-s E: ID_MODEL=SGH-T959 E: ID_MODEL_ENC=SGH-T959 E: ID_MODEL_ID=4e22 E: ID_REVISION=0231 E: ID_SERIAL=samsung_SGH-T959_32334071DA1D00EC E: ID_SERIAL_SHORT=32334071DA1D00EC E: ID_USB_INTERFACES=:080650:ff4201: E: ID_VENDOR=samsung E: ID_VENDOR_ENC=samsung E: ID_VENDOR_ID=18d1 E: MAJOR=189 E: MINOR=143 E: PRODUCT=18d1/4e22/231 E: SUBSYSTEM=usb E: TAGS=:udev-acl: E: TYPE=0/0/0 E: UDEV_LOG=3 E: USEC_INITIALIZED=599355697049 </pre> 或者: <pre> $ udevadm info -q path -n /dev/bus/usb/002/016 /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6 $ udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/002/016) looking at device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6': KERNEL=="2-1.6" SUBSYSTEM=="usb" DRIVER=="usb" ATTR{configuration}=="" ATTR{bNumInterfaces}==" 2" ATTR{bConfigurationValue}=="1" ...... ...... </pre> 根据 http://www.reactivated.net/writing_udev_rules.html#basic 写一个 udev rules 文件 /etc/udev/rules.d/62-android.rules: <pre> # 匹配上设备则将设备节点文件的 mode 改为 0666,建一个 /dev/GalasyS 的符号链接指向它 SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="18d1", ENV{ID_MODEL}=="Galaxy", MODE="0666", SYMLINK+="GalaxyS" SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="18d1", ENV{ID_MODEL_ID}=="4e22", MODE="0666", SYMLINK+="GalaxyS" SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", ATTR{product}=="Galaxy" MODE="0666", SYMLINK+="GalaxyS" </pre> 如对某一行 rule 没底,可用如下命令测试这个 rule: <pre> $ udevadm test --action='"usb", ENV{ID_VENDOR_ID}=="18d1", ENV{ID_MODEL}=="Galaxy", MODE="0666", SYMLINK+= "GalaxyS"' $(udevadm info -q path -n /dev/bus/usb/002/016) ...... udev_node_add: creating device node '/dev/bus/usb/002/016', devnum=189:143, mode=0664, uid=0, gid=0 udev_node_mknod: preserve file '/dev/bus/usb/002/016', because it has correct dev_t udev_node_mknod: preserve permissions /dev/bus/usb/002/016, 020664, uid=0, gid=0 node_symlink: preserve already existing symlink '/dev/char/189:143' to '../bus/usb/002/016' ...... </pre> 确定后重启 udev 即可: sudo service udev restart <br><br>
返回到
GNU/Linux Tips
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面