Skip to content
mxmxmx edited this page Apr 29, 2019 · 13 revisions

trouble shooting

boot-up failure with models 3A+, 3B+

  • the latest models 3A+ and 3B+ come with a new/different PMIC which seems to be incompatible with certain/some "hats" that use the rpi 3v3 bus ... including TT (the onboard 3v3 is used for DBVDD/DCVDD (wm8731)).

  • if you have/want to use those models and experience said issues (you probably will), the following hack should do the trick. you'll need:

    • to cut one trace: the one connecting rpi pin 1 (= 3v3 ) and the one leg of the 4k7 resistor right next to it.
    • a 3v3 regulator (e.g. 78L33) + suitable caps.
  • the trace in question is this:

  • once cut, you have to come up with an alternative source of 3v3. fortunately (see rpi pinout), 5V is close (pins 2, 4), and so is gnd (pin 6); or you can tap 5V at the two-pin header labelled 5v_pwr and 0v at the gnd lug of a/the nearby pot. one way of doing it (so you don't have to look at it), is to solder the regulator (if TH) on the top side of the board, then pull 3v3 through the hole and solder it to the one leg of the 4k7 resistor (the one that was connected to pin 1):

audio i/o

  • audio inputs not working? make sure you got the amixer settings right

  • also check the codec is seeing the right voltages: pins 14 (AVDD), 8 (HPVDD), and 1 (DBVDD) should all see 3v3 (where AVDD and HPVDD are supplied via the ADP150 regulator (= 3v3_A), DBVDD is supplied from the raspberry 3v3 rail (= pin #1 / 3v3_D).

externals

  • if using pd-extended, i gather there's potential issues with wiringPi / multiple calls to wiringPiSetup(). if things throw an error along the lines of wiringPiSetup*: You must only call this once per program run. This is a fatal error. Please fix your code, a quick fix is to hack wiringPi.c: replace line # 2058 with return 0; and re-build wiringPi:
  1. uninstall wiringPi:
  cd wiringPi 

  ./build uninstall
  
  cd ..

  rm -r wiringPi
  1. reinstall:

git clone git://git.drogon.net/wiringPi

  cd wiringPi 

  git pull origin 
  1. locate the file called wiringPi.c, open it with nano or vim, go to line 2058 (or thereabouts) and replace:

(void)wiringPiFailure (WPI_FATAL, "wiringPiSetup*: You must only call this once per program run. This is a fatal error. Please fix your code.\n") ;

with:

return 0;

cd wiringPi 

./build 
Clone this wiki locally