My solution to pops and clicks

Raspberry Pi related support

My solution to pops and clicks

Postby tux » 05 Mar 2014, 17:50

Until today i had very serious problems with the following:

- with 16/44.1 flacs i had some annoying pops/click over ethernet
- i could not listen at all to 24/96

my dac is USB sabre 2 with external PDU from Hifimediy.

After spending many hours trying to find a solution, finally i found it:

Code: Select all
pacman -Syu
reboot
wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
BRANCH=next rpi-update
nano /boot/cmdline.txt


i added the following options:

Code: Select all
dwc_otg.fiq_enable=1 dwc_otg.fiq_fsm_enable=1 dwc_otg.fiq_fsm_mask=0x3


and rebooted.

The result is amazing with samba share/rsize=8048,wsize=8096 and audio buffer 2048.

I have been testing with flacs 24/96 (the max of my DAC) from http://www.2l.no/hires/ which previously i could not listen to at all.

Please try it and give feedback!
User avatar
tux
 
Posts: 34
Joined: 22 Jan 2014, 23:39
Location: Greece

Re: My solution to pops and clicks

Postby tux » 05 Mar 2014, 18:18

I forgot to give the link that i found this information:

http://www.raspberrypi.org/phpBB3/viewt ... 28&t=70437
User avatar
tux
 
Posts: 34
Joined: 22 Jan 2014, 23:39
Location: Greece

Re: My solution to pops and clicks

Postby ACX » 05 Mar 2014, 20:23

Finally somebody rewrited the USB driver! This is a GREAT news, thank you very much for the tip. We are going to test it as soon as possible to see if it's stable enough to be introduced in the next 0.3-beta release. Please keep up testing and give us your feedback on that.
User avatar
ACX
RuneAudio co-founder
 
Posts: 1692
Joined: 29 Nov 2013, 02:25
Location: Udine, Italy

Re: My solution to pops and clicks

Postby tux » 05 Mar 2014, 20:42

There is need to be tested with different dacs and unfortunately I only have one - HiFimeDIY usb Sabre 2 with external pdu (not async).

So whoever has problems and sees this thread please test and post your results!

Acx, even if it's unstable please add it as an extra option to your interface in next beta! A nice idea would be that you announce it and call for testing because this thread might get lost if people don't reply!
User avatar
tux
 
Posts: 34
Joined: 22 Jan 2014, 23:39
Location: Greece

Re: My solution to pops and clicks

Postby ACX » 05 Mar 2014, 21:11

If the fix works and turns stable I'll set this thread as sticky, don't worry :)
User avatar
ACX
RuneAudio co-founder
 
Posts: 1692
Joined: 29 Nov 2013, 02:25
Location: Udine, Italy

Re: My solution to pops and clicks

Postby jibbs » 06 Mar 2014, 05:09

I'm running rune 0.2 on a revA raspberry pi with an Ayre QB-9 USB DAC connected and unfortunately the new USB driver doesn't seem to be working for me... I'm getting a kernel panic right after bootup.

I didn't see any errors in the upgrade, but as soon as I reboot after changing cmdline.txt to enable the new driver, I get a kernel panic for the usb driver. If I unplug the DAC and reboot then no kernel panics happen (I haven't tried plugging something else in the USB). Also, if I remove dwc_otg.fiq_fsm_mask=0x3 from cmdline.txt and plug the DAC back in, then after a reboot still no kernel panics... however the audio is absolutely full of pops (just constant pops, not like before where one would be heard once in a while).
jibbs
 
Posts: 1
Joined: 06 Mar 2014, 05:01

Re: My solution to pops and clicks

Postby tux » 06 Mar 2014, 10:55

I am pasting my debug information playing 24/96 flacs just for the developers to have a look:

Code: Select all
Array
(
    [conf] => Array
        (
            [audio_output_interface] => 0
            [mixer_type] => disabled
            [log_level] => default
            [gapless_mp3_playback] => yes
            [dsd_usb] => yes
            [volume_normalization] => no
            [audio_buffer_size] => 2048
            [buffer_before_play] => 20%
            [auto_update] => no
        )

    [save] => save
)
1
###### System info ######
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

