Jump to content
  • 0

Nanopi M3 / S5P6818 boards


Igor

Question

CjlJxNdWgAIlQdk.jpg


[WIP]

 

Schematics

 

Pros:

- board vendor provides dev samples and documentation

- working with latest mainline kernel

- many variants by the same vendor

- official SDK/BSP currently on 4.4

- no unreliable shitty Micro USB for DC-IN but GPIO by default

 

Cons:

 

- new platform needing more initial work

- not many active developers

 

Link to comment
Share on other sites

21 answers to this question

Recommended Posts

  • 0

I'm an old dusty FriendlyARM user, it's actually what brought me here.  I did initially avoid these because of unknown SoC support, going with their H3 boards instead because Armbian supported them.  The boards look interesting, and yes, no micro-USB

Link to comment
Share on other sites

  • 0

@Igor

 

That specific board is my favorite.

 

Tried a build with Armbian 5.37 in WIP, tried both the next and the dev.

They both do not give a desktop and the initial boot log starts with I2C errors.

A previous build, a couple of months ago with specific compile.sh command line for the m3 (BOARD=nanopim3), was producing a proper desktop image, now it is not, showing errors even from uboot.

 

Am I missing something?

 

Link to comment
Share on other sites

  • 0

@Igor

 

Also, tried M3 Armbian 5.37 dev Debian desktop and compile breaks

Get:45 http://httpredir.debian.org jessie-backports/contrib armhf Packages [7940 B]
Get:46 http://httpredir.debian.org jessie-backports/non-free armhf Packages [6692 B]
Fetched 22.2 MB in 29s (743 kB/s)
Reading package lists...
[ o.k. ] Upgrading base packages [ Armbian ]
Reading package lists...
Building dependency tree...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[ o.k. ] Installing packages for [ Armbian ]
Reading package lists...
Building dependency tree...
Package iceweasel:armhf is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'iceweasel:armhf' has no installation candidate
[ error ] ERROR in function create_rootfs_cache [ debootstrap-ng.sh:208 ]
[ error ] Installation of Armbian packages failed 
[ o.k. ] Process terminated 
[ error ] ERROR in function unmount_on_exit [ image-helpers.sh:59 ]
[ error ] debootstrap-ng was interrupted 
[ o.k. ] Process terminated 

 

and the same happens with next Debian desktop

Get:45 http://httpredir.debian.org jessie-backports/contrib armhf Packages [7940 B]
Get:46 http://httpredir.debian.org jessie-backports/non-free armhf Packages [6692 B]
Fetched 22.2 MB in 25s (861 kB/s)
Reading package lists...
[ o.k. ] Upgrading base packages [ Armbian ]
Reading package lists...
Building dependency tree...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[ o.k. ] Installing packages for [ Armbian ]
Reading package lists...
Building dependency tree...
Package iceweasel:armhf is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'iceweasel:armhf' has no installation candidate
[ error ] ERROR in function create_rootfs_cache [ debootstrap-ng.sh:208 ]
[ error ] Installation of Armbian packages failed 
[ o.k. ] Process terminated 
[ error ] ERROR in function unmount_on_exit [ image-helpers.sh:59 ]
[ error ] debootstrap-ng was interrupted 
[ o.k. ] Process terminated 

 

 

With M3 Armbian 5.37 dev Ubuntu desktop  and  Armbian 5.37 next Ubuntu desktop, compile finishes but no desktop gets shown, only text on HDMI

In both Armbian 5.37 next/dev Ubuntu desktop, the initial boot, uboot, is probably broken

 

Attaching console bootlog from the two Armbian boots

 

 

M3_Armbian_Ubuntu_dev_Boot.txt

M3_Armbian_Ubuntu_next_Boot.txt

Link to comment
Share on other sites

  • 0
7 hours ago, Christos said:

