Asus wl-530g v2 firmware support

Started by amazurov, January 17, 2009, 01:19:08 PM

Previous topic - Next topic

amazurov

Is it possible to add support for Asus wl-530g v2 firmware in Firmware Modification Kit? It seems that firmware for that router is very similar to wl-530g, because I've tried to modify it and everything was OK (no errors) except that after building modified files (i've tried to enable telnet) and trying to flash my device it refused to accept it. In the end of .bin file in HEX editor i saw a string "WL-530g    ". After modifying it to "WL-530g v2" router has accepted the file, but couldn't load, and i had to repair router.
Thanks

amazurov

Found your answer there: http://www.bitsum.com/forum/index.php?topic=188.msg741#msg741
I don't have the time to add support for any new firmware images right now.
Anyway, thanks for this tool! But that would be very good if you could find a little of time to add support for this version, because I dont't have an idea where to start to do it by myself.

Jeremy Collake

Hmm, it sounds like it will be pretty easy to add support for this model. I will take a quick look at it here in a minute.
Software Engineer. Bitsum LLC.

amazurov

Thank you! :)
Are there any results yet?

Jeremy Collake

I started to add support, but didn't finish it. What needs to be done is pretty simple. You need to retrieve the segment offsets in the firmware image header, as they may be different than the v1. If different, then you then need to adjust the call to the asustrx tool (my modified one in the fmk), passing these segment offsets. Things should work then. I may get to it eventually here.
Software Engineer. Bitsum LLC.

viroos

Hi,
Thank you jeremy.collake for your good work. I'm interested in adding support for this hardware. But i not sure how can i help?

regards,
Maciej

viroos

Sorry for answering my own post.
I tried to find trx offset in WL530g_1.9.6.0_EN-V2.bin using UWfirmforce but with strange results.
Matching TRX signature #0 at offset 0x00000000
Score: 100%

so it looks like there is no any header. I think there is something wrong with UWfirmforce. Howe can I found offset manually with just hex editor? What should I looking for?

TIA for help.

regards,
Maciek

Ernst

Hi,

Bought a wl-530g v2 today.

For what it is worth:

I took the latest asus software (WL530g_1.9.6.0_EN-V2.bin) and created the 'linux' and rootfs.cramfs file parts from it using a hex editor. Using a debian minimal distro on vmware I could uncramfs the rootfs, enable telnet and cramfs it again.

The debian environment had a working compile system for an asus wl-hdd so I used mkcramfs that came with that GPL code. It also contained the proper drivers to mount cramfs filesystems. No sweat.

I compiled asustrx.c from the firmware modification kit since the CRC32 tool I used didn't generate the correct checksum, probably because of incorrect endian-ness. (BTW; why the webgui and boot loader accept firmware with an incorrect checksum is beyond me; luckily the recovery loader is always available.)

And:

asustrx -p WL530g-V2 -v 1.9.6.0 -o FW.BIN -b 32 linux -b 655360 rootfs.cramfs

created a firmware that flashed fine using the webgui. So I now have telnet using the stock firmware.

Next step is to use the same procedure on some build of the bitsum fw.

A side-step; I opened the case (and removed the weird stud/spring construction which kept the case from closing properly) and noticed that the PCB is a bit different than the pictures on the net. The TX/RX pads are slightly differently located and marked TP1 and TP2. Also the jtag pads are non-bare-copper anymore.

I wonder what the other differences between the previous version and V2 are; according to the ASUS support site (which is in need of some serious spell and syntax checking  :D) only the "WAN connection type: PPTP" is still missing from V2 but VPN pass through is available in the newer FW.

I have no idea why not having PPTP would be reason for a V2 HW box; perhaps marvell found a bug or changed its chip set...

All-in-all incredible value for euro 29.

Ernst

P.S. PM me if you want the WL530g_1.9.6.0_EN-V2.bin firmware with telnetd enabled.


tsveten

Hi,
Please , can you you upload somewhere this firmware?

Jeremy Collake

LOL, I had forgotten I even looked into the v2 before.. sorry to have given you a mistaken answer in my email.

If you want me to add a link to your page, or firmware download, or even host the download on my site.. just let me know.

As for rebuilding the bitsum firmware.. I don't even have a dev environment set up, so will likely leave this up to someone else. The only advantage to my firmware is a more extensive Busybox (iirc). However, I believe there were some occasional issues due to the severe memory constraints on this platform. With no-MMU, memory must be allocated in contiguous blocks, and can't be shared. Therefore, its easy to get into a situation where there isn't a large enough contiguous block of free RAM to allocate to run a process.
Software Engineer. Bitsum LLC.

Ernst

#10
@jeremy:

Funny little machine this is. I did notice however that when it runs, telnet becomes slow so power must be limited. Also its wlan signal is a lot worse than that from my SpeedTouch modem. Level as reported by Windows is fine but a connection is only possible rather close to this box. A more powerful antenna probably would improve this.

The engineer that came up with the idea of holding the boards (more or less) in place using this bar/spring construction should be sent back to boarding school. Gee; what a kludge. The bar on my unit was too long so that the box didn't close properly.

A shame it can't mount cifs/smb volumes... would turn it into a little file server.

The firmware 1.9.6.4 with (as the only modification) telnetd enabled for WL-530g V2 is at this moment available here:

http://www.euronet.nl/users/ernstoud/wl530g/WL530g_1.9.6.0_EN-V2-TELNETD.bin

Either copy it to your download site and point there, or point to my link.

When I take your firmware apart (in zImage and cramfs) and use asustrx to create a bin file with the proper system version and checksum, it will load into the WL-530g V2, the device starts (power and wlan led turn on) but it doesn't work. No SSID found, no telnet possible, no device on my network.

Luckily enough recovery works  :D

I ftp'd (to /tmp) some binaries that you compiled (for instance 'cpu' or 'busybox') into the box but also these don't run (ERROR 11 occurs, whatever that means - I found that as a kernel error it means 'try again', someone must have had some serious fun when this was defined  :D).

UPDATE: this was due to the ftp client on the wl-530g defaulting to ascii transfers. Giving a 'binary' command before the download solves the problem. I can now download working executables to the device.  :D


I noticed that the GPL on the CD that came with it is 1.9.5.2 where for your experiments 1.9.4.2 was used. On GPL 1.9.5.2 there are loads of changes from beginning of 2008 where the latest firmware (1.9.4.6) for the W-530g is dated june 2007. So asus changed a lot for V2.

I had a more thorough look and the two PCB's are different than those in older pictures. (Someone should tell the FCC that asus changed the board  ;D). Also the used SOC has an indication BAN1 instead of BAN. The rest of the chips are more or less the same but I reckon that a WL-530g and WL-530g V2 are different enough that binaries need to be recompiled. Perhaps some other ARM version is used...

I just untarred the GPL (> 60.000 files, more than 1 Gb - blimey!) and need to devote some serious attention to this. I doubt whether I have the time...

Will post on progress... although with the loss of your archive I guess a lot of attention for this box was lost also. On http://wl500g.info/ this box also gets very limited attention.

UPDATE: In het latest GPL 1.9.5.2 there are a lot of different versions of the Marvell wlan object files (no source available, so the nature of these changes is unclear). I reckon the wl-530g v2 has a different 802.11bg radio chip or setup. Recent pictures show a totally different layout of the pcb under  the cover that covers the radio part compared to the FCC images. So that might explain why db90h's firmware loads, runs but no wlan is possible. I plan to replace the mvlan.o file from the db90h's firmware with a more recent version within the GPL 1.9.5.2 CD-ROM.

@tsveten:

See link mentioned above.

Ernst

P.S. db90h = define byte NOP  ;D


Jeremy Collake

Cool, nice work. It feels good to hack something, doesn't it? It is a real shame that these units don't have an MMU.. If they were built on a platform that had an MMU, so much more could be done with them. Still, its nice to be able to run whatever code you want on them. Their size, if nothing else, makes them pretty cool little devices. And that spring clip is a pain. What was even more a pain was soldering the serial port wires on those tiny little test points.. Its amazing I never screwed my PCB up, as my soldering skills are less than expert.

I downloaded your firmware image and will post it on my WL-530g wiki page and WL-530g page. I'll likely do this tomorrow. Please let me know if I should include your email in the credit, and also what name or alias I should credit.


Software Engineer. Bitsum LLC.

Ernst

Jeremy,

Email address suffices in case someone has a question.

I am not afraid of spam considering the amount I get already after being on the internet for 15 years  ;D

ernstoud@euronet.nl

Ernst

Ernst

One extra remark; can you remember what you did to add NFS support? In the GPL I see the portmapper sources but not a lot else... is compiling into the kernel enough or did you have to add something else?

Ernst

Jeremy Collake

I honestly don't remember.. maybe simply including the NFS client in BusyBox was all I did?
Software Engineer. Bitsum LLC.

Ernst


Coming of age means forgetting things  :D

But an Harvard Professor once stipulated that knowledge is that what remains after you forget the facts.

So don't be too alarmed about forgetting these things  ;)

I'll try and see whether BusyBox is enough. The idea is to hook up a BifferBoard (a really small USB/RJ45 network attached storage device) to the WL-530g. The BifferBoard runs OpenWRT so samba or nfs will work. Apart from sharing data on the network using samba, the WL-530g can then load extra software from the NAS using NFS.

Take care,

Ernst

amazurov

Wow, this thread is still alive! :) Nice to see it.

Well, if you can enable telnet and somehow modify the firmware, maybe you can give me an answer: is it posiible to make this router work with multicast packets, that are coming to me from my provider (IPTV) when I'm connected to Internet (PPTP)? And what should I do in this case? Now i can route multicast only if I use 530gv2 as a switch: I just plug provider's cable into one of 4 LAN ports. But then I can't connect to Internet computer and notebook simultaneously: multiple login occurs, because in this case router won't connect automatically.. :(
I suppose that I need to add some package to firmware? Am I right?
Thanks for support and researches, anyway :)

Ernst

Ai; you hit me on my weak spot - networking. I know enough to built and maintain my own network but I am still learning. So I don't even know what multicasting in this case means...

I also learned that using the wl-530g as a switch is only possible by connecting to the outside world via 1 of its 4 lan ports. It enables NAT routing when it detects that a signal exists on the wan port.

Perhaps if you tell me more what you want to achieve we will get somewhere, but no promises  ;D

amazurov

I'll try to use any chance to do that :-D

So what I want is to be able to route IGMP packets (a.k.a. "multicast") that are used for providing IPTV to me. The reason of using these packets in IPTV is that these packets are coming from one interface of switch or router and is able to go away from every other simultaneously (i suppose, you'd better googe this point as I'm not an expert in networking too ;) ). IP Multicast uses 224.0.0.0 to 239.255.255.255 IP adresses.
The problem is that 530g v2 isn't doing this routing when it's WAN port is in WAN mode.. When I switch "WAN Mode" off (or plug provider's cable into one of LAN ports), the WAN port becomes the 5th LAN port and then IGMP packets are routed. So IGMP is routed between LAN ports.
I don't know why and how it's working like that, but I suppose that it's not a kind of "firewall rule" that restricts IGMP packets.

I hope we do it  :)

amazurov

I suppose that
route add multicast 224.0.0.0/4 [table main] dev ??? metric 1
could help with multicast routing, but I can't check this right now...
I don't remember, what should be the "dev"  :(, maybe
ls /dev/
will help..
I suppose to try telnet enabled firmware soon, but not right now. If anybody does, pls write here for us to know what are the results. I'm absolutely not sure if that will work  :-\

Ernst

For what it is worth:

I laid my hands on an original WL-530g (version 1), compared its internals to my WL-530gV2 and did some experiments.

On their website ASUS makes us believe that the differences between V1 and V2 are minor and have to do with PPTP and VPN support. What they don't tell us is that in version 2 the radio circuits have changed and diversity is disabled; the internal second antenna is still available on the PCB but not connected. In my setup the signal strength of a version 1 device is much, much better than a V2 device, at least some 10 dB difference.

Also this explains why db90h's firmware does not work on a version 2 device. If you burn his firmware on a V2, WLAN does not work. However, if you copy the newer V2 version of "mvwlan.o" into his firmware, that firmware works fine on a V2 device.

Ernst

Jeremy Collake

Nice discovery Ernst. It sucks that the V2 device's WiFi performance is so much worse ;(.
Software Engineer. Bitsum LLC.

ablabla

Hello boys!

Does anyone have a little success to create a custom fw for this little "shit"?
Anyway, i would give a try to make one, so hints would be appreciated! (what tools i need, docs, etc)

Thanks a lot!

ablabla


Hi,


If anyone interested, i did my first mod... not a big deal, i just "upgraded" the busybox to v1.2.1.
I hope noone gave up to create a better fw for this small guy! :-)

see you
a

amazurov

ablabla, could you make a short instruction for making mods and/or post the link to it here? I've ssen something at http://www.bitsum.com/firmware_mod_kit.htm#Modifying_the_firmware_(manual_and/or_ipkg_install.sh), does this work? jeremy.collake said that asustrx tool should be modified, but what and where should i modify?  ???
Also, what i want this router to be able to do is multicast routing, so if you know what package or whatewer else it needs for doing that, it would be perfect =)

ablabla


amazurov. i did that changes with the fw mod kit. but what you need can not be done that way.
to have multicast support you need to recompile the whole fw from the gpl source (you can download it from asus). that's what i'm trying to do, but it didn't work right away... now i could make changes in the kernel and busybox e.g., but i couldn't find out yet how i can build the recompiled stuff into a e.g. cramfs (which then can be used for the loadable fw).

if anyone could help me in that... thanks in advance!


amazurov

I think you should PM jeremy.collake or Ernst. By the way, what is the problem? I thought, toolchain + GPL source should be enough for making the firmware image..

amazurov

Well, I've finally managed it to compile and was able to build the image with recompiled kernwl. But I don't have the device right here now, so I can't test it. I'll try to flash that on the weekend, if everything goes ok. But I suppose that it's not enough just to reconfigure the kernel. I've heard smth about mrouted or igmpproxy.. Well, I should try to flash at first.