Coder Social home page Coder Social logo

openipc / firmware Goto Github PK

View Code? Open in Web Editor NEW
1.1K 38.0 223.0 183.69 MB

Alternative IP Camera firmware from an open community

Home Page: https://openipc.org

License: MIT License

Makefile 3.82% C 89.72% Shell 4.82% Lua 0.14% Roff 0.60% C++ 0.92%
openipc buildroot zftlab ipcam hisilicon sigmastar anyka xm xiongmai ingenic

firmware's Introduction

OpenIPC_custom_repo

firmware's People

Contributors

ajlennon avatar anzhdan2 avatar carbofos avatar ch999dev avatar cocus avatar cronyx avatar dimerr avatar flyrouter avatar gtxaspec avatar ihardrock avatar jayfan0 avatar jimsmt avatar mariofpvdev avatar naksper avatar nitr0man avatar p0i5k avatar petrusoroaga avatar pianist avatar roboschmied avatar sakalva avatar skilurius avatar thegroove avatar themactep avatar viktorxda avatar whoim2 avatar widgetii avatar ystinia avatar yuukihogo avatar zerog2k avatar zigfisher avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

firmware's Issues

Issue on Escam QF518 with XM530/XM550 and SC5332

I don't get any picture when I try to run the latest firmware (2.1.11.03) on an Escam QF518.
I tried the XM550 and XM530 firmware.

When I try to run majestic manually I receive following result:

root@openipc-xm530:~# majestic
LIBH264: Complied at Apr 30 2019 16:55:22
23:39:45 [    main] main@124                      Majestic Free for Xiongmai, version master+70ebb25, built on 2021-11-03
23:39:45 [app_conf] load_config@122               Using /etc/majestic.yaml as main configuration
23:39:45 [     sdk] sdk_specific_config@777       sdk_specific_config()
23:39:45 [watchdog] watchdog_start@85             Watchdog timeout set to 10 seconds
DEBUG: [ISP_SDK]BUILD TIME:Sep 21 2021 11:58:04
DEBUG: OSC:12M
23:39:45 [     log] printf@229                    SYS/VI set in [ Sofia ]
23:39:45 [     log] printf@229                    Vstd_init     [ PAL ]
23:39:45 [     log] printf@229                    Rslt  [ 0 ]
23:39:45 [     log] printf@229                    IPC_Venc:     [ H.264 ]
23:39:45 [     log] printf@229                    Sns_IF:       [ By src ]

DEBUG: sensor_get_chip:
23:39:47 [     log] printf@229                    0x36
 23:39:47 [     log] printf@229                    0x2
 23:39:47 [     log] printf@229                    0x1
 23:39:47 [     log] printf@229                    0x0
23:39:47 [    puts]
DEBUG: DspChip:XM530
DEBUG: SnsIF:DVP
DEBUG: Vstd:PAL[25fps]
ERR: Not Support this sensor!
ERR: sensor_register_callback failed!
DEBUG: isp_sample end!
DEBUG: ProductType: 0x0
ERR: libfvideo: not support this product! 0x82
23:39:47 [     sdk] ViChnConfig@124               ViChn = 0, enNorm = 0, enSize = 14
23:39:47 [     sdk] COMM_VENC_Start@175           VencChn = 0,enType = 265,enNorm = 0,enSize = 14,enRcMode = 0
23:39:47 [     sdk] COMM_SYS_GetPicSize@152       enNorm = 0,enPicSize = 14
DEBUG: black and white
DEBUG: EShutter 1/1
23:39:49 [     sdk] COMM_VENC_Start@447           XM_MPI_VENC_CreateChn [0] failed with 0xa0078007!
23:39:49 [     sdk] start_sdk@663                 Start VencChn 0 failed!
23:39:49 [     sdk] sdk_dealloc_static_bufs@707   sdk_dealloc_static_bufs()
23:39:49 [watchdog] watchdog_stop@126             Watchdog closed
23:39:49 [    main] main@194                      Shutdown main thread
root@openipc-xm530:~#

ipctool result:

root@openipc-xm530:~# ipctool
---
board:
  vendor: Xiongmai
chip:
  vendor: Xiongmai
  model: XM550
ethernet:
  mac: "00:12:41:b5:bc:51"
rom:
  - type: nor
    block: 64K
    partitions:
      - name: boot
        size: 0x40000
        sha1: 7fd8e955
        contains:
          - name: xmcrypto
            offset: 0x2fc00
          - name: uboot-env
            offset: 0x30000
      - name: env
        size: 0x10000
        sha1: b0152796
      - name: kernel
        size: 0x200000
        sha1: 48c811df
      - name: rootfs
        size: 0x500000
        path: /,squashfs
        sha1: 712470fd
      - name: rootfs_data
        size: 0xb0000
        path: /overlay,jffs2,rw
    size: 8M
ram:
  total: 64M
  media: 32M
firmware:
  kernel: "3.10.103+ (SMP Wed Nov 3 14:59:04 UTC 2021)"
  toolchain: gcc version 7.5.0 (Buildroot -gf380b16)
sensors:
- vendor: SmartSens
  model: SC5332
  control:
    bus: 0
    type: i2c
    addr: 0x30
root@openipc-xm530:~#

What is irritating for me is that majestic tells me XM530 and ipctool XM550

Here is a picture of the SOC:
image

Here is the device:
https://www.banggood.com/ESCAM-QF518-5MP-Pan-or-Tilt-AI-Humanoid-Detection-Auto-Tracking-Cloud-Storage-Waterproof-WiFi-IP-Camera-with-Two-Way-Audio-Night-Vision-p-1731086.html

[META] Decide who's target audience of the project

To properly develop web site, documentation, and project structure overall, it should be decided who's the target audience of the project. Possible examples:

  • End users (but these don't care about whether it's open-source or not, and need user-friendly software, docs, and support).
  • People who have experience with IP cams already - this would be a kind of walled garden, where only "selected" people communicate (cryptic, not beginner-oriented docs will serve as "walls").
  • Video surveillance system vendors/installers - this would be effectively a "startup advertisement", i.e. the whole idea of the project is to sell services/firmware to businesses, and "open-source project" is just an advertisement facade.
  • People who have some experience with embedded device hacking (but not specifically with IP cams) and/or people who're willing to learn (and contribute back to the project) - This will assume higher basic knowledge level than just "end user", and willing to spend time on learning project, but still will be friendly enough to beginners and guiding them thru the learning (but will require them to learn, not just blindly follow step-by-step instructions).

Likely, a project will have a combination of the target audiences above, but the "main" target audience should be selected explicitly (and be more or less clear from project site, etc.) - as its not possible to support everyone equally well.

Kernel does not boot from KH25L6433F flash drive

On new 85HF20PY board (Hi3516Ev200 + IMX307) stock flash drive was 8M Macronix KH25L6433F (chip ID: 0xC2201716)

hisi-sfc hisi_spi_nor.0: SPI Nor ID Table Version 1.2
hisi-sfc hisi_spi_nor.0: all blocks is unlocked.
@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=8, wait=16
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: mx25l6436f (Chipsize 8 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-0x000000800000 : "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

...

1f00             256 mtdblock0  (driver?)
1f01              64 mtdblock1  (driver?)
1f02            2048 mtdblock2  (driver?)
1f03            5120 mtdblock3  (driver?)
1f04             704 mtdblock4  (driver?)
No filesystem could mount root, tried:  squashfs

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)

Full boot attached: kernel-panic-KH25L6433F.txt

xm510: ssh login fails

When i try to SSH into my xm510 camera i receive an error:

:~$ssh [email protected]
[email protected]'s password: 
PTY allocation request failed on channel 0
shell request failed on channel 0

