OpenIPC / firmware

Alternative IP Camera firmware from an open community
https://openipc.org
MIT License
1.21k stars 232 forks source link

Driver for IMX385 on Hi3516DV100 #153

Closed jimsmt closed 2 years ago

jimsmt commented 2 years ago

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
jimsmt commented 2 years ago

I found the firmware for this camera: Hi3516A-D(8.8.3.65).zip

dimerr commented 2 years ago

https://github.com/OpenIPC/firmware/tree/7cfe3d7057e21da6f24872f3d4623d1f740afd0e/general/package/hisilicon-osdrv-hi3516av100/files/sensor try

jimsmt commented 2 years ago

Haven’t got time to test it yet, but it seems that the file you sent is for 3516av100, while my camera is 3516dv100, will it work?

widgetii commented 2 years ago

They are from the same family AV100/DV100

jimsmt commented 2 years ago

Thanks, I tried the sensor driver and config file, but there's still some error

root@openipc-hi3516dv100:~# load_hisilicon -i
mmz_start: 0x82000000, mmz_size: 96M
hisilicon: Get data from environment and set SENSOR as imx385
insmod: can't insert 'mmz.ko': File exists
******* Error: There's something wrong, please check! *****
root@openipc-hi3516dv100:~# SENSOR=imx385 majestic
13:39:01 [    main] main@135                      Majestic Lite for HiSilicon, version master+c2f29d8, built on 2022-01-12
13:39:01 [app_conf] load_config@342               Using /etc/majestic.yaml as main configuration
13:39:01 [     sdk] sdk_specific_config@3536      SENSOR=imx385
13:39:01 [     sdk] find_sensor_config@3493       matched sensor config: imx385_i2c_1080p.ini
13:39:01 [     sdk] find_sensor_config@3510       Using /etc/sensors/imx385_i2c_1080p.ini as sensor configuration
13:39:01 [watchdog] watchdog_start@74             Watchdog device (/dev/watchdog) not found
13:39:01 [     sdk] start_sdk@250                 App was built with MPP version: Hi3516A_MPP_V1.0.8.0.B070 Release
13:39:01 [     sdk] start_sdk@253                 Current MPP version: HI_VERSION=Hi3516A_MPP_V1.0.8.0 B070 Release
13:39:01 [     sdk] start_sdk@277                 sensor imx385
13:39:01 [     sdk] start_sdk@282                   input_mode MIPI, WDR NONE
13:39:01 [     sdk] start_sdk@289                   dev [1920x1080]@4x4 25fps, RGGB
13:39:01 [  sensor] try_to_load@19                trying to load /usr/lib/sensors/libsns_imx385.so
13:39:01 [     sdk] dump_vb_configuration@2488    VB configuration:
13:39:01 [     sdk] dump_vb_configuration@2498      [0]: 3110400 x 5
13:39:01 [     sdk] dump_vb_configuration@2498      [1]: 4147200 x 1
13:39:01 [     sdk] HISDK_COMM_VI_SetMipiAttr@844 warning: open hi_mipi dev failed
13:39:01 [     sdk] init_sensor@2628              Cannot set VI Mipi attr
13:39:01 [     sdk] init_sensor@2628              Unknown error code FFFFFFFF
13:39:01 [     sdk] start_sdk@320                 Cannot init sensor
13:39:01 [    main] main@227                      Shutdown main thread
root@openipc-hi3516dv100:~# fw_printenv
bootdelay=1
baudrate=115200
ethaddr=00:00:23:34:45:66
bootfile="uImage"
configFlag=ok
cpuFlag=ok
cpuType=3516a
sensorFlag=no
sensorType=53
filesize=4A2000
fileaddr=82000000
netmask=255.255.255.0
ipaddr=192.168.2.22
serverip=192.168.2.88
bootcmd=sf probe 0;sf read 0x82000000 0x300000 0x300000;bootm 0x82000000
totalmem=128M
sensor=imx385
soc=3516dv100
osmem=32M
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06 (Sep 22 2017 - 09:17:14)
mdio_intf=rmii
hisicpu=hi3516d
bootargs=mem=32M 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)

boot log:

hisilicon # reset resetting ...

U-Boot 2010.06 (Sep 22 2017 - 09:17:14)

