Giter Site home page Giter Site logo

openhisiipcam / br-hisicam Goto Github PK

View Code? Open in Web Editor NEW
133.0 30.0 24.0 147.08 MB

Buildroot based sample firmware for HiSilicon`s System-On-a-Chip ip cameras

Home Page: http://www.openhisiipcam.org

License: Other

Makefile 4.76% C 68.30% Assembly 1.77% Perl 5.21% Shell 1.32% Python 18.63%
hisilicon buildroot firmware camera linux rootfs hi3516 ip-camera xm530

br-hisicam's Introduction

hisilicon_buildroot

BR-HisiCam


Buildroot based sample firmware for HiSilicon`s System-On-a-Chip ip cameras

Part of OpenHisiIpCam project

πŸ“ Table of Contents

πŸ‘“ About

This repo is freezed, will not be maintained or improved.

This repo can be used as starting point for ip camera research or some other associated project.

Here term firmware means full set of software needed for running embedded device. In our case it is bootloader, Linux kernel, filesystem, that contains full software set including system utilities, applications that manage audio/video pipeline, business logic and service functions.

Currently this repo covers just few tasks, it is mostly empty system that runs one application (that itself lacks all needed functionality), but we are working on improvement of different aspects of overall functionality.

🏁 Getting started

This is quick tutorial how to prepare source tree and build kernel and root file system image.

All these were developed and tested under Ubuntu 18.04/19.10 GNU/Linux OS. Supposed that everything will work on any modern GNU/Linux distro, deb based distros most probably have same system dependency packages names, on other distros satisfy deps by yourself.

1. Clone repo:

foo@bar:~$ git clone --recursive https://github.com/OpenHisiIpCam/br-hisicam --depth 1

2. Install required system packages:

foo@bar:~$ sudo make install-ubuntu-deps

Let us know if we miss some dependencies!

3. Prepare source tree:

foo@bar:~$ make prepare

During this step buidlroot source archive (~7MB) will be downloaded and unpacked.

4. List avalible boards/modules:

foo@bar:~$ make list-configs 
jvt_s274h19v-l29_hi3519v101_imx274
unknown_unknown_hi3519v101_unknown

5. Build toolchain, kernel and rootfs for choosen module:

foo@bar:~$ make BOARD=jvt_s274h19v-l29_hi3519v101_imx274 all

During build step, toolchain will be generated from scratch, that takes time and requires all deps sources to be downloaded. Downloaded data is about 200MB.

All artifacts reside in output directory that is ./output by default. However you may override it with OUT_DIR=path/to/my/output make variable. This output directory will be referenced below as OUT_DIR.

πŸ•§ Overall build process (dependencies download time not included) can take:

  • about 15 minutes on Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz, 16GB RAM
  • about 20 minutes on Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz, 16GB RAM
  • about 50 minutes on Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz, 8GB RAM
  • about 22 minuts on Intel(R) Core(TM) i5-8250U CPU @ 1.6GHz, 8GB RAM

Directory OUT_DIR/images contains kernel and rootfs images:

foo@br:~/br-firmware/output/images$ tree .
.
β”œβ”€β”€ rootfs.squashfs	# XZ compressed SquashFS root file system
└── uImage		# U-Boot wrapped XZ compressed kernel image

0 directories, 2 files

Now you can deploy software to your camera module!

πŸ”₯ Deploy

This short deploy guide assume that you are familiar with your hardware, you made all wire (power, network and debug UART) connections and so on.

Prepare host machine

For developing purpose we recommend upload kernel and rootfs (as initramfs) into the RAM of the device, not writing it to ROM. In this case your expiriments will not affect normal device operation, after reset/poweroff of the device it will be at same state as before, becasue ROM data will still contains factory firmware.

Such way requires access to device`s bootloader (U-Boot in our case) and supposed that it will have tftp, bootm commands and avalibity of network operation.

As U-Boot will download kernel and rootfs images via TFTP, you have to install and tune tftp server on your host machine. In our case it will be tftpd-hpa, but you can use any you are familiar with.

foo@bar:~$ sudo apt-get install tftpd-hpa
foo@bar:~$ cat /etc/default/tftpd-hpa 
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/foo/br-firmware/tftp" # <--- change path to your actual dir
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"

After changes don`t forget to restart tftpd-hpa

foo@bar:~$ sudo /etc/init.d/tftpd-hpa restart

Your test facility will be look like following schema.

Deploy schema

Network configuration is sample, you can use any consistent network settings for your host machine and camera module.

Upload software via U-Boot

Your USB-TTL adapter will be registered in system as /dev/ttyUSB0 or in some cases as /dev/ttyACM0. You can use any serial terminal app like putty, miniterm or even screen 99% of known camera modules have U-Boot setuped for 115200,8n1 serial communication.

After camera power on quickly press Ctrl+C (send Ctrl+C to camera trough serial connection) to interrupt normal boot process. When you will catch U-Boot prompt hisilicon # (sometimes xm #, Zview #, etc) you ready to input commands.

1. Setup network settings and ip of tftp server (your host machine ip)

hisilicon # setenv ipaddr 192.168.1.100; setenv netmask 255.255.255.0;  setenv serverip 192.168.1.1;

Next steps will require chip and board specific information! TODO make jvt_s274h19v-l29_hi3519v101_imx274_info

2. Download kernel and rootfs images from your host machine tftp server

hisilicon # tftp 0x82000000 uImage
hisilicon # tftp 0x82400000 rootfs.squashfs

3. Setup kernel boot params.

hisilicon # setenv bootargs mem=64M console=ttyAMA0,115200 root=/dev/ram initrd=0x82400000,4M

4. Finally let U-Boot load Linux kernel

hisilicon # bootm 0x82000000

Deploy to ROM is another story and at the moment it is out of scope this document.

πŸ““ Technical notes

All system is built on top of the Buildroot (br for short). HiSilicon SoCs support made as buildroot external tree (br-ext-hisicam dir). For some reason we need flexible way of vanilla kernel patching (we wanted to support orderable patches and files overlay apply), so we made such extension.

External tree structure

