Jump to content

g40

Members
  • Posts

    66
  • Joined

  • Last visited

Posts posted by g40

  1. On 1/1/2019 at 2:18 PM, martinayotte said:

    I will investigate when I get chance, time is the missing ingredient ...

     

    Hi Martin

     

    I've been playing with the 2018.11 release of U-Boot. The problem with not finding USB devices on busses > 0 seems to have been fixed. Annoyingly the device tree has been completely revised so there is a deal of patching to be done.

     

    I also got u-boot network support enabled in 2018.05 with some device tree changes. 

     

    I'll try and get patches out  in due course. LMK if you'd like the changes.

     

    Thanks for all the help. 

  2. I'm trying to get TFTP support into U-Boot but it insists that 'no ethernet found'. I've added a couple of nodes to the device tree such that it has 'status = "okay" and mac-address = [00 00 00 00 00 00];

     

    I've also added a top level alias in sun50i-h5-nanopi-k1-plus.dts (as added by @martinayotte following this thread) as below. 

     

    Not sure if the U-Boot config needs changing in any way but the network components are certainly being built.

     

    Any thoughts most welcome. AATIA.

     

    	aliases {
    		serial0 = &uart0;
    		ethernet0 = &emac;
    	};

    U-Boot dump of the loaded DTB on running system follows:

    => bdinfo
    arch_number = 0x00000000
    boot_params = 0x40000100
    DRAM bank   = 0x00000000
    -> start    = 0x40000000
    -> size     = 0x80000000
    baudrate    = 115200 bps
    TLB addr    = 0xBFFF0000
    relocaddr   = 0xBDF4B000
    reloc off   = 0x73F4B000
    irq_sp      = 0xB9F27590
    sp start    = 0xB9F27590
    Early malloc usage: 2d8 / 400
    fdt_blob = 00000000b9f275a8
    => fdt addr  00000000b9f275a8
    => fdt print ethernet0
    ethernet@1c30000 {
            compatible = "allwinner,sun8i-h3-emac";
            syscon = <0x0000000e>;
            reg = <0x01c30000 0x00010000>;
            interrupts = <0x00000000 0x00000052 0x00000004>;
            interrupt-names = "macirq";
            resets = <0x00000005 0x0000000c>;
            reset-names = "stmmaceth";
            clocks = <0x00000005 0x0000001b>;
            clock-names = "stmmaceth";
            #address-cells = <0x00000001>;
            #size-cells = <0x00000000>;
            status = "okay";
            mac-address = [00 00 00 00 00 00];
            mdio {
                    #address-cells = <0x00000001>;
                    #size-cells = <0x00000000>;
                    compatible = "snps,dwmac-mdio";
                    phandle = <0x0000000f>;
            };
            mdio-mux {
                    compatible = "allwinner,sun8i-h3-mdio-mux";
                    #address-cells = <0x00000001>;
                    #size-cells = <0x00000000>;
                    mdio-parent-bus = <0x0000000f>;
                    mdio@1 {
                            compatible = "allwinner,sun8i-h3-mdio-internal";
                            reg = <0x00000001>;
                            #address-cells = <0x00000001>;
                            #size-cells = <0x00000000>;
                            ethernet-phy@1 {
                                    compatible = "ethernet-phy-ieee802.3-c22";
                                    reg = <0x00000001>;
                                    clocks = <0x00000005 0x00000043>;
                                    resets = <0x00000005 0x00000027>;
                            };
                    };
                    mdio@2 {
                            reg = <0x00000002>;
                            #address-cells = <0x00000001>;
                            #size-cells = <0x00000000>;
                    };
            };
    };

     

  3. So this is failing for some odd reason. Armbian command line configuration is:

     

    /compile.sh BOARD=nanopik1plus BRANCH=next KERNEL_ONLY=no KERNEL_CONFIGURE=no RELEASE=jessie BUILD_DESKTOP=no ROOTFS_TYPE=fel

     

    FEL device mode is activated:

     

    @ubuntu-1804:~$ lsusb
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 005: ID 1f3a:efe8 Onda (unverified) V972 tablet in flashing mode
    Bus 002 Device 004: ID 0e0f:0008 VMware, Inc. 

    Armbian interaction is then ...

    [ o.k. ] Calling image customization script [ customize-image.sh ]
    [ o.k. ] Starting FEL boot [ nanopik1plus ]
    [ o.k. ] Connect device in FEL mode and press [ <Enter> ]
    
    [ o.k. ] Loading files via [ FEL USB ]
    Failed to open input file: No such file or directory
    [ o.k. ] Press any key to boot again, <q> to finish [ FEL ]
    
    
    [ o.k. ] Connect device in FEL mode and press [ <Enter> ]
    
    [ o.k. ] Loading files via [ FEL USB ]
    Failed to open input file: No such file or directory
    [ o.k. ] Press any key to boot again, <q> to finish [ FEL ]

     

  4. Hello Martin

     

    u-boot is detecting the OHCI/EHCI controllers. But it is only finding storage attached to USB0. In this case a USB=>SD card adapter.  If I swap the thumb drive into USB0 and and SD adapter into USB2 or 4, it gets correctly identified. It's slightly annoying but definitely not a show-stopper.

     

    => usb reset
    resetting USB...
    EHCI failed to shut down host controller.
    EHCI failed to shut down host controller.
    USB0:   USB EHCI 1.00
    USB1:   USB OHCI 1.0
    USB2:   USB EHCI 1.00
    USB3:   USB OHCI 1.0
    USB4:   USB EHCI 1.00
    USB5:   USB OHCI 1.0
    scanning bus 0 for devices... 2 USB Device(s) found
    scanning bus 2 for devices... 1 USB Device(s) found
    scanning bus 4 for devices... 1 USB Device(s) found
           scanning usb for storage devices... 1 Storage Device(s) found
    
    => usb storage
      Device 0: Vendor: Mass     Rev: 1.00 Prod: Storage Device
                Type: Removable Hard Disk
                Capacity: 7580.0 MB = 7.4 GB (15523840 x 512)
    
    => usb storage
      Device 0: Vendor: SanDisk Rev: 1.00 Prod: Cruzer Blade
                Type: Removable Hard Disk
                Capacity: 7632.0 MB = 7.4 GB (15630336 x 512)

     

  5. Hi Martin. So, this is really good. I can now get the board to boot from the USB 1 connector on the K1 board (this is the single socket on the board pictured below). The actual USB device is in fact a USB=>SD card adapter, which is rather useful for comparison.

     

    One more question if I may. Does the DT control which USB interface is used? Repeating the exercise above with a card plugged into USB 2 or 3 does not work. `usb storage` does not detect any devices.

     

    *Many* thanks for your help here.

     

    FA NanoPi K1

     

  6. Hello Martin,

     

    Many thanks. Having tried both an update and a clean armbian build I get the same build failure. 

     

    There is indeed no config in `build/cache/sources/u-boot/v2018.05/configs`

     

    Please let me know if you'd like to see any logs etc.

     

    Built build/sun50i_a64/debug/bl31.bin successfully
    
    [ o.k. ] Cleaning [ u-boot/v2018.05 ]
    [ o.k. ] Compiling u-boot [ 2018.05 ]
    [ o.k. ] Compiler version [ aarch64-linux-gnu-gcc 7.2.1 ]
    [ .... ] Checking out sources 
    [ o.k. ] Cleaning [ u-boot/v2018.05 ]
    [ o.k. ] Started patching process for [ u-boot sunxi64-nanopik1plus-next ]
    [ o.k. ] Looking for user patches in [ userpatches/u-boot/u-boot-sunxi ]
    [ o.k. ] * [l][c] 0020-sunxi-call-fdt_fixup_ethernet-again-to-set-macaddr-f.patch 
    [ o.k. ] * [l][c] 4kfix-limit-screen-to-full-hd.patch 
    [ o.k. ] * [l][c] Merrii_Hummingbird_A20.patch 
    [ o.k. ] * [l][c] add-a20-olinuxino-micro-emmc-support.patch 
    [ o.k. ] * [l][c] add-a20-optional-eMMC.patch 
    [ o.k. ] * [l][c] add-awsom-defconfig.patch 
    [ o.k. ] * [l][c] add-bananapi-bpi-zero.patch 
    [ o.k. ] * [l][c] add-beelink-x2.patch 
    [ o.k. ] * [l][c] add-emmc_support_to_neo1_and_2.patch 
    [ o.k. ] * [l][c] add-nanopi-air-emmc.patch 
    [ o.k. ] * [l][c] add-nanopi-duo.patch 
    [ o.k. ] * [l][c] add-nanopi-m1-plus2-emmc.patch 
    [ o.k. ] * [l][c] add-nanopineoplus2.patch 
    [ o.k. ] * [l][c] add-orangepi-plus2-emmc.patch 
    [ o.k. ] * [l][c] add-orangepi-zero-usb-boot-support.patch 
    [ o.k. ] * [l][c] add-orangepi-zeroplus.patch 
    [ o.k. ] * [l][c] add-orangepi-zeroplus2_h3.patch 
    [ o.k. ] * [l][c] add-sunvell-r69.patch 
    [ o.k. ] * [l][c] add-tritium-series.patch 
    [ o.k. ] * [l][c] add-xx-boot-auto-dt-select-neo2.patch 
    [ warn ] * [l][c] add-xx-nanopi-k1-plus-emmc.patch [ failed ]
    [ o.k. ] * [l][c] add-xx-nanopineocore2.patch 
    [ o.k. ] * [l][c] add_emmc_olinuxino_a64.patch 
    [ o.k. ] * [l][c] add_emmc_orangepiwin.patch 
    [ o.k. ] * [l][c] adjust-default-dram-clockspeeds.patch 
    [ o.k. ] * [l][c] adjust-small-boards-cpufreq.patch 
    [ o.k. ] * [l][c] enable-DT-overlays-support.patch 
    [ o.k. ] * [l][c] enable-autoboot-keyed.patch 
    [ o.k. ] * [l][c] enable-ethernet-orangepiprime.patch 
    [ o.k. ] * [l][c] enable-r_pio-gpio-access-h3-h5.patch 
    [ o.k. ] * [l][c] fdt-setprop-fix-unaligned-access.patch 
    [ o.k. ] * [l][c] fix-usb1-vbus-opiwin.patch 
    [ o.k. ] * [l][c] h3-Fix-PLL1-setup-to-never-use-dividers.patch 
    [ o.k. ] * [l][c] h3-enable-power-led.patch 
    [ o.k. ] * [l][c] h3-set-safe-axi_apb-clock-dividers.patch 
    [ o.k. ] * [l][c] lower-default-DRAM-freq-A64-H5.patch 
    [ o.k. ] * [l][c] sun8i-set-machid.patch 
    [ o.k. ] * [l][c] sunxi-boot-splash.patch 
    [ o.k. ] * [l][b] workaround-reboot-is-poweroff-olimex-a20.patch 
    '/home/jevans/src/armbian-build/.tmp/atf-sunxi64-nanopik1plus-next/bl31.bin' -> './bl31.bin'
      HOSTCC  scripts/basic/fixdep
      SHIPPED scripts/kconfig/zconf.tab.c
      SHIPPED scripts/kconfig/zconf.lex.c
      HOSTCC  scripts/kconfig/conf.o
      SHIPPED scripts/kconfig/zconf.hash.c
      HOSTCC  scripts/kconfig/zconf.tab.o
      HOSTLD  scripts/kconfig/conf
    ***
    *** Can't find default configuration "arch/../configs/nanopi_k1_plus_defconfig"!
    ***
    scripts/kconfig/Makefile:119: recipe for target 'nanopi_k1_plus_defconfig' failed
    make[1]: *** [nanopi_k1_plus_defconfig] Error 1
    Makefile:478: recipe for target 'nanopi_k1_plus_defconfig' failed
    make: *** [nanopi_k1_plus_defconfig] Error 2
    sed: can't read .config: No such file or directory
    scripts/kconfig/conf  --silentoldconfig Kconfig
    ***
    *** Configuration file ".config" not found!
    ***
    *** Please run some configurator (e.g. "make oldconfig" or
    *** "make menuconfig" or "make xconfig").
    ***
    scripts/kconfig/Makefile:44: recipe for target 'silentoldconfig' failed
    make[2]: *** [silentoldconfig] Error 1
    Makefile:478: recipe for target 'silentoldconfig' failed
    make[1]: *** [silentoldconfig] Error 2
    make: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/uboot.release'.  Stop.
    [ error ] ERROR in function compile_uboot [ compilation.sh:175 ]
    [ error ] U-boot compilation failed 
    [ o.k. ] Process terminated 

     

  7. Hello Martin

     

    Let me paste better info then. Using master from armbian/build, UART spew below. How come no network or USB controllers? What else do I need to enable in the u-boot .config? Or is this because something is disabled in the DTB? 

     

    TIA.

     

    U-Boot SPL 2018.05-armbian (Dec 29 2018 - 13:49:33 +0000)
    DRAM: 2048 MiB
    Trying to boot from sunxi SPI
    NOTICE:  BL31: v2.0(debug):c876582
    NOTICE:  BL31: Built : 13:49:30, Dec 29 2018
    NOTICE:  BL31: Detected Allwinner H5 SoC (1718)
    NOTICE:  BL31: Found U-Boot DTB at 0x407ecc8, model: FriendlyARM NanoPi K1 plus
    INFO:    ARM GICv2 driver initialized
    INFO:    Configuring SPC Controller
    NOTICE:  BL31: PMIC: Defaulting to PortL GPIO according to H5 reference design.
    INFO:    BL31: Platform setup done
    INFO:    BL31: Initializing runtime services
    INFO:    BL31: cortex_a53: CPU workaround for 855873 was applied
    INFO:    BL31: Preparing for EL3 exit to normal world
    INFO:    Entry point address = 0x4a000000
    INFO:    SPSR = 0x3c9
    
    
    U-Boot 2018.05-armbian (Dec 29 2018 - 13:49:33 +0000) Allwinner Technology
    
    CPU:   Allwinner H5 (SUN50I)
    Model: FriendlyARM NanoPi K1 plus
    DRAM:  2 GiB
    MMC:   SUNXI SD/MMC: 0, SUNXI SD/MMC: 1
    Loading Environment from EXT4... MMC: no card present
    ** Bad device mmc 0 **
    Failed (-5)
    In:    serial
    Out:   serial
    Err:   serial
    Net:   No ethernet found.
    MMC: no card present
    ** Bad device mmc 0 **
    MMC: no card present
    ** Bad device mmc 0 **
    starting USB...
    No controllers found
    Autoboot in 1 seconds, press <Space> to stop

     

  8. Thank you Martin,

     

    I have u-boot getting to the media detection stage[1]. This is a FriendlyArm K1 (H5) with some externally attached SPI flash which is all working nicely.

     

    My problem seems to be getting USB support enabled in u-boot.  Whatever .config options I have tried so far fail with section overflows and/or unresolved externals. 

     

    [1]

    Trying to boot from sunxi SPI
    NOTICE:  BL3-1: Running on H5 (1718) in SRAM A2 (@0x44000)
    NOTICE:  Configuring SPC Controller
    NOTICE:  BL3-1: v1.0(debug):0fc0ec6
    NOTICE:  BL3-1: Built : 14:33:21, Dec  8 2017
    INFO:    BL3-1: Initializing runtime services
    INFO:    BL3-1: Preparing for EL3 exit to normal world
    INFO:    BL3-1: Next image address: 0x4a000000, SPSR: 0x3c9
    
    
    U-Boot 2017.11-g80aa199f5a (Nov 28 2018 - 13:50:53 +0000) Allwinner Technology
    
    CPU:   Allwinner H5 (SUN50I)
    Model: FriendlyElec NanoPi H5
    DRAM:  2 GiB
    Sy8106a: 1200mv
    CPU Freq: 1008MHz
    MMC:   SUNXI SD/MMC: 0, SUNXI SD/MMC: 1
    MMC: no card present
    mmc_init: -123, time 2
    *** Warning - MMC init failed, using default environment
    
    ERROR: unsupported boot mmc 3

     

  9. I think this is all out of date. I am running a 4.16 on FriendlyArm H3 and H5 boards which all have CSI enabled and working OV5640 hardware. These are the FA CAM500B models.

     

    A set of patches was posted to the V4L list some months back with a CSI driver and subsequent device tree mods.

     

    The CSI/OV drivers are enabled (and built-in) in the latest FA distros. Should be trivial to port to the Armbian set ups.

     

    FWIW my experience with the OPi camera was _terrible_. Apart from being limited to 2MP max, they never 'worked' at better than VGA and image quality was appalling. 

     

    HTH.

  10. Greetings. For anyone interested FriendlyArm have a Github repo which contains a working AW CSI driver. and has device tree files for NanoPi M1+ and Neo Air. 

     

    See https://github.com/friendlyarm/linux.git. The branch is sunxi-4.16.y

     

    This is a work in progress but the setup is vastly simplified compared to the VFE subsystem in the 3.4/3.10 kernels. The OV5640 driver does produce video but I'm getting some odd images at the moment. Possibly colorspace related.

     

    As a bonus USB OTG is also working ...

    fa@FriendlyELEC:~/src$ v4l2-compliance
    Driver Info:
            Driver name   : sun6i-video
            Card type     : sun6i-csi
            Bus i[59399.088082] sun6i-csi 1cb0000.camera: =================  START STATUS  =================
    nfo      : platform:camera
            Driver version: 4.16.0
            Capabiliti[59399.102740] sun6i-csi 1cb0000.camera: ==================  END STATUS  ==================
    es  : 0x84200001
                    Video Capture
                    Streaming
                    Extended Pix Format
                    Device Capabilities
            Device Caps   : 0x04200001
                    Video Capture
                    Streaming
                    Extended Pix Format
    
    Compliance test for device /dev/video0 (not using libv4l2):
    
    Required ioctls:
            test VIDIOC_QUERYCAP: OK
    
    Allow for multiple opens:
            test second video open: OK
            test VIDIOC_QUERYCAP: OK
            test VIDIOC_G/S_PRIORITY: OK
    
    Debug ioctls:
            test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
            test VIDIOC_LOG_STATUS: OK
    
    Input ioctls:
            test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
            test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
            test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
            test VIDIOC_ENUMAUDIO: OK (Not Supported)
            test VIDIOC_G/S/ENUMINPUT: OK
            test VIDIOC_G/S_AUDIO: OK (Not Supported)
            Inputs: 1 Audio Inputs: 0 Tuners: 0
    
    Output ioctls:
            test VIDIOC_G/S_MODULATOR: OK (Not Supported)
            test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
            test VIDIOC_ENUMAUDOUT: OK (Not Supported)
            test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
            test VIDIOC_G/S_AUDOUT: OK (Not Supported)
            Outputs: 0 Audio Outputs: 0 Modulators: 0
    
    Input/Output configuration ioctls:
            test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
            test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
            test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
            test VIDIOC_G/S_EDID: OK (Not Supported)
    
    Test input 0:
    
            Control ioctls:
                    test VIDIOC_QUERYCTRL/MENU: OK
                    test VIDIOC_G/S_CTRL: OK
                    test VIDIOC_G/S/TRY_EXT_CTRLS: OK
                    test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
                    test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
                    Standard Controls: 14 Private Controls: 0
    
            Format ioctls:
                    fail: v4l2-test-formats.cpp(259): duplicate format 32314d48
                    test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: FAIL
                    test VIDIOC_G/S_PARM: OK (Not Supported)
                    test VIDIOC_G_FBUF: OK (Not Supported)
                    fail: v4l2-test-formats.cpp(314): !colorspace
                    fail: v4l2-test-formats.cpp(417): testColorspace(pix.pixelformat, pix.colorspace)
                    test VIDIOC_G_FMT: FAIL
                    test VIDIOC_TRY_FMT: OK (Not Supported)
                    test VIDIOC_S_FMT: OK (Not Supported)
                    test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
    
            Codec ioctls:
                    test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
                    test VIDIOC_G_ENC_INDEX: OK (Not Supported)
                    test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
    
            Buffer ioctls:
                    test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
                    fail: v4l2-test-buffers.cpp(500): q.has_expbuf(node)
                    test VIDIOC_EXPBUF: FAIL
    
    
    Total: 38, Succeeded: 35, Failed: 3, Warnings: 0

     

  11. Using Armbian 5.33.  What am I missing? I know the hardware is good as I've had this working before.

     

    The modules listed in /etc/modules include hci_uart which is missing. When and how is this built? It does not appear in the 3.4.113 kernel menuconfig options 

     

    TAIA

     

    Jerry

    $ uname -a
    Linux nanopiair 3.4.113-sun8i #22 SMP PREEMPT Mon Sep 25 13:11:21 BST 2017 armv7l GNU/Linux
    
    # this did work!
    $sudo nmcli r wifi on
    $sudo nmcli dev wifi  # lists available WAP's
    $sudo nmcli dev wifi connect <WAP name> password <your password here>

     

  12. @perfstr Good to know you had this working. By any chance do you still have the .config? My Windows host gets as far as installing the driver then fails trying to get a device descriptor. Device side (H3 powered NanoPi Air) reports below

     

    TAIA

     

    ```

    @nanopiair:/test/gadget_usb$ sudo gadget_usb -v
    /dev/gadget/sunxi_usb_udc ep0 configured
    serial="mjqebex15vip4cq2dptcpzak8f508n36z1ulgiqmwe5lgfborb0a5sj4x4xb40a"

    ** Mon Sep 18 14:01:55 2017
    CONNECT high speed
    SETUP 80.06 v03ee i0000 18
    ... protocol stall 80.06
    SETUP 80.06 v0303 i0409 255
    SETUP 80.06 v0300 i0000 255
    SETUP 80.06 v0300 i0000 257
    read 2 ep0 events
    DISCONNECT
    SUSPEND
    CONNECT high speed
    read 2 ep0 events
    DISCONNECT
    SUSPEND
    ```

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines