[G2 and Desire Z Q&A, Help & Troubleshooting] dstahlke:
I have had my refurbished HTC Vision for about three weeks and it hadn't had any problems. Then yesterday, I rebooted it and now the sdcard doesn't work. Not just that it doesn't mount, rather there is not even a /dev/block/mmcblk1 device.

Here is what I tried:

* Boot into ClockworkMod, and run adb shell. Still no /dev/block/mmcblk1.

* Boot into fastboot and run "fastboot oem enableqxdm 0" and "fastboot oem eraseconfig".

* Per some random instructions on the net, I held vol-up and power, then pulled the battery after the phone vibrated. Then I held vol-up, vol-down, power and did the same. Then the fastboot commands again.

* Bent the sdcard port's pins out a bit with tweezers.

* SDcard works in computer (Linux).

* Tried another card that has nothing but a vfat partition.

Nothing works! There are some errors in dmesg:

$ dmesg |grep mmc

<5>[ 0.000000] Kernel command line: board_vision.disable_uart2=0 board_vision.usb_h2w_sw=0 board_vision.disable_sdcard=0 diag.enabled=0 board_vision.debug_uart=0 smisize=0 userdata_sel=0 androidboot.emmc=true androidboot.baseband=26.02.01.15_M2 androidboot.cid=T-MOB010 androidboot.batt_poweron=good_battery androidboot.carrier=TMUS androidboot.mid=PC1010000 androidboot.keycaps=qwerty androidboot.mode=normal androidboot.serialno=HT09LR200858 androidboot.bootloader=0.76.2000 no_console_suspend=1 console=null
<6>[ 2.532989] vision: vision_init_mmc
<3>[ 3.267822] mmc0: No card detect facilities available
<6>[ 3.268341] mmc0: Qualcomm MSM SDCC at 0x00000000a0500000 irq 98,0 dma 7
<6>[ 3.268615] mmc0: Platform slot type: MMC
<6>[ 3.268737] mmc0: 4 bit data mode disabled
<6>[ 3.269012] mmc0: 8 bit data mode enabled
<6>[ 3.269134] mmc0: MMC clock 144000 -> 50000000 Hz, PCLK 96000000 Hz
<6>[ 3.269378] mmc0: Slot eject status = 0
<6>[ 3.269531] mmc0: Power save feature enable = 1
<6>[ 3.269653] mmc0: DM non-cached buffer at ffa0c000, dma_addr 0x2b774000
<6>[ 3.269927] mmc0: DM cmd busaddr 0x2b774000, cmdptr busaddr 0x2b774300
<6>[ 3.270751] mmc1: Qualcomm MSM SDCC at 0x00000000a3000000 irq 96,0 dma 8
<6>[ 3.270996] mmc1: Platform slot type: N/A
<6>[ 3.271148] mmc1: 4 bit data mode enabled
<6>[ 3.271392] mmc1: 8 bit data mode disabled
<6>[ 3.271514] mmc1: MMC clock 144000 -> 50000000 Hz, PCLK 96000000 Hz
<6>[ 3.271789] mmc1: Slot eject status = 1
<6>[ 3.271911] mmc1: Power save feature enable = 1
<6>[ 3.272064] mmc1: DM non-cached buffer at ffa0d000, dma_addr 0x2b777000
<6>[ 3.272308] mmc1: DM cmd busaddr 0x2b777000, cmdptr busaddr 0x2b777300
<6>[ 3.273468] mmc2: Qualcomm MSM SDCC at 0x00000000a3100000 irq 100,0 dma 8
<6>[ 3.273712] mmc2: Platform slot type: SD
<6>[ 3.273834] mmc2: 4 bit data mode enabled
<6>[ 3.273986] mmc2: 8 bit data mode disabled
<6>[ 3.274230] mmc2: MMC clock 144000 -> 50000000 Hz, PCLK 96000000 Hz
<6>[ 3.274353] mmc2: Slot eject status = 0
<6>[ 3.274658] mmc2: Power save feature enable = 1
<6>[ 3.274810] mmc2: DM non-cached buffer at ffa0e000, dma_addr 0x2b778000
<6>[ 3.275054] mmc2: DM cmd busaddr 0x2b778000, cmdptr busaddr 0x2b778300
<6>[ 3.275207] mmc2: Polling status mode enabled
<6>[ 3.425598] mmc0: new high speed MMC card at address 0001
<6>[ 3.427093] mmcblk0: mmc0:0001 SEM04G 2.09 GiB
<6>[ 3.428100] mmcblk0: p1 p2 p3 p4 < p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 >
<6>[ 3.569030] EXT4-fs (mmcblk0p25): mounted filesystem with ordered data mode. Opts: barrier=1
<4>[ 3.703063] mmc2: high speed mode max_dtr = 50000000
<4>[ 3.703491] mmc2: host does not support reading read-only switch. assuming write-enable.
<6>[ 3.703643] mmc2: new high speed SDHC card at address 0001
<6>[ 3.704498] mmcblk1: mmc2:0001 00000 7.41 GiB
<6>[ 3.705291] mmcblk1: p1
<4>[ 4.648254] EXT4-fs (mmcblk0p26): warning: maximal mount count reached, running e2fsck is recommended
<7>[ 4.651062] EXT4-fs (mmcblk0p26): ext4_orphan_cleanup: deleting unreferenced inode 24790
<7>[ 4.655670] EXT4-fs (mmcblk0p26): ext4_orphan_cleanup: deleting unreferenced inode 24741
<6>[ 4.657012] EXT4-fs (mmcblk0p26): 2 orphan inodes deleted
<6>[ 4.657379] EXT4-fs (mmcblk0p26): recovery complete
<6>[ 4.703216] EXT4-fs (mmcblk0p26): mounted filesystem with ordered data mode. Opts: noauto_da_alloc
<4>[ 4.758331] EXT4-fs (mmcblk0p27): warning: maximal mount count reached, running e2fsck is recommended
<6>[ 4.760345] EXT4-fs (mmcblk0p27): recovery complete
<6>[ 4.762298] EXT4-fs (mmcblk0p27): mounted filesystem with ordered data mode. Opts: barrier=1
<4>[ 4.886474] EXT4-fs (mmcblk0p28): warning: maximal mount count reached, running e2fsck is recommended
<6>[ 4.888580] EXT4-fs (mmcblk0p28): recovery complete
<6>[ 4.890563] EXT4-fs (mmcblk0p28): mounted filesystem with ordered data mode. Opts: barrier=1
<7>[ 20.824981] mmc1: card_present 1
<6>[ 20.825134] mmc1: Slot status change detected (0 -> 1)
<7>[ 23.383300] mmc1: queuing CIS tuple 0x91 length 3
<6>[ 23.383331] mmc1: new high speed SDIO card at address 0001
<3>[ 38.746368] mmc2: Data CRC error
<6>[ 38.746978] mmc2: Controller has been reset
<3>[ 38.747467] mmcblk1: error -84 transferring data, sector 2080, nr 1, card status 0x900
<6>[ 38.747619] mmc2: reinit card
<4>[ 38.747863] mmc2: Starting deferred resume
<3>[ 38.814849] mmc2: Data CRC error
<6>[ 38.815521] mmc2: Controller has been reset
<3>[ 38.815856] mmc2: Re-init card rc = -84 (retries = 5)
<3>[ 38.997650] mmc2: Data CRC error
<6>[ 38.998291] mmc2: Controller has been reset
<3>[ 39.001403] mmc2: Re-init card rc = -84 (retries = 4)
<3>[ 39.200927] mmc2: Data CRC error
<6>[ 39.201507] mmc2: Controller has been reset
<3>[ 39.201721] mmc2: Re-init card rc = -84 (retries = 3)
<3>[ 39.384826] mmc2: Data CRC error
<6>[ 39.385406] mmc2: Controller has been reset
<3>[ 39.385650] mmc2: Re-init card rc = -84 (retries = 2)
<3>[ 39.583618] mmc2: Data CRC error
<6>[ 39.584228] mmc2: Controller has been reset
<3>[ 39.584472] mmc2: Re-init card rc = -84 (retries = 1)
<6>[ 39.666137] mmc2: Deferred resume failed
<6>[ 39.666412] mmc: reinit failed, remove card
<6>[ 39.666625] mmc2: remove card
<3>[ 39.666778] end_request: I/O error, dev mmcblk1, sector 2080
<3>[ 39.667053] Buffer I/O error on device mmcblk1p1, logical block 32
<4>[ 39.667205] lost page write due to I/O error on mmcblk1p1
<3>[ 39.667480] mmc_blk_issue_rq failed!!
<6>[ 39.667633] mmc2: mmc_remove_sd_card
<6>[ 39.667907] mmc2: card 0001 removed
<3>[ 39.670318] mmcblk1: error -123 sending status comand
<3>[ 39.670471] mmcblk1: error -123 sending read/write command, response 0x0, card status 0x0
<3>[ 39.670867] end_request: I/O error, dev mmcblk1, sector 2080
<3>[ 39.671783] mmc_blk_issue_rq failed!!
<3>[ 39.671966] mmcblk1: error -123 sending read command, response 0x0
<4>[ 39.672210] mmcblk1: retrying using single block read
<3>[ 39.672332] mmcblk1: error -123 sending status comand
<3>[ 39.672607] mmcblk1: error -123 sending read/write command, response 0x0, card status 0x0
<3>[ 39.672882] end_request: I/O error, dev mmcblk1, sector 32378
<3>[ 39.673126] end_request: I/O error, dev mmcblk1, sector 32379
<3>[ 39.673278] end_request: I/O error, dev mmcblk1, sector 32380
<3>[ 39.673522] end_request: I/O error, dev mmcblk1, sector 32381
<3>[ 39.673675] end_request: I/O error, dev mmcblk1, sector 32382
<3>[ 39.673919] end_request: I/O error, dev mmcblk1, sector 32383
<3>[ 39.674072] end_request: I/O error, dev mmcblk1, sector 32384
<3>[ 39.674316] end_request: I/O error, dev mmcblk1, sector 32385
<3>[ 39.674499] mmc_blk_issue_rq failed!!
<3>[ 39.674774] mmcblk1: error -123 sending status comand
<3>[ 39.674926] mmcblk1: error -123 sending read/write command, response 0x0, card status 0x0
<3>[ 39.675292] end_request: I/O error, dev mmcblk1, sector 32378

... and so on. In this run, I see that at least briefly the kernel could read the mmcblk1 partition table (although there still was not /dev/block/mmcblk1). However, most of the time it can't and just gives the CRC errors.

Is this a hardware or software problem. Any suggestions? Thanks.