Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Issues with the B Button and Shutdown
#1
I have a Freeplay CM3 that was built in December 2018 per the sticker on the board.  Up until a couple of months ago all of the buttons would function normally and the shutdown slider would trigger the shutdown process.  Then using it one day, the B Button stopped working entirely and I could not get it to shutdown via holding the slider to the right for a couple of seconds; and in my panic I simply pulled the battery.

Well now with the corona-virus keeping me at home, I decided to try to reconfigure it, so I downloaded the CM3 image from March 13th, 2020 (Freeplay_CM3_20031301.img) and installed it to a freshly formatted micro SD card.  With that fresh install the B Button still would not work, nor does holding the power slider shutdown the device (this time I did use the shutdown command in retropie successfully).

Reading around on the forum I have also tried the following in order:
- open the case, using isopropyl alcohol clean the contacts and rubber pads and let dry --> B button still fails to work
- with the case open, power the board flip the A and B button pad --> A button still worked, B did not
- unseat and reseat the CM3 board and try again with the case open --> no change
- for grins I even tried using the B button pad on different contacts and they continue to function

Have I missed anything else to try?
*side note I have never soldered anything nor do I have a soldering machine

Thank you for any input or assistance
Reply
#2
Hello,
I hope you are safe, I am also stuck home for the same reason.

Something you can try thru SSH (it will not solve the problem but help for diag):
Code:
watch -n 0.1 -d gpio allreadall
This command will allow you to see in almost real time what is happening with all GPIO "pins" (I2C, SPI, ... included).

If the command doesn't work:
Code:
sudo apt-get update
sudo apt-get install wiringpi

Pin list (I hope to not make any mistake, don't have the device with me):
Up : 17
Down : 4
Left : 6
Right : 5
Start : 19
Select : 26
A : 16
B : 24
Right Trigger : 23
Y : 18
X : 15
Left Trigger : 14
Hotkey (Power) : 20
Reply
#3
Hey Porcinus, thank you I am safe and healthy and I hope you are as well.

So it took a little bit but I was able to run the watch command as you directed and here is what I got back:
Pins 12 and 13 and were blinking the whole time

Left Bumper: 14
Up: 4
Left: 6
Right: 5
Down: 17
Start: Both 18 and 19 blinked
Select: 26
Right Bumper: 23
X/North: 15
Y/West: 18 and 19
A/East: 16
B/South: no response

So I am guessing something has gone haywire with the underlying board?
Reply
#4
So far, I am safe too Wink

I think about 2 possibility:
- The compute module is faulty (I already damaged 2, it can go bad pretty fast without notice, a pin just die).
- You can still have a false contact even after re-sitting the compute module.
- Some traces are damaged.

For the second one, you can also try to clean both module and socket contacts. For the socket, you can use a piece of paper but beware, don't bend any contact.

Do you notice any traces of corrosion on the board or the compute module?
If so, this can be caused be sweat, sadly without soldering iron, it will be difficult to do something :/

If you have a multi meter on hand, here is a old picture :    
I didn't include power because it use 2 pins, 20 and not sure for the other one :S
Reply
#5
Well I took it back apart and cleaned the contacts on the cm3 board itself, and while it looks like that fixed up the issue with the start and Y buttons, the B button was still dead. I will give it a shot cleaning the socket contacts tomorrow. So dumb question, I have a multi-meter but I've only used it for my riding lawn mower, what/how would I use it on the CM3?

Thanks again for all of your suggestion thus far, pushed me to try somethings I am not familiar with Smile
Reply
#6
You should use the multi-meter in resistance test mode (not sure of the English name), the highest value.
First, you will need to found what part of the pad is ground, it is common to other pads, you will need to use the other part for the continuity test.
If there is a continuity, you should read 0.

I have a picture of a old motherboard, for B, the part of the pad that interest you should the second or the last (a trace touch the B marking).
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)