Alternative firmware for IP cameras based on the HiSilicon (and other) SoC's

Overview

OpenIPC v2.1 (experimental, buildroot based..)

Alternative firmware for IP cameras based on the HiSilicon (and other) SoC's

More information about the project is available in our Wiki and Site


Supporting

If you like our work, please consider supporting us on Opencollective or PayPal or YooMoney.

Backers Backers

Backers

Thanks a lot !!!

OpenCollective donate button PayPal donate button YooMoney donate button


Downloads (for research only, no any guarantees)

Building status SoC Files Maintainers Notes
Image Hi3516Ev200 uImage + rootfs.squashfs zigfisher, widgetii OK
Image Hi3516Ev300 uImage + rootfs.squashfs zigfisher, widgetii OK
Image Hi3518Ev300 uImage + rootfs.squashfs zigfisher, widgetii OK
Image SSC335 uImage + rootfs.squashfs zigfisher no video
Image XM530/XM550 uImage + rootfs.squashfs zigfisher no video
Comments
  • No video output from HI3516EV300_IMX335

    No video output from HI3516EV300_IMX335

    Hi, I have just installed OpenIPC onto a camera here and I am getting no image out of the device.

    root@openipc-hi3516ev300:~# ipctool
    ---
    board:
      vendor: OpenIPC
      version: 2.2.11.17
    chip:
      vendor: HiSilicon
      model: 3516EV300
      id: 002836877e0038f94a3d0fac66894d1320e5c200111525e3
    ethernet:
      mac: "8a:31:1e:76:bf:49"
      u-mdio-phyaddr: 1
      phy-id: 0x20669903
      d-mdio-phyaddr: 0
    rom:
      - type: nor
        block: 64K
        partitions:
          - name: boot
            size: 0x40000
            sha1: 3f34dd7a
          - name: env
            size: 0x10000
            sha1: 55b73783
            contains:
              - name: uboot-env
                offset: 0x0
          - name: kernel
            size: 0x200000
            sha1: 61d6a081
          - name: rootfs
            size: 0x500000
            sha1: 977d52a9
          - name: rootfs_data
            size: 0xb0000
            path: /overlay,jffs2,rw
        size: 8M
        addr-mode: 3-byte
    ram:
      total: 128M
      media: 96M
    firmware:
      kernel: "4.9.37 (Thu Nov 17 10:40:29 UTC 2022)"
      toolchain: gcc version 8.4.0 (Buildroot -gff5aa3b6-dirty) 
      sdk: "Hi3516EV200_MPP_V1.0.1.2 B030 Release (Oct 18 2019, 18:21:00)"
      main-app: /usr/bin/majestic
    sensors:
    - vendor: Sony
      model: IMX335
      control:
        bus: 0
        type: i2c
        addr: 0x34
      data:
        type: MIPI
        input-data-type: DATA_TYPE_RAW_10BIT
        lane-id:
        - 0
        - 1
        - 2
        - 3
        image: 2592x1520
      clock: 37.125MHz
    
    root@openipc-hi3516ev300:~# fw_printenv
    arch=arm
    baseaddr=0x42000000
    baudrate=115200
    board=hi3516ev300
    board_name=hi3516ev300
    bootargsnfs=mem=${osmem} console=ttyAMA0,115200 panic=20 root=/dev/nfs rootfstype=nfs ip=${ipaddr}:::255.255.255.0::eth0 nfsroot=${serverip}:${nfsroot},v3,nolock rw ${extras}
    bootargsubi=mem=${osmem} console=ttyAMA0,115200 panic=20 init=/init root=ubi0:rootfs rootfstype=ubifs ubi.mtd=3,2048 mtdparts=${mtdparts} ${extras}
    bootcmd=setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read ${baseaddr} 0x50000 0x300000; bootm ${baseaddr}
    bootcmdnand=setenv setargs setenv bootargs ${bootargs}; run setargs; nand read ${baseaddr} 0x100000 0x300000; bootm ${baseaddr}
    bootcmdnor=setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read ${baseaddr} 0x50000 0x300000; bootm ${baseaddr}
    bootcmdubi=setenv setargs setenv bootargs ${bootargsubi}; run setargs; nand read ${baseaddr} 0x100000 0x300000; bootm ${baseaddr}
    bootdelay=1
    bootnfs=setenv setargs setenv bootargs ${bootargsnfs}; run setargs; tftpboot ${baseaddr} uImage.${soc}; bootm ${baseaddr}
    cpu=armv7
    ethact=eth0
    ethaddr=8a:31:1e:76:bf:49
    gatewayip=192.168.1.1
    ipaddr=192.168.30.164
    mtdparts=hi_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)
    mtdpartsnand=setenv mtdparts hinand:256k(boot),768k(wtf),3072k(kernel),10240k(rootfs),-(rootfs_data)
    mtdpartsnor16m=setenv mtdparts hi_sfc:256k(boot),64k(env),3072k(kernel),10240k(rootfs),-(rootfs_data)
    mtdpartsnor8m=setenv mtdparts hi_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)
    mtdpartsubi=setenv mtdparts hinand:256k(boot),768k(wtf),3072k(kernel),-(ubi)
    netmask=255.255.255.0
    nfsroot=/srv/nfs/hi3516ev300
    osmem=32M
    serverip=192.168.30.173
    setargs=setenv bootargs mem=${osmem} console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=${mtdparts} ${extras}
    setnand=run mtdpartsubi; setenv bootcmd ${bootcmdubi}; saveenv; reset
    setnor16m=run mtdpartsnor16m; setenv bootcmd ${bootcmdnor}; saveenv; reset
    setnor8m=run mtdpartsnor8m; setenv bootcmd ${bootcmdnor}; saveenv; reset
    soc=hi3516ev300
    stderr=serial
    stdin=serial
    stdout=serial
    totalmem=128M
    uknand=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} uImage.${soc} && nand erase 0x100000 0x300000; nand write ${baseaddr} 0x100000 0x300000
    uknor16m=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} uImage.${soc} && sf probe 0; sf erase 0x50000 0x300000; sf write ${baseaddr} 0x50000 ${filesize}
    uknor8m=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} uImage.${soc} && sf probe 0; sf erase 0x50000 0x200000; sf write ${baseaddr} 0x50000 ${filesize}
    urnand=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} rootfs.ubi.${soc} && nand erase 0x400000 0x7c00000; nand write ${baseaddr} 0x400000 ${filesize}
    urnor16m=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} rootfs.squashfs.${soc} && sf probe 0; sf erase 0x350000 0xa00000; sf write ${baseaddr} 0x350000 ${filesize}
    urnor8m=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} rootfs.squashfs.${soc} && sf probe 0; sf erase 0x250000 0x500000; sf write ${baseaddr} 0x250000 ${filesize}
    vendor=hisilicon
    verify=n
    bootargs=mem=128M console=ttyAMA0,115200 panic=20 rootfstype=squashfs root=/dev/mtdblock3 init=/init mtdparts=hi_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data) mmz_allocator=cma mmz=anonymous,0,0x42000000,96M
    sensor=imx335
    

    output of majestic

    14:02:22  <       majestic> [    main] main@125                      Majestic Lite for HiSilicon, version HEAD+710e284, built on 2022-11-17
    14:02:22  <       majestic> [app_conf] load_config@89                Using /etc/majestic.yaml as main configuration
    14:02:23  <       majestic> [watchdog] watchdog_start@101            Detected Watchdog
    14:02:23  <       majestic> [watchdog] watchdog_start@121            Watchdog timeout set to 10 seconds
    14:02:23  <       majestic> [     sdk] try_sensor_config@3234        SENSOR=imx335
    14:02:23  <       majestic> [     sdk] find_sensor_config@3197       matched sensor config: imx335_i2c_4M.ini
    14:02:23  <       majestic> [     sdk] start_sdk@403                 Using /etc/sensors/imx335_i2c_4M.ini sensor configuration file
    14:02:23  <       majestic> [     sdk] start_sdk@412                 App was built with MPP version: Hi3516EV200_MPP_V1.0.1.2.B030 Release
    14:02:23  <       majestic> [     sdk] start_sdk@415                 Current MPP version: HI_VERSION=Hi3516EV200_MPP_V1.0.1.2 B030 Release
    14:02:23  <       majestic> [     sdk] start_sdk@436                 sensor stSnsImx335Obj
    14:02:23  <       majestic> [     sdk] start_sdk@441                   input_mode MIPI, WDR NONE
    14:02:23  <       majestic> [     sdk] start_sdk@448                   dev [2592x1520]@200x20 25fps, RGGB
    14:02:23  <       majestic> [  sensor] try_to_load@19                trying to load /usr/lib/sensors/libsns_imx335.so
    14:02:23  <       majestic> [     hal] hisi_free_mem_ex@755          Free MMZ mem before allocation: 98272KB
    14:02:23  <       majestic> [     sdk] dump_vb_configuration@2151    VB configuration:
    14:02:23  <       majestic> [     sdk] dump_vb_configuration@2161      [0]: 5909760 x 5
    14:02:23  <       majestic> [     sdk] dump_vb_configuration@2161      [1]: 4924800 x 1
    14:02:23  <       majestic> [     hal] hisi_free_mem_ex@755          Free MMZ mem after allocation: 64592KB
    14:02:23  <       majestic> [     sdk] init_sensor@2347              Sensor driver loaded
    14:02:23  <       majestic> [     sdk] init_vi@2765                  SDK is in 'VI_OFFLINE_VPSS_ONLINE' mode
    14:02:23  <       majestic> [    puts]                               linear mode
    14:02:23  <       majestic> [    puts]                               binit false IMX335 i2c init
    14:02:23  <       majestic> [    puts]                               -------Sony IMX335_init_5M_2592x1944_12bit_linear30 Initial OK!-------
    14:02:23  <     iq_monitor> [     sdk] monitor_thread@332            Loading IQ profile /etc/sensors/iq/default.ini
    14:02:23  <       majestic> [     sdk] log_venc_chn@1245             H.265 2592x1520 25fps 4096Kbit  25 GOP
    14:02:23  <       majestic> [     sdk] create_vpss_chn@992             new venc: 0   vpss_grp: 0,   vpss_chn: 0
    14:02:23  <       majestic> [     hal] show_blocks@686                 allocated Ct x 1=40, Str x 1=2896, PInfo x 2=616, Rcn x 2=11752
    14:02:23  <       majestic> [     sdk] start_video@1901                venc took 15304KB of MMZ [2885]
    14:02:23  <       majestic> [image_tu] start_image_params_tuning@63  Image tuning task started
    14:02:23  <       majestic> [     sdk] start_sdk@548                 HiSilicon SDK started
    14:02:23  <       majestic> [     hal] hisi_free_mem_ex@755          Free MMZ mem finally: 42988KB
    14:02:23  <       majestic> [   httpd] new_http_server@370           HTTP server started on :::80
    14:02:23  <       majestic> [    rtsp] rtsp_init@31                  RTSP server started on port 554
    14:02:23  <       majestic> [   netip] netip_start@2051              NETIP server started on port 34567
    14:02:25  <       majestic> [     sdk] venc_read@916                 Timeout get any data from venc channel 0
    14:02:25  <       majestic> [     sdk] venc_read@936                 NOTE: Current frame is NULL!
    14:02:27  <       majestic> [     sdk] venc_read@916                 Timeout get any data from venc channel 0
    14:02:27  <       majestic> [     sdk] venc_read@936                 NOTE: Current frame is NULL!
    14:02:29  <       majestic> [     sdk] venc_read@916                 Timeout get any data from venc channel 0
    14:02:29  <       majestic> [     sdk] venc_read@936                 NOTE: Current frame is NULL!
    14:02:31  <       majestic> [     sdk] venc_read@916                 Timeout get any data from venc channel 0
    14:02:31  <       majestic> [     sdk] venc_read@936                 NOTE: Current frame is NULL!
    14:02:33  <       majestic> [     sdk] venc_read@916                 Timeout get any data from venc channel 0
    14:02:33  <       majestic> [     sdk] venc_read@936                 NOTE: Current frame is NULL!
    ^C14:02:34  <       majestic> [     log] printf@268                    Interrupt signal received
    14:02:36  <  thread-pool-1> [     hal] take_yuv420sp_video_fram@1156 Cannot get chn 0 frame for vpssGrp=0
    14:02:36  <  thread-pool-1> [     hal] take_yuv420sp_video_fram@1156 ERR_VPSS_BUF_EMPTY: The picture queue is empty
    14:02:36  <  thread-pool-1> [image_co] image_control_compute_hist@99 Cannot take yuv420sp VI frame
    14:02:36  <  thread-pool-1> [image_co] image_control_compute_hist@99 ERR_VPSS_BUF_EMPTY: The picture queue is empty
    14:02:36  <  thread-pool-1> [image_tu] tune_image_params@186         get_histogram errored
    14:02:36  <      hi_logger> [    vpss] vpss_get_chnframe_check_w@401 vpss(0,0) user get frame time out, s32MilliSec=10000
    14:02:39  <  thread-pool-0> [     hal] take_yuv420sp_video_fram@1156 Cannot get chn 0 frame for vpssGrp=0
    14:02:39  <  thread-pool-0> [     hal] take_yuv420sp_video_fram@1156 ERR_VPSS_BUF_EMPTY: The picture queue is empty
    14:02:39  <  thread-pool-0> [image_co] image_control_compute_hist@99 Cannot take yuv420sp VI frame
    14:02:39  <  thread-pool-0> [image_co] image_control_compute_hist@99 ERR_VPSS_BUF_EMPTY: The picture queue is empty
    14:02:39  <  thread-pool-0> [image_tu] tune_image_params@186         get_histogram errored
    14:02:39  <      hi_logger> [    vpss] vpss_get_chnframe_check_w@401 vpss(0,0) user get frame time out, s32MilliSec=10000
    14:02:39  <       majestic> [     sdk] stop_chn@1942                 Stopped 0 channel
    14:02:39  <      hi_logger> [      vi] VI_WaitCaptureFrameStop@2280  Wait Pipe 0 Capture stop timeout 120ms!!!
    14:02:39  <       majestic> [     sdk] stop_sdk@3149                 Stop sdk Ok!
    14:02:39  <       majestic> [    main] main@209                      Shutdown main thread
    

    dmesg is filled with

    hibvt-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    hibvt-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    hibvt-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    hibvt-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    hibvt-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    hibvt-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    hibvt-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    hibvt-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    hibvt-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    hibvt-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    hibvt-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    hibvt-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    hibvt-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    hibvt-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    hibvt-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    
    opened by gnif 50
  • Bootloader flashing failed at 98%

    Bootloader flashing failed at 98%

    I have done BOOT loader flashing as per instructions for my HI3518EV200 and it failed at 98%. Now it is bricked. Could you please tell me what I did wrong and support in recovery.

    Logs below:

    hisilicon # sf probe 0 ; sf lock 0 16384 KiB hi_fmc at 0:0 is now current device unlock all block. hisilicon # mw.b 0x82000000 ff 0x50000 hisilicon # tftp 0x82000000 openwrt-hi35xx-18ev200-u-boot.bin Hisilicon ETH net controler MAC: 00-00-23-34-45-66 eth0 : phy status change : LINK=UP : DUPLEX=FULL : SPEED=100M TFTP from server 192.168.1.7; our IP address is 192.168.1.9 Download Filename 'openwrt-hi35xx-18ev200-u-boot.bin'. Download to address: 0x82000000 Downloading: ################################################# done Bytes transferred = 123532 (1e28c hex) hisilicon # sf erase 0x0 0x50000 Erasing at 0x50000 -- 100% complete. hisilicon # sf write 0x820000000 0x0 123532 Writing at 0x120000 -- 98% complete.

    Now it stuck and there is no fedback on UART. Only blank messages

    question u-boot 
    opened by KanG00 32
  • Driver for the sensor IMX385

    Driver for the sensor IMX385

    Hi, first I want to thank you for this wonderful project. I have a camera with 3516CV300 and a 1/1.8" Sony sensor IMX385. I have manged to install OpenIPC to the camera successfully, but only to find that the sensor IMX385 is not supported.

    I have found the driver source code for IMX385, but don't have the skills to cross-build the ko module, the driver source code can be found at https://github.com/ZigFisher/Glutinium/tree/master/hisi-sensors/src/sony_imx385__soc_v3

    I'm wondering if you can add the driver for IMX385 to this project, or if you can tell more about how to cross-compile the driver myself

    Thank you very much

    opened by gitgayhub 32
  • При ночном режиме картинка сиреневая

    При ночном режиме картинка сиреневая

    Screenshot_20220118_230815 Камеры 000529E9, 000529B2 Также в настройках прошивки при изменении переключателя nightmode ничего не происходит. Подсветка работает всегда когда темно, нет возможности ее отключить или изменить чувствительность

    majestic question 
    opened by esuslik 27
  • No network connection on Hi3516AV200

    No network connection on Hi3516AV200

    Hi, so this is the new camera with Hi3516AV200, IMX385, 1GB memory and 32MB flash. I flashed the newest OpenIPC image, it can boot into system without any problem, but without network access

    dmesg log show eth0 link is up, default mode is dhcp, but can't get an ip address from router, the ipaddr in uboot env is used instread as eth0 ip address, but there's no connection at all

    I modified /etc/network/interface to use static ip, but it's the same result, eth0 shows as up but no connection at all, ping gateway ip will time out

    dmesg: 
    IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    hi_gmac_v200 10050000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
    IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    
    
    U-Boot 2010.06 (Nov 29 2017 - 20:31:10)
    
    Check Flash Memory Controller v100 ... Found
    SPI Nor(cs 0) ID: 0xc2 0x20 0x19
    Block:64KB Chip:32MB Name:"MX25L(256/257)XX"
    SPI Nor total size: 32MB
    MMC:
    EMMC/MMC/SD controller initialization.
    Card did not respond to voltage select!
    No EMMC/MMC/SD device found !
    In:    serial
    Out:   serial
    Err:   serial
    Hit any key to stop autoboot:  1 16av200                                                                                                                                                                          0
    32768 KiB hi_fmc at 0:0 is now current device
    
    ## Booting kernel from Legacy Image at 82000000 ...
       Image Name:   Linux-3.18.20-hi3516av200
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2021054 Bytes = 1.9 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Loading Kernel Image ... OK
    OK
    
    Starting kernel ...
    
    Uncompressing Linux... done, booting the kernel.
    Booting Linux on physical CPU 0x0
    Initializing cgroup subsys cpu
    Linux version 3.18.20 (runner@fv-az186-929) (gcc version 7.5.0 (Buildroot -g7cfe3d7) ) #1 SMP Sat Jan 15 03:44:14 UTC 2022
    CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
    CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    Machine model: Hisilicon HI3516AV200 DEMO Board
    cmz zone is not set!
    cma: Reserved 16 MiB at 0x9f000000
    Memory policy: Data cache writealloc
    PERCPU: Embedded 9 pages/cpu @debcc000 s7424 r8192 d21248 u36864
    Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
    Kernel command line: mem=512M totalmem=1024M console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=hi_sfc:384k(boot),128k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)
    PID hash table entries: 2048 (order: 1, 8192 bytes)
    Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    Memory: 497564K/524288K available (3844K kernel code, 196K rwdata, 1036K rodata, 220K init, 310K bss, 26724K reserved, 0K highmem)
    Virtual kernel memory layout:
        vector  : 0xffff0000 - 0xffff1000   (   4 kB)
        fixmap  : 0xffc00000 - 0xffe00000   (2048 kB)
        vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
        lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
        pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
        modules : 0xbf000000 - 0xbfe00000   (  14 MB)
          .text : 0xc0008000 - 0xc04cc2c4   (4881 kB)
          .init : 0xc04cd000 - 0xc0504000   ( 220 kB)
          .data : 0xc0504000 - 0xc0535220   ( 197 kB)
           .bss : 0xc0535220 - 0xc0582d20   ( 311 kB)
    SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    Hierarchical RCU implementation.
            RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
    RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
    NR_IRQS:16 nr_irqs:16 16
    Architected cp15 timer(s) running at 24.00MHz (phys).
    sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 2863311519744ns
    Switching to timer-based delay loop, resolution 41ns
    Console: colour dummy device 80x30
    Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
    pid_max: default: 32768 minimum: 301
    Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    CPU: Testing write buffer coherency: ok
    CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    Setting up static identity map for 0x803aac58 - 0x803aacb0
    ARM CCI driver probed
    CPU1: Booted secondary processor
    CPU1: thread -1, cpu 0, socket 1, mpidr 80000100
    Brought up 2 CPUs
    SMP: Total of 2 processors activated (96.00 BogoMIPS).
    CPU: All CPU(s) started in SVC mode.
    devtmpfs: initialized
    VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
    regulator-dummy: no parameters
    NET: Registered protocol family 16
    DMA: preallocated 256 KiB pool for atomic coherent allocations
    cpuidle: using governor ladder
    cpuidle: using governor menu
    Serial: AMBA PL011 UART driver
    12100000.uart: ttyAMA0 at MMIO 0x12100000 (irq = 36, base_baud = 0) is a PL011 rev2
    console [ttyAMA0] enabled
    SCSI subsystem initialized
    ssp-pl022 12120000.spi: ARM PL022 driver, device ID: 0x00800022
    ssp-pl022 12120000.spi: mapped registers from 0x12120000 to fea20000
    ssp-pl022 12121000.spi: ARM PL022 driver, device ID: 0x00800022
    ssp-pl022 12121000.spi: mapped registers from 0x12121000 to fea21000
    ssp-pl022 12121000.spi: cs1 >= max 1
    spi_master spi1: spi_device register error /soc/amba/spi@12121000/spidev@1
    ssp-pl022 12122000.spi: ARM PL022 driver, device ID: 0x00800022
    ssp-pl022 12122000.spi: mapped registers from 0x12122000 to fea22000
    ssp-pl022 12123000.spi: ARM PL022 driver, device ID: 0x00800022
    ssp-pl022 12123000.spi: mapped registers from 0x12123000 to fea23000
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    Switched to clocksource arch_sys_counter
    NET: Registered protocol family 2
    TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
    TCP: Hash tables configured (established 4096 bind 4096)
    TCP: reno registered
    UDP hash table entries: 256 (order: 1, 8192 bytes)
    UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
    NET: Registered protocol family 1
    RPC: Registered named UNIX socket transport module.
    RPC: Registered udp transport module.
    RPC: Registered tcp transport module.
    RPC: Registered tcp NFSv4.1 backchannel transport module.
    futex hash table entries: 512 (order: 3, 32768 bytes)
    squashfs: version 4.0 (2009/01/31) Phillip Lougher
    jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
    msgmni has been set to 971
    Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
    io scheduler noop registered
    io scheduler deadline registered (default)
    io scheduler cfq registered
    pl061_gpio 12140000.gpio_chip: PL061 GPIO chip @0x12140000 registered
    pl061_gpio 12141000.gpio_chip: PL061 GPIO chip @0x12141000 registered
    pl061_gpio 12142000.gpio_chip: PL061 GPIO chip @0x12142000 registered
    pl061_gpio 12143000.gpio_chip: PL061 GPIO chip @0x12143000 registered
    pl061_gpio 12144000.gpio_chip: PL061 GPIO chip @0x12144000 registered
    pl061_gpio 12145000.gpio_chip: PL061 GPIO chip @0x12145000 registered
    pl061_gpio 12146000.gpio_chip: PL061 GPIO chip @0x12146000 registered
    pl061_gpio 12147000.gpio_chip: PL061 GPIO chip @0x12147000 registered
    pl061_gpio 12148000.gpio_chip: PL061 GPIO chip @0x12148000 registered
    pl061_gpio 12149000.gpio_chip: PL061 GPIO chip @0x12149000 registered
    pl061_gpio 1214a000.gpio_chip: PL061 GPIO chip @0x1214a000 registered
    pl061_gpio 1214b000.gpio_chip: PL061 GPIO chip @0x1214b000 registered
    pl061_gpio 1214c000.gpio_chip: PL061 GPIO chip @0x1214c000 registered
    pl061_gpio 1214d000.gpio_chip: PL061 GPIO chip @0x1214d000 registered
    pl061_gpio 1214e000.gpio_chip: PL061 GPIO chip @0x1214e000 registered
    pl061_gpio 12150000.gpio_chip: PL061 GPIO chip @0x12150000 registered
    brd: module loaded
    loop: module loaded
    hisi-sfc hisi_spi_nor.0: all blocks is unlocked.
    hisi-sfc hisi_spi_nor.0: mx25l25635f (32768 Kbytes)
    5 cmdlinepart partitions found on MTD device hi_sfc
    5 cmdlinepart partitions found on MTD device hi_sfc
    Creating 5 MTD partitions on "hi_sfc":
    0x000000000000-0x000000060000 : "boot"
    0x000000060000-0x000000080000 : "env"
    0x000000080000-0x000000280000 : "kernel"
    0x000000280000-0x000000780000 : "rootfs"
    0x000000780000-0x000002000000 : "rootfs_data"
    SPI Nand ID Table Version 2.4
    Cannot found a valid SPI Nand Device
    libphy: Fixed MDIO Bus: probed
    libphy: hisi_gemac_mii_bus: probed
    hi_gmac_v200 10050000.ethernet (unnamed net_device) (uninitialized): using random MAC address 3e:9c:85:2b:00:1c
    attached PHY 1 to driver Generic PHY, PHY_ID=0x1cc816
    higmac: ETH MAC supporte CCI.
    Higmac dma_sg_phy: 0x9dc80000
    ETH: rgmii, phy_addr=1
    xhci-hcd 10180000.xhci: xHCI Host Controller
    xhci-hcd 10180000.xhci: new USB bus registered, assigned bus number 1
    xhci-hcd 10180000.xhci: irq 54, io mem 0x10180000
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    xhci-hcd 10180000.xhci: xHCI Host Controller
    xhci-hcd 10180000.xhci: new USB bus registered, assigned bus number 2
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 1 port detected
    ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    ehci-platform: EHCI generic platform driver
    ehci-platform 10120000.ehci: EHCI Host Controller
    ehci-platform 10120000.ehci: new USB bus registered, assigned bus number 3
    ehci-platform 10120000.ehci: irq 51, io mem 0x10120000
    ehci-platform 10120000.ehci: USB 2.0 started, EHCI 1.00
    hub 3-0:1.0: USB hub found
    hub 3-0:1.0: 1 port detected
    ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
    ohci-platform: OHCI generic platform driver
    ohci-platform 10110000.ohci: Generic Platform OHCI controller
    ohci-platform 10110000.ohci: new USB bus registered, assigned bus number 4
    ohci-platform 10110000.ohci: irq 52, io mem 0x10110000
    hub 4-0:1.0: USB hub found
    hub 4-0:1.0: 1 port detected
    usbcore: registered new interface driver usb-storage
    i2c /dev entries driver
    hisi-i2c-v110 12110000.i2c: HISILICON I2C V110 bus driver
    hisi-i2c-v110 12110000.i2c: mapped registers from 0x12110000 to 0xfea10000
    hisi-i2c-v110 12111000.i2c: HISILICON I2C V110 bus driver
    hisi-i2c-v110 12111000.i2c: mapped registers from 0x12111000 to 0xfea11000
    hisi-i2c-v110 12112000.i2c: HISILICON I2C V110 bus driver
    hisi-i2c-v110 12112000.i2c: mapped registers from 0x12112000 to 0xfea12000
    hisi-i2c-v110 12113000.i2c: HISILICON I2C V110 bus driver
    hisi-i2c-v110 12113000.i2c: mapped registers from 0x12113000 to 0xfea13000
    CPUidle for CPU1 registered
    himci: mmc host probe
    himci: mmc host probe
    himci: mmc host probe
    usbcore: registered new interface driver usbhid
    usbhid: USB HID core driver
    TCP: cubic registered
    NET: Registered protocol family 10
    NET: Registered protocol family 17
    Registering SWP/SWPB emulation handler
    VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
    devtmpfs: mounted
    Freeing unused kernel memory: 220K (c04cd000 - c0504000)
    devpts: called with bogus options
    Starting syslogd: OK
    Starting klogd: OK
    Running sysctl: OK
    Loading modules:Initializing random number generator: OK
    Saving random seed: OK
    Starting rngd: OK
    Starting mdev...
    Starting network: OK
    Starting ntpd: OK
    Starting dropbear sshd: OK
    Starting httpd: OK
    Starting mini-snmpd: DISABLED, OK
    Starting telnetd: DISABLED, OK
    Starting crond: OK
    hisilicon: Check MAC for Xiongmai devices
    hisilicon: The eth0 interface has a correct MAC - 00:00:23:34:45:23
    hisilicon: Loading of kernel modules and initialization of the video system has started
    mmz_start: 0xa0000000, mmz_size: 512M
    hisilicon: Get data from environment and set SENSOR as imx385
    sh: can't open './pinmux.sh': No such file or directory
    sh: NULL: unknown operand
    sh: double_pipe: unknown operand
    sh: can't open 'clkcfg.sh': No such file or directory
    sh: can't open 'sysctl.sh': No such file or directory
    insmod: can't insert 'hi_osal.ko': No such file or directory
    ******* Error: There's something wrong, please check! *****
    Starting majestic: DISABLED, OK
    
    Welcome to OpenIPC v2.2
    openipc-hi3516av200 login: root
    
    
    
    
    eth0      Link encap:Ethernet  HWaddr 02:11:32:2B:35:11
              inet addr:192.168.2.251  Bcast:0.0.0.0  Mask:255.255.255.0
              inet6 addr: fe80::11:32ff:fe2b:3511/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:648 (648.0 B)
              Interrupt:57
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:64 errors:0 dropped:0 overruns:0 frame:0
              TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:4736 (4.6 KiB)  TX bytes:4736 (4.6 KiB)
    
    
    
    root@openipc-hi3516av200:~# cat /etc/network/interfaces
    # Interfaces
    
    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet static
            address 192.168.2.251
            netmask 255.255.255.0
            gateway 192.168.2.1
            hwaddress ether 02:11:32:2B:35:11
    
    #    hwaddress ether $(fw_printenv -n ethaddr || echo 00:24:B8:FF:FF:FF)
        #pre-up echo -e "nameserver 77.88.8.8\nnameserver 8.8.4.4\n" >/tmp/resolv.conf
    
    manual eth0:1
    iface eth0:1 inet static
        address $(fw_printenv -n ipaddr || echo 192.168.1.10)
        netmask 255.255.255.0
    
    manual wlan0
    iface wlan0 inet dhcp
        pre-up devmem 0x100C0080 32 0x530
        pre-up echo 7 > /sys/class/gpio/export
        pre-up echo out > /sys/class/gpio/gpio7/direction
        pre-up echo 0 > /sys/class/gpio/gpio7/value
        pre-up modprobe mt7601u
        pre-up wpa_passphrase "SSID" "password" >/tmp/wpa_supplicant.conf
        pre-up sed -i '2i \\tscan_ssid=1' /tmp/wpa_supplicant.conf
        pre-up (sleep 3; wpa_supplicant -B -Dnl80211 -iwlan0 -c/tmp/wpa_supplicant.conf)
        post-down killall -q wpa_supplicant
    
    manual eth2
    iface eth2 inet dhcp
        pre-up wifi xm711
        pre-up wpa_passphrase "SSID" "password" >/tmp/wpa_supplicant.conf
        pre-up sed -i '2i \\tscan_ssid=1' /tmp/wpa_supplicant.conf
        pre-up (sleep 3; wpa_supplicant -B -Dnl80211 -ieth2 -c/tmp/wpa_supplicant.conf)
        post-down killall -q wpa_supplicant
    
    manual usb0
    iface usb0 inet dhcp
        pre-up echo 9 > /sys/class/gpio/export
        pre-up echo out > /sys/class/gpio/gpio9/direction
        pre-up echo 0 > /sys/class/gpio/gpio9/value
        pre-up modprobe usbserial vendor=0x2c7c product=0x6026
        pre-up modprobe rndis_host
        pre-up sleep 10
    
    manual wg0
    iface wg0 inet static
        address 192.168.99.1
        netmask 255.255.255.0
        pre-up modprobe wireguard
        pre-up ip link add dev wg0 type wireguard
        pre-up wg setconf wg0 /etc/wireguard.conf
        post-down ip link del dev wg0
    
    
    opened by gitgayhub 26
  • Nand flash not supported to create mtdblock

    Nand flash not supported to create mtdblock

    Hi, I have an UNV camera with hi3516av100, imx185, 512M memory and 128M nand flash. I installed OpenIPC, but it seems that the nand flash is not supported, I got an error message when booting up

    VFS: Cannot open root device "mtdblock3" or unknown-block(0,0): error -6

    The nand flash is Toshiba TC58BVG0S3HTA00

    uboot # reset
    resetting ...
    
    
    U-Boot 2010.06 (Nov 01 2016 - 14:15:35)
    
    NAND:  Check nand flash controller v610. found
    Special NAND id table Version 1.36
    Nand ID: 0x98 0xF1 0x80 0x15 0xF2 0x16 0x08 0x00
    Block:128KB Page:2KB Chip:128MB*1 OOB:64B ECC:4bit/512
    Check SPI Nand Flash Controller v100 ... Found
    SPI Nand ID Table Version 1.3
    SPI Nand : Manufacturer ID[0x0] No NAND device found!!!
    128 MiB
    Check spi flash controller v350... Found
    Can't find a valid spi flash chip.
    Can't find a valid spi flash chip.
    In:    serial
    Out:   serial
    Err:   serial
    UBOOT for QIPCV1R2
    Detected MACID:48:ea:xxxxxx
    NetBoardType:COPPER + SFP
    Press Ctrl+B to abort autoboot in 2 seconds
    
    NAND read: device 0 offset 0xa00000, size 0x200000
     2097152 bytes read: OK
    ## Booting kernel from Legacy Image at 82000000 ...
       Image Name:   Linux-4.9.37-hi3516av100
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    1949156 Bytes = 1.9 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Loading Kernel Image ... OK
    OK
    
    Starting kernel ...
    
    Booting Linux on physical CPU 0x0
    Linux version 4.9.37 (runner@fv-az167-852) (gcc version 7.5.0 (Buildroot -g9567237) ) #1 Fri Jan 14 03:47:17 UTC 2022
    CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
    CPU: div instructions available: patching division code
    CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    OF: fdt:Machine model: Hisilicon HI3516A DEMO Board
    Memory policy: Data cache writeback
    CPU: All CPU(s) started in SVC mode.
    Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
    Kernel command line: mem=512M totalmem=1024M console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=hinand:1M(boot),9M(kernel_unv),2M(kernel),5M(rootfs),83M(rootfs_data),1M(cliinfo),1M(clibak),1M(mtd_runtime),16M(config),8M(calibration),512K(update),-(other)
    PID hash table entries: 2048 (order: 1, 8192 bytes)
    Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    Memory: 514180K/524288K available (3983K kernel code, 174K rwdata, 892K rodata, 184K init, 224K bss, 10108K reserved, 0K cma-reserved)
    Virtual kernel memory layout:
        vector  : 0xffff0000 - 0xffff1000   (   4 kB)
        fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
        vmalloc : 0xe0800000 - 0xff800000   ( 496 MB)
        lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
        modules : 0xbf000000 - 0xc0000000   (  16 MB)
          .text : 0xc0008000 - 0xc03ebff0   (3984 kB)
          .init : 0xc04ce000 - 0xc04fc000   ( 184 kB)
          .data : 0xc04fc000 - 0xc0527b20   ( 175 kB)
           .bss : 0xc0529000 - 0xc0561308   ( 225 kB)
    SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    NR_IRQS:16 nr_irqs:16 16
    clocksource: arm,sp804: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
    sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns
    Console: colour dummy device 80x30
    Calibrating delay loop... 1208.32 BogoMIPS (lpj=6041600)
    pid_max: default: 32768 minimum: 301
    Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    CPU: Testing write buffer coherency: ok
    Setting up static identity map for 0x80008200 - 0x80008258
    devtmpfs: initialized
    VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
    clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    futex hash table entries: 256 (order: -1, 3072 bytes)
    NET: Registered protocol family 16
    DMA: preallocated 256 KiB pool for atomic coherent allocations
    Serial: AMBA PL011 UART driver
    20080000.uart: ttyAMA0 at MMIO 0x20080000 (irq = 18, base_baud = 0) is a PL011 rev2
    console [ttyAMA0] enabled
    SCSI subsystem initialized
    ssp-pl022 200c0000.spi: ARM PL022 driver, device ID: 0x00800022
    ssp-pl022 200c0000.spi: mapped registers from 0x200c0000 to fe1c0000
    ssp-pl022 200e0000.spi: ARM PL022 driver, device ID: 0x00800022
    ssp-pl022 200e0000.spi: mapped registers from 0x200e0000 to fe1e0000
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    clocksource: Switched to clocksource arm,sp804
    NET: Registered protocol family 2
    TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    TCP: Hash tables configured (established 4096 bind 4096)
    UDP hash table entries: 256 (order: 0, 4096 bytes)
    UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    NET: Registered protocol family 1
    RPC: Registered named UNIX socket transport module.
    RPC: Registered udp transport module.
    RPC: Registered tcp transport module.
    RPC: Registered tcp NFSv4.1 backchannel transport module.
    workingset: timestamp_bits=30 max_order=17 bucket_order=0
    squashfs: version 4.0 (2009/01/31) Phillip Lougher
    jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
    Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
    io scheduler noop registered
    io scheduler deadline registered (default)
    io scheduler cfq registered
    pl061_gpio 20140000.gpio_chip: PL061 GPIO chip @0x20140000 registered
    pl061_gpio 20150000.gpio_chip: PL061 GPIO chip @0x20150000 registered
    pl061_gpio 20160000.gpio_chip: PL061 GPIO chip @0x20160000 registered
    pl061_gpio 20170000.gpio_chip: PL061 GPIO chip @0x20170000 registered
    pl061_gpio 20180000.gpio_chip: PL061 GPIO chip @0x20180000 registered
    pl061_gpio 20190000.gpio_chip: PL061 GPIO chip @0x20190000 registered
    pl061_gpio 201a0000.gpio_chip: PL061 GPIO chip @0x201a0000 registered
    pl061_gpio 201b0000.gpio_chip: PL061 GPIO chip @0x201b0000 registered
    pl061_gpio 201c0000.gpio_chip: PL061 GPIO chip @0x201c0000 registered
    pl061_gpio 201d0000.gpio_chip: PL061 GPIO chip @0x201d0000 registered
    pl061_gpio 201e0000.gpio_chip: PL061 GPIO chip @0x201e0000 registered
    pl061_gpio 201f0000.gpio_chip: PL061 GPIO chip @0x201f0000 registered
    pl061_gpio 20200000.gpio_chip: PL061 GPIO chip @0x20200000 registered
    pl061_gpio 20210000.gpio_chip: PL061 GPIO chip @0x20210000 registered
    pl061_gpio 20220000.gpio_chip: PL061 GPIO chip @0x20220000 registered
    pl061_gpio 20260000.gpio_chip: PL061 GPIO chip @0x20260000 registered
    brd: module loaded
    loop: module loaded
    Spi id table Version 1.22
    libphy: hisi_gemac_mii_bus: probed
    libphy: Fixed MDIO Bus: probed
    hi_gmac_v200 10090000.ethernet (unnamed net_device) (uninitialized): using random MAC address 62:d9:a5:ef:d1:16
    phy 1 not found
    ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    ehci-platform: EHCI generic platform driver
    ehci-platform 100b0000.ehci: EHCI Host Controller
    ehci-platform 100b0000.ehci: new USB bus registered, assigned bus number 1
    ehci-platform 100b0000.ehci: irq 19, io mem 0x100b0000
    ehci-platform 100b0000.ehci: USB 2.0 started, EHCI 1.00
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
    ohci-platform: OHCI generic platform driver
    ohci-platform 100a0000.ohci: Generic Platform OHCI controller
    ohci-platform 100a0000.ohci: new USB bus registered, assigned bus number 2
    ohci-platform 100a0000.ohci: irq 20, io mem 0x100a0000
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 1 port detected
    usbcore: registered new interface driver usb-storage
    i2c /dev entries driver
    hisi-i2c-hisilicon 200d0000.i2c: Hisilicon [i2c-0] probed!
    hisi-i2c-hisilicon 20240000.i2c: Hisilicon [i2c-1] probed!
    hisi-i2c-hisilicon 20250000.i2c: Hisilicon [i2c-2] probed!
    usbcore: registered new interface driver usbhid
    usbhid: USB HID core driver
    hisi-dmac 10060000.hidma-controller: hidmac probe!
    Initializing XFRM netlink socket
    NET: Registered protocol family 10
    NET: Registered protocol family 17
    NET: Registered protocol family 15
    Key type dns_resolver registered
    VFS: Cannot open root device "mtdblock3" or unknown-block(0,0): error -6
    Please append a correct "root=" boot option; here are the available partitions:
    0100           65536 ram0  (driver?)
    0101           65536 ram1  (driver?)
    0102           65536 ram2  (driver?)
    0103           65536 ram3  (driver?)
    0104           65536 ram4  (driver?)
    0105           65536 ram5  (driver?)
    0106           65536 ram6  (driver?)
    0107           65536 ram7  (driver?)
    0108           65536 ram8  (driver?)
    0109           65536 ram9  (driver?)
    010a           65536 ram10  (driver?)
    010b           65536 ram11  (driver?)
    010c           65536 ram12  (driver?)
    010d           65536 ram13  (driver?)
    010e           65536 ram14  (driver?)
    010f           65536 ram15  (driver?)
    Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
    CPU: 0 PID: 1 Comm: swapper Not tainted 4.9.37 #1
    Hardware name: Hisilicon Hi3516A (Flattened Device Tree)
    Backtrace:
    [<c0012a64>] (dump_backtrace) from [<c0012d40>] (show_stack+0x18/0x1c)
     r7:df7b0000 r6:c04ef858 r5:00000000 r4:c05292e8
    [<c0012d28>] (show_stack) from [<c019ffd4>] (dump_stack+0x24/0x28)
    [<c019ffb0>] (dump_stack) from [<c00797f0>] (panic+0xd0/0x238)
    [<c0079724>] (panic) from [<c04cf314>] (mount_block_root+0x1e0/0x2b0)
     r3:00000000 r2:00000000 r1:df44fea0 r0:c0462d08
     r7:df7b0000
    [<c04cf134>] (mount_block_root) from [<c04cf5f8>] (mount_root+0x128/0x130)
     r10:c04ef838 r9:c04ce5fc r8:c04ef834 r7:c0529000 r6:c0529024 r5:c050288c
     r4:00000000
    [<c04cf4d0>] (mount_root) from [<c04cf784>] (prepare_namespace+0x184/0x1cc)
     r9:c04ce5fc r8:c04ef834 r7:c0529000 r6:c0529000 r5:c0529024 r4:c04ef858
    [<c04cf600>] (prepare_namespace) from [<c04ceea8>] (kernel_init_freeable+0x1d0/0x1e0)
     r6:c0529000 r5:00000009 r4:c04cad10
    [<c04cecd8>] (kernel_init_freeable) from [<c03e7534>] (kernel_init+0x10/0xfc)
     r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c03e7524
     r4:00000000
    [<c03e7524>] (kernel_init) from [<c000f9e8>] (ret_from_fork+0x14/0x2c)
     r5:c03e7524 r4:00000000
    Rebooting in 20 seconds..
    
    
    opened by gitgayhub 22
  • Не работает видео на hi3516ev300

    Не работает видео на hi3516ev300

    Установил прошивку на камеру чере веб Модель камеры 000529E9

    При включеном watchdog иде постоянная перезагрузка каждую минуту. После отключения бюольше не перезагружается.

    Не работает видео preview

    Также обратил внимание на сообщение во вкладке firmware: Bundled version of Majestic is used. Not enough space to update Majestic. Required KB, available 8531 KB.

    Как заставит работать видео и звук?

    opened by esuslik 18
  • gk7205v300 зависает в ночью (нехватка памяти)

    gk7205v300 зависает в ночью (нехватка памяти)

    Две камеры, обе на gk7205v300 imx335. Зависают в одно и то же время, ночью во время дождя. На улице присутствует фонарь, кадр не совсем темный.

    Одна камера бесконечно перезагружается, отказываясь отдавать поток и медленно загружая странички, другая отдаёт побитый поток (траффик в плеере идёт, но декодировать не получается). Первая камера работает по tcp, вторая по udp. Включенный или отключенный hls - не влияет.

    Конфиг камер практически дефолтный:

    system:
      buffer: 1024
    image:
      mirror: false
      flip: false
      rotate: none
      hue: 50
      saturation: 50
      luminance: auto
      contrast: 45
    osd:
      enabled: true
      template: "%d.%m.%y %H:%M:%S WIDE"
      posX: 0
      posY: 0
    nightMode:
      enabled: true
      pinSwitchDelayUs: 150
      irSensorPinInvert: false
      irCutPin1: 11
      irCutPin2: 10
      irSensorPin: 66
    records:
      enabled: false
      path: /mnt/mmc/%Y/%m/%d/%H.mp4
      maxUsage: 95
    video0:
      enabled: true
      codec: h264
      size: 2592x1944
      fps: 12
      gopMode: normal
      rcMode: avbr
    video1:
      enabled: false
      codec: h265
    jpeg:
      enabled: true
      toProgressive: false
    mjpeg:
      size: 640x360
      fps: 5
      bitrate: 1024
    audio:
      enabled: false
      volume: auto
      srate: 16000
      codec: opus
      device: hw:2
    rtsp:
      enabled: true
      port: 554
    hls:
      enabled: true
    youtube:
      enabled: false
    motionDetect:
      enabled: true
      profile: outdoor
      visualize: false
      debug: false
    ipeye:
      enabled: false
    onvif:
      enabled: true
    watchdog:
      enabled: true
      timeout: 10
    isp:
      exposure: auto
      slowShutter: medium
      antiFlicker: 50Hz
      memMode: normal
      sensorConfig: /etc/sensors/5M_imx335.ini
      blkCnt: 8
    netip:
      enabled: false
      ignoreSetTime: false
      snapshots: false
    cloud:
      enabled: false
    

    Кусок лога:

    Jan  1 00:00:09 openipc-gk7205v300 user.debug majestic[837]: Watchdog timeout set to 10 seconds
    Jan  1 00:00:09 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:00:09 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:00:09 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:00:09 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:00:09 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:00:09 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:00:09 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:00:09 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:00:09 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:00:09 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:00:09 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:00:09 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:00:09 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:00:09 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:00:09 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:00:09 openipc-gk7205v300 user.info majestic[837]: Using /etc/sensors/5M_imx335.ini sensor configuration file
    Jan  1 00:00:09 openipc-gk7205v300 user.warn majestic[837]: Set custom sensor clock mode: 27MHz
    Jan  1 00:00:09 openipc-gk7205v300 user.info majestic[837]: linear mode
    Jan  1 00:00:09 openipc-gk7205v300 user.info majestic[837]: binit false IMX335 i2c init
    Jan  1 00:00:09 openipc-gk7205v300 user.info majestic[837]: -------Sony IMX335_init_5M_2592x1944_12bit_linear30 Initial OK!-------
    Jan  1 00:00:09 openipc-gk7205v300 user.err majestic[837]: Cannot create MD chn 0
    Jan  1 00:00:09 openipc-gk7205v300 user.err majestic[837]: HI_ERR_IVE_NOMEM: The memory fails to be allocated for the reasons such as system memory insufficiency
    Jan  1 00:00:09 openipc-gk7205v300 kern.err kernel: mmz_userdev:ioctl_mmb_alloc: 
    Jan  1 00:00:09 openipc-gk7205v300 kern.emerg kernel: mmz_mmb_alloc(MD_ASSIST, 2568960, 0x0, 0, ) failed!
    Jan  1 00:00:09 openipc-gk7205v300 user.info majestic[837]: Image tuning task started
    Jan  1 00:00:09 openipc-gk7205v300 user.info majestic[837]: HTTP server started on 0.0.0.0:80
    Jan  1 00:00:09 openipc-gk7205v300 user.err majestic[837]: Failed to join a multicast group '239.255.255.250'
    Jan  1 00:00:09 openipc-gk7205v300 user.err majestic[837]: Failed to join a multicast group '224.0.0.251'
    Jan  1 00:00:09 openipc-gk7205v300 user.info majestic[837]: RTSP server started on port 554
    Jan  1 00:00:09 openipc-gk7205v300 user.info majestic[837]: Change mode to NIGHT
    Jan  1 00:00:11 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:00:12 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    Jan  1 00:00:15 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:00:17 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    Jan  1 00:00:20 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:00:25 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    Jan  1 00:00:27 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:00:35 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    Jan  1 00:00:38 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:00:39 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    Jan  1 00:00:48 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:00:50 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    Jan  1 00:00:53 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:00:56 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    Jan  1 00:01:01 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:01:02 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    Jan  1 00:01:07 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:01:17 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    Jan  1 00:01:17 openipc-gk7205v300 user.info majestic[837]: Signal HUP received, reloading config
    Jan  1 00:01:18 openipc-gk7205v300 user.info majestic[837]: Using /etc/majestic.yaml as main configuration
    Jan  1 00:01:18 openipc-gk7205v300 user.info majestic[837]: Using /etc/sensors/5M_imx335.ini sensor configuration file
    Jan  1 00:01:18 openipc-gk7205v300 user.warn majestic[837]: Set custom sensor clock mode: 27MHz
    Jan  1 00:01:18 openipc-gk7205v300 user.info majestic[837]: linear mode
    Jan  1 00:01:18 openipc-gk7205v300 user.info majestic[837]: binit false IMX335 i2c init
    Jan  1 00:01:18 openipc-gk7205v300 user.info majestic[837]: -------Sony IMX335_init_5M_2592x1944_12bit_linear30 Initial OK!-------
    Jan  1 00:01:18 openipc-gk7205v300 user.err majestic[837]: Cannot create MD chn 0
    Jan  1 00:01:18 openipc-gk7205v300 user.err majestic[837]: HI_ERR_IVE_NOMEM: The memory fails to be allocated for the reasons such as system memory insufficiency
    Jan  1 00:01:18 openipc-gk7205v300 user.info majestic[837]: Image tuning task started
    Jan  1 00:01:18 openipc-gk7205v300 kern.err kernel: mmz_userdev:ioctl_mmb_alloc: 
    Jan  1 00:01:18 openipc-gk7205v300 kern.emerg kernel: mmz_mmb_alloc(MD_ASSIST, 2568960, 0x0, 0, ) failed!
    Jan  1 00:01:18 openipc-gk7205v300 user.info majestic[837]: HTTP server started on 0.0.0.0:80
    Jan  1 00:01:18 openipc-gk7205v300 user.info majestic[837]: RTSP server started on port 554
    Jan  1 00:01:23 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:01:25 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    Jan  1 00:01:27 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:01:30 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    Jan  1 00:01:32 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:01:33 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    Jan  1 00:01:39 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:01:41 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    Jan  1 00:01:43 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:01:46 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    Jan  1 00:01:46 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:01:46 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:01:46 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:01:46 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:01:46 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:01:46 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:01:46 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:01:46 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:01:46 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:01:46 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:01:46 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:01:46 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:01:46 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:01:46 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:01:46 openipc-gk7205v300 kern.err kernel: goke-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
    Jan  1 00:01:48 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:01:51 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    Jan  1 00:01:56 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:01:57 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    Jan  1 00:02:00 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:02:01 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    Jan  1 00:02:15 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Down
    Jan  1 00:02:16 openipc-gk7205v300 kern.info kernel: femac 10040000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    
    opened by fadermix 16
  • Driver for sensor SC4210

    Driver for sensor SC4210

    Hi, I have an Uniview camera with Hi3516DV300, CMOS sensor is SmartSens SC4210. It has 2GB memory and 8GB onboard EMMC storage. As told in another issue, you can add support for this sensor if I have the .so files for the sensor.

    Unfortunately, the shell access is limited to only a few commands, the uboot tftp command is limited to download only, so I can't get a dump of the EMMC chip. But I do have a firmware image for upgrade. The entire firmware is more than 500MB large, I can't upload it here on github, so I upload it somewhere else: https://ufile.io/se1e8xam or https://tmpsend.com/grGCGuh0 The uimage.bin is 12MB large

    uboot # printenv
    arch=arm
    baudrate=115200
    board=hi3516dv300
    board_name=hi3516dv300
    bootargs=mem=512M console=ttyAMA0,115200 blkdevparts=mmcblk2:1M(boot),2M(bootlogo),16M(kernel),16M(kernel_bak),16M(config),16M(config_bak),1M(cliinfo),1M(cliinfo_bak),1M(mtd_runtime),32M(calibration),512K(update),1224M(program),1224M(cache),4208M(data),-(other)
    bootcmd=mmc read 0 82000000 1800 8000;bootm 0x82000000
    bootdelay=2
    cpu=armv7
    ethact=eth0
    ethaddr=42:c1:84:f1:25:6e
    ipaddr=192.168.2.22
    netmask=255.255.255.0
    serverip=192.168.2.88
    soc=hi3516dv300
    stderr=serial
    stdin=serial
    stdout=serial
    vendor=hisilicon
    verify=n
    
    uboot # help
    ?       - alias for 'help'
    base    - print or set address offset
    bdinfo  - print Board Info structure
    boot    - boot default, i.e., run 'bootcmd'
    bootd   - boot default, i.e., run 'bootcmd'
    bootelf - Boot from an ELF image in memory
    bootm   - boot application image from memory
    bootp   - boot image via network using BOOTP/TFTP protocol
    bootvx  - Boot vxWorks from an ELF image
    cipher_test- CIPHER Encrypt And Decrypt Test
    cmp     - memory compare
    config  - config  --- config mac address,ddr test flag
    
    coninfo - print console devices and information
    cp      - memory copy
    crc32   - checksum calculation
    dcache  - enable or disable data cache
    ddr     - ddr training function
    decjpg  - jpgd   - decode jpeg picture.
    decjpg [format]
    dhcp    - boot image via network using DHCP/TFTP protocol
    dm      - Driver model low level access
    echo    - echo args to console
    editenv - edit environment variable
    env     - environment handling commands
    erase   - erase FLASH memory
    exit    - exit script
    false   - do nothing, unsuccessfully
    fatinfo - print information about filesystem
    fatload - load binary file from a dos filesystem
    fatls   - list files in a directory (default /)
    fatsize - determine a file's size
    flinfo  - print FLASH memory information
    getinfo - print hardware information
    go      - start application at address 'addr'
    go_cpu1 - Perform power on and unreset  CPU1_A7
    gzwrite - unzip and write memory to block device
    hash    - Calcluate hash
    hash_test- hash_test [x]:[0] SHA1; [1] SHA256; [2] HMAC-SHA1; [3] HMAC-SHA256;
    help    - print command description/usage
    icache  - enable or disable instruction cache
    iminfo  - print header information for application image
    imxtract- extract a part of a multi-image
    itest   - return true/false on integer compare
    klad_test- KLAD Test
    loadb   - load binary file over serial line (kermit mode)
    loads   - load S-Record file over serial line
    loadx   - load binary file over serial line (xmodem mode)
    loady   - load binary file over serial line (ymodem mode)
    loop    - infinite loop on address range
    manuinfo- download,erase,display manuinfo
    
    md      - memory display
    mii     - MII utility commands
    mm      - memory modify (auto-incrementing address)
    mmc     - MMC sub system
    mmcinfo - display MMC info
    mw      - memory write (fill)
    nfs     - boot image via network using NFS protocol
    nm      - memory modify (constant address)
    part    - disk partition related commands
    ping    - send ICMP ECHO_REQUEST to network host
    printenv- print environment variables
    protect - enable or disable FLASH write protection
    pxe     - commands to get and boot from pxe files
    reset   - Perform RESET of the CPU
    rng_test- RNG Test
    rsa_enc_test- RSA PKCS1# V1_5 encrypt/decrypt Test
    rsa_sign_test- RSA PKCS1# V1_5 Sign Test
    run     - run commands in an environment variable
    saveenv - save environment variables to persistent storage
    setenv  - set environment variables
    setexpr - set environment variable as the result of eval expression
    setvobg - setvobg   - set vo backgroud color.
            - setvobg [dev color]
    showvar - print local hushshell variables
    sleep   - delay execution for some time
    source  - run script from memory
    startgx - startgx   - open graphics layer.
            - startgx [layer addr stride x y w h]
    
    startvl - startvl   - open video layer.
            - startvl [layer addr stride x y w h]
    
    startvo - startvo   - open vo device with a certain output interface.
            - startvo [dev intftype sync]
    stopgx  - stopgx   - close graphics layer.
            - stopgx [layer]
    stopvl  - stopvl   - close video layer.
            - stopvl [layer]
    stopvo  - stopvo   - close interface of vo device.
            - stopvo [dev]
    sysboot - command to get and boot from syslinux files
    test    - minimal test like /bin/sh
    tftpboot- boot image via network using TFTP protocol
    true    - do nothing, successfully
    unzip   - unzip a memory region
    update  - update image via network using TFTP protocol and write into emmc/flash.
    usb     - USB sub-system
    usbboot - boot from USB device
    version - print monitor, compiler and linker version
    
    

    Please take a look and see if you can extract the .so files from it

    Thank you very much

    opened by gitgayhub 16
  • Driver for IMX385 on Hi3516DV100

    Driver for IMX385 on Hi3516DV100

    Hi, I've got another camera with the sensor imx385, but the soc is hi3516dv100 this time. I installed the newest OpenIPC firmware for hi3516dv100, but seems the imx385 driver and config file wasn't added for this soc

    I've got a dump of the entire flash chip: 3516dv100_imx385_dump.zip

    and the extracted rootfs: 3516dv100_imx385_rootfs.zip

    hisilicon # print
    bootdelay=1
    baudrate=115200
    ethaddr=00:00:23:34:45:66
    bootfile="uImage"
    bootcmd=sf probe 0;sf read 0x82000000 0x80000 0x280000;bootm 0x82000000
    configFlag=ok
    cpuFlag=ok
    cpuType=3516a
    sensorFlag=no
    sensorType=53
    filesize=39840
    fileaddr=82000000
    netmask=255.255.255.0
    bootargs=mem=108M console=ttyAMA0,115200 root=/dev/mtdblock1 rootfstype=jffs2 mtdparts=hi_sfc:3M(boot),13M(rootfs)
    stdin=serial
    stdout=serial
    stderr=serial
    verify=n
    ver=U-Boot 2010.06 (Sep 22 2017 - 09:17:14)
    mdio_intf=rmii
    hisicpu=hi3516d
    ipaddr=192.168.2.22
    serverip=192.168.2.88
    

    I modified bootargs and boocmd to suite OpenIPC, please let me know if there's anything wrong

    mem=108M totalmem=128M console=ttyAMA0,115200 panic=20 root=/dev/mtdblock2 rootfstype=squashfs init=/init mtdparts=hi_sfc:3072k(boot),2048k(kernel),5120k(rootfs),-(rootfs_data)
    bootcmd=sf probe 0;sf read 0x82000000 0x300000 0x300000;bootm 0x82000000
    
    / # cat /proc/mtd
    dev:    size   erasesize  name
    mtd0: 00300000 00010000 "boot"
    mtd1: 00d00000 00010000 "rootfs"
    
    
    /usr # ./ipctool
    ---
    chip:
      vendor: HiSilicon
      model: 3516DV100
    ethernet:
      mac: "e6:98:25:xxxxxxx"
      u-mdio-phyaddr: 86
      phy-id: 0xa5a5a5a5
      d-mdio-phyaddr: a5a5
    rom:
      - type: nor
        block: 64K
        partitions:
          - name: boot
            size: 0x300000
            sha1: b6d9797f
            contains:
              - name: uboot-env
                offset: 0x40000
          - name: rootfs
            size: 0xd00000
            sha1: a11e3d0f
        size: 16M
        addr-mode: 3-byte
    ram:
      total: 128M
    firmware:
      u-boot: "2010.06 (Sep 22 2017 - 09:17:14)"
      kernel: "3.4.35 (Wed Aug 16 16:10:11 CST 2017)"
      toolchain: gcc version 4.8.3 20131202 (prerelease) (Hisilicon_v300)
      libc: uClibc 0.9.33.2
    
    opened by gitgayhub 15
  • No filesystem could mount root on Escam PVR008

    No filesystem could mount root on Escam PVR008

    Hello Model Escam PVR008 Board S834-A0-B Sensor F23 CPU Hi3518ERNCV300 Network Realtk 8188ETV (M8188FU3)

    openipc-2.1 commit ab38bfa0824ec2fd8eb8ef7cb4cf6e9f404cca02 serial flash u-boot 0x000000 Length 0x100000 uImage 0x100000 Length 0x200000 rootfs.squashfs 0x300000 Length 0x500000

    bootargs=mem=${osmem:-32M} console=ttyAMA0,115200 panic=5 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=hi_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data) bootcmd=setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read 0x42000000 0x100000 0x300000; bootm 0x42000000

    System startup

    Uncompress Ok!

    U-Boot 2020.01 (Sep 02 2020 - 17:34:02 +0800)hi3518ev300

    DRAM: SPI Nor: hifmc_ip_ver_check(54): Check Flash Memory Controller v100 ...hifmc_ip_ver_check(60): Found hifmc_spi_nor_probe(2070): SPI Nor ID Table Version 1.0 hifmc_spi_nor_probe(2095): SPI Nor(cs 0) ID: 0x20 0x70 0x18 hifmc_init_print(2016): Block:64KB hifmc_init_print(2017): Chip:16MB hifmc_init_print(2018): Name:"XM25QH128A" hifmc100_spi_nor_probe(145): SPI Nor total size: 16MB NAND: 0 MiB Loading Environment from SPI Flash... OK In: serial Out: serial Err: serial Net: eth0 Error: eth0 address not set.

    Hit any key to stop autoboot: 0 device 0 offset 0x100000, size 0x300000

    SF: 3145728 bytes @ 0x100000 Read: OK Booting kernel from Legacy Image at 42000000 ... Image Name: Linux-4.9.37 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1978216 Bytes = 1.9 MiB Load Address: 40008000 Entry Point: 40008000 Loading Kernel Image

    Starting kernel ...

    Booting Linux on physical CPU 0x0 Linux version 4.9.37 (ingo@acer-p256-m) (gcc version 7.5.0 (Buildroot -gab38bfa) ) #1 Sun Aug 22 09:27:48 CEST 2021 CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d CPU: div instructions available: patching division code CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache OF: fdt:Machine model: Hisilicon HI3518EV300 DEMO Board cmz zone is not set! Memory policy: Data cache writeback CPU: All CPU(s) started in SVC mode. Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128 Kernel command line: mem=32M console=ttyAMA0,115200 panic=5 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=hi_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data) PID hash table entries: 128 (order: -3, 512 bytes) Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) Memory: 26776K/32768K available (4084K kernel code, 148K rwdata, 912K rodata, 176K init, 243K bss, 5992K reserved, 0K cma-reserved) Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xffc00000 - 0xfff00000 (3072 kB) vmalloc : 0xc2800000 - 0xff800000 ( 976 MB) lowmem : 0xc0000000 - 0xc2000000 ( 32 MB) modules : 0xbf000000 - 0xc0000000 ( 16 MB) .text : 0xc0008000 - 0xc0405538 (4086 kB) .init : 0xc04ec000 - 0xc0518000 ( 176 kB) .data : 0xc0518000 - 0xc053d360 ( 149 kB) .bss : 0xc053f000 - 0xc057bcc8 ( 244 kB) SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 NR_IRQS:16 nr_irqs:16 16 Gic dist init... arm_arch_timer: Architected cp15 timer(s) running at 50.00MHz (phys). clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xb8812736b, max_idle_ns: 440795202655 ns sched_clock: 56 bits at 50MHz, resolution 20ns, wraps every 4398046511100ns Switching to timer-based delay loop, resolution 20ns clocksource: arm,sp804: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns Console: colour dummy device 80x30 Calibrating delay loop (skipped), value calculated using timer frequency.. 100.00 BogoMIPS (lpj=500000) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) CPU: Testing write buffer coherency: ok Setting up static identity map for 0x40008200 - 0x40008258 devtmpfs: initialized VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns futex hash table entries: 256 (order: -1, 3072 bytes) pinctrl core: initialized pinctrl subsystem NET: Registered protocol family 16 DMA: preallocated 256 KiB pool for atomic coherent allocations Serial: AMBA PL011 UART driver 12040000.uart: ttyAMA0 at MMIO 0x12040000 (irq = 20, base_baud = 0) is a PL011 rev2 console [ttyAMA0] enabled ssp-pl022 12070000.spi: ARM PL022 driver, device ID: 0x00800022 ssp-pl022 12070000.spi: mapped registers from 0x12070000 to c2867000 ssp-pl022 12071000.spi: ARM PL022 driver, device ID: 0x00800022 ssp-pl022 12071000.spi: mapped registers from 0x12071000 to c286b000 usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb clocksource: Switched to clocksource arch_sys_counter NET: Registered protocol family 2 TCP established hash table entries: 1024 (order: 0, 4096 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes) TCP: Hash tables configured (established 1024 bind 1024) UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. workingset: timestamp_bits=30 max_order=13 bucket_order=0 squashfs: version 4.0 (2009/01/31) Phillip Lougher NFS: Registering the id_resolver key type Key type id_resolver registered Key type id_legacy registered jffs2: version 2.2 (NAND) (ZLIB) (RTIME) (c) 2001-2006 Red Hat, Inc. Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252) io scheduler noop registered io scheduler deadline registered (default) io scheduler cfq registered pl061_gpio 120b0000.gpio_chip: PL061 GPIO chip @0x120b0000 registered pl061_gpio 120b1000.gpio_chip: PL061 GPIO chip @0x120b1000 registered pl061_gpio 120b2000.gpio_chip: PL061 GPIO chip @0x120b2000 registered pl061_gpio 120b4000.gpio_chip: PL061 GPIO chip @0x120b4000 registered pl061_gpio 120b5000.gpio_chip: PL061 GPIO chip @0x120b5000 registered pl061_gpio 120b6000.gpio_chip: PL061 GPIO chip @0x120b6000 registered pl061_gpio 120b7000.gpio_chip: PL061 GPIO chip @0x120b7000 registered pl061_gpio 120b8000.gpio_chip: PL061 GPIO chip @0x120b8000 registered brd: module loaded hisi-sfc hisi_spi_nor.0: SPI Nor ID Table Version 1.2 hisi-sfc hisi_spi_nor.0: The ID: 0x20 isn't in the BP table, Current device can't not protect @spi_nor_scan(), no "m25p,fast-read". @spi_nor_scan(), modes->rd_modes:0x3d. hisi-sfc hisi_spi_nor.0: (Fast) Read: opcode=EBh, protocol=144, mode=0, wait=24 hisi-sfc hisi_spi_nor.0: nor->read_opcode[3: Read; 0B: Fast Read; 3B: Dual; BB: Dual IO; 6B: Quad; EB: Quad IO]: 0xeb. hisi-sfc hisi_spi_nor.0: xm25qh128a (Chipsize 16 Mbytes, Blocksize 64KiB) 5 cmdlinepart partitions found on MTD device hi_sfc 5 cmdlinepart partitions found on MTD device hi_sfc Creating 5 MTD partitions on "hi_sfc": 0x000000000000-0x000000040000 : "boot" 0x000000040000-0x000000050000 : "env" 0x000000050000-0x000000250000 : "kernel" 0x000000250000-0x000000750000 : "rootfs" 0x000000750000-0x000001000000 : "rootfs_data" SPI Nand ID Table Version 2.7 Cannot found a valid SPI Nand Device hisi_spi_nand_probe(175): Error: driver probe, result: -19 No OTP data, festa PHY use default ATE parameters! festa PHY wait autotrim done timeout! libphy: hisi_femac_mii_bus: probed libphy: Fixed MDIO Bus: probed hisi-femac 10040000.ethernet: connect to PHY failed! hibvt_rtc 120e0000.rtc: rtc core: registered 120e0000.rtc as rtc0 hibvt_rtc 120e0000.rtc: RTC driver for hibvt enabled i2c /dev entries driver hibvt-i2c 12060000.i2c: hibvt-i2c0@100000hz registered hibvt-i2c 12061000.i2c: hibvt-i2c1@100000hz registered hibvt-i2c 12062000.i2c: hibvt-i2c2@100000hz registered sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman sdhci-pltfm: SDHCI platform and OF driver helper mmc0: SDHCI controller on 10010000.sdhci [10010000.sdhci] using ADMA in legacy mode mmc1: SDHCI controller on 10020000.sdhci [10020000.sdhci] using ADMA in legacy mode usbcore: registered new interface driver usbhid usbhid: USB HID core driver Initializing XFRM netlink socket NET: Registered protocol family 17 NET: Registered protocol family 15 Key type dns_resolver registered hibvt_rtc 120e0000.rtc: hctosys: unable to read the hardware clock List of all partitions: 0100 65536 ram0 (driver?) 0101 65536 ram1 (driver?) 0102 65536 ram2 (driver?) 0103 65536 ram3 (driver?) 0104 65536 ram4 (driver?) 0105 65536 ram5 (driver?) 0106 65536 ram6 (driver?) 0107 65536 ram7 (driver?) 0108 65536 ram8 (driver?) 0109 65536 ram9 (driver?) 010a 65536 ram10 (driver?) 010b 65536 ram11 (driver?) 010c 65536 ram12 (driver?) 010d 65536 ram13 (driver?) 010e 65536 ram14 (driver?) 010f 65536 ram15 (driver?) 1f00 256 mtdblock0 (driver?) 1f01 64 mtdblock1 (driver?) 1f02 2048 mtdblock2 (driver?) 1f03 5120 mtdblock3 (driver?) 1f04 8896 mtdblock4 (driver?) No filesystem could mount root, tried: squashfs

    Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3) CPU: 0 PID: 1 Comm: swapper Not tainted 4.9.37 #1 Hardware name: Generic DT based system Backtrace: [] (dump_backtrace) from [] (show_stack+0x18/0x1c) r7:c1a6d009 r6:c047de88 r5:00000000 r4:c053f2e8 [] (show_stack) from [] (dump_stack+0x24/0x28) [] (dump_stack) from [] (panic+0xe4/0x24c) [] (panic) from [] (mount_block_root+0x280/0x2dc) r3:d3053b52 r2:d3053b52 r1:c183de8c r0:c047de88 r7:c1a6d009 [] (mount_block_root) from [] (mount_root+0x138/0x154) r10:c050d838 r9:c04ec620 r8:c050d834 r7:c053f024 r6:c051d18c r5:01f00003 r4:c051a808 [] (mount_root) from [] (prepare_namespace+0x184/0x1cc) r10:c050d838 r9:c04ec620 r8:c050d834 r7:c053f000 r6:c053f000 r5:c053f024 r4:c050d858 [] (prepare_namespace) from [] (kernel_init_freeable+0x1d0/0x1e0) r6:c053f000 r5:00000009 r4:c04e93a4 [] (kernel_init_freeable) from [] (kernel_init+0x10/0xfc) r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0400448 r4:00000000 [] (kernel_init) from [] (ret_from_fork+0x14/0x2c) r5:c0400448 r4:00000000

    hisilicon # bdinfo arch_number = 0x00001f40 boot_params = 0x40000100 DRAM bank = 0x00000000 -> start = 0x40000000 -> size = 0x04000000 eth0name = eth0 ethaddr = (not set) current eth = eth0 ip_addr = 192.168.2.221 baudrate = 115200 bps TLB addr = 0x43ff0000 relocaddr = 0x43f68000 reloc off = 0x03768000 irq_sp = 0x43ec7ed0 sp start = 0x43ec7ec0 Early malloc usage: 6c / 2000 hisilicon # coninfo List of available devices: serial 00000003 IO stdin stdout stderr pl01x_serial 00000003 IO

    hisilicon # getinfo spi Block:64KB Chip:16MB*1 ID:0x20 0x70 0x18 Name:"XM25QH128A"

    hisilicon # pri arch=arm baudrate=115200 board=hi3518ev300 board_id=MHgyMDdm board_name=hi3518ev300 bootargs=mem=${osmem:-32M} console=ttyAMA0,115200 panic=5 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=hi_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data) bootcmd=setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read 0x42000000 0x100000 0x300000; bootm 0x42000000 bootdelay=1 cpu=armv7 ethact=eth0 ipaddr=192.168.2.221 netmask=255.255.255.0 osmem=32M ptzsupport=1 sensor_name=F23 serverip=192.168.2.40 soc=hi3518ev300 stderr=serial stdin=serial stdout=serial totalmem=64M vendor=hisilicon verify=n

    Environment size: 889/262140 bytes

    what can I do that he finds the root filesystem

    opened by 001Tycoon 13
  • Building u-boot-t20

    Building u-boot-t20

    u-boot-t20 does not have any documentation on how it should be built.

    It appears to require GCC3 or 4, which are very difficult to find with mips cross-compile.

    Forcing it to use GCC5 or 10 causes errors.

    Surely I'm missing something, how is this supposed to be built?

    opened by moosehadley 0
  • Majestic not using configured DNS server

    Majestic not using configured DNS server

    Having a very strict firewall in place, I noticed that Majestic is trying to use different DNS servers than configured. Would be great to have this fixed and Majestic simply using the configured DNS server(s).

    See logging below:

    14:45:19  <       majestic> [  levent] libevent_log_cb@22            Nameserver 1.1.1.1:53 has failed: request timed out.
    14:45:19  <       majestic> [telemetr] dns_cb@229                    dns_cb result 67, retrying
    14:45:19  <       majestic> [telemetr] dns_cb@229                    dns_cb result 70, retrying
    14:45:35  <       majestic> [  levent] libevent_log_cb@22            Nameserver 95.217.179.189:53 has failed: request timed out.
    14:45:35  <       majestic> [telemetr] dns_cb@229                    dns_cb result 67, retrying
    14:45:39  <       majestic> [  levent] libevent_log_cb@22            Nameserver 8.8.8.8:53 has failed: request timed out.
    14:45:50  <       majestic> [  levent] libevent_log_cb@22            Nameserver 95.217.179.189:53 is back up
    14:45:59  <       majestic> [  levent] libevent_log_cb@22            Nameserver 8.8.8.8:53 is back up
    14:46:24  <       majestic> [  levent] libevent_log_cb@22            Nameserver 1.1.1.1:53 is back up
    

    It's not necessarily a backdoor, but would be a lot cleaner.

    opened by turboproc 0
  • IR cut filter control on hi3516ev300 based board

    IR cut filter control on hi3516ev300 based board

    Flashed yesterday an OpenIPC image on a hi3516ev300 based board (works like a charm, well documented).

    What I notice is that my image if fairly purple tainted, suggesting something is not right regarding the IR cut filter. Exact board that I use is https://nl.aliexpress.com/item/1005002345471331.html

    Any idea how to solve this?

    opened by turboproc 1
  • Writing a binary with non-aligned file size ends up with error in some bootloaders

    Writing a binary with non-aligned file size ends up with error in some bootloaders

    I stumbled upon a weird error today. sf write refused to write non-aligned binary into flash:

    isvp# sf probe 0; sf erase 0x0 0x50000; sf write 0x82000000 0x0 ${filesize}
    the manufacturer c2
    SF: Detected MX25L64**E
    
    SF: 327680 bytes @ 0x0 Erased: OK
    len align as 0x100 !
    SF: 239088 bytes @ 0x0 Written: ERROR
    

    Since 239088 is 0x3a5f0, aligned up to nearest 0x100 file size is 0x3A600. And it saves just fine.

    isvp# sf probe 0; sf erase 0x0 0x50000; sf write 0x82000000 0x0 0x3a600
    the manufacturer c2
    SF: Detected MX25L64**E
    
    SF: 327680 bytes @ 0x0 Erased: OK
    SF: 239104 bytes @ 0x0 Written: OK
    

    So the question is, can we pad binaries up to the nearest 0x100 upon compilation, or should we adjust installation manuals to replace ${filesize} with full partition size for writing data into flash memory?

    opened by themactep 0
  • Buildroot config rewamp

    Buildroot config rewamp

    Rewrite buildroot config files to update deprecated syntax. Create a meta-package for OpenIPC firmware to define firmware-specific variables like BR2_PACKAGE_OPENIPC_FLAVOR etc.

    enhancement 
    opened by themactep 0
Releases(latest)
Owner
OpenIPC
Alternative firmware for IP cameras based on the HiSilicon (and other) SoC's
OpenIPC
A small self-contained alternative to readline and libedit that supports UTF-8 and Windows and is BSD licensed.

Linenoise Next Generation A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. Unlik

ArangoDB 340 Dec 6, 2022
A small self-contained alternative to readline and libedit

Linenoise A minimal, zero-config, BSD licensed, readline replacement used in Redis, MongoDB, and Android. Single and multi line editing mode with the

Salvatore Sanfilippo 3.1k Jan 2, 2023
Flexible and fast Z-shell plugin manager that will allow installing everything from GitHub and other sites.

ZINIT News Zinit Wiki Quick Start Install Automatic Installation (Recommended) Manual Installation Usage Introduction Plugins and snippets Upgrade Zin

z-shell 26 Nov 15, 2022
ImguiCandy - Color utils, Themes and other cool stuff for Dear ImGui

ImguiCandy Color utils, Themes and other cool stuff for Dear ImGui Usage #include "candy.h" Utils These functions are to be used inside a loop, hence

null 15 Dec 16, 2022
FastReport.Cloud console tool for Linux and perhaps some other OSes

FastReport Cloud console shell This is a simple console shell to FastReport Cloud service. Prerequests GNU packages for build shell: curl-development

Aleksey Mandrykin 2 Feb 10, 2022
The KISS file manager: CLI-based, ultra-lightweight, lightning fast, and written in C

CliFM is a CLI-based, shell-like (non-curses) and KISS terminal file manager written in C: simple, fast, and lightweight as hell

leo-arch 819 Jan 8, 2023
Command-Based Text Editor written in cpp using Linked Lists and Stack

Command Based Text Editor Our goal in this project is to write a command-based text editor in cpp using linked lists and stack. This text editor will

bedirhanbardakci 3 Jun 9, 2021
Traffic capture and intercept program based on Windows Filtering Platform (WFT)

Traffic capture and intercept program based on Windows Filtering Platform (WFT)

null 2 Oct 17, 2021
Library for writing text-based user interfaces

IMPORTANT This library is no longer maintained. It's pretty small if you have a big project that relies on it, just maintain it yourself. Or look for

null 1.9k Dec 22, 2022
ImTui: Immediate Mode Text-based User Interface

imtui ImTui is an immediate mode text-based user interface library. Supports 256 ANSI colors and mouse/keyboard input. Live demo in the browser Eventh

Georgi Gerganov 2.1k Jan 5, 2023
Fegeya Freud, CLI FPaper renderer, based on Totem (`less`-like tool without `--help`)

