现在在做一网卡项目,实现的功能是当网卡插入Windows XP系统时,显示一个USB口和一个串口,其中USB口实现上网,串口用于走AT命令等,现在在Windows端的驱动程序都已有现成的,USB也可以上网了
但是目前系统只可以检测到USB口,无法检测到串口,请问如何将这个USB虚拟出一个串口来呢?
这个问题困了我好几天了,一直没找到这方面的资料,恳请好心人帮忙…
------解决方案--------------------
如果是纯的软件虚拟,
1、你需要一个Bus Driver,在这个Bug上,产生一个虚拟的硬件PnP消息,系统就会装载相关的串口驱动程序。
2、也可以通过直接在注册表的增加一个串口设备。只是这样不支持PnP。
------解决方案--------------------
需要改你那个“现有的windows端驱动程序”,在监测到usb口的同时就把虚拟的串口也创建出来...
------解决方案--------------------
这是一个有点难度的驱动
建议架构
3个驱动
1个驱动是总线驱动,它挂在Window的USB总线驱动上
1个驱动是在总线驱动下的USB
1个驱动是在总线驱动下的串口
USB驱动和串口驱动向上发包,总线驱动仅仅负责将包转发到Window的USB总线驱动上,而且上网时,又发送AT命令的处理应该比较麻烦。
------解决方案--------------------
不建议在原有的驱动上改,这样应该做不出来的
------解决方案--------------------
------解决方案--------------------
这种不用虚拟一个Bus。直接在你的usb设备中的INF中增加
一个HKR,,"UpperFilters",0x00010000,"serenum"
然后你的Device Driver满足serenum的要求,就行了。
------解决方案--------------------
一口两用 同步问题谁解决呢?
我见过直接usb转换虚拟串口的 还真没有见过 一个串口+一个u口的
------解决方案--------------------
虚拟串口是有专门的软件的?跟USB有什么关系?
------解决方案--------------------
兄弟, 我最近在做USB虚拟串口的驱动, 今天刚虚拟了一个com口,
其实刚接触时,感觉很难, 但现在回头一看,蛮简单的哦!
虚拟com, 要在驱动里对注册表进行操作,添加com, 就OK了。试试哦
------解决方案--------------------
楼上 你好,请指教:也在搞USB转串口,驱动收不到IRP_MJ_CREATE? 不知为啥??