1 1
viy

NanoPi K1 Plus + Armbian

Recommended Posts

Hi Igor,

While you are in there, can you please look at the /proc/cpuinfo. If I use the OS from NanoPi for K1 I get a different CPU id. I am able to use WiringNP with the NanoPi OS, but not the Armbian OS. I need to try to hack the WiringPi to make sure only CPU ID and Revision are the problem, but rest of GPIO library works.

 

The NanoPi OS reports as one Hardware and Revision field:

Hardware: Allwinnersun50iw2Family

Revision: 0

 

Armbian K1 reports as multiple Hardware and no Revision field: 

Hardware: sun50iw1p1

and Revision line is missing

 

Since the format of /proc/cpuinfo seems very differnt, not sure who is "right"

 

Thank you.

---------------

 

complete /proc/cpuinfo from NanoPI OS:

 

 

processor    : 0
BogoMIPS    : 48.00
Features    : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer    : 0x41
CPU architecture: 8
CPU variant    : 0x0
CPU part    : 0xd03
CPU revision    : 4

processor    : 1
BogoMIPS    : 48.00
Features    : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer    : 0x41
CPU architecture: 8
CPU variant    : 0x0
CPU part    : 0xd03
CPU revision    : 4

processor    : 2
BogoMIPS    : 48.00
Features    : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer    : 0x41
CPU architecture: 8
CPU variant    : 0x0
CPU part    : 0xd03
CPU revision    : 4

processor    : 3
BogoMIPS    : 48.00
Features    : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer    : 0x41
CPU architecture: 8
CPU variant    : 0x0
CPU part    : 0xd03
CPU revision    : 4

Hardware    : Allwinnersun50iw2Family
Revision    : 0000
Serial        : 0000000000000000

 

Share this post


Link to post
Share on other sites
3 minutes ago, Igor said:

How to determine the value of CMA from userspace?

Not sure. It seems that if CONFIG_CMA_DEBUGFS=y, there is debugfs interface in /sysfs/kernel/debug, but IIRC that can be accessed only as root.

 

What if 128 is set for all variants? I imagine not many people will run out of memory, if at all.

Share this post


Link to post
Share on other sites
5 minutes ago, jernej said:

What if 128 is set for all variants? I imagine not many people will run out of memory, if at all.


Well, this is set now and I guess if we add some # CMA=16 with some explanation to /boot/armbianEnv.txt ... we are done.
 

20 minutes ago, cmcgaha said:

Hardware: sun50iw1p1


This is wrong but I don't think it has any impact on anything. We haven't seen much useful information in /proc/cpuinfo  ... and those are probably solo actions from Allwinner/FriendlyArm. Kernel 4.4?

 

20 minutes ago, cmcgaha said:

The NanoPi OS


Tells zero information if you don't provide at least kernel version. I only did some inspection to their work on top of 4.14 and 4.17 and extract what was relevant. 

Share this post


Link to post
Share on other sites

Hi Igor,

 

I had done the GPIO test with WiringNP with their nanopi-k1-plus_eflasher_4.14.0_20180511.img. Their WiringNP GPIO library worked on that. I hacked on the WiringNP to use same "board version" (a NanoPi thing) as their OS uses and the GPIO works fine on the K1 armbian nightly test version you made, at least the GPIO stuff for what I am doing.

 

I see on the K1Plus page that the 1080P is marked as fixed. Can you make a new nightly build with this fix or is it checked in and I should make it.

 

Thanks.

Share this post


Link to post
Share on other sites
3 hours ago, cmcgaha said:

Their WiringNP GPIO library worked on that


Don't know why GPIOs are not working. IMO they should.

 

3 hours ago, cmcgaha said:

I see on the K1Plus page that the 1080P is marked as fixed.


It's fixed here as well. Add: extraargs=cma=128 to your  /boot/armbianEnv.txt and it will work. 

Share this post


Link to post
Share on other sites

No. Sorry, I must not have been clear. GPIO works fine on Armbian.  There is only an issue with board detection using WiringNP because of difference in /proc/cpuinfo.

 

Thanks for the boot explaination.

 

I really appreciate your help.

Share this post


Link to post
Share on other sites
17 minutes ago, cmcgaha said:

There is only an issue with board detection using WiringNP because of difference in /proc/cpuinfo.


Ahaa. Got it. I saw that patches but didn't know what is the purpose of having that information. They can also be added once.

Share this post


