matrzh

Members
  • Content Count

    5
  • Joined

  • Last visited

  1. I am answering my own question. I finally did play with the -a and -b options of squeezelite, and it seems that the option -a 400 does the trick, which is 400ms seconds of alsa buffer time, if I read the man page correctly. I have been listening to squeezelite for the last 10 minutes or so and did not have an interruption, so far. specifying a stream buffer with -b does not change anything (or only very marginally). So for me: To make squeezelite work well with spdif on a cubietruck (Allwinner A20 processor), I need to launch it as follows squeezelite -o hw:1 -a 400 To properly load it with systemd, the following lines need to be in /etc/default/squeezelite : SL_SOUNDCARD="hw:1" SB_EXTRA_ARGS="-a 400" Maybe it helps someone
  2. Hi, I have just changed from a custom legacy kernel to armbian and like the experience. I use the Logitech Media Server and squeezelite, mainly to play radio on the armbian box itself as well as on a Squeezebox Radio I still have. This works in principle, but using the spdif optical output, I get an interrupt every minute or so of about half a second. Is this common and do I need to install something in addition to use the spdif output? System information: Allwinner A20 cubietruck Kernel (uname -r): 4.19.62-sunxi Squeezelite v1.8 Logitech Media Server Version: 7.9.2 - 1565967976 @ Fri Aug 16 17:18:03 CEST 2019 output of aplay -l **** List of PLAYBACK Hardware Devices **** card 0: sun4icodec [sun4i-codec], device 0: CDC PCM Codec-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: SPDIF [On-board SPDIF], device 0: spdif-dit-hifi dit-hifi-0 [] Subdevices: 0/1 Subdevice #0: subdevice #0 output of squeezelite -l Output devices: null - Discard all samples (playback) or generate zero samples (capture) default:CARD=sun4icodec - sun4i-codec, - Default Audio Device sysdefault:CARD=sun4icodec - sun4i-codec, - Default Audio Device dmix:CARD=sun4icodec,DEV=0 - sun4i-codec, - Direct sample mixing device dsnoop:CARD=sun4icodec,DEV=0 - sun4i-codec, - Direct sample snooping device hw:CARD=sun4icodec,DEV=0 - sun4i-codec, - Direct hardware device without any conversions plughw:CARD=sun4icodec,DEV=0 - sun4i-codec, - Hardware device with all software conversions default:CARD=SPDIF - On-board SPDIF, - Default Audio Device sysdefault:CARD=SPDIF - On-board SPDIF, - Default Audio Device dmix:CARD=SPDIF,DEV=0 - On-board SPDIF, - Direct sample mixing device dsnoop:CARD=SPDIF,DEV=0 - On-board SPDIF, - Direct sample snooping device hw:CARD=SPDIF,DEV=0 - On-board SPDIF, - Direct hardware device without any conversions plughw:CARD=SPDIF,DEV=0 - On-board SPDIF, - Hardware device with all software conversions I run squeezlite with option -o hw:1 other options I tried was -o default:CARD=SPDIF, -o hw:CARD=SPDIF,DEV=0, plughw:CARD=SPDIF,DEV=0 The default option was the worst in terms of interrupts, I think. Any hints? Cannot see anything suspicious in the logs. The interrupts do not appear if I use the hw:0 (sun4icodec), but the volume level and noise is much better with the spdif. I read somewhere that it is normally not necessary to mess with buffer or alsa parameters. (-b / -a options in squeezelite)
  3. O.k. I just had to include the path /usr/src/linux-headers-4.14...sunxi/include and the code sense works. Guess I can take it from here. The normal "cross compile" seems to work, too.
  4. No. But I am still at the stage to set up a decent IDE, so that I can include header files for other kernel drivers etc. I do not believe that the modules will just compile, the gpio is handled differently in the new kernel and I would actually like to explore the code a bit (without changing it). The *.h files will probably suffice to see what definitions exist. Actually, I would just have to know where the sources are, after compile.sh is being run.
  5. This may be a somewhat stupid question, but I just cannot find anything about it. I have custom-compiled the kernel for Allwinner A20/cubietruck as described here on a Virtual Box Ubuntu 18.04 Once done, I took the *.deb files out of output/debs, copied it to the machine and installed them. Everything worked fine and so far so good . But the "build" directory on the host with the compile.sh script is surprisingly empty. However, if I want to cross compile an additional kernel module on the virtual machine, how do I set this up? Is it enough to "make" with CROSS-COMPILE=arm-linux-gnueabihf-? or do I also need to somehow consider the linaro stuff in cache/toolchains? (the arm-linux-gnueabihf files are all in the /usr/bin of the host machine) I also want to reference some header-files (*.h) from the drivers sources, etc. can I copy the directory /usr/src/linux-headers-4.14....-sunxi? What happens if I extract the linux-source-next-sunxi_5.66_all.deb file to the virtual host machine? Also as a side note: if I want to recompile to enable an additional module, what do I do to use the old kernel configuration as a base? When I run "compile.sh" again, I get the choice to choose "cubietruck" again, but it starts from zero and does not consider any options I had previously disabled or changed. The reason, I am doing this, is that I am upgrading from a legacy kernel and I have some custom modules to control peripherals here and here, that I want to adapt to the new kernel.