小弟请教一个问题,希望抽空给予解答,多谢!
在操作系统下,怎么不通过驱动程式的支持,直接通过HCD的STS,CMD等寄存器,配置空间等来枚举设备,而又不影响到操作系统对于控制器上的所有设备的使用。
例如,在Windows下,插入了一个U盘,一个USB键盘,我怎样能够知道在哪个Port上插的是键盘,哪个是U盘,并且获得它们各自的Device Address。
看到过一个办法是从Dev 1 -127 逐个GetDescriptor,从而判断有没有这个设备,并得到相关信息,但是并不能够知道设备在哪个Port上。
再有就是通过Reset每个Port来重行分配设备地址给每个设备,但是这样的话一个会影响到设备的使用,并且操作系统一定会截获到设备的变动。
总之就是请教怎样在操作系统不知情的情况下获取本机上所有USB设备的相关信息,例如所在的Port,VendorID等。。。 |