移植OpenWrt到CuHead Pro WiFi

Posted by: zou,
baozhu
 , 三月 13, 2014

CuHead Pro是一款路由器开发板,下面是开发板的配置信息。

名称 型号 厂家 参数
CPU RT5350F Ralink 360MHz(MIPS arch)
SDRAM W9825g6jh-6 Winbond 32M
FLASH MX25L6405D MXIC 8M

RT5350核心板几乎所有引脚都已经引出到arduino引脚,包括1个USB,1个WLAN,1个I2S, 1个I2C,1个SPI,以及GPIO口。

客户使用此开发板已经被设计多种产品,路由器,移动数据储存,3g热点,有线转无线,串口数据传输,voip,wifi音响等。

OpenWrt 可以被描述为一个嵌入式的 Linux 发行版,(主流路由器固件有 dd-wrt,tomato,openwrt三类)而不是试图建立一个单一的,静态的系统。OpenWrt的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序。不要看Cuhead Pro这个板子配置低,跑这样一个OpenWrt系统性能还是非常不错的,下面是OpenWrt的移植过程。

说明:

作者:zuobaozhu@gmail.com

OpenWrt编译平台:ubuntu 64位

命令提示符 $ 表示在pcDuino上面运行的指令;

命令提示符 # 表示在x86_64的linux主机上运行的指令

命令提示符 > 表示在u-boot状态下运行的指令

安装编译OpenWrt系统所需要的软件包

#sudo apt-get install subversion

#sudo apt-get install git-core

#sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils  subversi-dev ncurses-term zlib1g-dev

下载OpenWrt

新建一个OpenWrt的文件夹,使用svn下载。

?

1
2
3
#mkdir openwrt
#cd openwrt

由于trunk不断的在更新,你的版本可能跟我的不一样,但是一定是最新的。

更新软件包

更新openwrt

1
2
#cd trunk
# ./scripts/feeds update –a

安装所有软件包

?

1
# ./scripts/feeds install –a

配置编译系统

下载好了之后需要配置系统支持,我们的板子。

?

1
#make menuconfig

会出现下面这个界面

我们的开发板跟HAME的HAME-MPR-A2硬件配置是一样的。

1、选择 CPU 型号

Target System    —>    Ralink RT288x/RT3xxx

2、选择 CPU 子型号

Subtarget    —>      RT3x5x/RT5350 based boards

3、选择具体路由器型号

Target File —>HAME-MPR-A2

大家都知道路由器有一个WEB界面,通过这个界面可以设置路由器。OpenWrt使用的WEB叫LUCI,这里我们可以选择需要的添加的Web界面的语言,App。

1,  让系统默认自带Luci

LuCI  —>

  1. Collections  —>

<*> luci

2,  选择Luci默认自带的App

LuCI  —>

  1. Applications  —>

<*> luci-app-ddns……………………… Dynamic DNS configuration module

<*> luci-app-hd-idle……………………. Hard Disk Idle Spin-Down module

<*> luci-app-multiwan………… LuCI Support for the OpenWrt MultiWAN agent

3,  让系统默认自带OpenWrt主题

LuCI  —>

4. Themes  —>

<*> luci-theme-openwrt……………………………………. OpenWrt.org

4,  让系统默认自带你所属国家的语言,这里我选择中文。

LuCI  —>

5. Translations  —>

<*> luci-i18n-chinese………………….. Chinese (by Chinese Translators)

由于OpenWrt默认是没有开启Wifi的,你需要修改一下。

修改/trunk/package/mac80211/files/lib/wifi /mac80211.sh

# REMOVE THIS LINE TO ENABLE WIFI:

#option disabled 1  –修改成这样

现在可以编译整个系统了,执行下面命令,第一次编译时间很长,编译过程中需要下载很多软件,根据网速而定,这里测试6M的网络编译大概4个小时。参数V=s的意思是编译的过程中打印全部信息,如果因为网速慢,编译过程中可能会出错,你重新执行make命令就可以了。

?

1
#make V=s

编译完成之后,生成的文件在bin/ ramips目录下面:

openwrt-ramips-rt305x-mpr-a1-squashfs-sysupgrade.bin就是我们需要的文件。把这个文件拷贝出来,下面就开始把这个文件烧写到板子上面。

需要将之前的串口透传的两个跳线帽拔掉,连接串口调试的TX和RX。设置PC端的串口调试波特率为57600。

板子上的u-boot提供tftp的烧录方式,这里需要用到一个Tftpd32的软件来辅助下载,打开这个软件。点击下面的下拉按键,可以看到本机的网卡和IP,这里选择是本机的无线网卡,IP为192.168.1.100。刚编译成功的openwrt-ramips-rt305x-mpr-a1-squashfs-sysupgrade.bin放在电脑的E盘,这里直接选择就行。

下面打开串口调试Xshell。给板子上电,在上电的时候要迅速按下电脑的‘2’键。这时候出现下面这个界面。

这时候输入Y,开始设置参数,利用TFTP服务器下载。

可以看到填入的设备信息为开发板的IP,这个IP可以设置在不和局域网其他设备冲突的情况下任何一个IP,设置的IP需要和服务器在同一网段,回车之后开始TFTP下载。

有时候会有“checksun bad”这样的信息,这个时候如果内核依然不能启动,就重新烧写一次吧。烧写之后系统会自动重启,这时候你电脑就会搜索一个无线热点为OpenWrt。没有密码,点击就可以进行连接。

