移植PPP2.4.5到ARM上实现拨号



1、内核编译的时候,看到以下关于PPP的全部要选择如下:

  Device Drivers--->Network device support  --->

 

  │ │       <*>   PPP (point-to-point protocol) support                   │ │

 

  │ │       [*]     PPP multilink support (EXPERIMENTAL)                  │ │

 

  │ │       [*]     PPP filtering                                         │ │

 

  │ │       <*>     PPP support for async serial ports                    │ │

 

  │ │       <*>     PPP support for sync tty ports                        │ │

 

  │ │       <*>     PPP Deflate compression                               │ │

 

  │ │       <*>     PPP BSD-Compress compression                          │ │

 

  │ │       <*>     PPP over Ethernet (EXPERIMENTAL)                      

 

1、移植pppd:

   1)从网上下载pppd源代码:ppp-2.4.3.tar.gz 源码包。tar -zvxf ppp-2.4.3.tar.gz 解压。

      网址:ftp://ftp.samba.org/pub/ppp/

   2)通过./configure生成Makefile;进入pppd/Makefile文件,将下面一段话中的FILTER=y注视掉

      # Uncomment the next line to include support for PPP packet filtering.

      # This requires that the libpcap library and headers be installed

      # and that the kernel driver support PPP packet filtering.

      #FILTER=y

 

   3)make CC=arm-linux-uclibc-gcc 进行编译;

   4)对编译后的pppd在使用命令:arm-linux-uclibc-strip压缩一下。

   5)mkdir /usr/local/lib/pppd/2.4.3

      cd pppd/plugins

      cp minconn.so passprompt.so passwordfd.so winbind.so /usr/local/lib/pppd/2.4.3

      cd rp-pppoe

      cp rp-pppoe.so /usr/local/lib/pppd/2.4.3

      cp pppoe-discovery /usr/sbin

     

      cd ../pppoatm

      cp pppoatm.so /usr/local/lib/pppd/2.4.3

    

      cd ../radius

      cp radius.so radattr.so radrealms.so /usr/local/lib/pppd/2.4.3

 

      cd ../..

      cp pppd /usr/sbin

     

      cd ../pppstatus

      cp pppstatus /usr/sbin

 

      cd ../pppdump

      cp pppdump /usr/sbin

 

      cd ../chat

      cp chat /usr/sbin

 

      cd ../pppd

      mkdir /usr/local/include/pppd

     cp ccp.h chap-new.h ecp.h fsm.h ipcp.h ipxcp.h lcp.h magic.h md5.h patchlevel.h

        pathnames.h pppd.h upap.h eap.h md4.h chap_ms.h shal.h pppcrypt.h tdb.h spinlock.h

         /usr/local/include/pppd/

 

      cd ../etc.ppp

      mkdir /etc/ppp

      cp chap-secrets options pap-secrets /etc/ppp

    6)在开发板上运行pppd,当有乱码输出时,移植成功。

 

