找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
楼主: ad***

我设计的超级网络串口,附原理讲解(绝对原创)

[复制链接]
 楼主| | 显示全部楼层
好帖,软件才是亮点

但年为了WZR2-G108的JTAG,拆了一个APPLE鼠标,USB直接接到JTAG,比LZ这个完美多了,不需要焊接,直接插上去,那根线非常合适,前面卡扣正好从贴壳穿出,自动固定,只要外壳开个洞出来就可以了 ...
sonicxz 发表于 2010-9-26 17:47

这位兄弟说的是,串口连接部分本来可以做到更好一点的,但是因为我已经把串口线和机构固定,所以现在的这种焊接不影响耐用性。
另外频率部分,板子自带的固件确实只跑到了350MHz。因为有了Uboot源码,想让CPU和内存跑到额定的400MHz是很容易的。对于我来说,350MHz的发热量会比400MHz低一些,而且性能足够用,所以暂时我没有改到400MHz。
让CPU跑到400MHz的方法:
在Uboot源码里面,把文件ap91.h里面的
#define CFG_PLL_FREQ    CFG_PLL_350_350_175
改成
#define CFG_PLL_FREQ    CFG_PLL_400_400_200
编译uboot,然后更新uboot即可。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
5# adoot


LZ,你这个路由,无线模块本来就没铁内裤的,还是被你拆了
sonicxz 发表于 2010-9-26 17:50

本来就没有的。741ND有吗? 我没见过741ND的板子,不太清楚。我知道841ND是有的,我上次买了一个841ND做家用。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
本帖最后由 adoot 于 2010-9-30 09:10 编辑

继续, Linux的串口输出关闭以后,这个时候ttyS0已经不被占用,可以安装终端软件了。OpenWRT提供minicom软件包,我以前在Ubuntu下面都是使用Kermit作为终端软件,现在试了一下minicom后,发现minicom设计的相当不错,功能强大而且易用。
安装好minicom后,就可以通过有线Telnet到路由器上,使用命令“minicom -s"设置好后,就可以连接串口到其它设备上,在telnet里面和其它设备进行通讯了。到这一步,网络串口已经可以工作,但是距离整个工程来说,还只是走了三分之一的路。
我希望在Telnet路由器的时候就可以直接连接上串口,不需要手动启动minicom,退出minicom的时候也直接从telnet上退出。那么需要把文件/bin/login.sh修改成:
count_ses=$(ps | grep minicom | grep -v grep | wc -l)
if [ $count_ses -gt 0 ]
then
echo "sorry, you have yet 1 session"
sleep 2
exit
fi


#bring up minicom in color mode
minicom -c on
#exit this telnet session when user close minicom
exit
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

都是高手啊 看的我心里痒痒的 就是不会编译这些
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
本帖最后由 adoot 于 2010-9-28 17:44 编辑

看来没什么人对这个感兴趣啊,不过没关系,还是继续。
OpenWRT默认情况下是提供Telnet服务的,但如果你设置了密码,那么它会把Telnet关掉,然后启动SSH服务。在我们这个设计里,是希望Telnet它的时候启动minicom,然后SSH还可以正常工作,那么有些设置需要改动的话,还是可以SSH进去操作。
我们需要做的有两件事情,第一个修改root密码,这个容易。第二步修改telnet启动脚本,让它在root有密码的时候还是正常启动。这一步其实也很容易,把脚本里面判断是否有密码的这段屏蔽掉就好了。
脚本文件位置:/etc/init.d/telnet,修改成:
#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
START=50

start() {
#       if      [ \! -f /etc/passwd ] || \
#               awk -F: '/^root:/ && ($2 != "") && ($2 !~ /\!/) {exit 1}' /etc/passwd 2>/dev/null || \
#               ( [ \! -x /usr/sbin/dropbear ] && [ \! -x /usr/sbin/sshd ] )
#       then \
                telnetd -l /bin/login.sh
#       fi
}

stop() {
        killall telnetd
}


把上面这些修改也完成后,那么这个网络串口就既可以通过Telnet方式让串口工作,又可以通过SSH方式进行系统管理了。看看使用这个网络串口查看其它设备串口输出画面:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
本帖最后由 adoot 于 2010-9-28 18:18 编辑

但是如果要想打开无线、修改IP地址等等,没有web管理页面还是不方便,所以下一步是加入web管理功能。
OpenWRT的web主要有两个选择,一个是luci,另外一个是X-WRT。我个人感觉luci更加稳定一些,X-WRT功能更多一些。整体来说这两个web界面都不如DDWRT的那个好看和易用。在这个网络串口里面,暂时就选luci,好用够用就行了。安装luci的时候,这个里蹦出来一个问题,那就是Flash空间不够了。MW150的Flash是4MB,我们来看看OpenWRT里面是怎么给它分配空间的:
     
        {
                .name           = "u-boot",
                .offset         = 0,
                .size           = 0x020000,
                .mask_flags     = MTD_WRITEABLE,
        } , {
                .name           = "kernel",
                .offset         = 0x020000,
                .size           = 0x140000,
        } , {
                .name           = "rootfs",
                .offset         = 0x160000,
                .size           = 0x290000,
        } , {
                .name           = "art",
                .offset         = 0x3f0000,
                .size           = 0x010000,
                .mask_flags     = MTD_WRITEABLE,



其中,uboot 128K(0x20000),kernel 1280K(0x140000), rootfs 2624K(0x290000), art 64K(0x10000). 这里面能节省的地方也只有kernel了,在我的印象里OpenWRT里面Kernel的LZMA压缩格式大概只有800K到900K,如果我们这里也能这么小的话,那就可以节省出来大约400K给rootfs,这还是很可观的。
通过查看生成image的Makefile文件,发现OpenWRT在给741ND生成固件的时候,用的是gzip格式来压缩kernel,而不是LZMA格式,gzip压缩率比LZMA小不少,那么gzip格式的kernel自然大不少。实际gzip格式的kernel大约有1200多K。 为什么OpenWRT舍小求大呢,我猜可能是为了跟TP_link的压缩格式保持一致,免得uboot不认识。事实上确实是这样,TP-LINK吧uboot改动不小,把LZMA格式支持给拿掉了。我们需要做的就是,在uboot里面加入LZMA支持,在Kernel里面重新给整个firmware分配空间,然后修改OpenWRT的image生成文件,使用LZMA格式压缩来代替gzip,那么400多K就可以省出来了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

flash太小还是不大爽,要是能像rg100a-aa有16M的flash那就太爽了。
现在对rg100a-aa唯一的不满就是54M无线太慢了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
22# tjpm


16M有还是太小了,不如在USB口插一个8G(更大当然也可以)的优盘,然后把系统从Flash复制一份进去。在系统从Flash启动后,切换到优盘里面的系统,这样就可以随便安装软件,还可以在里面下载东西,当网络优盘来用。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

高,实在是太高了,搬个板凳也够不到了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

猛。。。。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

好高深,想请教一下,串口 接到电脑后运行哪个软件会出现 楼主截图的,启动界面??
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

17# adoot


年头买的一个MW150R VER1.4的带屏蔽的
前天买了一个FW150R 也是1.4版没屏蔽罩
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

16# adoot


不会编译,不知道是否能直接修改固件后刷新
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

兄弟,太强了!可惜我搞不定这些。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
好高深,想请教一下,串口 接到电脑后运行哪个软件会出现 楼主截图的,启动界面??
mianyang 发表于 2010-9-29 17:09

你说的是哪个截图?
6楼的截图是一个终端软件叫“putty”来读取串口信息
20楼的截图是 我在win下面的dos界面telnet网络串口,在网络串口里面读取其它串口设备的画面。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-27 04:33

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表