连接OpenWrt这个wifi热点之后,打开浏览器输入192.168.1.1这个地址。

这里提示密码没有设置,你可以点击login直接登录。

同样你电脑现在也可以上百度,其他的网站。

移植OpenWrt到CuHead Pro WiFi的更多相关文章

  1. openwrt默认不开启wifi

    Openwrt默认不开启wifi,要开启的话, 修改这个文件: openwrt/trunk/package/kernel/mac80211/files/lib/wifi/mac80211.sh. 滚到 ...

  2. arm-linux移植MT7601Uusb无线网卡(小度wifi,360随身WIFI 2代)

    前段时间移植过RT3070.RT5370 http://blog.csdn.net/ofaith12345/article/details/24138399 发现各种arm移植都大同小异,所以就不要纠 ...

  3. 如何移植openwrt系统

    Cisco/Linksys在2003年发布了WRT54G这款无线路由器,同年有人发现它的IOS是基于Linux的,然而Linux是基于GPL许可证发布的,按照该许可证Cisco应该把WRT54G的IO ...

  4. 【wifi移植 3】开发板wifi自动获取IP

    内核版本:3.4.61 1. 配置内核,支持DHCP ~/kernel$ make menuconfig [*] Networking support  ---> Networking opti ...

  5. openwrt 上的 upnp wifi 音频推送 gmediarender

    首先是必须启用的模块 Libraries ---> <*> libupnp Sound ---> <*> alsa-utils<*> madplay-a ...

  6. [资料分享]迅为iTOP4412开发板-SDIO WiFi移植文档

    本文转自迅为:http://www.topeetboard.com 概述 近期需要把WiFi无线网络功能移植到iTOP-4412 开发平台,查阅了相关资料,经过一段时间的研究.调试,终于成功的将WiF ...

  7. Android KitKat 4.4 Wifi移植AP模式和网络共享的调试日志

    Tethering技术在移动平台上已经运用的越来越广泛了.它能够把移动设备当做一个接入点,其它的设备能够通过Wi-Fi.USB或是Bluetooth等方式连接到此移动设备.在Android中能够将Wi ...

  8. openwrt路由器进入安全模式

    openwrt路由器型号:WNDR3800 一.实验背景 在pc机上通过xshell软件登录openwrt路由器,pc机通过网线与openwrt路由器的LAN接口相连.openwrt路由器自带两块无线 ...

  9. CentOS7用hostapd做radius服务器为WiFi提供802.1X企业认证

    CentOS7用hostapd做radius服务器为WiFi提供802.1X企业认证 来源: https://www.cnblogs.com/osnosn/p/10593297.html 来自osno ...

随机推荐

  1. MFC--自定义CMFCTabCtrl的实现

    在MFC实现桌面程序时,可能会用到TabView效果,我实现的是最基本的效果,如下图: 下面介绍详细的实现过程,如果需要效果更好看些,自行美化. 1.  创建自定义MFCTabCtrl类MyMFCTa ...

  2. vue开发者工具DejaVue

    刚刚在逛github的时候发现了一个vue开发工具觉得很不错,分享给v友们! 地址:https://github.com/MiCottOn/DejaVue 话不多说,直接说操作流程!(前提是node版 ...

  3. grunt,gulp,webpack前端打包工具的特性

    1.http://www.cnblogs.com/lovesong/p/6413546.html (gulp与webpack的区别) 2.http://blog.csdn.net/qq_3231263 ...

  4. Neutron的防火墙原理

    确切的说这是fwaas,即防火墙即是服务. 防火墙与安全组区别防火墙一般放在网关上,用来隔离子网之间的访问.因此,防火墙即服务也是在网络节点上(具体说来是在路由器命名空间中)来实现. 安全组的对象是虚 ...

  5. 模拟form提交数据

    最近在做一个项目,发现ajax不能enctype=”multipart/form-data” 属性的表单,没办法,只能使用form表单直接提交的方法了,但是form表单直接提交会跳转页面,这样很不友好 ...

  6. TF随笔-4

    >>> import tensorflow as tf>>> a=tf.constant([[1,2],[3,4]])>>> b=tf.const ...

  7. poj3107(dfs,树形dp)

    和poj1655的方法完全一样,但是这道题的n的范围大了,用vector存图会TLE(poj没有O2编译优化),所以改用前向星来存图就可以了.. 有关树的重心,看这里:poj1655 这里解释一下前向 ...

  8. 迭代器模式在 Java 容器中的实现

    迭代器接口是迭代器模式实现的精髓: public interface Iterator<E> { boolean hasNext(); E next(); ... } 假设某容器名为 Xx ...

  9. 大白话讲解如何给github上项目贡献代码

    本文献给对git很迷茫的新手,注意是新手,但至少会点基本操作,有点基本概念的新手,我不会从怎么用github和git是什么开始讲的.如果作为新手你看书又看不进去,原理又太复杂,又没有直接了当告诉我们怎 ...

  10. 该文档举例说明了multimap的查找和删除元素的使用

    该文档举例说明了multimap的查找和删除元素的使用. 其中,在使用迭代器遍历元素的时候,如果使用了删除迭代器的操作,那么需要小心迭代器失效的情况. /* 功能说明: multimap的查找和删除元 ...