Ruwebit
HARDWARE REVIEWS, DIY PROJECTS, IN-DEPTH ARTICLES
Start DIY projectsReviewsHow-to'sNewsAutomotiveAbout the websiteArchive | Most popularLast updatedTags Sitemap
dd-wrtwirelesshow-to'slinksysmoddingdiy projectswrt54g
MiniSD-card mod voor Linksys WRT54g V2 router
Download article as PDF
By Maurice on January 8 2009 (update on January 14 2009) popularity:
Toen ik mijn Linksys WRT54g router geunbricked had, heb ik meteen van de gelegenheid gebruik gemaakt om een SD-kaartje in te bouwen, zonder gebruik te maken van een SD-kaart lezer, maar in plaats daarvan met een MiniSD-adapter. Heel netjes gelukt als ik het zelf mag zeggen, ook al ging het niet helemaal van een leien dakje...

!!! DISCLAIMER !!!

Bij het openen van je WRT54g vervalt je garantie, alles op eigen risico enz. De garantie van de mijne is reeds lang verlopen.

Op deze site vond ik de handleiding hoe ik een SD-kaart lezer in mijn WRT54g V2 in kon bouwen. In plaats van een SD-kaart lezer heb ik een MiniSD-kaart adapter gebruikt (MicroSD kan natuurlijk ook). Veel gemakkelijker in te bouwen door alleen een stukje van de behuizing uit te veilen.

Mijn router

Ik heb een WRT54g V2 versie (serienummer CDF5...) van de Linksys WRT54g router met DD-WRT v24 firmware. Alles wat hieronder geschreven is heeft betrekking op deze router, echter het kan ook (gewijzigd) toegepast worden op andere typen en merken routers en met andere firmware versies (OpenWRT, Tomato, etc).

Ter vergelijking, dit geeft mijn router terug:

# strings /dev/mtdblock/0 | grep ^board
boardtype=0x0101
boardnum=42
boardrev=0x10
boardflags=0x0188
boardflags2=0
boardtype
boardtype
boardflags2=0
boardrev=%d
boardflags=%d
boardflags2=%d
boardflags

# strings /dev/mtdblock/0 | grep ^gpio
gpio2=adm_eecs
gpio3=adm_eesk
gpio5=adm_eedi
gpio6=adm_rc
gpioXXXXXXXX
gpio%d


Benodigdheden

MiniSD-kaart naar SD adapter
MiniSD-kaartje (ik had een 1 GB liggen)
Wat kabel, soldeerbout, tin, geen trillende handen.

Werkwijze

Voor de WRT54g V2 gewoon de aanwijzingen van de link hierboven volgen, voor andere versies van de WRT54g is dit of dit een goed startpunt.

Het RP3 punt bij de WRT54g V2 is lastig, maar is wel te doen. In het plaatje is het een beetje vaag aangegeven, maar D0 en CLK zit aan de rechterkant van de chip gesoldeerd, DI aan de linkerkant.

Let op: bij sommige WRT54g V2 versies zijn D0 en CLK omgewisseld ten opzichte van het plaatje in de link hierboven. Dit was bij mij het geval. Er zijn twee oplossingen voor:

1) Soldeer D0 en CLK andersom dan in de handleiding (dit heeft de voorkeur)
2) In de DD-WRT firmware (v24) de pin-bezetting handmatig opgeven: DI: 5, D0: 3, CLK: 4, CS: 7

De behuizing aanpassen is een makkie, ik heb er voor gekozen om de MiniSD adapter plat op de UTP-aansluitingen te leggen (lijmen en tapen) en een stukje uit de behuizing te vijlen (zie foto's hieronder). Let op dat je geen sluiting maakt. Zorg ook dat de adapter iets uitsteekt, dat is handig als je het MiniSD wilt verwijderen . Maak je geen zorgen om de ruimte voor de UTP-stekkers: plek zat.

Foto's

Hier wat zelfgemaakte foto's ter vergeleicking, leering ende vermaack.








Click here for the complete album and sub-albums


Configuratie

In DD-WRT v24 kun je onder de Administration tab de MMC/SD Card support aanzetten. GPIO pins select zou je normaal op auto kunnen laten staan. Ik moest echter kiezen voor Manual met de waarden DI: 5, D0: 3, CLK: 4, CS: 7 in plaats van de voor de V2 gebruikelijke DI: 5, D0: 4, CLK: 3, CS: 7.

sdcard_support.png


Even rebooten. Rebooten kan lang duren als de kaart nog niet geformateerd is, dus heb geduld.

Update 11 jan 2009: ik heb de pinnetjes omgesoldeerd, GPIO pins select staat nu gewoon op auto bij mij.

Update 14 jan 2009: omdat ik IO-errors kreeg in 'dmesg' bij het schrijven naar de SD-kaart heb ik pin 3 & 4 toch weer omgesoldeerd. Nergens meer last van, maar ik moet dus wel DI: 5, D0: 3, CLK: 4, CS: 7 gebruiken.

Tips
Nog even een tijdsbesparende tip: wanneer je problemen hebt met een SD-kaartje, even op een Linuxbak een primaire partitie aanmaken met fdisk en deze formateren met ext2 (mkfs.ext2). Een partitie is dus nodig:

# fdisk /dev/mmcblk0
The number of cylinders for this disk is set to 4908.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): d 1
Selected partition 1

