I use external harddisk(connected via USB with its own power supply) to boot into dietpi on my raspberry pi. It works okay for a day(even with multiple reboots and poweroff). But the next day RPi sends no power to usb ports and so it doesn't boot.
When I use SD card to boot it works. Ethernet port works and I'm able to SSH. I've plugged my external drive using the USB adapter to another computer and I can confirm that it is working. I am using the official power supply (2.5A 5.1V).
If I try to boot after keeping the RPi off for more than 1 day from the external HDD it works again! But this repeats everytime. I can't understand this peculiar behaviour of my rpi 3b.
I have also set max_usb_current=1 in boot/config.txt but still no luck.
Here is the output of some of the commands I ran after booting with sd card on raspbian:
pi@raspberrypi:~ $ lsusb Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
lsblk: (with external HDD connected)
pi@raspberrypi:~ $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mmcblk0 179:0 0 29.8G 0 disk ├─mmcblk0p1 179:1 0 256M 0 part /boot └─mmcblk0p2 179:2 0 29.6G 0 part /
dmesg | grep usb (A lot of over-current change errors messages)
pi@raspberrypi:~ $ dmesg | grep usb [ 1039.172044] usb 1-1-port2: over-current change #4012 [ 1039.430051] usb 1-1-port2: over-current change #4013 [ 1039.688057] usb 1-1-port2: over-current change #4014 [ 1039.946054] usb 1-1-port2: over-current change #4015 [ 1040.204102] usb 1-1-port2: over-current change #4016 [ 1040.461910] usb 1-1-port2: over-current change #4017 [ 1040.720016] usb 1-1-port2: over-current change #4018
# For more options and information see # http://rpf.io/configtxt # Some settings may impact device functionality. See link above for details # uncomment if you get no picture on HDMI for a default "safe" mode #hdmi_safe=1 # uncomment this if your display has a black border of unused pixels visible # and your display can output without overscan #disable_overscan=1 # uncomment the following to adjust overscan. Use positive numbers if console # goes off screen, and negative if there is too much border #overscan_left=16 #overscan_right=16 #overscan_top=16 #overscan_bottom=16 # uncomment to force a console size. By default it will be display's size minus # overscan. #framebuffer_width=1280 #framebuffer_height=720 # uncomment if hdmi display is not detected and composite is being output #hdmi_force_hotplug=1 # uncomment to force a specific HDMI mode (this will force VGA) #hdmi_group=1 #hdmi_mode=1 # uncomment to force a HDMI mode rather than DVI. This can make audio work in # DMT (computer monitor) modes #hdmi_drive=2 # uncomment to increase signal to HDMI, if you have interference, blanking, or # no display #config_hdmi_boost=4 # uncomment for composite PAL #sdtv_mode=2 #uncomment to overclock the arm. 700 MHz is the default. #arm_freq=800 # Uncomment some or all of these to enable the optional hardware interfaces #dtparam=i2c_arm=on #dtparam=i2s=on #dtparam=spi=on # Uncomment this to enable infrared communication. #dtoverlay=gpio-ir,gpio_pin=17 #dtoverlay=gpio-ir-tx,gpio_pin=18 # Additional overlays and parameters are documented /boot/overlays/README # Enable audio (loads snd_bcm2835) dtparam=audio=on [pi4] # Enable DRM VC4 V3D driver on top of the dispmanx display stack dtoverlay=vc4-fkms-v3d max_framebuffers=2 [all] #dtoverlay=vc4-fkms-v3d program_usb_boot_mode=1 max_usb_current=1
Please help me resolve this issue. Thanks :)
Update: I checked and found that there is 5V being supplied to USB ports(measured with multimeter between P1/P2 to P27) and I still don't know what's causing the problem. Even regular USB flash drive is not working. How can I diagnose the issue?