linux控制USB的绑定/解绑
linux控制USB的绑定/解绑
http://www.jianshu.com/p/57293f9be558
今天工作中遇到一个问题, 要用代码实现USB的enable和disable. 谷歌了一番, 最终找到理想答案, 我在这里做一个简短porting. 来源:墙外某博
- 首先通过lsusb -t来查看USB端口信息:
/: Bus 02.Port 1: Dev 1, class="root_hub", Driver=ehci-pci/3p, 480M
|__ Port 1: Dev 2, If 0, class="hub", Driver=hub/8p, 480M
|__ Port 6: Dev 78, If 0, class="vend"., Driver=, 480M
|__ Port 6: Dev 78, If 1, class="vend"., Driver=usbfs, 480M
|__ Port 6: Dev 78, If 2, class="comm"., Driver=cdc_acm, 480M
|__ Port 6: Dev 78, If 3, class="data", Driver=cdc_acm, 480M
|__ Port 6: Dev 78, If 4, class="comm"., Driver=cdc_acm, 480M
|__ Port 6: Dev 78, If 5, class="data", Driver=cdc_acm, 480M
|__ Port 6: Dev 78, If 6, class="comm"., Driver=cdc_acm, 480M
|__ Port 6: Dev 78, If 7, class="data", Driver=cdc_acm, 480M
/: Bus 01.Port 1: Dev 1, class="root_hub", Driver=ehci-pci/3p, 480M
|__ Port 1: Dev 2, If 0, class="hub", Driver=hub/6p, 480M
|__ Port 1: Dev 6, If 0, class="HID", Driver=usbhid, 1.5M
|__ Port 1: Dev 6, If 1, class="HID", Driver=usbhid, 1.5M
|__ Port 3: Dev 9, If 0, class="HID", Driver=usbhid, 1.5M(注: 你可以插拔一下要控制的USB, 来确定到底是哪个BUS的哪个port.)
在这里我要操作BUS 02的port 1下的port 6. - 执行以下command去unbind这个USB:
echo '2-1.6' | sudo tee /sys/bus/usb/drivers/usb/unbind其实用不用tee都行, 直接重定向也可以. 需要注意的是, 所要echo的字符串:
"$bus_num"-"$port1_num"."$port2_num"
大概是这么个format. - 重新bind的command, 只需要把上面command中的unbind改成bind.
echo '2-1.6' | sudo tee /sys/bus/usb/drivers/usb/bind
That's it.
如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!
作者:Edward_f0cus
链接:http://www.jianshu.com/p/57293f9be558
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
linux控制USB的绑定/解绑的更多相关文章
- jQuery---jQ动画(普通,滑动,淡入淡出,自定义动画,停止动画),jQuery的事件,jQ事件的绑定/解绑,一次性事件,事件委托,事件冒泡,文档加载
jQuery---jQ动画(普通,滑动,淡入淡出,自定义动画,停止动画),jQuery的事件,jQ事件的绑定/解绑,一次性事件,事件委托,事件冒泡,文档加载 一丶jQuery动画 show,hide, ...
- Android -- Service绑定解绑和aidl
Service是安卓四大组件之一,先前讲到了Service的生命周期,以及非绑定类型的生命周期的例子,这次来分享一下绑定形式的. 应用组件(客户端)可以调用bindService()绑定到一个serv ...
- 手写instanceof (详解原型链) 和 实现绑定解绑和派发的事件类
A instanceof B 是判断 A 是否继承自B,是返回true, 否返回false 再精确点就是判断B 是否 再 A 的 原型链上, 什么是原型链,举个例子: 我们定 ...
- bind() unbind()绑定解绑事件
.bind( eventType [, eventData], handler(eventObject)) 本文实例分析了JQuery中Bind()事件用法.分享给大家供大家参考.具体分析如下: .B ...
- 19 01 16 jquery 的 属性操作 循环 jquery 事件 和事件的绑定 解绑
jquery属性操作 1.html() 取出或设置html内容 // 取出html内容 var $htm = $('#div1').html(); // 设置html内容 $('#div1').htm ...
- linux usb 驱动详解
linux usb 驱动详解 USB 设备驱动代码通过urb和所有的 USB 设备通讯.urb用 struct urb 结构描述(include/linux/usb.h ). urb 以一种异步的方式 ...
- 兼容8事件绑定与解绑addEventListener、removeEventListener和ie的attachEvent、detachEvent
兼容8事件绑定与解绑addEventListener.removeEventListener和ie的attachEvent.detachEvent ;(function(){ // 事件绑定 bi ...
- jquery中的DOM事件绑定与解绑
在jquery事件中有时候有的事件只需要在绑定后有效触发一次,当通过e.target判断触发条件有效触发后解除绑定事件,来避免多次无效触发和与未知情况造成冲突. 这时候就要用到了jquery中的事件绑 ...
- jquery中事件重复绑定以及解绑问题
一般的情况下,对于这种情况,我们常规的思路是,先解绑,再绑定,如下: $(selector).unbind('click').bind('click',function(){....}); 当这样会有 ...
随机推荐
- PHP 格式化数字串
在xls或csv文件中, 超过12位以上的数字会被"科学计数", 所以当php读取这些文件的时候, 会读成 420E+16 , 显然这不是我们想要的, 所以就要用到数字格式化了! ...
- php总结3——基本函数、流程控制中的循环
3.1 php基本函数(数学.日期.字符串) 数学函数:max mixed max(number $arg1,number $arg2,……) 求一组数据中的最大值 m ...
- 《高性能Javascript》 Summary(一)
第一章.加载和执行 Loading & Execution 原因:Javascript 的执行导致页面渲染中止等待. 解决: 将script放在页面底部,紧靠body 闭合标签之前,保证页面在 ...
- 窥探 Swift 之别具一格的 Struct 和 Class
说到结构体和类,还是那句话,只要是接触过编程的小伙伴们对这两者并不陌生.但在Swift中的Struct和Class也有着令人眼前一亮的特性.Struct的功能变得更为强大,Class变的更为灵活.St ...
- BZOJ 4868-4873 题解
BZOJ4868 每个结束位置的最优值很显然具有单调性,三分,再讨论一下就好了. #include<bits/stdc++.h> using namespace std; #define ...
- <JAVA图像学习笔记>十字路口交通模拟--操作系统模拟课后小项目
项目的要求很简单: 模拟出十字路口的交通控制情况: 秒. 当东西(或南北)方向红灯时,所有车辆(除了消防车.救护车.警车)均排队等待,当东西(或南北)方向绿灯时,所有车辆按序行驶(不准超车). 制作这 ...
- <JAVA8新增内容>关于集合的操作(Collection/Iterator/Stream)
因为下文频繁使用lambda表达式,关于Java中的lambda表达式内容请见: http://www.cnblogs.com/guguli/p/4394676.html 一.使用增强的Iterato ...
- 手机移动端网站开发流程HTML5
手机移动端网站开发流程HTML5 最近一直在研究移动手机网站的开发,发现做手机网站没有想象中的那么难.为什么会这么说呢?我们试想下:我们连传统的PC网站都会做,难道连一个小小的手机网站难道都搞不定吗? ...
- CentOS 7编译安装Tengine+PHP+MariaDB全程笔记
安装环境:CentOS7 3.10.0-693.5.2.el7.x86_64 准备源码包: pcre-8.41.tar.gz openssl-1.0.1h.tar.gz zlib-1.2.11.tar ...
- ubuntu 安装cuda 成功
洗洗睡了