物好き者

物好き者が行ったことを載せています。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

LaFonera+を純正ファームに書き戻し2

もう一台のLaFonera+から純正ファームを抜き出す方法を探します。
下記によると /dev/mdtblock 以下のファイルを、httpdを起動してブラウザから取得できるそうです。
OpenWrtDocs/Hardware/Fon/Fonera - OpenWrtOriginal software>Backup your Fonera's flash

LaFonera+へのアクセス方法 に従い、もう一台のLaFonera+をssh・シリアルコンソールでアクセスできるようにします。

純正ファームを起動し、フラッシュの状態を確認します。
root@OpenWrt:/# cat /proc/mtd
dev: size erasesize name
mtd0: 00030000 00010000 "RedBoot"
mtd1: 00010000 00010000 "loader"
mtd2: 00620000 00010000 "image"
mtd3: 0056af9d 00010000 "rootfs"
mtd4: 003f0000 00010000 "rootfs_data"
mtd5: 00010000 00010000 "config"
mtd6: 00140000 00010000 "image2"
mtd7: 0000f000 00010000 "FIS directory"
mtd8: 00001000 00010000 "RedBoot config"
mtd9: 00010000 00010000 "board_config"

/dev/mdtblock ディレクトリが無いので、/dev以下を確認すると、下記のように直接mtd関連が配置されています。
root@OpenWrt:/# ls -l /dev
crw-r--r-- 1 root root 5, 1 Jan 1 01:02 console
prw------- 1 root root 0 Jan 1 01:01 fsctli
prw------- 1 root root 0 Jan 1 01:01 fsctlo
crw-r--r-- 1 root root 1, 7 Jan 1 01:00 full
crw-r--r-- 1 root root 1, 2 Jan 1 01:00 kmem
crw-r--r-- 1 root root 1, 11 Jan 1 01:00 kmsg
srw-rw-rw- 1 root root 0 Jan 1 01:00 log
crw-r--r-- 1 root root 1, 1 Jan 1 01:00 mem
crw-r--r-- 1 root root 90, 0 Jan 1 01:00 mtd0
crw-r--r-- 1 root root 90, 1 Jan 1 01:00 mtd0ro
crw-r--r-- 1 root root 90, 2 Jan 1 01:00 mtd1
crw-r--r-- 1 root root 90, 3 Jan 1 01:00 mtd1ro
crw-r--r-- 1 root root 90, 4 Jan 1 01:00 mtd2
crw-r--r-- 1 root root 90, 5 Jan 1 01:00 mtd2ro
crw-r--r-- 1 root root 90, 6 Jan 1 01:00 mtd3
crw-r--r-- 1 root root 90, 7 Jan 1 01:00 mtd3ro
crw-r--r-- 1 root root 90, 8 Jan 1 01:00 mtd4
crw-r--r-- 1 root root 90, 9 Jan 1 01:00 mtd4ro
crw-r--r-- 1 root root 90, 10 Jan 1 01:00 mtd5
crw-r--r-- 1 root root 90, 11 Jan 1 01:00 mtd5ro
crw-r--r-- 1 root root 90, 12 Jan 1 01:00 mtd6
crw-r--r-- 1 root root 90, 13 Jan 1 01:00 mtd6ro
crw-r--r-- 1 root root 90, 14 Jan 1 01:00 mtd7
crw-r--r-- 1 root root 90, 15 Jan 1 01:00 mtd7ro
crw-r--r-- 1 root root 90, 16 Jan 1 01:00 mtd8
crw-r--r-- 1 root root 90, 17 Jan 1 01:00 mtd8ro
crw-r--r-- 1 root root 90, 18 Jan 1 01:00 mtd9
crw-r--r-- 1 root root 90, 19 Jan 1 01:00 mtd9ro
brw-r--r-- 1 root root 31, 0 Jan 1 01:00 mtdblock0
brw-r--r-- 1 root root 31, 1 Jan 1 01:00 mtdblock1
brw-r--r-- 1 root root 31, 2 Jan 1 01:00 mtdblock2
brw-r--r-- 1 root root 31, 3 Jan 1 01:00 mtdblock3
brw-r--r-- 1 root root 31, 4 Jan 1 01:00 mtdblock4
brw-r--r-- 1 root root 31, 5 Jan 1 01:00 mtdblock5
brw-r--r-- 1 root root 31, 6 Jan 1 01:00 mtdblock6
brw-r--r-- 1 root root 31, 7 Jan 1 01:00 mtdblock7
brw-r--r-- 1 root root 31, 8 Jan 1 01:00 mtdblock8
brw-r--r-- 1 root root 31, 9 Jan 1 01:00 mtdblock9
drwxr-xr-x 2 root root 60 Jan 1 01:00 net
crw-r--r-- 1 root root 1, 3 Jan 1 01:00 null
crw-r--r-- 1 root root 1, 4 Jan 1 01:00 port
crw-r--r-- 1 root root 108, 0 Jan 1 01:00 ppp
crw-r--r-- 1 root root 5, 2 Jan 1 01:00 ptmx
drwxr-xr-x 2 root root 0 Jan 1 01:00 pts
crw-r--r-- 1 root root 1, 8 Jan 1 01:00 random
drwxr-xr-x 2 root root 40 Jan 1 01:00 shm
crw-r--r-- 1 root root 5, 0 Jan 1 01:00 tty
crw-r--r-- 1 root root 4, 64 Jan 1 01:03 ttyS0
crw-r--r-- 1 root root 1, 9 Jan 1 01:00 urandom
crw-r--r-- 1 root root 1, 5 Jan 1 01:00 zero


このため、/devでhttpdを起動して、ファイルを取得してみました。
root@OpenWrt:/dev# httpd -p 9090
4583 root 304 S httpd -p 9090

ブラウザで、下記の開きファイルを保存しましたが、サイズが0バイトです。
http://192.168.10.1:9090/mtd0ro
http://192.168.10.1:9090/mtd1ro
http://192.168.10.1:9090/mtd2ro
http://192.168.10.1:9090/mtd3ro
http://192.168.10.1:9090/mtd4ro
http://192.168.10.1:9090/mtd5ro
http://192.168.10.1:9090/mtd6ro
http://192.168.10.1:9090/mtd7ro
http://192.168.10.1:9090/mtd8ro

下記のファイルも保存してみましたが、同じく0バイトです。
http://192.168.10.1:9090/mtd0
http://192.168.10.1:9090/mtdblock0


httpd経由ではファイルが取得できないので、別の方法を探したところ、catコマンドでファイルにリダイレクトする方が見つかりました。
[EN] Running OpenWRT-kamikaze with ramdisk for LaFonera+ FON2201 - MOLIETS WiFi FON_BASTIDE

/jffs に flash ディレクトリを作成し、catコマンドでloaderとimage2をバックアップしました。
root@OpenWrt:/jffs# cat /dev/mtdblock1 > /jffs/flash/loader
root@OpenWrt:/jffs# cat /dev/mtdblock6 > /jffs/flash/image2
root@OpenWrt:/jffs/flash# ls -l
-rw-r--r-- 1 root root 1310720 Jan 1 01:48 image2
-rw-r--r-- 1 root root 65536 Jan 1 01:34 loader

問題はimageで、cat /proc/mtd を確認すると、サイズが00620000(10進変換:6422528)あるため、/jffsの空き容量以上のため保存できません。
mtd2: 00620000 00010000 "image"

[EN] Running OpenWRT-kamikaze with ramdisk for LaFonera+ FON2201 - MOLIETS WiFi FON_BASTIDE を再度確認すると、/proc/mtdが違います。
root@LamaBleu:/# cat /proc/mtd
dev: size erasesize name
mtd0: 00030000 00010000 "RedBoot"
mtd1: 00010000 00010000 "loader"
mtd2: 00230004 00010000 "image"
mtd3: 00140000 00010000 "image2"
mtd4: 0000f000 00010000 "FIS directory"
mtd5: 00001000 00010000 "RedBoot config"

このため、再度手順を詳しく確認すると、ram-foneraplus.elf をRedbootでloadして起動うにしています。
フラッシュに書き込まずに動作するので、元のフラッシュを変更しなくてすみますので、純正ファームを書き換えなくても純正ファームを保存できます。
今回は、純正ファームをssh・シリアルコンソールが使えるようにしてしまっていますが、シリアルコンソールが使えないのは困るので、どちらにしろ書き換えますから問題ありません。

早速 ram-foneraplus.elf  をダウンロードして、tftpで転送できるようにしました。
RedBootで読み込んで実行します。

+Ethernet eth0: MAC address 00:18:84:a2:0e:9c
IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.254

RedBoot(tm) bootstrap and debug environment [ROMRAM]
OpenWrt certified release, version 1.1 - built 22:32:28, May 7 2007

Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.

