usb udev
[root@localhost ~] # udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
KERNEL[105.208635] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/bsg/4:0:0:0 (bsg)
KERNEL[105.208721] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/scsi_generic/sg1 (scsi_generic)
KERNEL[105.208764] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/scsi_device/4:0:0:0 (scsi_device)
KERNEL[105.208836] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/scsi_disk/4:0:0:0 (scsi_disk)
KERNEL[105.209093] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/block/sdb/sdb4 (block)
UDEV [105.211112] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/bsg/4:0:0:0 (bsg)
UDEV [105.212047] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/scsi_generic/sg1 (scsi_generic)
KERNEL[105.213199] remove /devices/virtual/bdi/8:16 (bdi)
KERNEL[105.213516] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/block/sdb (block)
KERNEL[105.213585] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0 (scsi)
UDEV [105.213641] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/scsi_device/4:0:0:0 (scsi_device)
UDEV [105.213998] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/scsi_disk/4:0:0:0 (scsi_disk)
UDEV [105.214105] remove /devices/virtual/bdi/8:16 (bdi)
UDEV [105.214980] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/block/sdb/sdb4 (block)
UDEV [105.216450] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/block/sdb (block)
UDEV [105.217848] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0 (scsi)
KERNEL[105.221213] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0 (scsi)
KERNEL[105.221232] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/scsi_host/host4 (scsi_host)
KERNEL[105.221240] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4 (scsi)
KERNEL[105.221284] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0 (usb)
KERNEL[105.221557] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1 (usb)
UDEV [105.221673] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0 (scsi)
UDEV [105.221769] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/scsi_host/host4 (scsi_host)
UDEV [105.221885] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4 (scsi)
UDEV [105.222110] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0 (usb)
UDEV [105.222325] remove /devices/pci0000:00/0000:00:14.0/usb2/2-1 (usb)
KERNEL[128.272086] add /devices/pci0000:00/0000:00:14.0/usb2/2-1 (usb)
KERNEL[128.283096] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0 (usb)
KERNEL[128.283566] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4 (scsi)
KERNEL[128.283617] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/scsi_host/host4 (scsi_host)
UDEV [128.292000] add /devices/pci0000:00/0000:00:14.0/usb2/2-1 (usb)
UDEV [128.294367] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0 (usb)
UDEV [128.296326] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4 (scsi)
UDEV [128.298073] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/scsi_host/host4 (scsi_host)
KERNEL[129.311851] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0 (scsi)
KERNEL[129.311874] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0 (scsi)
KERNEL[129.311880] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/scsi_disk/4:0:0:0 (scsi_disk)
KERNEL[129.311886] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/scsi_device/4:0:0:0 (scsi_device)
KERNEL[129.311894] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/scsi_generic/sg1 (scsi_generic)
KERNEL[129.311913] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/bsg/4:0:0:0 (bsg)
KERNEL[129.312405] add /devices/virtual/bdi/8:16 (bdi)
UDEV [129.312474] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0 (scsi)
UDEV [129.312773] add /devices/virtual/bdi/8:16 (bdi)
UDEV [129.312910] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0 (scsi)
UDEV [129.313439] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/scsi_device/4:0:0:0 (scsi_device)
UDEV [129.313483] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/scsi_disk/4:0:0:0 (scsi_disk)
UDEV [129.313685] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/bsg/4:0:0:0 (bsg)
UDEV [129.313707] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/scsi_generic/sg1 (scsi_generic)
KERNEL[129.314981] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/block/sdb (block)
KERNEL[129.314993] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/block/sdb/sdb4 (block)
UDEV [129.346675] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/block/sdb (block)
UDEV [129.374249] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host4/target4:0:0/4:0:0:0/block/sdb/sdb4 (block)
[10月24 23:38] sdb: sdb4
[10月24 23:39] usb 2-1: USB disconnect, device number 2
[ +23.032664] usb 2-1: new SuperSpeed USB device number 3 using xhci_hcd
[ +0.023654] usb 2-1: New USB device found, idVendor=0951, idProduct=1666
[ +0.000005] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ +0.000003] usb 2-1: Product: DataTraveler 3.0
[ +0.000003] usb 2-1: Manufacturer: Kingston
[ +0.000002] usb 2-1: SerialNumber: 0026186645E5F0C078808600
[ +0.011328] usb-storage 2-1:1.0: USB Mass Storage device detected
[ +0.000359] scsi host4: usb-storage 2-1:1.0
[ +1.027962] scsi 4:0:0:0: Direct-Access Kingston DataTraveler 3.0 PQ: 0 ANSI: 6
[ +0.000176] sd 4:0:0:0: Attached scsi generic sg1 type 0
[ +0.000207] sd 4:0:0:0: [sdb] 30218842 512-byte logical blocks: (15.5 GB/14.4 GiB)
[ +0.000144] sd 4:0:0:0: [sdb] Write Protect is off
[ +0.000000] sd 4:0:0:0: [sdb] Mode Sense: 4f 00 00 00
[ +0.000142] sd 4:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[ +0.002550] sdb: sdb4
[ +0.000741] sd 4:0:0:0: [sdb] Attached SCSI removable disk
/* usbreset -- send a USB port reset to a USB device */
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/ioctl.h>
#include <linux/usbdevice_fs.h>
int main(int argc, char **argv)
{
const char *filename;
int fd;
int rc;
if (argc != 2) {
fprintf(stderr, "Usage: usbreset device-filename\n");
return 1;
}
filename = argv[1];
fd = open(filename, O_WRONLY);
if (fd < 0) {
perror("Error opening output file");
return 1;
}
printf("Resetting USB device %s\n", filename);
rc = ioctl(fd, USBDEVFS_RESET, 0);
if (rc < 0) {
perror("Error in ioctl");
return 1;
}
printf("Reset successful\n");
close(fd);
return 0;
}
https://askubuntu.com/questions/645/how-do-you-reset-a-usb-device-from-the-command-line
usb udev的更多相关文章
- debian下使用dynamic printk分析usb网卡驱动
在<debian下使用dynamic printk分析usb转串口驱动执行流程>中使用了usb转串口,当前例子使用usb网卡分析驱动(dm9601芯片). 仍然需要使能dynamic pr ...
- debian下使用dynamic printk分析usb转串口驱动执行流程
看了一篇文章<debug by printing>,文中提到了多种通过printk来调试驱动的方法,其中最有用的就是"Dynamic debugging". “Dyna ...
- 使用 udev 进行动态内核设备管理(转自suse文档)
第 12 章使用 udev 进行动态内核设备管理¶ 目录 12.1. /dev 目录 12.2. 内核 uevents 和 udev 12.3. 驱动程序.内核模块和设备 12.4. 引导和启动设备设 ...
- [转]linux的du和df命令
转自:http://blog.csdn.net/kmesg/article/details/6570800 今天也有同学问我Linux下查看目录大小的命令,现在也将前阵子学习到du/df两个命令总结一 ...
- 使用apt-mirror建立本地debian仓库源
先介绍一下环境: 主机:Win7 虚拟机:VirtualBox + Debian7 由于软件源的体积比较大,所以我又给虚拟机添加了一块50GB的虚拟硬盘(给虚拟机添加虚拟硬盘的方法参见:http:// ...
- linux的du和df命令
今天也有同学问我Linux下查看目录大小的命令,现在也将前阵子学习到du/df两个命令总结一下吧.前阵子测试工作中有遇到过由于磁盘空间满导致程序无法执行到情况,所以使用了df和du两个命令. du查看 ...
- linux中du与df的区别和联系
1,两者区别 du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在 的,没有被删除的.他计算的大小就是当前他认为存在的所有文件大小的累加和. df, ...
- linux下无线鼠标驱动执行流程
操作系统: debian 7.4(linux 3.2.54) 硬件: 一个无线鼠标.一个有线鼠标.usb集线器. 从淘宝上花了15块钱买了个无线鼠标,很好奇它的驱动程序是如何执行的. 首先将usb集线 ...
- Linux中的du和df命令
现在也将前阵子学习到du/df两个命令总结一下吧.前阵子测试工作中有遇到过由于磁盘空间满导致程序无法执行到情况,所以使用了df和du两个命令. du查看目录大小,df查看磁盘使用情况.我常使用的命令( ...
随机推荐
- gTest&gMock learning
在C++中,编写服务后的一种测试方式是使用google的gTest和gMock结合 之前写py,测试方式是将服务挂起,使用工具模拟请求发包,check resp,这样的缺点在于不方便,即使存下了所有的 ...
- java自带的MD5
前言: MD5可生成16.32.64位数的签名. // MD5加码,32位 public static String toMD5(String plainText) { String r ...
- tensorflow 模型保存
1.首先 saver = tf.train.Saver(max_to_keep=1)新建一个saver,max_to_keep是说只保留最后一轮的训练结果 2.使用save方法保存模型 saver.s ...
- Vue单页面中进行业务数据的上报
为什么要在标题里加上一个业务数据的上报呢,因为在咱们前端项目中,可上报的数据维度太多,比如还有性能数据.页面错误数据.console捕获等.这里我们只讲解业务数据的埋点. 业务数据的上报主要分为: 各 ...
- shell数组中“和@的妙用
#!/bin/bashlist=(4k"8k a bit""16k abc""32k gold"64k)for i in "${l ...
- Hadoop出现 Wrong FS: hdfs://......错误的解决方法
今天在hadoop项目中出现以下报错:java.lang.IllegalArgumentException: Wrong FS: hdfs://......,expected: file:///... ...
- linux中压缩、解压缩命令详解
tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的 ...
- 【javascript基础】运算符优先级
优先级 运算类型 关联性 运算符 1 成员运算符 从左到右 . [] new 从右到左 new 2 函数调用运算符 从左到右 () 3 自增运算符 n/a ++ 自减运算符 n/a -- 4 逻辑非运 ...
- 【Sizzle学习】之关于【初探 jQuery 的 Sizzle 选择器】这篇文章里的小bug
[题记]不可否认,这篇文章写得非常好,但是今天我在看sizzle源码的时候,发现这文章有一地方说的不妥.重现:当selectors为"p.class1>p.class2",j ...
- 文件目录tree显示,python
#/usr/bin/python import os def travelTree(currentPath, count=0): if not os.path.exists(currentPath): ...