PiSound with Raspberry Pi 4

Yes I used Raspbian Buster

One problem I have found with the PiSound card when plugged into a Pi4. It seems to disable rebooting of the Pi. If I do sudo reboot now it merely shuts down. Also in that case I have to disconnect the power supply and wait quite a time (around 30 secs) before I can plug it in a start the Pi4 again. Without the PiSound board plugged in to reboots normally. Other than that the hardware Works OK. I haven’t tested the button and other PiSound software install as I use the board mainly with Sonic Pi which I have built for source for the Pi4.

1 Like

When looking at the new side panels for the PiSound case suitable for a Pi4, you may be interested to know that the Pimoroni FanShim just fits OK below a PiSound board plugged into the Pi4. having used the Pi4 quite a bit now I think it would be highly advisable to include such a fan to keep the temperature down. The only modification I had to do was to remove one of the supporting pillars because it wouldn’t fit because of the shim. A lightly shorter pilllar might be beneficial for this.


The photo shows the corner in question. I put a nut on the bottom screw which just went through the hole on the fan shim, but a shorter pillar between the top of tehe case and the shim would be helpful.

3 Likes

Thanks for sharing this! Have you tried the updated firmware? https://www.tomshardware.com/news/raspberry-pi-4-firmware-update-tested,39791.html

I had a look at the post and at the discussion on the Raspberry Pi Forum on this, and decided not to try it at present as it has had some issues with usb performance for some. At preeent I am very happy with the fanwhich keeps the temp low, and even with a heaving compiliation taking place on the computer, with the PiSound board in place keeps it below around 48degrees. Previously it was up in the 70s!, but
I will of course take it onboard when it becomes mainstream. Idling it is around 44degrees with the fan.

1 Like

Regarding the Pi 4 reboot issue with Pisound, the issue seems to be a change of how the 3.3V supply on the GPIO header of Raspberry Pi 4 works - it now gets turned on with a 60ms delay, while 5V supply is available immediately, and during shutdown and reboot it gets turned off. 3.3V power supply on earlier Rasbperry Pi models was getting turned on nearly instantly.

There’s a temporary workaround available, consisting of 2 parts:

  1. Firmware EEPROM config update:

    1. Download the bootloader from https://www.raspberrypi.org/downloads/

    2. After extracting it, modify the config inside pieeprom.bin using this command:

      sed -i -e "s/WAKE_ON_GPIO=0/WAKE_ON_GPIO=1/" pieeprom.bin

      WAKE_ON_GPIO=1 will be the new default config value for RPi4, and eventually some update package will be released by Raspberry Pi developers.

    3. Move all of the extracted contents to an empty FAT-formatted SD card and insert it into your Raspberry Pi 4.

    4. Connect the power and wait for the green LED to flash quickly.

    5. Done, now you can power off and put in an SD card with OS.

  2. Kernel command line update (must be done everytime you flash the SD card):

    1. Add sdhci.debug_quirks2=4 to the end of /boot/cmdline.txt
    2. Reboot. Then the next time you reboot, this config should be take into account, RPi4 should not get stuck anymore.

The sdhci.debug_quirks2=4 disables ‘1.8V’ mode for SD card, so that makes UHS SD cards to be used at lower speeds, but this config also prevents power being cut off on the GPIO’s 3.3V supply, avoiding the reboot issue.

We are still working on some proper solution for the issue, but in the mean time, we recommend everyone using Raspberry Pi 4 with Pisound to apply the workaround steps. :slight_smile:

5 Likes

I found my way to these pages as I thought it might be time to go back to the Pi … my original B model is in a dusty drawer at the moment. Like RBN I have become aware that there are teething problems with the RPi4 it’s usb-c, PatchOS, cases, etc … I my reading suggests that a cooling fan would be prudent too … so I think waiting a month or so and then maybe that’ll be a good time to be a 2nd-wave adopter…

1 Like

Some gratitude for posting these steps, Giedrius.

Just went down a multi day adventure of trying to fix the sudo reboot hanging problem, which I posted here, only to find it only happened with the pisound HAT.

Your steps fixed my sudo reboot freezing issue.

I’m running Sep10/2019 bootloader with sdhci.debug_quirks2=4 in cmdline.txt

So, with the above fix (thanks!)…
…While I can sudo reboot just fine, If I pull the power cord out, I have to wait >10sec or so, otherwise the unit wont boot…. This will be a problem to users of my device because it is very confusing when they power off to reset the device, they expect to be able to turn the power back on and have the thing reset and operating again.

Running “Buster-Lite” on Raspberry Pi 4b

My /boot/cmdline.txt:
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=6c586e13-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait noswap ro fastboot sdhci.debug_quirks2=4

