DragonK wrote:
Ivo van Geel wrote:
Hi DragonK,

The CPU seems to be a Ralink RT2880
(http://www.ralinktech.com/ralink/data/RT2880.pdf).
This kind of CPU is also used in the T-Com Speedport W700V (see
http://wiki.openwrt.org/TableOfHardware).

Support for this CPU is a Work In Progress, there is no running version
of OpenWRT available for this CPU, yet.
(http://wiki.openwrt.org/OpenWrtDocs/Hardware/T-Com/Speedport_W700V)
It is going to be very, very difficult to create a running version of
OpenWRT for your router.


Kind regards,
Ivo van Geel.
Hello everybody,

I've made a little progress since the last mail.

Here is the thing:

I'm trying to reverse engineer the firmware image ( http://www.belkin.com/support/article/?lid=en&pid=f5d8231-4&aid=5927&scid=854&fid=4063&fn=f5d8231v5_ww_5.01.05.bin ) for
this router in order to modify it and perhaps enable the telnet daemon.

This is what I've found until now:

1) The device uses U-Boot
2) The firmware image has the following structure: Belkin header + U-Boot header + gzipped kernel + squashfs image.

I've created a template for WinHEX (attached to this mail) which decodes the information I've identified in the firmware file.

The problems I'm facing now are the following
- I can't exactly determine the offset of the SquashFS inside the fw img based on header information (but it can be located based on its signature 'hsqs').
- I don't seem to be able to mount the extracted filesystem.

When I attempt to mount the FS, I get the following:

------------------------------------------------------------------------------
root# mount ./fw_squash_stripped.bin ./a -o loop
mount: wrong fs type, bad option, bad superblock on /dev/loop2,
....

root# dmesg | tail
squashfs: version 3.3 (2007/10/31) Phillip Lougher
SQUASHFS error: zlib_inflate returned unexpected result 0xfffffffd, srclength 8192, avail_in 596, avail_out 8192
SQUASHFS error: sb_bread failed reading block 0x712
SQUASHFS error: Unable to read cache block [1c41a8:1d95]
SQUASHFS error: Unable to read inode [1c41a8:1d95]
------------------------------------------------------------------------------

Can anybody help me out here? Has anybody seen anything similar before?

From what I understand squashfs is able to mount both little endian and big endian filesystems so I don't think this is the problem. Also, my kernel doesn't have the squashfs-lzma patch, but I've tried to mount the image using a lzma-enabled kernel and that's not it either.




Also, I have another question:

In this image of the router's board ( http://img411.imageshack.us/img411/1251/a31ndiua5sp4.jpg ) , the encircled red thing could be a serial port? If so, how could I connect to it (because the "pins" are only on the board, there's no connector) ?


Thanks!


....And of course, I've forgot to attach the template...sorry.





template "Belkin F5D8213-4 Firmware"

description "Belkin firmware image"
applies_to file
requires 0x4 "0E"

// GZip data
requires 0x53 "1F 8B"

begin
        hex 4   "Unknown 4 bytes"
        uint8   "Length of product string (?)"
        char[14] "Product string"

        section "U-Boot image"
                hex 4   "Signature 0x27051956"
                hex 4   "Header CRC-32" // Computed over the U-Boot header with 
this field set to 0
                hex 4   "Creation time"
                hex 4   "Data size"
                hex 4   "Load address"
                hex 4   "Entry point"
                hex 4   "Data CRC-32"
                
                uint8   "Operating System"
                uint8   "CPU Architecture"
                uint8   "Image Type"
                uint8   "Compression Type"
                char[32] "Description string"
        endsection
        
        section "GZip data"

                hex 2   "GZip Signature" 
                hex 1   "Method (08 = deflate)"
        
                section "Flags"
                        uint_flex "0" "FTEXT"
                        move -4
                        uint_flex "1" "FHCRC"
                        move -4
                        uint_flex "2" "FEXTRA"
                        move -4
                        uint_flex "3" "FNAME"
                        move -4
                        uint_flex "4" "FCOMMENT"
                        move -4
                        uint_flex "5" "Reserved"
                        move -4
                        uint_flex "6" "Reserved"
                        move -4
                        uint_flex "7" "Reserved"
                endsection

                UNIXDateTime "Modification time"

                hex 1   "Extra flags"
                hex 1   "Operating System"

                zstring "Original file name"

        endsection
end
_______________________________________________
openwrt-users mailing list
[email protected]
http://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-users

Reply via email to