Jump to content

Armbian for OrangePi PC2, AllWinner H5


Christos

Recommended Posts

12 hours ago, hojnikb said:

Actual sd card slot is still limited to SD25, so you won't see anything like 90MB/s. Not that it matter, because responsiveness is determined by random performance, not sequential.

Thank you for explanation. It sounds like a HW limitation, or does it due FW?

Link to comment
Share on other sites

Hi

One question: is the power button supported by acpi events (via acpid) on WIP Sunxi mainline kernel 4.10.x?

Actually I see that when I press the button I get 2 interrupts on CPU0 from this source:

 32:          5          0          0          0  sunxi_pio_edge   3 Edge      sw4

But a sudo acpi_listen does not report any event

Bye

Link to comment
Share on other sites

Hello Igor.

I have noticed that the kernel package of the testing Ubuntu builds, miss the v4l kernel modules. As far as I remember, these modules are part of linux-image-extra package, that is platform specific. Unfortunately the build of the linuxtv kernel repo, fails.

Do you know if these package is available somehow?

I would like to test the realiability of the USB port with DVB cards, that have some problems with mainline kernels on A20

Bye

 

Link to comment
Share on other sites

Small update

I build a custom kernel from Igor git repo, with the multimedia drivers. After having installed the packages I could initialize the USB DVB-T (an AS Media). I could also tune the channels, but after a short playback of a DVB-T channel via TVHeadend, the kernel panics and after the reboot, it is not possible to enumerate the key without an hardware power cycle, this is what I get:

Spoiler

[    1.955730] usb 2-1: new high-speed USB device number 2 using ehci-platform
[    2.104266] usb 2-1: unable to read config index 0 descriptor/start: -61
[    2.104273] usb 2-1: can't read configurations, error -61
[    2.231746] usb 2-1: new high-speed USB device number 3 using ehci-platform
[    2.380261] usb 2-1: unable to read config index 0 descriptor/start: -61
[    2.380269] usb 2-1: can't read configurations, error -61
[    2.380490] random: fast init done
[    2.507696] usb 2-1: new high-speed USB device number 4 using ehci-platform
[    2.536375] usb 2-1: unable to read config index 0 descriptor/start: -61
[    2.536379] usb 2-1: can't read configurations, error -61
[    2.663694] usb 2-1: new high-speed USB device number 5 using ehci-platform
[    2.692376] usb 2-1: unable to read config index 0 descriptor/start: -61
[    2.692379] usb 2-1: can't read configurations, error -61
[    2.699694] usb usb2-port1: unable to enumerate USB device
[    2.894246] random: crng init done
[    3.079749] usb 5-1: new full-speed USB device number 2 using ohci-platform
[    3.290733] usb 5-1: not running at top speed; connect to a high speed hub
[    3.296726] usb 5-1: unable to read config index 0 descriptor/start: -61
[    3.296731] usb 5-1: can't read configurations, error -61
[    3.483696] usb 5-1: new full-speed USB device number 3 using ohci-platform
[    3.694721] usb 5-1: not running at top speed; connect to a high speed hub
[    3.700722] usb 5-1: unable to read config index 0 descriptor/start: -61
[    3.700725] usb 5-1: can't read configurations, error -61
[    3.891711] usb 5-1: new full-speed USB device number 4 using ohci-platform
[    3.924721] usb 5-1: not running at top speed; connect to a high speed hub
[    3.930723] usb 5-1: unable to read config index 0 descriptor/start: -61
[    3.930726] usb 5-1: can't read configurations, error -61
[    3.959961] EXT4-fs (mmcblk0p1): mounted filesystem with writeback data mode. Opts: (null)
[    4.115717] usb 5-1: new full-speed USB device number 5 using ohci-platform
[    4.148730] usb 5-1: not running at top speed; connect to a high speed hub
[    4.154727] usb 5-1: unable to read config index 0 descriptor/start: -61
[    4.154731] usb 5-1: can't read configurations, error -61
[    4.159703] usb usb5-port1: unable to enumerate USB device

 

I have a 3A power supply and the DVB-T key is the only thing connected to USB (well actually, nothing is connected to the board).

Without the kernel panic, it is the same problem I experience with the BananaPi, using this key.

Does anyone know if there is some well known USB limitation with AllWinner in mainline? This key works ok with a Raspberry PI, even if some RPi specific tweaks are required at kernel cmdline

Edited by zador.blood.stained
Added spoiler tags
Link to comment
Share on other sites

I managed to get the kernel fault log:

Spoiler

