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(){....}); 当这样会有 ...
随机推荐
- t60替换alt,super,ctrl
发现T60的左边在ctrl 与 alt 有个win 键,所以就进行了映射 网上有一个把alt->ctrl, super-> alt, ctrl->super的script, 见 ht ...
- 九度OJ 1019:简单计算器 (基础题、DP)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:6725 解决:2454 题目描述: 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值. 输入: ...
- 一文看透 Redis 分布式锁进化史(解读 + 缺陷分析)(转)
近两年来微服务变得越来越热门,越来越多的应用部署在分布式环境中,在分布式环境中,数据一致性是一直以来需要关注并且去解决的问题,分布式锁也就成为了一种广泛使用的技术,常用的分布式实现方式为Redis,Z ...
- 用php動態產生各種尺寸的圖片
我的做法是用php動態產生各種尺寸的圖片,例如<img src="img.php?src=a.jpg&width=100&height=200"...< ...
- POJ3294 Life Forms —— 后缀数组 最长公共子串
题目链接:https://vjudge.net/problem/POJ-3294 Life Forms Time Limit: 5000MS Memory Limit: 65536K Total ...
- ss命令能识别的TCP状态的关键字
[TCP_ESTABLISHED] = "ESTAB", [TCP_SYN_SENT] = "SYN-SENT", [TCP_S ...
- z+f profiler 9012
角度分辨率/角度精度 0.0088°/0.02°RMS
- Bootstrap简单介绍
一.一个小知识点 1.截取长屏的操作 2.设置默认格式 3.md,sm, xs 4.空格和没有空格的选择器 二.响应式介绍 - 响应式布局是什么? 同一个网页在不同的终端上呈现不同的布局等 - 响应式 ...
- 企业安全建设之搭建开源SIEM平台(上)
前言 SIEM(security information and event management),顾名思义就是针对安全信息和事件的管理系统,针对大多数企业是不便宜的安全系统,本文结合作者的经验介绍 ...
- Mysql处理字符串函数(转)
http://www.jb51.net/article/27458.htm 感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函 ...