Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I once purchased a FireWire multi-channel audio interface with the express intent of reverse engineering the protocol in order to add Linux support. I purchased a specialized PCI card that was intentionally non-standard (not OHCI 1394) but could snoop and capture traffic between a device and a host. I chipped away at deciphering a register map for awhile, but eventually better USB audio devices came along that had more driver support.

Still trying to do the same sort of thing though with some audio related USB and Ethernet/IP devices so I guess I never really gave up the idea in my heart!



Do the USB devices have comparable round trip latency? That is where USB really hurts and where the Thunderbolt audio interfaces seem to fond their niche today.

I'm looking forward to audio interfaces that can do USB4 wrapped PCIe, but for now I live with the latency on Linux.


RTL latency doesn't seem that bad on chips that are built for the purpose, like RME's. Just the off the shelf stuff might be less than ideal.

If anything I think a problem is there's just overall too much slop in the whole chain, including the operating system, motherboard, whatever else. It's a little ridiculous that a $50 guitar pedal can easily get better RTL numbers than a $1500 computer system.


Linux has preempt_rt pretty conveniently accessible, and Pipewire has some useful tuning knobs, but my Steinberg UR44 can't seem to keep up.


Are you already aware of the PipeWire batch flags which add additional latency to USB audio devices (dependent on ALSA period rather than quantum)? https://pipewire.pages.freedesktop.org/wireplumber/configura...


Yes, I tried setting those lower but ended up with xruns and other issues. :(


Did you decrease the USB ALSA period to the lowest practical value (eg. 128 or so)? In theory this provides finer-grained position updates and better stability at any given latency, but I'm not sure how it interacts with USB's polling rate.


Yes, the latency increases, the audio quality worsens, and I see the following messages in Pipewire's logs:

[W][30498.719355] spa.alsa | [ alsa-pcm.c: 2478 spa_alsa_read()] steinberg_ur44_mono_in:UR44,0,2: follower delay:4042 target:4832 thr:256, resync (374 missed)


Ouch that's unfortunate :(


you are a glutton for punishment. a hacker after my own heart!

i have so many unfinished things where i just knew something could be figured out, only to not succeed. but it sure is fun trying on top of learning new things as well.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: