Jump to content

Search the Community

Showing results for tags 'orangepizeroplus2-h3'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Community
    • Announcements
    • Feature Requests
  • Using Armbian
    • Beginners
    • Software, Applications, Userspace
    • Advanced users - Development
  • Upcoming Hardware (WIP)
    • News
    • Odroid M1
    • ROCK 5B
  • Maintained Hardware
    • Board does not start
    • Amlogic meson
    • Allwinner sunxi
    • Marvell mvebu
    • Rockchip
    • Other families
  • Unmaintained (CSC/EOL/TVB) / Other
    • TV boxes
    • Off-topic
    • Amlogic meson
    • Allwinner sunxi
    • Marvell mvebu
    • Rockchip
    • Other families

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start






Website URL







  1. Hello, I currently installed Opi0 plus2 h3_Debian_stretch_next_4.14.78 but when I boot up my device, red led blinks 2times then pause and repeating again. What does it mean? I have never seen this blinking red led behaviour in previous Armbian releases.
  2. Hello, I installed ARMBIAN 5.38 stable Debian GNU/Linux 9 (stretch) 4.14.14-sunxi on H3 OpiZeroPlus2 board and temperature is 60C (just after boot, nothing is running, CPU 0.5%) Is it normal? P.S. I saw overheating problem on H2+ OPi boards, but no idea if H3 also suffers from this.
  3. Hi there, I've just got my first H3 board (OPi Zero +2) and I'm interested in learning how boot process works in detail, with a focus on Security ID features. As far I can see there's not that much documentation about S/NBROM (essentially linux-sunxi's Wiki and Allwinner-info git repo) and what's supposed to be H3's NBROM (header 1100, 1100, 1633) looks like slightly different from A10's one (from git) at first glance. Is there anyone here who has already worked on it and/or has info/symbols/pseudocode/whatever might speed up the reversing process? Thank you!
  4. Dear Сommunity, I've got an Orange Pi Zero Plus2, it has a WiFi only, no an Ethernet interface. But I want to use a TFTPBoot for my project. That's why I've got two questions: How I can configure/compile U-Boot with WiFi support? And how I can configure it for usage with TFTPboot? Kind regards, Bread Lee
  5. Hi, I built a fresh Armbian Image from scratch (using Armbian build system). After that I used Etcher to burn .img file to SD card. Everything works great, but U-Boot shows, that there is no environment. I used saveenv and fixed a problem. Then I installed Armbian into internal memory (eMMC), same message about environment, I tried fix it same way, using saveenv, but I get only an error message and infinite loop. Screenshot attached. How I can fix that? UPD: My board - Orange Pi Zero Plus 2 Kind regards
  6. Dear Community, I am actively using an Orange Pi Zero Plus 2 board and I want to build U-Boot mainline by myself. I donwloaded mainline version from Denx's git, but when I'm doing configuration for Orange Pi Zero Plus 2. it uses H5 chip, but my board works with H3. During building Armbian Images, build system downloads latest U-Boot version and build it for H3 chip. I'm new to u-boot and maybe someome will help to find propper configs. Kind regards
  7. Hi friends, one question - this camera works with Orange Pi zero2Plus for me (mostly). But do I need to use always the green PCB with camera, or can I directly plug in the small black camera with its brown ribbon to Orange Pi? Should it work without green PCB or not? Many thanks.
  8. Hi, First of all sorry for my bad English. I am trying play video on my OrangePi Zero2+ H3 and 7inch waveshare touch screen. I couldn't get the touch screen work with Armbian 5.38 - 3.xx kernel. (I downloaded the Armbian Xenial desktop legacy kernel 3.4.y from website. In this version, mpv plays video with hardware acceleration) Then I updated to Armbian 5.44 - 4.xx kernel (I downloaded the Armbian Stretch mainline kernel 4.14.y from website.) then 7inch touch screen started to work but this time no hardware acceleration. It works "mpv vid.mp4" with dropped frames and very high CPU usage. But it gives error when I try to start video with "mpv --vo=vdpau --hwdec=vdpau vid.mp4". It says: "[vo/vdpau] Error when calling vdp_device_create_xll" No matter I tried it doesn't work. I tried to reinstall mpv, vdpau, libump etc (http://linux-sunxi.org/User:Rellla/Armbian). One more thing, there is no /dev/mali file in 5.44. but there was in 5.38. What am I doing wrong? Thanks in advance.
  9. Dear all, I discovered that the leds section is missing in the devicetree of orangepizeroplus2 H5 (at least upto kernel 4.14.39), and had to write an overlay to get them to work. The overlay has been attached. I've added this overlay file to /boot/overlay-user/ and added the overlay in /boot/armbianEnv.txt as follows: Kind regards, Dennis sun50i-h5-orangepi-zeroplus-leds.dts
  10. Hey, I've got an Orange Pi Zero Plus 2 (H3) with Armbian 5.41 and mainline 4.14.18 with Debian Stretch. If I try to run X11 with: sudo startx I get the following error: X.Org X Server 1.19.2 Release Date: 2017-03-02 X Protocol Version 11, Revision 0 Build Operating System: Linux 4.9.0-4-armmp-lpae armv7l Debian Current Operating System: Linux orangepizeroplus2 4.14.18-sunxi #24 SMP Fri Feb 9 16:24:32 CET 2018 armv7l Kernel command line: root=UUID=bab2d356-e17e-4857-836a-5fc44cbf541f rootwait rootfstype=ext4 console=tty1 console=ttyS0,115200 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 panic=10 consoleblank=0 loglevel=1 ubootpart=451adcfc-01 ubootsource=mmc usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_fb_mem_reserve=16 cgroup_enable=memory swapaccount=1 Build Date: 16 October 2017 09:48:39AM xorg-server 2:1.19.2-1+deb9u2 (https://www.debian.org/support) Current version of pixman: 0.34.0 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/var/log/Xorg.1.log", Time: Wed May 16 19:22:28 2018 (==) Using config directory: "/etc/X11/xorg.conf.d" (==) Using system config directory "/usr/share/X11/xorg.conf.d" MESA-LOADER: failed to retrieve device information gbm: failed to open any driver (search paths /usr/lib/arm-linux-gnueabihf/dri:${ORIGIN}/dri:/usr/lib/dri) gbm: Last dlopen error: /usr/lib/dri/sun4i-drm_dri.so: cannot open shared object file: No such file or directory failed to load driver: sun4i-drm gbm: failed to open any driver (search paths /usr/lib/arm-linux-gnueabihf/dri:${ORIGIN}/dri:/usr/lib/dri) gbm: Last dlopen error: /usr/lib/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory failed to load driver: kms_swrast gbm: failed to open any driver (search paths /usr/lib/arm-linux-gnueabihf/dri:${ORIGIN}/dri:/usr/lib/dri) gbm: Last dlopen error: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory failed to load swrast driver couldn't get display device I have an Orange Pi Zero (H3) with the same Armbian and Kernel version and there no error occurs. Here is my Xorg.1.log: I can't figure out whats the difference, maybe the HDMI? And how I can solve this problem. I would appreciate any help. Thanks
  11. Hello, everyone. I searched long time to run cocos2d on Armbian_5.38_Orangepizeroplus2-h3_Ubuntu_xenial_default_3.4.113_desktop. Now it run but very slow because device is orange pi zero plus 2 (mini com like arm). when build project, it automatically works for desktop with opengl. We already compile & run new cocos2d-x-3.15.1 cpp project on Armbian. FPS is 30. If we make this project work on opengles, fps will rise. Have you got issue? I guess if i change this to opengl es then speed will be ok. Because on Android on same device, apk's fps is 60. Please help me.
  12. Hi there, tomorrow I should obtain my OPi Zero Plus2. I see it does not have USB port (just GPIO for USB, so I could solder USB port for it with GPIO, no problem). Then, I will need to install my own raspbian.img on eMMC (I am using read only system). Till now I installed it on many SD cards to another Opi Zero's and used it so (because of lack eMMC). But how to install it on Opi Zero Plus2? Do I need to install it on SD card first and then go with nand-sata-install? Honestly, I would like to install it (the best) with USB or some other way, because I will need to install dozen of pieces and it is pretty time consuming to install if from SD card (and secondly I don't know if read-only images will install ok). Usually my armban.img file is between 1GB. Is there any way how to upload/install it directly to emmc from standard PC? What I really need to do is to simplify whole install process at minimum steps, because I will need to install it for more pieces probably.
  13. Hello friends, I found these cameras for Orange Pi: https://www.aliexpress.com/item/Orange-Pi-Open-source-IP-Camera-with-wide-angle-lens-Smart-Home-Control-Device-for-PC/32652476606.html https://www.aliexpress.com/item/2MP-Camera-module-for-Orange-Pi-PC-Zero-One-PC-Plus-Plus2-Plus2e-Zero-Plus-2/32833966539.html Can it work directly with Orange Pi Zero Plus2-h3? Or is there any difference with h5? Do you know how many fps with which resolution does this camera have? Thanks.
  14. Hi there, I want to build my product on Orange Pi Zero Plus2. I want to put it to enclosure and leave just power connector accessible. But I found this scenario - if user makes mistake in his wifi settings and then he saves these "faulty wifi settings", he will not be able to recover default wifi values anymore. How would you solve this? (the best approach without any additional buttons for gpio pins or additional elements)
  15. Recently i have been experimenting with interrupts on orange pi zero plus2-H3 trying to capture data-ready pulses from an external adc on gpio PA19. The aim is to synchronize spi-read-data transactions with the incoming adc data-ready signal. First I tried to get it to work on legacy kernel 3.4 by adding the following section in to /boot/script.fex and compile the .fex file to .bin file using fex2bin: [gpio_para] gpio_used = 1 gpio_num = 6 .... gpio_pin_6 = port:PA19<0><default><default><1> This configured the pin properly as i had tested on other pins with some leds and it works. The driver code for capturing the interrupt was based on an example i found at https://github.com/tomxue/Kernel_GPIO_interrupt/blob/master/m_test.c and is as follows: ... #define GPIO_PIN 19 #define GPIO_PIN_DESC "GPIO PA19 interrupt test" static irqreturn_t r_irq_handler(int irq, void *dev_id, struct pt_regs *regs) { unsigned long flags; local_irq_save(flags); printk("Interrupt [%d] on device [%s] was triggered!!\n", irq, (char *) dev_id); local_irq_restore(flags); return IRQ_HANDLED; } void config_interrupt (void) { int err; int gpio_irq; err = setup_pinmux(); if (err < 0) { printk("GPIO setup pinmux failure: %s\n", GPIO_PIN_DESC); return; } if (gpio_request(GPIO_PIN, GPIO_PIN_DESC)) { printk("GPIO request failure: %s\n", GPIO_PIN_DESC); return; } if (gpio_direction_input(GPIO_PIN)) { printk("GPIO set direction input failure %s\n", GPIO_PIN_DESC); return; } if ( (gpio_irq = gpio_to_irq(GPIO_PIN)) < 0 ) { printk("GPIO to IRQ mapping failure %s\n", GPIO_PIN_DESC); return; } printk(KERN_NOTICE "Mapped int %d\n", gpio_irq); if (request_irq(gpio_irq, (irq_handler_t ) r_irq_handler, IRQF_TRIGGER_RISING, // IRQF_TRIGGER_LOW, GPIO_PIN_DESC, GPIO_PIN_DEVICE_DESC)) { printk("Irq Request failure\n"); return; } return; } Unfortunately i could only get it to work if i replace IRQF_TRIGGER_RISING with IRQF_TRIGGER_LOW. This was tested by issuing dmesg to obtain the irq number and then cat /proc/interrupts to monitor interrupt events on the allocated irq. At first, this gave me the impression that interrupts in the kernel are polling the pin instead of actual hardware triggering. Based on the data sheets of the sunxi H3 chipset (http://dl.linux-sunxi.org/H3/Allwinner_H3_Datasheet_V1.0.pdf, page 74) PA19 is interrupt capable by the setting the pinmux to PA_EINT19, function code 0x6. So i decided to do low level configuration of the pinmux by adding the following section to the module and test accordingly: /** * Low level configuration of GPIO pin mode */ #ifdef KERNEL_34 #define IOMEM(x) ((void __force __iomem *)(x)) #ifndef IO_ADDRESS #define IO_ADDRESS(x) ((x) + 0xf0000000) #endif #ifndef __io_address #define __io_address(n) IOMEM(IO_ADDRESS(n)) #endif // IO memory map base address, discovered by searching through Armbian sources #define SUNXI_IOMEM(n) (0xf0000000 + (n)) #define PIO_BASE SUNXI_IOMEM(0x01C20800) // gpio banks of the ALLWINNER H3 #define GPIO_BANK_A 0 //#define GPIO_BANK_B 1 // not a valid bank on H3 #define GPIO_BANK_C 2 #define GPIO_BANK_D 3 #define GPIO_BANK_E 4 #define GPIO_BANK_F 5 #define GPIO_BANK_G 6 // PORT configuration registers #define Pn_CFG0_REG(n) (PIO_BASE + (n*0x24) + (0x00)) // 32bits[0..31] see data sheet #define Pn_CFG1_REG(n) (PIO_BASE + (n*0x24) + (0x04)) #define Pn_CFG2_REG(n) (PIO_BASE + (n*0x24) + (0x08)) #define Pn_CFG3_REG(n) (PIO_BASE + (n*0x24) + (0x0c)) #define PA_DAT (PIO_BASE + 0x10) #define PA_PULL (PIO_BASE + 0x1C) #define PA_EINT_CFG_REG(n) (PIO_BASE + 0x200 + (4*n)) #define PA_EINT_CTL_REG (PIO_BASE + 0x210) #define PA_EINT_STATUS_REG (PIO_BASE + 0x214) #define PA_EINT_DEB_REG (PIO_BASE + 0x218) #define readb(addr) (*((volatile unsigned char *)(addr))) #define readw(addr) (*((volatile unsigned short *)(addr))) #define readl(addr) (*((volatile unsigned long *)(addr))) #define writeb(v, addr) (*((volatile unsigned char *)(addr)) = (unsigned char)(v)) #define writew(v, addr) (*((volatile unsigned short *)(addr)) = (unsigned short)(v)) #define writel(v, addr) (*((volatile unsigned long *)(addr)) = (unsigned long)(v)) #endif #ifdef KERNEL_34 static int setup_pinmux(void) { int cfg; int shift; unsigned int val = 0x6 ; // function 0x6 = PA_EINT mode unsigned int reg, mask; //writel(0x00711112, Pn_CFG2_REG(GPIO_BANK_A)); // default register value void __iomem *base = __io_address(0x01c28000); printk("GPIO: base = 0x%lx, %s \n", (long unsigned int)base, GPIO_PIN_DESC); printk("GPIO: PIO_BASE = 0x%lx, %s \n", (long unsigned int)PIO_BASE, GPIO_PIN_DESC); // display CFG registers of GPIO_BANK_A printk("GPIO: Pn_CFG0_REG(GPIO_BANK_A) = 0x%.8lx, %s \n", readl(Pn_CFG0_REG(GPIO_BANK_A)), GPIO_PIN_DESC); printk("GPIO: Pn_CFG1_REG(GPIO_BANK_A) = 0x%.8lx, %s \n", readl(Pn_CFG1_REG(GPIO_BANK_A)), GPIO_PIN_DESC); printk("GPIO: Pn_CFG2_REG(GPIO_BANK_A) = 0x%.8lx, %s \n", readl(Pn_CFG2_REG(GPIO_BANK_A)), GPIO_PIN_DESC); printk("GPIO: Pn_CFG3_REG(GPIO_BANK_A) = 0x%.8lx, %s \n", readl(Pn_CFG3_REG(GPIO_BANK_A)), GPIO_PIN_DESC); // printk("GPIO: PA_DAT = 0x%.8lx, %s \n", readl(PA_DAT), GPIO_PIN_DESC); printk("GPIO: PA_PULL = 0x%.8lx, %s \n", readl(PA_PULL), GPIO_PIN_DESC); printk("GPIO: PA_EINT_STATUS = 0x%.8lx, %s \n", readl(PA_EINT_STATUS_REG), GPIO_PIN_DESC); printk("GPIO: PA_EINT_DEB_REG = 0x%.8lx, %s \n", readl(PA_EINT_DEB_REG), GPIO_PIN_DESC); printk("GPIO: PA_EINT_CFG_REG(0) = 0x%.8lx, %s \n", readl(PA_EINT_CFG_REG(0)),GPIO_PIN_DESC); printk("GPIO: PA_EINT_CTL_REG = 0x%.8lx, %s \n", readl(PA_EINT_CTL_REG), GPIO_PIN_DESC); printk("GPIO: writing to registers, %s \n", GPIO_PIN_DESC); //set PA19_SELECT to PA_EIN19 // PAn_SELECT(GPIO_BANK_A, 19, 0x6); // bank = (19*4)/32 = 2 = PA_CFG2 // shift = (19*4)-(bank*32)/4 cfg = (GPIO_PIN * 4) / 32; shift = ((GPIO_PIN * 4) - (cfg * 32)) ; mask = ~(0x0000000f << shift); val = val << shift; printk("GPIO: cfg=%d, shift=%d, mask=0x%.8lx, %s \n", cfg, shift, mask, GPIO_PIN_DESC); switch (cfg){ case 0: reg = readl(Pn_CFG0_REG(GPIO_BANK_A)); reg &= mask; reg |= val; writel(reg, Pn_CFG0_REG(GPIO_BANK_A)); break; case 1: reg = readl(Pn_CFG1_REG(GPIO_BANK_A)); reg &= mask; reg |= val; writel(reg, Pn_CFG1_REG(GPIO_BANK_A)); break; case 2: reg = readl(Pn_CFG2_REG(GPIO_BANK_A)); reg &= mask; reg |= val; writel(reg, Pn_CFG2_REG(GPIO_BANK_A)); break; case 3: reg = readl(Pn_CFG3_REG(GPIO_BANK_A)); reg &= mask; reg |= val; writel(reg, Pn_CFG3_REG(GPIO_BANK_A)); break; } printk("GPIO: Pn_CFG0_REG(GPIO_BANK_A) = 0x%.8lx, %s \n", readl(Pn_CFG0_REG(GPIO_BANK_A)), GPIO_PIN_DESC); printk("GPIO: Pn_CFG1_REG(GPIO_BANK_A) = 0x%.8lx, %s \n", readl(Pn_CFG1_REG(GPIO_BANK_A)), GPIO_PIN_DESC); printk("GPIO: Pn_CFG2_REG(GPIO_BANK_A) = 0x%.8lx, %s \n", readl(Pn_CFG2_REG(GPIO_BANK_A)), GPIO_PIN_DESC); printk("GPIO: Pn_CFG3_REG(GPIO_BANK_A) = 0x%.8lx, %s \n", readl(Pn_CFG3_REG(GPIO_BANK_A)), GPIO_PIN_DESC); the // enable interrupt on PA19 reg = readl(PA_EINT_CTL_REG); reg |= 1 << GPIO_PIN; writel(reg, PA_EINT_CTL_REG); printk("GPIO: PA_EINT_CTL_REG = 0x%.8lx, %s \n", readl(PA_EINT_CTL_REG), GPIO_PIN_DESC); printk("GPIO: PA_EINT_STATUS = 0x%.8lx, %s \n", readl(PA_EINT_STATUS_REG), GPIO_PIN_DESC); return 0; } #endif I could see in the dmesg printouts that the PA19-pin was configured properly but still i could only get interrupts to work if i use IRQF_TRIGGER_LOW. After some reading on the Internet and instability issues with WiFi i decided to go with the latest mainline development kernel which uses device trees. Executing the kernel module with low-level register programming on the mainline kernel resulted in Kernel-oops and segmentation faults. I modified /boot/dtb/sun8i-h3-orangepi-zeroplus.dts based on an example i found at http://geek-mag.com/posts/265668/ as follows and tested using the pulse-counter module presented at the same site: /dts-v1/; / { interrupt-parent = <0x1>; #address-cells = <0x1>; #size-cells = <0x1>; model = "Xunlong Orange Pi Zero Plus"; compatible = "xunlong,orangepi-zeroplus", "allwinner,sun8i-h3"; sst: pulse_counter { compatible = "gpio-pulse-counter"; pi_irq_counter@0 { label = "sst_PA19_pulse_counter"; pinctrl-names = "default"; pinctrl-0 = <&ext_counter_PA19>; /* bank: 0, pin 19, function 6 */ gpios = <&pio 0 19 6>; /* interrupt properties may be omitted if used gpios property */ interrupt-parent = <&pio>; interrupt-names = "counter-edge-rising"; interrupts = <19 0>; /* PA19 / EINT19 / rising edge*/ }; }; .... pio: pinctrl@01c20800 { reg = <0x1c20800 0x400>; interrupts = <0x0 0xb 0x4 0x0 0x11 0x4>; clocks = <0x2 0x36 0x3 0x5>; clock-names = "apb", "hosc", "losc"; gpio-controller; #gpio-cells = <0x3>; interrupt-controller; #interrupt-cells = <0x3>; compatible = "allwinner,sun8i-h3-pinctrl"; linux,phandle = <0xd>; phandle = <0xd>; .... ext_counter_PA19: sst_pins@0 { allwinner,pins = "PA19"; allwinner,function = "gpio_in"; drive = <0>; pull = <1>; }; }; }; Still the same issues, I could only get interrupts if i set IRQF_TRIGGER_LOW. After three weeks of reading, digging and diving on the Internet i had decided to test gpio-PA19 using a switch connected with a pull-up resistor to 3.3v. pressing the switch will result in grounding PA19 and hence a rising edge pulse will be generated when the switch is released. To my surprise i got rising edge interrupts to work. Now y thaughts are shifting towards hardware issues so i grabbed a scope and function generator to monitor the activities on the gpio-pin PA19. Here are some of my findings: Picture 1: adc_drdy_pulse_width.jpeg, pulse width 1us, frequency 2KHz - 128Khz depending on sampling frequency setup, no-interrupts detected Picture 2: adc-pulse-frequency.jpeg Picture 3: function-generator-pulse-50percent-duty.jpeg, frequency 50Hz, interrupts visible if i increase generator voltage to 4.3 volts. It seems that the gpio input load reduces the function-generator voltage from 3.3V to 2.7V and hence logic level voltages are not detected correctly. Conclusions: interrupt activity detection is lowered as the frequency increases @10KHz no more interrupts visible @1% pulse duty cycle of 400Hz no more interrupts visible Questions: 1) How do i activate hardware irq sampling on PA19 in mainline kernel? 2) How do i set irq-pin sampling debounce to 24MHz on mainline kernel? 3) Can the kernel handle high speed irq's 4) Why does are irqs not triggering when i increase the pulse frequency or lower pwm duty. 5) How can i do low level register programming in mainline kernel? Any help would be appreciated
  16. I tried to build the armbian on my Orange Pi Zero Plus 2 to work on my astro project. I'm planning to connect the board to the camera module, which I'd assemble with a small scope (120mm focal length), and with a small TFT screen to make it a electronic finder scope. When I build and install the stretch server I've encounter several instability. There were some random crashes and finally I was able to get it stable. I'd like to share it here in case anyone is encountering the same. Here's the info: First I was experiencing random crashes and the exception message shows there's a problem at the high resolution timer. I simply disable the hr timer on the build. That solved the problem. Then I still experiencing random crashes, saying "Insufficient stack space to handle exception". Appearing the default stack of 8Mb was not enough. I make it 16Mb and now it's running stable. Tried running stress for 1 hr and the board is still running fine. So appearing everything is stable now. And I struggle a little bit to make the spidev & tft driver to work with the OrangePi. Here's a very useful guide here: http://eessential.blogspot.hk/2017/12/18-128-x-160-tft-lcd.html?m=1 Description: Debian GNU/Linux 9.3 (stretch) Release: 9.3 Codename: stretch Kernel: 4.14.18
  17. It seems that the latest Nano Pi Neo Air Boards and the relatively new Orange Pi Zero Plus 2 both use a modified version of the AP6212 WiFi+Bluetooth module, which is physically labelled as AP6212A. This new module apparently requires different drivers to operate. From my own experience, I was unable to get the internal WiFi module to work on a Nano Pi Neo Air (with AP6212A) using any of the Armbian distributions. However, I was able to get WiFi to work on that board with the Friendly Arm distribution at from https://www.mediafire.com/folder/sr5d0qpz774cs/NanoPi-NEO_Air#oc15bwqbuxgxe. I just received a second Nano Pi Neo Air from a different vendor, and this one was apparently one of the older boards because it came without a wifi antenna, and the WiFi module was labeled AP6212. The internal WiFi on this board worked perfectly with the legacy Armbian distribution for the Nano Pi Neo Air. I've seen elsewhere that there has been some trouble getting WiFi to work with the Orange Pi Zero Plus 2, and I suspect it is because of the change in the WiFi module. I personally know nothing of how to change or compile WiFi drivers, but would comparing the drivers in the Friendly Arm distribution help?
  18. Hi, I would like to share an issue concerning the OPI Zero 2+ with the camera module. I was not able to work with it and I got usual error : [ISP] isp platform_id = 5! [CSI_ERR][GC2035]sensor_read err at sensor_detect! [CSI_ERR][GC2035]chip found is not an target chip. I finally found that the FEX was incorrect. On line 384, the port definition was wrong and should be PA08 : vip_dev0_power_en = port:PA08<1><default><default><default> Then the camera is recognized : [ 8652.370168] [ISP] isp platform_id = 5! [ 8652.447812] [CSI][GC2035]V4L2_IDENT_SENSOR=2035[CSI][GC2035]disalbe oe! And worked properly with fswebcam : fswebcam -r 1600x1200 -p YUV420P - > cam1600x1200.jpg Maybe someone can tell me where to report the bug ? Hope my post may help. I attached the corrected FEX file (note that I did not check other parameters). Use fex2bin to create script.bin and put it in /boot. script.fex
  19. I run into problems trying to get application distributed via snaps installed. Mount snap "core" (3751) [ 1691.207676] squashfs: SQUASHFS error: Filesystem uses "xz" compression. This is not supported error: cannot perform the following tasks: - Mount snap "core" (3751) ([start snap-core-3751.mount] failed with exit status 1: Job for snap-core-3751.mount failed. See "systemctl status snap-core-3751.mount" and "journalctl -xe" for details. Found out kernel module would need to enable CONFIG_SQUASHFS_XZ. Could someone help me by adding the module to Kernel or support me in doing so or with a much appreciated workaround. Thanks!
  20. A couple of weeks ago I took delivery of an Orange Pi Zero Plus 2 H3 it has the form factor I wanted, eMMC support and HDMI which implied I could run a desktop; the H3 was also the variant that seemed to have the best support. Since then I have been trying to get a stable usable desktop environment working. I tried the latest version of Armbian legacy server specifically for this board and that works fine as far as the server version goes so then I tried to add a basic desktop but that didn't work the xOrg driver said there were no screens present and everything I tried after going to Google University failed. Then I tried a couple of distros from the Orange Pi website but none of them were really usable. Next I returned to Armbian and tried the legacy desktop image for an Orange Pi Lite and the desktop worked but obviously the AP62612 and the eMMC were not found. Finally I tried the desktop image for the Orange Pi PC Plus. The desktop works well and I can copy the image to eMMC using the Armbian script but still the AP6212 could not be initialized. Finally I tried a Realtek USB/Ethernet dongle with this image and it worked "out of the box" all I had to do was put in my SSID & WPA password. That is the setup I am working with now, but I really would like an Armbian desktop image for this board. Actually don't care if it is H3 or H5 and also don't care if it is legacy or mainline; so the simple question is are there any plan to release a desktop image for the Zero +2 or does anyone know how to install a simple desktop on top of the Armbian legacy server image? One other observation with the current arrangement the eMMC seems slower than the MicroSD I originally copied the image to but I suspect (hope) this is because I I am not using the correct image for this board. Thanks in advance. BTW you may have gathered I am not a Linux guru and think that recompiling kernels is a bit beyond my capabilities at the moment. Horty
  21. I need 3 USB ports (webcam, wifi 5G, 3d printer). On Zero Plus 2 H3/H5 micro usb port is occupied by usb charger, because none of my devices can play as power source. So, only 2 usb ports left, not enougth. Is it possible to make micro usb useable somehow? For example, via custom usb cable etc. I need micro-usb male / micro usb male cable (OPI <-> 3d printer board) + supply power somehow. PS. i don't like to add external usb hub.
  22. I have seen this old thread but since last post was long time ago and it was shell based I decided to go with new one ... I have the udev setup (you can see some old versions inside commented out too) root@orangepizeroplus2:~# cat /etc/udev/rules.d/60-python-pifacecommon.rules #KERNEL=="spidev*", GROUP="gpio", MODE="0660" #SUBSYSTEM=="gpio*", ACTION=="add|change", RUN+="/usr/bin/find /sys/class/gpio -exec /bin/chmod g+u {} + -exec /bin/chown :gpio {} +" #KERNEL=="gpio*", GROUP="gpio", MODE="0660" #SUBSYSTEM=="gpio*", ACTION=="add|change", RUN+="/usr/bin/find /sys/class/gpio -exec /bin/chmod g+u {} + -exec /bin/chown :gpio {} +" KERNEL=="spidev*", GROUP="gpio", MODE="0660" KERNEL=="gpio*", MODE:="0660", GROUP:="gpio" SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c '\ chown -R root:gpio /sys/class/gpio ; \ chmod -R 777 /sys/class/gpio ;\ chown -R root:gpio /sys/devices/virtual/gpio ;\ chmod -R 777 /sys/devices/virtual/gpio; \ chown -R root:gpio /sys/devices/platform/soc/*.gpio/gpio ;\ chmod -R 777 /sys/devices/platform/soc/*.gpio/gpio; \ chmod -R 777 /sys/class/gpio/gpio1/* ;\ chgrp gpio /sys/class/gpio/gpio1/* ;\ chgrp -R gpio /sys/devices/platform/sunxi-pinctrl/gpio ;\ chmod -R ug+rw /sys/devices/platform/sunxi-pinctrl/gpio ' " #SUBSYSTEM=="gpio", PROGRAM="/bin/sh -c '/bin/chown -R root:gpio /sys/devices/soc.0/*pinctrl/gpio'" #SUBSYSTEM=="gpio", PROGRAM="/bin/sh -c '/bin/chmod -R ug+rw /sys/devices/soc.0/*pinctrl/gpio'" root@orangepizeroplus2:~# and when I do it step by step from shell I kinda get it working but a simple GPIO.setmode(GPIO.BOARD) GPIO.setup(self.pin, GPIO.IN) fails .. depending on the number of restarts it fails on /sys/class/gpio/gpio1/direction or in one other file there .. python user is in gpio group, all files are 777... IOError: [Errno 13] Permission denied: '/sys/class/gpio/gpio1/direction' root@orangepizeroplus2:~# ls -la /sys/class/gpio/gpio1/direction -rwxrwxrwx 1 root gpio 4096 Sep 21 07:52 /sys/class/gpio/gpio1/direction looks like some race, OPi:GPIO is trying to access them faster then udev is chowning and chmoding files... I'm banging my head for days no more ideas system is: Welcome to ARMBIAN 5.32 user-built Debian GNU/Linux 8 (jessie) 3.4.113-sun8i root@orangepizeroplus2:~# uname -a Linux orangepizeroplus2 3.4.113-sun8i #4 SMP PREEMPT Thu Sep 21 03:24:39 CEST 2017 armv7l GNU/Linux I can change the system to any other one (other kernel, other whatever..) if that will help, I was going with the older kernel hoping this will solve the problem, having identical problem with Welcome to ARMBIAN 5.27 stable Debian GNU/Linux 8 (jessie) 4.10.11-sun8i root@orangepione:~# uname -a Linux orangepione 4.10.11-sun8i #2 SMP Tue Apr 18 17:55:20 CEST 2017 armv7l GNU/Linux so, if anyone have any idea what to try I'd really appreciate some help
  23. Hey guys, I would like to interface a small RGB24 LCD on the H3 GPIO, similar to this on raspberry pi : https://www.raspberrypi.org/documentation/hardware/raspberrypi/dpi/README.md http://blog.reasonablycorrect.com/raw-dpi-raspberry-pi Is this feature already present on armbian device tree overlay? If no, how would one make it? Could someone help drawing the big picture so I know where to start? After having a look at this section : https://docs.armbian.com/Hardware_Allwinner_overlays/ I understand that it would require writing a dt overlay (.dts file) to attribute the different functions to the GPIOs. But then how to write the functions? I am quite familiar with the LCD datasheet and RGB pins function, the part that is still mistery for me is the driver writing: what file format? what programming language? where to drop the file? Thanks! Pierre
  24. The documentation on the Orange Pi Zero Plus 2 is somewhat scarce. I couldn't find information on the GPIO map for the 26-pin header anywhere, but I manually mapped it. I did this with an LED on each successive pin and testing through the /sys/class/gpio driver until I found the one to control it. This caused a bunch of resets and eventually corrupted my sd card, but I got the info Each of the numbers below is the GPIO number used for /sys/class/gpio. For example, 110 means gpio110. The list is by pin number from 1 to 26. A value of -1 means unavailable (as far as I could discover): -1, -1, 12, -1 (pin 1,2,3,4) 11,-1,6,0 (pin 5,6,7,8) -1,1,352,107 (pin 9,10,11,12) 353,-1,3,19 (pin 13,14,15,16) -1,18,-1,-1 (pin 17,18,19,20) -1,2,14,13 (pin 21,22,23,24) -1,110 (pin 25, 26) I've added this table to my SPI_LCD project to make it easier to use for generic GPIO access without having know the details of working with the sysfs kernel driver: https://github.com/bitbank2/SPI_LCD P.S. The red LED on the board is mapped to GPIO17
  25. Hi, I am new to Orange Pi, Armbian and this forum. Done lots of Raspberry Pi and other Linux stuff. Can someone tell me if the Orange Pi Zero Plus 2 H3 & H5 boards are supported by armbian? They are available on Aliexpress here(H3) and here(H5). They are not listed on the download page, but are listed in this post. Also, if they are supported, is it better choosing the H3 or H5 variant? Seems to me like the H3 might have better software support, and might be the better choice.
  • Create New...