NAND:  Check nand flash controller v610. found
Special NAND id table Version 1.36
Nand ID: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
No NAND device found!!!
0 MiB
Check spi flash controller v350... Found
Spi(cs1) ID: 0xC2 0x20 0x18 0xC2 0x20 0x18
Spi(cs1): Block:64KB Chip:16MB Name:"MX25L128XX"
In:    serial
Out:   serial
Err:   serial
Press Ctrl+q/Q to stop autoboot:  0
16384 KiB hi_sfc at 0:0 is now current device

## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Linux-4.9.37-hi3516dv100
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1949212 Bytes = 1.9 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Loading Kernel Image ... OK
OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.9.37 (runner@fv-az183-294) (gcc version 7.5.0 (Buildroot -gd4c07a2) ) #1 Thu Jan 13 03:41:52 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: 8128
Kernel command line: mem=32M 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)
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: 26868K/32768K available (3983K kernel code, 174K rwdata, 892K rodata, 184K init, 224K bss, 5900K 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 - 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: 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
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
Spi(cs1) ID: 0xC2 0x20 0x18 0xC2 0x20 0x18
SPI nor flash boot mode is 3 Bytes
Spi(cs1): Block:64KB
Chip:16MB Name:"MX25L128XX"
spi size: 16MB
chip num: 1
4 cmdlinepart partitions found on MTD device hi_sfc
Creating 4 MTD partitions on "hi_sfc":
0x000000000000-0x000000300000 : "boot"
0x000000300000-0x000000500000 : "kernel"
0x000000500000-0x000000a00000 : "rootfs"
0x000000a00000-0x000001000000 : "rootfs_data"
libphy: hisi_gemac_mii_bus: probed
libphy: Fixed MDIO Bus: probed
hi_gmac_v200 10090000.ethernet (unnamed net_device) (uninitialized): using random MAC address 72:ea:fd:2f:b7:64
attached PHY 1 to driver Generic PHY, PHY_ID=0x1cc816
Higmac dma_sg_phy: 0x81000000
ETH: rmii, phy_addr=1
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: Mounted root (squashfs filesystem) readonly on device 31:2.
devtmpfs: mounted
Freeing unused kernel memory: 184K (c04ce000 - c04fc000)
This architecture does not have kernel memory protection.
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: udhcpc: started, v1.31.1
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover
udhcpc: no lease, forking to background
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 lousy MAC, let's try to change it..
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: 0x82000000, mmz_size: 96M
hisilicon: Get data from environment and set SENSOR as imx385
xxxx Invalid sensor type  xxxx
******* Error: There's something wrong, please check! *****
Starting majestic: OK

Welcome to OpenIPC v2.1
openipc-hi3516dv100 login: root
dimerr commented 2 years ago

vi /usr/bin/load_hisilicon

find this line https://github.com/OpenIPC/firmware/blob/7cfe3d7057e21da6f24872f3d4623d1f740afd0e/general/package/hisilicon-osdrv-hi3516av100/files/script/load_hisilicon#L167

and make it imx178 | imx385)

jimsmt commented 2 years ago

Thanks, got some new error message

