主要来自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=, idProduct=

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

  1. I.MX6 Android USB Touch eGTouchA.ini文件存放

    /******************************************************************** * I.MX6 Android USB Touch eGTo ...

  2. USB开发库STSW-STM32121文件分析(转)

    源: USB开发库STSW-STM32121文件分析

  3. Python+USB+Vnet+FTP传输文件开发记录

    做一个Python+USB+Vnet+FTP传输文件开发记录

  4. kali更新源相关 -- 没有release文件、签名无效、404

    kali更新源相关 -- 没有release文件.签名无效.404 这个随笔主要是处理Mac下使用VMare虚拟机安装Kali时候我遇到的一些关于更新源的问题 (因为本人为了这个问题折腾了四五个小时, ...

  5. USB开发库STSW-STM32121文件分析

    hw_config.c: 该文件中包含系统配置的函数. usb_desc.c:各种描述符 usb-endp.c:就两个函数分别处理端点1的IN和端点2的OUT. usb_istr.c: 该文件中只有一 ...

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

    手机支持USB功能: 1.UMS(USB MASS Stronge) : 连接PC作为存储盘使用 2.ADB : 用于调试 3.MTP :连接PC作为存储盘使用(win XP需要安装WMP10 以上 ...

  7. USB相关的网络资料

    相关资源连接: USB官网:http://www.usb.org/home <USB in a NutShell>: http://www.beyondlogic.org/usbnutsh ...

  8. [Oracle]获得PDB相关的xml 文件

    问题:客户进行了PDB的克隆之后,发现启动时出现: ORA-44777: Pluggable database service cannot be started. 分析手段: 为了获得PDB的相关信 ...

  9. solr配置相关:约束文件及引入ik分词器

    schema.xml: solr约束文件 Solr中会提前对文档中的字段进行定义,并且在schema.xml中对这些字段的属性进行约束,例如:字段数据类型.字段是否索引.是否存储.是否分词等等 < ...

随机推荐

  1. Python 如何判断一个函数是generator函数?

    如何判断一个函数是否是一个特殊的 generator 函数?可以利用 isgeneratorfunction 判断: >>>from inspect import isgenerat ...

  2. QT之QML控件篇

    QT quick中提供了很多的实用控件widget,下面介绍几种常用的. 这部分介绍基本是参照QtCretator提供的帮助文档,一定要学会使用,不明白的去查找帮助. Item 基本上所有的可是控件的 ...

  3. mssql语句递归查找所有下级

    if exists (select * from sys.all_objects where name='GetOrgTree') begin drop function GetOrgTree end ...

  4. 20145315 《Java程序设计》第九周学习总结

    20145315 <Java程序设计>第九周学习总结 教材学习内容总结 第16章--整合数据库 16.1.1JDBC简介 应用程序通过通信协议对数据库进行指令交换,以进行对数据的的增删查找 ...

  5. anaconda + tensorflow +ubuntu 超级菜鸟,大家多指正【转】

    本文转载自:https://blog.csdn.net/zzw000000/article/details/51203331 1.首先安装Anaconda 下载linux对应的anaconda版本,下 ...

  6. linux内核源码在线浏览

    1.https://elixir.bootlin.com  (只能搜索函数和宏定义,功能单一) 2.https://lxr.missinglinkelectronics.com (比第一个功能多一些, ...

  7. Java堆(heap)、栈(stack)和队列的区别

    Java里面Stack有两种含义: 一:数据结构 Stack,即java.util.Stack import java.util.Stack; import java.util.Iterator; i ...

  8. 【联网】虚拟机下Linux(终端)配置网络的方法

    这几天在虚拟机vmware上部署centos系统,想通过内部联网用yum命令安装必需的软件,但是一直不能静态地址联网,今天终于找到一个方法centos内部设置IP,对外联网.设置过程如下: 1.首先是 ...

  9. KMP&拓展KMP

    KMP算法 说明 KMP算法是一种比较高效的字符串匹配算法,可以在线性时间内求出一个串在另一个串的所有匹配位置. 解析 详解KMP 设模板串是 \(pattern\) 令 \(next[i] = ma ...

  10. 理解if __name__ == '__main__':

    一开始没怎么注意这个语句,这两天在模拟知乎登陆时准备刨根问底了,先看两行代码片段 第一个例子:这是在login.py文件的一部分,其他我们忽略,只关注print()函数的内容 import time ...