.	#br-ext-hisicam dir contains following data
β”œβ”€β”€ Config.in
β”œβ”€β”€ board
β”‚Β Β  β”œβ”€β”€ hi3516av100				# hi3516av100 family dir
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ hi3516av100.config			# key=value chip specific settings
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ hi3516dv100.config			# ---//---
β”‚Β Β  β”‚Β Β  └── kernel				# patches and files overlay for vanilla kernel
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ hi3516av100.generic.config	# kernel default config
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ hi3516dv100.generic.config	# kernel default config
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ overlay				# kernel files overlay dir
β”‚Β Β  β”‚Β Β      └── patches				# kernel patches dir
β”‚Β Β  β”œβ”€β”€ hi3516av200				# o
β”‚Β Β  β”œβ”€β”€ hi3516cv100				#  t
β”‚Β Β  β”œβ”€β”€ hi3516cv200				#   h
β”‚Β Β  β”œβ”€β”€ hi3516cv300				#    e
β”‚Β Β  β”œβ”€β”€ hi3516cv500				#     r
β”‚Β Β  β”œβ”€β”€ hi3516ev200				# families, orginized similar way
β”‚Β Β  β”œβ”€β”€ jvt					# JVT modules dir
β”‚Β Β  β”‚Β Β  └── jvt_s274h19v-l29_hi3519v101_imx274	#
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ config				# key=value board specific settings
β”‚Β Β  β”‚Β Β      └── kernel				# Kernel specific data, like configs, patches overlay
β”‚Β Β  β”œβ”€β”€ ruision					# another module vendor dir
β”‚Β Β  β”œβ”€β”€ ssqvision				# ---//---
β”‚Β Β  β”œβ”€β”€ xm					# ---//---
β”‚Β Β  └── generic                                 # generic boards dir
β”‚Β Β   Β Β  β”œβ”€β”€ unknown_unknown_hi3516av100_unknown # similar to vendor modules dir (jvt, xm, etc)
β”‚Β Β   Β Β  β”œβ”€β”€ unknown_unknown_hi3516av200_unknown # can be used for initial RnD with new modules
β”‚Β Β   Β Β  β”œβ”€β”€ ...
β”‚Β Β   Β Β  └── unknown_unknown_hi3519v101_unknown
β”œβ”€β”€ configs					# all generic and board specific buildroot configs 
β”‚Β Β  β”œβ”€β”€ jvt_s274h19v-l29_hi3519v101_imx274_defconfig
β”‚Β Β  β”œβ”€β”€ unknown_unknown_hi3516av100_unknown_defconfig
β”‚Β Β  β”œβ”€β”€ ...
β”‚Β Β  └── unknown_unknown_hi3519v101_unknown_defconfig
β”œβ”€β”€ external.desc
β”œβ”€β”€ external.mk
β”œβ”€β”€ linux				# kernel standard br package extension
β”‚Β Β  β”œβ”€β”€ Config.ext.in			# inserts hisi_patcher after vanilla source tree unpack
β”‚Β Β  └── linux-ext-hisi_patcher.mk	# see 17.20.2 linux-kernel-extensions (br manual)
└── package
    β”œβ”€β”€ gohisicam			# GoHisiCam package TODO 
    └── hisi_patcher			# package apply patches and file overlays in orderable way

Long story short, when it comes to kernel, after vanilla sources unpack, br will apply chip family patches, overlay chip family files, than so same for board specific data. Exact actions are setuped in BR2_LINUX_KERNEL_EXT_HISI_PATCHER_LIST br config param (cat ./br-ext-hisicam/configs/jvt_s274h19v-l29_hi3519v101_imx274_defconfig | grep BR2_LINUX_KERNEL_EXT_HISI_PATCHER_LIST).

We recommend you take a look on Buildroot documentation, in case you want detailed understanding externel tree ideology.

πŸ“· Target hardware

This project mostly targetted on HiSilicon based one cmos ip camera modules.

More information about different ip camera modules in the catalog.

We name modules according following schema {vendor}_{model}_{chip}_{cmos}.

Examples:

  • jvt_s226h19v-l29_hi3519v101_imx226
  • xm_ipg-83he20py-s_hi3516ev100_imx323
  • jvt_s274h19v-l29_hi3519v101_imx274
  • xm_ivg-hp201y-se_hi3516cv300_imx323
  • ssqvision_on290h16d_hi3516dv100_imx290

Also there are generic profiles:

  • unknown_unknown_hi3516dv100_unknown
  • unknown_unknown_{chip}_unknown

Generic profile supposed to run on the module based on corresponding chip, but only debug UART will works, other periphery like network, should be tuned. Such profiles can be used as starting point for new modules research.

Hardware structuring

HiSilicon has a lot of chips, not only special ip camera solutions, but also NVR/DVR and even smartphone SoCs. Unfortunately it is hard to understand their naming policy, it is not random, but there is no strict patterns.

We split chips into groups, that we call families. Not sure that it is official HiSilicon`s term, but anyway such grouping reduce naming mess a bit.

Family - chips that have similar CPU architecture, similar audio/video pipeline hardware and shares same SDK. Software across family is binary compatible. Family name is repeating some chip name from corresponding group, usually (but not always) that chip is most powerfull chip across the family.

Chip families information

chips family kernel
hi3516av100, hi3516dv100 hi3516av100 4.9.37
hi3519v101, hi3516av200 hi3516av200 3.18.20
hi3516cv100, hi3518cv100, hi3518ev100 hi3516cv100 3.0.8
hi3516cv200, hi3518ev200, hi3518ev201 hi3516cv200 4.9.37
hi3516cv300, hi3516ev100 hi3516cv300 3.18.20
hi3516cv500, hi3516dv300, hi3516av300 hi3516cv500 4.9.37
hi3516ev300, hi3516ev200, hi3516dv200, hi3518ev300 hi3516ev200 4.9.37
hi3519av100 hi3519av100 4.9.37
hi3559av100 hi3559av100 4.9.37

Tests

At the moment test covers:

  • load kernel and rootfs to RAM via uboot/tftp (hiburn test)
  • successful linux start with simple network echo server (minimal kernel config test)
  • GoHisiProbe TODO (kernel and sdk modules consitency, minimal board params test)
Model Pass
jvt_s274h19v-l29_hi3519v101_imx274 OK
xm_ivg-85hf20pya-s_hi3516ev200_imx307 OK
xm_53h20-s_hi3516cv100_imx122 OK
xm_ivg-hp203y-se_hi3516cv300_imx291 OK
xm_ivg-hp201y-se_hi3516cv300_imx323 OK
jvt_s323h16xf_hi3516cv300_imx323 OK
ruision_rs-h622qm-b0_hi3516cv300_imx323 OK
xm_ivg-85hg50pya-s_hi3516ev300_imx335 Uboot locked
xm_ipg-83h50p-b_hi3516av100_imx178 OK
xm_ipg-83he20py-s_hi3516ev100_imx323 OK
xm_ivg-83h80nv-be_hi3516av200_os08a10 OK
ssqvision_on335h16d_hi3516dv300_imx335 OK
jvt_s226h19v-l29_hi3519v101_imx226 OK
xm_53h20-ae_hi3516cv100_imx222 OK
xm_83h40pl-b_hi3516av100_ov4689 OK
ssqvision_unknown_hi3519v101_imx326 Uboot net is not working
ssqvision_on290h16d_hi3516dv100_imx290 OK

br-hisicam's People

Contributors

nikitos1550 avatar wsnk 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

br-hisicam's Issues

Job

Hello, I need to insert my logo on a camera based on HI3516CV300 IMX307 keeping the original firmware. Firmware 3516CV300_IMX307_B1T0A1M0C1P1_W_20.1.3.2
You do?
What the value ?
Thank you

Which ipcam to get started?

Hello!
Im interested in this project and want to try it out.
I already own a Hi3516CV300 variant, but i don't think that this variant will have the best compatibility as i can see on the old kernel versions.

Can you recommend me some ip cams to get started?

AK39XXEV300

I'm trying to backup oryginal firmware from my IP camera. I would like to configure it to work with some open source projects like Kerberos. RTSP and ONVIF is disabled by default. Web interface is handcaped too. I decieded connect to it by telnet, but any password is incorrect.

This is my logs when I am connected to TTL debug port using only ground and TX pin:

U-Boot 2013.10.0-AK_V3.1.00 (May 20 2020 - 04:47:31)

ramsize: 04000000
DRAM: 64 MiB
efuse_read:0x00000002
8 MiB
should_load_env
cdh:env_relocate_spec, line:564
load env_relocate

total partitions: 8
In: serial
Out: serial
Err: serial
Net: AKEthernet-0

device nor0 <spi0.0>, # parts = 8
#: name size offset mask_flags
0: UBOOT 0x0002e000 0x00000000 0
1: ENV 0x00001000 0x0002e000 0
2: BKENV 0x00001000 0x0002f000 0
3: DTB 0x00010000 0x00030000 0
4: KERNEL 0x001b0000 0x00040000 0
5: ROOTFS 0x000c0000 0x001f0000 0
6: APP 0x004d0000 0x002b0000 0
7: CONFIG 0x00080000 0x00780000 0

active partition: nor0,0 - (UBOOT) 0x0002e000 @ 0x00000000

KERNEL: size:0x001b0000, offset:0x00040000

SF: 1769472 bytes @ 0x40000 Read: OK

Booting kernel from Legacy Image at 80008000 ...

Image Name: Linux-4.4.192V1.6
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1605864 Bytes = 1.5 MiB
Load Address: 80008000
Entry Point: 80008040
Verifying Checksum ... OK
XIP Kernel Image ... OK
kernel loaded at 0x80008000, end = 0x801900e8
using: FDT

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 4.4.192V1.6 (root@ubuntu) (gcc version 4.9.4 (Buildroot 2018.02.7-g7ef6f7c) ) #16 Fri Ma0
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
CPU: VIVT data cache, VIVT instruction cache
Machine model: ak3919ev300_v601_f37 dev board
Memory policy: Data cache writeback
ANYKA CPU AK39XXEV330 (ID 0x20160101)
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: console=ttySAK0,115200n8 root=/dev/mtdblock5 rootfstype=squashfs init=/sbin/init M
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 33464K/65536K available (3154K kernel code, 117K rwdata, 988K rodata, 136K init, 188K bss, 320)
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xc4800000 - 0xff800000 ( 944 MB)
lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.text : 0xc0008000 - 0xc0413d44 (4144 kB)
.init : 0xc0414000 - 0xc0436000 ( 136 kB)
.data : 0xc0436000 - 0xc0453788 ( 118 kB)
.bss : 0xc0453788 - 0xc0482878 ( 189 kB)
SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:126
ak39ev330_clk: CPU(JCLK): 804(Mhz)
ak39ev330_clk: MEMDDR2(DPHY): 402(Mhz)
ak39ev330_clk: VCLK: 280(Mhz)
ak-timer: ak_timer_init
clocksource: ak_cs_timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 159271703898 ns
sched_clock: 32 bits at 12MHz, resolution 83ns, wraps every 178956970966ns
Calibrating delay loop... 400.58 BogoMIPS (lpj=2002944)
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 0x80008400 - 0x8000843c
devtmpfs: initialized
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
On-chip L2 memory initialized
ak-pinctrl 20170000.gpio: ak_pinctrl_probe 1962
ak_ev330_pinctrl: ak_pinctrl_probe irq: 15
media: Linux media interface: v0.10
Linux video capture interface: v2.00
clocksource: Switched to clocksource ak_cs_timer
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
squashfs: version 4.0 (2009/01/31) Phillip Lougher
jffs2: version 2.2. Β© 2001-2006 Red Hat, Inc.
io scheduler noop registered (default)
AKxx uart driver init, (c) 2013 ANYKA
ttySAK0 at MMIO 0x20130000 (irq = 10, base_baud = 0) is a AK
console [ttySAK0] enabled
loop: module loaded
Start to init Anyka SPI Flash...
init Anyka SPI Nand Flash driver
value:0
spi0 new hz is 35000000, div is 2(change).
ak spiflash probe enter.
akspi flash ID: 0x00c22017
ak-spiflash spi0.0: kh25l64 (8192 Kbytes)
8 cmdlinepart partitions found on MTD device spi0.0
Creating 8 MTD partitions on "spi0.0":
0x000000000000-0x00000002e000 : "UBOOT"
0x00000002e000-0x00000002f000 : "ENV"
0x00000002f000-0x000000030000 : "BKENV"
0x000000030000-0x000000040000 : "DTB"
0x000000040000-0x0000001f0000 : "KERNEL"
0x0000001f0000-0x0000002b0000 : "ROOTFS"
0x0000002b0000-0x000000780000 : "APP"
0x000000780000-0x000000800000 : "CONFIG"
Init AK SPI Flash finish.
akspi master SPI0 initialize success, use for PIO mode.
i2c /dev entries driver
ak_wdt_init: watchdog register...
NET: Registered protocol family 17
sctp: Hash tables configured (established 512 bind 1024)
^@VFS: Mounted root (squashfs filesystem) readonly on device 31:5.
devtmpfs: mounted
Freeing unused kernel memory: 136K
starting pid 300, tty '': '/etc/init.d/rcS'
^@mount all file system...


Love Linux ! ! ! 

/bin/mount -t squashfs /dev/mtdblock6 /usr
/bin/mount -t jffs2 /dev/mtdblock7 /etc/jffs2
starting mdev...
starting pid 328, tty '/dev/ttySAK0': '/sbin/getty -L ttySAK0 115200 vt100 '
^@start telnet......
__
_ ____ / ____ __
/\ | \ | |\ \ / /| |/ / /\
/ \ | | | \ / / | ' / / \
/ /\ \ | . ' | \ / | < / /\ \
/ ____ \ | |\ | | | | . \ / ____ \
// _|| _| |__| ||_// _\

ifconfig: SIOCGIFFLAGS: No such device
wifi power down

anyka login: insmod: can't insert '/usr/modules/ak_rtc.ko': No such file or directory
hwclock: can't open '/dev/misc/rtc': No such file or directory
ak_uio: register uio device successfully with irq: 2!
enter gpio_uart_probe
ak_mac Ethernet Driver
Configed MAC RMII interface!
insmod mac device ok
Reset MAC controller!
eth0 owns a shared interrupt on netdev->irq 16
setting up the cable unplug timer
start nfs driver...
start sensor driver...
akisp_init, cb0:c30c8078, cb1: (null)
jxfxx_probe Apr 26 2020 22:09:57
i2c i2c-0: jxfxx Probed success, subdev:c3162e14
start sar-adc driver...
TIMETICK->[APIS_Timer/src//Timetick.c]:212 task list is empty
TIMETICK->[APIS_Timer/src//Timetick.c]:113 TIMETICK pid=453 tid=b6b1d4c0 begin

When I use 3 wires (GND, RX, TX) there is such a different output:

[+οΏ½οΏ½env_relocate

total partitions: 8
In: serial
Out: serial
Err: serial
Net: AKEthernet-0

device nor0 <spi0.0>, # parts = 8
#: name size offset mask_flags
0: UBOOT 0x0002e000 0x00000000 0
1: ENV 0x00001000 0x0002e000 0
2: BKENV 0x00001000 0x0002f000 0
3: DTB 0x00010000 0x00030000 0
4: KERNEL 0x001b0000 0x00040000 0
5: ROOTFS 0x000c0000 0x001f0000 0
6: APP 0x004d0000 0x002b0000 0
7: CONFIG 0x00080000 0x00780000 0

active partition: nor0,0 - (UBOOT) 0x0002e000 @ 0x00000000

KERNEL: size:0x001b0000, offset:0x00040000
οΏ½ 1769472 bytes @ 0x40000 Read: OK

Booting kernel from Legacy Image at 80008000 ...

Image Name: Linux-4.4.192V1.6
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1605864 Bytes = 1.5 MiB
Load Address: 80008000
Entry Point: 80008040
Verifying Checksum ... OK
XIOK
kernel loaded at 0x80008000, end = 0x801900e8
using: FDT

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 4.4.192V1.6 (root@ubuntu) (gcc version 4.9.4 (Buildroot 2018.02.7-g7ef6f7c) ) #16 Fri Ma0
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
CPU: VIVT data cache, VIVT instruction cache
Machine model: ak3919ev300_v601_f37 dev board
Memory policy: Data cache writeback
ANYKA CPU AK39XXEV330 (ID 0x20160101)
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: console=ttySAK0,115200n8 root=/dev/mtdblock5 rootfstype=squashfs init=/sbin/init M
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 33464K/65536K available (3154K kernel code, 117K rwdata, 988K rodata, 136K init, 188K bss, 320)
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xc4800000 - 0xff800000 ( 944 MB)
lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.text : 0xc0008000 - 0xc0413d44 (4144 kB)
.init : 0xc0414000 - 0xc0436000 ( 136 kB)
.data : 0xc0436000 - 0xc0453788 ( 118 kB)
.bss : 0xc0453788 - 0xc0482878 ( 189 kB)
SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:126
ak39ev330_clk: CPU(JCLK): 804(Mhz)
ak39ev330_clk: MEMDDR2(DPHY): 402(Mhz)
ak39ev330_clk: VCLK: 280(Mhz)
ak-timer: ak_timer_init
clocksource: ak_cs_timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 159271703898 ns
sched_clock: 32 bits at 12MHz, resolution 83ns, wraps every 178956970966ns
Calibrating delay loop... 400.58 BogoMIPS (lpj=2002944)
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 0x80008400 - 0x8000843c
devtmpfs: initialized
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
On-chip L2 memory initialized
ak-pinctrl 20170000.gpio: ak_pinctrl_probe 1962
ak_ev330_pinctrl: ak_pinctrl_probe irq: 15
media: Linux media interface: v0.10
Linux video capture interface: v2.00
clocksource: Switched to clocksource ak_cs_timer
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
squashfs: version 4.0 (2009/01/31) Phillip Lougher
jffs2: version 2.2. Β© 2001-2006 Red Hat, Inc.
io scheduler noop registered (default)
AKxx uart driver init, (c) 2013 ANYKA
ttySAK0 at MMIO 0x20130000 (irq = 10, base_baud = 0) is a AK
console [ttySAK0] enabled
loop: module loaded
Start to init Anyka SPI Flash...
init Anyka SPI Nand Flash driver
value:0
spi0 new hz is 35000000, div is 2(change).
ak spiflash probe enter.
akspi flash ID: 0x00c22017
ak-spiflash spi0.0: kh25l64 (8192 Kbytes)
8 cmdlinepart partitions found on MTD device spi0.0
Creating 8 MTD partitions on "spi0.0":
0x000000000000-0x00000002e000 : "UBOOT"
0x00000002e000-0x00000002f000 : "ENV"
0x00000002f000-0x000000030000 : "BKENV"
0x000000030000-0x000000040000 : "DTB"
0x000000040000-0x0000001f0000 : "KERNEL"
0x0000001f0000-0x0000002b0000 : "ROOTFS"
0x0000002b0000-0x000000780000 : "APP"
0x000000780000-0x000000800000 : "CONFIG"
Init AK SPI Flash finish.
akspi master SPI0 initialize success, use for PIO mode.
i2c /dev entries driver
ak_wdt_init: watchdog register...
NET: Registered protocol family 17
sctp: Hash tables configured (established 512 bind 1024)
VFS: Mounted root (squashfs filesystem) readonly on device 31:5.
devtmpfs: mounted
Freeing unused kernel memory: 136K
ak_uio: register uio device successfully with irq: 2!
enter gpio_uart_probe
ak_mac Ethernet Driver
Configed MAC RMII interface!
insmod mac device ok
Reset MAC controller!
eth0 owns a shared interrupt on netdev->irq 16
setting up the cable unplug timer
akisp_init, cb0:c30f9078, cb1: (null)
jxfxx_probe Apr 26 2020 22:09:57
i2c i2c-0: jxfxx Probed success, subdev:c321de14

anyka login: TIMETICK->[APIS_Timer/src//Timetick.c]:212 task list is empty
TIMETICK->[APIS_Timer/src//Timetick.c]:113 TIMETICK pid=453 tid=b6b354c0 begin

In both cases I cannot write anything. Ctrl+C is equally ineffective. Please help me get this started. With pleasure I add my firmware to your base.

job

Hello, I need to insert my logo on a camera based on HI3516CV300 IMX307 keeping the original firmware. Firmware 3516CV300_IMX307_B1T0A1M0C1P1_W_20.1.3.2
You do?
What the value ?
Thank you

Xiaomi MJSXJ02HL - Hi3518ERNCV300

Hi,

I just opened this low cost camera and I leave here the serial dump. The chip physical marking is "Hi3518ERNCV300".

I don't know which sensor it has, maybe you can see from the log.

I currently don't have any use for cameras so I will not make any work on this, so I just searched for a project using this SOCs to leave the serial dump for someone interested in getting this cameras.

I had to destroy most of the plastic case to open the camera, so it's not very hackable friendly.

Regards

System startup

Uncompress Ok!

U-Boot 2016.11 (Dec 04 2019 - 14:52:34 +0800)hi3518ev300

Relocation Offset is: 03731000
Relocating to 43f31000, new gd at 43ef0ef0, sp at 43ef0ed0
SPI Nor:  NAND:  0 MiB
MMC:   Card did not respond to voltage select!
No SD device found !
hisi-sdhci: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
[hl-boot] spi_flash_probe!!!!
[hl-boot] map_physmem!!!!
[hl-boot] Spi para flash read...
[hl-boot] FWGRADEUP not find !!!!!!!!!
Net:   No ethernet found.
Hit any key to stop autoboot:  0 
liuyang_do_sd_start!!!!!!!!!!!!!!!!!!!!!!!!
liuyang_flash->read!!!!!!!!!!!!!!!!!!!!!!!!
liuyang_search_pbuf!!!!!!!!!!!!!!!!!!!!!!!!
FWGRADEUP not find !!!!!!!!!
liuyang_bootargs!!!!!!!!!!!!!!!!!!!!!!!!
device 0 offset 0x40000, size 0x200000

SF: 2097152 bytes @ 0x40000 Read: OK
## Booting kernel from Legacy Image at 40000000 ...
   Image Name:   Linux-4.9.37
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1916842 Bytes = 1.8 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Loading Kernel Image ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 4.9.37 (root@chenx-Latitude-3490) (gcc version 6.3.0 (HC&C V100R002C00B032_20190114) ) #7 Thu Oct 17 10:45:21 CST 2019
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
Memory policy: Data cache writeback
CPU: All CPU(s) started in SVC mode.
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 11430
Kernel command line: mem=45M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=squashfs rw mtdparts=hi_sfc:256K(boot),1984K(kernel),3904K(rootfs),3904K(app),1984K(kback),3904K(aback),384K(cfg),64K(para)
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 40340K/46080K available (3593K kernel code, 147K rwdata, 1020K rodata, 156K init, 246K bss, 5740K reserved, 0K cma-reserved)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xc3000000 - 0xff800000   ( 968 MB)
    lowmem  : 0xc0000000 - 0xc2d00000   (  45 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc038a818   (3595 kB)
      .init : 0xc048b000 - 0xc04b2000   ( 156 kB)
      .data : 0xc04b2000 - 0xc04d6ce0   ( 148 kB)
       .bss : 0xc04d8000 - 0xc0515a18   ( 247 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 0x40008240 - 0x40008298
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 c3063000
ssp-pl022 12071000.spi: ARM PL022 driver, device ID: 0x00800022
ssp-pl022 12071000.spi: mapped registers from 0x12071000 to c3067000
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Linux video capture interface: v2.00
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=14 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) Β© 2001-2006 Red Hat, Inc.
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
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: all blocks is unlocked.
hisi-sfc hisi_spi_nor.0: gd25q128 (Chipsize 16 Mbytes, Blocksize 64KiB)
8 cmdlinepart partitions found on MTD device hi_sfc
8 cmdlinepart partitions found on MTD device hi_sfc
Creating 8 MTD partitions on "hi_sfc":
0x000000000000-0x000000040000 : "boot"
0x000000040000-0x000000230000 : "kernel"
0x000000230000-0x000000600000 : "rootfs"
0x000000600000-0x0000009d0000 : "app"
0x0000009d0000-0x000000bc0000 : "kback"
0x000000bc0000-0x000000f90000 : "aback"
0x000000f90000-0x000000ff0000 : "cfg"
0x000000ff0000-0x000001000000 : "para"
dwc3 10030000.hidwc3: Configuration mismatch. dr_mode forced to host
xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
xhci-hcd xhci-hcd.0.auto: hcc params 0x0220fe6c hci version 0x110 quirks 0x20010010
xhci-hcd xhci-hcd.0.auto: irq 113, io mem 0x10030000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
hub 2-0:1.0: USB hub found
hub 2-0:1.0: hub can't support USB3.0
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver pl2303
usbserial: USB Serial support registered for pl2303
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
uvcvideo: Unable to create debugfs directory
usbcore: registered new interface driver uvcvideo
USB Video Class driver (1.1.1)
softdog: initialized. soft_noboot=0 soft_margin=60 sec soft_panic=0 (nowayout=0)
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
Initializing XFRM netlink socket
NET: Registered protocol family 17
NET: Registered protocol family 15
Key type dns_resolver registered
hctosys: unable to open rtc device (rtc0)
VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
Freeing unused kernel memory: 156K (c048b000 - c04b2000)
This architecture does not have kernel memory protection.
 __________________________________
|                                  |
|                                  |
|                                  |
|                                  |
| _   _             _           _  |
|| | | |_   _  __ _| |     __ _(_) |
|| |_| | | | |/ _| | |  _ / _| | | |
||  _  | |_| | (_| | |_| | (_| | | |
||_| |_|\__,_|\__,_|_____|\__,_|_| |
|                                  |
|                                  |
|___________________HuaLai_Fw...___|

[RCS]: /etc/init.d/S00devs
[RCS]: /etc/init.d/S01udev
Start mount rootfs...
mount -t squashfs /dev/mtdblock3 /usr/app
random: mount: uninitialized urandom read (4 bytes read)
mount -t squashfs /dev/mtdblock4 /backk
mount -t squashfs /dev/mtdblock5 /backa
mount -t jffs2 /dev/mtdblock6 /configs
LD_LIBRARY_PATH=/lib:/usr/lib:/usr/app/lib
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/app/bin:/usr/app/sbin
export LD_LIBRARY_PATH=/thirdlib:/lib:/usr/lib:/usr/app/lib
export LD_LIBRARY_PATH PATH
/usr/app/bin/init_app.sh
*** Board tools : ver0.0.1_20121120 *** 
[debug]: {source/utils/cmdshell.c:168}cmdstr:himm
0x112C0048: 0x00001E30 --> 0x00001D54 
[END]
*** Board tools : ver0.0.1_20121120 *** 
[debug]: {source/utils/cmdshell.c:168}cmdstr:himm
0x112C004C: 0x00001160 --> 0x00001174 
[END]
*** Board tools : ver0.0.1_20121120 *** 
[debug]: {source/utils/cmdshell.c:168}cmdstr:himm
0x112C0064: 0x00001160 --> 0x00001174 
[END]
*** Board tools : ver0.0.1_20121120 *** 
[debug]: {source/utils/cmdshell.c:168}cmdstr:himm
0x112C0060: 0x00001160 --> 0x00001174 
[END]
*** Board tools : ver0.0.1_20121120 *** 
[debug]: {source/utils/cmdshell.c:168}cmdstr:himm
0x112C005C: 0x00001160 --> 0x00001174 
[END]
*** Board tools : ver0.0.1_20121120 *** 
[debug]: {source/utils/cmdshell.c:168}cmdstr:himm
0x112C0058: 0x00001160 --> 0x00001174 
[END]
*** Board tools : ver0.0.1_20121120 *** 
[debug]: {source/utils/cmdshell.c:168}cmdstr:himm
0x10020028: 0x20000000 --> 0x28000000 
[END]
*** Board tools : ver0.0.1_20121120 *** 
[debug]: {source/utils/cmdshell.c:168}cmdstr:himm
0x10020028: 0x28000000 --> 0x20000000 
[END]
rtl8189ftv: loading out-of-tree module taints kernel.
RTL871X: module init start
RTL871X: rtl8189ftv v4.3.24.7_21113.20170208.nova.1.02
RTL871X: build time: Jun 19 2019 14:40:43
RTL871X: module init ret=0
sdhci-hisi 10020000.sdhci: card claims to support voltages below defined range
sh: 45M: bad number
======online_flag = 0, cmos_yuv_flag = 0, sensor=f22, chip=hi3518ev300, board=demo======
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!
mmc1: new high speed SDIO card at address 0001
RTL871X: ++++++++rtw_drv_init: vendor=0x024c device=0xf179 class=0x07
load region.ko for Hi3516EV200...OK!
random: fast init done
load vgs.ko for Hi3516EV200...OK!
load vi.ko for Hi3516EV200...OK !
ISP Mod init!
load vpss.ko for Hi3516EV200...OK!
RTL871X: HW EFUSE
RTL871X: hal_com_config_channel_plan chplan:0x20
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!
RTL871X: rtw_regsty_chk_target_tx_power_valid return _FALSE for band:0, path:0, rs:0, t:-1
RTL871X: rtw_ndev_init(wlan0) if1 mac_addr=50:ec:50:49:16:bf
load mipi_rx driver successful!
/

===========welcome to assis process=========
[Build date] Jun 30 2020 (13:39:32)
[exec-assis,0144]msgSndId:0
[exec-assis,0159]msgRcvId:32769
[SDK-DOG]dbg: turn on watchdog success!

===========welcome to iCamera_app===========
[Build date] Jun 30 2020 (13:39:33)
[msg:79]log: msg_queue_create() ok  MsgId:65538
[sdevice_not_work_set_callback]dbg: set ok! have 1 cb
[sdevice_can_work_set_callback]dbg: set ok! have 1 cb
init_log_module() ok
[sdevice_can_work_set_callback]dbg: set ok! have 2 cb
[exec-iCame,0144]msgSndId:0
[exec-iCame,0159]msgRcvId:32769
[timer,144]dbg: init complete.
[Func]:cmos_set_wdr_mode [Line]:743 [Info]:linear mode
random: crng init done
up
killall: wpa_supplicant: no process killed
killall: udhcpc: no process killed
killall: udhcpd: no process killed
killall: hostapd: no process killed
down
up
Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL control device
RTL871X: rtw_set_802_11_connect(wlan0)  fw_state=0x00000008
RTL871X: start auth
RTL871X: auth success, start assoc
RTL871X: assoc success
RTL871X: recv eapol packet
RTL871X: send eapol packet
RTL871X: recv eapol packet
RTL871X: send eapol packet
RTL871X: set pairwise key camid:4, addr:C8:94:F9:CD:71:49, kid:0, type:AES
RTL871X: set group key camid:5, addr:C8:94:F9:CD:71:49, kid:2, type:AES
udhcpc: started, v1.31.0
udhcpc: sending discover
udhcpc: sending select for 192.168.123.129
udhcpc: lease of 192.168.123.129 obtained, lease time 43200
deleting routers
adding dns 8.8.8.8
adding dns 8.8.4.4
killall: miio_client: no process killed
killall: miio_client_helper_nomqtt.sh: no process killed
killall: wifi_start.sh: no process killed
Jan  1 08:00:15 miio_client[1145]: [W] miio_client: version: miio-client 4.0.9 (main,230)
[Mi-helper] ln34: {"method":"_internal.helper_ready"}
Jan  1 08:00:15 miio_client[1146]: [W] internal: handle_internal_hello, fd: 7, STATE: (0) (handle_internal_hello,1292)
[Mi-helper] Got _internal.request_dinfo
[Mi-helper] ln303: {"method":"_internal.request_dinfo","params":"/etc/miio/"}
[Mi-helper] dinfo_file:    /etc/miio//device.conf
Jan  1 08:00:15 miio_client[1146]: [W] internal: cmd_internal_response_dinfo:1230 STATE: [STATE_DEVICE_INIT] -> [STATE_DIDKEY_DONE] (_set_conn_state,397)
Jan  1 08:00:15 miio_client[1146]: [W] internal: handle_internal_hello, fd: 8, STATE: (3) (handle_internal_hello,1292)
[Mi-helper] Got _internal.request_dtoken
[Mi-helper] dcountry_file: /etc/miio//device.country
[Mi-helper] ln311: {"method":"_internal.response_dcountry","params":""}
Jan  1 08:00:15 miio_client[1146]: [W] internal: cmd_internal_response_dtoken:911 STATE: [STATE_DIDKEY_DONE] -> [STATE_TOKEN_DONE] (_set_conn_state,397)
Jan  1 08:00:15 miio_client[1146]: [W] internal: handle_internal_hello, fd: 8, STATE: (4) (handle_internal_hello,1292)
[Mi-helper] Got _internal.req_wifi_conf_status
[Mi-helper] wificonf_file: /etc/miio//wifi.conf
[Mi-helper] WIFI_SSID: 
[Mi-helper] ln243: {"method":"_internal.res_wifi_conf_status","params":1}
Jan  1 08:00:15 miio_client[1146]: [W] internal: cmd_internal_res_wifi_conf_status:487 STATE: [STATE_TOKEN_DONE] -> [STATE_WIFI_STA_MODE] (_set_conn_state,397)
Jan  1 08:00:15 miio_client[1146]: [W] miio_client: miio_common init (main,284)
Jan  1 08:00:15 miio_client[1146]: [W] internal: handle_internal_hello, fd: 8, STATE: (6) (handle_internal_hello,1292)
[Mi-helper] ifname: wlan0
[Mi-helper] ssid:   Internet
[Mi-helper] bssid:  C8:94:F9:CD:71:49
[Mi-helper] ip:     192.168.123.129
[Mi-helper] mask:   255.255.255.0
[Mi-helper] gw:     192.168.123.1
OK
Jan  1 08:00:16 miio_client[1146]: [W] archnet: ip =, not valid (arch_net_is_offline,183)
[Mi-helper] ln238: {"method":"_internal.info","partner_id":"","params":{"hw_ver":"Linux","fw_ver":"4.0.9_0112","ap":{"ssid":"Internet","bssid":"C8:94:F9:CD:71:49","rssi":"-60"},"netif":{"localIp":"192.168.123.129","mask":"255.255.255.0","gw":"192.168.123.1"}}}
Jan  1 08:00:16 miio_client[1146]: [W] internal: no wifi state (cmd_internal_get_info_callback,2080)
Jan  1 08:00:16 miio_client[1146]: [W] internal: freq is not uint. (cmd_internal_get_info_callback,2170)
Jan  1 08:00:16 miio_client[1146]: [W] internal: cmd_internal_get_info_callback:2318 STATE: [STATE_WIFI_STA_MODE] -> [STATE_WIFI_STA_GOT_IP] (_set_conn_state,397)
Jan  1 08:00:16 miio_client[1146]: [W] internal: handle_internal_hello, fd: 8, STATE: (7) (handle_internal_hello,1292)
Jan  1 08:00:16 miio_client[1146]: [W] internal: handle_internal_hello:1365 STATE: [STATE_WIFI_STA_GOT_IP] -> [STATE_CLOUD_TRYING] (_set_conn_state,397)
Jan  1 08:00:17 miio_client[1146]: [W] arch_os: delete mutex handle = 587832 (arch_os_mutex_delete,484)
Jan  1 08:00:17 miio_client[1146]: [W] arch_os: delete mutex handle = 587688 (arch_os_mutex_delete,484)
Jan  1 08:00:17 miio_client[1146]: [W] arch_os: delete mutex handle = 587720 (arch_os_mutex_delete,484)
Jan  1 08:00:17 miio_client[1146]: [W] httpdns: "proto" not found! (http_in_close,235)
Jan  1 08:00:17 miio_client[1146]: [W] tls: timeout[100]! mbedtls_ssl_handshake returned -0x6800 (d0_tls_open,389)
Jan  1 08:00:17 miio_client[1146]: [W] tls: timeout[200]! mbedtls_ssl_handshake returned -0x6800 (d0_tls_open,389)
Jan  1 08:00:17 miio_client[1146]: [W] tls: timeout[300]! mbedtls_ssl_handshake returned -0x6800 (d0_tls_open,389)
Jan  1 08:00:18 miio_client[1146]: [W] tls: timeout[400]! mbedtls_ssl_handshake returned -0x6800 (d0_tls_open,389)
Jan  1 08:00:18 miio_client[1146]: [W] tls: timeout[500]! mbedtls_ssl_handshake returned -0x6800 (d0_tls_open,389)
Jan  1 08:00:18 miio_client[1146]: [W] tls: timeout[600]! mbedtls_ssl_handshake returned -0x6800 (d0_tls_open,389)
Jan  1 08:00:18 miio_client[1146]: [W] tls: timeout[700]! mbedtls_ssl_handshake returned -0x6800 (d0_tls_open,389)
Jan  1 08:00:20 miio_client[1146]: [W] miio_client_func: Got online msg. (miio_client_online_hook,73)
Jan  1 08:00:20 miio_client[1146]: [W] internal: miio_client_online_hook:75 STATE: [STATE_CLOUD_TRYING] -> [STATE_CLOUD_CONNECTED] (_set_conn_state,397)
[Mi-helper] ifname: wlan0
[Mi-helper] ssid:   Internet
[Mi-helper] bssid:  C8:94:F9:CD:71:49
[Mi-helper] ip:     192.168.123.129
[Mi-helper] mask:   255.255.255.0
[Mi-helper] gw:     192.168.123.1
OK
[Mi-helper] ln238: {"method":"_internal.info","partner_id":"","params":{"hw_ver":"Linux","fw_ver":"4.0.9_0112","ap":{"ssid":"Internet","bssid":"C8:94:F9:CD:71:49","rssi":"-60"},"netif":{"localIp":"192.168.123.129","mask":"255.255.255.0","gw":"192.168.123.1"}}}
Jan  1 08:00:24 miio_client[1146]: [W] internal: no wifi state (cmd_internal_get_info_callback,2080)
Jan  1 08:00:24 miio_client[1146]: [W] internal: freq is not uint. (cmd_internal_get_info_callback,2170)
Jan  1 08:00:24 miio_client[1146]: [W] internal: handle_internal_hello, fd: 8, STATE: (12) (handle_internal_hello,1292)
[assis]WDG_CMD_FEED_DOG!!!!
[assis]WDG_CMD_FEED_DOG!!!!
[assis]WDG_CMD_FEED_DOG!!!!
Sep 13 05:36:45 miio_client[1146]: [W] ot: up session[id=1599946600] timeout (ot_timer_up_session_timeout,952)
Sep 13 05:36:50 miio_client[1146]: [W] ot: up session[id=1599946606] timeout (ot_timer_up_session_timeout,952)
[assis]WDG_CMD_FEED_DOG!!!!
Sep 13 05:36:56 miio_client[1146]: [W] ot: up session[id=1599946612] timeout (ot_timer_up_session_timeout,952)
Sep 13 05:37:02 miio_client[1146]: [W] ots: kplv timeout. Cut. (ots_timer_kplv_timeout,705)
Sep 13 05:37:02 miio_client[1146]: [W] ot: up session[id=1599946618] flushed... (ot_up_rpc_delegate_flush,1245)
Sep 13 05:37:02 miio_client[1146]: [W] arch_os: delete mutex handle = 587688 (arch_os_mutex_delete,484)
Sep 13 05:37:02 miio_client[1146]: [W] arch_os: delete mutex handle = 587720 (arch_os_mutex_delete,484)
Sep 13 05:37:02 miio_client[1146]: [W] arch_os: delete mutex handle = 587752 (arch_os_mutex_delete,484)
Sep 13 05:37:02 miio_client[1146]: [W] ots: ots reconnect will start in 9457 ms... (ots_reconnect,1263)
Sep 13 05:37:02 miio_client[1146]: [W] miio_client_func: Got offline msg. (miio_client_offline_hook,90)
Sep 13 05:37:02 miio_client[1146]: [W] internal: miio_client_offline_hook:92 STATE: [STATE_CLOUD_CONNECTED] -> [STATE_CLOUD_CONNECT_RETRY] (_set_conn_state,397)
Sep 13 05:37:03 miio_client[1146]: [W] miio_net_analyse: OFFLINE reason 30 OT is nok 
 (_miio_offline_net_check,308)
Sep 13 05:37:04 miio_client[1146]: [W] miio_client_func: cloud socket not ready yet, current state: 14 (handle_report_msg,231)
Sep 13 05:37:12 miio_client[1146]: [W] tls: timeout[100]! mbedtls_ssl_handshake returned -0x6800 (d0_tls_open,389)
Sep 13 05:37:12 miio_client[1146]: [W] tls: timeout[200]! mbedtls_ssl_handshake returned -0x6800 (d0_tls_open,389)
Sep 13 05:37:12 miio_client[1146]: [W] tls: timeout[300]! mbedtls_ssl_handshake returned -0x6800 (d0_tls_open,389)
Sep 13 05:37:12 miio_client[1146]: [W] tls: timeout[400]! mbedtls_ssl_handshake returned -0x6800 (d0_tls_open,389)
Sep 13 05:37:12 miio_client[1146]: [W] tls: timeout[500]! mbedtls_ssl_handshake returned -0x6800 (d0_tls_open,389)
Sep 13 05:37:12 miio_client[1146]: [W] tls: timeout[600]! mbedtls_ssl_handshake returned -0x6800 (d0_tls_open,389)
Sep 13 05:37:13 miio_client[1146]: [W] tls: timeout[700]! mbedtls_ssl_handshake returned -0x6800 (d0_tls_open,389)
Sep 13 05:37:13 miio_client[1146]: [W] tls: timeout[800]! mbedtls_ssl_handshake returned -0x6800 (d0_tls_open,389)
Sep 13 05:37:14 miio_client[1146]: [W] miio_client_func: Got online msg. (miio_client_online_hook,73)
Sep 13 05:37:14 miio_client[1146]: [W] internal: miio_client_online_hook:75 STATE: [STATE_CLOUD_CONNECT_RETRY] -> [STATE_CLOUD_CONNECTED] (_set_conn_state,397)
[Mi-helper] ifname: wlan0
[Mi-helper] ssid:   Internet
[Mi-helper] bssid:  C8:94:F9:CD:71:49
[Mi-helper] ip:     192.168.123.129
[Mi-helper] mask:   255.255.255.0
[Mi-helper] gw:     192.168.123.1
OK
[Mi-helper] ln238: {"method":"_internal.info","partner_id":"","params":{"hw_ver":"Linux","fw_ver":"4.0.9_0112","ap":{"ssid":"Internet","bssid":"C8:94:F9:CD:71:49","rssi":"-60"},"netif":{"localIp":"192.168.123.129","mask":"255.255.255.0","gw":"192.168.123.1"}}}
Sep 13 05:37:16 miio_client[1146]: [W] internal: no wifi state (cmd_internal_get_info_callback,2080)
Sep 13 05:37:16 miio_client[1146]: [W] internal: freq is not uint. (cmd_internal_get_info_callback,2170)
Sep 13 05:37:16 miio_client[1146]: [W] internal: handle_internal_hello, fd: 8, STATE: (12) (handle_internal_hello,1292)
[assis]WDG_CMD_FEED_DOG!!!!
[assis]WDG_CMD_FEED_DOG!!!!

Sample user hello world application build

Some users want to add some their software to target, but don`t have enough experience with cross compilation and buildroot. Some sample hello world external application needed that will be putted automatically to rootfs.

