Hardware Identification - themactep/thingino-firmware GitHub Wiki

In order to install the correct firmware build, you need to determine what hardware components are used in your camera. Here is a typical IP camera board. This particular one is a Wyze Cam V3.

image

SoC

image

The Ingenic SoC is usually the largest chip on the board, black and square in shape.

Ingenic chips usually have very clear labeling that uniquely identifies the SoC model.

The SoC family is written in larger type just below the Ingenic logo: T10, T20, T21, T23, T30, T31, etc.

The line below is mostly numbers, but also includes a literal code for the model: L, LC, N, X, ZX, A, etc.

Flash Memory

image

The flash memory used on the camera can be either NOR type, which is well supported by thingino, or NAND type, with very experimental preliminary support.

NOR chips are usually perfectly square in shape, with eight distinct legs, four on each opposite side.

Leg number one is represented by an embossed or engraved depression.

NOR chips used in IP cameras are EEPROM type 25 and have 25 in their model names: W25Q64, MX25L128, and so on.

Numbers 64 and 128 refer to the size of the chip in megabits, which are converted to megabytes by dividing by eight: 64/8 = 8 megabytes, 128/8 = 16 megabytes.

UART

image

The UART is a serial connection directly to the heart of the camera - its SoC.

Finding UART contacts and establishing a serial connection to the camera is crucial for any serious work with the hardware, and especially for firmware development.

Usually the UART has three contacts labeled G (GND), T (TX), R (RX). Sometimes there is another contact marked V (VCC), but we do not use it in our operations. The camera should be powered through its regular interface, which provides protection against overvoltage.

Wi-Fi module

image

Image Sensor

image

It's almost impossible to identify an image sensor just by looking at it, unless you're a hardcore hardware engineer with years of experience in the field.

The most reliable way to identify an image sensor is to get that information from the stock firmware. If you have a UART connection, check the boot log. In many cases, the image sensor will be identified during runtime and published in the boot log.

[   95.769736] -----sensor_detect: 1384 ret = 0, v = 0x0f
[   95.770281] -----sensor_detect: 1393 ret = 0, v = 0x23
[   95.770291] jxf23 chip found @ 0x40 (i2c0)
[   95.770296] sensor driver version H20200408a
[   96.404902] jxf23 stream on

If you have Thingino on your camera and it is connected to the internet, run sensor-info in its shell. This command will download an app from GitHub and scan your hardware to find an image sensor signature match.

... to be continued