Camera: LSC 3215672 - themactep/thingino-firmware GitHub Wiki

Hardware

  • SoC: Ingenic T23N
  • Image Sensor: SC2331
  • Wi-Fi Module: ATBM9012BX
  • Flash Chip: NOR 8MB
  • Power: 5V USB-C

Backup the original firmware

Partition an sdcard and format the 1st partition as VFAT

Disk /dev/mmcblk0: 29,74 GiB, 31914983424 bytes, 62333952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x27b0cfe4

Device         Boot Start      End  Sectors  Size Id Type
/dev/mmcblk0p1       8192    98045    89854 43,9M  c W95 FAT32 (LBA)

Create a file named update.nor.sh on the sdcard with content:

#!/bin/sh

/bin/dd if=/dev/mtd8 of=/mnt/backup-firmware.bin

unmount the sdcard, place it in the camera and let it boot, once booted, power it off, eject the sdcard.

The camera should have created a file named backup-firmware.bin on the sdcard now, this is your backup, save it.

Backup the original firmware with u-boot

Open the case of the camera: There are 4 clips between the black face and the white body located N,E,S and W, you can force it open with an old credit card or a prying tool.

Solder 3 wires to the test pads marked GND, RX and TX and connect them to an USB-serial.

Power on the camera and quickly press a key on your serial emulator to interrupt u-boot:

U-Boot SPL 2013.07-gfc0af3c (Oct 28 2024 - 18:27:53)
Board info: T23N

apll_freq = 1188000000 
mpll_freq = 1200000000 
sdram init start
DDR clk rate 600000000
DDR_PAR of eFuse: 00000000 00000000
sdram init finished
image entry point: 0x80100000


U-Boot 2013.07-gfc0af3c (Oct 28 2024 - 18:27:53)

Board: ISVP (Ingenic XBurst T23 SoC)
DRAM:  64 MiB
Top of RAM usable for U-Boot at: 84000000
Reserving 441k for U-Boot at: 83f90000
Reserving 32784k for malloc() at: 81f8c000
Reserving 32 Bytes for Board Info at: 81f8bfe0
Reserving 124 Bytes for Global Data at: 81f8bf64
Reserving 128k for boot params() at: 81f6bf64
Stack Pointer at: 81f6bf48
Now running in RAM - U-Boot at: 83f90000
MMC:   msc: 0
the manufacturer 20
SF: Detected XM25QH64C

In:    serial
Out:   serial
Err:   serial
Net:   ====>PHY not found!Jz4775-9161
Hit any key to stop autoboot:  0 
isvp_t23#

put an sdcard in the camera and type the following commands 1 at a time:

watchdog 0;
setenv baseaddr 0x82000000;
mmc dev 0;
mmc erase 0x10 0x8000;
setenv flashsize 0x800000;
mw.b ${baseaddr} ff ${flashsize};
sf probe 0; 
sf read ${baseaddr} 0x0 ${flashsize};
mmc write ${baseaddr} 0x10 0x8000

eject the sdcard and dump it's firmware content on your pc:

dd bs=512 skip=16 count=16384 if=/dev/mmcblk0 of=fulldump-action-2ndcam.bin

Flash Thingino with sdcard

Download thingino-lsc_3215672_t23n_sc2331_atbm6012bx.bin and rename it as autoupdate-full.bin on the sdcard.

Create a file named update.nor.sh on the sdcard with the following content:

#!/bin/sh
/sbin/flashcp /mnt/autoupdate-full.bin /dev/mtd8
/sbin/reboot

Put the sdcard in the camera and let it boot 2 times to completely flash the camera

Flash Thingino with u-boot

Download thingino-lsc_3215672_t23n_sc2331_atbm6012bx.bin and place it on the sdcard

Connect an USB-serial to the camera and interupt u-boot see: backup with u-boot

At the u-boot prompt, run the following commands one at a time:

watchdog 0
mw.b 0x82000000 0xff 0x800000
fatload mmc 0 0x82000000 thingino-lsc_3215672_t23n_sc2331_atbm6012bx.bin
sf probe 0
sf erase 0x0 0x800000
sf write 0x82000000 0x0 0x800000
reboot