I was poking around the driver for their WiFi card to investigate something. Then, I realized that they completely replace the sharp_sdmmc kernel module with their own SD/SDIO stack. So just for fun, I installed it and surprise, I can now read, write, and mount a Sandisk 2 GB SD card. So far, it's been working very reliably.

Now, the catches:

1) It works fine on my C760 (running Cacko 1.12). But, when I tried to install the modules on my 6000, I got kernel oopses. So, it may be very sensitive to the model/kernel that is running. This is not that surprising since C760 is one of the few models listed as supported on their website.

2) vfat filesystems are fine. I had some problems with ext2. I fixed it by reformatting my card with "mke2fs -b 1024 /dev/mmcda1". This driver doesn't seem to like block sizes > 1024.

Anyway, if you want to repeat my experiment, just download and install this ipk, and reboot the Zaurus:

Could someone tell me how to restart the sd control processes using either the original script from Dr Wowe or bimbo's version? I am running Cacko 1.23 Lite on a C860. When I install the ipk and reboot, I can read a 2GB or 4GB card fine. Once. But suspending or unmounting and removing the card kills the process and after that the sd slot is entirely dead. Inserting a card, trying to mount /dev/mmcda1, and other attempts all fail and don't even generate any error messages in dmesg. If I remove and reinstall the driver ipk, things work again. But only once.

I've tried quite a few commands to reset or restart the sd control processes when this happens, but apparently not the right ones, or at least not in the right order. What's the trick?

Could someone tell me how to restart the sd control processes using either the original script from Dr Wowe or bimbo's version? I am running Cacko 1.23 Lite on a C860. When I install the ipk and reboot, I can read a 2GB or 4GB card fine. Once. But suspending or unmounting and removing the card kills the process and after that the sd slot is entirely dead. Inserting a card, trying to mount /dev/mmcda1, and other attempts all fail and don't even generate any error messages in dmesg. If I remove and reinstall the driver ipk, things work again. But only once.

I've tried quite a few commands to reset or restart the sd control processes when this happens, but apparently not the right ones, or at least not in the right order. What's the trick?

I came across the same problem yesterday when reinstalling Cacko on my C860, this is how I managed to get it to work:

3)transfer to the Zaurus' usr/sbin directory to replace the original sdiomgr script. Make sure to set the appropriate file permission (easily done with TreeExplorerQT)4) Open this new script with ZEditor, and check the very first line. It should be: #!/bin/shBut chances are there will be a an extra character before the # (on my Japanese C860 its a square box). Somehow Windows had automatically added this character into the script rendering it useless. So delete this junk character and make sure you save the script as a UTF-8 encoding.5) Reboot and enjoy 2GB and above SD card support.

3)transfer to the Zaurus' usr/sbin directory to replace the original sdiomgr script. Make sure to set the appropriate file permission (easily done with TreeExplorerQT)4) Open this new script with ZEditor, and check the very first line. It should be: #!/bin/shBut chances are there will be a an extra character before the # (on my Japanese C860 its a square box). Somehow Windows had automatically added this character into the script rendering it useless. So delete this junk character and make sure you save the script as a UTF-8 encoding.5) Reboot and enjoy 2GB and above SD card support.

It's been a while, but I'm just jumping on this bandwagon (late as usual ). By following these instructions I'm able to use my Transcend 4gb card in my C860. YAH! BUT I've partitioned it into a 1gb ext2 & a 3gb fat32 & I'm experiencing the suspend problems others have mentioned (in my case the unit locks up & I have to do a hard restart).

I want to be able to install programs & other stuff on the ext2 & have a swap file there to. Has anyone found a fix to this problem? thks

I want to be able to install programs & other stuff on the ext2 & have a swap file there to. Has anyone found a fix to this problem? thks

Well I managed to get this setup stable as far as I can tell so far. For the archives in case anyone's interested, here's what I did.

First, put my hacked version of Cacko's /etc/sdcontrol script (see attachment). This will mount/umount all sd partitions listed in the /etc/fstab, so you need to add your card partitions there. Here's mine for an example:

You of course need to create the directories the partitions are to be mounted on (the second on /mnt/card1 in my example).

Now your Z will automatically mount all of your partitions when the card is inserted.

To overcome the suspend problem, I found I needed to eject the card before I suspended. When the Z resumes It'll automatically re-insert it & all's well. So I created a new apm script & symlinked it so it'll be run when the Z suspends.

I am using sharp-rom on my C860.Like "grog", I wish to use ext2 for my SD. However, I will use only ext2 on the whole 2G PQI SD card. I check my /etc, there is no apm.d. since "grog" mentioned that he got the problem when he used "bimbo"'s /usr/sbin/sdiomgr with one FAT partition and one ext2 partition, I guessed it is OK for me to use "bimbo"'s script with ext2 only. I used mke2fs -b 1024 /dev/mmcda1to format the SD. It won't automount although it should. I tried manually mount /mnt/cardIt complained that there is some issue with the mount parameter. So I guess that's becuase /etc/fstabso I changed the entry to/dev/mmcda1 /mnt/card ext2 defaults 0 0

Now I can manually mount, HoweverIt turn out to be, I can not see the SD mounted after I turn off the power and turn on again.

So I guess bimbo's script has some issue with ext2 partition, not with two partitions.Has any one a better solution to let ext2 partition work without sufferring from lost in suspend?

Another question: how can people who using sharp rom adapt grog's appraoch, whcih seems to work fine with ext2.

Another question: how can people who using sharp rom adapt grog's appraoch, whcih seems to work fine with ext2.

Does the card show up the first time after you've restarted/rebooted? Try to manually eject the card & then suspend. Is the card automatically remounted when you resume?

Depending on your results of the above tests, the fact that you can't set the apm scripts as I've lined out is probably the crux of the matter. The card needs to be ejected before you suspend. I would've thought that since Cacko is a Sharp-based ROM it would've used the same apm scheme. Obviously not.

If I can make some time (a very short commodity these days) I can flash back to Sharp & see if I can figure it out. In the mean time, if somebody else can shed some light for shelandy, that'd be great.

Another question: how can people who using sharp rom adapt grog's appraoch, whcih seems to work fine with ext2.

Does the card show up the first time after you've restarted/rebooted? Try to manually eject the card & then suspend. Is the card automatically remounted when you resume?

Depending on your results of the above tests, the fact that you can't set the apm scripts as I've lined out is probably the crux of the matter. The card needs to be ejected before you suspend. I would've thought that since Cacko is a Sharp-based ROM it would've used the same apm scheme. Obviously not.

If I can make some time (a very short commodity these days) I can flash back to Sharp & see if I can figure it out. In the mean time, if somebody else can shed some light for shelandy, that'd be great.

thanks for your answer. I have some thing to share with everyone:

the SD did not show up after the 1st time reboot. However, after I manually# mount /mnt/cardit came up. The problem was: I though it worked, so I started to install lots of packages into SD.then pressed the on/off button to turn it off.The next time I turned it on, the SD won't be mounted automatically, and I had no way to manually mount it because I installed the terminal package under SD So I installed another different terminal in the internal flash, manually mount the SD.then every thing is back.

However, since that, no matter how I turn on/off my Z, the SD is still mounted. This is counter-intuitive. I do not know why.

however, I still keep the terminal program installed in the internal flash, in case the SD can not be mounted automatically again during power/off.

I can not answer this, because it works for me in different way.

QUOTE

Try to manually eject the card & then suspend. Is the card automatically remounted when you resume?