Other observation:
Running top on the camera shows that syslogd uses ~25% CPU time:

Mem: 14092K used, 1348K free, 112K shrd, 696K buff, 2240K cached
CPU:  67% usr  28% sys   0% nic   0% idle   0% io   0% irq   3% sirq
Load average: 1.84 1.04 0.43 2/44 865
  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
  486     1 root     S    15560 101%  71% /usr/bin/majestic -s
  333     1 root     S     1624  11%  23% /sbin/syslogd -n -C64
  490   486 root     S     3832  25%   4% isp
  361     1 root     S     1560  10%   1% /usr/sbin/rngd -r /dev/urandom
....

Backup/Flash without tftp (hi3516ev200)

I am trying to flash a hi3516ev200 without tftp (i am unable to get a link).

Normal boot:

System startup

Uncompress Ok!

U-Boot 2016.11-g2fc5f58-dirty (Sep 06 2019 - 15:13:30 +0800)hi3516ev200

Relocation Offset is: 0371b000
Relocating to 43f1b000, new gd at 43edaef0, sp at 43edaed0
SPI Nor:  eFlashType: 24.
Flash Name: XM_XT25F64B-S{0xB4017), 0x800000.
@hifmc_spi_nor_probe(), XmSpiNor_ProtMgr_probe(): OK.
@XmSpiNor_enableQuadMode(), Quad was Disabled, SRx: [2, 0x0].
CONFIG_CLOSE_SPI_8PIN_4IO = y.
read->iftype[0: STD, 1: DUAL, 2: DIO, 3: QUAD, 4: QIO]: 1.
Current level[6], lock_level_max:7.
at xm_get_locked_range() sr:0x18, level:6.
lk[6 => 0x400000]
SRx val: {[1, 0x38], [1, 0x0], [0, 0x0], [0, 0x0]}.
In:    serial
Out:   serial
Err:   serial
Net:   eth0
Hit ctrl+c to stop autoboot:  0
@do_spi_flash_probe() flash->erase_size:65536
device 0 offset 0x40000, size 0x550000

SF: 5570560 bytes @ 0x40000 Read: OK
srcAddr 0x43000000, dstAddr 0x42000000
created_inode 0x43edb810
find_squashfs_file: name bin, start_block 0, offset 2001, type 1
find_squashfs_file: name boot, start_block 0, offset 2181, type 1
read inode: name boot, sb 0, of 2181, type 1
find_squashfs_file: name uImage, start_block 0, offset 2033, type 2
read inode: name uImage, sb 0, of 2033, type 2
write_file: regular file, blocks 29
len 1861831
### FS load complete: 1861831 bytes loaded to 0x42000000
## Booting kernel from Legacy Image at 42000000 ...
   Image Name:   Linux-4.9.37
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1861767 Bytes = 1.8 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Loading Kernel Image ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

I won't get any output afterwards.

Interrupting:

System startup

Uncompress Ok!

U-Boot 2016.11-g2fc5f58-dirty (Sep 06 2019 - 15:13:30 +0800)hi3516ev200

Relocation Offset is: 0371b000
Relocating to 43f1b000, new gd at 43edaef0, sp at 43edaed0
SPI Nor:  eFlashType: 24.
Flash Name: XM_XT25F64B-S{0xB4017), 0x800000.
@hifmc_spi_nor_probe(), XmSpiNor_ProtMgr_probe(): OK.
@XmSpiNor_enableQuadMode(), Quad was Disabled, SRx: [2, 0x0].
CONFIG_CLOSE_SPI_8PIN_4IO = y.
read->iftype[0: STD, 1: DUAL, 2: DIO, 3: QUAD, 4: QIO]: 1.
Current level[6], lock_level_max:7.
at xm_get_locked_range() sr:0x18, level:6.
lk[6 => 0x400000]
SRx val: {[1, 0x38], [1, 0x0], [0, 0x0], [0, 0x0]}.
In:    serial
Out:   serial
Err:   serial
Net:   eth0
Hit ctrl+c to stop autoboot:  0
hisilicon 

Help

