Jump to content

help to customization the kernel


sevi_at

Recommended Posts

Hy,

I miss a few options in the kernel

current kernel: ARMBIAN 5.36 user-built Ubuntu 16.04.3 LTS 4.4.102-rockchip Thinkerboard
 I still need:

 

1) - disable HDMI audio so that it will no longer be displayed as a sound card under "aplay -l" 

deactivate "card 3: rockchipminiarm"

same as with the image kernel update of Igor 

root@se:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Audio [USB Audio], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Audio [USB Audio], device 1: USB Audio [USB Audio #1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Audio [USB Audio], device 2: USB Audio [USB Audio #2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: CODEC [USB Audio CODEC], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: CODEC_1 [USB AUDIO  CODEC], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: rockchipminiarm [rockchip,miniarm-codec], device 0: ff890000.i2s-i2s-hif                                  i i2s-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
root@se:~#

 

2) 

options in ALSA
 ->  Dummy (/dev/null) soundcard

-> Generic loopback driver (PCM) 

 

3)

cifs-utils so I can access data from my NAS.

 

Editing a kernel is new territory for me.  I have already read a bit here http://www.informit.com/articles/article.aspx?p=1647051&seqNum=5

but somehow I can not apply the whole thing to the armian image.

 

I ask for help.
 

THX

Link to comment
Share on other sites

23 hours ago, sevi_at said:

Editing a kernel is new territory for me. 


1. I believe this "disable HDMI audio" was more by accident, a random regression. I did not deliberately do this.

2. https://github.com/armbian/build/commit/76b1afd4f016a310372f5806edd52c7b9acac134

3. apt install cifs-utils

We made things much easier as they were but still, there is a lot of hardcore stuff left. But recompiling kernel, adjusting its config and/or small code change should be simple with https://github.com/armbian/build. Play with.

Link to comment
Share on other sites

Hy Igor,

THX for your helb but i have a Tinkerboard

current kernel: ARMBIAN 5.36 user-built Ubuntu 16.04.3 LTS 4.4.102-rockchip

this build https://github.com/armbian/build. is only for x64

 


root@piotre:~/build# ./compile.sh
[ o.k. ] Using config file [ config-default.conf ]
[ o.k. ] This script will try to update
Already up-to-date.
Already on 'master'
Your branch is up-to-date with 'origin/master'.
[ o.k. ] Preparing [ host ]
[ .... ] Please read documentation to set up proper compilation environment
[ .... ] http://www.armbian.com/using-armbian-tools/
[ error ] ERROR in function prepare_host [ general.sh:503 ]
[ error ] Running this tool on non x86-x64 build host in not supported
[ o.k. ] Process terminated
root@piotre:~/build# ls

 

Is there another option?
 

 

Many THX

Link to comment
Share on other sites

hy TonyMac32,

you mean I should run on an external computer with x64?

how do i get the newly created build from my x64 then on my thinkerboard?

 

thx

 

 

in the config file under /root/config-4.4.102-rockchip there is an entry
CONFIG_DRM_DW_HDMI_I2S_AUDIO = y
CONFIG_SND_SOC_HDMI_CODEC = y

I wanted to comment out and recompile it.

is possible? if so, how is the command in the console that the files under dtb-4.4.102-rockchip be recreated.

?

 

 

Link to comment
Share on other sites

okay THX

is there an instruction how to do that? Kernel Compiling is new territory for me.

I've been reading a lot and I'm not getting anywhere. is there a howdo special for the thinkerboard?

what should I enter in the command line so that all required files are generated?

Link to comment
Share on other sites

hy,

now i start the ./compile.sh script in my VMware with Ubuntu Xenial 16.04 x64 run.  the menu opens, I enter:

"u-boot and kernel packages"

"show a Kernel conf......."
I choose "thinkerboard" and then "default" or "next" or "dev"  it does not matter what I choose it comes then always the message:

 

