怎么找到占用usb的模块,linux下Jlink连接失败
问题是这样产生的,我在linux下安装jlink,启动JLinkExe执行,总是提示不能通过usb连接:
SEGGER J-Link Commander V5.10q (Compiled Mar ::)
DLL version V5.10q, compiled Mar :: Connecting to J-Link via USB...FAILED: Can not connect to J-Link via USB.
折腾好久,上segger的论坛,有人遇到和我一样的问题,也是在ubuntu下,http://forum.segger.com/index.php?page=Thread&postID=4116&highlight=ubuntu#post4116,但是没出现解决方法,不过里面一个人的回答给我一个思路,他说使用strace看看JLinkExe启动期间到底是哪个系统调用失败了,于是尝试,发现是调用ioctrl操作usb设备时失败,错误是device is busy.那么肯定是哪个模块占用了这个设备,于是查找资料,如何找到占用usb设备的模块。http://unix.stackexchange.com/questions/60078/find-out-which-modules-are-associated-with-a-usb-device,这个帖子给出了好多种方法,以最后一个方法尝试,使用 lsubs -t ,步骤如下:
首先查看usb信息:
thomas@thomas-laptop:~/mydriver$ lsusb
Bus Device : ID 1bcf:05c2 Sunplus Innovation Technology Inc.
Bus Device : ID 067b: Prolific Technology, Inc. PL2303 Serial Port
Bus Device : ID 05e3: Genesys Logic, Inc. -port hub
Bus Device : ID : Intel Corp. Integrated Rate Matching Hub
Bus Device : ID 1d6b: Linux Foundation 2.0 root hub
Bus Device : ID 1d6b: Linux Foundation 3.0 root hub
Bus Device : ID 062a: Creative Labs Wireless Keyboard/Mouse
Bus Device : ID 1d6b: Linux Foundation 2.0 root hub
Bus Device : ID 058f:b002 Alcor Micro Corp. Acer Integrated Webcam
Bus Device : ID : SEGGER J-Link PLUS
Bus Device : ID : Intel Corp. Integrated Rate Matching Hub
Bus Device : ID 1d6b: Linux Foundation 2.0 root hub
可以看到SEGGER J-Link PLUS的Bus是1,Device 是3。于是执行lsusb -t
/: Bus .Port : Dev , Class=root_hub, Driver=ehci-pci/2p, 480M
|__ Port : Dev , If , Class=Hub, Driver=hub/6p, 480M
|__ Port : Dev , If , Class=Vendor Specific Class, Driver=secbulk, 12M
|__ Port : Dev , If , Class=Video, Driver=uvcvideo, 480M
|__ Port : Dev , If , Class=Video, Driver=uvcvideo, 480M
找到Bus下的device 3,最后面它的Driver = secbulk,这时我才想起之前找了个linux版的DNW,加载了这个驱动模块,于是卸载,问题解决。
怎么找到占用usb的模块,linux下Jlink连接失败的更多相关文章
- Linux下PHP连接MS SQLServer的办法
Linux下PHP连接MS SQLServer的办法分析问题 本来PHP脚本读写SQLServer是没有什么问题的,在Apache for windows和Windows IIS下可以工作的很好,一般 ...
- Linux下运行memcached失败
Linux下运行memcached失败 1.错误信息如下 [root@localhost ~]# memcached can't run as root without the -u switch 2 ...
- linux下动态连接变为静态打包,使用statifier_S展翅飞_新浪博客
linux下动态连接变为静态打包,使用statifier_S展翅飞_新浪博客 linux下动态连接变为静态打包,使用statifier (2013-04-27 14:38:19) 转载▼
- 在Linux下adb连接不上android手机的终极解决方案
转自: http://blog.csdn.net/liuqz2009/article/details/7942569 1.做android开发的过程,碰到了Linux下adb识别不了android设备 ...
- Linux下C连接MySql数据库
目录: 一.解决小的问题: 二.大问题,如果你不小心把/usr/lib的所属用户改了导致sudo命令用不了: 三.C连接MySql编程本身: 其实写这个程序真的很简单,十多分钟的事情,只是以前没在Li ...
- linux下mysql连接jar包的位置在哪里?
linux下连接mysql数据库,肯定也会用到驱动jar包. 该jar包应该被置于jdk安装路径下jre文件夹lib目录的ext文件夹下.例如我的JDK安装路径为/usr/java/jdk1.6.0_ ...
- 【转】Linux下tcp连接断开后不释放的解决办法
问题:在开发测试时发现断开与服务器端口后再次连接时拒绝连接. 分析:服务器上查看端口占用情况,假设端口为8888. netstat -anp |grep 8888 发现端口8888端口显示被占用(ip ...
- Linux下TCP连接断开后不释放的解决办法
问题:在开发测试时发现断开与服务器端口后再次连接时拒绝连接. 分析:服务器上查看端口占用情况,假设端口为8888. netstat -anp |grep 8888 发现端口8888端口显示被占用(ip ...
- Linux sh远程连接失败 sshd.service启动失败
今天不小心在本机的虚拟机执行了 chmod -R 777 /var 导致/var目录下所有权限全部是777 其中 /var/empty/sshd目录权限必须是744,却被改成了777,致使sh远程连接 ...
随机推荐
- 15款美丽的设备模板,帮助展示你的 APP
有什么更好的方式来显示您的应用程序的外观和感觉呢?你看了这些设计示例之后就会有灵感了.无论是在 iPhone,iPad,Android,还是在桌面应用程序或网站,这些设计都增加了一些视觉上的吸引力,并 ...
- 如何在SharePoint2010中创建自定义电子邮件警报处理程序
字段,如项目名称字段中,将被截断到的电子邮件通知中的 70 个字符.要解决 70 个字符的限制,请使用"更多信息"一节中的介绍的方法. 要嵌入电子邮件通知中的其他内容. 您想要更改 ...
- kali 忘记登录密码后重置的方法
首先启动你的卡里系统,等出现引导界面时选择恢复模式.如下图: 再出来一个界面时,选择第二个并按E键进入编辑模式.如下图: 进入编辑模式后找到如下图的代码: 把ro改为rw,并且在.gz 后面写上ini ...
- MS15-020漏洞测试
名称:Microsoft DLL植入远程代码执行漏洞(CVE-2015-0096)(MS15-020) 了解:Microsoft Windows没有正确处理DLL文件的加载,存在远程代码执行漏洞,通过 ...
- ZeroMq安装包的生成【ubuntu10】
生成方法添加源sudo add-apt-repository ppa:chris-lea/zeromqsudo add-apt-repository ppa:chris-lea/libpgmsudo ...
- Round in Oracle/VBA
VBA的 Round采用的是银行家算法(rounds to the nearest even number) Round(1.5) = 2 Round(0.5) = 在Oracle中实现银行家算法 S ...
- UINavigationController和UIScrollView一起使用时导致UIScrollView位置偏移
iOS7之后,当UIViewController成为UINavigationController的控制视图,UIViewController的控制视图上的第一个子视图是UIScrollView,UIS ...
- Hibernate3注解[转]
Hibernate3注解 收藏 1.@Entity(name="EntityName") 必须,name为可选,对应数据库中一的个表 2.@Table(name="&qu ...
- Android.mk相关知识
Android.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名.引用的头文件目录.需要编译的.c/.cpp文件和.a静态库文件等.要掌握jni,就必须熟练掌握Andr ...
- ReactiveCocoa学习总结
最近一直断断续续学习关于ReactiveCocoa的知识内容,对于它的一些基础内容将通过本文进行一个总结,主要是一些入门知识 一:RACSignal一些运用 @interface RACSignalT ...