USB相关的sysfs文件

主要来自driver/usb/core/sysfs.c:

1.bConfigurationValue
RW,W时调用了usb_set_configuration()实时设置配置。根据USB规范(例如第9.1.1.5节),configuration values必须是非零值,值为零表示设备处于未配置状态。但是,某些设备错误地使用0作为其配
置值之一。 为帮助管理此类设备,此函数将接受@configuration = -1,表示设备应处于未配置状态。
未授权的设备(dev->authorized == 0)将仅被设置为未配置模式。
# echo 0 > bConfigurationValue 此时U盘的设备文件消失
# echo 1 > bConfigurationValue 此时从新进行类似的U盘插入识别过程

配置这个文件就可以实现U盘的模拟插拔!!
/sys/devices/platform/soc/ee080100.usb/usb1/1-1/bConfigurationValue

配置这个文件就可以实现Android Carlife的模拟插拔!!
/sys/devices/platform/soc/ee080100.usb/usb1/(1-1/)bConfigurationValue

2.# cat ./1-1/power/connected_duration
记录了从USB设备连接上后到现在持续的事件

3.# cat ./1-1/power/active_duration
active状态持续的时间

4.# cat ./1-1/power/level
RW,设置autosuspend模式是on还是auto

5.authorized
RW,同样能起到模拟U盘插拔的效果
Move the USB device to a very basic state where interfaces are disabled and the device is in fact unconfigured and unusable.

6.remove
W,安全的移除设备。
# echo 1 > remove
UDEV [4921.100082] remove /devices/platform/soc/ee080100.usb/usb1/1-0:1.0 (usb)
移除了root-hub,然后USB接口就不识别了,不接恢复,目前只能掉电。移除U盘U盘就需要重新插拔才能识别。

7.modalias
R,此文件只有接口有
usb1/1-1# cat ./1-1:1.0/modalias
eg:U盘:usb:v0951p1666d0001dc00dsc00dp00ic08isc06ip50in00
拆分如下:v0951 p1666 d0001 dc00 dsc00 dp00 ic08 isc06 ip50 in00

static ssize_t modalias_show(struct device *dev, struct device_attribute *attr, char *buf)
{
    struct usb_interface *intf;
    struct usb_device *udev;
    struct usb_host_interface *alt;

    intf = to_usb_interface(dev);
    udev = interface_to_usbdev(intf);
    alt = ACCESS_ONCE(intf->cur_altsetting);

    return sprintf(buf, "usb:v%04Xp%04Xd%04Xdc%02Xdsc%02Xdp%02Xic%02Xisc%02Xip%02Xin%02X\n",
            le16_to_cpu(udev->descriptor.idVendor),
            le16_to_cpu(udev->descriptor.idProduct),
            le16_to_cpu(udev->descriptor.bcdDevice),
            udev->descriptor.bDeviceClass,
            udev->descriptor.bDeviceSubClass,
            udev->descriptor.bDeviceProtocol,
            alt->desc.bInterfaceClass,
            alt->desc.bInterfaceSubClass,
            alt->desc.bInterfaceProtocol,
            alt->desc.bInterfaceNumber);
}

New USB device found, idVendor=0951, idProduct=1666

原文地址:https://www.cnblogs.com/hellokitty2/p/9743516.html

时间: 2024-08-29 06:02:03

USB相关的sysfs文件的相关文章

USB相关资料汇总

[1]USB规范,一切的一切,基本的基本,天书级别USB_11_spec(中文).pdf    USB1.1规范(中文版) usb_20.pdf                     USB2.0规范(英文版)[2]USB大全(USB Complete),看名字就知道了,有你所想了解的一切,通俗易懂USB-complete.pdf  version 2 -- USB Complete第二版 英文Usb Complete - Everything You Need To Develop Cust

linux学习笔记(一)-文件目录相关的命令&&文件通配符

一.几个命令概述 1.查看目录以及目录底下的文件:ls(-a显示隐藏文件:-d显示目录本身:-l显示详细内容:-R递归显示,即把子目录的文件也显示出来:-h以更加被人类理解的格式显示,比如显示文件大小的时候用M为单位显示:-i显示文件索引ID) 2.查看文件内容:cat,head,tail,less,more,tac cat:将文件连接起来,输出在屏幕上,可接多个文件(-E:显示隐藏的换行符:-n:显示出行号) head:默认查看文件的前10行(-n#:查看文件的前#行.空白行也是一行) tai

runtime实现的机制是什么,怎么用,一般用于干嘛. 你还能记得你所使用的相关的头文件或者某些方法的名称吗?

运行时机制,runtime库里面包含了跟类.成员变量.方法相关的API,比如获取类里面的所有成员变量,为类动态添加成员变量,动态改变类的方法实现,为类动态添加新的方法等 需要导入<objc/message.h><objc/runtime.h> 1.是什么 1> runtime是一套比较底层的纯C语言API, 属于1个C语言库, 包含了很多底层的C语言API 2> 平时编写的OC代码, 在程序运行过程中, 其实最终都是转成了runtime的C语言代码, runtime算是

转移用VC或者VS编辑的工程时,可以删除,并且能大大减小工程文件的相关后缀的文件列表

转移用VC或者VS编辑的工程时,可以删除,并且能大大减小工程文件的相关后缀的文件列表: ===================================================== *.plg;*.opt;*.ncb; *.user;*.suo; *.ilk;*.pdb;*.pch;*.bsc *.sdf debug;release ===================================================== 批量查找的方法: 1.尽量预操作目录: 2

NSOperation 的使用(下载相关) 图片和文件都是可以的 断点续传 图片逐渐显示

// // ImageDownloader.h // NSOperationTest // // Created by ydc on 11-10-29. // Copyright 2011年 __MyCompanyName__. All rights reserved. // #import <Foundation/Foundation.h> @protocol imageDownloaderDelegate; @interface ImageDownloader : NSOperation

android usb相关知识总结

转载请注明出处:http://blog.csdn.net/droyon/article/details/45098027 1.android背景介绍 UsbService,在系统启动时创建,在该文件中,和usb状态息息相关的操作类是UsbDeviceManager,大部分的usb以及adb相关的逻辑,在这个类中做处理.UsbDeviceManager中,我们需要关注三部分内容.一.配置文件.二.  private final UEventObserver mUEventObserver = ne

手机支持USB功能、驱动文件对应关系

手机支持USB功能: 1.UMS(USB MASS Stronge) : 连接PC作为存储盘使用 2.ADB : 用于调试 3.MTP :连接PC作为存储盘使用(win XP需要安装WMP10 以上 win7以上自动包含有) 4.PTP : 类似于相机导入功能 5.RNDIS : 虚拟网卡 (PC通过手机网络上网等)  驱动文件对应关系:   1.android_winusb.inf ---> ADB功能   2.cdc_acm.inf ---> USB串口功能 3.tetherxp.inf

获取IP相关信息和文件上传

获取IP相关信息 要获取用户访问者的IP地址相关信息,可以利用依赖注入,获取IHttpConnectionFeature的实例,从该实例上可以获取IP地址的相关信息,实例如下: var connection1 = Request.HttpContext.GetFeature<IHttpConnectionFeature>(); var connection2 = Context.GetFeature<IHttpConnectionFeature>(); var isLocal =

USB相关的网络资料

相关资源连接: USB官网:http://www.usb.org/home USB in a NutShell: http://www.beyondlogic.org/usbnutshell/usb1.shtml http://www.usbmadesimple.co.uk/index.html http://www.ti.com/lit/ug/sprufm8/sprufm8.pdf http://www.crifan.com/files/doc/docbook/usb_basic/releas