Board: FON 2201
RAM: 0x80000000-0x81000000, [0x80040290-0x80fe1000] available
FLASH: 0xa8000000 - 0xa87f0000, 128 blocks of 0x00010000 bytes each.
== Executing boot script in 2.000 seconds - enter ^C to abort
^C
RedBoot> load ram-foneraplus.elf
Using default protocol (TFTP)
Entry point: 0x80269000, address range: 0x80041000-0x80449dd1
RedBoot> go
Linux version 2.6.23 (eric@ubuntu) (gcc version 4.1.2) #1 Tue Oct 16 06:06:14 CEST 2007
CPU revision is: 00019064
Determined physical RAM map:
memory: 01000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Built 1 zonelists in Zone order. Total pages: 4064
Kernel command line: console=ttyS0,9600 rootfstype=squashfs,jffs2 init=/etc/preinit
Primary instruction cache 16kB, physically tagged, 4-way, linesize 16 bytes.
Primary data cache 16kB, 4-way, linesize 16 bytes.
Synthesized TLB refill handler (20 instructions).
Synthesized TLB load handler fastpath (32 instructions).
Synthesized TLB store handler fastpath (32 instructions).
Synthesized TLB modify handler fastpath (31 instructions).
PID hash table entries: 64 (order: 6, 256 bytes)
Using 92.000 MHz high precision timer.
console [ttyS0] enabled
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 11740k/16384k available (1917k kernel code, 4644k reserved, 286k data, 1924k init, 0k highmem)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
Radio config found at offset 0xf8(0x1f8)
Generic PHY: Registered new driver
Time: MIPS clocksource has been installed.
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 512 (order: 0, 4096 bytes)
TCP bind hash table entries: 512 (order: -1, 2048 bytes)
TCP: Hash tables configured (established 512 bind 512)
TCP reno registered
squashfs: version 3.0 (2006/03/15) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2. (NAND) (SUMMARY) c 2001-2006 Red Hat, Inc.
io scheduler noop registered
io scheduler deadline registered (default)
Serial: 8250/16550 driver $Revision: 1.90 $ 1 ports, IRQ sharing disabled
serial8250: ttyS0 at MMIO 0xb1100003 (irq = 37) is a 16550A
ICPlus IP175C: Registered new driver
eth0: Atheros AR231x: 00:18:84:a2:0e:9c, irq 4
ar2313_eth_mii: probed
eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:10)
cmdlinepart partition parsing not available
Searching for RedBoot partition table in spiflash at offset 0x7d0000
Searching for RedBoot partition table in spiflash at offset 0x7e0000
6 RedBoot partitions found on MTD device spiflash
Creating 6 MTD partitions on "spiflash":
0x00000000-0x00030000 : "RedBoot"
0x00030000-0x00040000 : "loader"
0x00040000-0x00270004 : "image"
mtd: partition "image" doesn't end on an erase block -- force read-only
0x00660000-0x007a0000 : "image2"
0x007e0000-0x007ef000 : "FIS directory"
0x007ef000-0x007f0000 : "RedBoot config"
nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
ip_tables: (C) 2000-2006 Netfilter Core Team
TCP vegas registered
NET: Registered protocol family 1
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear
All bugs added by David S. Miller
Freeing unused kernel memory: 1924k freed
Warning: unable to open an initial console.
eth0: Configuring MAC for full duplex

Please press Enter to activate this console. Algorithmics/MIPS FPU Emulator v1.5
loop: module loaded
nbd: registered device at major 43
PPP generic driver version 2.4.2
IPP2P v0.8.1_rc1 loading
IMQ starting with 2 devices...
IMQ driver loaded successfully.
Hooking IMQ before NAT on PREROUTING.
Hooking IMQ after NAT on POSTROUTING.
ipt_time loading
wlan: 0.8.4.2 (svn r2568)
ath_hal: module license 'Proprietary' taints kernel.
ath_hal: 0.9.30.13 (AR5212, AR5312, RF2316, TX_DESC_SWAP)
ath_rate_minstrel: Minstrel automatic rate control algorithm 1.2 (svn r2568)
ath_rate_minstrel: look around rate set to 10%
ath_rate_minstrel: EWMA rolloff level set to 75%
ath_rate_minstrel: max segment size in the mrr set to 6000 us
wlan: mac acl policy registered
ath_ahb: 0.9.4.5 (svn r2568)
ath_pci: switching rfkill capability off
ath_pci: switching per-packet transmit power control off
wifi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
wifi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: H/W encryption support: WEP AES AES_CCM TKIP
wifi0: mac 11.0 phy 4.8 radio 7.0
wifi0: Use hw queue 1 for WME_AC_BE traffic
wifi0: Use hw queue 0 for WME_AC_BK traffic
wifi0: Use hw queue 2 for WME_AC_VI traffic
wifi0: Use hw queue 3 for WME_AC_VO traffic
wifi0: Use hw queue 8 for CAB traffic
wifi0: Use hw queue 9 for beacons
wifi0: Atheros 2315 WiSoC: mem=0xb0000000, irq=3



BusyBox v1.7.2 (2007-10-15 21:47:19 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
KAMIKAZE (bleeding edge)-------------------
* 10 oz Vodka Shake well with ice and strain
* 10 oz Triple sec mixture into 10 shot glasses.
* 10 oz lime juice Salute!
---------------------------------------------------
Ramdisk version for La Fonera+ (FON 2201)
WiFi and serial port - Lama Bleu - Oct. 2007
root@LamaBleu:/#

このOpenWRTを使って、フラッシュを保存します。

スポンサーサイト

PageTop

コメント


管理者にだけ表示を許可する
 

承認待ちコメント

このコメントは管理者の承認待ちです

| | 2007年12月16日(Sun)21:55 [EDIT]


承認待ちコメント

このコメントは管理者の承認待ちです

| | 2012年01月30日(Mon)12:40 [EDIT]


承認待ちコメント

このコメントは管理者の承認待ちです

| | 2014年07月25日(Fri)08:38 [EDIT]


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。