识别流程:
1. 功能模块插入能源控制器卡槽
2. 在/sys/bus/device/4-1总线下生成接口4-1:1.0、4-1:1.1、4-1:1.2、4-1:1.3
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-AXbi5iNyMDNxMGOjRWZygDMwgjMzYzX0ETOzMTM5EzLclDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.bmp)
首先要说明下Linux系统下USB设备名称的两种格式:
AA-BB:CC.DD
AA-BB.xx:CC.DD
注解:
AA:USB总线
BB:设备路径
BB.xx:其中.xx表示级联HUB,对应相应的物理端口
CC:配置,例如一个HUB下面可以有多个USB口,每个口对应一个配置
DD:接口,例如一个RS485功能模块有多个/dev/ttyACMx设备,这里的每个设备就是对应一个接口
3. 模组管理APP检测到有功能模块接入到卡槽,依据USB设备名称的命名格式,生成对应的逻辑设备usb_exmX_Y,其中x为卡槽、对应USB设备名称格式中的CC段,Y为端口序号、对应USB设备名称格式中的DD段,如果再插入一个相同的模块该如何管理?
4. 模组管理APP通过逻辑设备的管理通道usb_exmX_0(序号为0都是管理通道)完成链路协商请求,然后确定虚拟通道的工作模式