[ o.k. ] Downloading sources 
[ o.k. ] Checking git sources [ u-boot v2017.09 ]
fatal: read error: Connection reset by peer
fatal: read error: Connection reset by peer
[ .... ] Fetching updates 
fatal: read error: Connection reset by peer
[ .... ] Checking out 
error: pathspec 'FETCH_HEAD' did not match any file(s) known to git.
[ o.k. ] Checking git sources [ linux-rockchip miqi/release-4.4 ]
[ .... ] Up to date 
[ o.k. ] Checking git sources [ sunxi-tools master ]
[ .... ] Up to date 
[ o.k. ] Checking git sources [ rkbin-tools master ]
[ .... ] Up to date 
[ o.k. ] Checking git sources [ marvell-tools A3700_utils-armada-17.10 ]
[ .... ] Up to date 
[ o.k. ] Checking git sources [ odroidc2-blobs master ]
[ .... ] Up to date 
[ o.k. ] Cleaning output/debs for [ tinkerboard default ]
[ o.k. ] Cleaning [ u-boot/v2017.09 ]
grep: /home/penner/build/cache/sources/u-boot/v2017.09/Makefile: No such file or directory
grep: /home/penner/build/cache/sources/u-boot/v2017.09/Makefile: No such file or directory
grep: /home/penner/build/cache/sources/u-boot/v2017.09/Makefile: No such file or directory
grep: /home/penner/build/cache/sources/u-boot/v2017.09/Makefile: No such file or directory
[ o.k. ] Compiling u-boot [ 0 ]
[ o.k. ] Compiler version [ arm-linux-gnueabihf-gcc 6.4.1 ]
[ .... ] Checking out sources 
error: pathspec 'HEAD' did not match any file(s) known to git.
[ o.k. ] Cleaning [ u-boot/v2017.09 ]
[ o.k. ] Started patching process for [ u-boot rockchip-tinkerboard-default ]
[ o.k. ] Looking for user patches in [ userpatches/u-boot/u-boot-rockchip ]
make: *** No rule to make target 'tinker-rk3288_defconfig'.  Stop.
make: *** No targets specified and no makefile found.  Stop.
[ error ] ERROR in function compile_uboot [ compilation.sh:162 ]
[ error ] U-boot compilation failed 
[ o.k. ] Process terminated 
root@ubuntuXenial:/home/penner/build# 

an idea what I did wrong?

 

thx

 

Link to comment
Share on other sites

hy,

I have already created some kernel versions with this tool:

https://github.com/armbian/build

However, I have big problems with the audio latency of different kernel versions. 

Look at this post:  

 

 

the only kernel that worked from the beginning is  "ARMBIAN 5.31 stable Ubuntu 16.04.3 LTS 4.4.73-rockchip"

 

1)

I would now continue to use these but I have to make some adjustments. Then I want to recompile this kernel.

is it possible to recompile the .confiog file (see attachment)?

 

2)

With the GIT Reop, I can only make changes to the new kernel versions is that correct?
 

Many THX

 

.config

Link to comment
Share on other sites

11 minutes ago, sevi_at said:

With the GIT Reop, I can only make changes to the new kernel versions is that correct?


Yes, but usually this is better in first place and problems usually not related. We are about to change kernel for Rockchip boards to the one used by TinkerOS. It looks like it is generally in a better condition than the one we use now. Will this effect on audio or RT functionality? Probably.


Changes are already applied to the build script, while images and update are just about to be released. Since you are able to build on your own, try recompiling the kernel with your own config and with most recent RT patch for 4.4.115  
You can recompile the kernel with your own config - just put it into userpatches directory and use the same name as we do (linux-rockchip-default.config)
 

Link to comment
Share on other sites

23 hours ago, Igor said:

Changes are already applied to the build script, while images and update are just about to be released. Since you are able to build on your own, try recompiling the kernel with your own config and with most recent RT patch for 4.4.115  
You can recompile the kernel with your own config - just put it into userpatches directory and use the same name as we do (linux-rockchip-default.config)

 

https://docs.armbian.com/Developer-Guide_User-Configurations/

I have read the instructions but i get error at the compiling process.

 

My approach was like this:

I copied the patch to -> build/userpatches/kernel/rockchip-next/

then I started ./compile.sh and chose in the selection dialog with the blue background? next  (Kernel)

however, many error messages followed the compilation will be aborted.

 

in which folder do I have to copy the most recent RT patch for 4.4.115  ? and which files do I need here anyway?

which image should I select in the selection dialog with the blue background? default or next or dev

 

Unfortunately, I can not find the file "linux-rockchip-default.config" in the userpatches directory.

 

Many THX

Link to comment
Share on other sites

5 hours ago, sevi_at said:

build/userpatches/kernel/rockchip-next/


This is a place for modern 4.14.y kernel user patches. For that, you need a different patch: https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/patch-4.14.18-rt15.patch.gz ... remember to decompress.

 

5 hours ago, sevi_at said:

Unfortunately, I can not find the file "linux-rockchip-default.config" in the userpatches directory.


This is the place where you put your own if you want, othewise just use stock. In any case, it will be changed since you are adding an RT patch. 

Play, try, read manual, ... in any case, remember you are on your own. This is 3rd party development, unrelated to Armbian.

Link to comment
Share on other sites

I have already played around a lot wirh https://github.com/armbian/build and unfortunately i have still the audio problem.

my problem:
crackling and bad sound with this command: (Play my line-in a USB sound card to the same output of this USB sound card)

arecord -f S16_LE -c2 -r44100 -d 0 -D plug:dsnoop01 | aplay -B 1 -D plug:LineIn01 

Look also this Post:

 

I do not have the problem with this Armbian Image:

4.4.112-rockchip
4.4.73-rockchip
 

with these kernel/image I have the problem:

TinkerOS:  4.4.71+ (latest)

Volumio: (latest image ... do not remember exactly ...)

Armbian: 4.13.10-rt3-rockchip, 4.14.18, 4.14.15, customize 4.14.14, latest /default/next/dev, (I did not take all the notes but it was at least 10 images)

 

I have now found out that the Alsa plugin dsnoop makes problems.

even if I have the same version of Alsa from the working kernels (see above) 

root@innotune:~# aplay --version
aplay: version 1.1.0 by Jaroslav Kysela <perex@perex.cz>

With this command I have an excellent recording even with the non-functioning images (see above):

arecord -f S16_LE -c2 -r44100 -d 0 -D plug:hw1,0  -t wav /root/test101.wav

 

Now your expertise is needed because I do not know any further:

which settings on the kernel caused this problem?

or is the problem with alsa?

do you have a tip what I can still try?

 

Many THX

 

 

 

EDIT:

problem synonymous with pulseaudio - crackling and bad sound with this command:

pacat -r --latency-msec=1 -d alsa_input.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo | pacat -p --latency-msec=1 -d  alsa_output.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo

 

Edited by sevi_at
problem synonymous with pulseaudio
Link to comment
Share on other sites

The USB ports are through a hub, what else is plugged into USB?  Also, what cpu governor are you using?  

 

I'm afraid my knowledge of the internal working of pulseaudio is non-existent, hopefully someone else reading this will be of benefit.

Link to comment
Share on other sites

On 21.2.2018 at 3:34 PM, TonyMac32 said:

The USB ports are through a hub, what else is plugged into USB?  Also, what cpu governor are you using?  

 

I'm afraid my knowledge of the internal working of pulseaudio is non-existent, hopefully someone else reading this will be of benefit.

 

I have a usb sound card connected:

Behringer U-Control UCA202

 

what do you mean by cpu governor ? 

can I change something? How do I find out what that is?

 

 

 

 

Link to comment
Share on other sites

On 14.2.2018 at 2:43 PM, Igor said:

Yes, but usually this is better in first place and problems usually not related. We are about to change kernel for Rockchip boards to the one used by TinkerOS. It looks like it is generally in a better condition than the one we use now. Will this effect on audio or RT functionality? Probably.

 

is there anywhere in GIT or on the Armbian webside Changelog & Known Issues to the change of any image?

 

i need the changes to version Armbian 5.31  - 4.4.73-rockchip so that I can continue my research and solve the problem.

 

THX

 

 

 

Link to comment
Share on other sites

13 minutes ago, sevi_at said:

i need the changes to version Armbian 5.31  - 4.4.73-rockchip so that I can continue my research and solve the problem.


Well, whole kernel tree was changed so its hard to provide a complete changelog. In any case, we didn't plan to write any scientific documents about this, only a brief what works now and what still needs fixes. In general. The kernel has too many functions to be checked by 1-2 (amateur) person.

Audio/alsa/RT functionality of the kernel is not our core business and we don't know much about. You are on your own here.

If you have troubles with building kernel, check manual once again and if you can't proceed, append a question in https://forum.armbian.com/forum/20-development/

Link to comment
Share on other sites

4 hours ago, Igor said:

Well, whole kernel tree was changed so its hard to provide a complete changelog. In any case, we didn't plan to write any scientific documents about this, only a brief what works now and what still needs fixes. In general. The kernel has too many functions to be checked by 1-2 (amateur) person.

Audio/alsa/RT functionality of the kernel is not our core business and we don't know much about. You are on your own here.

If you have troubles with building kernel, check manual once again and if you can't proceed, append a question in https://forum.armbian.com/forum/20-development/

 

 

another question. Which kernel topics are treated with the Armbian version? Does the Armbian version number say a kernel basic configuration? or what is being treated here?

 

I'm just at the exclude which modification has caused the problem.

possible plausible points for me:

1) Armbian Version

2) Kernel Version; Kernel configuration

3) ALSA - Version (ALSA configuration is always the same)

4) Ubuntu Version

 

THX

 

Link to comment
Share on other sites

1. Armbian version is tied to our build script and to get idea and information when a certain package was built. Sources are mostly elsewhere.

2. Kernel version depends ... it is tied to armbian version - when it was built. The same goes with kernel configs: https://github.com/armbian/build/tree/master/config/kernel You can see this in the release documentation and here https://github.com/armbian/build/releases (not very updated) We don't do this for development versions. They are as is.

3. ALSA is tied to userspace, Ubuntu or Debian. If you go with Jessie, it's Jessie latest, Ubuntu latest, ... we don't touch ALSA

4. Also Upstream. We always use latest upstream distribution packages with those exceptions - we use patched or more recent versions: https://github.com/armbian/build/tree/master/packages/extras-buildpkgs

 

I hope this helps you somehow. I know it's not the best way but this way is manageable.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines