原文地址:http://www.cnblogs.com/NickQ/p/8973880.html

使开发板上网

  • USB驱动部分

在arch/arm/mach-s3c2440/mach-smdk2440.c中,修改Usb时钟。

#include <mach/regs-clock.h> /* Add 2018/04/25-14:54:18  By Nick, for usb_s3c2440_init() */
#include <plat/udc.h> /* Add 2018/04/25-14:54:26 By Nick to support USB device gadget, 2017.5.4 */
#include <linux/delay.h> /* USB device UDC support add by 2018/04/25-14:54:57 By Nick */
static struct s3c2410_udc_mach_info smdk2440_udc_cfg __initdata = {
.pullup_pin = S3C2410_GPG(9),
}; /* Add by 2018/04/25-14:55:19 By Nick, fix device descriptor read/64, error -62 bug, value refer to datasheet P255 */
int usb_s3c2440_init(void)
{
/* Input Frequency is 12.0000MHz, and MDEV=0x38 PDIV=2 SDIV=2, so output frequency 48.00MHz */
unsigned long upllvalue = (0x38<<12)|(0x02<<4)|(0x02);
while (upllvalue != __raw_readl(S3C2410_UPLLCON))
{
__raw_writel(upllvalue, S3C2410_UPLLCON);
mdelay(1);
}
return 0;
}

调用初始化函数

//在smdk2440_map_io函数中调用usb_s3c2440_init(),修改USB时钟
static void __init smdk2440_map_io(void)
{
s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));
s3c24xx_init_clocks(12000000);
s3c24xx_init_uarts(smdk2440_uartcfgs, ARRAY_SIZE(smdk2440_uartcfgs));
usb_s3c2440_init();
}
  • 配置内核,使能USB和无线网卡(RT3070)驱动

[*] Networking support  --->
-*- Wireless --->
<*> cfg80211 - wireless configuration API
[ ] nl80211 testmode command
[ ] enable developer warnings
[ ] cfg80211 regulatory debugging
[*] enable powersave by default
[ ] cfg80211 DebugFS entries
[*] cfg80211 wireless extensions compatibility
[*] Wireless extensions sysfs files
{*} Common routines for IEEE802.11 drivers
[ ] lib80211 debugging messages
<*> Generic IEEE 802.11 Networking Stack (mac80211)
Default rate control algorithm (Minstrel) --->
[ ] Enable mac80211 mesh networking (pre-802.11s) support
[ ] Export mac80211 internals in DebugFS
[ ] Select mac80211 debugging features --->
Device Drivers --->
Generic Driver Options --->
(/sbin/hotplug) path to uevent helper
[ ] Maintain a devtmpfs filesystem to mount at /dev
[ ] Select only drivers that don't need compile-time external firmware
[ ] Prevent firmware from being built
-*- Userspace firmware loading support
[*] Include in-kernel firmware blobs in kernel binary
() External firmware blobs to build into the kernel binary
[ ] Driver Core verbose debug messages
[ ] Managed device resources verbose debug messages
[*] Network device support --->
[*] Wireless LAN --->
<*> Ralink driver support --->
< > Ralink rt2500 (USB) support
< > Ralink rt2501/rt73 (USB) support
<*> Ralink rt27xx/rt28xx/rt30xx (USB) support
[ ] rt2800usb - Include support for rt33xx devices
[ ] rt2800usb - Include support for rt35xx devices (EXPERIMENTAL)
[ ] rt2800usb - Include support for rt53xx devices (EXPERIMENTAL)
[ ] rt2800usb - Include support for unknown (USB) devices
[*] Ralink debug output
  • Wireless tools移植

tar zxvf wireless_tools.29.tar.gz
cd wireless_tools.29

修改Makefile

## Compiler to use (modify this for cross compile).
CC = /opt/xtools/arm920t/bin/arm-linux-gcc
## Other tools you need to modify for cross compile (static lib only).
AR = /opt/xtools/arm920t/bin/arm-linux-ar
RANLIB = /opt/xtools/arm920t/bin/arm-linux-ranlib

使用make编译.

将生成的命令工具:ifrename、iwevent、wgetid、iwspy、iwlist、iwconfig、iwpriv,libiw.so.29拷贝到开发板的/bin下,并分别赋予权限chmod 777 iw* libiw.so.29.

  • 制作openssl库

tar zxvf openssl-1.0.0s.tar.gz
mkdir install

修改Makefile

  1. 修改路径
INSTALL_PREFIX=
INSTALLTOP=/home/nick/s3c2440/3rdparty/openssl-1.0.0s/install
OPENSSLDIR=/home/nick/s3c2440/3rdparty/openssl-1.0.0s/install
  1. 修改编译选项
CC= /opt/xtools/arm920t/bin/arm-linux-cc
CFLAG= -O
DEPFLAG= -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_STORE
PEX_LIBS=
EX_LIBS=
EXE_EXT=
ARFLAGS=
AR= /opt/xtools/arm920t/bin/arm-linux-ar $(ARFLAGS) r
RANLIB= /opt/xtools/arm920t/bin/arm-linux-ranlib
  1. 使用sudo make && sudo make install 编译安装

    拷贝libcrypto.a; libssl.a到开发板的/lib下

    在下一步wpa_supplicant中需要使用这个库,因此install将会被引用。
  • wpa_supplicant移植

tar zxvf wpa_supplicant-0.7.3.tar.gz
cd ./wpa_supplicant-0.7.3/wpa_supplicant/
cp defconfig .config

修改.config

CC=/opt/xtools/arm920t/bin/arm-linux-gcc -L /home/nick/s3c2440/3rdparty/openssl-1.0.0s/install/lib
#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
#CFLAGS += -Os
CFLAGS += -I/home/nick/s3c2440/3rdparty/openssl-1.0.0s/install/include
#CPPFLAGS += -I../src/include -I../../src/router/openssl/include
#LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl
LIBS += -L /home/nick/s3c2440/3rdparty/openssl-1.0.0s/install/lib

使用make编译

将wpa_cli,wpa_supplicant,wpa_passphrase拷贝到开发板的/bin目录下。并给予权限 chmod 777:wpa_cli,wpa_supplicant,wpa_passphrase

  • 开发板配置以及操作

在/etc目录下创建wpa_supplicant.conf配置文件

cd /etc
wpa_passphrase ssid psk >> wpa_supplicant.conf

ssid 是WIFI的用户名

psk 是WIFI的密码

例如:wpa_passphrase 16402_1 1640216402 >> wpa_supplicant.conf

cat ./wpa_supplicant.conf
network={
ssid="16402_1"
#psk="1640216402"
psk=136a6b18bd0d21eb12d6bc591fa652d628cbb438e8f29fcfeb8d763c0bf15ec2
}
[nick@NickQ_fl2440 ~]#

修改wpa_supplicant.conf,加入加密方式等配置

cat wpa_supplicant.conf
network={
ssid="16402_1"
key_mgmt=WPA-PSK
proto=WPA2
pairwise=TKIP CCMP
group=TKIP CCMP
psk="1640216402"
}

key_mgmt=WPA-PSK 表示 采用WPA-PSK共享密钥的认证方式

proto=WPA2 表示 WPA2加密方式

pairwise = TKIP CCMP 和 group =TKIP CCMP 表示 自动匹配加密算法CCMP或TKIP;

启动RT3070并配置RT3070无线网卡参数

wpa_supplicant -B -d -Dwext -iwlan0 -c/etc/wpa_supplicant.conf

其中:

-d :增加调试信息

-B:后台守护进程

-c:指定配置文件

-Dwext:wext为驱动名称

-iwlan0 :wlan0为网络接口名称

iwconfig 查看连接状态,已连接

[nick@NickQ_fl2440 ~]# iwconfig
lo no wireless extensions. eth0 no wireless extensions. wlan0 IEEE 802.11bgn ESSID:"16402_1"
Mode:Managed Frequency:2.437 GHz Access Point: 14:75:90:7C:18:AC
Bit Rate=6.5 Mb/s Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Link Quality=51/70 Signal level=-59 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:1 Missed beacon:0

ifconfig 查看网络状态,发现无IP地址

[nick@NickQ_fl2440 ~]# ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 00:A1:B0:40:6F:1E
inet6 addr: fe80::2a1:b0ff:fe40:6f1e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:600 (600.0 B) TX bytes:876 (876.0 B)

配置网络IP,子网掩码,网关

配置网络IP,子网掩码:ifconfig wlan0 192.168.168.100 netmask 255.255.255.0
配置默认网关:route add default gw 192.168.168.1
配置DNS: echo "nameserver 8.8.8.8" > /etc/resolv.conf

Ping测试

[nick@NickQ_fl2440 ~]# ping baidu.com
PING baidu.com (220.181.57.216): 56 data bytes
64 bytes from 220.181.57.216: seq=0 ttl=55 time=25.000 ms
64 bytes from 220.181.57.216: seq=1 ttl=55 time=65.000 ms
64 bytes from 220.181.57.216: seq=2 ttl=55 time=65.000 ms
  • 开机自启动

cd /etc/init.d/
vim S20_conf_wifi
#!/bin/sh
ifconfig wlan0 up
wpa_supplicant -B -d -Dwext -iwlan0 -c/etc/wpa_supplicant.conf
ifconfig wlan0 192.168.168.100 netmask 255.255.255.0
route add default gw 192.168.168.1

使用RT3070使开发板上网的更多相关文章

  1. 开发板支持wifi

    参考网址: http://wangye.org/blog/archives/845/ http://blog.csdn.net/lme525/article/details/37762519  htt ...

  2. 第五章 搭建S3C6410开发板的测试环境

    在PC上可以开发Linux驱动,重新编译成ARM架构的Linux驱动模块,但最后还是要在开发板上进行测试.目前最流行的是基于三星S3C6410 ARM11架构的开发板,很多厂商在其基础上进行了扩展,开 ...

  3. 第5章 搭建S3C6410开发板的测试环境

    1.使用Eboot擦除NandFlash的方法如下: 第一步:准备工作 用串口线或USB转串口线连接开发板和PC,并启动minicom 第二步:进入Eboot状态 打开OK6410开发板的电源开关,过 ...

  4. 第五章 搭建S3C6410开发板测试环境

    开发板是开发和学习嵌入式技术的主要设备.在这章中介绍了S3C6410开发板,它是三星公司推出的一款低功耗.高性价比的RISC处理器.安装串口调试工具:minicom.它的安装步骤:第1步:检测当前系统 ...

  5. [嵌入式开发板]iTOP-4412开发板linux 系统存储空间的修改

    平台:iTOP-4412开发板 这里我们以修改成 1G 存储空间为例来讲解修改方法, 如果需要改 成其他大小的存储空间,参照此方法修改即可. 首先连接好 iTOP-4412 开发板的调试串口到 pc  ...

  6. [转帖]迅为4412开发板最小linux系统的存储空间修改

    本文转自迅为论坛:http://www.topeetboard.com 最小linux系统的存储空间修改以修改成 1G 存储空间为例来修改,如果需要改成其他大小的存储空间,参照此方法修改即可. 首先连 ...

  7. 下载uboot的调试版本到开发板的sdram中运行

    开发环境:开发板:FriendlyARM Tiny6410 主机:CentOS release 6.4 (Final) 开发板与主机通过串口线连接 调试用的uboot源码为开发板光盘提供的u-boot ...

  8. Android系统移植与驱动开发——第五章--搭建开发板的测试环境

    开发板上安装嵌入式系统要比手机上简洁很多,有很多扩展的接口,适合对程序进行测试,这里所提及的是S3C6410开发板.它是由三星公司推出的一款低功耗/高性价比的RISC处理器.,其中包含强大的硬件加速器 ...

  9. 开发快平台(M302I小e开发板系列教程)

    开发快平台(M302I小e开发板系列教程) 开发块平台ESP8266模块相关理解 一. M302I小e开发板源码注释,源码基于:v1.4.0.8-u34.zip 1. user_main.c /*** ...

随机推荐

  1. SSRF学习

    前言 SSRF(Server-Side Request Forgery ,服务器端请求伪造) 是一种由攻击者构造形成由服务器发起请求的一个安全漏洞 SSRF的主要攻击目标为外网无法访问的内部系统. 本 ...

  2. sql 字符串函数、数学函数

    -- 字符函数:-- 查询结果姓名小写 select lower(ename), sal, job from emp;-- 查询结果姓名大写 select upper(ename), sal, job ...

  3. ReactJS表单handleChange

    handleInputChange = (event) => { const target = event.target; const type = target.type; const val ...

  4. winform listbox 使用DrawMode使用OwnerDrawVarialbe或OwnerDrawFixed无水平滚动条

    因为需要使用DrawMode自行DrawItem,所以需要将DrawMode设置为OwnerDrawVarialbe或OwnerDrawFixed模式,代码如下: private void listB ...

  5. 退出全屏监听ESC事件

    fullscreenchange事件 fullscreenchange:当窗口大小改变时触发 isFullscreen:全局变量 window.addEventListener("fulls ...

  6. win10 虚拟机 hyper-v 安装 centos 7

    一.win 10 企业版 自带虚拟机 hyper-v 1.控制面板-->程序和功能-->启用或关闭Windows功能 勾上 hyper-v 确定就ok了 2.安装成功后会发现在 左下角“开 ...

  7. 安全预警-防范新型勒索软件“BlackRouter”

    近期,出现一种新型勒索软件“BlackRouter”,开发者将其与正常软件恶意捆绑在一起,借助正常软件的下载和安装实现病毒传播,并以此躲避安全软件的查杀.目前,已知的被利用软件有AnyDesk工具(一 ...

  8. 2018 徐州赛区网赛 G. Trace

    题目链接在这里 题意是:按时间先后有许多左下角固定为(0,0),右上角为(xi,yi)的矩形浪潮,每次浪潮会留下痕迹,但是后来的浪潮又会冲刷掉自己区域的老痕,留下新痕迹,问最后留下的痕迹长度为多少? ...

  9. UE4的csv文件导入、URL地址的读取及动态材质的设置

    1.csv文件的导入 UE4是可以直接导入csv文件的,其过程和其他文件资源(图片Texture,静态网格物体StaticMesh等)相似,但在导入过程中有一些需要注意的点. 如下图所示 这是一份编辑 ...

  10. 为什么说Java中只有值传递----说服自己

    在开始深入讲解之前,有必要纠正一下大家以前的那些错误看法了.如果你有以下想法,那么你有必要好好阅读本文. 错误理解一:值传递和引用传递,区分的条件是传递的内容,如果是个值,就是值传递.如果是个引用,就 ...