Allo usbridge sig. | dietpi 8.11.2 | cracks/pops on USB DAC

Creating a bug report/issue

Required Information

  • DietPi version | cat /boot/dietpi/.version
    G_DIETPI_VERSION_CORE=8
    G_DIETPI_VERSION_SUB=11
    G_DIETPI_VERSION_RC=2
    G_GITBRANCH=‘master’
    G_GITOWNER=‘MichaIng’
    G_LIVE_PATCH_STATUS[0]=‘applied’

  • Distro version | echo $G_DISTRO_NAME $G_RASPBIAN
    bullseye 0

  • Kernel version | uname -a
    Linux DietPi 5.15.76-v7+ #1597 SMP Fri Nov 4 12:13:17 GMT 2022 armv7l GNU/Linux

  • SBC model | echo $G_HW_MODEL_NAME or (EG: RPi3)
    RPi CM 3+ (armv7l)
    Allo usbridge sig.

  • Power supply used | (EG: 5V 1A RAVpower)
    Allo Nirvana 5V

  • SD card used | (EG: SanDisk ultra)

Additional Information (if applicable)

  • Software title | (EG: Nextcloud)
  • Was the software title installed freshly or updated/migrated?
  • Can this issue be replicated on a fresh installation of DietPi?
    ← If you sent a “dietpi-bugreport”, please paste the ID here →
  • Bug report ID | echo $G_HW_UUID

Steps to reproduce

  1. Updated from 8.5.x to 8.11.2
  2. Stream music and use USB DAC as output… (i’m using Raspotify, Squeezelite, GMRender and TIdal Connect)

Expected behaviour

  • Music without cracks and pops

Actual behaviour

  • Occasional cracks and pops in the music

Extra details

  • It has probably something to do with the current USB ASIX driver.

  • modinfo ax88179_178a | grep version
    srcversion: 6C1FCF063025567E7E0CF65
    vermagic: 5.15.76-v7+ SMP mod_unload modversions ARMv7 p2v8

  • Suggested driver (by Allo):
    version: v2.0.0

More info:
http://3.230.113.73:9011/Allocom/DietPi/info

ping @MichaIng maybe you can have a look pls

There should be the kernel postinst script /etc/kernel/postinst.d/dietpi-USBridgeSig which installs the driver from Allo. It is however possible that at time of kernel upgrade, Allo did not yet compile the matching new kernel module, in which case the download fails. Please try this:

/etc/kernel/postinst.d/dietpi-USBridgeSig "$(uname -r)"

Ah, latest drivers are indeed missing: http://3.230.113.73:9011/Allocom/USBridgeSig/
Please ask Allo to provide them. Especially the builds for stable RPi kernel releases haven’t been updated for over a year, which is important not only for DietPi users but also for Raspberry Pi OS users, which all have stable kernel packages installed: http://3.230.113.73:9011/Allocom/USBridgeSig/stable_rel/

Many thanks!

I’ve requested Allo to compile and provide the missing drivers and for the stable RPi kernels as well.

Cheers!

1 Like

In the mean time I’ve been tinkering with compiling the driver kernel module myself. I’ve more or less succeeded in this. I’m a C# software developper/programmer by profession, but have little linux experience. To make this a learning exercise I’ve forked the Allo driver source code and added a Makefile, install script and a tutorial to build and install the driver module.

The repo can be found here:
https://github.com/ce-designs/USBridgeSig-AX2v0

The linux guru’s over here will probably laugh their heads off when they see my approach. :rofl:
But I’m always open to suggestions on how to improve and simplify the procedure.

One question:

  1. How to compile and build *.ko.xz modules instead of *.ko?
1 Like

.xz is a compressed file archive, so my guess is, you just have to compress the .ko file with xz-utils.

1 Like

That worked, so I included it in the script.

I’m now able to compile and install the ax88179_178a driver without the help of Allo! :partying_face:
I might add the driver for this particular kernel build to my repo anytime soon, so it can be installed without the need to install all the other dependencies for compiling a driver.

1 Like

Good it is working for you now. Would be better if Allo could take care to provide packages from there end as official source. Let’s see.

Great work. Probably can add a GitHub workflow to compile those ourselves (regularly based on kernel releases) and upload to our server. I was never really happy to have this plain HTTP IP address download of something sensitive like a kernel module.

I would appreciate that, but I also agree with @Joulinar in that Allo should provide the drivers as the official source.

1 Like

Did you manage to add a workflow for compiling the dietpi usbridgeSig drivers?

I want to update to the latest version, but want to know if I need to compile the drivers myself.

I looked in the workflow folder and didn’t find any workflow for compiling the drivers, so once again I compiled these myself.

I did need to update the source code of the driver though. Since kernel 6.1.0 the netif_napi_add function is replaced by netif_napi_add_weight

After this change was able to compile the driver.