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(){....}); 当这样会有 ...
随机推荐
- python 基础 1.2--pycharm 的安装及使用
一. windows 先安装pycharm. PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,其提供了一个带编码补全,代码片段,支持代码折 ...
- npm 全局配置放在c盘/用户/当前用户/目录下
prefix=D:\Users\Ed\AppData\Roaming\nodejs\npm-globalcache=D:\Users\Ed\AppData\Roaming\npm-cacheregis ...
- java中Random(long seed)方法与rRandom()方法的使用产生随机数
Random 类作为JAVA中用于产生的随机数 ,new Random(10) :10是种子数. 注意:Random 的一个特点是:相同种子数的Random对象,对应相同次数生成的随机数字是完全相 ...
- java array
1 array变量 Type[] array_virable_name; 2 array对象 2.1 new Type[] array_virable_name = new Type[NUM]; 2. ...
- Tomcat学习笔记【3】--- Tomcat目录结构
本文主要讲Tomcat包的目录结构. 1 bin目录 这个目录只要是存放了一些bat文件或者sh文件.比如说我们需要启动tomcat的bat文件就在这个目录下. 2 conf 这个目录中存放的都是一些 ...
- Linux就该这么学--计划任务服务
有经验的系统运维工程师能够让系统自动化运行,无需人工的干预就可以让各个服务.命令在指定的时间段运行.停止. 计划任务分为: 一次性计划任务:今晚11:30开启网站服务 长期性计划任务:每周1.3.5的 ...
- selenium超时设置
设置超时时间 from selenium import webdriverdriver=webdriver.Chrome()driver.set_page_load_timeout(5)driver. ...
- csrf防范笔记
1.验证Http的refer字段 http有一个refer字段,用以记录该http请求的来源地址 好处: 简单便捷,后台开发人员只需要设置一个拦截器 缺点: Referer 的值是由浏览器提供的,虽然 ...
- EASYARM-IMX283 编译uboot和uImage
本文是按照IMX283配套光盘的流程重新编译uboot和uImage将光盘中的gcc-4.4.4-glibc-2.11.1-multilib-1.0_EasyARM-iMX283.tar.bz2 解压 ...
- Shell 特殊位置参数的变量
$0 -- 获取当前执行shell脚本的 文件名 $n -- 获取当前执行shell脚本的 第n个参数 $# -- 获取当前执行shell脚本的 带的参数个数 $? -- 获取执行上一个指令的执行状态 ...