So I have a damaged Raspberry Pi 4b that I decided to use as a webserver. It was originally used as a retro pi for gaming, but there was an incident with children and water, and now the usb ports no longer work.
So I installed ubuntu 20.04 on an SD card, and using ssh configured it as an apache web server. It works great, but I am constantly running one core at 100% because udevd is constantly changing the status on my usb overcurrent condition. Journalctl shows me one long string of usb port over-current change logs.
Basically, the damaged usb port is overtaking my logs making them nearly impossible to use.
So to try to combat this I have tried to power off the usb controller. I have installed uhubctl, made sure the eeprom was up to date, and tried to power off the usb controller hubs using the command
sudo uhubctl -a off'. This does not appear to work. The output for this command shows current status of the hub(s) then shows the power off request sent and return status is the same. It appears that the controller might not be controllable on this model purhaps due to the water damage.
So now the only other thing I could think of is trying to get udevd to ignore that hardware. But apparently the udevd rules don’t allow ignoring devices anymore. I have been searching the web for about a week looking for any solutions to get the spamming of udev to stop. Does anyone have a good solution?
Regarding your initial comment regarding water and USB ports have you tried tried a hair drier on a low setting (warm) on the Pi board? Sometime you recover them. Also check the board for any bad tracks or sticky substances. You could take it to an electronics guy to repair though that with the labour cost may make it more costly than buying a new one. Also check, if you haven’t already done that, YT to see if there are any repair videos. The ones to look out for are the ones that cover laptops such as “Electronics repair school” but there are several others. Have a look also at “Explaining Computers” on YT as he has done a lot with SBCs including various versions of PI running various Linux OS and something may jump out.
I would probably stick it in a rice jar / bowl, then in alcohol, brush it with a fine toothbrush, then submerge it in alcohol for a while, then back into rice again. If that wouldn’t work, I’d probably check the USB controller if it has any weirdness going on, like skewed connectors or shorts or something, after it’s been cleaned.
But could be that some water droplets or impurities made it into the USB controller’s silicon, so worst case, you may need to just de-solder that and hope that the board will still boot. Maybe a few minutes with a drier or hot air gun (not too close or too hot though) might fix it. Maybe.
Yeah, I did all of that. The water incident happened around a year ago. I can’t see any visual damage on the board itself. All indicators suggest that the USB controller chip itself is damaged. I replaced the original board (before PI’s were hard to come by) and just had this damaged one sitting around. I was simply trying to find use for it as is, since I don’t need to use the USB ports.
Okay. I am trying an alcohol bath. My dentist would be proud of my brushing. I’ll properly soak the board and try booting tomorrow.
Okay. Patience is not my strong suit. So I pulled the board out of the bath. I started waving it around like a mad lunatic. My wife watched me warily, like I was chimp about to make a projectile of something I shouldn’t be handling. Then I let it sit for 15 minutes longer to allow all the alcohol to try.
Then I plugged it in. Whatever black magic was used to create that rubbing alcohol, worked. My old pi is working like new. I swear I tried to clean this board after “the incident” but I guess I didn’t have potent enough alcohol. I guess it needed the deep shiatsu treatment.
So thanks Biky and Big Bunny for putting me back on the right path. From here on out I’ll try to remember. For life’s biggest problems, alcohol is the answer. Seriously though, thanks for putting my head back on straight.