OpenWrt Forum Archive

Topic: Support for Marvell 88F5xx81 based routers

The content of this topic has been archived between 18 Jan 2014 and 6 May 2018. Unfortunately there are posts – most likely complete pages – missing.

dirkNL wrote:

There seems to be another instability problem but we have yet to figure out what is causing it.

This has since been fixed, it was a problem in the skb recycling code, a simple problem with a simple fix. More info: http://marc.info/?l=linux-netdev&m= … 93&w=2. Thanks once again lennert!

(Last edited by StrikerNL on 11 Nov 2008, 23:54)

I just want to thank you all. Your work is amazing and hope it will continue over and over. Again thanks

The bug I encountered came to light when I bridged lan1 through lan4. In bridge mode the device has to be put into promiscuous mode. Because lan1 through lan4 are connected to the internal eth0 device, eth0 has to be put into promiscuous mode as well. The multiple promiscuous calls from lan1/lan4 seemed to lockup something in eth0 thus making lan traffic impossible.

more info: http://marc.info/?l=linux-netdev&m= … 50&w=2

(Last edited by dirkNL on 12 Nov 2008, 17:32)

Is there any progress? As I see the link to the imagebuilder posted by dirkNL doesn't work anymore.

Can we still hope to see the WRT350v2 integrated to openwrt?

no

?

smile just what is it we have been posting... don't ask questions when you already know the answer

Just uploaded my 'svn diff' against the openwrt trunk. You can grab it [s]here[/s]. see this post for updated info.

Anyone who wants to start and play around can have a go with this patch.

A couple of warnings:
-No warranty, not from me and not from openwrt.
-A webupgrade image is provided with this patch, it should work fine but don't blame me if it doesn't.
-Port 4 on the switch _doesn't_ work (yet), lennert's looking into that.
-Wifi works, but is highly unstable, this is a matter of waiting for the ath9k-new driver to become stable...
-Don't make your default rootfs squash bigger than 2.5MB, it will fail to make a Linksys webupgrade image. You can always tweak around this, but I figured it won't be necessary because it's much safer to have a very small rootfs and work your way around with installing packages onto the jffs2 partition.

Webupgrade information
-Just select the webupgrade image from your pc in the firmware upgrade under the administration tab.
-Around 75% you'll see your routing rebooting, if that's not the case DON'T turn off the power until at least an imaginary 200% progressbar status.
-Around 90% you'll see a second reboot, this is needed to clean up some padding that is required for the linksys webinterface flashing.
-The webgui should now return to a page which states "Not Found", your router is STILL busy cleaning up the jffs2 partition!!!. This should take less than a minute.
-You should already be able to telnet to 192.168.1.1, setup a root password and ssh will be running, verify jffs2 is up with the command 'df'.

Now you're done and running OpenWRT!

(Last edited by dirkNL on 15 Dec 2008, 02:12)

Bravo DirkNL!

That is the best news I've seen in a while.

I'm a complete newb with Linux, so I cant try out the latest patches.

Cant wait until it gets relase quality support in openwrt, no doubt provided by you and Lennert!!

Thanks for sharing the info, and thanks for figuring it out!

Way to go smile

(Last edited by bigjezza on 25 Nov 2008, 06:09)

Hi dirkNL,

thanks for sharing your code!

However, it seems that the patch is missing some files:

...
make[3]: Entering directory `/users/11124/aszekely/owt/tools/wrt350nv2-builder'
make[3]: Leaving directory `/users/11124/aszekely/owt/tools/wrt350nv2-builder'
make[3]: Entering directory `/users/11124/aszekely/owt/tools/wrt350nv2-builder'
cp -fpR /users/lexi/owt/build_dir/host/wrt350nv2-builder/wrt350nv2-builder /users/lexi/owt/staging_dir/host/bin/
cp -fpR src/wrt350nv2-u-boot.bin /users/lexi/owt/staging_dir/host/bin/
cp: cannot stat `src/wrt350nv2-u-boot.bin': No such file or directory
make[3]: *** [/users/lexi/owt/staging_dir/host/stamp/.wrt350nv2-builder_installed] Error 1
make[3]: Leaving directory `´/users/lexi/owt/tools/wrt350nv2-builder'
make[2]: *** [tools/wrt350nv2-builder/install] Error 2
make[2]: Leaving directory `/users/lexi/owt'
make[1]: *** [/users/lexi/owt/staging_dir/arm/stamp/.tools_install] Error 2
make[1]: Leaving directory `/users/lexi/owt'
make: *** [world] Error 2

I'm not very familiar with the openwrt build environment, so I don't know if the file wrt350nv2-u-boot.bin should be generated or not.
As it is in the src directory I think it is missing in your patch - please correct me if I'm wrong.

Could you probably also share a default config file for the wrt350nv2? It would make it easier for me to get the build running ;-)

Hmm, it should be there, I'll check the patch.

To fix it:

touch tools/wrt350nv2-builder/src/wrt350nv2-u-boot.bin

It just needs 'a' file, so an empty one will suffice.

lexi wrote:

Could you probably also share a default config file for the wrt350nv2? It would make it easier for me to get the build running ;-)

I wouldn't recommend my config, fortunately almost everything works out of the box when you select the marvell orion target in the build environment. All kernel support is done for you, the only things you need to build for yourself are packages like samba luci etc...

So basicly
-Checkout trunk
-Apply my patch (possibly with the above quickfix)
-Run 'make package/symlinks'
-Run 'make menuconfig' and select the correct target and all of the packages you want
-Run 'make'
-See a webupgrade package sitting in the bin directory

(Last edited by dirkNL on 26 Nov 2008, 14:29)

dirkNL wrote:

-See a webupgrade package sitting in the bin directory

Is it now possible to change back to Linksys firmware if the wireless instability is intolerable?

DaBigMac wrote:

Is it now possible to change back to Linksys firmware if the wireless instability is intolerable?

Yes, going back is possible. You need the (uncompressed) flash binary from linksys (the .bin file from their firmware builder, should be 8 MB, or get mtd0.img from this post), chop it up (with dd, for instance) to fit the physmap that openwrt uses and just dd it back on there.

A reboot later you will be back to linksys' firmware.

If you need more clear instructions maybe later I'll post a simple howto.

Oh by the way, wireless instability _IS_ intolerable, it's not ready for production use, it generally crashes your device in less than half an hour's time. If you're planning to use it for wifi, I'd say don't even bother yet, because it's not really worth it. I use it as a router (w/o wifi), which works just fine:

root@OpenWrt:~# uptime
 13:43:39 up 14 days, 19:26, load average: 0.00, 0.00, 0.00

(Last edited by StrikerNL on 1 Dec 2008, 15:44)

Just read the complete thread from the firt post till now.
It was very interesting and exciting as well.

I have my WRT-350N v2 for some months now and finally I found this thread.

Great Work! Just wanted to say Thank You!
As soon as wifi is working stable I will give it a try.

I am ready for the flames I am about to receive:

I have a D-Link DIR615 which also uses the Marvell 88F5181 from what I have been gathering online (I have not yet had the time to pop it open and add a serial port to it). The source code is available from D-Link on their website, but I would really like to run OpenWRT on this router.

Is there any support for it yet? I would like to use the wireless functionality, but apparently the driver for it is an .o that is included with the source code (Marvell Wifi chip), thus that is going to become a bit more difficult. Is there anyone that is working on getting this router supported? Is there anything I can do to get this router working (I don't have a bootstrap environment, OpenWRT has some issues when compiling on FreeBSD/Mac OS X/OpenSolaris. I don't use Linux  ...).

Thanks!

X-Istence wrote:

I am ready for the flames I am about to receive:

I have a D-Link DIR615 which also uses the Marvell 88F5181 from what I have been gathering online (I have not yet had the time to pop it open and add a serial port to it). The source code is available from D-Link on their website, but I would really like to run OpenWRT on this router.

Is there any support for it yet? I would like to use the wireless functionality, but apparently the driver for it is an .o that is included with the source code (Marvell Wifi chip), thus that is going to become a bit more difficult. Is there anyone that is working on getting this router supported? Is there anything I can do to get this router working (I don't have a bootstrap environment, OpenWRT has some issues when compiling on FreeBSD/Mac OS X/OpenSolaris. I don't use Linux  ...).

Thanks!

Flames? In fact I've wondered why other models of Marvell products are not more widely discussed, this forum is after all a for GENERAL Marvell discussion, not specifically for the WRT-350N. I believe that the more minds working on functional support for Marvell chip sets the merrier!

The processor speeds are unmatched for the price of products featuring their chip sets and their products are becoming more and more widely used.

I wonder if there are any other communities of Marvell hackers who are willing to pool efforts.

I've looked around on various firmware sites, but this discussion is by far the most promising that I have seen.

If me and Dirk can get our hands on that device, maybe it's worth having a look. Doesn't look too expensive... Shame it's only 100 mbit, but still...

Update: just ordered it, me and DirkNL will see what's what wink

(Last edited by StrikerNL on 4 Dec 2008, 15:31)

I'm reading and following this thread for a Netgear WNR854T router based on the Marvell TopDog chipset. It's got the gigabit switch and a Marvell wireless card also.  I've directed others with WNR854T routers to follow this thread and speak up, too.   I truly appreciate the effort Kaloz is making for the OpenWRT team and everything Lennert is doing from the Marvell open-source side to optimize the Linux firmware for these chipsets. smile

(Last edited by KeithB on 4 Dec 2008, 17:05)

StrikerNL wrote:

If me and Dirk can get our hands on that device, maybe it's worth having a look. Doesn't look too expensive... Shame it's only 100 mbit, but still...

Update: just ordered it, me and DirkNL will see what's what wink

I generally don't need more than 100 mbit anyway, for me it is only a wireless gateway so that people can get on the internet. For anyone that wants Gigabit we have a wired network set up.

Hi guys,

good job
Thanks in name from users wrt350n v2.x

It its possible to test a test image?

Thanks very much

Don't mean to be rude, but reading the previous posts will answer that question. Good luck!

Thanks

Hey Guys,

I am sure everyone is familiar with the Apple Airport Extreme, but has anyone noticed the specs on this thing? It's an amazing beast..

CPU: Marvell 88F5181

RAM: 64MB!

Flash: 16Mb!

Switch: Broadcom BCM5325E1QMG 10/100 (Sure to be a lot easier to support than Marvell based chipsets.)

Wireless: Atheros AR5008-3NX (Support for this chipset is still very alpha, as StrikerNL has so clearly demonstrated. However it is replacable, via a minipci card.)

Sure, it's only 100bT, but the memory on this thing would sure make for some serious flexibility!

Price is an issue.. Almost twice as much as the already expensive WRT-350Nv2..

There are links about for dissections on the OpenWRT hardware page.

Wow, that's the same pseudo-ARM926EJ-S Marvell processor that's inside the Netgear WNR854T wireless-N router.  With that much memory and flash RAM and the extremely popular BCM5325 switch chip, the only thing preventing if from being a really popular hack is the price. wink

I have upgraded 128m ram successfully .
    __  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V /  __/ | |
        |_|  |_|\__,_|_|    \_/ \___|_|_|
_   _     ____              _
| | | |   | __ )  ___   ___ | |_
| | | |___|  _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
\___/    |____/ \___/ \___/ \__|  ** LOADER **
** MARVELL BOARD: RD-88F5181L-VOIP-GE LE

U-Boot 1.1.1 (Dec 12 2006 - 16:12:22) Marvell version: 1.7.3

DRAM CS[0] base 0x00000000   size 128MB
DRAM Total size 128MB
Flash: mvFlashInit base 0xff800000 devW 1 busW 1
Flash: flashStructGet manu 0xec id 0xe0
Flash: flashStructGet flash is supported.
FLASH: initFlashSecs TOP Sector Type
Flash: flashSecsInit main sector loop 0 - 127
[8192kB@ff800000] Flash:  8 MB
Addresses 20M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (20M - 16M): Done
*** Warning - bad CRC, using default environment


Soc: MV88F5181 Rev 9
CPU: ARM926 (Rev 0) running @ 500Mhz
SysClock = 166Mhz , TClock = 166Mhz


USB 0: host mode
PCI 0: PCI Express Root Complex Interface
PCI 1: Conventional PCI, speed = 33000000
Net:   mvEgigaLoad: egiga0 load ok
egiga0 [PRIME]

***************DRIVER INFO*****************

DRIVER BUILD DATA: Jan  9 2007 at 18:25:44
DRIVER VERSION 1.06

*******************************************
dbSign is:65:52:63:4f:6d:4d
mac address in flash is:00:1a:70:97:7f:ca
have eRcOmM
Hit ENTER to stop autoboot:  0
copy kernel from 0xff800000 to 0x400000 with size 0x200000
## Booting image at 00400000 ...
   Image Name:   Linux-2.6.12-arm1
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1511464 Bytes =  1.4 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux................................................................................................... done, booting the kernel.
Linux version 2.6.12-arm1 (Terry@9TerryLiu2) (gcc version 3.4.4 (release) (CodeSourcery ARM 2005q3-2)) #1 Sun Apr 8 20:47:27 CST 2007
CPU: ARM926EJ-Sid(wb) [41069260] revision 0 (ARMv5TEJ)
CPU0: D VIVT write-back cache
CPU0: I cache: 32768 bytes, associativity 1, 32 byte lines, 1024 sets
CPU0: D cache: 32768 bytes, associativity 1, 32 byte lines, 1024 sets
Machine: MV-88fxx81
Using UBoot passing parameters structure
Sys Clk = 166000000, Tclk = 166000000