标签: sd-card

Eye-FI SD 卡不适用于内置读卡器

我想让我的读卡器和 eye-fi SD 卡一起工作。

我的系统如下:

#uname -a
Linux computer 3.2.0-0.bpo.2-amd64 #1 SMP Thu Mar 15 20:46:44 UTC 2012 x86_64 GNU/Linux

Debian Squeeze

lspci -nn
...
02:00.0 System peripheral [0880]: JMicron Technology Corp. SD/MMC Host Controller [197b:2382] (rev 80)
02:00.2 SD Host controller [0805]: JMicron Technology Corp. Standard SD Host Controller [197b:2381] (rev 80)
02:00.3 System peripheral [0880]: JMicron Technology Corp. MS Host Controller [197b:2383] (rev 80)

### AT BOOT
mmc0: no vmmc regulator found
Registered led device: mmc0::
mmc0: SDHCI …
Run Code Online (Sandbox Code Playgroud)

linux drivers debian sd-card

6
推荐指数
1
解决办法
2267
查看次数

无法访问 SD 卡(不过可以在旧​​诺基亚中使用)

背景

我有两张外观相同的 2GB microSD 卡,在“2GB microSD”标志下都标有“SD-C02G JAPAN”。

我的问题是,除了旧的诺基亚 5310 "XpressMusic"之外,我无法在任何设备上阅读其中一个 。手机快要死了,我的意思是它很难操作(功能失调的键,显示器发疯),但它可以读/写卡的事实让我相信卡没有坏(不管那意味着什么)。

(我愿意相信这张卡已经死了,只是把它扔进垃圾桶,但我不得不忍受这样的问题:为什么旧的诺基亚仍然可以读取它?)

我还应该提一下,这张卡可能之前已经在诺基亚手机中通过某种技术加密了(不是同一台机器,而是另一块相同型号的手机,现在也已经死了。)。(“可能”,因为房子里有更多的卡片,我知道其中一张已经过加密,而且由于到处都是其他工作,我认为就是这张卡片)。

方法/输出

现在我用两张卡尝试了其他方法(我将主要描述“坏”卡行为):

  • (A) 两款不同的安卓手机,都显示卡根本没有插入,因此不提供格式化选项

  • (B) 一台装有 Ubuntu 12.04 LTS(内核 3.2.0-37-generic,x86_64)的 PC,使用小型金士顿 USB 记忆棒大小的 microSD 读卡器

  • 一台带有 Debian Wheezy(内核 3.0.0.1-amd64)的笔记本电脑,使用

    • (C) 与 (B) 相同的方法;lsusb 告诉我:

      Bus 001 Device 005: ID 14cd:121c Super Top microSD card reader
      
      Run Code Online (Sandbox Code Playgroud)
    • (D) 一个内置的,即 PCI SD 读卡器(借助 microSD 转 SD 适配器,因为读卡器没有足够小的插槽);lspci 告诉我:

      15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
      
      Run Code Online (Sandbox Code Playgroud)

(A) 没有给我任何有用的信息,据我所知,(B) 和 (C) 的行为是一样的。因此,我将(C)和(D)与“好”和“坏”卡进行比较:

mkdosfs

使用方法 …

linux debian sd-card

6
推荐指数
1
解决办法
4970
查看次数

如何在uboot中将sd卡设为默认启动?

U-Boot 2013.07 (Nov 21 2013 - 18:12:40)

Memory: ECC disabled
DRAM:  1 GiB
MMC:   zynq_sdhci: 0
SF: Detected N25Q128A with page size 64 KiB, total 16 MiB
In:    serial
Out:   serial
Err:   serial
Net:   Gem.e000b000
Hit any key to stop autoboot:  0
SF: Detected N25Q128A with page size 64 KiB, total 16 MiB
SF: 11010048 bytes @ 0x520000 Read: OK
Wrong Image Format for bootm command
ERROR: can't get kernel image!
U-Boot-PetaLinux>
Run Code Online (Sandbox Code Playgroud)

然后我会输入run sdboot,它会从 sd 卡启动,我在其中放置了一个用于 sd 启动的图像。 …

