acidfish
驱动小牛
驱动小牛
  • 注册日期2002-05-20
  • 最后登录2009-11-11
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
特别幸运楼层#
发布于:2005-01-20 10:58
[quote]这个虚拟串口恐怕不能跟系统中真实的串口互通。它倒是可以调用真实的串口,向真实串口上发送/接收数据。


楼主,你的意思就是这个虚拟串口实际上就是虚拟系统的某个真实的串口?

我还有个问题,就是我有一个HID的数据线,通过它将手机与PC连在一起。现在我想虚拟一个串口,使得PC可以通过这个虚拟串口实现用手机拔号上网!你觉得这样的想法可行吗?

谢谢! [/quote]
应该可行。不过也要看手机的类型了。我见过几款手机附带有配套光盘。安装上以后,用USB的线或其他数据接口连到电脑上,在电脑上通过安装的软件就可以操作手机拨号。
不过我没有仔细研究过这个具体的实现。对串口上Modem的驱动也没有接触。你要是看到市面上有类似的产品可以买过来看一看,分析分析它的结构框架。
yuki-angel
驱动牛犊
驱动牛犊
  • 注册日期2004-04-09
  • 最后登录2007-04-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
1000中奖楼层#
发布于:2005-03-09 16:41
那位还能给传上来一份啊
过期了
acidfish
驱动小牛
驱动小牛
  • 注册日期2002-05-20
  • 最后登录2009-11-11
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
102楼#
发布于:2005-03-10 16:21
最近在测试更新的版本。就是简单的加上了TDI功能的使用。
测试一段时间再传到这里。
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
103楼#
发布于:2005-03-10 23:26
看了看有关这方面的东西,刚刚改了inf文件,驱动能够象一个真正的端口显示了

不过,驱动还没有做任何改动,就先把inf文件贴上来吧。
;/*++
;
;Copyright (c) 1990-1999 Microsoft Corporation All rights Reserved
;
;Module Name:
;
;    TOASTERF.INF
;
;Abstract:
;
;    INF file for installing toaster class with upper and lower filters and
;    toaster device driver with upper and lower filters.
;    Note: In order for the Upper and Lower filter entry for the class to be
;          added to the registry, you must remove the existing Toaster class
;   key from the registry if you had previously installed Toaster class.
;   Otherwise the setup ignores AddReg section
;   if it finds the toaster class guid in the registy.
;
;
;--*/
[Version]
Signature=\"$WINDOWS NT$\"
;Class=TOASTER
;ClassGuid={B85B7C50-6A01-11d2-B841-00C04FAD5171}
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%MSFT%
DriverVer=06/16/1999,5.00.2064

[DestinationDirs]
DefaultDestDir = 12

; ================= Class section =====================

[ClassInstall32]
Addreg=ToasterClassReg    

[ToasterClassReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-20

;*****************************************
; Toaster Device  Install Section
;*****************************************

[Manufacturer]
%StdMfg%=Standard

[Standard]
; DisplayName       Section           DeviceId
; -----------       -------           --------
%ToasterDevice.DeviceDesc%=Toaster_Device, Toaster\\MsToaster

[Toaster_Device.NT]
CopyFiles=Toaster_Device.NT.Copy
AddReg  = Toaster_Device.NT.AddReg

[Toaster_Device.NT.HW]
AddReg=Toaster_Device.NT.HW.AddReg

[Toaster_Device.NT.Copy]
SiSerial.sys
[Toaster_Device.NT.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,SiSerial.sys
HKR,,EnumPropPages32,,\"MsPorts.dll,SerialPortPropPageProvider\"
[Toaster_Device.NT.HW.AddReg]
;-------------- Service installation
HKR,,\"UpperFilters\",0x00010000,\"serenum\"
[Toaster_Device.NT.Services]
AddService = toaster, %SPSVCINST_ASSOCSERVICE%, toaster_Service_Inst
AddService = Serenum,,Serenum_Service_Inst

; -------------- Toaster Driver install sections
[toaster_Service_Inst]
DisplayName    = %toaster.SVCDESC%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\\SiSerial.sys
LoadOrderGroup = Extended Base

[Serenum_Service_Inst]
DisplayName    = %Serenum.SVCDESC%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\\serenum.sys
LoadOrderGroup = PNP Filter

[SourceDisksNames]
1 = %DiskId1%,,,\"\"

[SourceDisksFiles]
SiSerial.sys  = 1,,

[Strings]
SPSVCINST_ASSOCSERVICE= 0x00000002
MSFT = \"Microsoft\"
StdMfg = \"(Standard system devices)\"
ClassName = \"VirtualSerial\"

ToasterDevice.DeviceDesc = \"Bitee VSerial Toaster DeviceDesc\"
toaster.SVCDESC = \"Bitee Virtual Serial for Display\"
DiskId1 = \"Toaster Device Installation Disk #1\"
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
104楼#
发布于:2005-03-10 23:29
但是不是这么简单就能解决问题,但是起码提供了一个思路。
就是用serenum.sys作为上层过滤驱动。 然后把所有的irp 转发也好,排队也好。反正有了点系统端口的特征。

当然,代码是肯定要改的,谁要是有兴趣,欢迎讨论。
qq : 3543946
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
acidfish
驱动小牛
驱动小牛
  • 注册日期2002-05-20
  • 最后登录2009-11-11
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
105楼#
发布于:2005-03-11 10:40
把serenum.sys作为上层过滤驱动,我倒是没有考虑过。我想应该是很好的一个主意。以前没太注意serenum.sys。有空得好好的看一看。
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
106楼#
发布于:2005-03-11 11:12
这两天正好没什么事,我想我会把这个想法实现的。
当然了,要是有什么问题,希望大家能够帮助解决
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
107楼#
发布于:2005-03-12 10:32
把inf改动之后,就直接安装 port端口,不用toaster enum 了。
然后用 exe 枚举 端口,直接用超级终端就能访问了。

代码一点都不用改。
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
david_lee
驱动牛犊
驱动牛犊
  • 注册日期2005-03-09
  • 最后登录2005-07-27
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
108楼#
发布于:2005-03-15 10:42
这个虚拟串口恐怕不能跟系统中真实的串口互通。它倒是可以调用真实的串口,向真实串口上发送/接收数据。


楼主,给你发了信了,我是刚开始做驱动,怎么调用真实的串口呢?
另外,我想虚拟出两个串口出来,其实指向的都是同一串口,所以在安装时就在控制面板出现,并且都指向同一真实的串口,这个能实现吗?如果能实现,应该在那层实现?

david_lee
驱动牛犊
驱动牛犊
  • 注册日期2005-03-09
  • 最后登录2005-07-27
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
109楼#
发布于:2005-03-15 10:49
这个虚拟串口恐怕不能跟系统中真实的串口互通。它倒是可以调用真实的串口,向真实串口上发送/接收数据。


楼主,给你发信了,怎么让虚拟串口与真实的串口联起来呀?我现在想虚拟出两个串口出来,同时都指向同一真实串口,使得从虚拟串口发出的数据,都从真实的串口发出去,接收数据时,我再进行分流,这样该从那儿着手呀?
我是刚开始做驱动的,下了你的程序,收获很大。。

highw
驱动牛犊
驱动牛犊
  • 注册日期2002-01-10
  • 最后登录2011-04-05
  • 粉丝0
  • 关注0
  • 积分372分
  • 威望38点
  • 贡献值0点
  • 好评度36点
  • 原创分0分
  • 专家分0分
110楼#
发布于:2005-03-16 19:09
楼主:
》》最近在测试更新的版本。就是简单的加上了TDI功能的使用。
》》测试一段时间再传到这里。

什么时候传上来,想学习一下。
期待中。。。。。。。。

msn : armlinux2000@hotmail.com
onglies
驱动牛犊
驱动牛犊
  • 注册日期2005-04-05
  • 最后登录2005-04-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
111楼#
发布于:2005-04-05 18:11
I am also developing a virtual serial port. this post helped me a lot.

我不太明白serenum.sys 和 busenum.sys 的分别。好像两个都可以用来列举serial port? 他们的位置和作用有什么分别呢? 请高手们赐教。。。 感激。。
sunmoon9898
驱动牛犊
驱动牛犊
  • 注册日期2003-03-22
  • 最后登录2010-07-20
  • 粉丝0
  • 关注0
  • 积分33分
  • 威望23点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
112楼#
发布于:2005-04-16 16:57
我在xp 下enum -p 1 后 再 create dos name
   enum -u 1
再 enum -p 1 ,后无法create dos name,
这个IoCreateSymbolicLink 出错了,可我调试不出来.
有哪位解决的说一下..

 还有,对协作安装程序有了解的也交流一下.
acidfish
驱动小牛
驱动小牛
  • 注册日期2002-05-20
  • 最后登录2009-11-11
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
113楼#
发布于:2005-04-16 17:44
我前几天也在xp下碰到这个问题。enum -p第二个设备的时候也是失败了。最近一直没有来的及看这个。等我把这个调好了,再发布出来。
peterHK
驱动牛犊
驱动牛犊
  • 注册日期2005-07-26
  • 最后登录2005-08-09
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
114楼#
发布于:2005-08-09 15:45
好帖!!!顶起来!!!
ruirui1
驱动牛犊
驱动牛犊
  • 注册日期2007-01-22
  • 最后登录2011-03-25
  • 粉丝0
  • 关注0
  • 积分287分
  • 威望100点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
115楼#
发布于:2008-06-02 23:05
谢谢,学习中。。。。。。。。。。。。。
半瓶水
驱动牛犊
驱动牛犊
  • 注册日期2006-04-26
  • 最后登录2008-10-16
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
116楼#
发布于:2008-10-16 19:00
谢谢楼主分享!下来研究一下
装了办瓶水的我来把水装满
kunsong
驱动牛犊
驱动牛犊
  • 注册日期2009-03-03
  • 最后登录2010-04-15
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
117楼#
发布于:2009-03-17 13:35
很好
mf24271
驱动牛犊
驱动牛犊
  • 注册日期2009-06-22
  • 最后登录2011-02-25
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
118楼#
发布于:2009-07-09 14:38
我晕 我什么 我下载下来打不开!为什么啊楼主!
QQ-456
驱动牛犊
驱动牛犊
  • 注册日期2009-08-09
  • 最后登录2009-09-17
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望131点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
119楼#
发布于:2009-09-07 16:30
多谢  兄弟
游客

返回顶部