With M3 Armbian 5.37 dev Ubuntu desktop  and  Armbian 5.37 next Ubuntu desktop, compile finishes but no desktop gets shown, only text on HDMI

In both Armbian 5.37 next/dev Ubuntu desktop, the initial boot, uboot, is probably broken


That is normal. You need to create a username in the first boot process. 

Link to comment
Share on other sites

  • 0
2 hours ago, Igor said:


That is normal. You need to create a username in the first boot process. 

 

Well, I had created in both of them the initial user and rebooted, tried the process a few times to make sure.

Even though performed the initial user setup the desktop did not come up,

 

If you see at the two files that I attached from the console bootlog you can see that at first uboot has issues from the very start with I2C addresses/devices

▒I2C_WriteBit SDA Arbitration Fail
I2C Device Address Write Abitration Error
I2C_WriteBit SDA Arbitration Fail
I2C Data Write Abitration Error
I2C_WriteBit SDA Arbitration Fail
I2C Device Address Write Abitration Error
I2C_WriteBit SDA Arbitration Fail
I2C Device Address Write Abitration Error
I2C_WriteBit SDA Arbitration Fail
I2C Device Address Write Abitration Error
Wakeup Sub CPU 1234567
CPU Wakeup done! WFI is expected.
CPU0 is Master!



U-Boot 2016.01-armbian (Dec 11 2017 - 16:34:31 +0200)

DRAM:  1 GiB
MMC:   NEXELL DWMMC: 0, NEXELL DWMMC: 1
loaded from SD, getting env from MMC 1
*** Warning - bad CRC, using default environment

MIPI: display.0
HDMI: display.0, preset 0 (1280 *  720)
HDMI: phy ready...
LCD: [HDMI] dp.0.1 1220x680 16bpp FB:0x46000000
In:    serial
Out:   vga
Err:   vga
Hit any key to stop autoboot:  0

 

and later on issues with display

 

[    3.112000] nexell,display_drm c0102800.display_drm: Cannot do DMA to address 0x0000000000000000
[    3.116000] swiotlb: coherent allocation failed for device c0102800.display_drm size=8294400
[    3.120000] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.11.12-s5p6818 #1
[    3.120000] Hardware name: nexell soc (DT)
[    3.120000] Call trace:
[    3.120000] [<ffffff800808713c>] dump_backtrace+0x0/0x220
[    3.120000] [<ffffff8008087370>] show_stack+0x14/0x1c
[    3.120000] [<ffffff8008528494>] dump_stack+0x8c/0xb0
[    3.120000] [<ffffff800854e020>] swiotlb_alloc_coherent+0x160/0x17c
[    3.120000] [<ffffff80080903e4>] __dma_alloc+0x11c/0x1a4
[    3.120000] [<ffffff80085f39c8>] nx_drm_gem_create+0x6e0/0x904
[    3.120000] [<ffffff80085f1950>] nx_drm_fb_helper_probe+0x1b8/0x3a8
[    3.120000] [<ffffff80085c4fa4>] drm_fb_helper_initial_config+0x24c/0x334
[    3.120000] [<ffffff80085f1dfc>] nx_drm_framebuffer_init+0x130/0x194
[    3.120000] [<ffffff80085ef82c>] nx_drm_output_poll_changed+0x74/0xa0
[    3.120000] [<ffffff80085b8d30>] drm_kms_helper_hotplug_event+0x28/0x34
[    3.120000] [<ffffff80085b9510>] drm_helper_hpd_irq_event+0xe4/0x104
[    3.120000] [<ffffff80085ef78c>] nx_drm_load+0x128/0x154
[    3.120000] [<ffffff80085cd6ac>] drm_dev_register+0x10c/0x1b8
[    3.120000] [<ffffff80085ce130>] drm_platform_init+0x6c/0x94
[    3.120000] [<ffffff80085ef54c>] nx_drm_bind+0x1c/0x24
[    3.120000] [<ffffff80085f4d0c>] try_to_bring_up_master+0x20c/0x268
[    3.120000] [<ffffff80085f4f3c>] component_master_add_with_match+0x90/0xc0
[    3.120000] [<ffffff80085ef93c>] nx_drm_probe+0xb8/0xc8
[    3.120000] [<ffffff80085fc9e8>] platform_drv_probe+0x58/0xa4
[    3.120000] [<ffffff80085faa18>] driver_probe_device+0x1f4/0x3fc
[    3.120000] [<ffffff80085face8>] __driver_attach+0xc8/0xf8
[    3.120000] [<ffffff80085f8af4>] bus_for_each_dev+0x64/0x88
[    3.120000] [<ffffff80085fa394>] driver_attach+0x20/0x28
[    3.120000] [<ffffff80085f9e38>] bus_add_driver+0x13c/0x24c
[    3.120000] [<ffffff80085fb924>] driver_register+0x94/0xe0
[    3.120000] [<ffffff80085fc940>] __platform_driver_register+0x48/0x50
[    3.120000] [<ffffff8008be9058>] nx_drm_platform_drv_init+0x18/0x20
[    3.120000] [<ffffff80080829ac>] do_one_initcall+0x84/0x104
[    3.120000] [<ffffff8008bb0ce4>] kernel_init_freeable+0x1a4/0x240
[    3.120000] [<ffffff80088917fc>] kernel_init+0x10/0xf8
[    3.120000] [<ffffff80080826c0>] ret_from_fork+0x10/0x50
[    3.124000] nexell,display_drm c0102800.display_drm: failed to allocate buffer with size 8294400
[    3.128000] nexell,display_drm c0102800.display_drm: Failed to set initial hw configuration.

 

