Wince6.0 3G上网拨号不成功,急~!!

zhfl1314 2010-07-08 10:17:12
在WinCE6.0 上运用RasDial函数进行拨号的时候,老是返回错误,错误号为608,即指定的设备类型不存在。 远程访问记事簿文件和当前的“网络和拨号连接”配置可能不一致如果更改了通讯设备(例如:串行口或调制解调器),请确保重新配置 “网络和拨号连接”。 具体代码为:
CString szRasEntryName,szUserName,szPassword,szDomain,szPhoneNumber;
szRasEntryName="Modem Connection";
szUserName="";
szPassword="";
szDomain="";
szPhoneNumber="#777";
memset(&RasDialParams,0,sizeof(RASDIALPARAMS));

//设置RASDIALPARAMS结构体
RasDialParams.dwSize=sizeof(RASDIALPARAMS);
RasDialParams.szPhoneNumber[0]=TEXT('\0');
RasDialParams.szCallbackNumber[0]=TEXT('\0');
wcscpy(RasDialParams.szEntryName,szRasEntryName);
wcscpy(RasDialParams.szUserName,szUserName);
wcscpy(RasDialParams.szPassword,szPassword);
wcscpy(RasDialParams.szPhoneNumber,szRasEntryName);
wcscpy(RasDialParams.szDomain,szDomain);


//建立RAS链接

err=RasDial(NULL, //Extension not supported
NULL, //Phone book is in registry &RasDialParams, //RAS configuration for connection
0xFFFFFFFF, //Notifier type is a window handle
NULL, //Window receives notification message
&hRasConn); //Connection handle
if(err!=0)
{
RETAILMSG(1, (TEXT( "Could not connect using RAS. err=%d"),err));
}
else
{
RETAILMSG(1, (TEXT( "connect is successed")));
}
}


拨号的时候,在控制面板里面,已经存在着名为“Modem Connection”的连接。


哪位高手有经验呀,求指点~!!!
...全文
664 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
dthxman 2010-07-14
  • 打赏
  • 举报
回复
晕,如果直接拨号都不行,那就是你的驱动的问题了,不用管什么新建连接的设置问题,这些都默认即可,你驱动加载成功后,如果新建连接在选择调制解调器中是否出现了你的驱动命名的选项,否则肯定是不行的。
zhfl1314 2010-07-13
  • 打赏
  • 举报
回复
模块不是TD的,是WCDMA的
直接手动拨号也是出现“端口不可用”的错误。感觉是初始化失败,但又不知道哪里下手~
zhfl1314 2010-07-13
  • 打赏
  • 举报
回复
dthxman 程序拨号不成功之后,尝试的就是在网络连接里面直接设置参数进行拨号。至于用户名和密码,好像网上在WINCE上拨号成功的(3G,GPRS),一般都可以不填的。
问题就是即使是直接拨号,设置相应参数也没能成功。
退一步讲,即使是由于用户名之类的错误也不应该出现“端口不可用”的错误啊
dthxman 2010-07-13
  • 打赏
  • 举报
回复
明显是你软件写的有问题啊,你直接在那个拨号连接里,输入用户名,和密码,然后拨号如果成功的话,说明ce这层是没有问题的,就是你ras的拨号代码问题。
JasonBUG 2010-07-12
  • 打赏
  • 举报
回复
你是用的电信天翼的网卡吧

号码是#777
用户名card
密码card

我看你代码里面用户名和密码都是空呢?

whisht 2010-07-12
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zhfl1314 的回复:]
ljz9425 你用的也是华为的模块吗???最后解决没?
[/Quote]

不是华为的模块,我先前也是网上查,但最后还是厂家给解决的,所以最好先咨询厂家
zhfl1314 2010-07-10
  • 打赏
  • 举报
回复
哪位前辈有使用过华为的上网模块呀,指点下呀~~~快崩溃都
halfboy 2010-07-09
  • 打赏
  • 举报
回复
先RasValidateEntryName判断一下连接,然后RasGetEntryProperties获得属性,再RasSetEntryProperties设置属性。这些尝试过吗?
zhfl1314 2010-07-09
  • 打赏
  • 举报
回复
ljz9425 你用的也是华为的模块吗???最后解决没?
whisht 2010-07-09
  • 打赏
  • 举报
回复
华为的工具在拨号前对串口进行过初始化操作,比如上电,楼主最好咨询一下硬件厂家,前阵拨号这个问题也难了我很长一段时间。
zhfl1314 2010-07-09
  • 打赏
  • 举报
回复
在打印信息当中,有
........
modem status = 32

current modem status = 32, old status = 0

current modem event = 16

COM_Close: (1 handles) total RX 98, total TX 102, dropped (mdd, pdd) 0,98
COM_Close: (0 handles) total RX 98, total TX 102, dropped (mdd, pdd) 0,98
RASCS_Disconnected: Ecode=633
Posting WM_NETCONNECT(FALSE) message, ErrorCode = 633(0x279)
这些信息。在COM_Close后面的信息意思是不是表示已经发送和接受了数据了呀,但是又被丢弃????

这东西都搞的我头大了~~~~等高手呀~~~
halfboy 2010-07-08
  • 打赏
  • 举报
回复
用RasEnumDevices列举出可用的设备看看是否有你指定的那个设备
zhfl1314 2010-07-08
  • 打赏
  • 举报
回复
网上看了一些相关资料,应该可能是模块初始化就没成功,得去注册表里面改东西。
halfboy 其实3G上网模块用的是USB接口,只是虚拟成串口。
晚上试了下参数,还是没能成功诶,比较郁闷了。
VCLIFE 2010-07-08
  • 打赏
  • 举报
回复
楼主,我前一阵也弄了弄这个东西
我建议不要着急写程序,因为你的RasDial函数只能拨已存在的连接。
所以首先你手动建立拨号连接,把各种参数设置好,然后看看拨号能不能成功,如果可以,那么你写程序测试
如果不能,你用RasDial也白搭,肯定成功不了。
按你的描述手动拨号也不行,提示端口占用
1 端口确实被占用了,你在错误的端口上建立了拨号连接,先确定你的模块在哪个串口上
2 串口上必须挂着modem驱动才能拨号成功,确定你的串口上挂载了modem驱动,因为前一阵我用6410,他的GPRS用的COM2,可是COM2上没有挂modem驱动,而挂在COM1上...,所以你得修改注册表把modem挂在相应的串口上
3 上边都不是,那么注意你拨号链接里面的参数设置,比如我的GPRS连接,我把那个附加指令AT+***给写错了,拨号他也提示端口被用
OneOnce 2010-07-08
  • 打赏
  • 举报
回复
帮顶...............
halfboy 2010-07-08
  • 打赏
  • 举报
回复
华为用的是那个串口?你确定你选择的串口没有错误?

先关闭一下串口看看,也许是其他的程序打开了。
zhfl1314 2010-07-08
  • 打赏
  • 举报
回复
目前的问题是,当在控制面板里面,将名为“Modem Connection”的连接进行拨号时,出现“端口不可用”的情况,即RAS连接返回错误号633,其中端口号可以选择为COM1,COM7,COM8和Hayes_Compatible_on_COM1四种,当四种出错的情况都一样。

而使用华为本身所提供的Dialup拨号软件时,就不会出现这个问题。
哪位前辈碰到过类似的问题或大概知道解决方案的??

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