SDCARD problem

bao
Hi all,

I created new linux system for the micro2440 with buildroot. I can boot the
system from NAND flash. From uboot, I can load the uImage from SDCARD by
ext2load command.

The problem is when the linux kernel is running, I can not see the SDCARD
in the /dev/ folder when I plug it in. Below is the output of the console
when I plug in my SDCARD.
 
mmc0: new SD card at address 1235
mmcblk0: mmc0:1235 APPSD 1.91 GiB 
 mmcblk0: p1

# ls /dev/mm*
ls: /dev/mm*: No such file or directory
# 

I think I am missing some driver for the MMC/SD but I can not figure it
out.
How can I configure the kernel in order to make the SDCARD work with the
kernel?

Thank you very much

davef
Think your key areas to search or <mdev> <udev> and <hotplug>.  Which
kernel are you using?  Any changes to it?

bao
Thank davef,

I am using the linux-2.6.32.2-mini2440-20100921.tar.gz tar ball to build
the kernel. The source came with the CD when I buy the board. I follow all
the steps in the manual when configuring the linux kernel (make
linux26-menuconfig)
 
With the pre-installed linux came with the board, everything is OK. So I
think it is not the hardware issue.

davef
I see you have an even later kernel than on the downloads page.  Or it is
specific for your board.

Sorry, can't really suggest anything more.  Unfortunately, the DVD kernel
images (for the mini2440) do not come with its companion configuration file
(for the touchscreen).  Likewise, for you? 

If they were included than you could do a <diff>.

Good luck

davef
I put back in the 2.6.32.2 I compiled and both the sdcard and udisk
automount, on the mini2440.

So, it appears that the configuration files they include in the source are
the ones they use to generate the images on the DVD.

You'll need some help from someone who has actually used the micro2440.  

BFN,
Daver

bao
Thank you very much, daver

By the way, what is the version of the linux you compiled, 2009 or 2010?
I will try to use this source on my micro 2440 and see if something happen
:D

davef
http://www.friendlyarm.net/dl.php?file=linux-2.6.32.2-mini2440_20100609.tgz

bao
I disabled the "Hardware support for SDIO IRQ" in the MMC/SD Driver option.
It get me to the following error:

Waiting for root device /dev/mmcblk0p3...
s3c-sdi s3c2440-sdi: running at 398kHz (requested: 400kHz).
s3c-sdi s3c2440-sdi: running at 16875kHz (requested: 25000kHz).
s3c-sdi s3c2440-sdi: running at 16875kHz (requested: 25000kHz).
mmc0: new SD card at address 1235
mmcblk0: mmc0:1235 APPSD 1.91 GiB 
 mmcblk0: p1 p2 p3
JBD: Clearing recovery information on journal
usb 1-1: new full speed USB device using s3c2410-ohci and address 2
mmcblk0: error -84 transferring data, sector 2486376, nr 8, card status
0xd00
end_request: I/O error, dev mmcblk0, sector 2486376
Buffer I/O error on device mmcblk0p3, logical block 131581
lost page write due to I/O error on mmcblk0p3
kjournald starting.  Commit interval 5 seconds
EXT3-fs warning (device mmcblk0p3): ext3_clear_journal_err: Filesystem
error recorded from previous mount: IO failure
EXT3-fs warning (device mmcblk0p3): ext3_clear_journal_err: Marking fs in
need of filesystem check.
mmcblk0: error -84 transferring data, sector 1433728, nr 8, card status
0xd00
usb 1-1: New USB device found, idVendor=058f, idProduct=9254
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1: Product: Generic USB Hub
usb 1-1: Manufacturer: ALCOR
usb 1-1: configuration #1 chosen from 1 choice
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
end_request: I/O error, dev mmcblk0, sector 1433728
Buffer I/O error on device mmcblk0p3, logical block 0
lost page write due to I/O error on mmcblk0p3
EXT3-fs warning: mounting fs with errors, running e2fsck is recommended
------------[ cut here ]------------
WARNING: at fs/buffer.c:1159 mark_buffer_dirty+0xcc/0xe8()
Backtrace: 
[<c00238dc>] (dump_backtrace+0x0/0x10c) from [<c02ca238>]
(dump_stack+0x18/0x1c)
 r7:c0340cdc r6:00000487 r5:c00a8170 r4:00000000
