I have two Raspberry Pi B+. One of the two is rather unstable (details below) and I would like to understand if it is just a defect or if I might have broken it so that I can avoid making the same mistake twice and break the second one as well. Let's call the first one I bought R1, and the second R2.
Here are the problems I have observed.
I first tried to use R1 as a NAS with an external self-powered USB hard drive. It seemed to work but often it froze after one day or two. I first thought the problem might be my USB power adapter: I am not an expert but I thought that maybe the power adapter does not provide a constant voltage and this could cause R1 to freeze. So I plugged R1 on my router, which has two USB ports, and used the router as a power supply. In this way R1 became much more stable. Before writing this question I tested R1 with my USB power adapter again and R1 would only run for a few minutes after which it spontaneously rebooted while it was in the middle of an
When I bought R2, I noticed that it does not have any problems with the USB power adapter. So, my first question is: can it be that R1 is more sensitive than R2 to changes in voltage and my router provides a more stable voltage than my USB power adapter? Does this mean that R1 has a defect or is damaged in some way?
Yesterday I noticed further differences in behaviour between the two. I wanted to attach two external USB drives to R1. The setting:
- R1 powered by the router
- Ethernet cable attached to R1
- Self-powered USB hub attached to R1
- Two external USB drives attached to the hub.
- One USB-Ethernet adaper attached directly to R1 I knew that the hub and the drives work because I had tested this combination on my PC already.
I powered up R1 and logged in via
ssh (no screen attached) but it could not detect the drives. I was getting error messages like
hub_port_status failed (err = -71).
So I tried a different combination:
- R2 powered by the USB power adapter
- Ethernet cable attached to R2
- The self-powered USB hub attached to R2
- The two external USB drives attached to the hub
- A USB keyboard attached directly to R2
- An monitor attached to R2 with an HDMI cable
This time everything worked perfectly: after booting the drives were recognized and I was able to mount them.
I kept this setting and only replaced R2 with R1 (I also used the same SD card). The result was that R1 would not complete the boot: it kept rebooting again and again. I removed the USB hub and it completed the boot. After the boot completed, I attached the USB hub to it and it immediately rebooted after printing error messages which I couldn't read (too fast). After some experimentation removing one device at a time it could not even recognize the USB keyboard.
So I thought it must be a problem with the USB components. After reading this article I booted with only the Ethernet cable attached, logged in via
ssh, and tried to perform a
sudo apt-get update && sudo apt-get upgrade. Before the update was completed, R1 just rebooted. I tried it again, it rebooted again before completing
sudo apt-get update. I attached it back to the router: it booted and I could complete the upgrade.
So the second question: besides the problem with the USB power adapter, is the USB component also broken? Can it be that I have done something, like plugging in the wrong device, that caused the problem? I do not have a problem buying a new Raspi if a got a bad one by chance, but I would prefer not to break them one after another by plugging the wrong devices onto them.
I have just found this question. Can the polyfuse explain the behaviour I observed? I still would not understand why plugging in the external hub would cause a current overload on R1 and not on R2.
I am a bit embarrassed to tell about the solution to my problem, but I want to post it because I find it instructive. During all my tests in which everything seemed to point at R1 as the defective component I totally overlooked that ... I was always testing R1 with one USB-power cable and R2 with another cable. So I switched the cables and now R2 does not work and R1 works perfectly. So: one USB-cable is bad.
The old principle of always switching one piece at a time.