It is currently 01 Aug 2010, 05:39





Post new topic Reply to topic  [ 16 posts ] 
 Running Linux on D-Link DI-524 Access Point 
Author Message
Administrator
User avatar

Joined: 01 Dec 2007, 20:56
Posts: 65
Location: Poland
Post Running Linux on D-Link DI-524 Access Point
Here is some info on how to run your own Linux firmware on D-Link DI-524. It applies only to V1.1 device (version printed on PCB) which has Marvell chipset.

Note that it is not yet a complete solution, rather a concept. There is also a possibility that you will completly brick your AP!

First of all, D-Link did not yet post any part of the firmware into open-source. Too bad. But that's not a big deal, since AP vendors usually base their hardware designs on sample applications provided by chipset manufacturer. It means, that if there is any other AP with a Marvell chipset, there is a big chance that it's pretty that same as our D-Link. Finally it means that if the other AP's firmware is open-source, we could be able to burn an alien firmware image and successfully boot it.

That's the theory. Now, the practical part.

By simply opening case of the DI-524 (or a little bit of Googling)

Attachment:
case.jpg

we can find out, that:

- the main chipset is Marvell 88W8510-BAN (with ARM9 CPU inside)
- there are 2MB of flash memory (Intel)
- there are 8MB of RAM
- the wireless chip is Marvell 88W8000
- the network switch chip is Marvell 88E6060

