Comments (32)
Does cat /sys/kernel/debug/devices_deferred
return anything?
You could try with the slave
parameter:
dtoverlay=allo-boss-dac-pcm512x-audio,slave
Otherwise it's unlikely you'll be able to get help here, since we don't have one and the manufacturer seems to be long gone.
from linux.
By the way, the following lines in your config.txt are unnecessary - the DAC overlay does it all:
dtparam=i2c_arm=on
dtparam=i2s=on
from linux.
Thx. I guess it won't hurt to have these parameters in, even if redundant. ;)
I tried the slave option
###audio#####################
###disable onboard audio
dtparam=audio=off
###I2C
dtoverlay=i2c0-pi5
dtparam=i2c=on
###I2S
dtparam=i2s=on
###audiointerface_overlay
dtoverlay=allo-boss-dac-pcm512x-audio,slave
No success.
I also tried the 6.1 kernel. Same story.
No success
dmesg on 6.1.0-rpi7
[ 1.558336] pcm512x 1-004d: Failed to reset device: -121
[ 1.559065] snd-allo-boss-dac soc:sound: snd_soc_register_card() failed: -517
[ 1.564033] snd-allo-boss-dac soc:sound: snd_soc_register_card() failed: -517
[ 1.580564] snd-allo-boss-dac soc:sound: snd_soc_register_card() failed: -517
[ 11.748179] snd-allo-boss-dac soc:sound: snd_soc_register_card() failed: -517
A lot has changed on the I2C part. Perhaps some incompatibilities!?!?
I found this:
Boss: physical pins 3-5-12-27-28-31-35-40 (SDA1-I2C ; SCL1-I2C ; 2S_BCLK ; ID_SD ; ID_SC ; GPIO6/DMUTE ; I2S_LRCLK ; I2S_DOUT).```
Here's a hardcopy.
![Allo-Boss-1 2-header](https://github.com/raspberrypi/linux/assets/5501886/81c79c81-9061-4b3d-84d6-afefb5b59c39)
from linux.
I forgot:
cat /sys/kernel/debug/devices_deferred
soc:sound
from linux.
And how about this one:
find 2>/dev/null /sys/devices -name "waiting_for_supplier" -exec grep -H . {} \;
from linux.
find 2>/dev/null /sys/devices -name "waiting_for_supplier" -exec grep -H . {} \;
/sys/devices/platform/soc/107cd00000.local_intc/waiting_for_supplier:0
/sys/devices/platform/soc/107d517c00.gpio/gpiochip3/waiting_for_supplier:0
/sys/devices/platform/soc/107d517c00.gpio/gpiochip2/waiting_for_supplier:0
/sys/devices/platform/soc/107c411000.pixelvalve/waiting_for_supplier:0
/sys/devices/platform/soc/107d542000.avs-monitor/waiting_for_supplier:0
/sys/devices/platform/soc/107c501000.moplet/waiting_for_supplier:0
/sys/devices/platform/soc/107c003000.timer/waiting_for_supplier:0
/sys/devices/platform/soc/107c706400.hdmi/waiting_for_supplier:0
/sys/devices/platform/soc/107d508500.gpio/gpiochip1/waiting_for_supplier:0
/sys/devices/platform/soc/107d508500.gpio/gpiochip0/waiting_for_supplier:0
/sys/devices/platform/soc/107c701400.hdmi/waiting_for_supplier:0
/sys/devices/platform/soc/107c410000.pixelvalve/waiting_for_supplier:0
/sys/devices/platform/soc/soc:sound/waiting_for_supplier:0
/sys/devices/platform/soc/107c500000.mop/waiting_for_supplier:0
/sys/devices/platform/psci/waiting_for_supplier:0
/sys/devices/platform/timer/waiting_for_supplier:0
/sys/devices/platform/107c580000.hvs/waiting_for_supplier:0
/sys/devices/platform/axi/1002000000.v3d/waiting_for_supplier:0
/sys/devices/platform/axi/1000110000.pcie/pci0000:00/pci_bus/0000:00/waiting_for_supplier:0
/sys/devices/platform/axi/1000400018.syscon/waiting_for_supplier:0
/sys/devices/platform/axi/1000120000.pcie/pci0001:00/pci_bus/0001:00/waiting_for_supplier:0
/sys/devices/platform/axi/1000120000.pcie/1f00074000.i2c/i2c-1/1-004d/waiting_for_supplier:0
/sys/devices/platform/axi/1000120000.pcie/1f000d0000.gpio/gpiochip4/waiting_for_supplier:0
/sys/devices/platform/axi/1000120000.pcie/1f00100000.ethernet/mdio_bus/1f00100000.ethernet-ffffffff/waiting_for_supplier:0
/sys/devices/platform/axi/axi:gpu/waiting_for_supplier:0
from linux.
Just tested the Allo Katana. The same thing. Hmmh, it's similar not working.
What changed: lsmod shows me now
snd_soc_audio_graph_card
plus entourage modules, when enabling
dtoverlay=allo-katana-dac-audio
The Katana module doesn't even get loaded.
These Allo drivers do load "regmap_i2c". Are we looking at a I2C issue?
from linux.
One more. I'd like to add some more info.
A standard audio HAT that uses the basic I2S driver and no I2C works.
dtoverlay=i2s-dac
snd_soc_rpi_simple_soundcard 65536 0
snd_soc_pcm1794a 65536 1
snd_soc_core 294912 3 snd_soc_pcm1794a,designware_i2s,snd_soc_rpi_simple_soundcard
snd_compress 65536 1 snd_soc_core
snd_pcm_dmaengine 65536 1 snd_soc_core
snd_pcm 163840 5 designware_i2s,snd_compress,snd_soc_core,snd_soc_rpi_simple_soundcard,snd_pcm_dmaengine
snd_timer 81920 1 snd_pcm
snd 147456 4 snd_timer,snd_compress,snd_soc_core,snd_pcm
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpirpidac [snd_rpi_rpi_dac], device 0: RPi-DAC HiFi pcm1794a-hifi-0 [RPi-DAC HiFi pcm1794a-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
from linux.
One more (from memory):
Allo Katana HAT: dtoverlay=allo-katana-dac-audio
The OS complains (dmesg) that the I2C frequency of "50000" is invalid. "100000" would be the first valid value.
Since the Katana overlay was somehow replaced by snd_soc_audio_graph_card, I am not sure if this matters.
The system seemed to be in a weird state.
Let me know if I can provide more infos. Or If I should run any tests - updated kernel/firmware etc.
from linux.
50kHz is slow, and not a standard I2C speed. The Pi 5 I2C block was only designed to run at the standard speeds - 100kHz, 400kHz and 1MHz, so the driver will be rejecting it. I don't know if it would be possible to achieve other speeds by essentially lying to the driver about source clock speeds. An alternative would be to use software I2C.
from linux.
I see. But you realize that's a backward compatibility issue affecting perhaps a lot more 3PPs !?!? All earlier platforms supported 50k respectively <100k as it seems. I am not sure if 3PPs can cope (HW/firmware) with the new limit.
from linux.
Ok. Just had a look at the .dts files . The Allo Katana is the only HAT explicitly specifying
allo-katana-dac-audio-overlay.dts: clock-frequency = <50000>;
from linux.
Just to mention it. There are of course other non-Allo devices out there, such as the IMO excellent (p/p-r) InnoMaker DAC Pro that's still being actively sold, which fail on the RPi5.
from linux.
InnoMaker DAC Pro that's still being actively sold, which fail on the RPi5
Is that so? That would make the Inno-Maker website, which has a quick start guide for Pi 5 -
https://www.inno-maker.com/product/hifi-dac-pro/ - particularly disingenuous.
If there is a reasonably priced card that is recognised as not working on Pi 5 (and where the failure can't be attributed to the choice of I2S clock producer) then I should be able to obtain one for testing purposes.
from linux.
Is that so?
Cynicism?
Can you provide any more advice how I can support you guys on the subject?
I am a hobbyist and I am not getting paid for the hours I am spending on the subject.
I am not even running these interfaces. I do have them around for running some tests once in a while.
My efforts are 100% dedicated to the community out there that is still happily running these interfaces.
Fact is. Until you guys introduced the RPi5, all these drivers were working flawless. Now they are basically useless.
It looks like a serious compatibility issue to me. An issue that we haven't really seen in the past.
The company Allo is dead, from what I know - they just disappeared in around 2022 and kept their homepage running. If there's nobody taking over the driver maintenance sooner or later, my guess - these drivers have to and will go. I have my doubts that companies like InnoMaker are taking over.
Gotta run. I'd like to enjoy my USB DAC. Again. If I can help, I am listening.
from linux.
Cynicism?
Cynicism on whose part? Pointing out a material difference - works vs doesn't work - in the information about what could be a useful test device is not cynicism. Your statement about that device not working on Pi 5 puts you at odds with the manufacturer who gives explicit instructions on how to make it work - surely that's enough cause for doubt.
I'm very prepared to accept that there may be incompatibilities with some devices - I've already fixed a few by making changes to the I2S driver - but before spending money on a sample device I'd like more than an uncorroborated assertion that there is a problem.
from linux.
Until you guys introduced the RPi5, all these drivers were working flawless. Now they are basically useless.
I don't follow the logic here. The drivers and existing soundcard installations continue to work exactly as they did on the same Pis they always have. If they can be made to also work on Pi 5 then we will do so, but that will likely depend on owners being sufficiently motivated to send their devices to us for testing.
from linux.
Look I don't have time for this.
We already discussed the issue around the 50k I2C issue of the Katana dts - as one of probably several issues, since the Boss dts doesn't work either and won't issue that message . I posted the error message.
I am not the expert here. If Innomaker claims to be able to work with it. So be it. I read people reporting that the DAC doesn't work on the Pi5 - which would make sense to me. For sure I am not buying a device that runs high risk of not
working on your new platform, just to prove that it is not working.
from linux.
#5853 adds support for non-standard I2C rates. Anyone with the Katana DAC can see if the PR makes it work by waiting about until about 17:30GMT and running sudo rpi-update pulls/5853
(assuming any important data has been backed up).
from linux.
I tested your changes on a fresh installed SD-card for the Katana driver. The behaviour slightly changed.
- modules get loaded.
- error messages look different now
root@pi5:~# cat /proc/asound/cards
--- no soundcards ---
root@pi5:~# uname -r
6.1.72-v8-16k+
root@pi5:~# cat /sys/kernel/debug/devices_deferred
soc:sound asoc-audio-graph-card: parse error
root@pi5:~# dm
[ 2.002183] brcm-pcie 1000110000.pcie: link down
[ 6.934198] i2c_designware 1f00074000.i2c: controller timed out
[ 6.934218] allo-katana-codec 1-0030: Failed to read Chip or wrong Chip id: -110
root@pi5:~# find 2>/dev/null /sys/devices -name "waiting_for_supplier" -exec grep -H . {} \;
/sys/devices/platform/soc/107cd00000.local_intc/waiting_for_supplier:0
/sys/devices/platform/soc/107d517c00.gpio/gpiochip3/waiting_for_supplier:0
/sys/devices/platform/soc/107d517c00.gpio/gpiochip2/waiting_for_supplier:0
/sys/devices/platform/soc/107d542000.avs-monitor/waiting_for_supplier:0
/sys/devices/platform/soc/107c003000.timer/waiting_for_supplier:0
/sys/devices/platform/soc/107d508500.gpio/gpiochip1/waiting_for_supplier:0
/sys/devices/platform/soc/107d508500.gpio/gpiochip0/waiting_for_supplier:0
/sys/devices/platform/soc/soc:sound/waiting_for_supplier:0
/sys/devices/platform/psci/waiting_for_supplier:0
/sys/devices/platform/timer/waiting_for_supplier:0
/sys/devices/platform/axi/1000110000.pcie/waiting_for_supplier:0
/sys/devices/platform/axi/1000400018.syscon/waiting_for_supplier:0
/sys/devices/platform/axi/1000120000.pcie/pci0001:00/pci_bus/0001:00/waiting_for_supplier:0
/sys/devices/platform/axi/1000120000.pcie/1f00074000.i2c/i2c-1/1-0030/waiting_for_supplier:0
/sys/devices/platform/axi/1000120000.pcie/1f000d0000.gpio/gpiochip4/waiting_for_supplier:0
/sys/devices/platform/axi/1000120000.pcie/1f00100000.ethernet/mdio_bus/1f00100000.ethernet-ffffffff/waiting_for_supplier:0
from linux.
Just to mention it. I tried the same RpiOS image I ran on the Pi5 with exact the same settings on a Pi4.
root@pi5:~# uname -r
6.1.72-v8+
root@pi5:~# cat /proc/asound/cards
0 [BossDAC ]: BossDAC - BossDAC
BossDAC
This at least proves that OS and DAC are working.
I keep the fingers crossed that you guys find what's wrong with the Pi5.
from linux.
Chiming in to stay in the loop. I can note that pipewire-pulse spits pcm512x 1-004d: No SCLK, using BCLK: -2
non stop.
uname -r
6.6.13-2-rpi
cat /proc/asound/cards
...
4 [sndrpijustboomd]: JustBoomDac - snd_rpi_justboom_dac
snd_rpi_justboom_dac
from linux.
@pelwell I tested a Katana card with 6.1.73 with PR #5853 applied. The card loads fine and plays music on a pi5. Allo Boss plays fine too. The Boss Dac only required adding ,slave to the dtoverlay.
Note that I'm not using RaspiOS. I've not started playing with a 6.6.y kernel yet.
from linux.
My previous comment was misinformed. I had by accident added two wireplumber services. 🤭
Justboom hat works better than ever now.
from linux.
@pelwell I tested a Katana card with 6.1.73 with PR #5853 applied. The card loads fine and plays music on a pi5. Allo Boss plays fine too. The Boss Dac only required adding ,slave to the dtoverlay.
Note that I'm not using RaspiOS. I've not started playing with a 6.6.y kernel yet.
Good news. There's hope.
Now.
- You run a different OS. And you build and manage your kernel differently - if I am not mistaken.
You don't use the rpi-update images - correct ? Apples and oranges ??
What makes the difference here !?!?
I did realize that rpi-update is not properly updating all kernel related files (leaving a lot of dead bodies around). Perhaps there's an issue to be found in that department. - running the drivers in I2S slave mode - is a reasonable test scenario. These Allo audionterfaces (and a lot more followers) were built to run in master mode though to allow for (or enable) high quality audio on RPIs. I hope the kernel crew considers this.
@pelwell - did #5853 make it into the 6.6 branch by now ?
from linux.
I just tested my own compiled 6.6.13 - 2712 - CL: e1a8b8b
The Allo Boss works with this kernel!!!! Great.
The Katana still complains about the 50kHz issue. Grrr.
@pelwell - speaks anything against merging your related correction into the 6.6. branch ??
I do have the feeling that'd be it.
from linux.
I delayed merging #5853 because of some feedback indicating a regression (#5853 (comment)), but that was with an invalid hardware configuration.
However, thanks to the positive feedback here I think it's probably better to merge now and get some wider testing before the next stable release - watch this space.
from linux.
#5853 has been merged, and rpi-6.6.y has been bumped to include the latest 6.1 commits. Let me know how you get on. There should be a new build available via sudo rpi-update rpi-6.6.y
within the hour.
from linux.
FYI - quick update - more tomorrow
p5 # cat /proc/asound/cards
0 [Katana ]: Allo_Katana - Allo Katana
Allo Katana
from linux.
I am more than happy to announce that all my Allo interfaces are working now on the RPi5.
And I'm pretty sure that many maintainers and users will also be quite happy about it.
Great job @pelwell and team. It's been some heavy lifting. Thx a lot.
DuT: Allo Katana, Allo Boss
Devices have been tested against kernel branch 6.6 2712 CL: 3287b41 - my own custom build version
I2C controls (alsamixer) of these devices have been successfully (regression) tested
Allo Katana fed with complete sample rate series up to 384kHz has successfully been tested
Allo Boss I2S modes have been tested - both modes master and slave seem to work
Thx to @paul-1 who made me think perhaps not to use rpi-update for the kernel updates. For sure this tool needs some
maintenance.
Bottom line.
From my side "Case Closed".
PS: I just ordered the earlier discussed $60 Inno-Maker Sabre DAC HAT, simply to see how that one performs with the Katana driver.
from linux.
Thanks for the feedback. It will take a while for the patch to appear in more-widely-available firmwares, and because the patch changes the timing of all Pi 5 I2C accesses some caution is required before pushing it into a major release.
I'm going to close this issue now, and wait for the first "Pi 5 I2C differently broken" issue.
from linux.
Just a quick note I wanted to add.
Did some more testing on the same env as earlier.
Allo Piano and the just received InnoMaker DAC Pro - in particular - also work.
p5 ~ # aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: IMDACPro [IM-DAC-Pro], device 0: 1f000a4000.i2s-allo-katana-codec allo-katana-codec-0 [1f000a4000.i2s-allo-katana-codec allo-katana-codec-0]
Subdevices: 0/1
Subdevice #0: subdevice #0
(It's my own overlay ;) )
Everything looks stable over here.
from linux.
Related Issues (20)
- Get sensor link rate through video multiplexer HOT 2
- Wider M.2 NVMe ssd support HOT 1
- The dtoverlay=pineboards-hat-ai doesn't work HOT 7
- Missing Color Order in KMS DPI Overlay HOT 8
- SPI transfer fails with [Errno 110] Connection timed out when there are > 4 CS pins configured HOT 4
- Unable to load max98357a overlay - no matching platform found HOT 6
- Kernel 6.6 broken with official 7'' display (at least in the Pi 4) HOT 1
- kernel 6.6.30-v8+ and 6.6.31-v8+ strange system freeze due to firmware error HOT 8
- dwc_otg driver causing complete system freeze in stable 6.6.28 kernel (Home Assistant OS, RPi OS) HOT 17
- HifiBerry DAC+ADC audio glitches on Pi 5 at 192 kHz when stressing memory HOT 2
- hdmi_max_pixel_freq support with KMS driver HOT 5
- broken sudo vclog -m output HOT 14
- alloc_compact_internal(space=3291328, in_low_region=0, mode=7) failed HOT 12
- Module nvme-fabrics not selected in config but respective service running HOT 3
- XBOX Wireless Receiver wont be enumerated on boot (device descriptor read/64, error -32) HOT 1
- UART RTS pin can get locked into an unusable state HOT 7
- 'sudo lspci -vvv' reports the drive incorrectly HOT 10
- unable to connect an arduino portenta lite via usb to raspberry pi HOT 13
- M.2 HAT+ - incompatible NVMe (Sandisk Corp WD Blue SN550 NVMe SSD/SanDisk Ultra 3D NVMe 500GB) HOT 8
- /soc/nvmem_* nodes in RPI5 device tree violate DTS specification HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from linux.