Command (m for help): n 1
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-4908, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-4908, default 4908):
Using default value 4908

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

# mkfs.ext2 /dev/mmcblk0p1
mke2fs 1.41.1 (01-Sep-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
124672 inodes, 498158 blocks
24907 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=511705088
16 block groups
32768 blocks per group, 32768 fragments per group
7792 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

En nu?

Ja, nu kun je er vanalles opzetten, logging naar toeschrijven, swap space aanmaken. Ik heb er eerlijk gezegd nog geen goede toepassing voor, maar leuk dat het kan .

Overigens kun je op deze pagina nog alternatieve mmc kernel modules vinden om mee te experimenteren. Nieuwsgierig naar de performance van de verschillende kernel modules? Hier zijn wat scripts om mee te testen. Let op dat er een foutje zit in mmcspeedtest.sh: 2x calc.awk vervangen door ./calc.awk. Sterker nog: het script werkt helemaal niet op de DD-WRT firmware, vanwege een andere versie van 'dd'. Hier zijn mijn aangepaste scripts te vinden die wel werken.

Nu de resultaten met de standaard kernel module uit de DD-WRT v24 firmware (voor 1 GB Sandisk):

./mmcspeedtest.sh
now will write 32MB and afterwards read it again...
write-speed: 65536+0 records in
65536+0 records out
188 KB/s
read-speed: 65536+0 records in
65536+0 records out
217 KB/s


Bij een 16MB SanDisk haalde ik 256KB/s (write) en 240 KB/s (read). Ik heb ook een SDHC MicroSD kaartje van 8 GB geprobeerd, maar die kreeg ik niet aan de gang.

Niet echt om over naar huis te schrijven, ik denk dat ik de optimized kernel modules eens ga proberen. Maar dan moet ik eerst even wat draadjes (D0 en CLK) omsolderen.

Meer links

Links die ik in de loop der tijd verzamel met betrekking tot de Linksys WRT54g router kun je hier vinden.

Copyright © 1999-2010 by Maurice de Bijl. This article was published on 2009-01-08, the last update was done on 2009-01-14 in dd-wrt  wireless  how-to's  linksys  modding  diy projects  wrt54g

Was this article useful to you? Please help me by using the toolbar below to tweet the article, give it an eKudo or add it to Hyves, Facebook, Delicous, Digg or another site. Thanks!

Download article as PDF

Comments on this article

There are no comments on this article yet. You can be first.

Add comment

Adding a comment is simple and registration is not needed!

Your IP address is logged, but will not published, all comments need E-mail confirmation and are moderated one by one. Abuse is not tolerated. It is not possible to edit your comment afterwards.

Name:
E-mail address:

E-mail is only used for validation and will not published.

Comment:

Please write comments in the language of the article (Dutch) HTML is not allowed BB-code tags are.

POLL
What do you think of the site design?


Vote View

Please help me by voting
POPULAR TAGS
Show all tags
SEARCH KEYWORD
FOLLOW ME
TwitterGoogleRSSMail
TWITTERING
INFORMATION
Contents and design copyright © 1999-2010 by Maurice de Bijl.

This page has been requested 2767 times and is generated on 30-07-2010 03:10:28 CET in 312.07 msec op srv010106.webreus.nl, scripts revision# 1:23M

This site is best viewed with Firefox 3.0 or later, Opera 10.5 or later, Safari 3.0 or later or Safari on iPhone, Chrome 4 or later or Internet Explorer 9 or later

Valid HTML 4.01 TransitionalValid CSS!