My solution to pops and clicks

Below i will describe what i did in order to fix all the problems i had with my usb sabre with external pdu. I could not listen to 24/96 at all (ethernet and usb disk) and i had some very annoying noises with standard 16/44.1 flacs.

- STEP 1 - i updated volumio with this very useful script and i rebooted:

volumio-update-install-script-t633.html

STEP 2 - I updated the firmware to latest under development

apt-get update apt-get install binutils BRANCH=next rpi-update

i added the following to /boot/cmdline.txt

dwc_otg.fiq_enable=1 dwc_otg.fiq_fsm_enable=1 dwc_otg.fiq_fsm_mask=0x3

i rebooted and all problems gone!!!

source:

raspberrypi.org/phpBB3/viewt … 28&t=70437

I’ve been testing it with 24/96 (max of my dac) flacs downloaded from:

2l.no/hires/

using stock samba settings.

The result is amazing!!

@Michelangelo, please test it and consider adding this fix to your next release if other people gives positive feedback!

Testing it right now, if it works and it has i2s modules… Expect it to see a new release tomorrow!

I had problems after Step 1.

It did the update and upgrade. When I rebooted my wifi online time went from ~30 seconds to > 2 minutes. I am not sure if it was this delay, but the NAS volumes would never mount via NFS - as if NFS lost its window because wifi wasn’t up.

I reverted to the 1.1 beta image from the download site.

I am using the Edimax Wifi USB dongle, and using “lsmod” and “lsusb” it appears the drivers are loading/installing correctly. However, it takes it for what seems like forever to get onto my AP and be available.

Here is my dmesg output:

[ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Initializing cgroup subsys cpuacct [ 0.000000] Linux version 3.10.30+ (dc4@dc4-arm-01) (gcc version 4.7.2 20120731 (prerelease) (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08) ) #644 PREEMPT Fri Feb 21 18:44:33 GMT 2014 [ 0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache [ 0.000000] Machine: BCM2708 [ 0.000000] cma: CMA: reserved 16 MiB at 1e000000 [ 0.000000] Memory policy: ECC disabled, Data cache writeback [ 0.000000] On node 0 totalpages: 126976 [ 0.000000] free_area_init_node: node 0, pgdat c05d3e84, node_mem_map c0684000 [ 0.000000] Normal zone: 992 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 126976 pages, LIFO batch:31 [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 125984 [ 0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708.boardrev=0xe bcm2708.serial=0x76d9e0ba smsc95xx.macaddr=B8:27:EB:D9:E0:BA sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x1fa00000 vc_mem.mem_size=0x20000000 force_turbo=1 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p3 elevator=noop rootfstype=ext4 rootwait smsc95xx.turbo_mode=N dwc_otg.fiq_enable=1 dwc_otg.fiq_fsm_enable=1 dwc_otg.fiq_fsm_mask=0x3 [ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) [ 0.000000] Memory: 496MB = 496MB total [ 0.000000] Memory: 480392k/480392k available, 27512k reserved, 0K highmem [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) [ 0.000000] vmalloc : 0xdf800000 - 0xff000000 ( 504 MB) [ 0.000000] lowmem : 0xc0000000 - 0xdf000000 ( 496 MB) [ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB) [ 0.000000] .text : 0xc0008000 - 0xc0575858 (5559 kB) [ 0.000000] .init : 0xc0576000 - 0xc059a344 ( 145 kB) [ 0.000000] .data : 0xc059c000 - 0xc05d4990 ( 227 kB) [ 0.000000] .bss : 0xc05d4990 - 0xc0683060 ( 698 kB) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] Preemptible hierarchical RCU implementation. [ 0.000000] NR_IRQS:330 [ 0.000000] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 4294967ms [ 0.000000] Switching to timer-based delay loop [ 0.000000] Console: colour dummy device 80x30 [ 0.000000] console [tty1] enabled [ 0.001186] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=10000) [ 0.001251] pid_max: default: 32768 minimum: 301 [ 0.001721] Mount-cache hash table entries: 512 [ 0.002524] Initializing cgroup subsys memory [ 0.002629] Initializing cgroup subsys devices [ 0.002667] Initializing cgroup subsys freezer [ 0.002701] Initializing cgroup subsys blkio [ 0.002861] CPU: Testing write buffer coherency: ok [ 0.003331] Setting up static identity map for 0xc0408ee8 - 0xc0408f44 [ 0.005123] devtmpfs: initialized [ 0.019631] NET: Registered protocol family 16 [ 0.025764] DMA: preallocated 4096 KiB pool for atomic coherent allocations [ 0.027013] bcm2708.uart_clock = 0 [ 0.028696] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers. [ 0.028748] hw-breakpoint: maximum watchpoint size is 4 bytes. [ 0.028786] mailbox: Broadcom VideoCore Mailbox driver [ 0.028884] bcm2708_vcio: mailbox at f200b880 [ 0.028989] bcm_power: Broadcom power driver [ 0.029030] bcm_power_open() -> 0 [ 0.029057] bcm_power_request(0, 8) [ 0.529773] bcm_mailbox_read -> 00000080, 0 [ 0.529815] bcm_power_request -> 0 [ 0.530039] Serial: AMBA PL011 UART driver [ 0.530201] dev:f1: ttyAMA0 at MMIO 0x20201000 (irq = 83) is a PL011 rev3 [ 0.881334] console [ttyAMA0] enabled [ 0.907517] bio: create slab <bio-0> at 0 [ 0.912803] SCSI subsystem initialized [ 0.916786] usbcore: registered new interface driver usbfs [ 0.922499] usbcore: registered new interface driver hub [ 0.928056] usbcore: registered new device driver usb [ 0.934766] Switching to clocksource stc [ 0.939103] FS-Cache: Loaded [ 0.942260] CacheFiles: Loaded [ 0.957588] NET: Registered protocol family 2 [ 0.962989] TCP established hash table entries: 4096 (order: 3, 32768 bytes) [ 0.970255] TCP bind hash table entries: 4096 (order: 2, 16384 bytes) [ 0.976780] TCP: Hash tables configured (established 4096 bind 4096) [ 0.983257] TCP: reno registered [ 0.986516] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.992427] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.999162] NET: Registered protocol family 1 [ 1.004083] RPC: Registered named UNIX socket transport module. [ 1.010149] RPC: Registered udp transport module. [ 1.014875] RPC: Registered tcp transport module. [ 1.019626] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 1.027138] bcm2708_dma: DMA manager at f2007000 [ 1.031957] bcm2708_gpio: bcm2708_gpio_probe c05a9e50 [ 1.037425] vc-mem: phys_addr:0x00000000 mem_base=0x1fa00000 mem_size:0x20000000(512 MiB) [ 1.046781] audit: initializing netlink socket (disabled) [ 1.052457] type=2000 audit(0.890:1): initialized [ 1.214511] VFS: Disk quotas dquot_6.5.2 [ 1.218879] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) [ 1.227699] FS-Cache: Netfs 'nfs' registered for caching [ 1.234428] NFS: Registering the id_resolver key type [ 1.239763] Key type id_resolver registered [ 1.243974] Key type id_legacy registered [ 1.248695] msgmni has been set to 970 [ 1.254630] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252) [ 1.262480] io scheduler noop registered (default) [ 1.267308] io scheduler deadline registered [ 1.272019] io scheduler cfq registered [ 1.277322] BCM2708FB: allocated DMA memory 5e400000 [ 1.282502] BCM2708FB: allocated DMA channel 0 @ f2007000 [ 1.294540] Console: switching to colour frame buffer device 82x26 [ 1.304644] uart-pl011 dev:f1: no DMA platform data [ 1.311105] kgdb: Registered I/O driver kgdboc. [ 1.317624] vc-cma: Videocore CMA driver [ 1.323005] vc-cma: vc_cma_base = 0x00000000 [ 1.329084] vc-cma: vc_cma_size = 0x00000000 (0 MiB) [ 1.335742] vc-cma: vc_cma_initial = 0x00000000 (0 MiB) [ 1.351399] brd: module loaded [ 1.360877] loop: module loaded [ 1.365521] vchiq: vchiq_init_state: slot_zero = 0xde000000, is_master = 0 [ 1.374642] Loading iSCSI transport class v2.0-870. [ 1.381938] usbcore: registered new interface driver smsc95xx [ 1.389194] dwc_otg: version 3.00a 10-AUG-2012 (platform bus) [ 1.596331] Core Release: 2.80a [ 1.600838] Setting default values for core params [ 1.606857] Finished setting default values for core params [ 1.813745] Using Buffer DMA mode [ 1.818290] Periodic Transfer Interrupt Enhancement - disabled [ 1.825402] Multiprocessor Interrupt Enhancement - disabled [ 1.832262] OTG VER PARAM: 0, OTG VER FLAG: 0 [ 1.837890] Dedicated Tx FIFOs mode [ 1.843411] WARN::dwc_otg_hcd_init:1047: FIQ DMA bounce buffers: virt = 0xde414000 dma = 0x5e414000 len=9024 [ 1.855897] FIQ FSM acceleration enabled for : [ 1.855897] Non-periodic Split Transactions [ 1.855897] Periodic Split Transactions [ 1.872222] dwc_otg: Microframe scheduler enabled [ 1.872460] WARN::hcd_init:474: FIQ at 0xc02f1d10 [ 1.878557] WARN::hcd_init:475: FIQ ASM at 0xc02f1f8c length 36 [ 1.885935] WARN::hcd_init:501: MPHI regs_base at 0xdf806000 [ 1.893033] dwc_otg bcm2708_usb: DWC OTG Controller [ 1.899340] dwc_otg bcm2708_usb: new USB bus registered, assigned bus number 1 [ 1.907985] dwc_otg bcm2708_usb: irq 32, io mem 0x00000000 [ 1.914864] Init: Port Power? op_state=1 [ 1.920141] Init: Power Port (0) [ 1.924775] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [ 1.932956] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1.941562] usb usb1: Product: DWC OTG Controller [ 1.947575] usb usb1: Manufacturer: Linux 3.10.30+ dwc_otg_hcd [ 1.954750] usb usb1: SerialNumber: bcm2708_usb [ 1.961395] hub 1-0:1.0: USB hub found [ 1.966487] hub 1-0:1.0: 1 port detected [ 1.972095] dwc_otg: FIQ enabled [ 1.972114] dwc_otg: NAK holdoff enabled [ 1.972126] dwc_otg: FIQ split-transaction FSM enabled [ 1.972147] Module dwc_common_port init [ 1.972605] usbcore: registered new interface driver usb-storage [ 1.980393] mousedev: PS/2 mouse device common for all mice [ 1.987846] bcm2835-cpufreq: min=700000 max=700000 cur=700000 [ 1.995084] bcm2835-cpufreq: switching to governor powersave [ 2.002094] bcm2835-cpufreq: switching to governor powersave [ 2.009045] cpuidle: using governor ladder [ 2.014351] cpuidle: using governor menu [ 2.019555] sdhci: Secure Digital Host Controller Interface driver [ 2.026995] sdhci: Copyright(c) Pierre Ossman [ 2.032664] sdhci: Enable low-latency mode [ 2.078847] mmc0: SDHCI controller on BCM2708_Arasan [platform] using platform's DMA [ 2.089333] mmc0: BCM2708 SDHC host at 0x20300000 DMA 2 IRQ 77 [ 2.096580] sdhci-pltfm: SDHCI platform and OF driver helper [ 2.103734] ledtrig-cpu: registered to indicate activity on CPUs [ 2.113329] hidraw: raw HID events driver (C) Jiri Kosina [ 2.127637] usbcore: registered new interface driver usbhid [ 2.134677] usbhid: USB HID core driver [ 2.144529] TCP: cubic registered [ 2.151298] Initializing XFRM netlink socket [ 2.159022] NET: Registered protocol family 17 [ 2.165031] Key type dns_resolver registered [ 2.174014] Indeed it is in host mode hprt0 = 00021501 [ 2.181167] VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5 [ 2.209493] registered taskstats version 1 [ 2.219747] Waiting for root device /dev/mmcblk0p3... [ 2.290957] mmc0: read SD Status register (SSR) after 4 attempts [ 2.303843] mmc0: new high speed SDHC card at address 0007 [ 2.311452] mmcblk0: mmc0:0007 SD8GB 7.42 GiB [ 2.319089] mmcblk0: p1 p3 [ 2.418841] usb 1-1: new high-speed USB device number 2 using dwc_otg [ 2.426938] Indeed it is in host mode hprt0 = 00001101 [ 2.613551] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null) [ 2.624672] VFS: Mounted root (ext4 filesystem) on device 179:3. [ 2.632573] usb 1-1: New USB device found, idVendor=0424, idProduct=9512 [ 2.641173] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 2.651731] hub 1-1:1.0: USB hub found [ 2.657211] hub 1-1:1.0: 3 ports detected [ 2.664158] devtmpfs: mounted [ 2.669182] Freeing unused kernel memory: 144K (c0576000 - c059a000) [ 2.939051] usb 1-1.1: new high-speed USB device number 3 using dwc_otg [ 3.059510] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00 [ 3.068003] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 3.082542] smsc95xx v1.0.4 [ 3.148963] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:d9:e0:ba [ 3.259003] usb 1-1.2: new full-speed USB device number 4 using dwc_otg [ 3.472872] usb 1-1.2: New USB device found, idVendor=267f, idProduct=10e1 [ 3.488429] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 3.497744] usb 1-1.2: Product: SA9023 USB Audio [ 3.504014] usb 1-1.2: Manufacturer: HiFimeDIY Audio [ 3.541948] input: HiFimeDIY Audio SA9023 USB Audio as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.0/input/input0 [ 3.569118] hid-generic 0003:267F:10E1.0001: input,hidraw0: USB HID v1.00 Device [HiFimeDIY Audio SA9023 USB Audio] on usb-bcm2708_usb-1.2/input0 [ 4.287118] udevd[156]: starting version 175 [ 5.129261] bcm2708_spi bcm2708_spi.0: master is unqueued, this is deprecated [ 5.269133] bcm2708_spi bcm2708_spi.0: SPI Controller at 0x20204000 (irq 80) [ 5.392405] bcm2708_i2c_init_pinmode(0,0) [ 5.398214] bcm2708_i2c_init_pinmode(0,1) [ 5.564723] bcm2708_i2c bcm2708_i2c.0: BSC0 Controller at 0x20205000 (irq 79) (baudrate 100000) [ 5.718262] bcm2708_i2c_init_pinmode(1,2) [ 5.798550] bcm2708_i2c_init_pinmode(1,3) [ 5.799098] bcm2708_i2c bcm2708_i2c.1: BSC1 Controller at 0x20804000 (irq 79) (baudrate 100000) [ 5.984116] bcm2708-i2s bcm2708-i2s.0: Failed to create debugfs directory [ 6.517912] usbcore: registered new interface driver snd-usb-audio [ 10.718299] EXT4-fs (mmcblk0p3): re-mounted. Opts: (null) [ 11.158176] EXT4-fs (mmcblk0p3): Mount option "nouser_xattr" will be removed by 3.5 [ 11.158176] Contact linux-ext4@vger.kernel.org if you think we should keep it. [ 11.158176] [ 11.186081] EXT4-fs (mmcblk0p3): re-mounted. Opts: nouser_xattr,errors=remount-ro [ 19.051379] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup [ 19.678563] NET: Registered protocol family 10 [ 19.694069] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 20.703829] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x41E1 [ 20.715861] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 22.453316] Installing knfsd (copyright (C) 1996 okir@monad.swb.de). [ 54.740796] bcm2835-cpufreq: switching to governor performance [ 54.749442] bcm2835-cpufreq: switching to governor performance

I confirm that everything remains fine in my installation. My dac is the following:

hifimediy.com/index.php?route=pr … duct_id=87 (adaptive)

I read a new post of the usb driver developer and yesterday he updated the driver adding an option for high speed isochronous transactions.

So after a BRANCH=next rpi-update we can add an extra option to cmdline.txt:

dwc_otg.fiq_fsm_mask=0x7

I am a little bit confused but if I understand correctly this will make an affect to adaptive DACS.

Sent from my GT-N7100 using Tapatalk

The driver developer has posted some days ago that he has applied some new fixes for the “FIQ reported NYET” errors, so everyone still experiencing errors (you can give the command “dmesg” and check for these), can give again a “BRANCH=next rpi-update”.

I have applied the new fix many days now and i still get “FIQ reported NYET” errors but they are less comparing to previous firmware. I really hope that in the near future these errors will disappear because in my setup whenever i get the error i can hear the problem in reproduction, so it has an affect in our listening experience.

After numerous tests, i believe that i have found the final fix needed to eliminate all the errors with regards to rpi music reproduction.

Reading the posts of the new driver developer, i found the following:

I decided to test this suggestion and to my surprise, all the FIQ errors disappeared. I have been listening for about 2 hours checking the dmesg outpout and i haven’t got any error (i am referring to “FIQ reported NYET” errors). Whenever i got this type of error i could hear the affect of it, which was not huge but definetely noticeable.

The solution (i will give the commands for both usb ports) is:

echo -n "1-1.3:1.0" > /sys/bus/usb/drivers/usbhid/unbind echo -n "1-1.2:1.0" > /sys/bus/usb/drivers/usbhid/unbind

I run a custom linux os and i have created a startup script containing both of them, to be sure that no matter which port will be selected for the usb DAC, the fix is applied.

The command should be given after the device is plugged, which means that if you want to put it in a startup script you have to be sure that the dac is plugged before boot.

I assume that usb keyboards and mice will have problems with this solution, but we don’t care as our installation is headless.

Source:
raspberrypi.org/phpBB3/viewt … 0&start=50

p.s. i do not know if thes ids remain the same for all distros. a dmesg will give you the correct numbers for your USB DAC.

I had the opportunity to test a friends machine and unfortunately these numbers i mentioned above are not universal for the Rpi and have to do with the dac.

The way to find your numbers is find the line of the dac from dmesg.

My dac is:

[ 3.586063] input: HiFimeDIY Audio SA9023 USB Audio as /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/input/input0

the number i need is: 1-1.3:1.0

so the command in my case will be:

echo -n “1-1.3:1.0” > /sys/bus/usb/drivers/usbhid/unbind

…or, in case that your USB DAC does not explicitly show it’s address in dmesg, look into

/devices/platform/bcm2708_usb/usb1/1-1/1-1.2/ /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/
directories. Look for subdirectories that look like “1-1.?:?.?” (replace question marks with numbers). Those subdirectory names might represent USB address you are looking for.

BTW 1-1.2 or 1-1.3 parts of the USB address represent USB port addresses (on B version RPi). That means that if you plug your USB DAC into other USB port - USB address of your DAC will change from 1-1.2:?.? to 1-1.3:?.? (or vice versa).

That’s why i gave the two commands to cover both ports. The problem is that these numbers are not stable.

I did a test on a DACMAGIC that a friend has and the number was: 1-1.3:1.2.

I even if 1-1.3:1 is the same the last digit changed and with the knowledge i have, i cannot find a way to find a universal solution.

What i mean, is that it would be very interesting to create a script, which finds the desired number of the attached DAC and sends the echo command on every boot, so that the end user doesn’t have to apply the fix by hand.

Edit:
Faudrei, i read again your post, and your suggestion is a nice first step for the creation of a script! I tried to navigate to these directories and unfortunately they do not exist. maybe i am doing something wrong.

No, you are doing OK…

Just try:

/sys/devices/platform/bcm2708_usb/usb1/1-1/1-1.2/ /sys/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/
This works for me on my PiBang installation.

If this fails - there is always:

find / -iname bcm2708_usb

:wink:

Thanks for your reply!

I run a custom Archlinux os distro and the path finaly was :

/sys/bus/usb/devices/

if i ls -la I can see the symlinks of the paths of our discussion.

You could write an udev rule that unbinds the HID module when the DAC is plugged. For my DAC (HTR Music Streamer II+) I’ve created the file “/etc/udev/rules.d/90-dac.rules” with the following line:

ATTRS{idVendor}=="4852", ATTRS{idProduct}=="0006", RUN+="/bin/sh -c 'echo -n $id:1.2 >/sys/bus/usb/drivers/usbhid/unbind'"

The idVendor and idProduct codes are specific for the DAC and can be found out with “lsusb -v”.

(Unfortunately also with the latest updates from the NEXT branch and the unbinding of the HID module I get pops and noise when I play FLAC files. MP3 files work like a charm though.)

We have a new beta fimware – raspberrypi.org/forums/viewt … 26#p532626

Testing it right now - it works fine. No need to apply the usbhid unbinding fix.

Another way to explore : overclocking the PI.
Mine is running at 900Mhz.

Simply edit /boot/config.txt and add the following lines :
arm_freq=900 (frequence of the ARM processor, default 700Mhz)
sdram_freq=450 (frequence of the SDRAM, default 400Mhz)
over_voltage=2 (ARM/GPU core voltage adjust with 0.025V steps, default 0)

Go step by step to be sure your RPI does run stable. First step :
arm_freq=800
sdram_freq=400
over_voltage=0

Do not forget to reboot !!

You can check the ARM frequency by taping :
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

My RPI runs at 900Mhz with a heatsink cutted from one of an old video card.

It’s not the best way to avoid plops but it’s an easy way.

Sources :
elinux.org/RPiconfig#Overclocking_options

The latest firmware update should fix the remaining problems with USB DACs. After the update I don’t get pops or clicks anymore.

The new USB driver is now enabled by default, therefore specifying the module options “dwc_otg.fiq*” in /boot/cmdline.txt is not necessary. I think version 1.2 of Volumio does specify those options, but does not enable all the accelerations the new driver can provide (that’s because those accelerations were added after the release of Volumio 1.2). So my advice is to remove all dwc_otg.fiq* options form cmdline.txt.

I have been testing the latest firmware from main branch on a custom distro for about 24 hours. I removed the cmdline.txt FSM options and also CMA options from config.txt after experiencing some problems during boot.

It seems to be 100% fine.

How to apply it?

To apply the latest I did the following (be careful - I did not test in volumio):

SKIP_BACKUP=1 rpi-update (I prefer not keeping firmware backups)

edited /boot/cmdline.txt and removed:

and then I edited /boot/config.txt and i commented all the cma settings:

#cma_lwm=16 #cma_hwm=32 #cma_offline_start=16

After a reboot everything is fine.