pimoroni / unicorn-hat

Python library for Unicorn pHAT and HAT. 32 or 64 blinding ws2812 pixels for your Raspberry Pi
https://shop.pimoroni.com/products/unicorn-hat
MIT License
370 stars 131 forks source link

Examples not working properly with Pi 3/3B+ and recent Raspberry Pi OS #148

Open helgibbons opened 2 years ago

helgibbons commented 2 years ago

Something seems to be awry when running a recent version of Raspberry Pi OS on older Pis - only the first few LEDs light up when running the examples.

PXL_20211020_154126729 (1)

I'm getting this with 2021-05-07 Buster Desktop, on a 3B and a 3B+. The examples work fine with the same SD card image on a Pi 4.

Gadgetoid commented 2 years ago

Possibly related? https://github.com/jgarff/rpi_ws281x/issues/447

I think this is some recent-ish change throwing the timings out, but I'm not sure how or why.

I also swear I saw this same issue posted somewhere else, forums perhaps?

helgibbons commented 2 years ago

Discord!

After a bit of poking at the SPI settings, it was removing dtparam=audio=on from /boot/config.txt that got things working for me - did the installer used to finagle the audio automagically?

Gadgetoid commented 2 years ago

Oof, thank you for digging into this.

I think it should finagle the audio, though it remains to be seen if it actually does. There used to be - iirc - a script that the one-line "get" installer called for that dubious honour.

At least it's not a scarier bug!

simonprickett commented 2 years ago

Phew this just got mine working on a newly reinstalled Pi - thanks!

DarrenTownsend commented 1 year ago

Was there a definitive solution for this? Running Buster on a Pi3B+ and none of the above ideas work, except I've now got 6 LEDS working instead of 4!

simonprickett commented 7 months ago

I've got one at the moment that's on a 3A+ and no lights despite the config.txt changes. I don't really want to downgrade the OS but will if I have to. I'll poke around with more stuff before doing this and report my findings either way.

simonprickett commented 7 months ago

Just following up here, I'm using latest Raspberry Pi OS Lite version on a 3A+ and have a known working Unicorn HAT. Can't get any LEDs at all to light up. OS version (Bullseye):

$ uname -a
Linux bloomfilter 6.1.21-v7+ #1642 SMP Mon Apr  3 17:20:52 BST 2023 armv7l GNU/Linux

Contents of /boot/config.txt:

$ cat /boot/config.txt
# 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 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=2
hdmi_mode=82

# 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

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-fkms-v3d
max_framebuffers=2

# Disable compensation for displays with overscan
disable_overscan=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1

[all]

[pi4]
# Run as fast as firmware / board allows
arm_boost=1

[all]
gpu_mem=16

I'll try on an older OS version for now.