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.

    [email protected]:~# 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
    
    [email protected]:~# 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] [email protected]                      Majestic Lite for HiSilicon, version HEAD+710e284, built on 2022-11-17
    14:02:22  <       majestic> [app_conf] [email protected]                Using /etc/majestic.yaml as main configuration
    14:02:23  <       majestic> [watchdog] [email protected]            Detected Watchdog
    14:02:23  <       majestic> [watchdog] [email protected]            Watchdog timeout set to 10 seconds
    14:02:23  <       majestic> [     sdk] [email protected]        SENSOR=imx335
    14:02:23  <       majestic> [     sdk] [email protected]       matched sensor config: imx335_i2c_4M.ini
    14:02:23  <       majestic> [     sdk] [email protected]                 Using /etc/sensors/imx335_i2c_4M.ini sensor configuration file
    14:02:23  <       majestic> [     sdk] [email protected]                 App was built with MPP version: Hi3516EV200_MPP_V1.0.1.2.B030 Release
    14:02:23  <       majestic> [     sdk] [email protected]                 Current MPP version: HI_VERSION=Hi3516EV200_MPP_V1.0.1.2 B030 Release
    14:02:23  <       majestic> [     sdk] [email protected]                 sensor stSnsImx335Obj
    14:02:23  <       majestic> [     sdk] [email protected]                   input_mode MIPI, WDR NONE
    14:02:23  <       majestic> [     sdk] [email protected]                   dev [2592x1520]@200x20 25fps, RGGB
    14:02:23  <       majestic> [  sensor] [email protected]                trying to load /usr/lib/sensors/libsns_imx335.so
    14:02:23  <       majestic> [     hal] [email protected]          Free MMZ mem before allocation: 98272KB
    14:02:23  <       majestic> [     sdk] [email protected]    VB configuration:
    14:02:23  <       majestic> [     sdk] [email protected]      [0]: 5909760 x 5
    14:02:23  <       majestic> [     sdk] [email protected]      [1]: 4924800 x 1
    14:02:23  <       majestic> [     hal] [email protected]          Free MMZ mem after allocation: 64592KB
    14:02:23  <       majestic> [     sdk] [email protected]              Sensor driver loaded
    14:02:23  <       majestic> [     sdk] [email protected]                  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] [email protected]            Loading IQ profile /etc/sensors/iq/default.ini
    14:02:23  <       majestic> [     sdk] [email protected]             H.265 2592x1520 25fps 4096Kbit  25 GOP
    14:02:23  <       majestic> [     sdk] [email protected]             new venc: 0   vpss_grp: 0,   vpss_chn: 0
    14:02:23  <       majestic> [     hal] [email protected]                 allocated Ct x 1=40, Str x 1=2896, PInfo x 2=616, Rcn x 2=11752
    14:02:23  <       majestic> [     sdk] [email protected]                venc took 15304KB of MMZ [2885]
    14:02:23  <       majestic> [image_tu] [email protected]  Image tuning task started
    14:02:23  <       majestic> [     sdk] [email protected]                 HiSilicon SDK started
    14:02:23  <       majestic> [     hal] [email protected]          Free MMZ mem finally: 42988KB
    14:02:23  <       majestic> [   httpd] [email protected]           HTTP server started on :::80
    14:02:23  <       majestic> [    rtsp] [email protected]                  RTSP server started on port 554
    14:02:23  <       majestic> [   netip] [email protected]              NETIP server started on port 34567
    14:02:25  <       majestic> [     sdk] [email protected]                 Timeout get any data from venc channel 0
    14:02:25  <       majestic> [     sdk] [email protected]                 NOTE: Current frame is NULL!
    14:02:27  <       majestic> [     sdk] [email protected]                 Timeout get any data from venc channel 0
    14:02:27  <       majestic> [     sdk] [email protected]                 NOTE: Current frame is NULL!
    14:02:29  <       majestic> [     sdk] [email protected]                 Timeout get any data from venc channel 0
    14:02:29  <       majestic> [     sdk] [email protected]                 NOTE: Current frame is NULL!
    14:02:31  <       majestic> [     sdk] [email protected]                 Timeout get any data from venc channel 0
    14:02:31  <       majestic> [     sdk] [email protected]                 NOTE: Current frame is NULL!
    14:02:33  <       majestic> [     sdk] [email protected]                 Timeout get any data from venc channel 0
    14:02:33  <       majestic> [     sdk] [email protected]                 NOTE: Current frame is NULL!
    ^C14:02:34  <       majestic> [     log] [email protected]                    Interrupt signal received
    14:02:36  <  thread-pool-1> [     hal] [email protected] Cannot get chn 0 frame for vpssGrp=0
    14:02:36  <  thread-pool-1> [     hal] [email protected] ERR_VPSS_BUF_EMPTY: The picture queue is empty
    14:02:36  <  thread-pool-1> [image_co] [email protected] Cannot take yuv420sp VI frame
    14:02:36  <  thread-pool-1> [image_co] [email protected] ERR_VPSS_BUF_EMPTY: The picture queue is empty
    14:02:36  <  thread-pool-1> [image_tu] [email protected]         get_histogram errored
    14:02:36  <      hi_logger> [    vpss] [email protected] vpss(0,0) user get frame time out, s32MilliSec=10000
    14:02:39  <  thread-pool-0> [     hal] [email protected] Cannot get chn 0 frame for vpssGrp=0
    14:02:39  <  thread-pool-0> [     hal] [email protected] ERR_VPSS_BUF_EMPTY: The picture queue is empty
    14:02:39  <  thread-pool-0> [image_co] [email protected] Cannot take yuv420sp VI frame
    14:02:39  <  thread-pool-0> [image_co] [email protected] ERR_VPSS_BUF_EMPTY: The picture queue is empty
    14:02:39  <  thread-pool-0> [image_tu] [email protected]         get_histogram errored
    14:02:39  <      hi_logger> [    vpss] [email protected] vpss(0,0) user get frame time out, s32MilliSec=10000
    14:02:39  <       majestic> [     sdk] [email protected]                 Stopped 0 channel
    14:02:39  <      hi_logger> [      vi] [email protected]  Wait Pipe 0 Capture stop timeout 120ms!!!
    14:02:39  <       majestic> [     sdk] [email protected]                 Stop sdk Ok!
    14:02:39  <       majestic> [    main] [email protected]                      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 ([email protected]) (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/[email protected]/[email protected]
    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)
    
    
    
    [email protected]:~# 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 ([email protected]) (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
  • Некорректно работает ntp. Часы отстают на 1 час 5 минут

    Некорректно работает ntp. Часы отстают на 1 час 5 минут

    Установлен корректный часовой пояс. При перезапуске камеры время всегда устанавливается на 1 час 5 минут назад и так и показывают все время. Если нажать кнопку синхронизировать с ntp то устанавливается корректное время. После перезапуска часы также сбиваются. Во время работы автосинронизация с ntp не работает

    opened by esuslik 12
  • 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
  • Loading kernel size is set to 0x200000 for all NOR flashes.

    Loading kernel size is set to 0x200000 for all NOR flashes.

    https://github.com/OpenIPC/u-boot-hi3516cv200/blob/ae13e94c6279acb5520fcbf6287d0d8dd19ef2d6/include/configs/hi-common.h#L23

    Right now bootcmdnor is loaded universally

    "setnor8m=run mtdpartsnor8m; setenv bootcmd ${bootcmdnor8m}; saveenv; reset\0" \
    "setnor16m=run mtdpartsnor16m; setenv bootcmd ${bootcmdnor16}; saveenv; reset\0" \
    

    with bootcmdnor being

    "bootcmdnor=setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read ${baseaddr} 0x50000 0x200000; bootm ${baseaddr}\0" \
    

    We need to split it into

    "bootcmdnor8m=setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read ${baseaddr} 0x50000 0x200000; bootm ${baseaddr}\0" \
    "bootcmdnor16m=setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read ${baseaddr} 0x50000 0x300000; bootm ${baseaddr}\0" \
    

    and change setnot8m/setnot16m accordingly:

    "setnor8m=run mtdpartsnor8m; setenv bootcmd ${bootcmdnor8m}; saveenv; reset\0" \
    "setnor16m=run mtdpartsnor16m; setenv bootcmd ${bootcmdnor16m}; saveenv; reset\0" \
    
    opened by themactep 0
  • hi3516dv100  не работает встроенный микрофон

    hi3516dv100 не работает встроенный микрофон

    Камера DS-2CD2345F-IS. Работает линейный аудиовход, но не работает встроенный микрофон. Переключение источника в конфиге Маджестика не даёт никакого результата. Звук как шёл с линейного входа, так и идёт, а с микрофона как не было, так и нет.

    opened by mixatronik 6
  • Add GPIO control in U-Boot

    Add GPIO control in U-Boot

    The idea is that when U-Boot boots itself, it can set GPIO/S to 0/1 by taking values from the env. For example: On any board with different pins to power on SD cards from which you actually need to take or put files (which are not powered on now, if there are MOSFETs on the GPIO and different cameras), include for example a LED indicating the start of the U-Boot, or other similar things.

    For example, create a variable GPIO and there write the numbers with their state separated by a separator or as Igor says: "as it is done in extras, so do it in autorun i.e. everything that is written there - execute at boot start"

    opened by mariarti 1
  • IMX385 on Hi3516AV200

    IMX385 on Hi3516AV200

    Hi, thanks for this great project! I'm trying to run OpenIPC on a camera based on Hi3516AV200 and IMX385. I've installed the newest OpenIPC firmware without any problem, but can't get majestic to show any image.

    Camera ino

    SoC: Hi3516AV200 Sensor: IMX385 Memory Size: 256MB Flash Size: 128MB Nand

    [email protected]:~# ipctool
    The ipctool installed as remote GitHub plugin---
    board:
      vendor: OpenIPC
      version: 2.2.10.17
    chip:
      vendor: HiSilicon
      model: 3516AV200
    ethernet:
      mac: "00:00:23:34:45:66"
      phy-mode: rmii
    rom:
      - type: nand
        block: 128K
        partitions:
          - name: uboot
            size: 0xc0000
            sha1: 2b1faaf9
            contains:
              - name: uboot-env
                offset: 0x60000
          - name: wtf
            size: 0x40000
            sha1: 1e4903cd
          - name: kernel
            size: 0x300000
            sha1: 9d0cc1b0
          - name: ubi
            size: 0x7c00000
            sha1: 53fda73a
        size: 128M
    ram:
      total: 256M
      media: 64M
    firmware:
      u-boot: "2010.06 (Mar 21 2019 - 16:49:26)"
      kernel: "3.18.20 (SMP Mon Oct 17 14:10:31 UTC 2022)"
      toolchain: gcc version 8.4.0 (Buildroot -gbc3606dc-dirty)
      sdk: "Hi3519V101_MPP_V1.0.5.0 B040 Release (Jul  5 2018, 18:13:06)"
    sensors:
    - vendor: Sony
      model: IMX385
      control:
        bus: 0
        type: i2c
        addr: 0x34
      vicap0-state: down
      vicap1-state: down
    

    fw_printenv

    bootdelay=1
    baudrate=115200
    mdio_intf=rmii
    ethaddr=00:00:23:34:45:66
    bootfile="uImage"
    filesize=BA0000
    fileaddr=82000000
    netmask=255.255.255.0
    ipaddr=192.168.2.37
    serverip=192.168.2.52
    bootcmd=nand read 0x82000000 0x100000 0x300000;bootm 0x82000000
    soc=hi3516av200
    totalmem=256M
    stdin=serial
    stdout=serial
    stderr=serial
    verify=n
    ver=U-Boot 2010.06 (Mar 21 2019 - 16:49:26)
    osmem=192M
    bootargs=mem=192M totalmem=256M console=ttyAMA0,115200 panic=20 root=ubi0:rootfs rootfstype=ubifs ubi.mtd=3,2048 init=/init mtdparts=hinand:768K(uboot),256K(wtf),3072K(kernel),-(ubi)
    sensor=imx385
    

    Booting log

    hisilicon: It is not possible to install a new MAC on the eth0 interface..
    hisilicon: Loading of kernel modules and initialization of the video system has started
    mmz_start: 0x8c000000, mmz_size: 64M
    hisilicon: Get data from environment and set SENSOR as imx385
    ++++++++++++++++++++++++++++++++++++++++++++++
    ==============vi_vpss_online==============
    ==== Your input Sensor0 type is imx385 ====
    ==== Your input Sensor1 type is NULL ====
    Starting majestic: OK
    
    Welcome to OpenIPC v2.2
    

    Manually start majestic with SENSOR=imx385_i2c_1080p majestic, got this error message

    10:32:19  <       majestic> [    main] [email protected]                      Majestic ultimate for HISILICON, version HEAD+6f69f02, built on 2022-10-17
    10:32:19  <       majestic> [app_conf] [email protected]                Using /etc/majestic.yaml as main configuration
    10:32:19  <       majestic> [watchdog] [email protected]             Watchdog device (/dev/watchdog) not found
    10:32:19  <       majestic> [     sdk] [email protected]        SENSOR=imx385
    10:32:19  <       majestic> [     sdk] [email protected]       matched sensor config: imx385_i2c_1080p.ini
    10:32:19  <       majestic> [     sdk] [email protected]       matched sensor config: imx385_i2c_lvds_1080p.ini
    10:32:19  <       majestic> [     sdk] [email protected]       Several sensor configs matched. Select one of them and
    10:32:19  <       majestic> [     sdk] [email protected]       set 'isp.sensorConfig' param in config file
    10:32:19  <       majestic> [    main] [email protected]                      Shutdown main thread
    [email protected]:~# SENSOR=imx385_i2c_1080p majestic
    10:32:52  <       majestic> [    main] [email protected]                      Majestic ultimate for HISILICON, version HEAD+6f69f02, built on 2022-10-17
    10:32:52  <       majestic> [app_conf] [email protected]                Using /etc/majestic.yaml as main configuration
    10:32:52  <       majestic> [watchdog] [email protected]             Watchdog device (/dev/watchdog) not found
    10:32:52  <       majestic> [     sdk] [email protected]        SENSOR=imx385_i2c_1080p
    10:32:52  <       majestic> [     sdk] [email protected]       matched sensor config: imx385_i2c_1080p.ini
    10:32:52  <       majestic> [     sdk] [email protected]                 Using /etc/sensors/imx385_i2c_1080p.ini sensor configuration file
    10:32:52  <       majestic> [     sdk] [email protected]                 App was built with MPP version: Hi3519V101_MPP_V1.0.5.0.B040 Release
    10:32:52  <       majestic> [     sdk] [email protected]                 Current MPP version: HI_VERSION=Hi3519V101_MPP_V1.0.5.0 B040 Release
    10:32:52  <       majestic> [     sdk] [email protected]                 sensor stSnsObj
    10:32:52  <       majestic> [     sdk] [email protected]                   input_mode MIPI, WDR NONE
    10:32:52  <       majestic> [     sdk] [email protected]                   dev [1920x1080]@4x4 25fps, RGGB
    10:32:52  <       majestic> [  sensor] [email protected]                trying to load /usr/lib/sensors/libsns_imx385.so
    10:32:52  <       majestic> [     hal] [email protected]          Free MMZ mem before allocation: 65420KB
    10:32:52  <       majestic> [     sdk] [email protected]    VB configuration:
    10:32:52  <       majestic> [     sdk] [email protected]      [0]: 3110400 x 3
    10:32:52  <       majestic> [     sdk] [email protected]      [1]: 3110400 x 1
    10:32:52  <       majestic> [     hal] [email protected]          Free MMZ mem after allocation: 53256KB
    10:32:52  <       majestic> [     sdk] [email protected]              Sensor driver loaded
    10:32:52  <       majestic> [     sdk] [email protected]                  SDK is in 'online' mode
    10:32:52  <       majestic> [    puts]                               linear mode
    10:32:52  <       majestic> [    puts]                               Dng image static info have not been initialized in Cmos.c!
    10:32:52  <       majestic> [    puts]                               -------Sony IMX385 Sensor 1080p30 Initial OK!-------
    10:32:52  <       majestic> [     sdk] [email protected]             H.265 1920x1080 25fps 4096Kbit  25 GOP
    10:32:52  <       majestic> [     sdk] [email protected]             new venc: 0   vpss_grp: 0,   vpss_chn: 0
    10:32:52  <       majestic> [     sdk] [email protected]                venc took 8152KB of MMZ [1518]
    10:32:52  <       majestic> [image_tu] [email protected]  Image tuning task started
    10:32:52  <       majestic> [     sdk] [email protected]                 HiSilicon SDK started
    10:32:52  <       majestic> [     hal] [email protected]          Free MMZ mem finally: 37788KB
    10:32:52  <       majestic> [   httpd] [email protected]           HTTP server started on :::80
    10:32:52  <       majestic> [    rtsp] [email protected]                  RTSP server started on port 554
    10:32:52  <       majestic> [   netip] [email protected]              NETIP server started on port 34567
    10:32:54  <       majestic> [     sdk] [email protected]                 Timeout get any data from venc channel 0
    10:32:54  <       majestic> [     sdk] [email protected]                 NOTE: Current frame is NULL!
    10:32:56  <       majestic> [     sdk] [email protected]                 Timeout get any data from venc channel 0
    10:32:56  <       majestic> [     sdk] [email protected]                 NOTE: Current frame is NULL!
    10:32:58  <       majestic> [     sdk] [email protected]                 Timeout get any data from venc channel 0
    10:32:58  <       majestic> [     sdk] [email protected]                 NOTE: Current frame is NULL!
    10:33:00  <       majestic> [     sdk] [email protected]                 Timeout get any data from venc channel 0
    10:33:00  <       majestic> [     sdk] [email protected]                 NOTE: Current frame is NULL!
    10:33:02  <       majestic> [     sdk] [email protected]                 Timeout get any data from venc channel 0
    10:33:02  <       majestic> [     sdk] [email protected]                 NOTE: Current frame is NULL!
    10:33:04  <       majestic> [     sdk] [email protected]                 Timeout get any data from venc channel 0
    10:33:04  <       majestic> [     sdk] [email protected]                 NOTE: Current frame is NULL!
    10:33:05  <  thread-pool-1> [     hal] [email protected] Cannot get chn 0 frame for vpssGrp=0
    10:33:05  <  thread-pool-1> [     hal] [email protected] ERR_VPSS_BUF_EMPTY: The picture queue is empty
    10:33:05  <  thread-pool-1> [image_co] [email protected] Cannot take yuv420sp VI frame
    10:33:05  <  thread-pool-1> [image_co] [email protected] ERR_VPSS_BUF_EMPTY: The picture queue is empty
    10:33:05  <  thread-pool-1> [image_tu] [email protected]         get_histogram errored
    10:33:05  <      hi_logger> [    vpss] [email protected]          vpss(0, 0) user get frame time out, s32MilliSec=10000
    10:33:06  <       majestic> [     sdk] [email protected]                 Timeout get any data from venc channel 0
    

    Meanwhile, dmesg shows these four messages keep repeating:

    hisi-i2c-v110 12110000.i2c: wait rx no empty abort, RI: 0x750
    hisi-i2c-v110 12110000.i2c: TX_ABRT:0x1
    hisi-i2c-v110 12110000.i2c: wait rx no empty abort, RI: 0x550
    hisi-i2c-v110 12110000.i2c: TX_ABRT:0x1
    

    cat /proc/umap/vi

    [VIU] Version: [Hi3519V101_MPP_V1.0.5.0 B040 Release], Build Time: [Jul  5 2018, 18:13:19]
    
    -----MODULE PARAM---------------------------------------------------------------
    detect_err_frame  drop_err_frame   stop_int_level    yuv_skip   delay_line
                  10               0                0           0          500
    
    -----VI-VPSS ONLINE STATE-------------------------------------------------------
         OnlineState
              online
    
    -----VI MODULE STATE------------------------------------------------------------
         ModuleState
             Stopped
    
    -----VI PORT SIZE---------------------------------------------------------------
         Dev   WIDTH  HEIGHT
    
    -----VI DEV ATTR1---------------------------------------------------------------
         Dev   IntfM     WkM     ComMsk0     ComMsk1   ScanM     AD0     AD1     AD2
    
    -----VI DEV ATTR2---------------------------------------------------------------
         AD3     Seq   DPath   DType    DRev    CapX    CapY    CapW    CapH  BasW  BasH  Comp HReph VReph
    
    -----VI HIGH DEV ATTR 1---------------------------------------------------------
         Dev  InputM     WkM     ComMsk0     ComMsk1   ScanM     AD0     AD1     AD2
    
    -----VI HIGH DEV ATTR 2---------------------------------------------------------
         AD3     Seq   CombM   CompM    ClkM     Fix    FldP   DPath   DType    DRev
    
    -----VI HIGH DEV ATTR 3---------------------------------------------------------
        CapX    CapY    CapW    CapH  BasW  BasH  Comp HReph VReph
    
    -----VI PHYCHN ATTR 1-----------------------------------------------------------
      PhyChn    CapX    CapY    CapW    CapH    DstW    DstH  CapSel  Mirror    Flip
    
    -----VI PHYCHN ATTR 2-----------------------------------------------------------
       IntEn  PixFom  SrcRat  DstRat    Comp
    
    -----VI PHYCHN STATUS 1---------------------------------------------------------
      PhyChn     Dev      IntCnt  VbFail      LosInt  TopLos  BotLos  BufCnt    IntT
    
    -----VI PHYCHN STATUS 2---------------------------------------------------------
       SendT   Field  Stride MaxIntT     IntGapT     MaxGapT LIntCnt  ThrCnt AutoDis
    
    -----VI PHYCHN STATUS 3---------------------------------------------------------
     CasAutD  TmgErr      ccErrN      IntRat
    
    -----VI LDC ATTR----------------------------------------------------------------
     PhyChn  ViewType  Ratio minRatio  COffX  COffY Enable
    
    -----VI Cylind Correction ATTR------------------------------------------------------------
     PhyChn  Enable   Ratio  CYOffX  CYOffY
    
    -----VI SPREAD ATTR------------------------------------------------------------
     PhyChn  Enable    OutW    OutH    Coef
    
    -----VI ROTATE_EX ATTR------------------------------------------------------------
     PhyChn Enable ViewType  Angle  CYOffX  CYOffY    OutW    OutH
    
    -----VI Stitching Correction ATTR------------------------------------------------------------
     PhyChn  Enable    OutW    OutH   Coef0   Coef1      Coef2   Coef3   Coef4      Coef5  Coef6  Coef7  Coef8
    
    -----VI FLASH ATTR--------------------------------------------------------------
     Dev   Mode StartTime  DuraTime  InterVal CapIdx Enable  FlashedNum
    
    -----VI CSC ATTR----------------------------------------------------------------
     Dev   Type HueVal  ContrVal   LumaVal  StatuVal    TVMode
    
    -----VI DCI ATTR----------------------------------------------------------------
     Dev Enable BlackGain ContrGain LightGain  ManBlendEn  BlendRatio  BlackStretchEn
    
    -----VI VC NUMBER---------------------------------------------------------------
     Dev   Linear     DES0     DES1     DES2
       0       NA       NA       NA       NA
       1       NA       NA       NA       NA
    
    -----VI WDR ATTR----------------------------------------------------------------
     Dev      Mode  BufNum    DstW    DstH  PoolId   VcNum  DesNum   State    Comp
    
    -----VI WDR DES STATUS----------------------------------------------------------
     Dev     Idx    IntGap    IntCnt  CcErrCnt
    
    -----VI WDR SRC STATUS----------------------------------------------------------
     Dev     Idx    IntGap    IntCnt  CcErrCnt
    
    -----VI WDR COMBINE STATUS------------------------------------------------------
     Dev    IntGap    IntCnt  CcErrCnt
    
    -----VI SNAP ATTR-------------------------------------------------------------------------
     Dev  IspDev    Type  RefNum Depth  SrcRat  DstRat  bZSL  RollbackMs  Interval  FrameCnt
    
    -----VI SNAP STATUS-----------------------------------------------------------------------
     Dev       State  TotalCnt CapturedCnt ReadCnt OverCnt  0RefCurCnt  2RefCurCnt  2RefRefCnt
    

    cat /proc/umap/hi_mipi

    Module: [MIPI], Build Time: [Jul  5 2018, 18:15:04]
    
    -----Combo DEV ATTR-----------------------------------------------------------------------------------------------------
       Devno  WorkMode  DataType   WDRMode      LinkId    ImgX    ImgY    ImgW    ImgH  SyncMode  DataEndian  SyncCodeEndian
           0      MIPI     RAW12      None           0       0       0    1920    1080       N/A         N/A             N/A
    
    -----LINK INFO------------------------------------------------------
     LinkIdx LaneCount        LaneId     PhyData AlignedData   ValidLane
           0         4    0, 1, 2, 3   0x1056101   0x1a08608  0, 1, 2, 3
    -----mipi detect info----------------------------------------------------
     Devno VC   width  height
         0  0    1920    1080
         0  1       0       0
         0  2       0       0
         0  3       0       0
    
    -----fsm timeout and escape info---------------------------------------------
     link clkTOutCnt d0TOutCnt   d1TOutCnt   d2TOutCnt   d3TOutCnt clkEscCnt  d0EscCnt  d1EscCnt  d2EscCnt  d3EscCnt
        0     0           0           0           0           0         0         0         0         0         0
        1     0           0           0           0           0         0         0         0         0         0
        2     0           0           0           0           0         0         0         0         0         0
    -----MIPI int error info-----------------------------------------------------------
    
     Devno vc0CRC vc1CRC vc2CRC vc3CRC vc0OrderErr vc1OrderErr vc2OrderErr vc3OrderErr vc0NMatCnt vc1NMatCnt vc2NMatCnt vc3NMatCnt
         0      0      0      0      0           0           0           0           0          0          0          0          0
    
     Devno HCntErr vc0HECC vc1HECC vc2HECC vc3HECC vc0DtErr vc1DtErr vc2DtErr vc3DtErr
         0       0       0       0       0       0        0        0        0        0
    
     Devno CMD_FIFO_RERR DATA_FIFO_RERR CMD_FIFO_WERR DATA_FIFO_WERR
         0             0              0             0              0
    
    
    -----ALING Err info--------------------------------------
     Devno FIFO_FullErr  Lane0Err  Lane1Err  Lane2Err  Lane3Err  Lane4Err  Lane5Err  Lane6Err  Lane7Err  Lane8Err  Lane9Err Lane10Err Lane11Err
         0            0         0         0         0         0         0         0         0         0         0         0         0         0
    

    And this is the libsns_imx385.so file from stock firmware

    libsns_imx385.so.zip

    I tried to replace /usr/lib/sensors/libsns_imx385.so with the one from stock firmware, but majestic gave this message:

    05:16:11  <       majestic> [  sensor] [email protected]                trying to load /usr/lib/sensors/libsns_imx385.so
    05:16:11  <       majestic> [     hal] [email protected]          Free MMZ mem before allocation: 65420KB
    05:16:11  <       majestic> [     sdk] [email protected]    VB configuration:
    05:16:11  <       majestic> [     sdk] [email protected]      [0]: 3110400 x 3
    05:16:11  <       majestic> [     sdk] [email protected]      [1]: 3110400 x 1
    05:16:11  <       majestic> [     hal] [email protected]          Free MMZ mem after allocation: 53256KB
    05:16:11  <       majestic> [  sensor] [email protected]          Cannot load symbol 'stSnsObj' from driver
    05:16:11  <       majestic> [  sensor] [email protected]          Run: strings /usr/lib/sensors/libsns_imx385.so | grep -e ^stSns
    05:16:11  <       majestic> [  sensor] [email protected]          to demermine proper Sensor_type parameter
    05:16:11  <       majestic> [     sdk] [email protected]                 Cannot init sensor
    05:16:11  <       majestic> [    main] [email protected]                      Shutdown main thread
    

    Please let me know if you need any other information and thank you again for this great project

    hardware needed 
    opened by gitgayhub 5
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 Nov 15, 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 Nov 20, 2022
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 13 Oct 31, 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 766 Nov 22, 2022
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 Nov 17, 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 2k Nov 23, 2022
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 69 Nov 19, 2022
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 691 Nov 15, 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 599 Nov 19, 2022
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 1k Nov 22, 2022