NIO 12L Initial Impressions and some questions/issues

My application is in aviation and I am very excited about this SBC. Here is what I like:

  • My App is like Google maps for pilots - used in cockpits - so thin profile and light weight is very important.
  • It runs on just regular 3Amp circuit - no heavy UPS required. Use any battery bank.
  • It has two wifi on boards – so one can be used to download things and one to serve as dedicated hotspot – very useful.
  • Its sufficiently fast - scored 110 on Jetstream 2.1 but Geekbench crashes.
  • UFS storage - fast and no issues with being corrupted by power loss so far.
  • Has four USB - I need them all.
  • Dimensions are perfect - just over 70mm wide.

Issues:

Odd mounting hole location. Only two holes line up with HD8 display or any other RPI form compatible display Not compatible with Radxa HD8 dispay: Cable that comes with HD8 does not reach the MIPI port on the SBC
Poor OS Support so far I got Ubuntu working but had many issues which I will list separately

Overall very promising. I hope we get Radxa OS or Debian 12 derived system to fully exploit this board Look forward to hearing from others

First I am seeing this PCI error when a plug in a particular USB module (a SDR Radio) and run a specific software (Stratux). USB module works fine until I run stratux. SO ts a combination of USB dongle, software and OS/hardware.

How do I go about fixing this?

Aug 19 12:20:29 mtk-genio kernel: [ 64.928070] pcieport 0000:00:00.0: AER: Multiple Uncorrected (Non-Fatal) error message received from 0000:00:00.0
Aug 19 12:20:29 mtk-genio kernel: [ 64.977900] pcieport 0000:00:00.0: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, (Requester ID)
Aug 19 12:20:29 mtk-genio kernel: [ 64.979297] pcieport 0000:00:00.0: device [14c3:8195] error status/mask=00004000/00400000
Aug 19 12:20:29 mtk-genio kernel: [ 64.980344] pcieport 0000:00:00.0: [14] CmpltTO (First)
Aug 19 12:20:29 mtk-genio kernel: [ 64.981198] xhci_hcd 0000:01:00.0: AER: can’t recover (no error_detected callback)
Aug 19 12:20:29 mtk-genio kernel: [ 64.981232] pcieport 0000:00:00.0: AER: device recovery failed

2nd issue is that if you upgrade all packages you end up a broken GTK/GNome and all tools/widget stop working. Again I think we are using an old OS with old kernel - thats the issues.

Error is below and there is no fix/workaround for this

$ gnone-control-center

none-control-center: symbol lookup error: /lib/aarch64-linux-gnu/Libwebkit2gtk-

.0.50.37: undefined symbol: gbm_bo_create with_modifiers2 buntu@ntk-genio:

Finally:

Geekbench crashes. Board does not pass Geekbench multi core test

So in summary:

  • Please fix your hardware or help me fix my application to stop PCI Bus error
  • Please provide longer DSI cable to we can connect displays to this board.
  • PLease provide better OS support - newer kernel/debian etc - so we have working UI.
  • Make geekbench pass
  • No CPU stall/Freezes please - fix firmware

One more thing. This was random error but I saw a CPU stall too. THis should not happen

Finished Wait until snapd is fully seeded.

83.527677] watchdog: BUG: soft lockup - CPU#0 stuck for 66s! [swapper/0:0]

83.527694]

watchdog: BUG: soft lockup - CPU#2 stuck for 33s! [kworker/2:3:214]

154.273464] watchdog: BUG: soft lockup - CPU#0 stuck for 132s! [swapper/0:0]

189.646444] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:

189.648524] rcu: All ases seen, last rcu_preempt Kthread activity 44215 4294939708-429489549

Jiffies_till_next_fqs=1, root

qsmask 0x0

189.652764] rcu: rcu_preempt kthread starved for 44215 jiffies! g2397 f0x2 RCU_GP_WAIT_FQS(5)

state=0x0 ->cpu=0

189.656835] rcu: #unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected be lor.

189.660898] rcu: RCU grace-period kthread stack dump:

89.663057] rcu: Stack dump where RCU GP kthread last ran:

:25.0357871

watchdog: BUG: soft lockup - CPU#0 stuck for 198s!

  1. 779293]

watchdog: BUG: soft lockup - CPU#0 stuck for 264s!

[swapper/0:0]

[swapper/0: 0]

66.522784]

watchdog: BUG: soft lockup - CPU#0 stuck for 330s!

Ubuntu is still a work in progress. It’s not even officially released yet… :roll_eyes:
You can’t expect production-level stability from a pre-release OS…

Did you perform a dist-upgrade? That’s not supported.

I installed the downloaded version from your site. b7 - build 7 I guess.

This week I was able to do dist upgrade ro Ubuntu 24.04 and I my GNOME and everything else kept working.

My only outstanding issue from what I have posted here is that Geekbench 6.2.2 does not finish (quits near the end). But most importantly when I use one piece of software that reads USB dongle (a software define radio module) entire system freezes. This does not happen on any other board so I suspect something is off with your USB hardware or you will need a fix in Linux Kernel for whatever you are using or I need to find what is in this Radio tuner software that is causing this.

Other than I am very happy with this board - there is nothing else like this. It has at least 30% less power consumption than Raspberry PI - this makes a huge difference for my project. Not to speak of so many ports and possibilities in a 9mm thin package - unbelievable! Please keep up the good work!

@RadxaYuntian

Any idea what do about USB 3.0 port issues? I get these errors when connecting any USB device to USB3.0 ports (and only after I have installed a particular Radio tuner). When I connect the same USB devices to a hub attached to USB 3.0 OTG port - they work fine.

Network Manager Script Dispatcher Service...Starting peleport 10,2444831

(First) 0000:00:00.0:243070] 10.1 device [14c3:8195) error status/mask=00004000/00400000

0000:00:00.03 peleport PCle Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, (Request

0000:00:00.03 peleport 241286] (First) [14] Cmplt® 0000:00:00.03 peieport 240031] device (14c3:8195) error status/mask=00004000/00400000

0000:00:00.08 peleport 238620] 
PCte Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, (Requesti0000:00:00.08 peieport 2368171

I’m not aware of a b7 for NIO 12L. The latest stable release is b1.

This is not supported. A while ago when I checked it, Canonical did not have Ubuntu 24.04 ready for us to do certification.

Did you get a new kernel when you upgraded to 24.04? If so we cannot help with it.

@RadxaYuntian

No I am not using Ubuntu 24 at this time, I tried once to see if my USB PCIe errors would go away but it did not . So I am at b7. Yes there is a b7 Pl. see your download page:
https://dl.radxa.com/nio12l/images/ubuntu/

Since I was getting frustrated with your Ubuntu support I tried Android - which had a more recent update (Sept 12) and I was pleasantly surprised:

  • Geekbench passed with respectable score (Single Core: 955, Multi: 2300)
  • Power consumption is 20% less than Linux/Ubuntu - with all USB slots in Use I drawe 12-13 watts which is within limit of 15Watts UPS I am using)

But even here there are many challenges:

  • Wifi not available - you have two Wifi Chips yet Wifi does not work. Only Ethernet works.

General questions (about both Ubuntu/Android):

  • Is there is. possibility of external power button? I see there is 2-PIN a header next to power button - I soldered two pins and connected to a Momentary switch - but it did nothing (in either Android or Ubuntu). Do I have to write some wrapper for this?

  • Where is documentation on how to use GPIO pins (in either Ubuntu or Android)?

While I like the promise of this board - you really have to improve documentation and software.

I figured why I was getting PCIe USB errors - too many crazy unnecessary udev rules in a third party software I was using. So I am back to Ubuntu where all my software now works - because USB works hang free.

regarding header for power off/on button - I am not able to figure out what those two header/pins by power button are for and what GPIO they correspond to.

But there is post on how to make system boot automatically when plugging in USB-C power. So I am using that (connect download USB-C to screen). Until i figure how to get a power on/off header - I connected Pin 14 (GND) and PIN 16 (GPIO61 - DMIC1_SLK) to a momentary switch and I am able to use command like

gpiomon --rising-edge pinctrl_paris 61

to monitor press of a switch then launch

gnome-session-quit --power-off

to start a shutdown sequence.

  • I sure hope Radxa will provide more information for GPIO programming - for example how do I convert Rx/Tx pins into a serial line? etc.
  • Detail of eternal power switch header would be useful. External power button switch is a must for us.
  • It would be helpful to get Ubuntu 24 support - fo newer kernel and newer software
  • Unclear how to scale building your own system around this board - how to flash at scale, how to control disk partitions - have your own partition scheme etc.