Re: Using the DRAWS hat with a Raspberry Pi 4 #draws #yaac #install #js8call #replacecompass

Mike Watkins <mike.watkins@...>
 

Hi Frank,


All the people that say you do not need the dtoverlay= line in config.txt probably have new cards with the correct EEPROM.  I have one of the first cards and removing the dtoverlay= line breaks the soundcard.  Putting it back fixes it.  Maybe one of the folks at NW Digital can put in the dtdebug=1 line then boot and see what comes back in sudo vcdbg log msg command.

Is there a version number we should be looking for where the problem exists (or ceases to exist)? Will be very helpful when supporting others. See below, there may be some specific "parameter" conflict, or who knows even a bug in parameter processing, that could have been causing that. All software has bugs.
 
 One other note - the DRAWS lines need to be inserted in the config.txt before the [pi4] and [all] stuff in the config file.

Not quite - as long as the relevant configuration information is after [all] it will be read, regardless of the Pi model number.  But sure, if you included it before the config.txt file format Pi model tag, you can be sure it'll be read. No harm.

Out of curiosity and in an attempt to see what's folklore or not, I've dug into the config.txt documentation out of interest; rather wish I didn't - there's time I won't get back LOL - and discovered a couple things that may not be important but had me curious. Forgive me if I'm covering ground others have already.

Regarding dt_overlay=, from the documentation (https://www.raspberrypi.org/documentation/configuration/device-tree.md) it would appear that dt_overlay= is used to reset "parameters" from conflicting with another overlay that happens to use the same parameter names. 

Since there's only one parameter - alsaname - maybe there's a conflict there but doesn't seem likely... but who knows. Commenting out the on board audio interface removes the other alsa device, and that could be why it's helpful for some cases. I used to think Raspberry Pi's were quite identical until I discovered one of my RPi 3's no longer saw its Wireless adapter despite being configured identically to every other one.

Regarding dt_overlay parameter convention:
Maybe I'm missing something but the line:
dtoverlay=draws,alsaname=urdc

Seems to be mis-formatted, unless commas are happily being interpreted per the documentation (below). A colon between the driver and first parameter appears to be the documented format. Does it matter? Maybe. Not in my case though, both work. Still, it's probably best that the documented approach be used in case that happy accident, if that's what it is, ends one day. 

dtoverlay=draws:alsaname=happytimeurdc

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: happytimeurdc [happytimeurdc], device 0: bcm2835-i2s-tlv320aic32x4-hifi tlv320aic32x4-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

For the curious, see following.

73
Mike 
VE7WV

If you have an overlay that defines some parameters, they can be specified either on subsequent lines like this:
dtoverlay=lirc-rpi
dtparam=gpio_out_pin=16
dtparam=gpio_in_pin=17
dtparam=gpio_in_pull=down

or appended to the overlay line like this:

dtoverlay=lirc-rpi:gpio_out_pin=16,gpio_in_pin=17,gpio_in_pull=down

Note here the use of a colon (:) to separate the overlay name from its parameters, which is a supported syntax variant.

Overlay parameters are only in scope until the next overlay is loaded. In the event of a parameter with the same name being exported by both the overlay and the base, the parameter in the overlay takes precedence; for clarity, it's recommended that you avoid doing this. To expose the parameter exported by the base DTB instead, end the current overlay scope using:

dtoverlay=

Join udrc@nw-digital-radio.groups.io to automatically receive all group messages.