and some cpu issues

[    1.744000] Clockevents: could not switch to one-shot mode:
[    1.744000] Clockevents: could not switch to one-shot mode:
[    1.744000] Clockevents: could not switch to one-shot mode:
[    1.744000] Clockevents: could not switch to one-shot mode:
[    1.744000] Clockevents: could not switch to one-shot mode:
[    1.744000] Clockevents: could not switch to one-shot mode:
[    1.744000] Clockevents: could not switch to one-shot mode:
[    1.744000] Clockevents: could not switch to one-shot mode:
[    1.744000]  dummy_timer is not functional.
[    1.744000]  dummy_timer is not functional.
[    1.744000]  dummy_timer is not functional.
[    1.744000]  dummy_timer is not functional.
[    1.744000]  dummy_timer is not functional.
[    1.744000]  dummy_timer is not functional.
[    1.744000]  dummy_timer is not functional.
[    1.744000] Could not switch to high resolution mode on CPU 0
[    1.744000] Could not switch to high resolution mode on CPU 1
[    1.744000] Could not switch to high resolution mode on CPU 7
[    1.744000] Could not switch to high resolution mode on CPU 4
[    1.744000] Could not switch to high resolution mode on CPU 6
[    1.744000] Could not switch to high resolution mode on CPU 5
[    1.744000] Could not switch to high resolution mode on CPU 2
[    1.744000]  dummy_timer is not functional.
[    1.744000] Could not switch to high resolution mode on CPU 3

 

The above are in both dev, next

 

 

Link to comment
Share on other sites

  • 0

@Igor

 

Also this stacktrace is shown in console bootlog after the initial user is created and rebooted probably when the system tries to start the desktop

 

