Skip to main content

Damaged SD card socket

I was playing with the microSD card extender from Pine64. It seems to have damaged the socket. There is a card detect switch built into the socket and it no longer functions. This causes U-Boot to hang if there is a bootable SD card in the socket. It tries to boot from it and then fails the card detection, even though it is running from the card itself.

In the serial debug output it shows:

Trying to boot from MMC1
MMC: no card present
spl: mmc init failed with error: -123
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###

Another PinePhone user had the same issue https://forum.pine64.org/showthread.php?tid=13775

To fix the problem I soldered the switch pin on the socket to ground. When a card is inserted it would normally short the pin to ground (T6 is connected to ground). It now thinks there is always a card inserted. It does not seem to cause any problems.

I actually soldered the pin to the metal shield since it is connected to ground.

If you think you have a broken card detect switch you can try booting off this modified JumpDrive image. It ignores the state of the switch. If it boots and the normal JumpDrive does not, then you have a broken switch.


Popular posts from this blog

veracrypt

I installed veracrypt on some of my PinePhones. There are no pre-compiled binaries for aarch64. Installation is from source. The process is simple and mostly follows the instructions on git . This has been tested on Manjaro Phosh and Arm Arch Linux. I compiled it as a cli only application. If you omit the NOGUI=1 it will compile the version with both cli/gui. It takes much longer to compile and the interface is not optimized for a mobile device. Install the required packages sudo pacman -S fuse2 yasm cppunit pkg-config Download the source for wxWidgets . The current stable is v3.0.5. wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.5/wxWidgets-3.0.5.tar.bz2 Extract and move to /usr/src tar -xf wxWidgets-3.0.5.tar.bz2 sudo mv wxWidgets-3.0.5 /usr/src/ Download the current stable veracrypt source wget https://github.com/veracrypt/VeraCrypt/archive/refs/tags/VeraCrypt_1.24-Update7.tar.gz Extract the files and change to the src directory tar -xf VeraCrypt_1.24-Update7.t...

Updating modem firmware

Updated to the latest available firmware. Instructions here: https://github.com/Biktorgj/quectel_eg25_recovery#readme Command to clone the latest branch:   git clone --branch EG25GGBR07A08M2G_01.003.01.003 https://github.com/Biktorgj/quectel_eg25_recovery.git Change directory and run update: cd quectel_eg25_recovery/ sudo ./qfirehose -f ./ To check the currently installed firmware: sudo mmcli -m any --command='AT+QGMR' Output of the entire process here: https://gist.github.com/8bitgc/247da58dd6bd53a6864d5afe091616c5

Franken-Phone

I decided to take the worst performing PinePhone PCB and turn it into a hardware test bed. This is the 3GB 1.2b upgrade board that fails my compiler and memtester tests . It will time jump even with the RAM running at 492MHz. It is usable. With the serial adapter you can login to the serial console without an attached screen. Once WiFi/SSH is configured you can do everything remotely. I have also used wayvnc to remotely connect to the graphical desktop. I bought a large flat aluminum heatsink from Amazon to use as a base. I cut up a sheet of thermal pad material (sold for use with 3d printer glass hot beds). The pad is sticky and holds the PCB and battery to the heatsink. The battery is not the correct type/size for a PinePhone battery. It is an old battery I found in a drawer that has the same pinout, works fine. The micro USB breakout board has the VBUS and Ground soldered directly to the pogo pin pads. The loose orange wire at the bottom is soldered to a tiny pad next to the ke...