[  828.919647] INFO: rcu_sched self-detected stall on CPU
[  828.925694]  0-...: (1 GPs behind) idle=5a7/140000000000002/0 softirq=8118/8119 fqs=2179
[  828.934283]   (t=5250 jiffies g=4414 c=4413 q=163)
[  828.939572] Task dump for CPU 0:
[  828.939672] kworker/0:3     R  running task        0   499      2 0x00000002
[  828.940171] Workqueue: events dbs_work_handler
[  828.940312] Call trace:
[  828.940585] [<ffff000008087a20>] dump_backtrace+0x0/0x220
[  828.940830] [<ffff000008087c54>] show_stack+0x14/0x20
[  828.941035] [<ffff0000080d0c84>] sched_show_task+0x10c/0x170
[  828.941219] [<ffff0000080d3470>] dump_cpu_task+0x40/0x50
[  828.941425] [<ffff000008156264>] rcu_dump_cpu_stacks+0x98/0xe0
[  828.941659] [<ffff000008100108>] rcu_check_callbacks+0x678/0x858
[  828.941892] [<ffff000008102c74>] update_process_times+0x2c/0x58
[  828.942108] [<ffff00000811205c>] tick_sched_handle.isra.7+0x24/0x70
[  828.942294] [<ffff0000081120ec>] tick_sched_timer+0x44/0x90
[  828.942530] [<ffff0000081037a8>] __hrtimer_run_queues+0xf0/0x178
[  828.942758] [<ffff000008103ae8>] hrtimer_interrupt+0xa0/0x220
[  828.942993] [<ffff00000869ee20>] arch_timer_handler_phys+0x30/0x40
[  828.943225] [<ffff0000080f61b8>] handle_percpu_devid_irq+0x78/0x130
[  828.943410] [<ffff0000080f0eac>] generic_handle_irq+0x24/0x38
[  828.943586] [<ffff0000080f152c>] __handle_domain_irq+0x5c/0xb8
[  828.943759] [<ffff000008080d24>] gic_handle_irq+0x54/0xa8
[  828.943902] Exception stack(0xffff80003ef7fcf0 to 0xffff80003ef7fe20)
[  828.944072] fce0:                                   ffff80003ef7fd20 0001000000000000
[  828.944275] fd00: ffff80003ef7fe50 ffff00000869bf28 0000000060000145 ffff000008002010
[  828.944460] fd20: ffff80003dafec98 0000000000000001 0000000000000000 0000000000000000
[  828.944654] fd40: ffff80003c183020 000000007f0442a0 ffff000008cefa00 0000000002008d80
[  828.944848] fd60: dead000000000200 dead000000000100 000000007f0449c0 a1f337920e2aedb8
[  828.945040] fd80: 68b600c080ce36d2 f6544622d5dac600 defc40e002c0d0df 0000000000000001
[  828.945222] fda0: 0000000000000001 000000000000001c 0000000000000001 ffff80003dafeb90
[  828.945412] fdc0: ffff80003dafeca0 ffff000008b82af8 ffff000008b82af8 0000000000000000
[  828.945600] fde0: ffff80003dafec80 0000000000000038 0000000000000000 ffff80003bdd4b00
[  828.945795] fe00: ffff000008b15180 ffff80003ef7fe50 ffff00000869bef4 ffff80003ef7fe50
[  828.945971] [<ffff000008081ff4>] el1_irq+0xb4/0x140
[  828.946226] [<ffff000008637244>] usb_led_activity+0x7c/0x88
[  828.946480] [<ffff0000085e8010>] __usb_hcd_giveback_urb+0x60/0x150
[  828.946702] [<ffff0000085e8198>] usb_giveback_urb_bh+0x98/0xe8
[  828.946916] [<ffff0000080ad854>] tasklet_action+0x74/0x120
[  828.947117] [<ffff0000080ada64>] __do_softirq+0x10c/0x218
[  828.947312] [<ffff0000080ade70>] irq_exit+0xc8/0x118
[  828.947497] [<ffff0000080f1530>] __handle_domain_irq+0x60/0xb8
[  828.947663] [<ffff000008080d24>] gic_handle_irq+0x54/0xa8
[  828.947796] Exception stack(0xffff80003d057a60 to 0xffff80003d057b90)
[  828.947995] 7a60: ffff80003d806100 ffff80003d806100 0000000000000000 000000000a037a00
[  828.948181] 7a80: 0000000000000000 0000000000000012 ffff000008b6d440 0000000000000003
[  828.948365] 7aa0: 00000000280de800 0000000000000001 00000000112a8800 00000000bcd3d800
[  828.948540] 7ac0: 0000000000000021 0000000000000005 0000000000000001 0000000000000001
[  828.948719] 7ae0: 0000000000000001 000000000000001c 0000000000000001 ffff80003d806100
[  828.948914] 7b00: ffff80003d806900 00000000016e3600 00000000405f7e00 ffff80003ef804e0
[  828.949108] 7b20: ffff80003c7956c0 ffff80003c795500 ffff80003c7956e0 ffff80003d883d20
[  828.949302] 7b40: 0000000000000000 ffff80003d057b90 ffff00000851dcb8 ffff80003d057b90
[  828.949497] 7b60: ffff00000851dbdc 0000000060000145 ffff80003d057ba0 ffff00000851c00c
[  828.949640] 7b80: ffffffffffffffff ffff80003d806900
[  828.949807] [<ffff000008081ff4>] el1_irq+0xb4/0x140
[  828.950045] [<ffff00000851dbdc>] clk_change_rate+0x1bc/0x238
[  828.950258] [<ffff00000851dcb8>] clk_core_set_rate_nolock+0x60/0xc8
[  828.950457] [<ffff00000851dd48>] clk_set_rate+0x28/0x58
[  828.950650] [<ffff00000858e38c>] _generic_set_opp+0x9c/0x190
[  828.950834] [<ffff00000858f2b8>] dev_pm_opp_set_rate+0x120/0x298
[  828.951044] [<ffff000008674458>] set_target+0x30/0x38
[  828.951310] [<ffff00000866e48c>] __cpufreq_driver_target+0x244/0x528
[  828.951503] [<ffff000008672a24>] od_dbs_update+0x104/0x1a0
[  828.951704] [<ffff00000867365c>] dbs_work_handler+0x3c/0x78
[  828.951906] [<ffff0000080bf9b0>] process_one_work+0x1d8/0x388
[  828.952087] [<ffff0000080bfba8>] worker_thread+0x48/0x4a0
[  828.952304] [<ffff0000080c5a28>] kthread+0xf0/0x120
[  828.952487] [<ffff0000080826c0>] ret_from_fork+0x10/0x50
[  856.032718] NMI watchdog: BUG: soft lockup - CPU#0 stuck for 23s! [kworker/0:3:499]
[  856.041028] Modules linked in: as102_fe dvb_as102 dvb_core sun8i_codec_analog sun4i_codec snd_soc_core snd_pcm_dmaengine snd_pcm snd_timer

[  856.041949] CPU: 0 PID: 499 Comm: kworker/0:3 Not tainted 4.10.0-sun50iw2 #1
[  856.042036] Hardware name: Xunlong Orange Pi PC 2 (DT)
[  856.042358] Workqueue: events dbs_work_handler
[  856.042548] task: ffff80003bdd4b00 task.stack: ffff80003d054000
[  856.042809] PC is at __usb_hcd_giveback_urb+0x7c/0x150
[  856.043015] LR is at __usb_hcd_giveback_urb+0x78/0x150
[  856.043152] pc : [<ffff0000085e802c>] lr : [<ffff0000085e8028>] pstate: 80000145
[  856.043228] sp : ffff80003ef7fea0
[  856.043320] x29: ffff80003ef7fea0 x28: ffff000008b15180
[  856.043548] x27: ffff80003bdd4b00 x26: 0000000000000000
[  856.043758] x25: 0000000000000038 x24: 0000000000000030
[  856.043967] x23: ffff000008ae5000 x22: 0000000000000000
[  856.044170] x21: ffff80003c629000 x20: 0000000000000140
[  856.044374] x19: ffff80003c183b00 x18: 0000000000000001
[  856.044569] x17: 000000000000001c x16: 0000000000000001
[  856.044762] x15: 0000000000000001 x14: 0000000000000205
[  856.044965] x13: ffff000008ba7a00 x12: 0000000000000001
[  856.045159] x11: 0000000000000001 x10: 000000007f044960
[  856.045367] x9 : dead000000000100 x8 : dead000000000200
[  856.045570] x7 : 0000000002008d80 x6 : ffff000008cef9a0
[  856.045771] x5 : 000000007f044840 x4 : 0000000000000040
[  856.045970] x3 : ffff000008cef880 x2 : 00000000000060e4
[  856.046164] x1 : 00000000000001c0 x0 : 0000000000000000

menion@orangepipc2:~$

 

 

Edited by zador.blood.stained
Added spoiler tags
Link to comment
Share on other sites

On 1/5/2017 at 8:28 PM, pec said:

@Menion IIRC I had the same issue. Try setting CPU governor to "performance".

Apparently it has something to do with the specific DVB-T driver. I have tested a Terratec based on em28xx plus xc3028 tuner. Even if this key require much more current, it works perfectly with OPiPc2

Link to comment
Share on other sites

Today I updated immediately noticed that did not work for several teams:

Spoiler

:~$ cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 4294.55 ms.
analyzing CPU 1:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 4294.55 ms.
analyzing CPU 2:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 4294.55 ms.
analyzing CPU 3:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 4294.55 ms.

~$ cat /sys/class/thermal/thermal_zone0/temp
cat: /sys/class/thermal/thermal_zone0/temp: No such file or directory
svm@orangepipc2:~$