u-boot sd-card

6
推荐指数
1
解决办法
1万
查看次数

dd,以一种块大小查找,以另一种块大小写入

背景资料:

  • 将一些 .bin 文件复制到 SD 卡(由嵌入式设备读取,没有文件系统)
  • 调试卡需要擦除某些段(即清零),而其他段则需要将二进制文件复制到其中
  • 使用 subprocess 模块从 python 脚本调用 dd(因为所涉及的 dd 操作是由一种需要首先解析和验证的配置脚本触发的,我还让用户确认该操作,因为他们可能会删除一个重要的磁盘被误认为是 SD 卡)

问题:

写入 SD 卡很慢,bs=512。对于大跨度,bs=8M 要快得多。

是否有可能以某种方式 'bs=512 seek={n_small_blocks}' 然后更改为 'bs=8M' 以进行实际写入(一旦我找到了正确的位置)?

我找到了以下资源:http : //www.delorie.com/gnu/docs/textutils/coreutils_65.html

但我不清楚为什么需要 2 次调用,以及它们如何协同工作以完成指南声称的任务。


更新

在这里找到答案:

https://superuser.com/questions/380717/how-to-output-file-from-the-specified-offset-but-not-dd-bs-1-skip-n

在下面查看我的完整解决方案

dd sd-card disk

6
推荐指数
1
解决办法
1497
查看次数

Grub 2 无法访问 /dev/mmcblk0p1,即 SD 卡

我正在运行 Ubuntu 16.04(64 位桌面)并希望将其中一个引导分区放在 SD 卡上,该分区格式为 ext4,并且是 /dev/mmcblk0p1。Grub 从硬盘启动,我希望它保持这种状态。

当我中断启动过程并使用 Grub 命令行时,ls命令仅列出硬盘驱动器。它没有列出 SD 卡。

更多信息:我手动添加了 /boot/grub/device.map 包含 (hd1) /dev/mmcblk0 但 (hd1) 没有出现在 grub 命令行ls 中

接下来,我删除了手动生成的 /boot/grub/device.map 文件并使用以下命令创建了一个: sudo grub-mkdevicemap -n /dev/mmcblk0p1 这导致:​​ (hd0) /dev/disk/by-id/mmc-SP256_0xc0137d70 (hd1) /dev/disk/by-id/ata-AXNS381E-256GM-B_2F4120019993

然后,sudo update-grub。但这也不起作用。Grub 命令行仍然只列出硬盘驱动器 hd0。我已经做了数小时的研究和试验,但没有任何成功。

如何从 Grub 2 访问 mmcblk0p1,以便将其用作引导分区之一?

grub2 sd-card

6
推荐指数
0
解决办法
2335
查看次数

通过内核跟踪定义故障 SD 卡的状态?

我有一系列失败/有时失败的 SD 卡。它们要么提供以下dmesg输出之一:

完全死掉的(不要在 处列出/dev/mmcblk0):

[  +0,000010] mmc0: error -110 whilst initializing SD card 
[  +2,819983] mmc0: card never left busy state
Run Code Online (Sandbox Code Playgroud)

失败的(偶尔仍然可以安装):

[Jun16 06:28] mmc0: new high speed SDHC card at address 0001
[  +0,000339] mmcblk0: mmc0:0001 00000 3.68 GiB 
[  +0,002835]  mmcblk0: p1 p2 p3 p4
[ +10,256689] mmcblk0: timed out sending r/w cmd command, card status 0x900
[ +11,264358] mmcblk0: timed out sending r/w cmd command, card status 0x900
[  +0,000016] print_req_error: I/O …
Run Code Online (Sandbox Code Playgroud)

debugging linux-kernel sd-card

6
推荐指数
1
解决办法
3989
查看次数

USB mmcblk 支持(realtek 或其他)

USB 读卡器能否显示为 /dev/mmcblk0 并支持 MMC ioctl 命令?

我看到有一些内核驱动程序模块,例如:

rtsx_usb_sdmmc.ko  (rtsx-usb-sdmmc)
rtsx_usb.ko (rtsx-usb)
Run Code Online (Sandbox Code Playgroud)

这些可以使连接到 USB 总线的 realtek 读卡器看起来像一个真正的 MMC 设备吗?我注意到我有权访问的所有 USB 读卡器都显示为 /dev/sdX。这似乎是一个模拟的 SCSI 设备。这些模拟 SCSI 设备不支持所有 MMC 操作 (ioctl)。

是否有某些 USB 连接的读卡器(芯片)显示为 /dev/mmcblkX 而不是 /dev/sdX?

这将允许卡支持 blkdiscard、trim 或 fstrim。

usb sd-card mmc

6
推荐指数
1
解决办法
735
查看次数

“错误:磁盘外不能有分区!” 即使扇区数量很好

我正在查看一个使用 SD 卡创建的图像文件,dd并以 Raspbian(上面有我不久前编译的 Qt 5.7)作为输入。调用时

sudo parted raspbian_jessie_qt5.7_all_modules.img unit s print
Run Code Online (Sandbox Code Playgroud)

我明白了

Error: Can't have a partition outside the disk!
Run Code Online (Sandbox Code Playgroud)

fdisk我使用以下命令检查了分区

sudo fdisk -lu rasp_jessie_qt5.7.img
Run Code Online (Sandbox Code Playgroud)

具有以下输出

Disk rasp_jessie_qt5.7.img: 7.8 GiB, 8328838656 bytes, 16267263 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
Disklabel type: dos
Disk identifier: 0x65a3fac2

Device                 Boot  Start      End  Sectors  Size Id Type
rasp_jessie_qt5.7.img1        8192   131071 …
Run Code Online (Sandbox Code Playgroud)

filesystems dd fdisk parted sd-card

5
推荐指数
1
解决办法
2万
查看次数

ext2fs_open2:超级块中的错误幻数

我正在尝试调整 Linux 分区的大小,但在对该磁盘进行了大量调整后,我不知道我是否已完全损坏它。

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sdd1  *          64  5913631  5913568  2.8G 17 Hidden HPFS/NTFS
/dev/sdd2        5913632  5915039     1408  704K  1 FAT12
/dev/sdd3        5915040 17578125 11663086  5.6G 83 Linux
/dev/sdd4       17578126 28320312 10742187  5.1G 83 Linux
Run Code Online (Sandbox Code Playgroud)

使用dd删除分区并创建新分区我得到

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sdd1  *          64  5913631  5913568  2.8G 17 Hidden HPFS/NTFS
/dev/sdd2        5913632  5915039     1408  704K  1 FAT12
/dev/sdd3        5915040 40000000 34084961 16.3G 83 Linux
/dev/sdd4       40000001 62521343 22521343 10.8G …
Run Code Online (Sandbox Code Playgroud)

filesystems partition data-recovery sd-card

5
推荐指数
1
解决办法
2万
查看次数

无法格式化 MicroSD 卡

我有一张 SanDisk Ultra Plus 64gb MicroSd XC 卡,我用它在树莓派 PI 上运行 ubuntu 服务器。

现在我必须格式化这张卡,但我无法成功。我尝试过很多事情,包括:

  • 通过窗口上的资源管理器进行格式化:意外错误。
  • 使用窗口分区管理器删除分区:意外错误。
  • Diskpart cmd:意外错误
  • 尝试通过 Raspbery Imager 刷新另一个 ubuntu 映像:意外错误。
  • 通过 Rufus 格式化:意外错误。
  • 删除分区并通过 gparted 创建新分区:告诉我有关重叠卷的信息并返回到初始状态。
  • 通过 fdisk 列出:显示没有重叠。sdb1 结束于 526335,sdb2 开始于 526336。 在此输入图像描述
  • 通过 gparted 删除分区而不创建新分区:保存后显示成功,但磁盘重新加载,分区又回来了。

到目前为止我可以看出,该卡不处于只读模式+我不使用带有开关的适配器。

fdisk corruption sd-card gparted

5
推荐指数
2
解决办法
4226
查看次数