Okay - so I ran out to Walmart and got a new MicroSD card. This is a Sandisk 2GB. Plugged it in, recycled the router (to clear out the other stuff since I don't have the driver being loaded at startup), and loaded the "optimized version of mmc.o (beginning of this post, used version 1.3.4, GPIO2) into temp, and ran "insmod mmc.o". This is the "dmesg | grep mmc" after:
[INFO] mmc_hardware_init: initializing GPIOs
[INFO] mmc_card_init: the period of a 380KHz frequency lasts 524 CPU cycles
[INFO] mmc_card_init: powering card on. sending 80 CLK
[INFO] mmc_card_init: 80 CLK sent in 43646 CPU cycles
[INFO] mmc_card_init: resetting card (CMD0)
[INFO] mmc_card_init: doing initialization loop
[INFO] mmc_card_init: card inited successfully in 460 tries (14190890 CPU cycles).
[INFO] mmc_init: MMC/SD Card ID:
[INFO] mmc_card_config: size = 1931264, hardsectsize = 1024, sectors = 1931264
[WARN] mmc_init: hd_sizes=1931264, hd[0].nr_sects=3862528
[INFO] mmc_card_init: set_blocklen (CMD16) succeeded !
mmca: p1
I checked /dev and it can see the card.
So I went back into the WebUI and enabled the WebUI, set MMC device to enable, set GPIO pins select to Manual --> DI: 2 D0: 4 CLK: 3 CS: 7 and setting JFFS2 Support to enabled, Clean JFFS2 to disabled. I rebooted the router, and it rebooted a few times, with the both LEDs / flashing. It settled in after a little bit (5-10 minutes) with the Orange LED set, and then showing the Total / Free Size as 2,816.00 KB / 0 --> which we all know means it isn't working (especially since it is only a 2 GB card). After rebooting the, dmesg | grep mmc showed:
root@DD-WRT:~# dmesg |grep mmc
mmc: starting module with: SD_DI=0x4, SD_DO=0x10, SD_CLK=0x8, SD_CS=0x80
mmc: this board has no MMC mod installed!
mmc: error in mmc_init (-1)
Which seems really odd to me what pins it is showing. Is it just me ... Or are these not what I set in the UI (UI still shows the DI: 2 D0: 4 CLK: 3 CS: 7)?
So I set the MMC Device to disabled, but left the JFFS2 to enabled and rebooted the router. After it came back up I did the following:
-SCP'd into the box and copied the optimized mmc.o up to /tmp. I can not get wget to work on DD-WRT (have no idea why).
-telneted into the box and did "rm mmc.o" from the /lib/modules/2.4.36 directory. It prompted, and I said y. However, after I did an ls it still shows in the directory. Not sure why it wouldn't remove.
-I then changed the directory to /tmp and checked that the uploaded mmc.o was there - it was. So from /tmp I ran mmc.o.
-I then ran dmesg again, and got this:
[INFO] mmc_hardware_init: initializing GPIOs
[INFO] mmc_card_init: the period of a 380KHz frequency lasts 524 CPU cycles
[INFO] mmc_card_init: powering card on. sending 80 CLK
[INFO] mmc_card_init: 80 CLK sent in 43646 CPU cycles
[INFO] mmc_card_init: resetting card (CMD0)
[FATAL] mmc_card_init: invalid response from card: ff found, waiting for 01
[INFO] mmc_card_init: the period of a 380KHz frequency lasts 524 CPU cycles
[INFO] mmc_card_init: powering card on. sending 80 CLK
[INFO] mmc_card_init: 80 CLK sent in 43271 CPU cycles
[INFO] mmc_card_init: resetting card (CMD0)
[FATAL] mmc_card_init: invalid response from card: ff found, waiting for 01
[ERROR] mmc_init: got an error calling mmc_card_init: 01
[ERROR] mmc_check_media: change detected but was not able to initialize new card: ffffffff
After wanting to throw the computer, the router, and every other inanimate object out the window .... I:
-rebooted the router (from the command line),
-checked the dmesg to ensure there wasn't anything there.
-I then went back into the WebUI and turned the JFFS2 to disabled, still leaving the MMC disabled in the WebUI, saved and rebooted.
-I uploaded the optimized mmc.o to /tmp.
-I telneted into the box, checked that the mmc.o was there, then ran "insmod mmc.o"
-ran dmesg, and same output as above (the errorring one).
Really ready to throw the thing, I went back to the unit, checked my solders, then figured I would cycle it by unplugging and replugging in the power. So I did that.
-I then uploaded the mmc.o to /tmp.
-telneted into it and from /tmp ran "insmod mmc.o".
-dmesg | grep mmc shows:
[INFO] mmc_hardware_init: initializing GPIOs
[INFO] mmc_card_init: the period of a 380KHz frequency lasts 524 CPU cycles
[INFO] mmc_card_init: powering card on. sending 80 CLK
[INFO] mmc_card_init: 80 CLK sent in 43649 CPU cycles
[INFO] mmc_card_init: resetting card (CMD0)
[INFO] mmc_card_init: doing initialization loop
[INFO] mmc_card_init: card inited successfully in 531 tries (16381213 CPU cycles).
[INFO] mmc_init: MMC/SD Card ID:
[INFO] mmc_card_config: size = 1931264, hardsectsize = 1024, sectors = 1931264
[WARN] mmc_init: hd_sizes=1931264, hd[0].nr_sects=3862528
[INFO] mmc_card_init: set_blocklen (CMD16) succeeded !
mmca: p1
So .... I know this has been REALLY long .... but I have a couple of questions:
-First, any idea for this behavior? First why the optimized mmc.o from this works, but the one that the GUI is trying to load from the kernel is bombing?
-Next, why the mmc.o file from the /lib/modules/2.4.36/ can't be removed?
-Why wget doesn't work in DD-WRT?
-How I should go about getting this to mount so I don't have to do this every time I have to reboot ....
Thanks!
Spencer