[    8.812000] Unable to handle kernel paging request at virtual address 3733323a3039
[    8.816000] pgd = ffffffc03bb20000
[    8.820000] [3733323a3039] *pgd=0000000000000000, *pud=0000000000000000
[    8.824000] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[    8.832000] Modules linked in: zram brcmfmac cfg80211 aes_ce_blk rfkill crypto_simd brcmutil cryptd aes_ce_cipher crc32_ce crct10dif_ce nano_videodev nxp_vpu videobuf2_dma_contig videobuf2_memops ghash_ce videobuf2_v4l2 sha2_ce videobuf2_core sha1_ce nanopi_thermistor nx_scaler
[    8.856000] CPU: 1 PID: 582 Comm: Xorg Not tainted 4.11.12-s5p6818 #1
[    8.860000] Hardware name: nexell soc (DT)
[    8.864000] task: ffffffc03c894180 task.stack: ffffffc03763c000
[    8.872000] PC is at drm_fb_helper_restore_fbdev_mode_unlocked+0x1c/0x70
[    8.876000] LR is at nx_drm_lastclose+0x24/0x2c
[    8.876000] pc : [<ffffff80085c51b0>] lr : [<ffffff80085ef5d8>] pstate: 40000145
[    8.876000] sp : ffffffc03763fd30
[    8.876000] x29: ffffffc03763fd30 x28: dead000000000200
[    8.876000] x27: dead000000000100 x26: 0000000000000140
[    8.876000] x25: ffffffc03b8c1510 x24: ffffffc03e04b000
[    8.876000] x23: ffffffc03e04fa50 x22: ffffff8008ced000
[    8.876000] x21: ffffffc03b8c14f0 x20: 00000000ffffffed
[    8.876000] x19: ffffffc03e04f800 x18: 0000007fe9606688
[    8.876000] x17: 0000007f78d14830 x16: ffffff80081cfa68
[    8.876000] x15: 0000007f791b3000 x14: 0000000000000000
[    8.876000] x13: 2f6d72645f79616c x12: 0000000100000000
[    8.876000] x11: 0000000100000000 x10: 0101010101010101
[    8.876000] x9 : 00000001745617b0 x8 : 0000000000000039
[    8.876000] x7 : 0000000000000000 x6 : 0000000000000001
[    8.876000] x5 : 0000000000000000 x4 : 0000000000000000
[    8.876000] x3 : 0000000000000000 x2 : ffffff8008b1f4e6
[    8.876000] x1 : 0000000000000001 x0 : 64003733323a3031
[    8.876000]
[    8.876000] Process Xorg (pid: 582, stack limit = 0xffffffc03763c000)
[    8.876000] Stack: (0xffffffc03763fd30 to 0xffffffc037640000)
[    8.876000] fd20:                                   ffffffc03763fd60 ffffff80085ef5d8
[    8.876000] fd40: ffffffc03e04f800 ffffff8008ac3000 ffffffc03b8c14f0 ffffff8008ced000
[    8.876000] fd60: ffffffc03763fd70 ffffff80085c890c ffffffc03763fda0 ffffff80085c8c34
[    8.876000] fd80: ffffffc03b8c1400 ffffffc03e04f800 ffffffc03b8c14f0 ffffffc03e04b000
[    8.876000] fda0: ffffffc03763fe00 ffffff80081d3f38 ffffffc03b809c00 ffffffc03cb75118
[    8.876000] fdc0: 0000000000000008 ffffffc03b809c10 ffffffc03e0738e0 ffffffc03e464118
[    8.876000] fde0: ffffffc03cb75118 0000000000000039 ffffff80088a2000 ffffffc03c894180
[    8.876000] fe00: ffffffc03763fe50 ffffff80081d4058 ffffffc03c894180 ffffff8008ab3150
[    8.876000] fe20: ffffff8008d54000 0000000000000000 0000000040000000 0000000000000015
[    8.876000] fe40: 0000000000000124 ffffff8008896a98 ffffffc03763fe60 ffffff80080b0e04
[    8.876000] fe60: ffffffc03763fe90 ffffff8008086ad0 0000000000000004 ffffffc03c894180
[    8.876000] fe80: ffffffc03c894180 ffffffc03763fec0 0000000000000000 ffffff8008082618
[    8.876000] fea0: 0000000000000000 00000040372f6000 ffffffffffffffff 0000007f78d14818
[    8.876000] fec0: 0000000000000000 0000000000000000 0000007fe96070c8 0000000000000000
[    8.876000] fee0: 00000000ffffffff 0000007f78d9b9b8 0000000000000000 0000000000000000
[    8.876000] ff00: 0000000000000039 00000001745617b0 0101010101010101 0000000100000000
[    8.876000] ff20: 0000000100000000 2f6d72645f79616c 0000000000000000 0000007f791b3000
[    8.876000] ff40: 0000000000000000 0000007f78d14830 0000007fe9606688 000000013cc61000
[    8.876000] ff60: 0000000000000008 0000000174562870 0000000000000000 0000000000000000
[    8.876000] ff80: 00000001745616a0 00000001745617b0 0000000000000000 0000000174562870
[    8.876000] ffa0: 0000000174562a40 0000007fe96070d0 000000013cb1a09c 0000007fe96070d0
[    8.876000] ffc0: 0000007f78d14818 0000000040000000 0000000000000008 0000000000000039
[    8.876000] ffe0: 0000000000000000 0000000000000000 ffffffffffffffff ffffffffffffffff
[    8.876000] Call trace:
[    8.876000] Exception stack(0xffffffc03763fb60 to 0xffffffc03763fc90)
[    8.876000] fb60: ffffffc03e04f800 0000008000000000 ffffffc03763fd30 ffffff80085c51b0
[    8.876000] fb80: ffffffc03763fba0 ffffff80081e6f00 ffffffc03763fbb0 ffffff80081f0d30
[    8.876000] fba0: ffffffc03e0738c0 ffffff80081f0d0c ffffffc03763fbe0 ffffff80081f0edc
[    8.876000] fbc0: ffffffc03763fbf0 ffffff80080b931c ffffffc03763fc10 ffffff8008543e1c
[    8.876000] fbe0: ffffff8008c208e0 ffffffc03e800100 ffffffc03e800100 ffffff8008dc6000
[    8.876000] fc00: 64003733323a3031 0000000000000001 ffffff8008b1f4e6 0000000000000000
[    8.876000] fc20: 0000000000000000 0000000000000000 0000000000000001 0000000000000000
[    8.876000] fc40: 0000000000000039 00000001745617b0 0101010101010101 0000000100000000
[    8.876000] fc60: 0000000100000000 2f6d72645f79616c 0000000000000000 0000007f791b3000
[    8.876000] fc80: ffffff80081cfa68 0000007f78d14830
[    8.876000] [<ffffff80085c51b0>] drm_fb_helper_restore_fbdev_mode_unlocked+0x1c/0x70
[    8.876000] [<ffffff80085ef5d8>] nx_drm_lastclose+0x24/0x2c
[    8.876000] [<ffffff80085c890c>] drm_lastclose+0x40/0xc8
[    8.876000] [<ffffff80085c8c34>] drm_release+0x2a0/0x2e4
[    8.876000] [<ffffff80081d3f38>] __fput+0xfc/0x1c4
[    8.876000] [<ffffff80081d4058>] ____fput+0xc/0x14
[    8.876000] [<ffffff80080b0e04>] task_work_run+0xbc/0xe8
[    8.876000] [<ffffff8008086ad0>] do_notify_resume+0x5c/0x8c
[    8.876000] [<ffffff8008082618>] work_pending+0x8/0x10
[    8.876000] Code: 39406021 a90153f3 a9025bf5 12800254 (f9400416)
[    8.876000] ---[ end trace 3aa669faf69aaea6 ]---

 