system load:   0.69 0.33 0.18 2/76 789

HW platform:   RaspberryPi (01)

playerID:   010ffde043544740869e68bb1ee19fb845


###### Audio backend ######
Advanced Linux Sound Architecture Driver Version k3.10.30+.

Card list: (/proc/asound/cards)
--------------------------------------------------
 0 [Audio          ]: USB-Audio - SA9023 USB Audio
                      HiFimeDIY Audio SA9023 USB Audio at usb-bcm2708_usb-1.2, full speed
 1 [ALSA           ]: BRCM bcm2835 ALSbcm2835 ALSA - bcm2835 ALSA
                      bcm2835 ALSA

ALSA interface #0: (/proc/asound/card0/pcm0p/info)
--------------------------------------------------
card: 0
device: 0
subdevice: 0
stream: PLAYBACK
id: USB Audio
name: USB Audio
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 0

ALSA interface #1: (/proc/asound/card1/pcm0p/info)
--------------------------------------------------
card: 1
device: 0
subdevice: 0
stream: PLAYBACK
id: bcm2835 ALSA
name: bcm2835 ALSA
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 8
subdevices_avail: 8

interface #0 stream status: (/proc/asound/card0/stream0)
--------------------------------------------------------
HiFimeDIY Audio SA9023 USB Audio at usb-bcm2708_usb-1.2, full speed : USB Audio

Playback:
  Status: Running
    Interface = 3
    Altset = 2
    Packet Size = 582
    Momentary freq = 96000 Hz (0x60.0000)
  Interface 3
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 3 OUT (ADAPTIVE)
    Rates: 96000, 88200, 48000, 44100, 32000
  Interface 3
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 3 OUT (ADAPTIVE)
    Rates: 96000, 88200, 48000, 44100, 32000

Capture:
  Status: Stop
  Interface 2
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 2 IN (ADAPTIVE)
    Rates: 96000, 88200, 48000, 44100, 32000
  Interface 2
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 2 IN (ADAPTIVE)
    Rates: 96000, 88200, 48000, 44100, 32000

interface #1 stream status: (/proc/asound/card1/stream0)
--------------------------------------------------------
no stream present


###### Kernel module snd_usb_audio settings ######

Module = "snd_usb_audio"

  Attributes:
    coresize            = "116191"
    initsize            = "0"
    initstate           = "live"
    refcnt              = "1"
    srcversion          = "6E57D0A9137160413C147C6"
    taint               = ""
    uevent              =

  Parameters:
    autoclock           = "Y"
    device_setup        = "0,0,0,0,0,0,0,0"
    enable              = "Y,Y,Y,Y,Y,Y,Y,Y"
    id                  = "(null),(null),(null),(null),(null),(null),(null),(null)"
    ignore_ctl_error    = "N"
    index               = "0,-1,-1,-1,-1,-1,-1,-1"
    nrpacks             = "3"
    pid                 = "-1,-1,-1,-1,-1,-1,-1,-1"
    vid                 = "-1,-1,-1,-1,-1,-1,-1,-1"

  Sections:
    .ARM.exidx.exit.text= "0xbf1fb7d4"
    .ARM.exidx.init.text= "0xbf1fb7cc"
    .ARM.exidx          = "0xbf1fdf20"
    .ARM.extab          = "0xbf1fdea8"
    .ARM.extab.init.text= "0xbf1fb7c0"
    .bss                = "0xbf201f18"
    .data               = "0xbf1fe424"
    .exit.text          = "0xbf1f9ac8"
    .gnu.linkonce.this_module= "0xbf201dc8"
    .init.text          = "0xbf20b000"
    .note.gnu.build-id  = "0xbf1fe400"
    .rodata             = "0xbf1f9ad8"
    .rodata.str1.4      = "0xbf1fb86c"
    .strtab             = "0xbf210558"
    .symtab             = "0xbf20b048"
    .text               = "0xbf1ed000"
    __param             = "0xbf1fb7dc"


###### Kernel optimization parameters ######

hardware platform:   RaspberryPi
current orionprofile:   RuneAudio

kernel scheduler for mmcblk0:      [noop] deadline cfq
/proc/sys/vm/swappiness:      0
/proc/sys/kernel/sched_latency_ns:   1500000


###### Filesystem mounts ######

rootfs / rootfs rw 0 0
/dev/root / ext4 rw,noatime,nouser_xattr,errors=remount-ro,data=ordered 0 0
devtmpfs /dev devtmpfs rw,relatime,size=86396k,nr_inodes=21599,mode=755 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620 0 0
mqueue /dev/mqueue mqueue rw,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=21,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /sys/fs/cgroup tmpfs rw,nosuid,nodev,noexec,mode=755 0 0
cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd 0 0
cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpuacct,cpu 0 0
cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0
cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0
cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
configfs /sys/kernel/config configfs rw,relatime 0 0
tmpfs /run tmpfs rw,nosuid,nodev,mode=755 0 0
Ramdisk /run/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=262144k 0 0
tmpfs /tmp tmpfs rw 0 0
rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
/dev/mmcblk0p1 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /tmp tmpfs rw 0 0
/dev/root /var/tmp ext4 rw,noatime,nouser_xattr,errors=remount-ro,data=ordered 0 0
//192.168.1.150/Music /mnt/MPD/Resilience cifs ro,relatime,vers=1.0,sec=ntlm,cache=strict,uid=45,forceuid,gid=45,forcegid,addr=192.168.1.150,unix,posixpaths,serverino,acl,rsize=8048,wsize=8096,actimeo=1 0 0


###### mpd.conf ######

###################################
# Auto generated mpd.conf file
# please DO NOT edit it manually!
# Use RuneUI MPD config section
###################################

follow_outside_symlinks    "yes"
follow_inside_symlinks    "yes"
db_file    "/var/lib/mpd/mpd.db"
log_file    "/var/log/runeaudio/mpd.log"
pid_file    "/var/run/mpd/pid"
music_directory    "/mnt/MPD"
playlist_directory    "/var/lib/mpd/playlists"
state_file    "/var/lib/mpd/mpdstate"
user    "mpd"
bind_to_address    "any"
port    "6600"
log_level    "default"
zeroconf_enabled    "yes"
zeroconf_name    "runeaudio"
volume_normalization    "no"
audio_buffer_size    "2048"
buffer_before_play    "20%"
filesystem_charset    "UTF-8"
id3v1_encoding    "UTF-8"
gapless_mp3_playback    "yes"
auto_update    "no"
mixer_type    "disabled"
group    "audio"
max_connections "20"

decoder {
      plugin "ffmpeg"
      enabled "no"
}

input {
      plugin "curl"
}

audio_output {
enabled      "yes"
type      "alsa"
name      "USB-Audio"
device      "hw:0,0"
dsd_usb      "yes"
}

audio_output {
enabled      "yes"
type      "null"
name      "Null"
}

audio_output {
enabled      "no"
type      "alsa"
device      "hw:1,0"
name      "AnalogJack/HDMI"
}




###### PHP backend ######

php version:   5.5
debug level:   2


###### SESSION ######

STATUS:      1
ID:      cl3ria0270fd7274pj2o4dk296
SAVE PATH:   /run


###### SESSION DATA ######

Array
(
    [orionprofile] => RuneAudio
    [cmediafix] => 0
    [playmod] => 0
    [ramplay] => 0
    [sessionid] => cl3ria0270fd7274pj2o4dk296
    [mpdconfhash] => e2c77c2bf61e32d460bee95a5bd7a431
    [lastfm_apikey] => ba8ad00468a50732a3860832eaed0882
    [netconfhash] => 643f8967af551f683b3cfd493950c550
    [mpdconf_advanced] => 0
    [netconf_advanced] => 0
    [dev] =>
    [sourceconfhash] => d41d8cd98f00b204e9800998ecf8427e
    [sourceconf_advanced] => 1
    [debug] => 2
    [hiddendebug] => 0
    [opcache] => 1
    [playerid] => 010ffde043544740869e68bb1ee19fb845
    [hwplatform] => RaspberryPi
    [hwplatformid] => 01
    [airplay] => 0
    [scrobbling_lastfm] => 0
    [scrobbling_librefm] => 0
    [scrobbling_jamendo] => 0
    [spotify] => 0
    [db_version] => 1.2
    [udevil] => 1
    [coverart] => 1
    [volume] => 0
    [ao] => 0
    [ntpserver] => ntp.inrim.it
    [hostname] => runeaudio
    [w_queue] =>
    [w_queueargs] =>
    [w_lock] => 0
    [w_active] => 0
    [w_jobID] =>
    [debugdata] =>
    [netconf] => Array
        (
            [eth0] => Array
                (
                    [ip] => 192.168.1.106
                )

        )

    [state] => play
    [notify] =>
)

Page created in 1.29217 seconds.


My dmesg output is the following:

Code: Select all
[    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] early_vc_cma_mem(0/0x11800000@0xd400000)
[    0.000000]  -> initial 0, size 11800000, base d400000
[    0.000000] cma: CMA: reserved 280 MiB at 0d400000
[    0.000000] cma: CMA: reserved 16 MiB at 0b400000
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] On node 0 totalpages: 121856
[    0.000000] free_area_init_node: node 0, pgdat c05d3e84, node_mem_map c0684000
[    0.000000]   Normal zone: 984 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 121856 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: 120872
[    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-cma-mem=0/0x11800000@0xd400000 mem=0xc400000@0x0 mem=0x11800000@0xd400000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000  ipv6.disable=1 selinux=0 plymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p5 rootfstype=ext4 elevator=noop rootwait quiet 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: 196MB 280MB = 476MB total
[    0.000000] Memory: 172792k/172792k available, 314632k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xdf000000 - 0xff000000   ( 512 MB)
    lowmem  : 0xc0000000 - 0xdec00000   ( 492 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc0575858   (5559 kB)
      .init : 0xc0576000 - 0xc059a344   ( 145 kB)
      .data : 0xc059c000 - 0xc05d4990   ( 227 kB)
       .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.000471] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=10000)
[    0.000493] pid_max: default: 32768 minimum: 301
[    0.000929] Mount-cache hash table entries: 512
[    0.001687] Initializing cgroup subsys memory
[    0.001755] Initializing cgroup subsys devices
[    0.001772] Initializing cgroup subsys freezer
[    0.001787] Initializing cgroup subsys blkio
[    0.001920] CPU: Testing write buffer coherency: ok
[    0.002367] Setting up static identity map for 0xc0408ee8 - 0xc0408f44
[    0.004112] devtmpfs: initialized
[    0.051489] NET: Registered protocol family 16
[    0.057604] DMA: preallocated 4096 KiB pool for atomic coherent allocations
[    0.059041] bcm2708.uart_clock = 0
[    0.060823] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
[    0.060844] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.060859] mailbox: Broadcom VideoCore Mailbox driver
[    0.060935] bcm2708_vcio: mailbox at f200b880
[    0.061017] bcm_power: Broadcom power driver
[    0.061035] bcm_power_open() -> 0
[    0.061047] bcm_power_request(0, 8)
[    0.561754] bcm_mailbox_read -> 00000080, 0
[    0.561771] bcm_power_request -> 0
[    0.561974] Serial: AMBA PL011 UART driver
[    0.562116] dev:f1: ttyAMA0 at MMIO 0x20201000 (irq = 83) is a PL011 rev3
[    0.562462] console [ttyAMA0] enabled
[    0.585122] bio: create slab <bio-0> at 0
[    0.586279] SCSI subsystem initialized
[    0.586485] usbcore: registered new interface driver usbfs
[    0.586581] usbcore: registered new interface driver hub
[    0.586834] usbcore: registered new device driver usb
[    0.588574] Switching to clocksource stc
[    0.588876] FS-Cache: Loaded
[    0.589162] CacheFiles: Loaded
[    0.601465] NET: Registered protocol family 2
[    0.602392] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[    0.602523] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    0.602599] TCP: Hash tables configured (established 4096 bind 4096)
[    0.602682] TCP: reno registered
[    0.602706] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.602739] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.603139] NET: Registered protocol family 1
[    0.603672] RPC: Registered named UNIX socket transport module.
[    0.603697] RPC: Registered udp transport module.
[    0.603708] RPC: Registered tcp transport module.
[    0.603719] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.604976] bcm2708_dma: DMA manager at f2007000
[    0.605080] bcm2708_gpio: bcm2708_gpio_probe c05a9e50
[    0.605493] vc-mem: phys_addr:0x00000000 mem_base=0x1ec00000 mem_size:0x20000000(512 MiB)
[    0.606555] audit: initializing netlink socket (disabled)
[    0.606647] type=2000 audit(0.580:1): initialized
[    0.763974] VFS: Disk quotas dquot_6.5.2
[    0.764266] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.766481] FS-Cache: Netfs 'nfs' registered for caching
[    0.767782] NFS: Registering the id_resolver key type
[    0.767892] Key type id_resolver registered
[    0.767910] Key type id_legacy registered
[    0.768696] msgmni has been set to 929
[    0.770788] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.771094] io scheduler noop registered (default)
[    0.771117] io scheduler deadline registered
[    0.771408] io scheduler cfq registered
[    0.772831] BCM2708FB: allocated DMA memory 4d800000
[    0.772899] BCM2708FB: allocated DMA channel 0 @ f2007000
[    0.778189] Console: switching to colour frame buffer device 82x26
[    0.780774] uart-pl011 dev:f1: no DMA platform data
[    0.780831] kgdb: Registered I/O driver kgdboc.
[    0.781435] vc-cma: Videocore CMA driver
[    0.781457] vc-cma: vc_cma_base      = 0x0d400000
[    0.781470] vc-cma: vc_cma_size      = 0x11800000 (280 MiB)
[    0.781480] vc-cma: vc_cma_initial   = 0x00000000 (0 MiB)
[    0.790500] brd: module loaded
[    0.795532] loop: module loaded
[    0.795807] vchiq: vchiq_init_state: slot_zero = 0xcd400000, is_master = 0
[    0.796777] vchiq_get_state: g_state.remote->initialised != 1 (0)
[    0.797301] vchiq_get_state: g_state.remote->initialised != 1 (0)
[    0.797817] vchiq: vchiq_initialise: videocore initialized after 2 retries

[    0.805866] Loading iSCSI transport class v2.0-870.
[    0.806688] usbcore: registered new interface driver smsc95xx
[    0.806765] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    1.006887] Core Release: 2.80a
[    1.006915] Setting default values for core params
[    1.006957] Finished setting default values for core params
[    1.207021] Using Buffer DMA mode
[    1.207044] Periodic Transfer Interrupt Enhancement - disabled
[    1.207056] Multiprocessor Interrupt Enhancement - disabled
[    1.207068] OTG VER PARAM: 0, OTG VER FLAG: 0
[    1.207085] Dedicated Tx FIFOs mode
[    1.207817] WARN::dwc_otg_hcd_init:1047: FIQ DMA bounce buffers: virt = 0xcd814000 dma = 0x4d814000 len=9024
[    1.207853] FIQ FSM acceleration enabled for :
Non-periodic Split Transactions
Periodic Split Transactions
[    1.207878] dwc_otg: Microframe scheduler enabled
[    1.208061] WARN::hcd_init:474: FIQ at 0xc02f1d10
[    1.208082] WARN::hcd_init:475: FIQ ASM at 0xc02f1f8c length 36
[    1.208112] WARN::hcd_init:501: MPHI regs_base at 0xdf006000
[    1.208144] dwc_otg bcm2708_usb: DWC OTG Controller
[    1.208196] dwc_otg bcm2708_usb: new USB bus registered, assigned bus number 1
[    1.208255] dwc_otg bcm2708_usb: irq 32, io mem 0x00000000
[    1.208293] Init: Port Power? op_state=1
[    1.208304] Init: Power Port (0)
[    1.208408] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.208430] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.208447] usb usb1: Product: DWC OTG Controller
[    1.208463] usb usb1: Manufacturer: Linux 3.10.30+ dwc_otg_hcd
[    1.208477] usb usb1: SerialNumber: bcm2708_usb
[    1.209322] hub 1-0:1.0: USB hub found
[    1.209368] hub 1-0:1.0: 1 port detected
[    1.209727] dwc_otg: FIQ enabled
[    1.209744] dwc_otg: NAK holdoff enabled
[    1.209755] dwc_otg: FIQ split-transaction FSM enabled
[    1.209775] Module dwc_common_port init
[    1.210197] usbcore: registered new interface driver usb-storage
[    1.210501] mousedev: PS/2 mouse device common for all mice
[    1.211114] bcm2835-cpufreq: min=700000 max=700000 cur=700000
[    1.211212] bcm2835-cpufreq: switching to governor powersave
[    1.211228] bcm2835-cpufreq: switching to governor powersave
[    1.211252] cpuidle: using governor ladder
[    1.211267] cpuidle: using governor menu
[    1.211332] sdhci: Secure Digital Host Controller Interface driver
[    1.211345] sdhci: Copyright(c) Pierre Ossman
[    1.211434] sdhci: Enable low-latency mode
[    1.248671] mmc0: SDHCI controller on BCM2708_Arasan [platform] using platform's DMA
[    1.248911] mmc0: BCM2708 SDHC host at 0x20300000 DMA 2 IRQ 77
[    1.248997] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.249029] ledtrig-cpu: registered to indicate activity on CPUs
[    1.249146] hidraw: raw HID events driver (C) Jiri Kosina
[    1.249355] usbcore: registered new interface driver usbhid
[    1.249370] usbhid: USB HID core driver
[    1.249885] TCP: cubic registered
[    1.249903] Initializing XFRM netlink socket
[    1.249961] NET: Registered protocol family 17
[    1.250140] Key type dns_resolver registered
[    1.250961] VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
[    1.253937] registered taskstats version 1
[    1.262377] Waiting for root device /dev/mmcblk0p5...
[    1.309287] mmc0: new high speed SDHC card at address b368
[    1.309916] mmcblk0: mmc0:b368 SDU1  7.51 GiB
[    1.312064]  mmcblk0: p1 p2 < p5 >
[    1.406883] EXT4-fs (mmcblk0p5): mounted filesystem with ordered data mode. Opts: (null)
[    1.406973] VFS: Mounted root (ext4 filesystem) on device 179:5.
[    1.408832] Indeed it is in host mode hprt0 = 00021501
[    1.415923] devtmpfs: mounted
[    1.416425] Freeing unused kernel memory: 144K (c0576000 - c059a000)
[    1.588736] usb 1-1: new high-speed USB device number 2 using dwc_otg
[    1.588908] Indeed it is in host mode hprt0 = 00001101
[    1.789052] usb 1-1: New USB device found, idVendor=0424, idProduct=9512
[    1.789085] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    1.789919] hub 1-1:1.0: USB hub found
[    1.790081] hub 1-1:1.0: 3 ports detected
[    1.873152] IPv6: Loaded, but administratively disabled, reboot required to enable
[    2.068876] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[    2.169222] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
[    2.169254] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    2.172226] smsc95xx v1.0.4
[    2.235178] 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
[    2.328880] usb 1-1.2: new full-speed USB device number 4 using dwc_otg
[    2.532838] usb 1-1.2: New USB device found, idVendor=267f, idProduct=10e1
[    2.532873] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.532889] usb 1-1.2: Product: SA9023 USB Audio
[    2.532903] usb 1-1.2: Manufacturer: HiFimeDIY Audio
[    2.566236] input: HiFimeDIY Audio SA9023 USB Audio as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.0/input/input0
[    2.566611] 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
[    2.599356] systemd-modules-load[52]: Module 'nfs' is builtin
[    2.624318] bcm2708_rng_init=df08e000
[    2.624897] systemd-modules-load[52]: Inserted module 'bcm2708_rng'
[    2.707293] systemd-modules-load[52]: Inserted module 'snd_bcm2835'
[    3.660709] EXT4-fs (mmcblk0p5): Mount option "nouser_xattr" will be removed by 3.5
Contact linux-ext4@vger.kernel.org if you think we should keep it.

[    3.660776] EXT4-fs (mmcblk0p5): re-mounted. Opts: nouser_xattr,errors=remount-ro
[    3.824577] systemd-udevd[78]: starting version 210
[    4.345665] usbcore: registered new interface driver snd-usb-audio
[    4.474073] bcm2708_i2c_init_pinmode(0,0)
[    4.474101] bcm2708_i2c_init_pinmode(0,1)
[    4.474336] bcm2708_i2c bcm2708_i2c.0: BSC0 Controller at 0x20205000 (irq 79) (baudrate 100000)
[    4.480993] bcm2708_i2c_init_pinmode(1,2)
[    4.481023] bcm2708_i2c_init_pinmode(1,3)
[    4.482122] bcm2708_i2c bcm2708_i2c.1: BSC1 Controller at 0x20804000 (irq 79) (baudrate 100000)
[    4.511725] bcm2708_spi bcm2708_spi.0: master is unqueued, this is deprecated
[    4.512835] bcm2708_spi bcm2708_spi.0: SPI Controller at 0x20204000 (irq 80)
[    4.605857] bcm2708-i2s bcm2708-i2s.0: Failed to create debugfs directory
[    5.998204] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[    7.617662] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
[   23.909255] CIFS VFS: Error connecting to socket. Aborting operation.
[   23.909622] CIFS VFS: cifs_mount failed w/return code = -113
[   33.941991] usbcore: deregistering interface driver snd-usb-audio
[   34.060023] usbcore: registered new interface driver snd-usb-audio
[   34.721621] bcm2835-cpufreq: switching to governor performance
[   34.721657] bcm2835-cpufreq: switching to governor performance



