主题 : SD卡问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 1489
精华: 0
发帖: 8
金钱: 80 两
威望: 17 点
综合积分: 16 分
注册时间: 2008-09-02
最后登录: 2009-05-12
楼主  发表于: 2008-09-04 02:18

 SD卡问题

我用的是qq2440v3的板,内核也是预装的
插入SD卡后出现一下信息,sd卡不能像u盘那样正常挂载。
是什么原因呢?请帮忙解答一下。 谢谢!



MMC: sd_app_op_cond timed out. Probably no SD-Card here.
MMC: sd_app_op_cond: at least one card is busy - trying again.
mmcblk0: mmc0:b368 SD    993792KiB
/dev/mmc/blk0:<7>MMC: starting cmd 37 arg b3680000 flags 00000009
unknown partition table
MMC: sd_app_op_cond: at least one card is busy - trying again.

会当凌绝顶,一览众山小!
级别: 总版主
UID: 2
精华: 18
发帖: 1656
金钱: 13915 两
威望: 5380 点
综合积分: 3672 分
注册时间: 2008-01-01
最后登录: 2026-07-25
1楼  发表于: 2008-09-04 10:12
现在提供的内核中没有加载SD驱动
友善之臂淘宝直销店:http://shop34928758.taobao.com

手机:13560352861(杨工),QQ:10108270
级别: 新手上路
UID: 1489
精华: 0
发帖: 8
金钱: 80 两
威望: 17 点
综合积分: 16 分
注册时间: 2008-09-02
最后登录: 2009-05-12
2楼  发表于: 2008-09-04 11:09
那就是说SD卡在当前的内核是不能用的是吧?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2008-09-04 11:48
mmcblk0: mmc0:b368 SD    993792KiB

奇怪了,没有加载SD卡驱动,这个信息是怎么出来的?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 1489
精华: 0
发帖: 8
金钱: 80 两
威望: 17 点
综合积分: 16 分
注册时间: 2008-09-02
最后登录: 2009-05-12
4楼  发表于: 2008-09-04 12:46
对呀,没有加载驱动班子怎么会识别SD卡的?
而且用你们的测试程序是可以正确检测得到SD卡的。

不过你们有说明是不带MMC的,我是初学,所以还不怎么懂这句话的意思。
还有就是在 QQ2440V3  用户手册里面有关于挂接 SD 卡的说明。
“2.4.4 使用SD 卡” 在57页。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
5楼  发表于: 2008-09-04 13:06
mmcblk0: mmc0:b368 SD    993792KiB
/dev/mmc/blk0:<7>MMC: starting cmd 37 arg b3680000 flags 00000009
unknown partition table


好了不浪费时间了,有这几句话至少可以说明

1. SD卡已经被检测到,并且数据可以从卡上读出
2. 这块SD卡的MBR里没有包含一个可识别的分区表

换句话说,正常情况下,这块卡会被作为一整块block设备而非单个的分区出现在系统中,类似于
/dev/mmc/blk0/disc这样的节点出现在文件系统中

所以,如果你用的是光盘上提供的内核镜像,假设设备节点是/dev/mmc/blk0/block,那只要把手册上2.4.4节的步骤稍许修改一下应该就行了
复制代码
  1. mount /dev/mmc/blk0/part1 /mnt/
改成
复制代码
  1. mount /dev/mmc/blk0/disc /mnt/


[ 此贴被kasim在2008-09-04 13:53重新编辑 ]
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 1489
精华: 0
发帖: 8
金钱: 80 两
威望: 17 点
综合积分: 16 分
注册时间: 2008-09-02
最后登录: 2009-05-12
6楼  发表于: 2008-09-04 22:20

 zaiRe:SD卡问题

我用重新制作的内核,可以用SD卡了,哈哈,高兴,多谢斑竹的帮忙啊!
不过我还有个问题就是我拔掉SD卡后再插入就又不行了,连重新挂载都不行,必须要重新启动才可以。
那我想问下,是不是要下取消挂载再拔卡?要如何取消呢?我有用过umount,可是没效果。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
7楼  发表于: 2008-09-05 06:35
拔掉SD卡后再插入就又不行了,连重新挂载都不行

你得把出错信息贴出来
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 1489
精华: 0
发帖: 8
金钱: 80 两
威望: 17 点
综合积分: 16 分
注册时间: 2008-09-02
最后登录: 2009-05-12
8楼  发表于: 2008-09-05 22:16
[root@FriendlyARM /mnt]# umount
[root@FriendlyARM /mnt]# ls
c.mpg  c.rmv

这是我取消挂载,但是不成功。


MMC: sd_app_op_cond timed out. Probably no SD-Card here.

拔卡后出现的信息;

ls
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3912)
FAT: Directory bread(block 3912) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3913)
FAT: Directory bread(block 3913) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3914)
FAT: Directory bread(block 3914) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3915)
FAT: Directory bread(block 3915) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3916)
FAT: Directory bread(block 3916) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3917)
FAT: Directory bread(block 3917) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3918)
FAT: Directory bread(block 3918) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3919)
FAT: Directory bread(block 3919) failed
再次在 /mnt/ 目录下执行 ls 命令出现的消息;

mmcblk0: mmc0:b368 SD    993792KiB
MMC: sd_app_op_cond: at least one card is busy - trying again.
重新插上 输出的信息;

ls
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3912)
FAT: Directory bread(block 3912) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3913)
FAT: Directory bread(block 3913) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3914)
FAT: Directory bread(block 3914) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3915)
FAT: Directory bread(block 3915) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3916)
FAT: Directory bread(block 3916) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3917)
FAT: Directory bread(block 3917) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3918)
FAT: Directory bread(block 3918) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3919)
FAT: Directory bread(block 3919) failed
再次执行 ls 命令出现的消息;

mount /dev/mmc/blk0/disc /mnt/
mount: Mounting /dev/mmc/blk0/disc on /mnt/ failed: Device or resource busy
再次挂载 sd 卡后出现的消息;

ls
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3912)
FAT: Directory bread(block 3912) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3913)
FAT: Directory bread(block 3913) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3914)
FAT: Directory bread(block 3914) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3915)
FAT: Directory bread(block 3915) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3916)
FAT: Directory bread(block 3916) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3917)
FAT: Directory bread(block 3917) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3918)
FAT: Directory bread(block 3918) failed
generic_make_request: Trying to access nonexistent block-device mmcblk0 (3919)
FAT: Directory bread(block 3919) failed
最后在 /mnt/ 目录下执行 ls 命令出来的消息。

帮忙看看是怎么回事呢?谢谢!
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
9楼  发表于: 2008-09-07 22:01
如果你把SD卡mount在/mnt目录的话,umount的时候最好不要在/mnt目录下执行,因为umount命令会修改/mnt目录的内容,你可以试试
复制代码
  1. cd / && umount /mnt
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."