Link to post
Share on other sites

Hi Igor,

 

The 4.17 Nightly Test version for NanoPi K1 Plus you built for me has WiFi and I got the GUI working with extraargs you suggested, but I could not get multi-touch display to work. The hid-multitouch driver did not load / wasn't detected...

 

I created a VirtualBox using the Ubuntu 16.04 virtual machine and checked out and did ./compile.sh EXPERT=yes to build the latest version 4.17 like you did, but the build failed.  See attached screen shot.

 

I built mainline 4.14 Stretch version in the virtual machine and it loaded and display worked. Multi-touch worked. But WiFi driver didn't work... So I am trying to fine a working WiFi and Mutli-Touch display OS version.

 

Please let me know if there were special build parameters you used to get it to work.

 

Thank you.

Capture.PNG

Share this post


Link to post
Share on other sites
2 hours ago, cmcgaha said:

Please let me know if there were special build parameters you used to get it to work.

 

Config is missing on the master branch. Add LIB_TAG="sunxi-4.18" to config-default and repeat the build process.

Share this post


Link to post
Share on other sites

No, that did not work.

 

When I edit config-default.conf and change LIB_TAG="master" to LIB_TAG="sunxi-4.18" and then re-run ./compile.sh EXTERNAL=yes then I get an error message about 

error: pathspec 'sunxi-4.18' did not match any file(s) known to gitCapture2.PNG.6c9be21a27e5361f11b063ec92b978b8.PNG

 

do I need to do a different git clone or the standard one?

 

Share this post


Link to post
Share on other sites

The "new" build system is bionic 18.04 as mentioned at
https://github.com/armbian/build
Supported build environment is Ubuntu Bionic 18.04 x64 

 

The "old" one is xenial 16.04 (as you did install in VirtualBox) and is mentioned at
https://docs.armbian.com/Developer-Guide_Build-Preparation/
The only supported compilation environment is Ubuntu Xenial 16.04 x64 (no other releases are supported! It has to be exactly 16.04 otherwise default compiler versions might not match so if you’re on an older Ubuntu release upgrade to 16.04 now, if you use a newer Ubuntu version start with 16.04 from scratch),

 

I edited my config-default.conf in a 18.04 environment and got no error:
config-default.conf
 

Spoiler

#                                    config-default.conf

# Read build script documentation http://www.armbian.com/using-armbian-tools/
# for detailed explanation of these options and for additional options not listed here

KERNEL_ONLY=""                          # leave empty to select each time, set to "yes" or "no" to skip dialog prompt
KERNEL_CONFIGURE=""                     # leave empty to select each time, set to "yes" or "no" to skip dialog prompt
CLEAN_LEVEL="make,debs,oldcache"        # comma-separated list of clean targets: "make" = make clean for selected kernel and $
                                        # "debs" = delete packages in "./output/debs" for current branch and family,
                                        # "alldebs" = delete all packages in "./output/debs", "images" = delete "./output/ima$
                                        # "cache" = delete "./output/cache", "sources" = delete "./sources"
                                        # "oldcache" = remove old cached rootfs except for the newest 6 files

DEST_LANG="en_US.UTF-8"                 # sl_SI.UTF-8, en_US.UTF-8

# advanced
KERNEL_KEEP_CONFIG="no"                 # do not overwrite kernel config before compilation
EXTERNAL="yes"                          # build and install extra applications and drivers
EXTERNAL_NEW="prebuilt"                 # compile and install or install prebuilt additional packages
CREATE_PATCHES="no"                     # wait that you make changes to uboot and kernel source and creates patches
BUILD_ALL="no"                          # cycle through available boards and make images or kernel/u-boot packages.
                                        # set KERNEL_ONLY to "yes" or "no" to build all packages/all images

BSPFREEZE=""                            # freeze armbian packages (u-boot, kernel, dtb)
INSTALL_HEADERS=""                      # install kernel headers package
LIB_TAG="master"                        # change to "development" if you want use Armbians developmen branch
LIB_TAG="sunxi-4.18"
 

 

 

branch_418.jpg

Share this post


Link to post
Share on other sites

Thank you! I tried to follow the directions, it was just not the right directions. I created a Ubuntu 18.04 VirtualBox like you said, changed LIB_TAG to sunxi-4.18 and built and ran mainline 4.17 and touch screen, wifi, GPIO are working. I will test more.  So far all is good.

 

I really appreciate everyone's help.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
1 1