$ uname -a
Linux orangepipc2 4.11.0-sun50iw2 #3 SMP Sun May 7 03:57:56 CEST 2017 aarch64 aarch64 aarch64 GNU/Linux
svm@orangepipc2:~$

 

My log - http://sprunge.us/fFCg

What you need to do that would work?

Link to comment
Share on other sites

Today came the update. The temperature value earned. Information about the processor not working yet.

~$ uname -a
Linux orangepipc2 4.11.0-sun50iw2 #5 SMP Mon May 8 03:30:32 CEST 2017 aarch64 aarch64 aarch64 GNU/Linux

The CPU is now hotter. No load was  +45C, now +52C.

Link to comment
Share on other sites

Hi ! I try to use last firmware for OP PC 2 - Armbian_5.27.170502_Orangepipc2_Ubuntu_xenial_dev_4.10.0_desktop.img

and cant work normally USB cameras - (UVC usb2.0 and MicrcoftVX-1000).. 

lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 003: ID 1871:0142 Aveo Technology Corp.
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 002: ID 1a2c:0023 China Resource Semico Co., Ltd
 

v4l2-ctl --list-devices - GET ERROR
Failed to open /dev/video0: No such file or directory

and then i try to build driver from rep git clone git://linuxtv.org/media_build.git

i have some error..

/root/.config/guvcview2/media_build/v4l/vim2m.c: In function 'vim2m_release':
/root/.config/guvcview2/media_build/v4l/vim2m.c:959:30: error: 'struct v4l2_fh' has no member named 'm2m_ctx'
  v4l2_m2m_ctx_release(ctx->fh.m2m_ctx);
                              ^
scripts/Makefile.build:300: recipe for target '/root/.config/guvcview2/media_build/v4l/vim2m.o' failed
make[3]: *** [/root/.config/guvcview2/media_build/v4l/vim2m.o] Error 1
Makefile:1492: recipe for target '_module_/root/.config/guvcview2/media_build/v4l' failed
make[2]: *** [_module_/root/.config/guvcview2/media_build/v4l] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-4.11.0-sun50iw2'
Makefile:51: recipe for target 'default' failed
make[1]: *** [default] Error 2
make[1]: Leaving directory '/root/.config/guvcview2/media_build/v4l'
Makefile:26: recipe for target 'all' failed
make: *** [all] Error 2

 

Thanks

Link to comment
Share on other sites

You have to clone the armbian repo: https://github.com/armbian/build

Then recompile a kernel (use ./compile.sh KERNEL_CONFIGURE=yes KERNEL_ONLY=yes) and enable under drivers/multimedia/platform the v4l webcam support you need

The out of tree linuxtv will never compile unless if matched with exactly the kernel version supported. It is a long story, and sadly one of the biggest limitation in Linux, that I believe no one is really willing to solve, such implement a stable framework for out of tree drivers implementation.

Link to comment
Share on other sites

Planning on buying an Orange Pi and would like to buy a H5 based one but warned by the disclaimer I have a simple question... is the current support good enough for semi-production environment or should i stick with the H3 CPU?

Link to comment
Share on other sites

Ic2 not working in latest mainline

Installed Armbian_5.27.170522_Orangepipc2_Ubuntu_xenial_dev_4.11.1_desktop.img on OrangePi PC2

Found i2c missing 

Adds overylay in /boot/armbianEnv.txt ->overlays=i2c0 i2c1 i2c2

Modified i2c to enabled in  /boot/dtb-4.11.1-sun50iw2/allwinner/sun50i-h5-orangepi-pc2.dtb

 

Still no luck to find any i2c devices 

Link to comment
Share on other sites

5 hours ago, freemaker said:

Ic2 not working in latest mainline

 

Hm. "reg" property of i2c2 in sunxi-h3-h5.dtsi is wrong (copy-paste issue)



        i2c1: i2c@01c2b000 {
            compatible = "allwinner,sun6i-a31-i2c";
            reg = <0x01c2b000 0x400>;
            interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&ccu CLK_BUS_I2C1>;
            resets = <&ccu RST_BUS_I2C1>;
            pinctrl-names = "default";
            pinctrl-0 = <&i2c1_pins>;
            status = "disabled";
            #address-cells = <1>;
            #size-cells = <0>;
        };

        i2c2: i2c@01c2b400 {
            compatible = "allwinner,sun6i-a31-i2c";
            reg = <0x01c2b000 0x400>;
            interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&ccu CLK_BUS_I2C2>;
            resets = <&ccu RST_BUS_I2C2>;
            pinctrl-names = "default";
            pinctrl-0 = <&i2c2_pins>;
            status = "disabled";
            #address-cells = <1>;
            #size-cells = <0>;
        };

 

The issue is present in linux-next too, so it has to be reported upstream.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines