sega 发表于 2009-9-3 23:14:34

另外这个是不是还是不能运行在WINDOWS下?

CZJ 发表于 2009-9-3 23:29:08

说下我的测试结果,我用的是RG100A(固件为联通红版) ADSL 2M的,用TM测试版下载速度在50K左右,而且TM的CPU占用好高,不知楼主的情况是怎样的?放两张图看下

天涯 发表于 2009-9-4 00:30:16

本帖最后由 天涯 于 2009-9-3 16:34 编辑

最近准备在board.c中加入一个读取flash任意offset数据的功能。
一直在坛子里问说有没有办法不安装ejtag读取整个Flash的内容。但是没有人回答。
现在自己分析了kernel之后发现根本没有办法。
所以自己改个程序是唯 ...
icewalkleader 发表于 2009-8-31 10:24 https://www.chinadsl.net/images/common/back.gif

如果只是想读取整个flash的内容,最好的办法是重新做个mtd mapping驱动模块,加载以后用dd就可以dump整个flash内容。
hugebird 发表于 2009-8-31 11:17 https://www.chinadsl.net/images/common/back.gif

https://www.chinadsl.net/thread-19482-1-1.html这个帖子中提到的办法,我看过那个网站,找到如下代码,供各位需要的朋友参考.
/*
* A simple flash mapping code for BCM963xx board flash memory
* It is simple because it only treats all the flash memory as ROM
* It is used with chips/map_rom.c
*
*Song Wang (songw@broadcom.com)
*Modified by J. Petazzoni to map whole flash memory for dumping purposes
*/
#include <linux/module.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <asm/io.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/map.h>
#include <linux/config.h>
#include <asm/bcm963xx/board.h>
#include <asm/bcm963xx/bcmTag.h>
static struct mtd_info *mymtd;
__u8 brcm_physmap_read8(struct map_info *map, unsigned long ofs)
{
return __raw_readb(map->map_priv_1 + ofs);
}
__u16 brcm_physmap_read16(struct map_info *map, unsigned long ofs)
{
return __raw_readw(map->map_priv_1 + ofs);
}
__u32 brcm_physmap_read32(struct map_info *map, unsigned long ofs)
{
return __raw_readl(map->map_priv_1 + ofs);
}
void brcm_physmap_copy_from(struct map_info *map, void *to, unsigned long from, ssize_t len)
{
memcpy_fromio(to, map->map_priv_1 + from, len);
}
struct map_info brcm_physmap_map = {
name: "Physically mapped flash (whole)",
buswidth: 2,
read8: brcm_physmap_read8,
read16: brcm_physmap_read16,
read32: brcm_physmap_read32,
copy_from: brcm_physmap_copy_from
};
int __init init_brcm_physmap(void)
{
      printk("Trying to map whole flash\n");
brcm_physmap_map.size = 0x200000;
brcm_physmap_map.map_priv_1 = 0xBFC00000;
mymtd = do_map_probe("map_rom", &brcm_physmap_map);
if (mymtd) {
mymtd->module = THIS_MODULE;
add_mtd_device(mymtd);
return 0;
}
return -ENXIO;
}
static void __exit cleanup_brcm_physmap(void)
{
if (mymtd) {
del_mtd_device(mymtd);
map_destroy(mymtd);
}
if (brcm_physmap_map.map_priv_1) {
brcm_physmap_map.map_priv_1 = 0;
}
}
module_init(init_brcm_physmap);
module_exit(cleanup_brcm_physmap);

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Song Wang songw@broadcom.com");
MODULE_DESCRIPTION("Configurable MTD map driver for read-only root file system");

icewalkleader 发表于 2009-9-4 09:06:15

83# 天涯

这段代码在USR9113 source code中我看到过了,原本的代码把rootfs所在的flash区域map为一个mtdblock0.
可以根据天涯贴出的这段代码增加一个mtdblock1, map为整个flash区域。

icewalkleader 发表于 2009-9-4 09:08:40

80# sega

这个可以实验一下,我没有相应的设备和固件,没有试过。
这个测试版不会破坏Flash上的内容,可以放心实验。

icewalkleader 发表于 2009-9-4 09:15:48

82# CZJ

我实验的时候CPU占用没有这么高,50%~60%左右。
有个功能比较费CPU就是verify local data,如果没有killall transmission-daeom就关机,下次启动就要verify local data。耗时很久,比如12G可能会耗掉几个小时。这时CPU占用都是90%以上。
还有就是U盘的碎片问题。如果使用VFAT给是或者是NTFS格式,碎片会导致CPU占用率猛高。
我一般使用EXT3格式,碎片不会造成CPU占用过高。
建议设置preallocate: 2(settings.json)

icewalkleader 发表于 2009-9-4 22:09:44

重要提示:
我之前的my.patch去掉了libcreduction。但是这个是不对的。如果要去掉,必须修改Makefile, 拷贝libc.so
所以后面再发一个修改的patch.
希望看到帖子的朋友相互转告一下。

i5945 发表于 2009-9-5 08:50:15

无意中看到下面这篇文章,也是编译了openwrt,而且ADSL功能还有,觉得挺有研究价值的,转过来供高手参考,希望6358也能早日实现!
https://www.chinadsl.net/viewthread.php?tid=36549&extra=&highlight=openwrt&page=1

haxc 发表于 2009-9-5 11:33:55

这个.....硬件不一样,是不同的。

icewalkleader 发表于 2009-9-5 20:01:10

89# haxc

说的极是啊,那个是AR7的芯片,有ADSL的驱动,咱6358系列的没有驱动。
openwrt,DD-wrt,Tomato任选一都不错啊,苦于没有驱动。
页: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18
查看完整版本: RG100A-AA 加NTFS、BT下载心得笔记