LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 720|回复: 3

[已解决]请教一个挂载读卡器的问题。

[复制链接]
发表于 2011-4-14 09:34:04 | 显示全部楼层 |阅读模式
需要挂载一个CF卡,在windows下挂载无压力,gentoo下无法自动挂载。按照网上的提示,编译了内核ehci_hcd模块,目前fdisk能看到/dev/sdb 诡异的是,在/dev/目录下不存在/dev/sdb1 而fdisk -l能看到。

#lsmod
ehci_hcd               34988  0
....

#fdisk -l

Disk /dev/sdb: 1008 MB, 1008451584 bytes
32 heads, 63 sectors/track, 977 cylinders, total 1969632 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        8064     1969631      980784    6  FAT16

# mount /dev/sdb1 /mnt/udisk/
mount: special device /dev/sdb1 does not exist

而/dev目录下确实没有sdb1这个特殊文件。

不解中,望各位不吝赐教。
发表于 2011-4-14 11:04:38 | 显示全部楼层
贴贴插入时的log,估计应该有error

再就是尝试 hdparm -z , 让kernel 重新读 指定设备的分区表
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-4-14 11:26:17 | 显示全部楼层
感谢darrenlee ,问题初步解决。

如您所述,确实插入的时候报错了。

sigmav sigmax6 # dmesg| tail
scsi24 : usb-storage 8-1:1.0
scsi 24:0:0:0: Direct-Access     USB Mass  Storage Device       PQ: 0 ANSI: 0 CCS
sd 24:0:0:0: Attached scsi generic sg1 type 0
sd 24:0:0:0: [sdb] 1969632 512-byte logical blocks: (1.00 GB/961 MiB)
sd 24:0:0:0: [sdb] Write Protect is off
sd 24:0:0:0: [sdb] Mode Sense: 03 00 00 00
sd 24:0:0:0: [sdb] No Caching mode page present
sd 24:0:0:0: [sdb] Assuming drive cache: write through
sd 24:0:0:0: [sdb] No Caching mode page present
sd 24:0:0:0: [sdb] Assuming drive cache: write through
sigmav sigmax6 # dmesg| tail
sd 24:0:0:0: [sdb] Assuming drive cache: write through
sd 24:0:0:0: [sdb] No Caching mode page present
sd 24:0:0:0: [sdb] Assuming drive cache: write through
sd 24:0:0:0: [sdb] Unhandled sense code
sd 24:0:0:0: [sdb]  Result: hostbyte=0x00 driverbyte=0x08
sd 24:0:0:0: [sdb]  Sense Key : 0x3 [current]
sd 24:0:0:0: [sdb]  ASC=0x11 ASCQ=0x0
sd 24:0:0:0: [sdb] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 08 00
end_request: I/O error, dev sdb, sector 0
Buffer I/O error on device sdb, logical block 0

执行hdparm -z 之前 fdisk -l 状态不变
cannot access /dev/sdb1: No such file or directory

执行hdparm -z /dev/sdb

/dev/sdb:
re-reading partition table

再进行挂载
sigmav sigmax6 # ls /dev/sdb1
/dev/sdb1
sigmav sigmax6 # mount /dev/sdb1 /mnt/udisk/
成功,并且可以看到里面的内容。

这里有两个疑问。

1、 既然hdparm读取能够正常识别,为什么插入的时候不能直接识别呢? 目前每次都要执行hdparm才能挂载。

2、 我用的thunar-volman进行自动挂载 这好象是和udev有关,之前又一次居然识别出来并且正确挂载了(只出现过一次),目前十分不解。
回复 支持 反对

使用道具 举报

发表于 2011-4-14 11:35:16 | 显示全部楼层
不太清楚,也许是读卡器质量不好,不稳定,而kernel又不去尝试反复读分区表

--以上是乱猜的,没根据  :yun:
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表