Port RP-pppoe to mini2440 to enable ADSL dial-up access

Source: Internet
Author: User

Recently, I tried 2.6.29 and qtopia2.2 on my mini2440 Development Board. Really good. Unfortunately, U-boot is not provided. However, I
The transplanted U-boot can boot a friendly new kernel. The Konqueror browser is integrated in qtopia2.2 to enable mini2440 Internet browsing.
But qtopia2.2 does not seem to provide the ADSL dial-up function, so I decided to port it myself to implement ADSL dial-up Internet access.
My ADSL cat is a cat with a wireless route provided by China Telecom. It is from China Telecom.
.
Ra-pppoe and PPP are required for porting. I use a combination of rp-pppoe3.8 and ppp-2.4.4.
Download the ra-pppoe3.8, unzip the source code. Go to the source code directory. Then go to the src directory.
Then, perform cross-compilation. Based on experience, use the./confiugre -- Host = arm-Linux Command for configuration, but it cannot pass. After confiuge is executed, report
Checking for Linux 2.4.x kernel-mode pppoe support... cross-compiling, default:
No
Checking packing order of bit fields... no defaults for cross-Compiling
And then quit the confiugre program.
The Configure program is actually a sh script, which is opened in the editor. After careful check, the script does not provide support for cross_compiling at all. When it is detected that you want to perform
After the cross-compilation, the system automatically exits. Solution 1: add relevant code to the script, and use./configure to generate non-Cross-compiled makefile.
Manually modify the GCC to arm-Linux-GCC. I am not familiar with SH script writing, so I decided to adopt the second method.
After you execute./configure, the program reports two makefile files, one under SRC and the other under libevent. Replace
GCC is my arm-Linux-GCC. I am using ARM GCC 4.3.2 Eabi provided by friendly companies. Compilation successful.
After compilation, pppoe, pppoe-server, pppoe-sniff, and pppoe-relay are generated in the src directory. Download these programs to the/usr/sbin directory of the target machine.
Copy the configuration file
The rp-pppoe-3.8/configs directory is the configuration file required for RP-pppoe, copy all these files to the/etc/PPP directory of the target machine.
There are 6 dial-related scripts in rp-pppoe-3.8/scripts.
Pppoe-setup: the configuration program stores the entered account and password in the configuration file.
Pppoe-start: a dialup program that connects to the network.
Pppoe-stop: disconnected.
Pppoe-status: view the connection status.
Pppoe-Connect: connects to the network and is called by pppoe-start.
Pppoe-init: initialization, called by other programs.
Put these scripts in the/usr/sbin directory.
Ra-pppoe requires PPP. What I download is ppp-2.4.4.tar.
Decompress the package. Go to the source code directory.
Execute configure.
After completion. Execute make. Cross-compilation is required here. Therefore, here I specify cc as arm GCC, and the entire command is
Make cc = arm-Linux-gcc
After compilation, go to the pppd directory and copy the generated pppd executable file to/usr/sbin of the mini2440 file system.
Run pppd. If the following prompt appears:
Pppd: pppd is unable to open the/dev/PPP device.
You need to create the/dev/PPP device node
Executing the following command as root:
Mknod/dev/ppp c 108 0
Then run the command mknod/dev/ppp c 108 0 as prompted, and run pppd again. If garbled characters appear, the installation of pppd is successful.
The following information appears after I follow the above method.
./Pppd: This system lacks Kernel support for PPP. This cocould be because
The PPP kernel module cocould not be loaded, or because PPP was not
Encoded in the Kernel configuration. If PPP was encoded as
Module, try '/sbin/modprobe-v ppp'. If that fails, check that
PPP. O exists in/lib/modules/'uname-R'/net.
See readme. Linux file in the PPP distribution for more details.
This is because the friendly new kernel linux2.6.29 does not support PPP during configuration compilation. Reconfigure and compile the kernel
In-> Device Drivers-> network device support-> PPP (Point-to-Point Protocol), select all PPP options.
Exit, save the configuration, and re-Execute make uimage.
Download the uimage to the Development Board and restart the system. Run pppd again. Wait for a while and garbled characters will prompt that pppd is working properly.
Run pppoe-setup and set the parameters as prompted. Make sure that the directory where the RP pppoe configuration file is located is writable:/etc/PPP. Otherwise, the parameter cannot be saved.
My pppoe configuration is
Ethernet interface: eth0
User name: njkd *********
Activate-on-demand: No
DNS addresses: supplied by ISP's server
Firewalling: None
After pppoe-start is executed. Connected is displayed! The prompt indicates that ADSL has been dial-up successfully.
However, if the problem persists, you cannot ping the internet. Only the IP addresses of local IP addresses and pppoe servers can be pinged. The IP address of the pppoe server is provided by the network service network. Available
Ifconfig ppp0 is displayed. The information on my machine is as follows:
Ppp0 link encap: Point-to-Point Protocol
Inet ADDR: 222.94.249.222 p-t-P: 221.231.205.94 mask: 255.255.255.255
Up pointopoint running noarp multicast MTU: 1492 Metric: 1
RX packets: 218 errors: 0 dropped: 0 overruns: 0 frame: 0
TX packets: 242 errors: 0 dropped: 0 overruns: 0 carrier: 0
Collisions: 0 txqueuelen: 3
RX Bytes: 187984 (183.5 kib) TX Bytes: 20730 (20.2 kib)
Here we can see that the Development Board obtains the Internet address 222.94.249.222. The pppoe server address is 221.231.205.94.
If you can ping the pppoe server, the connection works properly. Use the route command to view the Linux route table. The information is as follows:
Estination gateway genmask flags metric ref use iface
Default * 0.0.0.0 ug 0 0 0 ppp0
192.168.1.0*255.255.255.0 u 0 0 0 eth0
221.231.205.94*255.255.255.255 uh 0 0 0 ppp0
The gateway of the default route is not set, so try to delete the route
Route del default
Add route add default GW 221.231.205.94
View the route table and run route.
The route table is as follows. The default gateway is the IP address of the pppoe server.
Estination gateway genmask flags metric ref use iface
Default 221.231.205.94 0.0.0.0 ug 0 0 0 ppp0
192.168.1.0*255.255.255.0 u 0 0 0 eth0
221.231.205.94*255.255.255.255 uh 0 0 0 ppp0
Ping again
Www.google.cn
. Finally, Ping is successful. Open the browser in qtopia2.2, which is released in a friendly manner, and you can access the Internet. However, Chinese characters cannot be displayed normally.
So far, the transplantation of rp-pppoe3.8 is completed.
In addition, I tried again to see if I could connect to the Wi-Fi network. The results show that the wireless network card can be connected and the Internet can also be accessed when it is normally connected to the ADSL cat.
However, you need to use pppoe-setup again to configure the parameters.
For more information, see the following blog on How to port a Wi-Fi wireless network card.
Http://blog.chinaunix.net/u2/75270/showart.php? Id = 1870742
The following describes how to port a wireless network card in linux2.6.27.
I have tested that it is fully available on linux2.6.29.

Welcome to communicate with me: QQ: 945685172

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.