Jump to content

le51

Members
  • Posts

    25
  • Joined

  • Last visited

Posts posted by le51

  1. Hi there,

     

    just to clarify; all of you having wlan0 up and running, are you using an USB adapter or the RVdock built in wifi chip

     

    I'min the same situation as noticed here:

     

     

    I'm using 23_09_sid_edge_6.6.0, and gotsame problem with current 6.1

     

     

    -------------EDIT----------------

     

    Got it working finally.

     

    For any unknow reason, the arbiam setup script at first boot didn't finished totaly.

    I have burned a new SD card with 23_09_sid_edge_6.6.0

    and everything (at least Wifi) is fine.

     

    Thank you @balbes150 great job

  2. Hey Klaus,

     

    I own an IQaudio Dac Pro and I want it to run on Rock5b.

    I'm a bit busy these days for investigating right now, but here are some points:

     

    • IQaudio boards have an ASoc driver like:

    https://github.com/raspberrypi/linux/blob/rpi-5.15.y/sound/soc/bcm/iqaudio-dac.c

    or

    https://github.com/raspberrypi/linux/blob/rpi-5.15.y/sound/soc/bcm/iqaudio-codec.c

     

    Maybe they need some tweaks

    • You have to write and compile a device tree overlay like this one

    https://github.com/raspberrypi/linux/blob/rpi-5.15.y/arch/arm/boot/dts/overlays/iqaudio-dacplus-overlay.dts

     

    • I've seen on radxa repository that there is already a dts file for an Audioinjector board:

    https://github.com/radxa/overlays/blob/main/arch/arm64/boot/dts/rockchip/overlays/audioinjector-isolated-soundcard.dts

    but this shouldn't be for the rock5b, as GPIO pinout (https://wiki.radxa.com/Rock5/hardware/5b/gpio) list I2S2 and I2C7 as the right data lanes name.

     

    • Be sure that I2C7 and I2S2 are in "okay" status (haven't checked) in the device tree

    Hope this helps, and keep us in touch 😉

     

    Good luck

  3. I agree with Guidol's point of view.

     

    But, so far

    • if you already have a tinkerboard lying on your desk
    • if you know how to use etcher (or any other tool for creating a bootable disk)

    Then by following instructions given above and these on how to compile armbian you should be able to get your DAC up and running under armbian. And, maybe you will just have to adapt the "compatibility" line in the dts file ...

    I would be glad to help you further, but without having the tinkerboard, and without having this dac it's hard to do more ...

  4. do you have any board in mind. Armbian runs on a wide variety of hardware. See here:

    https://www.armbian.com/download/?device_support=Supported

    and here for the boards in testing stage:

    https://www.armbian.com/download/?device_support=Suitable+for+testing+(WIP)

    They are boards that haven't got any i2s interface.

     

    Have a look at this thread for some guidance:

    You will have to compile driver pcm179x-i2c or pcm179x-spi depending on the hardware control protocol used by your device, I'm quiet sure that it isn't enabled by default in armbian.

     

    The device tree overlay for rpi-dac is quiet simple and should easily adaptable:

    https://github.com/raspberrypi/linux/blob/rpi-4.19.y/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts

    // Definitions for RPi DAC
    /dts-v1/;
    /plugin/;
    
    / {
    	compatible = "brcm,bcm2835";
    
    	fragment@0 {
    		target = <&i2s>;
    		__overlay__ {
    			status = "okay";
    		};
    	};
    
    	fragment@1 {
    		target-path = "/";
    		__overlay__ {
    			pcm1794a-codec {
    				#sound-dai-cells = <0>;
    				compatible = "ti,pcm1794a";
    				status = "okay";
    			};
    		};
    	};
    
    	fragment@2 {
    		target = <&sound>;
    		__overlay__ {
    			compatible = "rpi,rpi-dac";
    			i2s-controller = <&i2s>;
    			status = "okay";
    		};
    	};
    };

     

     

    Again, post mentioned above will give most of what you are looking for.

    Good luck

  5. Well, I own a nanopi m4v2 + nVme hat and ssd, but for an unknown reason, the board doesn't start anymore. I suspect that some component has been toasted elsewhere ...

    So sad ...

    Quote

    Some boards need the sd card with the bootloader

    First, I've got to say that I'm far from being a guru in all these uboot, bootloader stuff.  But that is the case for the m4v2 + nvme ssd => you need sd card for booting the board and then access root filesystem on the ssd. By swapping the sd card I had the ability to install and choose to use legacy or mainline on two separate partitions.

    => so while booting the board with a fresh armbian sd card, you can backup a ssd partition or even the whole drive with dd. But I don't know if it is feasible on the emmc drive.

     

    Btw, there is a "recovery" button on the board, what is that use for, it's a mystery

  6. Hi Werner, hi Myy

     

    I like big challenge :D

    I went through all the building process (without having initialized any FLAGS as said above) on the nanoPi itself.

    But I don't realize how it can impact on software performance, or compilation speed or ....

     

    I will run the process again with

    13 minutes ago, Myy said:

    -march=, -mcpu= and -mtune= to native

     

    Thank you

  7. Hi,

     

    I'm trying to build a zynthian synthesizer on a nanoPi m4v2. The principle is to start from a minimal buster image and run a bunch of compilation scripts (see here on github) to create all the needed software. But all that stuff is for Raspberry Pi.

    In an initialization script (see here on github) they define compilation flags like this:
     

    if [ "$ZYNTHIAN_FORCE_RBPI_VERSION" ]; then
        hw_architecture="armv7l"
        rbpi_version=$ZYNTHIAN_FORCE_RBPI_VERSION
    else
        hw_architecture=`uname -m 2>/dev/null`
        if [ -e "/sys/firmware/devicetree/base/model" ]; then
            rbpi_version=`tr -d '\0' < /sys/firmware/devicetree/base/model`
        else
            rbpi_version=""
        fi
    fi
    
    if [ "$hw_architecture" = "armv7l" ]; then
        # default is: RPi3
        CPU="-mcpu=cortex-a53 -mtune=cortex-a53"
        FPU="-mfpu=neon-fp-armv8 -mneon-for-64bits"
        if [[ "$rbpi_version" =~ [2] ]]; then
            CPU="-mcpu=cortex-a7 -mtune=cortex-a7"
            FPU="-mfpu=neon-vfpv4"
        fi
        #CPU="${CPU} -Ofast" #Breaks mod-ttymidi build
        FPU="${FPU} -mfloat-abi=hard -mlittle-endian -munaligned-access -mvectorize-with-neon-quad -ftree-vectorize"
        CFLAGS_UNSAFE="-funsafe-loop-optimizations -funsafe-math-optimizations -ffast-math"
    fi
    export MACHINE_HW_NAME=$hw_architecture
    export RBPI_VERSION=$rbpi_version
    export CFLAGS="${CPU} ${FPU}"
    export CXXFLAGS=${CFLAGS}
    export CFLAGS_UNSAFE=""
    export RASPI=true

    I'm totally confused with aarch64, arm64, armv7, armv8 ...

    Can someone help me to set the right options here.

     

    What I've done so far, was to remove all these FLAGS initialization (because of errors), but this is for sure not the best way to optimize that :wacko:

     

    Thank you for your input!

  8. That board has a 12.288 MHz crystal. You'll have to adjust the clock settings accordingly in the dts file.  The sample rate will be 44100 hz.

     

    Btw, did you notice that mikroe's proto board only has got one microphone input ?

  9. Hi there,

     

    This topic interest me a lot. I'm using arm sbc for sound & music applications where low latency is important.

    sfx2000's post reminds me other discussions on other forums (mostly computer "assisted" music oriented) where some thoughts/experiences are related to poor application performance regarding the low positive impact of a RT kernel.

    From my own experience (x86, arm SBC's and RPI), RT kernel or not, good or bad audio interface in USB or I2S, depending on the load (cpu, memory, audio stream), I always have crack, glitches and xruns.

     

    Without RT patch, what I get:

    - With a H5 board with 2Gb memory (NanoPiK1plus) I can't go under 20ms of jack audio server latency without having a to unstable config but, as is, it is still "playable".

    - With a NanoPiM4 and a HD USB audio interface, I have 5ms of latency, a lot of power for apps and a NvMe interface for a fast drive. That's great :)

     

    So, I really ask myself for going further in kernel "hacking" with the RT patch.

     

     

  10. Hi,

     

    I bought a module on aliexpress which is more or less the same as the audioinjector zero : https://www.aliexpress.com/item/1674210328.html

    Both use the wm8731 audio codec. It provides stereo line input, and microphone input (Note that uou can't use them simultaneously), headphone and stereo line outputs.

    Codec is supported by linux kernel.

     I've managed to get it recognized by armbian on a nanoPi K1 plus with 4.19.83-sunxi64 self build kernel (aplay -L and arecord -L have shown the interface) after some manipulations but unfortunately:

    1/ I had no sound output (didn't tried the record feature) , maybe because board is sold without any crystal oscillator soldered on it

    2/ I've lost the board :-( 

     

    Now some guidelines: the post I've mentioned above is really helpful

    - check that the i2s channel you want to use is enabled (status: "okay";)

    - see in /lib/modules/YourKernelVersion/kernel/sound/soc/codecs/ if snd-soc-wm8731.ko is there otherwise you will have to compile it

    - the dts file I've used for that (you will have to adjust it regarding your hardware) with "armbian-add-overlay wm8731.dts" :

    ## file wm8731.dts
    /dts-v1/;
    /plugin/;
    
    / {
    	compatible = "allwinner,sun8i-h3";
    
    
        fragment@0 {
            target-path = "/";
            __overlay__ {
                wm8731: wm8731 {
                    #sound-dai-cells = <0>;
                    compatible = "wlf,wm8731";
                    status = "okay";
    		wm873x,format = "i2s";
                };
            };
        };
    
     
    
    	fragment@1 {
    		target = <&i2s0>;
    		__overlay__ {
    			status = "okay";
    			pinctrl-0 = <&i2s0_pins>;
    			sound-dai = <&wm8731>;
    			pinctrl-names = "default";
    		};
    	};
    
    	fragment@2 {
    		target-path = "/";
    		__overlay__ {
    		
    			sound {
    				compatible = "simple-audio-card";
    				simple-audio-card,name = "wm8731-hifi";
    				simple-audio-card,format = "i2s";
    				simple-audio-card,bitclock-master = <&codec_master>;
    				simple-audio-card,frame-master = <&codec_master>;
    				simple-audio-card,widgets =
    					"Headphone", "Headphone Jack",
    					"Microphone", "Microphone Jack",
    					"Line", "Line Jack";
    				simple-audio-card,routing =
    					"Headphone Jack", "RHPOUT",
    					"Headphone Jack", "LHPOUT",
    					"LLINEIN", "Line Jack",
    					"MICIN", "Mic Bias",
    					"Mic Bias", "Microphone Jack";
    
    				simple-audio-card,cpu {
    					sound-dai = <&i2s0>;
    					system-clock-frequency = <12000000>;
    				};
    				codec_master: simple-audio-card,codec {
    					sound-dai = <&wm8731>;
    					system-clock-frequency = <12000000>;
    				};
    			};
    		};
    	};
    	fragment@3 {
    		target = <&i2c0>;
    		__overlay__ {
    			#address-cells = <1>;
    			#size-cells = <0>;
    			status = "okay";
    
    			wm8731@1a {
    				#sound-dai-cells = <0>;
    				compatible = "wlf,wm8731";
    				reg = <0x1a>;
    				status = "okay";
    			};
    		};
    	};
    };

    Hope this helps.

  11. Hi,

     

    to get multiple audio in/out channels without a hassle, external USB box is the best choice.

     

    Otherwise you will have to deal with some add on board like that one https://www.aliexpress.com/item/32811806978.html

    It use an Analog Device AD1938 which has a linux kernel driver support and offer 2 stereo IN/4 stereo OUT

     

    But device tree for that has to be written as I didn't find anything from my extensive search through the internet about that and dealing with I2S, and maybe TDM, is a big pain imho, see that post (many thanks to Guidol, I've got a cheap -3 bucks- aliexpress pcm5102 card working on a nanopi K1 plus)

     

    Note: https://github.com/ctag-fh-kiel/ctag-face-2-4/tree/master/device-tree-overlays 

    could be a starting point for that (it is for beaglebone sbc) 

     

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines