mirror of https://github.com/OpenIPC/wiki.git
173 lines
5.0 KiB
Markdown
173 lines
5.0 KiB
Markdown
# IPC-RM1-BLK7202V3-M43A-WIFI
|
|
- [Overview](#overview)
|
|
- [Device info](#Device-info)
|
|
- [Connectors](#Connectors)
|
|
- [Front side](#Front-side)
|
|
- [Back side](#Back-side)
|
|
- [GPIOs](#GPIOs)
|
|
- [Muxing](#Muxing)
|
|
- [SD Card](#SD-Card)
|
|
- [Speaker](#Speaker)
|
|
- [Flashing](#Flashing)
|
|
- [Flash memory layout](#Flash-memory-layout)
|
|
- [Summary](#Summary)
|
|
- [TODO](#TODO)
|
|
|
|
# Overview
|
|
Board found in cheap indoor Cootli WiFi PTZ cam. Board looks very similar to [XM IPG-G4-WR-BL](http://baike.xm030.cn:81/%E4%BA%A7%E5%93%81%E5%8F%82%E6%95%B0/English/IPG%E6%A8%A1%E7%BB%84/Parameters%20for%20IPG-G4-WR.pdf) but PCB layout a bit different.
|
|
|
|
All tests are complete on [gk7202v300_lite_cootli_camv0103-nor](https://github.com/OpenIPC/builder/releases/download/latest/gk7202v300_lite_cootli_camv0103-nor.tgz) firmware (build Feb 8 2024).
|
|
|
|
## Device info
|
|
| System | Description | Comments |
|
|
|-|-|-|
|
|
| SoC | GK7202V300 | |
|
|
| Flash | XMC XM25QH64CHIQ | 8MB |
|
|
| Sensor | SmartSens SC223A* | 1920x1080 |
|
|
| Audio | MIC + SPK | |
|
|
| Storage | Micro SD | |
|
|
| LAN | - | - |
|
|
| WiFi | iComm SV6355 | UF.L (IPX) |
|
|
| BT | +? | +? |
|
|
| Motors | 2x Stepper | GPIO + ULN2803A |
|
|
| Dimensions | 38 x 54 mm | |
|
|
|
|
\* - reported by ipctool
|
|
|
|
Front side
|
|

|
|
|
|
Back side
|
|

|
|
|
|
PCB markings
|
|

|
|
|
|
# Connectors
|
|
Connectors type JST 1.25mm
|
|

|
|
|
|
## Front side
|
|
| Connector | Type |
|
|
|:-:|:-|
|
|
| IRCUT | 2pin JST |
|
|
| LED | 5pin JST |
|
|
| MIC | 2pin JST |
|
|
|
|
## Back side
|
|
- Micro SD Card Socket
|
|
- UART (unsoldered, to the left of SPK, pin1 RX, pin2 TX)
|
|
|
|
| Connector | Type |
|
|
|:-:|:-|
|
|
| SPK | 2pin JST |
|
|
| H | 5pin JST |
|
|
| V | 5pin JST |
|
|
| +5V | 2pin JST |
|
|
| RF | UF.L (IPX) |
|
|
|
|
# GPIOs
|
|
| GPIO | Connector | Description |
|
|
|:-:|:-:|:-:|
|
|
| 0* | - | Reset button |
|
|
| 4 | LED pin 5 | WLED |
|
|
| 8 | WiFi module pin 3 | LO - Power ON |
|
|
| 12 | H pin 5 | Mot H |
|
|
| 13 | H pin 2 | Mot H |
|
|
| 14 | H pin 4 | Mot H |
|
|
| 15 | H pin 3 | Mot H |
|
|
| 16 | LED pin 4 | IRLED |
|
|
| 52 | V pin 2 | Mot V |
|
|
| 53 | V pin 3 | Mot V |
|
|
| 54 | V pin 4 | Mot V |
|
|
| 55 | V pin 5 | Mot V |
|
|
| 56 | IRCUT pin 1 | LO - IRCUT ON |
|
|
| 57* | LED pin 3 | IRSens |
|
|
| 58 | IRCUT pin 2 | LO - IRCUT OFF |
|
|
| 70 | - | SD PWR (LO - Power ON) |
|
|
| 51 | - | AUDIO AMP |
|
|
|
|
\* - unconfirmed.
|
|
|
|
## Muxing
|
|
No muxing required if Majestic takes control over pins. Otherwise, muxing can be done using the following commands.
|
|
|
|
Muxing GPIO16 for taking control over IRLED pin:
|
|
```sh
|
|
devmem 0x120c0020 32 0x432 # GPIO2_0 (GPIO16)
|
|
```
|
|
|
|
Also for motors.
|
|
Muxing GPIO12, GPIO14, GPIO15 (motors H connector):
|
|
```sh
|
|
devmem 0x120c0010 32 0x1e02 # GPIO1_4 (GPIO12)
|
|
devmem 0x120c0018 32 0x1d02 # GPIO1_6 (GPIO14)
|
|
devmem 0x120c001c 32 0x1402 # GPIO1_7 (GPIO15)
|
|
```
|
|
|
|
Shortly after **Loading of kernel modules...** GPIO13 turns to HI (one of motors winding constantly powered), so maybe necesary turn it to LO:
|
|
```sh
|
|
gpio clear 13
|
|
gpio unexport 13
|
|
```
|
|
|
|
## SD Card
|
|
By default SD Card unpowered, so we need turn GPIO70 to LO somehow.
|
|
|
|
To poweron SD CARD from Kernel:
|
|
```sh
|
|
gpio clear 70
|
|
```
|
|
or
|
|
```sh
|
|
devmem 0x120B8400 32 0x40 # turn GPIO8_6 to output mode
|
|
devmem 0x120B8100 32 0x00 # set GPIO8_6 to LO
|
|
```
|
|
And reattach SD card.
|
|
|
|
To poweron SD CARD from U-Boot:
|
|
```sh
|
|
mw 0x120B8400 0x40 # turn GPIO8_6 to output mode
|
|
mw 0x120B8100 0x00 # set GPIO8_6 to LO
|
|
mmc rescan
|
|
```
|
|
|
|
## Speaker
|
|
Device supports playing PCM signed 16-bit little-endian, 8000 Hz, 1CH by sending data to http://192.168.0.10/play_audio endpoint.
|
|
|
|
Audio file can be encoded like this:
|
|
```sh
|
|
ffmpeg -i input.wav -f s16le -ar 8000 -ac 1 output.pcm
|
|
```
|
|
|
|
And send to camera's speaker:
|
|
```sh
|
|
curl -v -u user:pass -H "Content-Type: application/json" -X POST --data-binary @audio.pcm http://192.168.0.10/play_audio
|
|
```
|
|
|
|
# Flashing
|
|
Stock firmware is pwd locked and LAN interface does not present, so I'm guessing following methods are available to flash this board:
|
|
- [burn](https://github.com/OpenIPC/burn) + [u-boot-gk7202v300-universal.bin](https://github.com/OpenIPC/firmware/releases/download/latest/u-boot-gk7202v300-universal.bin) and then upload FW via X/Y/ZMODEM (e.g. **loady**. Tip: use **baud** option for speed up) or from SD card (power supply required, [see above](#SD-Card))
|
|
- load full image thru stock web interface (untested)
|
|
- flash programmer
|
|
- somehow get into stock bootloader
|
|
|
|
## Flash memory layout
|
|
| Offset | Size | Description |
|
|
|:-|:-|:-|
|
|
| 0x00000000 | 0x00040000 (262144 bytes) | bootloader |
|
|
| 0x00040000 | 0x00010000 (65536 bytes) | env |
|
|
| 0x00050000 | 0x00200000 (2097152 bytes) | kernel |
|
|
| 0x00250000 | 0x00500000 (5242880 bytes) | rootfs |
|
|
| 0x00750000 | 0x000B0000 (720896 bytes) | rootfs_data |
|
|
|
|
# Summary
|
|
- [X] WiFi works
|
|
- [X] Video tested/streamed
|
|
- [X] Day/night works (IRCUT and IRLED)
|
|
- [X] MIC works
|
|
- [X] Speaker works
|
|
- [ ] PTZ/Motors (GPIO pins found/accessible, driver untested)
|
|
|
|
# TODO
|
|
- somehow patch/adapt camhi-motor.ko, so make it works on this board. |