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查看磁盘使用情况.我常使用的命令( ...
随机推荐
- spark SQL学习(案例-统计每日销售)
需求:统计每日销售额 package wujiadong_sparkSQL import org.apache.spark.sql.types._ import org.apache.spark.sq ...
- 【线性判别】Fisher线性判别(转)
今天读paper遇到了Fisher线性判别的变体, 所以来学习一下, 所以到时候一定要把PRMl刷一遍呀 以下两篇论文一起阅读比较好: 论文1: https://blog.csdn.net/Rainb ...
- 纯js提交get和post请求
get function get(URL, PARAMS) { var temp = document.createElement("form"); temp.method = & ...
- 返回值过长时被nginx截断的解决办法
今天在写接口时碰到了这个问题,返回json格式的数据,但是被截断了经过排查,才发现是数据过大超出缓冲区最大容量,而将数据写入临时文件时又没有权限,所以再返回时,超出缓冲区的数据将丢失解决方法:给fas ...
- Flutter新手第一个坑:Could not find com.android.tools.lint:lint-gradle:26.1.1.
解决方法1:修改build.gradle,注释掉jcenter(),google().使用阿里的镜像.原因是jcenter google库无法访问到导致的问题.虽然我有万能的爬墙工具,开启全局代理依然 ...
- 【三小时学会Kubernetes!(二) 】Kubernetes 简介及Pod实践
Kubernetes 简介 我向你保证我没有夸大其词,读完本文你会问“为什么我们不称它为 Supernetes?” Kubernetes 是什么? 从容器启动微服务后,我们有一个问题,让我们通过如下问 ...
- MySQL5.7 半同步复制
一.概述 5.5与5.7的半同步复制可能存在差异,从MySQL5.5开始,MySQL以插件的形式支持半同步复制 异步:默认情况下,MySQL复制是异步的.主库在执行完客户端提交的事务后会立即将结果返给 ...
- 可以,得驾证了\(^o^)/
说实在话,我自认为我不太适合开车. 首先我有点晕车,在车上坐久了就头晕脑胀. 心里素质也不行,凡是遇到什么事了,就慌慌张张,手忙脚乱. 然后就是练车一点都不稳,每次练车都会有新问题出现. 先说一下我科 ...
- 交通部道路运输车辆卫星定位系统部标JTT808、809、796标准大全
无论是开发GPS设备硬件还是开发应用软件,都要面临一个标准,这个标准就是国家交通部发布的道路运输车辆卫星定位系统部标认证标准,它涵盖了GPS硬件设备参数.功能标准,也包括了设备上传到应用平台的协议标准 ...
- Kotlin------流程控制语句
流程控制语句是编程语言中的核心之一.可分为: 分支语句(if . when) 循环语句(for.while )和 跳转语句 (return . break .continue.throw)等. if表 ...