hisilicon # help
?       - alias for 'help'
base    - print or set address offset
bdinfo  - print Board Info structure
bitwait - bit compare and wait for equal
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
clearenv- clear env partition.
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
dcache  - enable or disable data cache
ddr     - ddr training function
dispaddr- display the value of 'addr'
dispenv - display the value of 'env_var'
dispver - display the uboot version
editenv - edit environment variable
env     - environment handling commands
erase   - erase FLASH memory
exit    - exit script
false   - do nothing, unsuccessfully
flinfo  - print FLASH memory information
flwrite - SPI flash sub-system
getinfo - print hardware information
go      - start application at address 'addr'
gzwrite - unzip and write memory to block device
help    - print command description/usage
icache  - enable or disable instruction cache
loadb   - load binary file over serial line (kermit mode)
loadx   - load binary file over serial line (xmodem mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
md      - memory display
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mw      - memory write (fill)
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
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv  - set environment variables
sf      - SPI flash sub-system
showvar - print local hushshell variables
sleep   - delay execution for some time
squashfsload- fsload  - load binary file from a filesystem image

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
version - print monitor, compiler and linker version
waitus  - wait for n us
hisilicon # bdinfo
arch_number = 0x00001F40
boot_params = 0x40000100
DRAM bank   = 0x00000000
-> start    = 0x40000000
-> size     = 0x04000000
eth0name    = eth0
ethaddr     = 00:12:31:xx:xx:xx
current eth = eth0
ip_addr     = 192.168.2.168
baudrate    = 115200 bps
TLB addr    = 0x43FF0000
relocaddr   = 0x43F1B000
reloc off   = 0x0371B000
irq_sp      = 0x43EDAEE0
sp start    = 0x43EDAED0

I played around with some commands. (setting other IP's/subnets etc). But i was unable to get the ethernet leds to turn on.
So i guess it would require flashing it over serial only.

I have seen a tool (ubootwrite.py) that could help with that. But that's something i still need to find out.

Problem with mount sd card on boot. Board hi3516ev300 + imx335 (pcb rev: 16EV3_335AF_1.1)

This module with marked revision: 16EV3_335AF_1.1 with hi3516ev300 + imx335 from IP camera is Boavision HX-4G56F5MP.
(ip camera with lte 4G module quectel EC200T-EU)

Problem with mount sd card. Boot log:

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: setting system clock to 1970-01-01 00:03:46 UTC (226)
VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
devtmpfs: mounted
Freeing unused kernel memory: 176K (c04ec000 - c0518000)
This architecture does not have kernel memory protection.
mmc0: new high speed SDHC card at address 0001
mmcblk0: mmc0:0001 EB1QT 29.8 GiB

mmcblk0: p1
Starting syslogd: OK
Starting klogd: OK
Running sysctl: OK
Starting mdev...
yaffs: dev is 187695105 name is "mmcblk0p1" rw
yaffs: passed flags ""
yaffs: dev is 187695105 name is "mmcblk0p1" rw
yaffs: passed flags ""
mount: mounting /dev/mmcblk0p1 on /mnt/mmcblk0p1 failed: Invalid argument
Saving random seed: random: dd: uninitialized urandom read (512 bytes read)
OK

Possibly misconfigured kernel on SSC335

The kernel for the SSC335 boards seems to be misconfigured. Based on the following line from the boot log and the information present in br-ext-chip-sigmastar/board/infinity6b0/kernel/ssc335.generic.config, the kernel defconfig appears to be for INFINITY6B0 SSC009B-S01A (which is SSC335DE).

OF: fdt:Machine model: INFINITY6B0 SSC009B-S01A QFN128

According to the SigmaStar documentation (see the screenshot below), it should be INFINITY6B0 SSC009A-S01A QFN88:

Screenshot from 2021-06-01 14-09-10

If I try to boot using this kernel, the kernel freezes before starting init. If I replace br-ext-chip-sigmastar/board/infinity6b0/kernel/ssc335.generic.config with linux-4.9.84/arch/arm/configs/infinity6b0_ssc009a_s01a_defconfig and build a new kernel image using this configuration, the device boots up fine.

test_venc each time gets a bigger and bigger snapshot

Good afternoon, colleagues !

We noticed an interesting situation..
test_venc each time gets a bigger and bigger snapshot

...
reading a frame...
  waiting for a frame...
  frame #16
  frame pts: 158409505
  packets: 1
  packet #0 size: 118239
  ok
reading a frame...
  waiting for a frame...
  frame #17
  frame pts: 158909505
  packets: 1
  packet #0 size: 123403
  ok
reading a frame...
  waiting for a frame...
  frame #18
  frame pts: 159409504
  packets: 1
  packet #0 size: 135289
  ok
reading a frame...
  waiting for a frame...
  frame #19
  frame pts: 159909505
  packets: 1
  packet #0 size: 141950
  ok

Is it some kind of resource leaking issue?

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

Sysupgrade should not upgrade kernel or rootfs if they were not changed

Currently sysupgrade updates both kernel and rootfs even if they were not changed.
It takes time, degrades flash and poses risk if something will go wrong during the process.

Proposal:
Improve sysupgrade so that it will check if upgrade of kernel or rootfs really needed.
Yet to add -f key to force upgrade.

RTSP stream authentication,need some help

The current version can directly play RTSP streams without authentication. This is insecure. Please help what configuration needs to be modified for RTSP stream authentication.

building.sh can't fetch linux-firmware-openipc-20190717.tar.gz

>>> linux-firmware-openipc 20190717 Downloading
Initialized empty Git repository in /Users/leonel/openipc/firmware/buildroot-2020.02.12/dl/linux-firmware-openipc/git/.git/
Fetching all references
fatal: unable to access 'http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/': server certificate verification failed. CAfile: none CRLfile: none
Detected a corrupted git cache.
Removing it and starting afresh.
Initialized empty Git repository in /Users/leonel/openipc/firmware/buildroot-2020.02.12/dl/linux-firmware-openipc/git/.git/
Fetching all references
fatal: unable to access 'http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/': server certificate verification failed. CAfile: none CRLfile: none
Detected a corrupted git cache.
This is the second time in a row; bailing out
--2021-12-21 09:01:21--  http://sources.buildroot.net/linux-firmware-openipc/linux-firmware-openipc-20190717.tar.gz
Resolving sources.buildroot.net (sources.buildroot.net)... 104.26.1.37, 104.26.0.37, 172.67.72.56, ...
Connecting to sources.buildroot.net (sources.buildroot.net)|104.26.1.37|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2021-12-21 09:01:21 ERROR 404: Not Found.

--2021-12-21 09:01:21--  http://sources.buildroot.net/linux-firmware-openipc-20190717.tar.gz
Resolving sources.buildroot.net (sources.buildroot.net)... 172.67.72.56, 104.26.0.37, 104.26.1.37, ...
Connecting to sources.buildroot.net (sources.buildroot.net)|172.67.72.56|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2021-12-21 09:01:21 ERROR 404: Not Found.

make[2]: *** [package/pkg-generic.mk:171: /Users/leonel/openipc/firmware/output/build/linux-firmware-openipc-20190717/.stamp_downloaded] Error 1
make[1]: *** [Makefile:84: _all] Error 2
make[1]: Leaving directory '/Users/leonel/openipc/firmware/buildroot-2020.02.12'
make: *** [Makefile:91: all] Error 2

HI3518EV300 RTL8188 Network does not work

Hello

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

#40
commit 09d1720

I have problems getting the network up and running

root@hi3518ev300-openipc:~# dmesg
Booting Linux on physical CPU 0x0
Linux version 4.9.37 (ingo@acer-p256-m) (gcc version 7.5.0 (Buildroot -g09d1720) ) #1 Thu Aug 26 10:37:32 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
On node 0 totalpages: 8192
free_area_init_node: node 0, pgdat c053cbb0, node_mem_map c1fbb000
  Normal zone: 64 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 8192 pages, LIFO batch:0
CPU: All CPU(s) started in SVC mode.
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0
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) mmz_allocator=hisi
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.
yaffs: yaffs Installing.
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:0xd.
hisi-sfc hisi_spi_nor.0: (Fast) Read:  opcode=BBh, protocol=122, mode=0, wait=8
hisi-sfc hisi_spi_nor.0: nor->read_opcode[3: Read; 0B: Fast Read; 3B: Dual; BB: Dual IO; 6B: Quad; EB: Quad IO]: 0xbb.
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: setting system clock to 1970-01-01 00:00:00 UTC (0)
VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
devtmpfs: mounted
Freeing unused kernel memory: 176K (c04ec000 - c0518000)
This architecture does not have kernel memory protection.
random: dd: uninitialized urandom read (512 bytes read)
random: crng init done
sys_config: loading out-of-tree module taints kernel.
FUNC:parse_sensor_clock line:126  SNS: is [JX-F23]!
FUNC:parse_sensor_bus_type line:85  SNS is [JX-F23]  !
==== online_flag=0, cmos_yuv_flag=0, sensor=JX-F23, chip=hiunknown, board=demo====
==== g_quick_start_flag=0 ====
sysconfig init success!
Module himedia: init ok
Hisilicon Media Memory Zone Manager
hi_osal 1.0 init success!
hi3516ev200_base: module license 'Proprietary' taints kernel.
Disabling lock debugging due to kernel taint
load sys.ko for Hi3516EV200...OK!
load region.ko for Hi3516EV200...OK!
load vgs.ko for Hi3516EV200...OK!
load vi.ko for Hi3516EV200...OK !
ISP Mod init!
load vpss.ko for Hi3516EV200...OK!
load chnl.ko for Hi3516EV200...OK!
load vedu.ko for Hi3516EV200...OK!
load rc.ko for Hi3516EV200...OK!
load venc.ko for Hi3516EV200...OK!
load h264e.ko for Hi3516EV200...OK!
load h265e.ko for Hi3516EV200...OK!
load jpege.ko for Hi3516EV200...OK!
load ive.ko for Hi3516EV200...OK!
Load sensor_spi.ko for Hi3516EV200...OK !
load mipi_rx driver successful!
register dev
Hisilicon Watchdog Timer: 0.01 initialized. default_margin=60 sec (nodeamon= 0)
hiwtdg init ok. ver=Oct 18 2019, 18:21:00.
hibvt-i2c 12060000.i2c: wait idle timeout, RIS: 0x10, SR: 0xa0000
hibvt-i2c 12060000.i2c: wait idle timeout, RIS: 0x10, SR: 0xa0000
hibvt-i2c 12060000.i2c: wait idle timeout, RIS: 0x10, SR: 0xa0000
hibvt-i2c 12060000.i2c: wait idle timeout, RIS: 0x10, SR: 0xa0000
hibvt-i2c 12060000.i2c: wait idle timeout, RIS: 0x10, SR: 0xa0000
Watchdog is disabled!

modprobe r8188eu
r8188eu: module is from the staging directory, the quality is unknown, you have been warned.
usbcore: registered new interface driver r8188eu

what information is needed?

IMG_20210824_192546
IMG_20210824_193206

Compile problems for hi3518ev300

Hello

export PLATFORM=hisilicon;make prepare;make BOARD=unknown_unknown_hi3518ev300_openipc clean distclean
export PLATFORM=hisilicon;make prepare;make BOARD=unknown_unknown_hi3518ev300_openipc all

Error: arch/arm/boot/dts/hi3518ev300-demb.dts:135.11-12 syntax error
FATAL ERROR: Unable to parse input tree
make[4]: *** [scripts/Makefile.lib:313: arch/arm/boot/dts/hi3518ev300-demb.dtb] Fehler 1
make[3]: *** [arch/arm/Makefile:348: dtbs] Fehler 2

Sigmastar kernel sources

Hi guys,

I'm trying to archive as many of the sigmastar kernel releases as possible here:
https://github.com/linux-chenxing/linux-ssc325
I think I saw on your SDK archive that you have some versions I don't but it looks like it's non-public now. Would you mind putting the kernel source tarballs somewhere for me?

As there are no public datasheets with registers they are the only way to find things like the hardware irq numbers without lots of painful reverse engineering.

SerComm camera contribution

We have a few different models of SerComm cameras. I was able to open one up and get UART access as root, and I was able to pull the firmware off to a file. This specific camera is ambarella based. I was able to mount the NFS share and run ipctool. Running without any options caused the camera to reboot. Here is some info that I thought was important running it with dmesg option.

Linux version 2.6.38.8 (arvin@ubuntu) (gcc version 4.6.1 (Sourcery CodeBench Lite 2011.09-70) ) #4 PREEMPT Thu Jun 8 11:00:05 CST 2017
CPU: ARMv6-compatible processor [4117b365] revision 5 (ARMv6TEJ), cr=00c5387f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: Coconut
Kernel command line: console=ttyS0 root=/dev/mtdblock5 ro rootfstype=squashfs init=/linuxrc bootimageid=2 video=amb0fb:720x480,720x480,1,0
Ambarella Coconut:
      chip id:                5100
      board type:             3
      board revision:         10
      chip name:              a5m
      HAL version:            207871
      reference clock:        24000000
      system configuration:   0x040004ea
      boot type:              0x00000002
      hif type:               0x00000000
RT6352iNIC: 802.11n WLAN MII driver v2.7.0.3 (July 26, 2013)

I am a seasoned developer and would like to contribute to OpenIPC to have it support SerComm cameras. How can I get started?

Compiling

Hi, i tried to compile the project to different supported hardwares, however i always recevie an error:

/home/schnee/Workspace/openipc-2.1/output/per-package/ipctool/host/bin/../lib/gcc/arm-openipc-linux-musleabi/7.5.0/../../../../arm-openipc-linux-musleabi/bin/ld: CMakeFiles/ipctool.dir/src/main.c.o: in function get_git_version': main.c:(.text.get_git_version+0x8): undefined reference to GIT_TAG'
/home/schnee/Workspace/openipc-2.1/output/per-package/ipctool/host/bin/../lib/gcc/arm-openipc-linux-musleabi/7.5.0/../../../../arm-openipc-linux-musleabi/bin/ld: CMakeFiles/ipctool.dir/src/main.c.o: in function get_git_revision': main.c:(.text.get_git_revision+0x8): undefined reference to GIT_REV'
/home/schnee/Workspace/openipc-2.1/output/per-package/ipctool/host/bin/../lib/gcc/arm-openipc-linux-musleabi/7.5.0/../../../../arm-openipc-linux-musleabi/bin/ld: CMakeFiles/ipctool.dir/src/main.c.o: in function get_git_branch': main.c:(.text.get_git_branch+0x8): undefined reference to GIT_BRANCH'
collect2: error: ld returned 1 exit status
CMakeFiles/ipctool.dir/build.make:848: recipe for target 'ipctool' failed
make[5]: *** [ipctool] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/ipctool.dir/all' failed
make[4]: *** [CMakeFiles/ipctool.dir/all] Error 2
make[4]: *** Waiting for unfinished jobs....
[ 26%] Linking C executable ipcinfo
/usr/bin/cmake -E cmake_link_script CMakeFiles/ipcinfo.dir/link.txt --verbose=1
/home/schnee/Workspace/openipc-2.1/output/per-package/ipctool/host/bin/arm-openipc-linux-musleabi-gcc --sysroot=/home/schnee/Workspace/openipc-2.1/output/per-package/ipctool/host/arm-openipc-linux-musleabi/sysroot -std=gnu99 -s -Os -ffunction-sections -Wl,--gc-sections -DNDEBUG -DNDEBUG -rdynamic CMakeFiles/ipcinfo.dir/example/ipcinfo.c.o -o ipcinfo libipchw.a -lm
/home/schnee/Workspace/openipc-2.1/output/per-package/ipctool/host/bin/../lib/gcc/arm-openipc-linux-musleabi/7.5.0/../../../../arm-openipc-linux-musleabi/bin/ld: CMakeFiles/ipcinfo.dir/example/ipcinfo.c.o: in function get_git_version': ipcinfo.c:(.text.get_git_version+0x8): undefined reference to GIT_TAG'
/home/schnee/Workspace/openipc-2.1/output/per-package/ipctool/host/bin/../lib/gcc/arm-openipc-linux-musleabi/7.5.0/../../../../arm-openipc-linux-musleabi/bin/ld: CMakeFiles/ipcinfo.dir/example/ipcinfo.c.o: in function get_git_revision': ipcinfo.c:(.text.get_git_revision+0x8): undefined reference to GIT_REV'
/home/schnee/Workspace/openipc-2.1/output/per-package/ipctool/host/bin/../lib/gcc/arm-openipc-linux-musleabi/7.5.0/../../../../arm-openipc-linux-musleabi/bin/ld: CMakeFiles/ipcinfo.dir/example/ipcinfo.c.o: in function get_git_branch': ipcinfo.c:(.text.get_git_branch+0x8): undefined reference to GIT_BRANCH'
collect2: error: ld returned 1 exit status
CMakeFiles/ipcinfo.dir/build.make:95: recipe for target 'ipcinfo' failed
make[5]: *** [ipcinfo] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/ipcinfo.dir/all' failed
make[4]: *** [CMakeFiles/ipcinfo.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make[3]: *** [all] Error 2
package/pkg-generic.mk:266: recipe for target '/home/schnee/Workspace/openipc-2.1/output/build/ipctool-2745429e7add31b6e52b0079a8b28b04daf7a349/.stamp_built' failed
make[2]: *** [/home/schnee/Workspace/openipc-2.1/output/build/ipctool-2745429e7add31b6e52b0079a8b28b04daf7a349/.stamp_built] Error 2
Makefile:84: recipe for target '_all' failed
make[1]: *** [_all] Error 2
make[1]: Leaving directory '/home/schnee/Workspace/openipc-2.1/buildroot-2020.02.12'
Makefile:91: recipe for target 'all' failed
make: *** [all] Error 2

This is how i try to compile:

export PLATFORM=hisilicon ; make BOARD=hi3516ev200 all

System: Ubuntu 18.04LTS

What am i missing?

Thanks

hi3516ev300 majestic

  1. Не работает mirror - при включении в majestic.yaml вообще нет видеопотока
  2. Не работает ipeye при отсутствии соединения eth0 (соединение wifi установлено) при старте majestic ошибка: IPEYE: Unable generate TID

Compile problems for xm530

Hi,

i tried to compile the source for xm530 target, but i received several errors. Some of them i was able to fix.

Here is what i did:

git clone --depth=1 https://github.com/OpenIPC/openipc-2.1.git
cd openipc-2.1
export PLATFORM=xiongmai ; make distclean ; make prepare ; make BOARD=unknown_unknown_xm530_openipc all

Here are the errors i receive and the fix for eacf of them.

1st Error

home/user/Workspace/openipc-2.1/br-ext-chip-xiongmai/external.mk:18: /home/user/Workspace/openipc-2.1/br-ext-chip-xiongmai/package/vtund-lite/vtund-openipc.mk: No such file or directory vtund-openipc

solution:

cd /home/user/Workspace/openipc-2.1/br-ext-chip-xiongmai/package
ln -s vtund-openipc vtund-lite

2nd error

/home/user/Workspace/openipc-2.1/br-ext-chip-xiongmai/external.mk:17: /home/user/Workspace/openipc-2.1/br-ext-chip-xiongmai/package/uacme-lite/uacme-openipc.mk: No such file or directory

solution:

cd /home/user/Workspace/openipc-2.1/br-ext-chip-xiongmai/package
ln -s uacme-openipc uacme-lite

3rd error

/home/user/Workspace/openipc-2.1/br-ext-chip-xiongmai/external.mk:13: /home/user/Workspace/openipc-2.1/br-ext-chip-xiongmai/package/majestic-xm530/majestic-xm530.mk: No such file or directory

solution:

cd /home/user/Workspace/openipc-2.1/br-ext-chip-xiongmai/package/majestic-xm530/
ln -s majestic.mk majestic-xm530.mk

4th error:

/home/user/Workspace/openipc-2.1/br-ext-chip-xiongmai/external.mk:12: /home/user/Workspace/openipc-2.1/br-ext-chip-xiongmai/package/majestic-xm510/majestic-xm510.mk: No such file or directory

solution:

cd /home/user/Workspace/openipc-2.1/br-ext-chip-xiongmai/package/majestic-xm510/
ln -s majestic.mk majestic-xm510.mk

After this the compilation works fine till it tries to download the majestic packages, where it generates a 403 error with amazon aws:

>>> majestic-xm510 current Downloading
--2021-08-08 14:38:49--  http://openipc.s3-eu-west-1.amazonaws.com/majestic.xm510.master.tar.bz2
Resolving openipc.s3-eu-west-1.amazonaws.com (openipc.s3-eu-west-1.amazonaws.com)... 52.218.117.82
Connecting to openipc.s3-eu-west-1.amazonaws.com (openipc.s3-eu-west-1.amazonaws.com)|52.218.117.82|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2021-08-08 14:38:50 ERROR 403: Forbidden.

Thanks

Compile problems for xm510

Hello

export PLATFORM=xiongmai;make prepare;make BOARD=unknown_unknown_xm510_openipc clean distclean
export PLATFORM=xiongmai;make prepare;make BOARD=unknown_unknown_xm510_openipc all

wget -O /usr/local/src/openipc-2.1-xm510/buildroot-2020.02.12.tar.gz --header="Host: buildroot.org" --no-check-certificate https://buildroot.org/downloads/buildroot-2020.02.12.tar.gz
--2021-10-03 11:03:09--  https://buildroot.org/downloads/buildroot-2020.02.12.tar.gz
Auflösen des Hostnamens buildroot.org (buildroot.org) … 140.211.167.122
Verbindungsaufbau zu buildroot.org (buildroot.org)|140.211.167.122|:443... verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 6826528 (6,5M) [application/x-gzip]
Wird in »/usr/local/src/openipc-2.1-xm510/buildroot-2020.02.12.tar.gz« gespeichert.

/usr/local/src/openipc-2.1-xm510/buildroot 100%[=====================================================================================>]   6,51M  1,34MB/s    in 7,3s    

2021-10-03 11:03:17 (917 KB/s) - »/usr/local/src/openipc-2.1-xm510/buildroot-2020.02.12.tar.gz« gespeichert [6826528/6826528]

tar -C /usr/local/src/openipc-2.1-xm510 -xf buildroot-2020.02.12.tar.gz
rm -f buildroot-2020.02.12.tar.gz
make -C /usr/local/src/openipc-2.1-xm510/buildroot-2020.02.12 BR2_EXTERNAL=/usr/local/src/openipc-2.1-xm510/br-ext-chip-xiongmai O=/usr/local/src/openipc-2.1-xm510/output BR2_DEFCONFIG=/usr/local/src/openipc-2.1-xm510/br-ext-chip-xiongmai/configs/unknown_unknown_xm510_openipc_defconfig defconfig
make[1]: Verzeichnis „/usr/local/src/openipc-2.1-xm510/buildroot-2020.02.12“ wird betreten
  GEN     /usr/local/src/openipc-2.1-xm510/output/Makefile
#
# configuration written to /usr/local/src/openipc-2.1-xm510/output/.config
#
make[1]: Verzeichnis „/usr/local/src/openipc-2.1-xm510/buildroot-2020.02.12“ wird verlassen
eval $(make -C /usr/local/src/openipc-2.1-xm510/buildroot-2020.02.12 BR2_EXTERNAL=/usr/local/src/openipc-2.1-xm510/br-ext-chip-xiongmai O=/usr/local/src/openipc-2.1-xm510/output -s --no-print-directory VARS=GNU_TARGET_NAME printvars) && /usr/local/src/openipc-2.1-xm510/scripts/create_toolchain_binding.sh /usr/local/src/openipc-2.1-xm510/output/host/bin $GNU_TARGET_NAME > /usr/local/src/openipc-2.1-xm510/output/toolchain-params.mk
/usr/local/src/openipc-2.1-xm510/br-ext-chip-xiongmai/external.mk:17: /usr/local/src/openipc-2.1-xm510/br-ext-chip-xiongmai/package/motors/mbedtls-openipc.mk: Datei oder Verzeichnis nicht gefunden
make[2]: *** Keine Regel, um „/usr/local/src/openipc-2.1-xm510/br-ext-chip-xiongmai/package/motors/mbedtls-openipc.mk“ zu erstellen.  Schluss.
make[1]: *** [Makefile:84: _all] Fehler 2
make -C /usr/local/src/openipc-2.1-xm510/buildroot-2020.02.12 BR2_EXTERNAL=/usr/local/src/openipc-2.1-xm510/br-ext-chip-xiongmai O=/usr/local/src/openipc-2.1-xm510/output all
make[1]: Verzeichnis „/usr/local/src/openipc-2.1-xm510/buildroot-2020.02.12“ wird betreten
/usr/local/src/openipc-2.1-xm510/br-ext-chip-xiongmai/external.mk:17: /usr/local/src/openipc-2.1-xm510/br-ext-chip-xiongmai/package/motors/mbedtls-openipc.mk: Datei oder Verzeichnis nicht gefunden
make[2]: *** Keine Regel, um „/usr/local/src/openipc-2.1-xm510/br-ext-chip-xiongmai/package/motors/mbedtls-openipc.mk“ zu erstellen.  Schluss.
make[1]: *** [Makefile:84: _all] Fehler 2
make[1]: Verzeichnis „/usr/local/src/openipc-2.1-xm510/buildroot-2020.02.12“ wird verlassen
make: *** [Makefile:91: all] Fehler 2

Error in host-m4-1.4.18/lib/c-stack.c breaks build

During building i am getting the next error

In file included from /usr/include/signal.h:328,
                 from ./signal.h:52,
                 from c-stack.c:49:
c-stack.c:55:26: error: missing binary operator before token "("
   55 | #elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384

I did try to build some different configurations and this bug does not depend on it as I can see.

The problem is in this file:

./openipc-2.1/output/build/host-m4-1.4.18/lib/c-stack.c

I did remove preprocessor directive lines so the code could be compiled now:

#ifndef SIGSTKSZ
#define SIGSTKSZ 16384
#endif

But I am not sure if the bug descibed in the comment of the c-stack.c is still actual ( there is a whitespace between # and define so it's interpreted as a comment by preprocessor )

hi3516cv300: OpenIPC not provide autodetect sensor feature for majestic

After upgrade from OpenIPC 1.0 on hi3516cv300 to OpenIPC 2.1 majestic did not autodetect sensor.
That is why majestic is not able to start streaming the video.

User has to manually add sensor to environment . In my case:

fw_setenv sensor imx291_i2c_lvds

Please update OpenIPC scripts so that freshly installed system will be able to provide sensor autodetection function for majestic.

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

[Firmware] Enable options for development on all kernels for all platforms

Optimization options

CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y

CONFIG_ROOT_NFS=y

Goke +

  • gk7205v200 - done by group and remove unused configs

HiSilicon +

  • hi3516av100 - done by group
  • hi3516av200 - done by group
  • hi3516cv100 - done by group
  • hi3516cv200 - done by group
  • hi3516cv300 - done by group
  • hi3516cv500 - done by group
  • hi3516ev200 - done by group
  • hi3536cv100 - done by group
  • hi3536dv100 - done by group

Novatek +

  • nt9856x - done by group

SigmaStar +

  • ssc335 - done by group
  • ssc335de - done by group

XiongMai +

  • xm510 - done
  • xm530 - done by group

Рефакторинг Github Actions

Сейчас все релизы собираются в одном старом сообщении, куда вручную загружены файлы и описание. Предлагаю:

  • разделить sdk-buildroot, firmware и u-boot на разные релизы
  • обновлять не только файлы, но данные самого релиза, для того чтобы:
    • получать данные о версии
    • делать заметки к релизу: накопительное/критическое обновление
  • вынести повторяющийся и опциональный код из workflow-файлов
  • запускать сборку под все платформы из одного workflow

Посмотреть, на что можно поменять старый actions/create-release@v1, svenstaro/upload-release-action@v2 в https://github.com/marketplace?type=actions

Broken serial console in the SSC335 kernel

This commit 7bc7d64 appears to break the serial console in the SSC335 kernel. The kernel gets loaded but there is no output. I'm not sure if it's just the console or the kernel is frozen. Anyway, if I build the previous revision (i.e. 2867d53), the console works fine.

XM530 rtsp does not work

Hello!

Using openipc 2.1 firmware for xm530.
Majestic only works in hls h265 mode, mp4, jpg, rtsp does not work....
Should this other modes also work with the current state of XM530 development?
How can I provide more info to get rtsp working?

See also OpenIPC/ipctool#30

Compile does not work for xm510

After a succesful build for xm530 i tried to build the system for xm510. I did not change any setting and on the first try i ended up with the following error

In file included from include/linux/compiler.h:48:0,
                 from include/linux/stddef.h:4,
                 from include/linux/posix_types.h:4,
                 from include/linux/types.h:17,
                 from include/linux/page-flags.h:8,
                 from kernel/bounds.c:9:
include/linux/compiler-gcc.h:99:1: fatal error: linux/compiler-gcc7.h: No such file or directory
 #include gcc_header(__GNUC__)
 ^~~~
compilation terminated.
make[3]: *** [/media/schnee/Data2/Workspace/openipc-2.1/output/build/linux-3.0.101/./Kbuild:36: kernel/bounds.s] Error 1
make[2]: *** [Makefile:985: prepare0] Error 2
make[2]: *** Waiting for unfinished jobs....
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost
make[2]: Leaving directory '/media/schnee/Data2/Workspace/openipc-2.1/output/build/linux-3.0.101'
make[1]: *** [package/pkg-generic.mk:269: /media/schnee/Data2/Workspace/openipc-2.1/output/build/linux-3.0.101/.stamp_built] Error 2
make[1]: Leaving directory '/media/schnee/Data2/Workspace/openipc-2.1/buildroot-2020.02.12'
make: *** [Makefile:91: all] Error 2

This was an easy fix with copying compiler-gcc7.h from openipc-2.1/br-ext-chip-hisilicon/board/hi3516cv300/kernel/overlay to br-ext-chip-xiongmai/board/xm510/kernel/overlay/include/linux

After this the compile fails wtih the following error:

In file included from tools/env/fw_env.c:40:0:
/media/schnee/Data2/Workspace/openipc-2.1/output/per-package/fwprintenv-openipc/host/arm-openipc-linux-musleabi/sysroot/usr/include/mtd/ubi-user.h:329:3: error: conflicting types for ‘__packed’
 } __packed;
   ^~~~~~~~
/media/schnee/Data2/Workspace/openipc-2.1/output/per-package/fwprintenv-openipc/host/arm-openipc-linux-musleabi/sysroot/usr/include/mtd/ubi-user.h:313:3: note: previous declaration of ‘__packed’ was here
 } __packed;
   ^~~~~~~~
/media/schnee/Data2/Workspace/openipc-2.1/output/per-package/fwprintenv-openipc/host/arm-openipc-linux-musleabi/sysroot/usr/include/mtd/ubi-user.h:371:3: error: conflicting types for ‘__packed’
 } __packed;
   ^~~~~~~~
/media/schnee/Data2/Workspace/openipc-2.1/output/per-package/fwprintenv-openipc/host/arm-openipc-linux-musleabi/sysroot/usr/include/mtd/ubi-user.h:313:3: note: previous declaration of ‘__packed’ was here
 } __packed;
   ^~~~~~~~
/media/schnee/Data2/Workspace/openipc-2.1/output/per-package/fwprintenv-openipc/host/arm-openipc-linux-musleabi/sysroot/usr/include/mtd/ubi-user.h:386:3: error: conflicting types for ‘__packed’
 } __packed;
   ^~~~~~~~
/media/schnee/Data2/Workspace/openipc-2.1/output/per-package/fwprintenv-openipc/host/arm-openipc-linux-musleabi/sysroot/usr/include/mtd/ubi-user.h:313:3: note: previous declaration of ‘__packed’ was here
 } __packed;
   ^~~~~~~~
/media/schnee/Data2/Workspace/openipc-2.1/output/per-package/fwprintenv-openipc/host/arm-openipc-linux-musleabi/sysroot/usr/include/mtd/ubi-user.h:398:3: error: conflicting types for ‘__packed’
 } __packed;
   ^~~~~~~~
/media/schnee/Data2/Workspace/openipc-2.1/output/per-package/fwprintenv-openipc/host/arm-openipc-linux-musleabi/sysroot/usr/include/mtd/ubi-user.h:313:3: note: previous declaration of ‘__packed’ was here
 } __packed;
   ^~~~~~~~