I keep testing my installation with flacs 24/96 and 16/44.1 without any problems. Everything sound as it should. I also applied the fix to other distributions (Volumio and "hand made" archlinux) and i have positive results everywhere.
User avatar
tux
 
Posts: 34
Joined: 22 Jan 2014, 23:39
Location: Greece

Re: My solution to pops and clicks

Postby ACX » 07 Mar 2014, 09:27

I took a quick test yesterday night and it was working good. The pacman -Syu command also updates MPD to the last version, 0.18.9, which seems to fix the analog output problem (stuttering when skipping tracks):
http://www.musicpd.org/news/2014/03/mpd ... -released/
We'll test it more deeply in the weekend. Please let us know your impressions too.
User avatar
ACX
RuneAudio co-founder
 
Posts: 1692
Joined: 29 Nov 2013, 02:25
Location: Udine, Italy

Re: My solution to pops and clicks

Postby tux » 07 Mar 2014, 10:37

ACX i keep doing my tests in various distros (mainly my own Archlinux setup - Runeaudio included many hours per day).

It keeps working flawlessly and latest mpd also solved the changing tracks issue.

I am a frequent visitor of the topic that the usb driver developer has opened and as i read there is a new commit on the driver he uploaded yesterday.

So after a new:

Code: Select all
BRANCH=next rpi-config


there is a new cmdline.txt option:

Code: Select all
dwc_otg.fiq_fsm_mask=0x7


According to the developer:

The BRANCH=next firmware now includes support for FIQ acceleration of high-speed isochronous transactions. This significantly reduces the CPU overhead of high-speed isochronous transports and performs them with much more robust timing than previously. There are a number of restrictions on transactions that can be accelerated that should not be encountered in any sane device driver:
The endpoint servicing interval must be 1 microframe
All transfers in a URB must have a memory address that starts on a 32-bit boundary
More than 2 transfers must be queued per URB

A message will be printed to the kernel message log if an isochronous transaction fails any one of these tests.

To activate the functionality, you need to set dwc_otg.fiq_fsm_mask=0x7 in /boot/cmdline.txt


If i have understood correctly what he means, this commit might help adaptive usb DACS. I haven't tested yet.
User avatar
tux
 
Posts: 34
Joined: 22 Jan 2014, 23:39
Location: Greece

Re: My solution to pops and clicks

Postby tux » 07 Mar 2014, 13:08

i tested with the latest :

dwc_otg.fiq_fsm_mask=0x7

and the result remains fine.
User avatar
tux
 
Posts: 34
Joined: 22 Jan 2014, 23:39
Location: Greece

support RuneAudio Donate with PayPal

Next

Return to Raspberry Pi

Who is online

Users browsing this forum: No registered users and 11 guests