Author Topic: Mmc Soldered. Driver Almost Working  (Read 33389 times)

guylhem

  • Hero Member
  • *****
  • Posts: 577
    • View Profile
Mmc Soldered. Driver Almost Working
« on: September 06, 2005, 12:45:12 pm »
Hello

Just to let you know the MMC has been soldered into the simpad, and the driver is being developped. Currently some basic tests (like powering on and off leds from a kernel module) work fine.

Attention - the picture on my website has the MMC card drawn backwards. it should read "Top view" instead of "bottom view".

I'll fix the picture.

Guylhem

miip

  • Newbie
  • *
  • Posts: 6
    • View Profile
Mmc Soldered. Driver Almost Working
« Reply #1 on: September 06, 2005, 02:43:58 pm »
Very good work Guylhem!

guylhem

  • Hero Member
  • *****
  • Posts: 577
    • View Profile
Mmc Soldered. Driver Almost Working
« Reply #2 on: September 07, 2005, 06:54:27 am »
BTW before killing my bluetooth chip (my own fault) I could get reliably speed up to 230 400 kbit/s.

I will release my custom 2.4.25 (backported bluetooth stack, custom mmc driver, support for 128 Mb) as soon as the mmc driver works.... it *almost* does.

laurens

  • Newbie
  • *
  • Posts: 5
    • View Profile
Mmc Soldered. Driver Almost Working
« Reply #3 on: September 07, 2005, 10:33:31 am »
Does anyone know where to get those MD35 DECT module flatcable and/or connectors Guylhem is talking about in his Creating a "beautiful" Bluetooth module for the Siemens Simpad SL4?

dhns

  • Hero Member
  • *****
  • Posts: 699
    • View Profile
    • http://www.goldelico.com
Mmc Soldered. Driver Almost Working
« Reply #4 on: September 07, 2005, 11:01:17 am »
Quote
Does anyone know where to get those MD35 DECT module flatcable and/or connectors Guylhem is talking about in his Creating a "beautiful" Bluetooth module for the Siemens Simpad SL4?
[div align=\"right\"][{POST_SNAPBACK}][/a][/div]
I don't know about the MD35, but for the MD32 or 34 try: [a href=\"http://www.tis-gmbh.de/md32-34.html?&L=1]http://www.tis-gmbh.de/md32-34.html?&L=1[/url]

-- hns
SL5500G, C860, C3100, WLAN, RTM8000, Powerbook G4, and others...
http://www.handheld-linux.com
http://www.quantum-step.com

albertr

  • Hero Member
  • *****
  • Posts: 535
    • View Profile
    • http://
Mmc Soldered. Driver Almost Working
« Reply #5 on: September 07, 2005, 11:26:28 am »
Why would one need a cable if flying leads could easily be soldered?

Any technical details on what "almost working" means in this context?

-albertr

guylhem

  • Hero Member
  • *****
  • Posts: 577
    • View Profile
Mmc Soldered. Driver Almost Working
« Reply #6 on: September 08, 2005, 04:52:50 am »
I don't know why I needed a cable - maybe to make a pretty module that can easily be plucked out of the simpad for improvement, so that everytime I had to solder/unsolder stuff on it, I could do that easily without risking frying the simpad motherboard :-)

Regarding the "almost working" :
# insmod simpad-mmc.o
mmc: GPIO init
mmc: initialising MMC
GPIO_SD_CS dir: 1 alt: 0
GPIO_SD_DI dir: 1 alt: 0
GPIO_SD_DO dir: 0 alt: 0
GPIO_SD_CS dir: 1 alt: 0
mmc: card init 1/2
mmc: card init 2/2
mmc: card init 3/3
Size = 249856, hardsectsize = 512, sectors = 499712
Partition check:
 mmc/disc0/disc: p1
# cat /etc/fstab|grep mmcroot@simpad:~# cat /etc/fstab |grep mmc
/dev/mmc/disc0/part1    /mnt/mmc        ext2            defaults,sync,noatime  0 0
# mount /mnt/mmc
# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/root                24320     20440      3880  84% /
tmpfs                    61868        36     61832   0% /var
/dev/mtdblock/2           8192      6492      1700  79% /home
/dev/hda1               125034     45654     79380  37% /mnt/cf
/dev/mmc/disc0/part1    241949        20    229437   0% /mnt/mmc

Sweet- 256 Mb in R/W on my simpad ! Along with my 128 Mb of RAM and internal bluetooth, it makes it a nice machine - the ultimate Zaurus once I get my Sandisk wifi+128 Mb CF working inside !

Currently merging home and root on the mtdblock - I will put Qtopia, my home and everything else (/opt) on mmc instead...

The driver only needs to be powersaving aware to be complete. (ie when receiving a apm suspend signal, finish its operation, and reinit the card on resume)

Anyway for now, and after some tests, I consider it a 99% success. The remaining 1% (powersaving) will be fixed when necessary.

The files will soon be available on my website.

Guylhem

guylhem

  • Hero Member
  • *****
  • Posts: 577
    • View Profile
Mmc Soldered. Driver Almost Working
« Reply #7 on: September 08, 2005, 06:40:19 am »
http://externe.net/zaurus/simpad-bluetooth/

Everything has been uploaded. Enjoy

geron

  • Newbie
  • *
  • Posts: 7
    • View Profile
Mmc Soldered. Driver Almost Working
« Reply #8 on: September 08, 2005, 07:33:17 am »
This is very interesting, indeed. I'm wondering what read/write performance you did achieve on the mmc...

guylhem

  • Hero Member
  • *****
  • Posts: 577
    • View Profile
Mmc Soldered. Driver Almost Working
« Reply #9 on: September 08, 2005, 09:04:33 am »
What do you want me to run to test it ? some timed dd ? give me a command line and I'll test it.

geron

  • Newbie
  • *
  • Posts: 7
    • View Profile
Mmc Soldered. Driver Almost Working
« Reply #10 on: September 08, 2005, 09:40:54 am »
How about this:

date ; dd bs=4096 count=10000 if=/dev/zero of=/mnt/mmc/test ; sync ; date

This will write 40MB to the MMC and flush the cache. Then reboot to clean the cache and reread the file:

date ; cat /mnt/mmc/test  > /dev/null ; date
« Last Edit: September 08, 2005, 09:41:58 am by geron »

albertr

  • Hero Member
  • *****
  • Posts: 535
    • View Profile
    • http://
Mmc Soldered. Driver Almost Working
« Reply #11 on: September 08, 2005, 11:06:19 am »
Thanks for clarification, but I would like to see the output of `ls -la  /mnt/mmc` at least

What particular brand of card do you use? It would be interesting to see tests of reading/writing from/to MMC simultaneously with high I/O activity of CF card to see if there's any timing problems under stress conditions. Someting like mounting NFS/SAMBA volume over CF wired/wireless link, and then  do something like this:

cd /mnt/nfs; tar cvf -  . | (cd /mnt/mmc; tar xvpf - )

and then compare MD5 sums, of course...
-albertr

guylhem

  • Hero Member
  • *****
  • Posts: 577
    • View Profile
Mmc Soldered. Driver Almost Working
« Reply #12 on: September 08, 2005, 02:13:54 pm »
root@simpad:/mnt/mmc# date ; dd bs=256k count=64 if=/dev/zero of=/mnt/mmc/test ;sync; date
Thu Sep  8 17:15:19 UTC 2005
64+0 records in
64+0 records out
Thu Sep  8 17:17:19 UTC 2005
root@simpad:/mnt/mmc#
root@simpad:/mnt/mmc#
root@simpad:/mnt/mmc# ls -l test
-rw-r--r--    1 root     root     16777216 Sep  8 17:15 test

(reboot)

root@simpad:/mnt/mmc# date ; cat /mnt/mmc/test > /dev/null ; date
Thu Sep  8 17:13:23 UTC 2005
Thu Sep  8 17:15:22 UTC 2005

16384/120=136 ko/s in read, same in write. Not so bad.

Regarding corruption, don't worry. I've put binaries- they haven't been corrupted :-)

albertr

  • Hero Member
  • *****
  • Posts: 535
    • View Profile
    • http://
Mmc Soldered. Driver Almost Working
« Reply #13 on: September 08, 2005, 07:20:46 pm »
Sounds promising.... So, you haven't experienced any problems? How long are you using it? I'll try to give it a shot when time permits, being very busy lately.
-albertr

albertr

  • Hero Member
  • *****
  • Posts: 535
    • View Profile
    • http://
Mmc Soldered. Driver Almost Working
« Reply #14 on: September 17, 2005, 06:18:57 pm »
I've soldered a SD/MMC socket to Simpad and was trying to use guylhem's driver. Unfortunately, I'm having problems with 32MB MMC card that I have.

Sometimes I'm getting the following error messages:
Code: [Select]
mmc: GPIO init
mmc: initialising MMC
GPIO_SD_CS dir: 1 alt: 0
GPIO_SD_DI dir: 1 alt: 0
GPIO_SD_DO dir: 0 alt: 0
GPIO_SD_CS dir: 1 alt: 0
mmc: card init 1/2
mmc: card init 255 error
GPIO_SD_CS dir: 1 alt: 0
GPIO_SD_DI dir: 1 alt: 0
GPIO_SD_DO dir: 0 alt: 0
GPIO_SD_CS dir: 1 alt: 0
mmc: card init 1/2
mmc: card init 255 error
mmc: error 1 in mmc_card_init
mmc: error -1 in mmc_init

Sometimes it gets alittle bit further, but I still get errors:

Code: [Select]
mmc: GPIO init
mmc: initialising MMC
GPIO_SD_CS dir: 1 alt: 0
GPIO_SD_DI dir: 1 alt: 0
GPIO_SD_DO dir: 0 alt: 0
GPIO_SD_CS dir: 1 alt: 0
mmc: card init 1/2
mmc: card init 2/2
mmc: card init 3/3
Size = 31360, hardsectsize = 512, sectors = 62720
Partition check:
 mmca:end_request: I/O error, dev 79:00 (mmc), sector 0
end_request: I/O error, dev 79:00 (mmc), sector 2
end_request: I/O error, dev 79:00 (mmc), sector 4
end_request: I/O error, dev 79:00 (mmc), sector 6
end_request: I/O error, dev 79:00 (mmc), sector 0
end_request: I/O error, dev 79:00 (mmc), sector 2
end_request: I/O error, dev 79:00 (mmc), sector 4
end_request: I/O error, dev 79:00 (mmc), sector 6
 unable to read partition table

Either way, so far I was not able to do anything useful with this card on Simpad. The card has a single primary partition type 6 that is formated FAT16. It works fine in my cell phone, notebook and two different Zauruses.

It looks it's able to read card's physical parameters sometimes, so wiring must be correct. Any idea what could be wrong?

I'll try to find some old Sandisk 128MB SD card that I have somewhere and give it a try too.
-albertr