status lights on Pi4

Sep 18, 2020 12 Replies

Just got a Pi4 with 8GB of RAM up and running. It's an impressive upgrade from a 3b+....



It looks as if the logic of the green status LED has been inverted: On the 3b+ the LED was off when idle, flashing when active. The 4 seems to idle with the green LED on, it blinks off when active.



Is that the whole story? I poked around a little on the Web and didn't find any mention, except for flash codes that signal POST failures.



Thanks for reading,



bob prohaska


It doesn't look that way on my (early) 1Gb Pi 4, red LED on solid, once booted and fully started the green LED just flickers occasionally.

Chris Green

Yes, same on my 4 GB Pi4 with standard 32-bit RaspiOS on SD card, updated to latest including eeprom but not rpi-update. Maybe it's different when running from USB disk?

On my 4B running RaspiOS Buster, the green light behaves as on the 3B+: off for most of the time and flickers during (SD-disk?) activity.

I've got an early 4GB Pi4 using a USB stick and the latest 8GB using an SSD. I only see the green LED when it access the SD card on booting, then its off after that.

Have you checked with something like dstat that something isn't continuously buggering with your SD card?

---druck

No SD card installed..... The RaspiOS started life on the 3b+ and simply got moved to the 4. If everybody else began with a clean install that might account for the difference. Clearly what I'm seeing isn't normal.

Thanks to all for writing,

bob prohaska

Look in the file /boot/overlays/README. Well I might as well just copy the potentially relevent bits here, but I may have missed some:

act_led_trigger Choose which activity the LED tracks. Use "heartbeat" for a nice load indicator. (default "mmc")

act_led_activelow Set to "on" to invert the sense of the LED (default "off") N.B. For Pi 3B, 3B+, 3A+ and 4B, use the act-led overlay.

act_led_gpio Set which GPIO to use for the activity LED (in case you want to connect it to an external device) (default "16" on a non-Plus board, "47" on a Plus or Pi 2) N.B. For Pi 3B, 3B+, 3A+ and 4B, use the act-led overlay.

pwr_led_trigger pwr_led_activelow pwr_led_gpio As for act_led_*, but using the PWR LED. Not available on Model A/B boards.

N.B. It is recommended to only enable those interfaces that are needed. Leaving all interfaces enabled can lead to unwanted behaviour (i2c_vc interfering with Pi Camera, I2S and SPI hogging GPIO pins, etc.) Note also that i2c, i2c_arm and i2c_vc are aliases for the physical interfaces i2c0 and i2c1. Use of the numeric variants is still possible but deprecated because the ARM/VC assignments differ between board revisions. The same board-specific mapping applies to i2c_baudrate, and the other i2c baudrate parameters.

Name: act-led Info: Pi 3B, 3B+, 3A+ and 4B use a GPIO expander to drive the LEDs which can only be accessed from the VPU. There is a special driver for this with a separate DT node, which has the unfortunate consequence of breaking the act_led_gpio and act_led_activelow dtparams. This overlay changes the GPIO controller back to the standard one and restores the dtparams. Load: dtoverlay=act-led,= Params: activelow Set to "on" to invert the sense of the LED (default "off")

gpio Set which GPIO to use for the activity LED (in case you want to connect it to an external device) REQUIRED

eth_led0 Set mode of LED0 - amber on Pi3B+ (default "1"), green on Pi4 (default "0"). The legal values are:

Pi3B+

0=link/activity 1=link1000/activity 2=link100/activity 3=link10/activity 4=link100/1000/activity 5=link10/1000/activity 6=link10/100/activity 14=off 15=on

Pi4

0=Speed/Activity 1=Speed 2=Flash activity 3=FDX 4=Off 5=On 6=Alt 7=Speed/Flash 8=Link 9=Activity

eth_led1 Set mode of LED1 - green on Pi3B (default "6"), amber on Pi4 (default "8"). See eth_led0 for legal values.

That's from a quite recent RPi OS installation.

__ __ #_ < |\| |< _#

Thanks for the (highly) abbreviated excerpt! The entire file is a lot to plough through.

Is there a command to read back what's actually in use? I've not modified the defaults in any intentional way, but it does seem that the behavior I see is inverted compared to other observations.

Thanks for writing!

bob prohaska

I don't know of such a command, but I'd be interested to hear if there is one.

There is a lot of info here, though I don't know whether your answer is in there or not:

formatting link

__ __ #_ < |\| |< _#

Are you sure there isn't actually some task running that's making the green LED light up? Try running top and see if there's something that might be doing it.

Chris Green

Right now the green LED is on steady, top reports 92% idle. Of course there are lots of background processes running, all the time. Starting a new process that hasn't run since reboot makes it wink off briefly.

Thanks for writing,

bob prohaska

That's not very idle! :-)

My pi 4 reports over 99% idle when it's doing nothing. It moves randomly around a bit but always stays > 99%. What's at the top of 'top' when you run it? On mine it's mostly 'top' at the top. (Hmm, topping isn't it!)

My pi 4 is running headless, the only thing I've added that does use a little CPU is syncthing keeping it synchronised with some other machines on my LAN.

Chris Green

True, it's not perfectly idle, but neither is it saturated. The green LED is on steady, no blinks. That leaves the interpretation of the green LED very much in doubt. As it happens, the #1 process is lxterminal. Doesn't seem to matter what I'm doing at the keyboard. If chromium browser is disturbed it naturally floats to the top of top (htop, if it matters).

Thanks for posting,

bob prohaska

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required