问题是这样产生的,我在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连接失败的更多相关文章

  1. Linux下PHP连接MS SQLServer的办法

    Linux下PHP连接MS SQLServer的办法分析问题 本来PHP脚本读写SQLServer是没有什么问题的,在Apache for windows和Windows IIS下可以工作的很好,一般 ...

  2. Linux下运行memcached失败

    Linux下运行memcached失败 1.错误信息如下 [root@localhost ~]# memcached can't run as root without the -u switch 2 ...

  3. linux下动态连接变为静态打包,使用statifier_S展翅飞_新浪博客

    linux下动态连接变为静态打包,使用statifier_S展翅飞_新浪博客 linux下动态连接变为静态打包,使用statifier (2013-04-27 14:38:19) 转载▼

  4. 在Linux下adb连接不上android手机的终极解决方案

    转自: http://blog.csdn.net/liuqz2009/article/details/7942569 1.做android开发的过程,碰到了Linux下adb识别不了android设备 ...

  5. Linux下C连接MySql数据库

    目录: 一.解决小的问题: 二.大问题,如果你不小心把/usr/lib的所属用户改了导致sudo命令用不了: 三.C连接MySql编程本身: 其实写这个程序真的很简单,十多分钟的事情,只是以前没在Li ...

  6. linux下mysql连接jar包的位置在哪里?

    linux下连接mysql数据库,肯定也会用到驱动jar包. 该jar包应该被置于jdk安装路径下jre文件夹lib目录的ext文件夹下.例如我的JDK安装路径为/usr/java/jdk1.6.0_ ...

  7. 【转】Linux下tcp连接断开后不释放的解决办法

    问题:在开发测试时发现断开与服务器端口后再次连接时拒绝连接. 分析:服务器上查看端口占用情况,假设端口为8888. netstat -anp |grep 8888 发现端口8888端口显示被占用(ip ...

  8. Linux下TCP连接断开后不释放的解决办法

    问题:在开发测试时发现断开与服务器端口后再次连接时拒绝连接. 分析:服务器上查看端口占用情况,假设端口为8888. netstat -anp |grep 8888 发现端口8888端口显示被占用(ip ...

  9. Linux sh远程连接失败 sshd.service启动失败

    今天不小心在本机的虚拟机执行了 chmod -R 777 /var 导致/var目录下所有权限全部是777 其中 /var/empty/sshd目录权限必须是744,却被改成了777,致使sh远程连接 ...

随机推荐

  1. 七个结构模式之享元模式(Flyweight Pattern)

    定义: 运用共享技术对大量细粒度对象的复用,这要求这些对象都很相似,状态变化很小.将这些对象的内部状态和外部状态进行区分,对于内部状态相同的只存储一个对象,而对不同的外部状态则采用不同的操作. 结构图 ...

  2. ArcGIS server 开发实践之【FeatureLayer类】

    全是干活,你值得拥有 要素图层类简介:Class:FeatureLayer //调用方式:require(["esri/layers/FeatureLayer"],function ...

  3. Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解

    转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/26810303),请尊重他人的辛勤劳动成果,谢谢! 本篇文章 ...

  4. Android简单的ListViewDemo及每个控件的点击事件

    ListView是什么? ListView是一个 数据控件,可以展示从数据库中读取的数据.是.net3.5的新控件. 它比gridview更灵活,而且支持多种模板,支持分页. 文章地址 http:// ...

  5. 【代码笔记】iOS-剧幕拉开形的首页

    一,工程图. 二,代码. RootViewController.h #import <UIKit/UIKit.h> #import "UIImage+SplitImageInto ...

  6. FMDB的简单使用

    1.什么是FMDB? FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API. 无论项目中使用 ARC 还是 MRC,对 FMDB 都没有任何影响,FMDB ...

  7. 数据结构--用Objective-C简单实现的数据结构:栈

    前言:最近在学习数据结构,这里用Objective-C简单实现了一下栈.用Objective-C确实好容易,因为我使用了Cocoa框架提供了NSMutableArray作为存储元素的集合,操作集合元素 ...

  8. Routine

    前端要学习三个部分:HTML,CSS,JavaScript(简称JS),因此首先明确三个概念:HTML是内容层,它的目的是表示一个HTML标签在页面里是个什么角色. CSS是样式层,它的目的是表示一块 ...

  9. Hadoop概念学习系列之Hadoop 生态系统(十二)

    当下 Hadoop 已经成长为一个庞大的生态体系,只要和海量数据相关的领域,都有 Hadoop 的身影.下图是一个 Hadoop 生态系统的图谱,详细列举了在 Hadoop 这个生态系统中出现的各种数 ...

  10. Eclipse下使用SVN版本控制

    作者:朱先忠编译 转自天极[url]http://dev.yesky.com/356/2578856.shtml[/url] 简单介绍一些基本操作1.同步在Eclipse下,右击你要同步的工程-tea ...