wrong kernel version

unknown_unknown_hi3516av100_unknown_defconfig
BR2_DEFAULT_KERNEL_VERSION="3.4.35"

ssqvision_on290h16d_hi3516dv100_imx290_defconfig
BR2_DEFAULT_KERNEL_VERSION="3.4.35"

unknown_unknown_hi3516dv100_unknown_defconfig
BR2_DEFAULT_KERNEL_VERSION="3.4.35"

or

xm_ipg-83h50p-b_hi3516av100_imx178_defconfig
BR2_DEFAULT_KERNEL_VERSION="4.9.37"

xm_83h40pl-b_hi3516dv100_ov4689_defconfig
BR2_DEFAULT_KERNEL_VERSION="4.9.37"

Default ip settings for eth0

In case when we are booting kernel without ip settings, there should be some default eth0 interface definition.

Add Wireguard to the build: not working?

Hello, I tried to enable Wireguard in the build and although it builds OK and I can generate keys with the wg command, when I tried to load the kernel module with "insmod wireguard.ko", I get:

insmod: can't insert 'wireguard.ko': unknown symbol in module, or unknown parameter

And from dmesg:

<4>wireguard: Unknown symbol ip_tunnel_get_stats64 (err 0)

Is it possible to make this work? TIA

Build failed in ubuntu:eoan

  • ubuntu:eoan
  • make xm_ivg-hp201y-se_hi3516cv300_imx323_defconfig