/media/schnee/Data2/Workspace/openipc-2.1/output/per-package/fwprintenv-openipc/host/arm-openipc-linux-musleabi/sysroot/usr/include/mtd/ubi-user.h:412:4: error: conflicting types for ‘__packed’
 }  __packed;
    ^~~~~~~~
/media/schnee/Data2/Workspace/openipc-2.1/output/per-package/fwprintenv-openipc/host/arm-openipc-linux-musleabi/sysroot/usr/include/mtd/ubi-user.h:313:3: note: previous declaration of ‘__packed’ was here
 } __packed;
   ^~~~~~~~
tools/env/fw_env.c: In function ‘detect_env’:
tools/env/fw_env.c:1770:7: warning: ‘return’ with no value, in function returning non-void
       return;
       ^~~~~~
tools/env/fw_env.c:1748:12: note: declared here
 static int detect_env() {
            ^~~~~~~~~~
make[3]: *** [scripts/Makefile.host:114: tools/env/fw_env.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [Makefile:1925: envtools] Error 2
make[2]: Leaving directory '/media/schnee/Data2/Workspace/openipc-2.1/output/build/fwprintenv-openipc-2020.04'
make[1]: *** [package/pkg-generic.mk:269: /media/schnee/Data2/Workspace/openipc-2.1/output/build/fwprintenv-openipc-2020.04/.stamp_built] Error 2
make[1]: Leaving directory '/media/schnee/Data2/Workspace/openipc-2.1/buildroot-2020.02.12'
make: *** [Makefile:91: all] Error 2

I am not sure where the tools/env/fw_env.c file is which needs some patching

Consider making website index page explain that OpenIPC is an umbrella project for multiple activities

Currently, beginning of https://openipc.org/ reads: "Open source firmware for IP cameras".

Based on the discussion on the project Telegram channels, the project is actually a kind of "umbrella" for multiple, even disparate, kind of activities ranging:

  • From working on open-source baseline Linux system/distro/firmware
  • Thru modifying existing vendor firmwares and/or including non-opensource components
  • To offering a communication platform (multiple Github projects, multiple Telegram channels) to people interested in advanced usage/hacking of IP cameras.

Arguably, the value of the project comes exactly from this pluralistic, "everyone is welcome and can use/contribute to project in any way they find useful" nature.

If the above describes the situation faithfully, then arguably, the index page of the project should describe the multitude of features/services the project offers, and open-source distribution should have its own dedicated page.

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 ab38bfa
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

HeimVision HM311 (SSC335) …need some help!

Hello !
Can anybody help me to bring this "Puzzle" together?

I want to (re)flash the rootfs to the flash-chip (8MB).

"bootlog(start)" ->

IPL 648312b D-05 64MB BIST0_0001-OK Load IPL_CUST from NOR MXP found at 0x00020000 offset:00010000 Checksum OK IPL_CUSTg2cd6de2 MXP found at 0x00020000 runUBOOT() [SPI_NOR] -Verify CRC32 passed! -Decompress XZ u32HeaderSize=0x00000040 u32Loadsize=0x000178cc decomp_size=0x00040978 Disable MMU and D-cache before jump to UBOOTÌ U-Boot 2015.01 (Jun 24 2020 - 11:37:44) Version: I6g####### I2C: ready DRAM: WARNING: Caches not enabled MMC: MStar SD/MMC: 0 nor_flash_mxp allocated success!! Flash is detected (0x0707, 0xEF, 0x40, 0x17) SF: Detected nor0 with total size 8 MiB MXP found at mxp_offset[3]=0x00020000, size=0x1000 env_offset=0x4F000 env_size=0x1000 Flash is detected (0x0707, 0xEF, 0x40, 0x17) SF: Detected nor0 with total size 8 MiB In: serial Out: serial Err: serial

bootloader-shell, "printenv" ->

baudrate=115200 bootargs=console=ttyS0,115200 root=/dev/mtdblock2 rootfstype=squashfs ro init=/linuxrc LX_MEM=0x3fc6000 mma_heap=mma_heap_name0,miu=0,sz=0x1770000 bootcmd=sf probe 0;sf read 0x22000000 0x50000 0x1f0000;bootm 0x22000000 bootdelay=0 ethact=sstar_emac ethaddr=00:30:1b:ba:02:db ipaddr=10.0.0.200 serverip=10.0.0.54 soc=ssc335 stderr=serial stdin=serial stdout=serial

Now the Question:

How to (re)flash the rootfs? I have tried:

1.) setup a tftp-server (serverip) with "rootfs.squashfs.ssc335"-file (orginal-backup)

2.) set env-variables:

setenv soc ssc335 setenv ipaddr 10.0.0.200 setenv serverip 10.0.0.54 saveenv

3.) execute this command (idea from your "XM-Entry")

sf probe 0; mw.b 0x22000000 ff 1000000; tftp 0x22000000 rootfs.squashfs.${soc} ;sf erase 0x220000 0x420000; sf write 0x22000000 0x220000 ${filesize}

I have a little problem to understand the "ram<->flash<->ram"-thing… (adresses, offsets, from/to)

Thank you :)

Consider reusing documentation developed by friendly OpenHisiIpCam project

https://github.com/OpenHisiIpCam/ is a "sister" (brother?) project developed by people who also participate in OpenIPC telegram channels and otherwise cooperate with OpenIPC maintainers.

The current situation (from outsider point of view):

  • OpenIPC seems to have collected some critical mass in regard to firmware hacking/development, and has firmware releases for a number of devices.
  • At the same time, OpenHisiIpCam's repos seem to have been updated ~1 year ago (it seems the project went into "stealth startup" mode, which is otherwise quite understood).
  • On the other hand, OpenHisiIpCam has something which can be called "manual", hosted at https://www.openhisiipcam.org/
  • While for OpenIPC, there're only disparate, spread-around "notes" covering various topics, but not representing a coherent documentation (in particular, not suitable for beginners, which need some smooth introduction into the area).
  • Yet, it's clear the the matter of documentation becomes the pressing one for the OpenIPC project, as it starts to attract more and more users.

Based, on that, there was an idea to ask OpenHisiIpCam's maintainers (@nikitos1550) if there's any chance at all that they could contribute the existing docs of the OpenHisiIpCam for reuse and further development in OpenIPC project. Likewise, there's a question to OpenIPC maintainers, whether they would be interested to accept such docs into the project, perform initial update for the OpenIPC and integration into the project infrastructure, and maintain them going forward.

This question really should be clarified before attempting to write any docs for OpenIPC "from scratch".

Степень важности обновлений модулей прошивки

Необходима возможность видеть степень важности для обновления модулей прошивки. Так как есть вероятность выпуска обновлений безопасности, юзер, глядя в интерфейс должен понимать что обновление обязательно к установке или на него можно забить, по принципу - работает и не трогай.

Image Quality 3516EV200 + SC2315E (SC4239)

I've successfully flashed a XM-Based CAM with Hi3516EV200 Chip. But there is a Problem with the image quality (see picture attached):

vlcsnap-2021-04-25-09h22m25s822

Maybe someone of you already know this problem or could help to debug and identify the problem.

ipctool output:

root@ipcam:~# ipctool
---
chip:
  vendor: HiSilicon
  model: 3516EV200
  id: 021833861e0038d9b370030a0362f69327874620018629e3
ethernet:
  mac: "**:**:**:**:**:**"
  u-mdio-phyaddr: 1
  phy-id: 0x20669903
  d-mdio-phyaddr: 0
rom:
  - type: nor
    block: 64K
    partitions:
      - name: boot
        size: 0x40000
        sha1: 6d76aff1
        contains:
          - name: uboot-env
            offset: 0x30000
      - name: env
        size: 0x10000
        sha1: 1adc95be
      - name: kernel
        size: 0x200000
        sha1: 3ec36165
      - name: rootfs
        size: 0x500000
        sha1: dad261bc
      - name: rootfs_data
        size: 0xb0000
        path: /overlay,jffs2,rw
    size: 8M
    addrMode: 3-byte
ram:
  total: 64M
  media: 32M
firmware:
  u-boot: "2016.11 (Oct 29 2018 - 16:06:38)"
  kernel: "4.9.37 (Thu Apr 22 13:59:19 UTC 2021)"
  toolchain: gcc version 7.5.0 (Buildroot 2020.02-g1f8ffa6) 
  sdk: "Hi3516EV200_MPP_V1.0.1.2 B030 Release (Oct 18 2019, 18:21:00)"
sensors:
- vendor: SmartSens
  model: SC2315E
  control:
    bus: 0
    type: i2c
    addr: 0x60
  viState: down

majestic log:

10:22:15 [    main] main@143                     Majestic version master+e2e5d65, built on 2021-04-20
10:22:15 [app_conf] load_config@152              Using /etc/majestic.yaml as main configuration
10:22:15 [app_conf] parse_app_config@239         SENSOR=sc2315e_i2c
10:22:15 [app_conf] find_sensor_config@115       matched sensor config: sc2315e_i2c_1080p_line.ini
10:22:15 [app_conf] find_sensor_config@125       Using /etc/sensors/sc2315e_i2c_1080p_line.ini as sensor configuration
10:22:15 [  config] parse_int64@416              Can't parse param 'volume' value 'auto'. Is not a integer (dec or hex) number.
10:22:15 [    main] main@160                     app_config.max_pool_cnt 128
10:22:15 [    main] main@161                     app_config.blk_cnt 4
10:22:15 [   hisdk] start_sdk@1606               App was built with MPP version: Hi3516EV200_MPP_V1.0.1.2.B030 Release
10:22:15 [   hisdk] start_sdk@1609               Current MPP version: HI_VERSION=Hi3516EV200_MPP_V1.0.1.2 B030 Release
10:22:15 [   hisdk] start_sdk@1623               chipid 3516E200
10:22:15 [   hisdk] start_sdk@1631               sensor_config.sensor_type stSnsSc2235Obj
10:22:15 [   hisdk] start_sdk@1632               sensor_config.dll_file /usr/lib/sensors/libsns_sc2235_eee.so
10:22:15 [   hisdk] start_sdk@1633               sensor_config.dev_attr 2
10:22:15 [   hisdk] start_sdk@1635               sensor_config.vichn.pix_format 26
10:22:15 [   hisdk] start_sdk@1637               sensor_config.input_mode 0
10:22:15 [   hisdk] start_sdk@1638               sensor_config.mode 0
10:22:15 [   hisdk] start_sdk@1641               sensor_config.isp.isp_x 0
10:22:15 [   hisdk] start_sdk@1642               sensor_config.isp.isp_y 0
10:22:15 [   hisdk] start_sdk@1643               sensor_config.isp.isp_w 1920
10:22:15 [   hisdk] start_sdk@1644               sensor_config.isp.isp_h 1080
10:22:15 [   hisdk] start_sdk@1647               sensor_config.isp.isp_frame_rate 30
10:22:15 [   hisdk] start_sdk@1648               sensor_config.isp.isp_bayer 0
10:22:15 [  sensor] tryLoadLibrary@23            try to load: /usr/lib/sensors/libsns_sc2235_eee.so
10:22:15 [  sensor] tryLoadLibrary@25            libsns_so 0x00000000B6D0CE20
10:22:15 [   hisdk] free_mem@813                 Free MMZ mem before allocation: 32736KB
10:22:15 [   hisdk] init_mem@1738                u32AlignWidth: 64
10:22:15 [   hisdk] dump_vb_configuration@1715   VB configuration:
10:22:15 [   hisdk] dump_vb_configuration@1725     [0]: 3110400 x 4
10:22:15 [   hisdk] free_mem@813                 Free MMZ mem after allocation: 20580KB
10:22:15 [   hisdk] init_sensor@1923             Sensor driver has been loaded
[Func]:cmos_set_wdr_mode [Line]:642 [Info]:SC2235_SENSOR_1080P_30FPS_LINEAR_MODE
Driver based on sc2235
==============================================================
===Smart sc2315e sensor 1080P30fps(MIPI) init success!=====Thu Jan 16 09:40:49 2020===
==============================================================
10:22:15 [   hisdk] init_vpss@2409               HI_MPI_SYS_Bind: VIU(0)->VPSS(grp 0)
10:22:15 [   hisdk] log_venc_chn@924             H.264 vpss_chn(0)->venc_chn(0)   1920x1080 25fps 4096Kbit
10:22:15 [   hisdk] create_vpss_chn@603            new venc: 0   vpss_grp: 0,   vpss_chn: 0
10:22:15 [   hisdk] create_vpss_chn@689            create_venc_chn  VPSS(0)->VENC(0)
10:22:15 [   hisdk] start_video@1328               venc took 7988KB of MMZ [1518]
10:22:15 [   hisdk] start_jpeg@828               JPEG snapshot venc_chn 1  1920x1080
10:22:15 [   hisdk] bind_vpss_venc@726             bind_vpss_venc  VPSS(0)->VENC(1)
10:22:15 [   hisdk] start_jpeg@915                 jpeg_enc took 2048KB of MMZ [2040]
10:22:15 [   audio] init_audio_in@583            Ai(0,0) bind to AencChn:0 ok!
10:22:15 [   hisdk] start_sdk@1700                 Audio took 512KB of MMZ
10:22:15 [   hisdk] start_sdk@1707               HiSilicon SDK has been started.
10:22:15 [   hisdk] free_mem@813                 Free MMZ mem finally: 6328KB
10:22:15 [image_pa] image_params_tuning@45       Image tuning thread has been started
10:22:15 [  evhttp] start_web_server@123         Using LAME v3.100
10:22:15 [  evhttp] start_web_server@180         HTTP server has been started on 0.0.0.0:8888.
10:22:15 [    rtsp] rtsp_init@143                RTSP server started on port 554
10:22:15 [      vi] VI_DRV_GetFrmVbBlk@4106      Pipe 0 chn 0 get buffer fail,size 3110400 !
10:22:15 [      vi] VI_COMM_CapPrepareFrame@2915 pipe id 0 get vb fail
(the last two lines will repeat many times)

dmesg (last lines):

FUNC:parse_sensor_clock line:126  SNS: is [sc2315e]!
FUNC:parse_sensor_bus_type line:85  SNS is [sc2315e]  !
==== online_flag=0, cmos_yuv_flag=0, sensor=sc2315e, chip=hi3516ev200, board=demo====
==== g_quick_start_flag=0 ====
sysconfig init success!
Module himedia: init ok
Hisilicon Media Memory Zone Manager
hi_osal 1.0 init success!
hi3516ev200_base: module license 'Proprietary' taints kernel.
Disabling lock debugging due to kernel taint
load sys.ko for Hi3516EV200...OK!
load tde.ko for HI3516EV200...OK!
load region.ko for Hi3516EV200...OK!
load vgs.ko for Hi3516EV200...OK!
load vi.ko for Hi3516EV200...OK !
ISP Mod init!
load vpss.ko for Hi3516EV200...OK!
load chnl.ko for Hi3516EV200...OK!
load vedu.ko for Hi3516EV200...OK!
load rc.ko for Hi3516EV200...OK!
load venc.ko for Hi3516EV200...OK!
load h264e.ko for Hi3516EV200...OK!
load h265e.ko for Hi3516EV200...OK!
load jpege.ko for Hi3516EV200...OK!
load ive.ko for Hi3516EV200...OK!
Load sensor_spi.ko for Hi3516EV200...OK !
load mipi_rx driver successful!
register dev
Hisilicon Watchdog Timer: 0.01 initialized. default_margin=60 sec (nodeamon= 0)
hiwtdg init ok. ver=Oct 18 2019, 18:21:00.
hibvt-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
hibvt-i2c 12060000.i2c: wait idle abort!, RIS: 0x611
(the last line will repeat)

Contribution to Wiki - adding xm510 install instructions

Hi, unfortunatelly github does not support pull requests for Wiki artikles. I had some time and tested my xm510 camera with the firmware. I tried to follow the intrsuctions for xm530/550 boards with some modifications and documented the results in the md files.

Attached to this bug to wiki files:

  • install_xm510.md - installation instructons for xm510 board
  • _Sidebar.md - modified to include xm510 insatllation link
    _Sidebar.md
    install_xm510.md

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.