[<c02ca220>] (dump_stack+0x0/0x1c) from [<c0031208>]
(warn_slowpath_common+0x48/0x60)
[<c00311c0>] (warn_slowpath_common+0x0/0x60) from [<c0031238>]
(warn_slowpath_null+0x18/0x1c)
 r7:c340a240 r6:c03d0400 r5:c03c1fb0 r4:c3407000
[<c0031220>] (warn_slowpath_null+0x0/0x1c) from [<c00a8170>]
(mark_buffer_dirty+0xcc/0xe8)
[<c00a80a4>] (mark_buffer_dirty+0x0/0xe8) from [<c00e0fb0>]
(T.498+0x54/0x6c)
 r5:c3407000 r4:c39eca00
[<c00e0f5c>] (T.498+0x0/0x6c) from [<c00e1490>]
(ext3_setup_super+0xec/0x210)
 r7:c340a240 r6:c38e9200 r5:00000000 r4:c39eca00
[<c00e13a4>] (ext3_setup_super+0x0/0x210) from [<c00e2668>]
(ext3_fill_super+0xd0c/0x16e4)
 r7:c340a240 r6:c03d0400 r5:c39eca00 r4:c38e9200
[<c00e195c>] (ext3_fill_super+0x0/0x16e4) from [<c0088124>]
(get_sb_bdev+0x140/0x178)
[<c0087fe4>] (get_sb_bdev+0x0/0x178) from [<c00dfd98>]
(ext3_get_sb+0x24/0x30)
[<c00dfd74>] (ext3_get_sb+0x0/0x30) from [<c0087098>]
(vfs_kern_mount+0x58/0xe8)
[<c0087040>] (vfs_kern_mount+0x0/0xe8) from [<c0087184>]
(do_kern_mount+0x3c/0xe4)
 r8:00008000 r7:c38e81a0 r6:00000000 r5:c38e8180 r4:c038444c
[<c0087148>] (do_kern_mount+0x0/0xe4) from [<c009d6b4>]
(do_mount+0x158/0x6e4)
 r9:00000000 r8:c3823ee0 r7:c38e8180 r6:c38e81a0 r5:00000020
r4:00000000
[<c009d55c>] (do_mount+0x0/0x6e4) from [<c009dccc>] (sys_mount+0x8c/0xcc)
[<c009dc40>] (sys_mount+0x0/0xcc) from [<c0008c88>]
(mount_block_root+0x104/0x2bc)
 r7:00008000 r6:c001c808 r5:c3812000 r4:c3812000
[<c0008b84>] (mount_block_root+0x0/0x2bc) from [<c0008e94>]
(mount_root+0x54/0x6c)
[<c0008e40>] (mount_root+0x0/0x6c) from [<c0008fd4>]
(prepare_namespace+0x128/0x180)
 r5:c001c81d r4:c039d640
[<c0008eac>] (prepare_namespace+0x0/0x180) from [<c00084b0>]
(kernel_init+0xe0/0x114)
 r5:c001beec r4:c039d400
[<c00083d0>] (kernel_init+0x0/0x114) from [<c00342f0>] (do_exit+0x0/0x5cc)
 r5:00000000 r4:00000000
---[ end trace 35cab5e68ff31ffe ]---
mmcblk0: error -84 transferring data, sector 1433728, nr 8, card status
0xd00
end_request: I/O error, dev mmcblk0, sector 1433729
Buffer I/O error on device mmcblk0p3, logical block 0
lost page write due to I/O error on mmcblk0p3
EXT3 FS on mmcblk0p3, internal journal
EXT3-fs: mounted filesystem with writeback data mode.
VFS: Mounted root (ext3 filesystem) on device 179:3.
Freeing init memory: 92K
Populating /dev using udev: done
Initializing random number generator... done.
Starting network...
can't open /dev/ttySAC0: No such file or directory
can't open /dev/ttySAC0: No such file or directory
can't open /dev/ttySAC0: No such file or directory
mmcblk0: error -84 transferring data, sector 2486376, nr 8, card status
0xd00
end_request: I/O error, dev mmcblk0, sector 2486377
Buffer I/O error on device mmcblk0p3, logical block 131581
lost page write due to I/O error on mmcblk0p3
mmcblk0: error -84 transferring data, sector 2486384, nr 88, card status
0xd00
end_request: I/O error, dev mmcblk0, sector 2486385
end_request: I/O error, dev mmcblk0, sector 2486392
end_request: I/O error, dev mmcblk0, sector 2486400
end_request: I/O error, dev mmcblk0, sector 2486408
end_request: I/O error, dev mmcblk0, sector 2486416
end_request: I/O error, dev mmcblk0, sector 2486424
end_request: I/O error, dev mmcblk0, sector 2486432
end_request: I/O error, dev mmcblk0, sector 2486440
end_request: I/O error, dev mmcblk0, sector 2486448
end_request: I/O error, dev mmcblk0, sector 2486456
end_request: I/O error, dev mmcblk0, sector 2486464
mmcblk0: error -84 transferring data, sector 2486480, nr 224, card status
0xd00



Any idea?

davef
Sorry, I wouldn't have a clue.

Good luck,
Dave

bao
I replaced the SDCARD and can get away from the I/O error. But I am facing
another strange problem:

NET: Registered protocol family 17
s3c-sdi s3c2440-sdi: running at 16875kHz (requested: 25000kHz).
s3c-sdi s3c2440-sdi: running at 16875kHz (requested: 25000kHz).
mmc0: new SDHC card at address 8fe4
s3c2410-rtc s3c2410-rtc: setting system clock to 2005-07-02 20:13:08 UTC
(1120335188)
Waiting for root device /dev/mmcblk0p3...
mmcblk0: mmc0:8fe4 SD04G 3.69 GiB 
 mmcblk0: p1 p2 p3
kjournald starting.  Commit interval 5 seconds
EXT3 FS on mmcblk0p3, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) on device 179:3.
Freeing init memory: 156K
Populating /dev using udev: done
Initializing random number generator... done.
Starting network...
can't open /dev/ttySAC0: No such file or directory
can't open /dev/ttySAC0: No such file or directory
can't open /dev/ttySAC0: No such file or directory
can't open /dev/ttySAC0: No such file or directory
can't open /dev/ttySAC0: No such file or directory
can't open /dev/ttySAC0: No such file or directory
can't open /dev/ttySAC0: No such file or directory
can't open /dev/ttySAC0: No such file or directory
can't open /dev/ttySAC0: No such file or directory


I am sure that I already have the ttySAC0 node on the /dev folder
Do you have any clue about that, dave?
Thanks

davef
While in minicom do a <printenv> and see what environment variables you
have.

Where did you get the u-boot.bin or u-boot-variant.bin from?

Also, I am confused here . . . the Product Comparison for the micro2440
says that it doesn't have a SD card slot.

Phil_in_China
The micro2440 does have an SD card slot, it's just in the product
comparison you need to look at the micro SDK-board rather than the 
stamp module, but it is confusing.
Phil

bao
Sorry, I mean the micro2440 SDK board with 7 inch TFT LCD
My bad :)

bao
OK, now I am able to get the console working when booting from SDCARD.
The thing is when the system is booted, all the /dev/ttySACx node
disappear, and the /dev/s3c2410_serialx show up. I don't know why. It never
happen when I boot from NAND flash.

I had to replace this line on the etc/inittab file

ttySAC0::respawn:/sbin/getty -L ttySAC0 115200 vt100 # GENERIC_SERIAL
to:
s3c2410_serial0::respawn:/sbin/getty -L s3c2410_serial0 115200 vt100

Hope that will help for other micro2440 SDK users :)

My old SDCARD work fine with my PC, my camera but could not work with the
2440 board. May be it is a bug in the MMC driver. May be someone can fix
it. :D
Now, it is time for the CUPS and HPLIP