M3_Armbian_Ubuntu_dev_Boot_stacktrace.txt

Edited by Christos
Attaching complete console bootlog
Link to comment
Share on other sites

  • 0

@Igor

Ok, I know that, just seen your new post here and some latest mobility from Armbian regarding this board and assumed there is some renewed interest.

One question though, if I want to make an image but based on a earlier version of Armbian build tool, is there an easy way to do it? eg to git a specific armbian build version and not perform the automatic git update on build start?

That way I'll try to rebuild the proper working image that I had a couple of months ago.

Link to comment
Share on other sites

  • 0
4 minutes ago, Christos said:

That way I'll try to rebuild the proper working image that I had a couple of months ago.


That's somehow complicated. You can check out builds script to some previous versions but the upstream source has been changed too so you need to check it out to "the proper" (?) state. I don't see much point in this case.

 

Rather go with the flow, use NEXT branch, it's s 4.14.y, our kernel is = up to this commit: https://github.com/rafaello7/linux-nanopi-m3-v4.14/commit/4195c4d5a03d015c2fb6bf772b7d30b9cff11f2f + 4.14.5 upstream patch and report Rafaello what kind of problems you have. If this thing evolves, we might add support some day.

Link to comment
Share on other sites

  • 0
4 hours ago, Igor said:

If this thing evolves, we might add support some day.

 

Given a try to create full images from rafaelo with this

-> https://github.com/rafaello7/debian-installer-nanopi-m3

did both Debian and Ubuntu

it took some time but created images that boot ok, work and give desktop without the problems mentioned earlier. Thus, no problem found to report to him.

Attached their complete console bootlogs FYI.

 

As I mentioned in the first post, Armbian a couple of months back was able to create a good m3 image without the boot problems shown above nowadays.

From the 5.37 bootlog errors now, they look to me that there is a possibility of some bl1 or uboot bin file or even a display blob for m3 to went wrong in some later commit in Armbian, dont know though, just guessing.

Rafaelo's image boots and works ok so it might be a good idea to get his bl1 and uboot bins or display blobs and replace these in Armbian build, if of course that makes sense and got the time to do it.

 

 

M3_rafaelo_Debian_desktop_Boot.txt

M3_rafaelo_Ubuntu_desktop_Boot.txt

Link to comment
Share on other sites

  • 0

 

9 minutes ago, Christos said:

Rafaelo's image boots and works ok so it might be a good idea to get his bl1 and uboot bins or display blobs and replace these in Armbian build, if of course that makes sense and got the time to do it.


aha, than we need to compile https://github.com/rafaello7/bl1-nanopi-m3 and update it here: https://github.com/armbian/build/tree/master/packages/blobs/nanopim3 

 

If you find time ... otherwise I'll do it later.

Link to comment
Share on other sites

  • 0
12 minutes ago, Christos said:

It might also be the uboot he uses, in Armbian we build it from sources. How can we use his uboot bin instead of ours?

And also the same is for any display blob.


The best way is to build everything that is possible within our tools - similar as we do for other boards, but somebody has to bring things in. Since this board is low priority and we don't have a braintimepower nor we decided to deal with this ... It's on you. 

I also find out that making bl is not just make, so ... aborting.

Link to comment
Share on other sites

  • 0
52 minutes ago, Igor said:


The best way is to build everything that is possible within our tools - similar as we do for other boards, but somebody has to bring things in. Since this board is low priority and we don't have a braintimepower nor we decided to deal with this ... It's on you. 

I also find out that making bl is not just make, so ... aborting.

 

Rafaelo's repo provides also some released bl bin files in 'Releases'.

As a first step, I just copied the bl bin file from rafaelo and placed it/renamed it in the specified position, then I did a new build and it does boot ok.

As it shows, the first I2C errors now gone, it does boot and has the same remaining problems, could be needs changed uboot.

 

Also tried to point the dev branch to checkout (via s5p6818.conf) from his new https://github.com/rafaello7/linux-nanopi-m3-v4.14 but could not make it work, could be the patches, dont know.

Obviously someone with better knowledge of how Armbian build tool works, should do it.

 

The bl bin though from 'Releases' in rafaelo's repo works as it is when copy it and rename it in the proper Armbian place you showed.

 

 

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