/sys/kernel/debug/usb/devices解析】的更多相关文章

1.概述 USB设备通过debugfs导出/sys/kernel/debug/usb/devices显示内核已知的每个USB设备及其配置描述符.此文件对于用户模式下的状态查看工具非常方便,可以扫描文本格式并忽略大部分文本. 设备特定文件中提供了更详细的设备状态(包括类和供应商状态). 此文件与poll()系统调用结合使用,还可用于检测何时添加或删除设备: int fd; struct pollfd pfd; fd = open("/sys/kernel/debug/usb/devices&quo…
在使用GPIO的时候,有时候不知道GPIO的状态,也不知道在内核中GPIO是否申请成功. 可以通过/sys/kernel/debug/gpio这个文件来查看.这个文件显示了申请成功的GPIO的输入输出状态和电平. 参考 http://elinux.org/GPIO https://developer.ridgerun.com/wiki/index.php/How_to_use_GPIO_signals 配置 内核打开debugfs支持 Symbol: DEBUG_FS [=y] Prompt:…
转:http://www.360doc.com/content/10/0527/18/9922_29835045.shtml 这篇文章说的很好http://blog.chinaunix.net/u1/38994/showart_2022040.html: 如何使用busybox精简版本udev程序--mdev动态创建插入的u盘和鼠标等设备 busybox的mdev是一个精简了的udev管理程序,它可以间接的以hotplug方式被内核调用,进而在arm平台上/dev目录下动态创建设备 节点,因为h…
http://blog.csdn.net/blizmax6/article/details/6747601 linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 建立调试环境 发行版的选择和安装 安装交叉编译工具 bin工具集的使用 qemu的使用 initrd.img的原理与制作 x86虚拟调试环境的建立 arm虚拟调试环境的建立 arm开发板调试环…
     在linux比较新的kernel,都标配了各类摄像头的驱动支持,不用我们自己移植驱动,只需通过make menuconfig配置内核支持我们所需的摄像头类型即可.以下是在三星官方内核中配置V4L类型摄像头的方法.      三星官方的内核默认是没有V4L USB devices 这个选项的,但是实际是只是被[屏蔽了] 1.通过 grep "V4L USB devices" -r -n   得到以下信息: arch/ia64/configs/zx1_defconfig:909:…
转自:https://blog.csdn.net/skyflying2012/article/details/41142801 版权声明:本文为博主kerneler辛苦原创,未经允许不得转载. https://blog.csdn.net/skyflying2012/article/details/41142801 利用工作之便,今天研究了kernel下cmdline参数解析过程,记录在此,与大家共享,转载请注明出处,谢谢. Kernel 版本号:3.4.55 Kernel启动时会解析cmdlin…
https://developers.google.com/web/updates/2016/03/access-usb-devices-on-the-web Access USB Devices on the Web 访问USB设备通过Web By François Beaufort Dives into Chromium source code If I said plain and simple "USB", there is a good chance that you wil…
LINUX远程强制重启/proc/sys/kernel/sysrq /proc/sysrq-trigger----触发器 ttp://blog.csdn.net/beckdon/article/details/41313713 http://blog.csdn.net/chinaclock/article/details/50499530 http://www.cnblogs.com/justin-y-lin/p/5424555.html https://www.cnblogs.com/yang…
安装MONGODB 3.0.6的时候提示警告信息,如下: 2015-09-09T11:04:35.011+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.2015-09-09T11:04:35.011+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'2015-09-…
ref:https://xz.aliyun.com/t/1098/ 这里所说的core_pattern 指的是:/proc/sys/kernel/core_pattern. 我们知道在Linux系统中,如果进程崩溃了,系统内核会捕获到进程崩溃信息,然后将进程的coredump 信息写入到文件中,这个文件名默认是core,但是也可以通过配置修改这个文件名.比如可以通过修改/proc/sys/kernel/core_pattern 文件的内容来指定. Linux man 手册上关于core_patt…
1.     # echo 1 > /proc/sys/kernel/sysrq 2.     # echo b > /proc/sysrq-trigger 1. /proc/sys/kernel/sysrq 向sysrq文件中写入1是为了开启SysRq功能.根据linux/Documentations/sysrq.txt中所说:SysRq代表的是Magic System Request Key.开启了这个功能以后,只要内核没有挂掉,它就会响应你要求的任何操作.但是这需要内核支持(CONFIG…
每次重装系统之后,安装andorid studio后,使用真机调试代码,就会出现"No USB devices or running emulators detected"的错误,每次解决后没有做记录,重复犯过几次错误这次记录下. 查看过很多文章中的解释都是 是不是手机有没有设置成开发者模式,这种问题我想大家都不会没有设置了.一般的原因是 adb interface没有正确的安装. 解决方案: 第一步:查看电脑的"设备管理器",看看在其他设备里面是否  ADB In…
警告信息 2019-11-27T09:28:16.659+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.2019-11-27T09:28:16.659+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'2019-11-27T09:28:16.659+0000 I C…
目录 . 系统调用简介 . 系统调用跟踪调试 . 系统调用内核源码分析 1. 系统调用简介 关于系统调用的基本原理,请参阅另一篇文章,本文的主要目标是从内核源代码的角度来学习一下系统调用在底层的内核中是如何实现的 Relevant Link: http://www.cnblogs.com/LittleHann/p/3850653.html http://www.kerneltravel.net/journal/iv/syscall.htm http://zjuedward.blog.51cto.…
由于kernel config中没有打开对应的配置. make menuconfig 选择: Device Drivers ---> [*] USB support ---> [*] USB device filesystem (DEPRECATED) [*] USB device class-devices (DEPRECATED) USB device filesystem: 会生成 .proc/bus/usb USB device class-devices: 生成 /dev/usbde…
内核调试入门 内核程序运行在内核态,因此不能像对用户态应用程序那样来调试.关于内核调试方面的知识请参考<软件调试>这本书.目前内核调试主要有以下三种方法. 一是使用硬件调试器,它通过特定的接口(如 JTAG)与 CPU 建立连接并读取它的状态,例如 ITP 调试器. 二是在内核中插入专门用于调试的中断处理函数和驱动程序.当操作系统内核被中断时,这些中断处理函数和驱动程序接管系统的硬件,营造一个可以供调试器运行的简单环境,并用自己的驱动程序来处理用户输入.输出,例如 SoftICE 和 Syse…
对于USB驱动的开发,读者可以使用Windows DDK.DriverStudio等多种开发工具来实现USB的驱动,但是驱动程序的开发过程都比较复杂,而且很容易致使USB主机内存泄露而死机.那么对于笔者这样喜欢做硬件的研发对软件不是很感冒的孩纸,怎么快速上手开发出USB驱动.其实很多USB芯片公司已经给很多用户提供了开发包,譬如笔者使用的Cypress公司提供的开发包可以满足广大用户的要求,这一点还是值的称道的,关于后续怎么使用这些开发包进行USB2.0驱动的开发,笔者会在后续的博客中一一写出.…
uart 是一种非常之常见的总线,比如DEBUG信息输出,小数据量数据传输,485,以及蓝牙的控制,GPS,很多都是通过uart 进行数据传输并进行控制. 在Linux kernel 内部,uart 通常是作为 一个 tty 设备对其进行控制,也是就是一个字符设备文件,可对其进行读写操作. kernel version 4.4.12 首先先看一下基本的 结构体 和 API 操作. // include/linux/serial_core.h // uart 驱动结构体 struct uart_d…
__setup这条宏在Linux Kernel中使用最多的地方就是定义处理Kernel的启动参数的函数及数据结构,宏定义如下: #define __setup(str, fn) \ __setup_param(str, fn, fn, ) #define __setup_param(str, unique_id, fn, early) \ ) = str; \ static struct obs_kernel_param __setup_##unique_id \ __used __sectio…
1. sysrq http://www.chinaunix.net/old_jh/4/902287.html 常用的SysRq命令(序列)  重启机器的SysRq命令序列是 k(SAK) s(sync) u(umount) b(reboot)  显示内存信息的SysRq命令是m(memory)  显示当前任务信息的SysRq命令是t(task) 参考材料  <Kernel Source>/Documentation/sysrq.txt: sysrq.txt最权威的文档, 最好参考当前运行的ke…
问题现象: 问题原因: 默认情况下, Linux会最多使用40%的可用内存作为文件系统缓存.当超过这个阈值后,文件系统会把将缓存中的内存全部写入磁盘, 导致后续的IO请求都是同步的. 将缓存写入磁盘时,有一个默认120秒的超时时间. 出现上面的问题的原因是IO子系统的处理速度不够快,不能在120秒将缓存中的数据全部写入磁盘. IO系统响应缓慢,导致越来越多的请求堆积,最终系统内存全部被占用,导致系统失去响应. 解决办法: 根据应用程序情况,对vm.dirty_ratio,vm.dirty_bac…
用dmesg显示如下图信息 问题原因: 默认情况下, Linux会最多使用40%的可用内存作为文件系统缓存.当超过这个阈值后,文件系统会把将缓存中的内存全部写入磁盘, 导致后续的IO请求都是同步的. 将缓存写入磁盘时,有一个默认120秒的超时时间. 出现上面的问题的原因是IO子系统的处理速度不够快,不能在120秒将缓存中的数据全部写入磁盘.IO系统响应缓慢,导致越来越多的请求堆积,最终系统内存全部被占用,导致系统失去响应. 解决方法: 根据应用程序情况,对vm.dirty_ratio,vm.di…
我这里遇到的情况是adb interface 错误:未安装,在这个网站: http://adbdriver.com/downloads/ 下载了Automated installation(Universal)之后,重新安装了adb interface之后,我的设备出现在了我们想要的地方. 或者 在电脑上下载一个应用宝,让它连接手机,它在下载一些文件连接上手机后,Android Studio也就连接上手机…
目录 查看USB设备 lsusb ll /sys/bus/usb/devices cat /sys/kernel/debug/usb/devices dmesg title: 查看USB设备 date: 2019/4/23 19:10:00 toc: true --- 查看USB设备 原文更详细参考 lsusb # 列出所有设备 $ lsusb Bus 001 Device 002: ID 05a3:9310 ARC International Bus 001 Device 001: ID 1d…
转自:http://blog.chinaunix.net/uid-11848011-id-4508834.html 1.配置内核使能usb monitor: make menuconfig                   Device Drivers -->                            USB Support -->                                     USB Monitor --> Select * not M2.bui…
1 linux下的usb抓包方法 1.配置内核使能usb monitor: make menuconfig                   Device Drivers -->                            USB Support -->                                     USB Monitor --> Select * not M2.build kernel    sudo insmod /lib/modules/3.2…
1 linux下的usb抓包方法1.配置内核使能usb monitor: make menuconfig                   Device Drivers -->                            USB Support -->                                     USB Monitor --> Select * not M2.build kernel    sudo insmod /lib/modules/3.2.…
lsusb cat /sys/kernel/debug/usb/devices T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12   MxCh= 2B:  Alloc= 17/900 us ( 2%), #Int=  1, #Iso=  0D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1P:  Vendor=1d6b ProdID=0001 Rev= 3.13S…
转自:http://blog.csdn.net/eternity9255/article/details/53069037 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 前言 底层配置 打开配置 添加权限 Debug 几个比较有用的调试命令 上层应用 操作流程 具体代码实现 解码mjpeg格式 jni层 - 插入huffman表 jave层 - 解码并显示 总结 . 前言 前段时间调试了一个uvc摄像头,这里做下记录.硬件平台为mt6735,软件平台为Android 5…
使用 usbmon 抓取 usb 总线上的数据 usbmon 即 usb monitor,是 linux 内置的 usb 抓包工具.usbmon 本质是一个内核模块,在我的 ubuntu14.0 4中,模块的位置:/lib/modules/4.4.0-31-generic/kernel/drivers/usb/mon/usbmon.ko. 1.检测内核是否支持 debugfs 文件系统 linux 系统支持很多类型的文件系统,像 ext3.sysfs.ramfs.tmpfs等文件系统,首先检测内…