Fegeya Freud, CLI FPaper renderer, based on Totem (`less`-like tool without `--help`)

Ferhat Geçdoğan 3 Jun 11, 2021
sc4cpp is a shellcode framework based on C++

sc4cpp is a shellcode framework based on C++

null 72 Jan 7, 2023
Simple, command line based player toolkit for the Ironsworn tabletop RPG

isscrolls - Command line based player toolkit for the Ironsworn tabletop RPG isscrolls is a simple toolkit for players of the Ironsworn tabletop RPG.

null 7 Sep 9, 2022
A C-based Mini Shell: mumsh

A C-based Mini Shell: mumsh This project is a course project in VE482 Operating System @UM-SJTU Joint Institute. In this project, a mini shell mumsh i

Kexuan Huang 5 Sep 28, 2022
BCJR-based decoder for CCSDS turbo codes (according to CCSDS 131.0-B-3)

ccsds-tc ccsds-tc is a small project that attempts to systematize the decoding of space packets as received by ground stations of the Amateur DSN. Thi

Gonzalo José Carracedo Carballal 9 Feb 23, 2022
Library for creating terminal applications with text-based widgets

Library for creating terminal applications with text-based widgets FINAL CUT is a C++ class library and widget toolkit with full mouse support for cre

Markus Gans 724 Dec 30, 2022
A CLI based solver for the popular word guessing game WORDLE

Project WAR WAR stands for Wordle Answer and Resolver About Wordle is a web-based word game developed by Welsh-born software engineer Josh Wardle, for

Yeluri Ketan 2 Feb 19, 2022
A readline and libedit replacement that supports UTF-8, syntax highlighting, hints and Windows and is BSD licensed.

Read Evaluate Print Loop ++ A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. Unl

Marcin Konarski 604 Jan 6, 2023
A simple header-only C++ argument parser library. Supposed to be flexible and powerful, and attempts to be compatible with the functionality of the Python standard argparse library (though not necessarily the API).

args Note that this library is essentially in maintenance mode. I haven't had the time to work on it or give it the love that it deserves. I'm not add

Taylor C. Richberger 1.1k Jan 4, 2023