用wvdial和ppp轻松上网

wvdial移植ARM平台 一、工具及源码版本 交叉编译工具链arm-none-linux-gnueabi wvdial 版本         1.61 wvstreams 版本         4.6.1 openssl 版本         1.0.1c zlib 版本         1.2.7 二、准备环境 1、准备交叉编译工具链arm-none-linux-gnueabi tar -xzvf too 阅读详情
 

wvdial是linux下的智能化拨号工具,利用wvdial和ppp可以实现linux下的轻松上网。在整个过程中wvdial的作用是拨号并等待提示,并根据提示输入相应的用户名和密码等认证信息;ppp的作用是与拨入方协商传输数据的方法并维持该连接。

一、wvdial及其相关配置
wvdial的功能很强大,会试探着去猜测如何拨号及登录到服务器,同时它还会对常见的错误智能的进行处理,不象chat一样,要求你去写登录脚本。wvdial只有一个配置文件 /etc/wvdial.conf。wvdial的启动过程是这样的:首先载入wvdial.conf配置文件,然后再初始化modem并拨号,拨号后等待拨入方的响应,收到拨入方响应后则启动pppd。

可以用wvdialconf程序自动生成wvdial.conf配置文件,自行该程序的格式为:
wvdialconf /etc/wvdial.conf
在执行该程序的过程中,程序会自动检测你的modem的相关配置,包括可用的设备文件名,modem的波特率,初始化字符等等相关的拨号信息,并根据这些信息自动生成wvdial.conf配置文件。如果/etc/wvdial.conf文件已经存在时,再次执行该命令只会改变其中的 modem、band、init等选项。一个典型的自动生成的配置文件可能是这样的:

[dialer defaults]

modem = /dev/ttys1
baud = 115200

init1 = atz

init2 = atq0 v1 e1 s0=0 &c1 &d2 s11=55 +fclass=0

;phone =

;username =

;password =

wvdial的执行格式为:
wvdial --help | --version | section
相关的说明如下:
--help:显示简单的帮助信息
--version:显示wvdial的版本号
section:这里的section有点象windows里的ini文件,一个wvdial.conf配置文件可以有好多个section,每一个section由一些变量组成,即由 变量=值 的语句组成,如上所示。使用wvdialconf自动生成配置文件时将会自动生成一些常用的变量说明如下:

inherits=inheritedsection:
使用wvdialconf自动生成配置文件时将会自动生成[dialer defaults],除此之外,你还 可以自定义你自己的section。程序运行时,首先载入[dialer defaults],然后再用指 定的section的相应选项覆盖[dialer defaults]的相应选项。比如,我们在 wvdial.conf中还有[dialer tom],假如我们运行wvdail tom,则系统将先读入[dialer defaults],然后再用[dialer tom]覆盖[dialer defaults]的相应选项。如果除了以上 的section之外还有[dialer 169]并且内容如下:
[dialer tom]
username=tom
password=xxx
inherits=169
[dialer 169]
phone=169
如果这时候我们执行wvdial tom则系统将先读入[dialer defaults],然后再用[dialer tom]覆盖[dialer defaults]的相应选项,最后再用[dialer 169]的相应选项来覆盖前二者的相应选项。由此可见,利用wvdial,我们可以很方便地在不同的isp或modem之间来回移动(假如你有几个isp或medom的话)。

medom=/dev/ttysx:用于指定是用的medom,缺省的为/dev/medom。当然,在这里我们的medom是由wvdialconf自动检测并配置的,所以我们可以忽略该变量。

band=57600:wvdial与modem通信的波特率,同上可以忽略。

area code=xxxx : 设置区号

dial prefix=x: 假如你正在使用分机,拨外线需拨9时,可设该值为9。

username=xxxx:登录时的用户名

passwd=xxxxxx:登录密码

phone=xxxxx: 所拨的号码

pppp path=:设置pppd所在的路径,缺省为/usr/sbin/pppd

force address=x.x.x.x :设置静态ip,一般的isp都会为你分配动态的ip地址。

new pppd= 1 or 0: pppd 2.3.0及其以上版本需要/etc/ppp/peers/wvdial文件,如果你的pppd是2.3.0以上版本请设为1.

auto reconnect=on :断线时是否自动重新连接,缺省设为是。

以上只是wvdial.conf中的常用选项,具体情参考wvdial手册。

二、pppd及其相关配置
pppd的配置选项相对要复杂得多,你可以用命令行的形式引用有关的选项,也可以把要引用的选项写到/etc/ppp/options中进行引用。
下面的示例文件包含了最常用的选项及其相关的说明:
# /etc/ppp/options

# 主机名称
mng.null.edu.cn

# 如果没有给定本地ip, pppd 将使用主机的第一个ip地址;
# 如果指定了"noipdefault" 选项, pppd将使用拨入方提供的ip地址


noipdefault

# 选定该选项, pppd 将接受拨入方提供的ip地址

ipcp-accept-local

# 选定该选项, pppd 将接受拨入方自己的ip地址

ipcp-accept-remote

# 设置缺省网关
defaultroute

# 在传输数据包之前,让拨入方先自我认证,注意一般的isp(如169、163)都不包含该机 # 制,故应选中noauth
noauth

# 使用硬件流控制
crtscts

#将拨号信息作日志
debug

以上只是options中的常用选项,具体情参考pppd手册。

三、一个实例
下面让我们来看一个具体的应用,在该应用中我们实现了拨号和断开连接的自动化。涉及到的配置文件有:
/etc/wvdial.conf :wvdial的配置文件
/etc/ppp/option : pppd的配置文件
/etc/ppp/ppp-on :拨号自动化脚本
/etc/ppp/ppp-of : 断开连接自动化脚本

步骤一:确保modem已经正确连接,linux已检测并自动配置了该modem

步骤二:运行wvdialconf,生成 /etc/wvdial.conf 文件并修改如下:
[dialer defaults]

modem = /dev/ttys1
baud = 115200

init1 = atz

init2 = atq0 v1 e1 s0=0 &c1 &d2 s11=55 +fclass=0

new pppd= 1
[dialer tom]
phone =
169
username =
tom
password = *******

步骤三:编辑并配置/etc/ppp/options,如下所示:
noipdefault

ipcp-accept-local

ipcp-accept-remote

defaultroute

noauth

crtscts

debug

步骤四:编写自动化脚本
1.拨号脚本 /etc/ppp/ppp-on:
#!/bin/sh
# this script initiates the ppp connections by wvdial
wvdial tom &

2.断开连接自动化脚本/etc/ppp/ppp-off:
#!/bin/sh

#!stop wvdial
killall wvdial
# if the ppp0 pid file is present then the program is running. stop it

if [ -r /var/run/ppp0.pid ]; then

kill -int `cat /var/run/ppp0.pid`

echo "ppp link to ppp0 terminated."

else

echo "error: ppp link is not active on ppp0"

exit 0

fi

exit 1

编辑完后,执行 chmod u+x /etc/ppp/ppp* 改变文件权限。到此大功告成,以后只要运行 /etc/ppp/ppp-on 便自动拨号,执行 /etc/ppp/ppp-of 便自动断开连接。

wvdial安装包 包括wvdial安装包 wvstream安装包 zlib安装包 openssl安装包 一份移植文档 一份已经一移植的wvdial 立即下载

相关推荐

wvdial-1.61

wvdial-1.61 拨号软件包,wvdial 是基于字符界面的,可以随时随地的不依赖于图形界面拨号上网。

wvdial arm移植笔记

目 录... 2   1.     引言... 3 1.1.       目的... 3 1.2.       术语解释... 3 1.3.       主要内容... 3 1.4.       开发环境... 4 1.4.1.        交叉编译环境... 4 1.4.2.        目标机环境... 4 2.     交叉编译...

xiaohui1983的专栏 2826

如何将TDengine集成到Thingsboard?

1 概述 ThingsBoard是用于数据收集、处理、可视化和设备管理的开源物联网平台。它通过行业标准的物联网协议MQTT、CoAP和HTTP实现设备连接,并支持云和本地部署。 ThingsBoard迄今没有导入专业的时序数据库应用,用户可选择的只有PostgreSQL和Cassandra。虽然针对PostgreSQL引入了TimeScale插件,但由于其不是按照宽表的方式组织数据记录,TimeScale的优势根本发挥不出来。总之,这两种数据库不具备高效的数据吞吐能力。 而且,Thingsboard在

Wearable_device的博客 4765

通过wvdial完成4G自动拨号上网

先安装wvdial: sudo apt-get install wvdial wvdial需要一个拨号配置文件: /etc/wvdial.conf 移动卡或者电信卡配置文件如下: [Dialer Defaults] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 Init3 = AT+CGDCONT=1,"IP","3gnet" Modem Type = A...

lcokenm的专栏 5086

数学建模美赛O奖论文研读启示录——从模仿开始

数学建模美赛O奖论文哪些地方比较出彩?我们可以从中学到什么东西?可以从哪些地方进行模仿?我总结了一些O奖论文里我认为比较好的地方,跟大家一起学习交流!

小宇的修炼之路 5429

EDEM在农业机械设计中的实战应用:以谷物收割机优化为例

本文以谷物收割机优化为例,详细阐述了EDEM离散元仿真软件在农业机械设计中的实战应用。通过构建精准的“数字谷物”模型与农机部件动态界面,利用GPU加速完成大规模颗粒系统仿真,有效诊断并解决了籽粒夹带损失与清选负荷不均等田间难题,实现了从仿真分析到田间验证的设计优化闭环。

weixin_29256771的博客 107

Linux使用wvdial工具利用4G模块通过ppp协议拨号上网

使用 `wvdial` 可以配置和管理 PPP 拨号连接,尤其适合通过 3G/4G/5G 调制解调器(如 USB Modem)拨号上网。Init3 = AT+CGDCONT=1,"IP","your_apn" # 替换 your_apn 为 SIM 卡的 APN(如 "internet" 或其他)> 替换 `your_apn` 为实际的 APN,`Phone`、`Username` 和 `Password` 可能因运营商而异,有些不需要设置用户名和密码。### 4. 使用 `wvdial` 启动拨号。

zyy29182918的博客 986

逆向工程师视角:拆解DataDome滑块验证码的3层防护机制与绕过思路

本文从逆向工程师视角,深入剖析DataDome滑块验证码的三层核心防护机制。第一层通过动态加密参数实现会话绑定与抗重放;第二层采集TLS指纹、鼠标轨迹动力学等多维行为数据进行一致性验证;第三层则是基于机器学习的后端异步风险决策引擎。文章不仅拆解了其技术原理,更分享了模拟、钩取等超越单纯工具调用的底层分析与绕过思路。

f6g7h8i9j的博客 730

普通 56K猫拔号上网工具 wvdial 介绍

作者:AMD-K6来自:LinuxSir.Org摘要:wvdial 是针对普通56K猫的基于字符界面的,可以随时随地的不依赖于图形界面拨号上网的拔号程序;wvdial还是比较方便,推荐大家使用; 目录 1、什么是wvdial; 2、安装和配置 wvdial; 2.1 安装wvdial; 2.2 配置 wvdial ; 3、作者手记; 4、更新日志; 5、参考文档...

weixin_33858336的博客 430

分离与合体题解(区间DP)

题目: 经过在机房里数日的切磁,LYD从社神牛那里学会了分离与合体,出关前,杜神牛给了他一个测试 杜神牛造了个区域,它们紧邻着排成了一行,编号1-n。在这經个区域里都放着一把OI界 的金钥匙,每一把都有一定的价值,LYD当然想得到它们了。然而杜神牛规定LYD不可以一下子 把它们全部拿走,而是每次只可以拿一把。为了尽快地拿到所有的金钥匙,LYD自然就用上了刚学的分离与合体特技。 开始LYD可以选择从1~n-11~n-11~n-1的任何一个区域(记为K)进入,进入后LYD会在K区域发 生分离,从而分离为两个小L

cqbz_lipengcheng的博客 370

CANoe软件之离线报文回放与分析实战

本文详细介绍了如何使用CANoe软件进行离线报文回放与分析,帮助工程师将现场故障数据转化为可反复研究的实验室资源。通过实战步骤,指导如何搭建分析工程、加载DBC文件解码信号,并利用Trace和Graphics窗口进行深度数据筛选与图形化分析,从而高效定位汽车电子故障,是提升诊断效率的关键技能。

weixin_29227585的博客 528

两种方式实现Ubuntu下命令行拨号 之 wvdial

前几天转载的资料,确实挺有用处的,但是不得不说,对于中兴的用户手册中,配置选项都命名为evdo,最后再pppd call evdo的时候,对应的哪个evdo都不知道。     先说说最简单的一种,那就是使用wvdial+pppd命令。     这种方式的配置文件只有一个,即,wvdial.conf(目录为/etc/)。但是请注意:如果你的系统的wvdial命令版本超过了2.3.0,还需要另外一

zuosifengli的专栏 3797

2025东三省D题深圳杯数学建模实战解析:基于多模型融合的法医STR混合样本智能识别系统

本文深入解析了2025年东三省数学建模竞赛D题,即深圳杯赛题,聚焦于法医STR混合样本的智能识别挑战。文章系统阐述了构建一个基于多模型融合的智能识别系统的完整流程,涵盖贡献者人数判定、DNA贡献比例估计、个体基因型推断以及STR谱图去噪四大核心步骤。通过融合高斯混合模型、随机森林、非负矩阵分解、小波变换与深度学习等多种技术,并强调特征工程的重要性,为破解法医DNA混合样本分析这一行业难题提供了清晰的数学建模与AI实战思路。

weixin_29050271的博客 390

linux pppd源码下载_LINUX下的拨号利器:wvdial和pppd —— 转载

wvdial是LINUX下的智能化拨号工具,利用wvdial和ppp可以实现linux下的轻松上网。在整个过程中wvdial的作用是拨号并等待提示,并根据提示输入相应的用户名和密码等认证信息;ppp的作用是与拨入方协商传输数据的方法并维持该连接。一、wvdial及其相关配置wvdial的功能很强大,会试探着去猜测如何拨号及登录到服务器,同时它还会对常见的错误智能的进行处理,不象chat一样,要求你...

weixin_28764823的博客 752

IAR9.20.4安装与注册全攻略:附资源及典型问题解决方案

本文提供IAR9.20.4的详细安装与注册指南,涵盖环境准备、安装步骤、权限设置及注册机使用技巧。针对典型问题如评估版残留、权限不足和杀毒软件拦截等,给出了具体解决方案,帮助用户顺利完成IAR开发环境的搭建与激活。

a2b3c4d5e的博客 295

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

LINUX下的拨号利器:wvdial和pppd —— 转载

  wvdial是LINUX下的智能化拨号工具,利用wvdial和ppp可以实现linux下的轻松上网。在整个过程中wvdial的作用是拨号并等待提示,并根据提示输入相应的用户名和密码等认证信息;ppp的作用是与拨入方协商传输数据的方法并维持该连接。一、wvdial及其相关配置  wvdial的功能很强大,会试探着去猜测如何拨号及登录到服务器,同时它还会对常见的错误智能的进行处理,不象chat一样...

weixin_30492601的博客 745

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

2011-8-10 21:51:44

wvdial是linux下的智能化拨号工具,利用wvdial和ppp可以实现linux下的轻松上网。在整个过程中wvdial的作用是拨号并等待提示, 并根据提示输入相应的用户名和密码等认证信息;ppp的作用是与拨入方协商传输数据的方法并维持该连接。   一、wvdial及其相

514

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

用Linux将局域网带入Internet(转)

用Linux将局域网带入Internet(转)[@more@]一、概述通常我们所遇到的问题是这样的:一个使用私有IP的局域网,一台联入Internet的机器,然后要你通过一定的手段将整个局域网联入Internet。其实,该方案的...

127

推荐项目:Sakis3G - 简易3G连接工具

推荐项目:Sakis3G - 简易3G连接工具 1、项目介绍 Sakis3G 是一个轻量级的命令行工具,用于在Linux系统中轻松管理和连接3G移动数据设备。通过简洁的命令行界面,Sakis3G能够帮助用户无需复杂配置即可建立3G网络连接。无论是初学者还是经验丰富的开发者,都能快速上手并享受到高效、稳定的3G连接服务。 2、项目技术分析 Sakis3G 的编译依赖于libusb-dev库(需要li...

gitblog_00020的博客 372

使用wvdial启动ppp协议拨号上网

使用wvdial启动ppp协议拨号上网 二、pppd及其相关配置 pppd的配置选项相对要复杂得多,你可以用命令行的形式引用有关的选项,也可以把要引用的选项写到/etc/ppp/options中进行引用。 下面的示例文件包含了最常用的选项及其相关的说明: # /etc/ppp/options   # 主机名称 mng.null.edu.cn   # 如果没有给定本地ip, pppd

Rain的专栏 2061

第三节 树莓派EC20之PPP拨号上网

EC20 ppp拨号上网步骤1. 准备工作2.安装软件3.上网测试 树莓派内核现在已集成了EC20的驱动,不需要再去进行驱动移植,虽然没有MiniPcie的接口,但用usb转minipcie也是一样。 1. 准备工作 ec20模块 sim卡一张,我用的是移动的 插入4g模块,检查驱动 //查看usb驱动 lsusb 说明驱动已经有了 2.安装软件 拨号软件我们选择linux下智能拨号工具wvdial // 安装拨号工具 sudo apt install wvdial 安装完拨号工具,开始修

qq_30112663的博客 4723

linux gprs拨号上网路由,linux下用wvdial实现gprs拨号上网

1. 安装wvdialsudo apt-get install wvdial2. 在/etc/wvdial.conf中写入wvdial的配置信息: femacs /etc/wvdial.confInit1 = ATZInit2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0Init3 = AT+CGDCONT=1,"IP","CMNET" ##import...

weixin_32549035的博客 363

树莓派配置 3g / 4g网卡通信 移动模块上网通信

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33829657的博客 1419

用树莓派搭建远程实时画面传输

一、材料准备 树莓派4B*1 设备 s

扑朔丶的博客 1万+
上一篇: 本地 绑定域名及host使用说明
下一篇: Linux命令Man解释:PPPD :点对点daemon协议
flymachine
博客等级 码龄23年 253粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值