It turns out, that (almost) exactly the same set of hardware is inside ASUS WL-530G Access Point. What’s even more interesting, ASUS has released its firmware under GPL (http://support.asus.com/download/download.aspx?SLanguage=en-us&model=WL-530g). There’s even an external open-source project for this AP – see http://www.bitsum.com/openwiking/owbase/ow.asp?WL%2D530G.

You have two options:
- get a binary firmware image for WL-530G (either from ASUS or from the open-source project above), or
- build your own firmware from ASUS sources (ARM toolchain also provided by ASUS).

Once we have the image, we need to burn it onto DI-524. And there is actually a problem with that, since D-Link’s original firmware refuses to burn an alien binary file. It could be impossible to simulate a D-Link firmware by adding a proper signature/checksum, since the open-source firmware binary is much bigger than the original. The only option left is to burn your own (or ASUS-provided) boot loader via JTAG interface and set up rest of the firmware using serial console. Both interfaces (JTAG and serial port) are provided by Marvell chip and seem to be routed to test points on the PCB, without connector headers populated (I had already soldered a 20-pin header on the picture below):

Attachment:
pinout.jpg

Interfacing DI-524 serial port

There is a plenty information on the net on how to connect 3.3V serial port to the PC. You can find nice collection of solitions on http://wiki.openwrt.org. Probably the easiest way is to do it with Nokia DKU-3P cable if you don't want to make your own circuit. I personaly use a home-made FTDI solution.
Once you connect the serial port you will see that where's not much you can do with it yet. It seems like the serial port support is disabled in the boot loader (it outputs only a test garbage during boot-up). So, the next step is...

Interfacing the JTAG

As you can see in the picture above, there is a place for 20-pin JTAG connector on the PCB. This is a standard ARM JTAG, so just solder a 20-pin header.
I didn't try any of the next steps and I don't know if they really work. Let me know if you have any success.
I've found one open-source JTAG tool for ARM9 platform: http://jtag-arm9.sourceforge.net. It also describes how to build a compatible JTAG adapter. What you should do is to connect your JTAG adapter to the 20-pin connector on the PCB. The pinout is as follows:

Code:
+---------------------------------------------------------------+
|   19    17    15    13    11     9     7     5     3     1    |
| DBGACK DBGRQ nSRST  TDO  RTCK   TCK   TMS   TDI  nTRST VTref  |
|                                                               |
|   GND   GND   GND   GND   GND   GND   GND   GND   GND  Vsupply|
|   20    18    16    14    12    10     8     6     4     2    |
+---------------------------------------------------------------+

Then, download and compile jtag-arm9 tool. Now, burn the WL-530G ARMBOOT boot loader image or prepare your own from sources (make sure you have the serial port support build in). Reboot your device and watch the serial port output. If all goes well, you should be able to command the boot loader to download a firmware image that you specify (most probably via NFS). Reboot to the new firmware image and enjoy your new Linux box :mrgreen:

Update: I've found another ARM9 JTAG software, which seems to be more advanced and complete, so you may want to try that instead. It is available here: http://www.yagarto.de/#download.


You do not have the required permissions to view the files attached to this post.

_________________
Regards,
www.hwhack.com admin


05 Dec 2007, 22:20
Profile WWW

Joined: 02 Jan 2008, 18:07
Posts: 2
Post Re: Running Linux on D-Link DI-524 Access Point
Hello!
I found an open source software for the DI-524.
I think it is official, because it is on the D-Link's page.
Here is the link, I hope it will be useful.
http://www.dlink.co.uk/?go=jN7uAYLx/oIJaWVTALoZU9f8nJUIKOZUTMyka/O31g24UoR/l7wvNJIjNqVh7jg=

May the force be with you!

(sorry for my english)

Arpy


02 Jan 2008, 18:15
Profile
Administrator
User avatar

Joined: 01 Dec 2007, 20:56
Posts: 65
Location: Poland
Post Re: Running Linux on D-Link DI-524 Access Point
Yes, this is official release of GPL firmware, but only for B4 hardware version of DI-524. It is based on different chip then the one described here (V1.1).

Anyway, thanks for sharing.

_________________
Regards,
www.hwhack.com admin


02 Jan 2008, 19:47
Profile WWW

Joined: 02 Jan 2008, 18:07
Posts: 2
Post Re: Running Linux on D-Link DI-524 Access Point
Oh sorry, I didn't see it.
I saw that my router's version is B4.
Could i tuning it somehow?

(it has got very small effective range. Could i increase it somehow?)

Thanks!


02 Jan 2008, 21:44
Profile
Administrator
User avatar

Joined: 01 Dec 2007, 20:56
Posts: 65
Location: Poland
Post Re: Running Linux on D-Link DI-524 Access Point
I think you could try connecting external antenna instead of the original one. But I never tried that.

_________________
Regards,
www.hwhack.com admin


03 Jan 2008, 10:23
Profile WWW

Joined: 26 Jan 2008, 09:08
Posts: 2
Post Re: Running Linux on D-Link DI-524 Access Point
rawsock wrote:
Here is some info on how to run your own Linux firmware on D-Link DI-524. It applies only to V1.1 device (version printed on PCB) which has Marvell chipset.


I have this exact router.

rawsock wrote:
- the main chipset is Marvell 88W8510-BAN (with ARM9 CPU inside)
- there are 4MB of flash memory (Intel)
- there are 8MB of RAM
- the wireless chip is Marvell 88W8000
- the network switch chip is Marvell 88E6060


Just a quick correction here... the flash chip is 2MB *NOT* 4MB. This chip is the TE28F160... which is 16Mbit (divided by 8 bits per byte = 2MByte). The TE28F320 chip is 32Mbit or 4MByte. Just thought you should know.

I would love to be able to load OpenWRT on this router... but I suspect the flash may be too small to support it (that and the rediculously small amount of RAM).

Any further progress on this?
Lyos Gemini Norezel


26 Jan 2008, 09:19
Profile
Administrator
User avatar

Joined: 01 Dec 2007, 20:56
Posts: 65
Location: Poland
Post Re: Running Linux on D-Link DI-524 Access Point
LyosNorezel wrote:
Just a quick correction here... the flash chip is 2MB *NOT* 4MB.

Are you sure about this? Openwrt site reports the following info in the Hardware Table:
Flash: 4MB (Intel TE28F160)
RAM: 8MB (IS42S32200B)

LyosNorezel wrote:
I would love to be able to load OpenWRT on this router... but I suspect the flash may be too small to support it (that and the rediculously small amount of RAM).

Openwrt should fit onto 4MB/8MB system. Even if this D-Link has 2MB, note that it still runs uClinux as its original firmware, which means it should have enough resources to boot at least tweaked version of the OS. You could always prepare your own mini-distribution if Openwrt is too big.

Anyway, I haven't tried the JTAG stuff yet as I do not have the device right now available. Maybe you could try that?

_________________
Regards,
www.hwhack.com admin


26 Jan 2008, 11:06
Profile WWW

Joined: 26 Jan 2008, 09:08
Posts: 2
Post Re: Running Linux on D-Link DI-524 Access Point
Quote:
Are you sure about this? Openwrt site reports the following info in the Hardware Table:
Flash: 4MB (Intel TE28F160)
RAM: 8MB (IS42S32200B)


Yes... I'm sure about this... OpenWRT reported it wrong on that router... and you'll find, that, if you do a search for "TE28F160" on the TableOfHardware that all the other listings for TE28F160 list 2MB. Also.... here's the datasheet: http://rpmfind.net/linux/netwinder.org/ ... 060805.pdf

Quote:
Openwrt should fit onto 4MB/8MB system. Even if this D-Link has 2MB, note that it still runs uClinux as its original firmware, which means it should have enough resources to boot at least tweaked version of the OS. You could always prepare your own mini-distribution if Openwrt is too big.


Yeah... it will fit into 4MB... but on a 2MB system, OpenWRT is too big. I suppose it would be possible to make a smaller version... but you'd lose alot of functionality doing so.

Quote:
Anyway, I haven't tried the JTAG stuff yet as I do not have the device right now available. Maybe you could try that?


I'll try as soon as I can gather all the parts I need to make a Wiggler cable... and make sure the code for Linux is working right on my Fedora 8 box.
Lyos Gemini Norezel


26 Jan 2008, 21:50
Profile

Joined: 05 Feb 2008, 12:31
Posts: 3
Location: Germany
Post Re: Running Linux on D-Link DI-524 Access Point
is there maybe some1 with experience about the DI-524 H/W Ver. D1 ?
- D-Link DL7500A CPU * what exact kind of cpu is that ? RDC R2020 ?
- maybe someone with .ru lang skills can translate my required info
from http://forum.ixbt.com/topic.cgi?id=14:44247, babelfish didn't work for me...

this is a picture of my model:
http://www.flickr.com/photos/schoschie/1448798334/

I want to "use" this 6(7) pin group at the very left top position, I am
not sure yet if this might be JTAG or 2 x UART (need to know the exact
CPU type) 4 pins are connected to the CPU, CPU pins in the left top
corner of the chip (the corner near the "D-").

... have to determine CPU, check pinout/in etc.

any info might be usefull for me thx !


05 Feb 2008, 12:53
Profile

Joined: 26 Dec 2007, 02:56
Posts: 1
Post Re: Running Linux on D-Link DI-524 Access Point
On site from your link i have found info: "Процессор ДЛ7500А есть ни что иное как RDC R2020" this means there is RDC R2020 processor in DL7500A routers.


29 Feb 2008, 14:05
Profile
Administrator
User avatar

Joined: 01 Dec 2007, 20:56
Posts: 65
Location: Poland
Post Re: Running Linux on D-Link DI-524 Access Point
LyosNorezel wrote:
I'll try as soon as I can gather all the parts I need to make a Wiggler cable... and make sure the code for Linux is working right on my Fedora 8 box.
Lyos Gemini Norezel

I've added a link to another ARM9 JTAG software to my original post. The tool looks much better than the previous one, but I don't know if it works with Wiggler.

Any success yet?

_________________
Regards,
www.hwhack.com admin


03 Mar 2008, 22:00
Profile WWW

Joined: 06 Mar 2009, 08:46
Posts: 1
Post Re: Running Linux on D-Link DI-524 Access Point
Hello.
I have this exact version of the router.
Did you have any success with ASUS firmware?
Thanks
regards


06 Mar 2009, 08:50
Profile
Administrator
User avatar

Joined: 01 Dec 2007, 20:56
Posts: 65
Location: Poland
Post Re: Running Linux on D-Link DI-524 Access Point
I cannot finish my work as I do not have that router available anymore. However I would be grateful if you could try JTAG on this.

_________________
Regards,
www.hwhack.com admin


06 Mar 2009, 09:02
Profile WWW

Joined: 31 May 2009, 21:16
Posts: 11
Post Re: Running Linux on D-Link DI-524 Access Point
rawsock wrote:
Yes, this is official release of GPL firmware, but only for B4 hardware version of DI-524. It is based on different chip then the one described here (V1.1).

Anyway, thanks for sharing.


sorry for resuming an old topic...

i'd need to know something about the chipset, prrocessor architecture
of the mentioned revB4, firmware V2.04
if you have infos, please share!
thank you ;)


14 Jul 2009, 10:40
Profile

Joined: 31 May 2009, 21:16
Posts: 11
Post Re: Running Linux on D-Link DI-524 Access Point
hi Rawsock,
how are you?

do you still have the DI-524 router with Linux running on it ?
please let me know, cuase i'd like to ask you a little something...

thanks!


22 Aug 2009, 08:06
Profile
Administrator
User avatar

Joined: 01 Dec 2007, 20:56
Posts: 65
Location: Poland
Post Re: Running Linux on D-Link DI-524 Access Point
Hi, I'm good :)

I do not have that router. I had to get rid of it before I could finish the hack.

_________________
Regards,
www.hwhack.com admin


25 Aug 2009, 05:27
Profile WWW
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 16 posts ] 


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © phpBB Group, phpBB SEO.
Designed by Vjacheslav Trushkin for Free Forums/DivisionCore.