root@openipc-hi3516dv100:~# load_hisilicon -i
mmz_start: 0x82000000, mmz_size: 96M
hisilicon: Get data from environment and set SENSOR as imx385
insmod: can't insert 'mmz.ko': File exists
******* Error: There's something wrong, please check! *****
root@openipc-hi3516dv100:~# SENSOR=imx385 majestic
15:28:10 [    main] main@135                      Majestic Lite for HiSilicon, version master+c2f29d8, built on 2022-01-12
15:28:10 [app_conf] load_config@342               Using /etc/majestic.yaml as main configuration
15:28:10 [     sdk] sdk_specific_config@3536      SENSOR=imx385
15:28:10 [     sdk] find_sensor_config@3493       matched sensor config: imx385_i2c_1080p.ini
15:28:10 [     sdk] find_sensor_config@3510       Using /etc/sensors/imx385_i2c_1080p.ini as sensor configuration
15:28:10 [watchdog] watchdog_start@74             Watchdog device (/dev/watchdog) not found
15:28:10 [     sdk] start_sdk@250                 App was built with MPP version: Hi3516A_MPP_V1.0.8.0.B070 Release
15:28:10 [     sdk] start_sdk@253                 Current MPP version: HI_VERSION=Hi3516A_MPP_V1.0.8.0 B070 Release
15:28:10 [     sdk] start_sdk@277                 sensor imx385
15:28:10 [     sdk] start_sdk@282                   input_mode MIPI, WDR NONE
15:28:10 [     sdk] start_sdk@289                   dev [1920x1080]@4x4 25fps, RGGB
15:28:10 [  sensor] try_to_load@19                trying to load /usr/lib/sensors/libsns_imx385.so
15:28:10 [     sdk] dump_vb_configuration@2488    VB configuration:
15:28:10 [     sdk] dump_vb_configuration@2498      [0]: 3110400 x 5
15:28:10 [     sdk] dump_vb_configuration@2498      [1]: 4147200 x 1
15:28:10 [     sdk] init_sensor@2691              Sensor driver loaded
15:28:10 [     log] printf@261                    linear mode FullLineStd :1350
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:10 [    puts]                               Open hi_i2c error!
15:28:11 [    puts]                               Open hi_i2c error!
15:28:11 [    puts]                               Open hi_i2c error!
15:28:11 [    puts]                               Open hi_i2c error!
15:28:11 [    puts]                               Open hi_i2c error!
15:28:11 [    puts]                               === Imx385 1080P30fps-line init 4Chn success! =====
15:28:11 [    puts]                               Open hi_i2c error!
15:28:11 [    puts]                               Open hi_i2c error!
15:28:11 [     sdk] log_venc_chn@1608             H.265 1920x1080 25fps 4096Kbit  25 GOP
15:28:11 [     sdk] create_vpss_chn@1361            new venc: 0   vpss_grp: 0,   vpss_chn: 0
15:28:11 [     sdk] init_chn@1643                 JPEG snapshot snapshot venc_chn 1  1920x1080
15:28:11 [image_tu] start_image_params_tuning@63  Image tuning task started
15:28:11 [     sdk] start_sdk@828                 HiSilicon SDK started
15:28:11 [   httpd] new_http_server@346           HTTP server started on :::80
15:28:11 [    rtsp] rtsp_init@30                  RTSP server started on port 554
15:28:11 [   netip] netip_start@2008              NETIP server started on port 34567
15:28:13 [     sdk] venc_read@1286                Timeout get any data from venc channel 0
15:28:13 [     sdk] venc_read@1306                NOTE: Current frame is NULL!
15:28:15 [     sdk] venc_read@1286                Timeout get any data from venc channel 0
15:28:15 [     sdk] venc_read@1306                NOTE: Current frame is NULL!
15:28:17 [     sdk] venc_read@1286                Timeout get any data from venc channel 0
15:28:17 [     sdk] venc_read@1306                NOTE: Current frame is NULL!
15:28:19 [     sdk] venc_read@1286                Timeout get any data from venc channel 0
15:28:19 [     sdk] venc_read@1306                NOTE: Current frame is NULL!
15:28:21 [     sdk] venc_read@1286                Timeout get any data from venc channel 0
15:28:21 [     sdk] venc_read@1306                NOTE: Current frame is NULL!
15:28:23 [     sdk] venc_read@1286                Timeout get any data from venc channel 0
15:28:23 [     sdk] venc_read@1306                NOTE: Current frame is NULL!
15:28:24 [     hal] take_yuv420sp_video_fram@1081 Cannot get chn 0 frame for vpssGrp=0
15:28:24 [     hal] take_yuv420sp_video_fram@1081 ERR_VPSS_BUF_EMPTY: The picture queue is empty
15:28:24 [image_co] image_control_compute_his@100 Cannot take yuv420sp VI frame
15:28:24 [image_co] image_control_compute_his@100 ERR_VPSS_BUF_EMPTY: The picture queue is empty
15:28:24 [image_tu] tune_image_params@180         get_histogram errored
15:28:24 [    vpss] VpssUserGetFrame@364          [  vpss] vpss(0, 0) user get frame time out, s32MilliSec=10000
15:28:25 [     sdk] venc_read@1286                Timeout get any data from venc channel 0
15:28:25 [     sdk] venc_read@1306                NOTE: Current frame is NULL!
15:28:27 [     sdk] venc_read@1286                Timeout get any data from venc channel 0
15:28:27 [     sdk] venc_read@1306                NOTE: Current frame is NULL!
15:28:28 [     hal] take_yuv420sp_video_fram@1081 Cannot get chn 0 frame for vpssGrp=0
15:28:28 [     hal] take_yuv420sp_video_fram@1081 ERR_VPSS_BUF_EMPTY: The picture queue is empty
15:28:28 [image_co] image_control_compute_his@100 Cannot take yuv420sp VI frame
15:28:28 [image_co] image_control_compute_his@100 ERR_VPSS_BUF_EMPTY: The picture queue is empty
15:28:28 [image_tu] tune_image_params@180         get_histogram errored
15:28:28 [    vpss] VpssUserGetFrame@364          [  vpss] vpss(0, 0) user get frame time out, s32MilliSec=10000
15:28:29 [     sdk] venc_read@1286                Timeout get any data from venc channel 0
15:28:29 [     sdk] venc_read@1306                NOTE: Current frame is NULL!
15:28:31 [     sdk] venc_read@1286                Timeout get any data from venc channel 0
15:28:31 [     sdk] venc_read@1306                NOTE: Current frame is NULL!
15:28:33 [     sdk] venc_read@1286                Timeout get any data from venc channel 0
15:28:33 [     sdk] venc_read@1306                NOTE: Current frame is NULL!
15:28:35 [     hal] take_yuv420sp_video_fram@1081 Cannot get chn 0 frame for vpssGrp=0
15:28:35 [     hal] take_yuv420sp_video_fram@1081 ERR_VPSS_BUF_EMPTY: The picture queue is empty
15:28:35 [image_co] image_control_compute_his@100 Cannot take yuv420sp VI frame
15:28:35 [image_co] image_control_compute_his@100 ERR_VPSS_BUF_EMPTY: The picture queue is empty
15:28:35 [image_tu] tune_image_params@180         get_histogram errored
15:28:35 [    vpss] VpssUserGetFrame@364          [  vpss] vpss(0, 0) user get frame time out, s32MilliSec=10000
15:28:35 [     sdk] venc_read@1286                Timeout get any data from venc channel 0
15:28:35 [     sdk] venc_read@1306                NOTE: Current frame is NULL!
15:28:37 [     sdk] venc_read@1286                Timeout get any data from venc channel 0
15:28:37 [     sdk] venc_read@1306                NOTE: Current frame is NULL!
15:28:39 [     sdk] venc_read@1286                Timeout get any data from venc channel 0
15:28:39 [     sdk] venc_read@1306                NOTE: Current frame is NULL!
15:28:39 [     hal] take_yuv420sp_video_fram@1081 Cannot get chn 0 frame for vpssGrp=0
15:28:39 [     hal] take_yuv420sp_video_fram@1081 ERR_VPSS_BUF_EMPTY: The picture queue is empty
15:28:39 [image_co] image_control_compute_his@100 Cannot take yuv420sp VI frame
15:28:39 [image_co] image_control_compute_his@100 ERR_VPSS_BUF_EMPTY: The picture queue is empty
15:28:39 [image_tu] tune_image_params@180         get_histogram errored
15:28:39 [    vpss] VpssUserGetFrame@364          [  vpss] vpss(0, 0) user get frame time out, s32MilliSec=10000
dimerr commented 2 years ago