3、移植pppoe:

   1)从网上下载pppoe源代码:pppoe-3.8-1.1.tar.gz 源码包。tar -zvxf pppoe-3.8-1.1.tar.gz 解压。

      网址:http://packages.debian.org/stable/source/rp-pppoe

   2)进入rp-pppoe-3.8/src目录,通过./configure生成Makefile;打开Makefile文件,

     把所有的gcc 和 ar 换成 arm-linux-uclibc-gcc 和 arm-linux-uclibc-ar,

     进入libevent目录,打开Makefile,把所有的gcc换成arm-linux-uclibc-gcc,

   3)回到rp-pppoe-3.8/src目录下,运行make 进行编译。

   4)回到rp-pppoe-3.8目录下,进入gui目录下打开Makefile文件。

   5)把所有的gcc 换成 arm-linux-uclibc-gcc。

   6)运行make进行编译。

   7)cd ../src

      cp pppoe /usr/sbin

      cp pppoe-server /usr/sbin

      cp pppoe-relay /usr/sbin

      cp pppoe-sniff /usr/sbin

     

      cd ../scripts

      cp pppoe-connect /usr/sbin

      cp pppoe-start /usr/sbin

      cp pppoe-status /usr/sbin

      cp pppoe-stop /usr/sbin

      cp pppoe-setup /usr/sbin

     

      chmod 755 /usr/sbin/pppoe-conndect

      chmod 755 /usr/sbin/pppoe-start

      chmod 755 /usr/sbin/pppoe-status

      chmod 755 /usr/sbin/pppoe-stop

      chmod 755 /usr/sbin/pppoe-setup

    

      cd ../gui

      cp pppoe-wrapper /usr/sbin

     

      cd ../configs

      mkdir /etc/ppp

      cp pppoe.conf /etc/ppp

      cp firewall-standaone /etc/ppp

      cp firewall-masq /etc/ppp

      cp pppoe-server-options /etc/ppp

      cp pap-secrets /etc/ppp

   8)这时可执行 sh#pppoe-setup 进入配置

     #/usr/sbin/pppoe-setup

     当出现>>> Enter your PPPoE user name :

     输入ADSL帐号的用户名

     当出现>>> Enter the Ethernet interface connected to the ADSL modem

               For Solaris, this is likely to be something like /dev/hme0.

               For Linux, it will be ethn, where 'n' is a number.

               (default eth0):

     输入 eth0 ,这是ADSL相连的网卡的名字

     当出现>>> Enter the demand value (default no):

     输入 no

     当出现>>> Enter the DNS information here:

     输入 server ,这表示使用ADSL拨号自动获得的DNS服务器IP地址

     当出现>>> Please enter your PPPoE password:

     输入ADSL帐号的密码

     当出现>>> Choose a type of firewall (0-2):

     输入 0 ,不使用防火墙

     当出现>>> Accept these settings and adjust configuration files (y/n)?

     如果输入的信息正确,输入 y ,完成配置,否则,输入 n 重新输入。

   9)这时就可以启动pppoe客户端软件,进行联接。

      #usr/sbin/pppoe-start

       ........

       connected!

      表示联接成功:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405343.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hdu 5317 RGCDQ (2015多校第三场第2题)素数打表+前缀和相减求后缀(DP)

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid5317 题意&#xff1a;F(x) 表示x的不同质因子的个数结果是求L&#xff0c;R区间中最大的gcd( F(i) , F(j) )&#xff0c;i、j在L&#xff0c;R区间内。 思路&#xff1a;因为2<L < R<1000000&#xf…

[react] 举例说明React的插槽有哪些运用场景

[react] 举例说明React的插槽有哪些运用场景 我觉得这里的插槽&#xff0c;指的应该是组合组件&#xff0c;而不是portal(传送门)&#xff0c;因为对比vue中的插槽&#xff0c;只是父组件在子组件中间加入一系列的内容&#xff0c;然后子组件可以自己判断显示逻辑&#xff0c;…

C#中的事件和委托(续)

引言 如果你看过了 C#中的委托和事件 一文&#xff0c;我想你对委托和事件已经有了一个基本的认识。但那些远不是委托和事件的全部内容&#xff0c;还有很多的地方没有涉及。本文将讨论委托和事件一些更为细节的问题&#xff0c;包括一些大家常问到的问题&#xff0c;以及事件访…

linux中追踪函数backtrace调用堆栈

From: http://www.embeddedlinux.org.cn/html/jishuzixun/201211/19-2388.html 一般察看函数运行时堆栈的方法是使用GDB之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的。 在头文件"exe…

MATLAB 中RMSE和MAPE的计算方法

RMSE&#xff1a;均方根误差 matlab计算方法&#xff1a; rmse sqrt(mean((YPred-Obverval).^2)); MAPE&#xff1a;平均百分比误差 matlab计算方法&#xff1a; meap mean(abs((observed - predicted)./observed))*100;

Linux SPI总线和设备驱动架构

http://blog.csdn.net/droidphone/article/details/24353293

[react] React15和16别支持IE几以上?

[react] React15和16别支持IE几以上&#xff1f; React15 版本不直接支持IE8 浏览器的&#xff0c;官方文档中说React16 中依赖于集合类型Map 和 Set 因此不再支持IE 11 以下的浏览器&#xff0c;如果想要支持&#xff0c;需要使用全局的 polyfill 个人简介 我是歌谣&#x…

ubuntu11.04正式版下载地址

ubuntu11.04正式版下载地址&#xff1a; 下載點列表&#xff1a; http://ftp.cs.pu.edu.tw/Linux/Ubuntu/ubuntu-cd/11.04/ubuntu-11.04-desktop-amd64.iso http://ftp.cse.yzu.edu.tw/pub/Linux/Ubuntu/ubuntu-cd/11.04/ubuntu-11.04-desktop-amd64.iso http://ftp.cs.pu.edu.…

hdu 3074 线段树 OR 树状数组

比较基础的线段树&#xff0c;1A。 线段树&#xff1a; 1 #include <iostream>2 #include <cstring>3 #include <cstdio>4 using namespace std;5 6 typedef long long ll;7 const int N 50001;8 const int MOD 1000000007;9 int a[N];10 11 struct Node12…

掌握shell编程中数组的常见用法及示例

From: http://www.embeddedlinux.org.cn/html/jishuzixun/201211/19-2386.html 给大家分享下数组的用法小例子&#xff0c;希望能给大家一点帮助。其实SHELL的数组很简单&#xff0c;好用。我们学习都应该遵循简单、易用的原则。 shell编程中数组的简单用法及示例 新版本的B…

QT tr与Qstring的差别

在论坛中漂&#xff0c;经常遇到有人遇到tr相关的问题。用tr的有两类人&#xff1a; (1)因为发现中文老出问题&#xff0c;然后搜索&#xff0c;发现很多人用tr&#xff0c;于是他也开始用tr(2)另一类人&#xff0c;确实是出于国际化的需要&#xff0c;将需要在界面上显示的文…

printf的扩展

#define printf(format , ...) printf("FILE[%s] LINE[%d]" format , __FILE__ , __LINE__ , ##__VA_ARGS__)这个宏应用好几个技巧&#xff1a;1、使用printf宏&#xff0c;和原来的printf相同。这样我们不需要修改源码&#xff0c;直接替换原来的printf的函数。2、…

[react] contextType是什么?它有什么用?

[react] contextType是什么&#xff1f;它有什么用&#xff1f; 定义当前组件要使用哪一个context const MyContext React.createContext(defaultValue);class MyClass extends React.Component {componentDidMount() {let value this.context;/* perform a side-effect at…

shell 基本知识

shell--脚本基础知识 ****shell 脚本基础知识**** 一、基本脚本编译 知识内容&#xff1a; # 构建脚本 # 将命令串联起来 # 存储变量 # 数学计算 # 重定向输出 # 检查代码shell不像高级语言需要编译后执行&#xff0c;而是直接处理每一条命令&#xff0c;可以将多条命令连接起来…

Lombok(1.14.8) - @Log

Log Logs&#xff0c;生成一个日志对象。 package com.huey.lombok;import lombok.extern.java.Log;Log public class LogExample {public static void main(String[] args) {log.info("This is an info message."); }} 除了&#xff0c;Log还有其他annotatio…

让LwIP拥有PING其他设备的能力

LwIP是个很不错的协议栈&#xff0c;但是由于其体积过于小巧&#xff0c;使其只能支持ICMP的ECHO类型。 因为在“icmp.c”中的“void icmp_input(struct pbuf *p, struct netif *inp)”函数里有个很长的switch case语句&#xff08;大约80行的位置&#xff09;。 而这个语句只…

[react] 在React怎么使用Context?

[react] 在React怎么使用Context&#xff1f; context : Context提供了一种方式&#xff0c;能够让数据在组件树中传递&#xff0c;而不必一级一级手动传递。 API : createContext(defaultValue?)。 使用方法&#xff1a; 首先要引入createContext import React, { Component…

H.264详解

From: http://netliuwei.blog.163.com/blog/static/93642191201111721931583/ H.264 H.264&#xff0c;同时也是MPEG-4第十部分&#xff0c;是由ITU-T视频编码专家组&#xff08;VCEG&#xff09;和ISO/IEC动态图像专家组&#xff08;MPEG&#xff09;联合组成的联合视频组&…

使用UDP

基本UDP客户端 #!/usr/bin/env python # UDP Example - Chapter 2 import socket, sys, time host sys.argv[1] textport sys.argv[2] s socket.socket(socket.AF_INET, socket.SOCK_DGRAM) try: port int(textport) except ValueError: # That didnt work. Look it up in…

QT中的MessageBox设置自动关闭退出

一、概述 由于弹出的MessageBox需要手动操作&#xff0c;点击相关操作程序才会进一步执行&#xff0c;所以有时程序使用了MessageBox会阻塞相关功能代码执行。例如&#xff0c;在串口编程中&#xff0c;接收到数据或某项配置成功后弹出一个MessageBox&#xff0c;由于没有及时…