More about the topic. I can mount the SD card with /etc/fstab or with:
"mount /dev/tssdcardb1 /mnt/"
When using 32 GB SD cards, I found that kernel 2.6.34-ts & 2.6.37.6 work
differently than the original 2.6.21-ts kernel. I had to change
drivers/mmc/host/tssdcard.c:
"int size" to "long long size" (line 188).
Then, I changed dev->size placeholders to %lld (lines 504, 1065) so that
compiler would give less warnings.
About line 857, there is:
set_capacity(dev->gd, dev->size * 512 / KERNEL_SECTOR_SIZE);
I have a 32 GB SD card with 62291968 sectors. This number is 26 bits long.
There is a multiplication with 512, as you can see from line 857. This makes
the number 35 bits long for a while, before diving it with KERNEL_SECTOR_SIZE,
which is defined in the same file as constant 512. I don't know how many bits
is an ordinary int in C, but apparently the int is not long enough. That's why
I use long long.
With another SD card, I had these kernel messages:
tssdcard: card /dev/tssdcardb has 62535680 sectors (LUN 1)
tssdcardb: tssdcardb1
tssdcardb: p1 size 62535648 exceeds device capacity, limited to end of disk
And end of disk was about 2 gigabytes... Anything beyond that was not
accessible.
Jaan
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|