LN include/sys/user.h
  LN include/bits/posix_opt.h
  LN include/bits/local_lim.h
  MKDIR libm/arm
  HOSTCC /extra/locale/gen_wc8bit
  GEN /extra/locale/codesets.txt
  GEN /extra/locale/c8tables.h
make[4]: *** [Makefile.in:164: ../..//extra/locale/c8tables.h] Error 1
make[3]: *** [Makefile.in:185: headers] Error 2
make[2]: *** [package/pkg-generic.mk:269: /br-hisicam/output/xm_ivg-hp201y-se_hi3516cv300_imx323/build/uclibc-1.0.32/.stamp_built] Error 2
make[1]: *** [Makefile:23: _all] Error 2
make[1]: Leaving directory '/br-hisicam/output/xm_ivg-hp201y-se_hi3516cv300_imx323'
make: *** [Makefile:39: xm_ivg-hp201y-se_hi3516cv300_imx323_defconfig] Error 2

P.S.
Seems it is becasue BR2_TOOLCHAIN_BUILDROOT_LOCALE=y in defconfig, as
unknown_unknown_xm530_unknown builds ok.

rtl8188eu kernel module build error

rtl8188eu 4b0ecca485b9f11f58670b69aa9f90ecad7da02f Building kernel module

br-hisicam/output/xm_ivg-hp203y-se_hi3516cv300_imx291/build/rtl8188eu-4b0ecca485b9f11f58670b69aa9f90ecad7da02f/./os_dep/ioctl_linux.c:7815:3: error: β€˜struct iw_handler_def’ has no member named β€˜private_args’

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.