我正在使用at命令与3g调制解调器连接到互联网。所有消息显示一切正常,但没有互联网接入和调制解调器的状态在windows 7是不一致的。从调制解调器来的led就像它连接到互联网上一样。我正在使用的命令如下(按此顺序):
COM5 115200 4000 代码介绍: AT+CGREG?+CGREG: 0,1 OK 代码介绍: AT+CGREG=?+CGREG:(0-2) OK 代码介绍: AT+CGREG?+CGREG: 0,1 OK 代码介绍: AT+COPS?+COPS: 0,2,"22603",0 OK 代码介绍: AT+CSQ +CSQ: 21,99 OK 代码介绍: AT+CGATT=1确定 代码介绍: AT+CGDCONT=1,"IP",“宽带”OK 代码介绍: AT+CGACT=1,1确定 介绍的代码: AT+CEER +CEER:没有可用的原因信息 代码介绍: AT+CGACT?+CGACT: 1,1 OK 代码介绍: AT+CGATT?+CGATT: 1 OK 代码介绍: AT+CGREG?+CGREG: 0,1 OK 代码介绍: AT+CGDCONT?+CGDCONT: 1,"IP",“宽带”,“0.0.0.0”,0,0OK 代码介绍: AT+CGACT=0,1确定 介绍的代码: AT+CEER +CEER:没有可用的原因信息 代码介绍: AT+COPS?+COPS: 0,2,"22603",0 OK 代码介绍: AT+CSQ +CSQ: 21,99 OK 代码介绍: AT+CGATT=1确定 代码介绍: AT+CGDCONT=1,"IP",“宽带”OK 代码介绍: AT+CGACT=1,1确定 介绍的代码: AT+CEER +CEER:没有可用的原因信息 代码介绍: AT+CGACT?+CGACT: 1,1 OK 代码介绍: AT+CGATT?+CGATT: 1 OK 代码介绍: AT+CGREG?+CGREG: 0,1 OK 代码介绍: AT+CGDCONT?+CGDCONT: 1,"IP",“宽带”,“0.0.0.0”,0,0OK 代码介绍: AT+CGACT=0,1确定 介绍的代码: AT+CEER +CEER:没有可用的原因信息
我遗漏了什么?
发布于 2015-01-28 07:50:08
在设备上建立连接可能是不够的,因为windows不会收到连接的通知。您应该在Windows中设置一个调制解调器,并使用它来建立连接。
DotRas需要一个项目来精确地在c#中做到这一点。但其他语言也可能有其他解决方案。如果您正在编写脚本,可以查看一下WMI。也有调制解调器类。
发布于 2015-01-28 18:25:55
我找到了我问题的答案。要通过3g调制解调器连接互联网,您需要创建拨号连接或使用现有的拨号连接。在visual C#中最简单的方法是使用DotRas库并创建de拨号。示例
private void connectbtn_Click(object sender, EventArgs e)
{
string path = RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.User);
RasPhoneBook pbk = new RasPhoneBook();
pbk.Open(path);
RasDevice modem = RasDevice.GetDeviceByName("HUAWEI Mobile Connect - 3G Modem",RasDeviceType.Modem);
//get the exact device name from windows
RasEntry entry = RasEntry.CreateDialUpEntry("Broadband", "*99#", modem);
entry.Options.RemoteDefaultGateway = true;
if (RasEntry.Exists("Broadband", path) == false)
{ pbk.Entries.Add(entry); }
RasDialer dialer = new RasDialer();
dialer.EntryName = "Broadband";
dialer.PhoneBookPath = path;
dialer.Credentials = new NetworkCredential();
dialer.Credentials.Domain = "broadband";
dialer.PhoneNumber="*99#";
dialer.Dial();
}注意你与工作和网络连接的设置。
https://stackoverflow.com/questions/28178136
复制相似问题