libsns_imx385_i2c.zip

jimsmt commented 2 years ago

SENSOR=imx385 majestic

I replaced /usr/lib/sensors/libsns_imx385.so with this file, but it's the same error message

dimerr commented 2 years ago

unfortunately this driver was compiled for an older i2c access method which is not supported now...

jimsmt commented 2 years ago

unfortunately this driver was compiled for an older i2c access method which is not supported now...

do you mean this binary file is extracted from the camera flash dump directly? I thought it was compiled by you

jimsmt commented 2 years ago

I got another imx385 camera from the same company, but soc is 3516av200. Do you think it's possible to add support for it too? if no, I won't create another issue and waste your time

dimerr commented 2 years ago

nobody yet have tested av200 platform. however we do have imx385 for av200. you can ttry flashing images, but i expect it might not even boot

jimsmt commented 2 years ago

I will try tomorrow, I see you do have an image for 3516av200. The OEM firmware recognize it as 3519v101, are they the same family too

Do you need me to create an issue if it won’t boot? Or if it won’t load imx385 driver? I’m happy to do the testing job but don’t want to waste your time when there’s no meaning

dimerr commented 2 years ago

I guess you can, if it at least tries to boot, open an issue and post logs,etc, as much info as possible, because i dont have any boards on that platform so i've added it without any testing