And the bootloader seems to have WAKE_ON_GPIO=1 in the Sept 10 2019, official download, so I think it’s the right version here…
$ rpi-eeprom-update
Bootloader EEPROM is up to date
CURRENT: Tue 10 Sep 2019 10:41:50 AM UTC (1568112110)
LATEST: Tue 10 Sep 2019 10:41:50 AM UTC (1568112110)

opening both the downloaded pieeprom-2019-09-10.bin and the /lib/firmware/raspberrypi/bootloader/critical/pieeprom-2019-09-10.bin I see
BOOT_UART=0
WAKE_ON_GPIO=1
POWER_OFF_ON_HALT=0
FREEZE_VERSION=0

I am enjoying the processor speed for my softsynth and don’t want to downgrade

What are the plans for pisound to support Raspberry Pi 4? I see above that you thought there was a timing issue. Could the pisound firmware compensate for the timing issue? Could we fix the waiting with a hardware hack?

Any news?

1 Like

Unfortunately there’s nothing we can do from our software side, as the 3.3V power supply cut happens entirely outside of Pisound’s software control reach. The state when there’s 5V supply line on, and 3.3V line is off is an invalid one for Pisound’s DAC and ADC ICs (they are dual supply and use power from both lines), the behavior of the ICs under these circumstances is not even documented, but what we could determine is that when the DAC and ADC ICs reach their regular working temperature during normal operating conditions, and 3.3V power line is switched off (after reboot or quickly unplugging and plugging in back the power supply, triggering the boot up procedure of Raspberry Pi), the ICs start back-powering the 3.3V line. On booting up, Raspberry Pi’s Power Management IC first attempts to discharge the 3.3V line before switching it on. As it is being back-powered via the 5V line, the 3.3V line as seen by the PMIC never gets close enough to 0V, so it does not continue to switch on the 3.3V line, getting stuck in this bad state.

Such power supply line change in Raspberry Pi 4, where 3.3V line takes 60ms instead of ~6ms, and has discharge logic, is really a big thing that add-on board designers must keep in mind and take special care of. The RPi4 should have used a fixed 3.3V regulator for the GPIO 3.3V line, or alternatively keep the 5V off in the GPIO header while the 3.3V line is off and turn both of them on at the same time.

A hardware hack would require cutting traces and would not be elegant in any way, so we can’t recommend it.

The next batch of Pisounds will have a hardware compatibility workaround implemented so it will work just fine with RPi4.

Any hacks (clean or ugly) I could do to my pisound to bring it to the level of the future PiSounds you’re planning? (Maybe later once a design is finalized). Happy with the soldering iron :slight_smile:

Thank you for the details! Wonder if a pulldown resistor could discharge it faster (under the 60ms). But probably involve cutting traces - I’m fine doing that if it fixes me :wink:

A hardware hack would require cutting traces and would not be elegant in any way, so we can’t recommend it.

Sure. But, Would love to get my $100 investment working on Rpi4… And I’m adept with soldering, have lots of experience designing as well as building circuits, as well as modding equipment by cutting traces. May I take the non-recommended route? :slight_smile:

1 Like

The change we plan to go forward with for the next revision of Pisound is to add transistors to keep the 5V GPIO supply line off while 3.3V is off, this way no backpowering when 5V is on and 3.3V is off is possible.

1 Like

Hey, I’m waiting to buy a Pisound to use with a RPi 4 for a project of mine.

I’ve read in another thread that you expect it to be back in stock in February/March 2020.
Will this be the new revision with the power supply fix ? Or will these come later ?

Thank you

1 Like

Yes it will be the new version - it’s in production now. :slight_smile:

5 Likes

This is excellent news. I look forward to placing my order asap. RP4 + PiSound in 2020…

Will there be recommendations on cooling solutions to use with the pi 4 and pisound? I hear cooling is really important on the pi 4.

2 Likes

Since pisound-btn version 1.11, there’s a new menu in sudo pisound-config for making it easy to manage the software workaround for reboots on Pi 4 and checking whether your Pisound version has a hardware workaround for the power supply design change in Raspberry Pi 4 (since Pisound hardware version v1.1):


Once Pisound is back in stock, they’ll be the v1.1 ones.

You can get the latest version of pisound-btn by running:

sudo apt update && sudo apt install pisound-btn

Question, is there a command line way to trigger the workaround now, so we don’t have to manually do this through a menu?

You can enable it this way:

sudo sed 's/.*/& sdhci.debug_quirks2=4/' /boot/cmdline.txt -i

And disable it using this:

sudo sed 's/ sdhci.debug_quirks2=4//' /boot/cmdline.txt -i

It’s how it’s done in the config source code.

Cool, so same way I’ve been doing already. Wasn’t sure if there was a command line for the pisound utility. :slight_smile:
thanks!