mirror of https://github.com/OpenIPC/wiki.git
remove transfer- prefix.
parent
b49408dab1
commit
60408e3ece
38
README.md
38
README.md
|
@ -1 +1,37 @@
|
||||||
# The OpenIPC Wiki
|
OpenIPC Wiki
|
||||||
|
============
|
||||||
|
|
||||||
|
[English](en/index.md) | [Русский](ru/about.md)
|
||||||
|
|
||||||
|
|
||||||
|
> "Improving the world, one patch at a time."
|
||||||
|
|
||||||
|
|
||||||
|
### This is an open project, so you can help, too.
|
||||||
|
|
||||||
|
We try to collect, organize and share as much information regarding different
|
||||||
|
aspects of the project as we can. But sometimes we overlook things that seem
|
||||||
|
obvious to us, developers, but are not so obvious to end-users, people who are
|
||||||
|
less familiar with nuts and bolts behind the scene. That is why we set up this
|
||||||
|
wiki and let anyone having a GitHub account to make additions and improvements
|
||||||
|
to the knowledgebase.
|
||||||
|
|
||||||
|
### How to contribute.
|
||||||
|
|
||||||
|
Sign in into your GitHub account, or [get yourself one][gh-signup] if you don't
|
||||||
|
have it yet. It's free.
|
||||||
|
|
||||||
|
Go to [the wiki repository](https://github.com/openIPC/wiki/) and fork it.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Make changes (correct a typo, add another record into a table, or write a new
|
||||||
|
article) and commit them to your own fork of the repository.
|
||||||
|
|
||||||
|
From your repository, create a pull request, so we could review and incorporate
|
||||||
|
your changes into our version of the wiki.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
[gh-signup]: https://github.com/signup
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
How to install HTTPS certificates on your camera
|
How to install HTTPS certificates on your camera
|
||||||
------------------------------------------------
|
------------------------------------------------
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
FFMPEG, RTSP and SRT examples
|
FFMPEG, RTSP and SRT examples
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
Boot device with NFS
|
Boot device with NFS
|
||||||
--------------------
|
--------------------
|
||||||
|
|
|
@ -0,0 +1,111 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
|
Interesting tricks
|
||||||
|
------------------
|
||||||
|
|
||||||
|
### Sharing output of a command via web
|
||||||
|
```
|
||||||
|
<command> | nc seashells.io 1337
|
||||||
|
```
|
||||||
|
|
||||||
|
### Adapting syslogd to work with time zones other than GMT
|
||||||
|
|
||||||
|
Some `syslog()` implementations like musl's always send timestamps in UTC.
|
||||||
|
The following code adds a new option to `syslogd`, `-Z`, to assume incoming
|
||||||
|
timestamps are always UTC, and to adjust them to the local timezone
|
||||||
|
(of the syslogd) before logging.
|
||||||
|
|
||||||
|
```diff
|
||||||
|
Signed-off-by: Shiz <hi at shiz.me>
|
||||||
|
---
|
||||||
|
sysklogd/syslogd.c | 23 +++++++++++++++++++----
|
||||||
|
1 file changed, 19 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sysklogd/syslogd.c b/sysklogd/syslogd.c
|
||||||
|
index d64ff27..159336e 100644
|
||||||
|
--- a/sysklogd/syslogd.c
|
||||||
|
+++ b/sysklogd/syslogd.c
|
||||||
|
@@ -122,6 +122,7 @@
|
||||||
|
//usage: "(this version of syslogd ignores /etc/syslog.conf)\n"
|
||||||
|
//usage: )
|
||||||
|
//usage: "\n -n Run in foreground"
|
||||||
|
+//usage: "\n -Z Adjust incoming UTC times to local time"
|
||||||
|
//usage: IF_FEATURE_REMOTE_LOG(
|
||||||
|
//usage: "\n -R HOST[:PORT] Log to HOST:PORT (default PORT:514)"
|
||||||
|
//usage: "\n -L Log locally and via network (default is network only if -R)"
|
||||||
|
@@ -233,6 +234,8 @@ typedef struct logRule_t {
|
||||||
|
/*int markInterval;*/ \
|
||||||
|
/* level of messages to be logged */ \
|
||||||
|
int logLevel; \
|
||||||
|
+ /* whether to adjust message timezone */\
|
||||||
|
+ int adjustTimezone; \
|
||||||
|
IF_FEATURE_ROTATE_LOGFILE( \
|
||||||
|
/* max size of file before rotation */ \
|
||||||
|
unsigned logFileSize; \
|
||||||
|
@@ -316,6 +319,7 @@ enum {
|
||||||
|
OPTBIT_outfile, // -O
|
||||||
|
OPTBIT_loglevel, // -l
|
||||||
|
OPTBIT_small, // -S
|
||||||
|
+ OPTBIT_adjusttz, // -Z
|
||||||
|
IF_FEATURE_ROTATE_LOGFILE(OPTBIT_filesize ,) // -s
|
||||||
|
IF_FEATURE_ROTATE_LOGFILE(OPTBIT_rotatecnt ,) // -b
|
||||||
|
IF_FEATURE_REMOTE_LOG( OPTBIT_remotelog ,) // -R
|
||||||
|
@@ -330,6 +334,7 @@ enum {
|
||||||
|
OPT_outfile = 1 << OPTBIT_outfile ,
|
||||||
|
OPT_loglevel = 1 << OPTBIT_loglevel,
|
||||||
|
OPT_small = 1 << OPTBIT_small ,
|
||||||
|
+ OPT_adjusttz = 1 << OPTBIT_adjusttz,
|
||||||
|
OPT_filesize = IF_FEATURE_ROTATE_LOGFILE((1 << OPTBIT_filesize )) + 0,
|
||||||
|
OPT_rotatecnt = IF_FEATURE_ROTATE_LOGFILE((1 << OPTBIT_rotatecnt )) + 0,
|
||||||
|
OPT_remotelog = IF_FEATURE_REMOTE_LOG( (1 << OPTBIT_remotelog )) + 0,
|
||||||
|
@@ -339,7 +344,7 @@ enum {
|
||||||
|
OPT_cfg = IF_FEATURE_SYSLOGD_CFG( (1 << OPTBIT_cfg )) + 0,
|
||||||
|
OPT_kmsg = IF_FEATURE_KMSG_SYSLOG( (1 << OPTBIT_kmsg )) + 0,
|
||||||
|
};
|
||||||
|
-#define OPTION_STR "m:nO:l:S" \
|
||||||
|
+#define OPTION_STR "m:nO:l:SZ" \
|
||||||
|
IF_FEATURE_ROTATE_LOGFILE("s:" ) \
|
||||||
|
IF_FEATURE_ROTATE_LOGFILE("b:" ) \
|
||||||
|
IF_FEATURE_REMOTE_LOG( "R:*") \
|
||||||
|
@@ -815,17 +820,23 @@ static void timestamp_and_log(int pri, char *msg, int len)
|
||||||
|
{
|
||||||
|
char *timestamp;
|
||||||
|
time_t now;
|
||||||
|
+ struct tm nowtm = { .tm_isdst = 0 };
|
||||||
|
|
||||||
|
/* Jan 18 00:11:22 msg... */
|
||||||
|
/* 01234567890123456 */
|
||||||
|
if (len < 16 || msg[3] != ' ' || msg[6] != ' '
|
||||||
|
|| msg[9] != ':' || msg[12] != ':' || msg[15] != ' '
|
||||||
|
) {
|
||||||
|
- time(&now);
|
||||||
|
+ now = time(NULL);
|
||||||
|
timestamp = ctime(&now) + 4; /* skip day of week */
|
||||||
|
} else {
|
||||||
|
- now = 0;
|
||||||
|
- timestamp = msg;
|
||||||
|
+ if (G.adjustTimezone && strptime(msg, "%b %e %T", &nowtm)) {
|
||||||
|
+ now = mktime(&nowtm) - timezone;
|
||||||
|
+ timestamp = ctime(&now) + 4; /* skip day of week */
|
||||||
|
+ } else {
|
||||||
|
+ now = 0;
|
||||||
|
+ timestamp = msg;
|
||||||
|
+ }
|
||||||
|
msg += 16;
|
||||||
|
}
|
||||||
|
timestamp[15] = '\0';
|
||||||
|
@@ -1130,6 +1141,10 @@ int syslogd_main(int argc UNUSED_PARAM, char **argv)
|
||||||
|
if (opts & OPT_loglevel) // -l
|
||||||
|
G.logLevel = xatou_range(opt_l, 1, 8);
|
||||||
|
//if (opts & OPT_small) // -S
|
||||||
|
+ if (opts & OPT_adjusttz) { // -Z
|
||||||
|
+ G.adjustTimezone = 1;
|
||||||
|
+ tzset();
|
||||||
|
+ }
|
||||||
|
#if ENABLE_FEATURE_ROTATE_LOGFILE
|
||||||
|
if (opts & OPT_filesize) // -s
|
||||||
|
G.logFileSize = xatou_range(opt_s, 0, INT_MAX/1024) * 1024;
|
||||||
|
--
|
||||||
|
```
|
||||||
|
_from [sysklogd: add -Z option to adjust message timezones](http://lists.busybox.net/pipermail/busybox/2017-May/085437.html)_
|
|
@ -1,5 +1,8 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
OpenIPC Developers
|
OpenIPC Developers
|
||||||
==================
|
------------------
|
||||||
|
|
||||||
[](https://github.com/widgetii)
|
[](https://github.com/widgetii)
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
Run ipctool
|
Run ipctool
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
GPIO Settings
|
GPIO Settings
|
||||||
-------------
|
-------------
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||

|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
Supported devices
|
Supported devices
|
||||||
=================
|
-----------------
|
||||||
|
|
||||||
Unfortunately, we cannot provide you a long list of devices that are undoubtedly
|
Unfortunately, we cannot provide you a long list of devices that are undoubtedly
|
||||||
compatible with our firmware. Camera manufacturers tend to change hardware
|
compatible with our firmware. Camera manufacturers tend to change hardware
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
Overview
|
Overview
|
||||||
--------
|
--------
|
||||||
|
|
92
en/index.md
92
en/index.md
|
@ -1,63 +1,67 @@
|
||||||
![OpenIPC logo][logo]
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
Wiki
|
|
||||||
====
|
|
||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
* [About project](transfer-menu-index.md)
|
- [About project](menu-index.md)
|
||||||
* [Supported devices](https://openipc.org/wiki/en/guide-supported-devices)
|
- [Supported devices](https://openipc.org/wiki/en/guide-supported-devices)
|
||||||
* [Show changelog](transfer-show-changelog.md)
|
- [Show changelog](show-changelog.md)
|
||||||
|
|
||||||
## Available subprojects
|
## Subprojects
|
||||||
* [coupler](https://openipc.org/coupler)
|
- [coupler](https://openipc.org/coupler)
|
||||||
* [firmware](https://openipc.org/firmware)
|
- [firmware](https://openipc.org/firmware)
|
||||||
* [ipctool](https://openipc.org/ipctool)
|
- [ipctool](https://openipc.org/ipctool)
|
||||||
* [telemetry](https://openipc.org/telemetry)
|
- [telemetry](https://openipc.org/telemetry)
|
||||||
* [Firmware Partitions Calculation](https://themactep.com/tools/firmware-partitions-calculation)
|
- [Firmware Partitions Calculation](https://themactep.com/tools/firmware-partitions-calculation)
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
* [Goke based boards](transfer-install-goke.md)
|
- [Installation on Goke based boards](install-goke.md)
|
||||||
* [HiSilicon based boards](transfer-install-hisi.md)
|
- [Installation on HiSilicon based boards](install-hisi.md)
|
||||||
* [Novatek based boards](transfer-install-novatek.md)
|
- [Installation on Novatek based boards](install-novatek.md)
|
||||||
* [SigmaStar based boards](transfer-install-ssc335.md)
|
- [Installation on SigmaStar based boards](install-ssc335.md)
|
||||||
* [XM510 based boards](transfer-install-xm510.md)
|
- [Installation on XM510 based boards](install-xm510.md)
|
||||||
* [XM530 based boards](transfer-install-xm530.md)
|
- [Installation on XM530 based boards](install-xm530.md)
|
||||||
* [Veryld full manual](transfer-old-manual.md)
|
- [Veryld full manual](old-manual.md)
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
* [System features](transfer-system-features.md)
|
- [System features](system-features.md)
|
||||||
* [Majestic streamer](transfer-majestic-streamer.md)
|
- [Majestic streamer](majestic-streamer.md)
|
||||||
* [Microbe WEB interface](transfer-microbe-web.md)
|
- [Microbe web interface](microbe-web.md)
|
||||||
* [Upgrade firmware](transfer-sysupgrade.md)
|
- [Upgrade firmware](sysupgrade.md)
|
||||||
* [Image quality tuning](transfer-image-quality-tuning.md)
|
- [Image quality tuning](image-quality-tuning.md)
|
||||||
* [Memory tuning](transfer-memory-tuning.md)
|
- [Memory tuning](memory-tuning.md)
|
||||||
* [Using ipctool](transfer-example-ipctool.md)
|
- [Using ipctool](transfer-example-ipctool.md)
|
||||||
* [GPIO settings](transfer-gpio-settings.md)
|
- [GPIO settings](gpio-settings.md)
|
||||||
* [ACMEv2](transfer-acmev2.md)
|
- [ACMEv2](acme-v2.md)
|
||||||
* [YouTube streaming](transfer-youtube-streaming.md)
|
- [YouTube streaming](youtube-streaming.md)
|
||||||
* [WiFi XM530](transfer-wifi-xm530.md)
|
- [WiFi XM530](wifi-xm530.md)
|
||||||
|
|
||||||
## Firmware
|
## Firmware
|
||||||
* [Releases in GitHub](https://github.com/OpenIPC/firmware/releases/tag/latest)
|
- [Releases in GitHub](https://github.com/OpenIPC/firmware/releases/tag/latest)
|
||||||
* [Releases in Telegram](https://t.me/s/openipc_dev)
|
- [Releases in Telegram](https://t.me/s/openipc_dev)
|
||||||
* [Source code](transfer-source-code.md)
|
- [Source code](source-code.md)
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
* [Interesting tricks](transfer-dev-tricks.md)
|
- [Interesting tricks](dev-tricks.md)
|
||||||
* [Boot device with NFS](transfer-dev-nfs-boot.md)
|
- [Boot device with NFS](dev-nfs-boot.md)
|
||||||
* [FFMPEG usage](transfer-dev-ffmpeg-usage.md)
|
- [FFMPEG usage](dev-ffmpeg-usage.md)
|
||||||
* [Kernel configuration for adding new platforms](transfer-integration-kernel.md)
|
- [Kernel configuration for adding new platforms](integration-kernel.md)
|
||||||
|
|
||||||
## Contacts
|
## Contacts
|
||||||
* [Bug reports](https://github.com/OpenIPC/firmware/issues)
|
- [Bug reports](https://github.com/OpenIPC/firmware/issues)
|
||||||
|
|
||||||
|
## Our resources
|
||||||
|
- [OpenIPC](https://openipc.org/)
|
||||||
|
- [OpenCollective](https://opencollective.com/openipc)
|
||||||
|
- [Twitter](https://twitter.com/OpenIPC)
|
||||||
|
- [Telegram](https://t.me/openipc)
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
* [ToDo](transfer-todo-all.md)
|
- [ToDo](todo-all.md)
|
||||||
* [Developers](transfer-developers.md)
|
- [Developers](developers.md)
|
||||||
* [Notes from old sources](transfer-notes-for-resorting.md)
|
- [Notes from old sources](notes-for-resorting.md)
|
||||||
|
|
||||||
## Resources for recycling and integration
|
## Resources for recycling and integration
|
||||||
* <https://github.com/OpenIPC/camerasrnd>
|
- <https://github.com/OpenIPC/camerasrnd>
|
||||||
* <https://openwrt.org/docs/techref/hardware/soc/soc.hisilicon.hi35xx>
|
- <https://openwrt.org/docs/techref/hardware/soc/soc.hisilicon.hi35xx>
|
||||||
|
|
||||||
[logo]: ../images/logo_openipc.png
|
[logo]: ../images/logo_openipc.png
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
For XM boards with SoC GK7202V300, GK7205V200, GK7205V300 ONLY!!!
|
For XM boards with SoC GK7202V300, GK7205V200, GK7205V300 ONLY!!!
|
||||||
-----------------------------------------------------------------
|
-----------------------------------------------------------------
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
For XM boards with Hi35{16Ev200,16Ev300,18Ev300} SoC ONLY!!!
|
For XM boards with Hi35{16Ev200,16Ev300,18Ev300} SoC ONLY!!!
|
||||||
------------------------------------------------------------
|
------------------------------------------------------------
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
For XM vendor boards with NT98562 and NT98566 SoC ONLY!!!
|
For XM vendor boards with NT98562 and NT98566 SoC ONLY!!!
|
||||||
---------------------------------------------------------
|
---------------------------------------------------------
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
For Anjoy/Brovotech/Gospell/Uniview boards with SSC335 Soc ONLY!!!
|
For Anjoy/Brovotech/Gospell/Uniview boards with SSC335 Soc ONLY!!!
|
||||||
------------------------------------------------------------------
|
------------------------------------------------------------------
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
For XM vendor boards with XM510 SoC ONLY!!!
|
For XM vendor boards with XM510 SoC ONLY!!!
|
||||||
-------------------------------------------
|
-------------------------------------------
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
For XM vendor boards with XM530/XM550 SoC ONLY !!!
|
For XM vendor boards with XM530/XM550 SoC ONLY !!!
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
|
Additional requirements for kernel configuration
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
```
|
||||||
|
CONFIG_BLK_DEV=y
|
||||||
|
CONFIG_BLK_DEV_LOOP=y
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
CONFIG_IP_MULTICAST=y
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
CONFIG_IP_PNP=y
|
||||||
|
CONFIG_IP_PNP_DHCP=y
|
||||||
|
|
||||||
|
CONFIG_ROOT_NFS=y
|
||||||
|
```
|
|
@ -1,4 +1,7 @@
|
||||||
Majestic streamer
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
|
Majestic Streamer
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
### Preamble
|
### Preamble
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
HiSilicon boards
|
HiSilicon boards
|
||||||
----------------
|
----------------
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
## Basic information
|
## Basic information
|
||||||
|
|
||||||
The OpenIPC is an alternative [firmware](https://github.com/OpenIPC) for
|
The OpenIPC is an alternative [firmware](https://github.com/OpenIPC) for
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
Microbe web interface
|
Microbe web interface
|
||||||
---------------------
|
---------------------
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
Installation: how to make OpenIPC running on certain hardware
|
Installation: how to make OpenIPC running on certain hardware
|
||||||
-------------------------------------------------------------
|
-------------------------------------------------------------
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
------------
|
------------
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
## Show changelog
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
|
Changelog
|
||||||
|
---------
|
||||||
|
|
||||||
* [firmware](https://github.com/OpenIPC/firmware/commits/master)
|
* [firmware](https://github.com/OpenIPC/firmware/commits/master)
|
||||||
* [ipctool](https://github.com/OpenIPC/ipctool/commits/master)
|
* [ipctool](https://github.com/OpenIPC/ipctool/commits/master)
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
Source code
|
Source code
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
System features
|
System features
|
||||||
---------------
|
---------------
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
Upgrading firmware
|
Upgrading firmware
|
||||||
------------------
|
------------------
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
ToDo
|
ToDo
|
||||||
----
|
----
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
Interesting tricks
|
|
||||||
------------------
|
|
||||||
|
|
||||||
### Sharing output of a command via web
|
|
||||||
```
|
|
||||||
<command> | nc seashells.io 1337
|
|
||||||
```
|
|
|
@ -1,17 +0,0 @@
|
||||||
## Additional requirements for kernel configuration
|
|
||||||
|
|
||||||
```
|
|
||||||
CONFIG_BLK_DEV=y
|
|
||||||
CONFIG_BLK_DEV_LOOP=y
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
CONFIG_IP_MULTICAST=y
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
CONFIG_IP_PNP=y
|
|
||||||
CONFIG_IP_PNP_DHCP=y
|
|
||||||
|
|
||||||
CONFIG_ROOT_NFS=y
|
|
||||||
```
|
|
|
@ -1 +0,0 @@
|
||||||
Our resources: [OpenIPC](https://openipc.org) | [OpenCollective](https://opencollective.com/openipc) | [Twitter](https://twitter.com/OpenIPC) | [Telegram](https://t.me/openipc)
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
WiFi for XM530 based devices
|
WiFi for XM530 based devices
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Table of Content](index.md)
|
||||||
|
|
||||||
Configuration requirements
|
Configuration requirements
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
|
@ -8,16 +11,14 @@ camera and then continue streaming.
|
||||||
|
|
||||||
### HLS + H.265
|
### HLS + H.265
|
||||||
|
|
||||||
Follow up [Delivering Content via HLS](https://developers.google.com/youtube/v3/live/guides/hls-ingestion) for more information.
|
Follow [Delivering Content via HLS](https://developers.google.com/youtube/v3/live/guides/hls-ingestion)
|
||||||
|
for more information.
|
||||||
|
|
||||||
### Create new stream
|
### Create new stream
|
||||||
|
|
||||||
- Navigate to <https://developers.google.com/youtube/v3/live/code_samples> page.
|
- Navigate to <https://developers.google.com/youtube/v3/live/code_samples> page.
|
||||||
|
|
||||||
- Select 'liveStreams' as Resource and 'insert' as Method.
|
- Select 'liveStreams' as Resource and 'insert' as Method.
|
||||||
|
|
||||||
- In table below, click on 'insert' use case.
|
- In table below, click on 'insert' use case.
|
||||||
|
|
||||||
- On the right side of the page:
|
- On the right side of the page:
|
||||||
- in 'cdn' object, change "frameRate" from "60fps" to "variable";
|
- in 'cdn' object, change "frameRate" from "60fps" to "variable";
|
||||||
- switch "resolution" from "1080p" to "variable";
|
- switch "resolution" from "1080p" to "variable";
|
||||||
|
@ -34,24 +35,18 @@ Follow up [Delivering Content via HLS](https://developers.google.com/youtube/v3/
|
||||||
- in Credentials section, make sure you've selected 'Google OAuth 2.0' and
|
- in Credentials section, make sure you've selected 'Google OAuth 2.0' and
|
||||||
'https://www.googleapis.com/auth/youtube' scope (use 'Show scopes') and
|
'https://www.googleapis.com/auth/youtube' scope (use 'Show scopes') and
|
||||||
deselect 'API Key' option, then press 'Execute' button below.
|
deselect 'API Key' option, then press 'Execute' button below.
|
||||||
|
|
||||||
- Authorize yourself using your YouTube connected account.
|
- Authorize yourself using your YouTube connected account.
|
||||||
|
|
||||||
- Make sure that you got 200 response otherwise check errors and repeat.
|
- Make sure that you got 200 response otherwise check errors and repeat.
|
||||||
Trivial error is when [live streaming](https://support.google.com/youtube/answer/2474026?hl=en)
|
Trivial error is when [live streaming](https://support.google.com/youtube/answer/2474026?hl=en)
|
||||||
was not previously enabled in your account.
|
was not previously enabled in your account.
|
||||||
|
|
||||||
- Save "channelId" from the response (it looks like "UCPJRjbxYlq6h2cCqy8RCRjg").
|
- Save "channelId" from the response (it looks like "UCPJRjbxYlq6h2cCqy8RCRjg").
|
||||||
|
|
||||||
|
|
||||||
### Create new broadcast:
|
### Create new broadcast:
|
||||||
|
|
||||||
- Navigate to <https://developers.google.com/youtube/v3/live/code_samples> page.
|
- Navigate to <https://developers.google.com/youtube/v3/live/code_samples> page.
|
||||||
|
|
||||||
- Select 'liveBroadcast' as Resource and 'insert' as Method.
|
- Select 'liveBroadcast' as Resource and 'insert' as Method.
|
||||||
|
|
||||||
- In table below, click on 'insert' use case.
|
- In table below, click on 'insert' use case.
|
||||||
|
|
||||||
- On the right side of the page:
|
- On the right side of the page:
|
||||||
- 'title' field for your broadcast like 'My Hometown Camera'
|
- 'title' field for your broadcast like 'My Hometown Camera'
|
||||||
- 'scheduledStartTime' like '2020-04-21T00:00:00.000Z' (ensure that this time in the future),
|
- 'scheduledStartTime' like '2020-04-21T00:00:00.000Z' (ensure that this time in the future),
|
||||||
|
@ -70,9 +65,7 @@ Follow up [Delivering Content via HLS](https://developers.google.com/youtube/v3/
|
||||||
- in Credentials section, make sure you've selected 'Google OAuth 2.0' and
|
- in Credentials section, make sure you've selected 'Google OAuth 2.0' and
|
||||||
'https://www.googleapis.com/auth/youtube' scope (use 'Show scopes') and
|
'https://www.googleapis.com/auth/youtube' scope (use 'Show scopes') and
|
||||||
deselect 'API Key' option, then press 'Execute' button below.
|
deselect 'API Key' option, then press 'Execute' button below.
|
||||||
|
|
||||||
- Authorize yourself using your YouTube connected account.
|
- Authorize yourself using your YouTube connected account.
|
||||||
|
|
||||||
- Make sure that you got 200 response otherwise check errors and repeat.
|
- Make sure that you got 200 response otherwise check errors and repeat.
|
||||||
|
|
||||||
|
|
39
index.md
39
index.md
|
@ -1,39 +0,0 @@
|
||||||

|
|
||||||
|
|
||||||
OpenIPC Wiki
|
|
||||||
============
|
|
||||||
|
|
||||||
[English](en/index) | [Русский](ru/index)
|
|
||||||
|
|
||||||
|
|
||||||
> "Improving the world, one patch at a time."
|
|
||||||
|
|
||||||
|
|
||||||
### This is an open project, so you can help, too.
|
|
||||||
|
|
||||||
We try to collect, organize and share as much information regarding different
|
|
||||||
aspects of the project as we can. But sometimes we overlook things that seem
|
|
||||||
obvious to us, developers, but are not so obvious to end-users, people who are
|
|
||||||
less familiar with nuts and bolts behind the scene. That is why we set up this
|
|
||||||
wiki and let anyone having a GitHub account to make additions and improvements
|
|
||||||
to the knowledgebase.
|
|
||||||
|
|
||||||
### How to contribute.
|
|
||||||
|
|
||||||
Sign in into your GitHub account, or [get yourself one][gh-signup] if you don't
|
|
||||||
have it yet. It's free.
|
|
||||||
|
|
||||||
Go to [the wiki repository](https://github.com/openIPC/wiki/) and fork it.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Make changes (correct a typo, add another record into a table, or write a new
|
|
||||||
article) and commit them to your own fork of the repository.
|
|
||||||
|
|
||||||
From your repository, create a pull request, so we could review and incorporate
|
|
||||||
your changes into our version of the wiki.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
|
||||||
[gh-signup]: https://github.com/signup
|
|
|
@ -0,0 +1,120 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Оглавление](index.md)
|
||||||
|
|
||||||
|
Прошивка OpenIPC -- что это?
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Прошивка OpenIPC (OpenIPC firmware) -- это коллективный труд многих
|
||||||
|
программистов с целью создания отрытого стека для работы на IP камерах.
|
||||||
|
|
||||||
|
|
||||||
|
## Хочу попробовать. Что для этого требуется?
|
||||||
|
|
||||||
|
### IP камера.
|
||||||
|
|
||||||
|
Естественно, вам понадобится IP камера. Если вы еще не приобрели камеру,
|
||||||
|
изучите, на какие именно параметры необходимо обратить внимание перед
|
||||||
|
покупкой. Если у вас есть сомнения в правильности выбора, попросите помощи у
|
||||||
|
разработчиков в Telegram-канале.
|
||||||
|
|
||||||
|
Убедитесь, что ваша IP камера снабжена процессором, поддерживаемым прошивкой
|
||||||
|
OpenIPC. [Список таких процессоров][socs] пока ограничен, но быстро расширяется.
|
||||||
|
|
||||||
|
Самым надежным способом определения типа процессора является частичный разброр
|
||||||
|
корпуса. Для большинства камер это довольно простая и безболезненная операция:
|
||||||
|
пара винтов здесь, пара защелок там, и вы получаете доступ к электронике.
|
||||||
|
|
||||||
|
Процессор IP камеры (System on a chip, или SoC) -- это, как правило, крупный чип
|
||||||
|
на обратной стороне от объектива. Лазерная гравировка на поверхности чипа
|
||||||
|
подскажет вам, с каким именно процессором вы имеете дело.
|
||||||
|
|
||||||
|
Сделайте фотографии всех плат, компонентов, маркировок и наклеек. Они еще не
|
||||||
|
раз понадобятся вам для идентификации устройств без последующего разбора камеры.
|
||||||
|
|
||||||
|
Аккуратно снимите объектив (он держится на двух винтах) и сделайте фото матрицы.
|
||||||
|
Одни и те же процессоры могут комплектоваться разными типами матриц, каждая из
|
||||||
|
них требует собственного кофигурационного файла.
|
||||||
|
|
||||||
|
Сделайте фотографии разъемов, чтобы не перепутать подключения, если вам
|
||||||
|
понадобится их разъединить, например для удобного доступа к матрице. _Маленькая
|
||||||
|
хитрость: сделайте маркировку на обеих частях разъема цветным фломастером для
|
||||||
|
пластика, так вы точно будете знать, какой штекер от какого разъема._
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Знание Linux.
|
||||||
|
|
||||||
|
Необходимым условием для установки на вашу IP камеру прошивки OpenIPC является
|
||||||
|
ваше умение работать в среде Linux. Прошивка OpenIPC построена на базе Linux.
|
||||||
|
И хотя мы стремимся сделать нашу прошивку максимально простой и понятной обычному
|
||||||
|
пользователю, проект находится в ранней стадии разработки. А это значит, что
|
||||||
|
каждый день мы вносим изменения в код, и некоторые из них требуют ручного
|
||||||
|
вмешательства на уровне системы.
|
||||||
|
|
||||||
|
### Паяльник и умение с ним работать.
|
||||||
|
|
||||||
|
Самый простой способ получения доступа к загрузчику и операционной системе
|
||||||
|
камеры -- подключение к её порту UART. Это довольно простая процедура,
|
||||||
|
требующая недорогого [адаптера][g-usbttl] для серийного подключения с порта USB
|
||||||
|
вашего компьютера.
|
||||||
|
|
||||||
|
Большинство камер идут с нераспаянным, а зачастую и немаркированным портом
|
||||||
|
UART. Как правило, это группа из трех, реже четырех контактных площадок,
|
||||||
|
расположенных на самом краю платы.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Вам нужно будет самостоятельно определить порт на плате, выяснить его
|
||||||
|
распиновку, и либо распаять на него коннектор, либо припаять провода напрямую
|
||||||
|
к контактам порта. Так же можно использовать прищепку с пружинными щупами для
|
||||||
|
подключения адаптера к камере. В любом случае, соединение должно быть надежным,
|
||||||
|
иначе пропадание контакта во время записи/чтения может обернуться искажением
|
||||||
|
передаваемых данных, что в свою очередь может обернуться порчей содержимого
|
||||||
|
флэш-памяти и вывести камеру из строя. И тогда вам потребуется программатор
|
||||||
|
микросхем и паяльная станция. Паяльная станция также может пригодиться вам для
|
||||||
|
замены некоторых компонентов с целью достижения лучшей совместимостью камеры
|
||||||
|
с нашей прошивкой: например для замены модуля WiFi или микросхемы флэш-памяти.
|
||||||
|
|
||||||
|
### TFTP сервер.
|
||||||
|
|
||||||
|
Мы советуем вам настроить в своей сети сервер TFTP. Его удобно использовать для
|
||||||
|
загрузки в камеру файлов новой прошивки, для сохранения дампа оригинальной,
|
||||||
|
поставляемой вместе с камерой, прошивки, а так же для хранения самописанных
|
||||||
|
часто используемых скриптов -- таким образом вы сможете быстро восстановить
|
||||||
|
привычную рабочую среду после очередной перепрошивки с очисткой системы.
|
||||||
|
|
||||||
|
**Обязательно сохраните оригинальную прошивку!** Она позволит вам вернуть
|
||||||
|
камеру в исходное состояние, если вас что-то не устроит в прошивке OpenIPC.
|
||||||
|
Вы так же сможете использовать её для сравнительных тестов, если решите принять
|
||||||
|
участие в разработке нашей прошивки.
|
||||||
|
|
||||||
|
### Любопытство, кураж и терпение.
|
||||||
|
|
||||||
|
Следует понимать, что на нынешней стадии разработки прошивка OpenIPC -- это ещё
|
||||||
|
не готовый продукт, а R&D, НИОКР. Как правило, производители камер не раскрывают
|
||||||
|
свои секреты, не дают пароли для доступа к штатным прошивкам, даже не делятся
|
||||||
|
документацией со сторонними разработчиками. Поэтому мы экспериментируем, пробуем
|
||||||
|
разные подходы, изучаем и анализируем накопленные знания. Это даёт свои плоды,
|
||||||
|
но так же иногда приводит к сбоям. Если что-то хорошо и стабильно работает
|
||||||
|
сегодня вечером, то оно может быть сломано завтра утром, и снова починено к
|
||||||
|
следующему вечеру.
|
||||||
|
|
||||||
|
Устанавливая прошивку OpenIPC сегодня, вы должны отдавать себе отчет, что это
|
||||||
|
путь к прекрасному открытому будущему, но мы не обещаем, что именно сейчас
|
||||||
|
дорога будет легкой.
|
||||||
|
|
||||||
|
OpenIPC -- это увлекательный эксперимент, в котором вы можете принять участие.
|
||||||
|
Помогайте нам, и однажды OpenIPC станет самой стабильной, гибкой и открытой
|
||||||
|
прошивкой для всех IP камер.
|
||||||
|
|
||||||
|
|
||||||
|
## Установка прошивки OpenIPC.
|
||||||
|
|
||||||
|
Итак, если вы всё ещё хотите попробовать прошивку OpenIPC на своей камере,
|
||||||
|
вам поможет [пошаговая инструкция](/wiki/ru/installation).
|
||||||
|
|
||||||
|
[socs]: https://github.com/OpenIPC/firmware/wiki/supported_devices
|
||||||
|
[g-usbttl]: https://google.com/search?q=ftdi+usb+ttl
|
||||||
|
[g-3.3ttl]: https://google.com/search?q=logic+level+converter+3.3v+5v
|
123
ru/discussion.md
123
ru/discussion.md
|
@ -1,17 +1,47 @@
|
||||||
![OpenIPC logo][logo]
|
# OpenIPC Wiki
|
||||||
|
[Оглавление](index.md)
|
||||||
|
|
||||||
Заметки от Игоря Залатова
|
Темы для дискуссий
|
||||||
=========================
|
------------------
|
||||||
|
|
||||||
Вопросы и ответы, коротко о главном
|
### План
|
||||||
-----------------------------------
|
|
||||||
|
|
||||||
### Majestic
|
* Процессор и имя профиля указываются автоматически при сборке в файле
|
||||||
|
* `/etc/hostname` и доступны постоянно через `/rom/..`
|
||||||
|
* У плат `..._${platform}_unknown_defconfig` hostname не прописан.
|
||||||
|
* `..._gk7205v200_fpv_defconfig` имеет отличный hostname (@p0isk)
|
||||||
|
* Добавить ключи в `sysupgrade` для обновления web-ui и majestic.
|
||||||
|
|
||||||
* Можно-ли вывести данные для настройки автофокуса линз вместо текущего
|
### Безопасность
|
||||||
sample_af в стандартный /metrics ?
|
|
||||||
* Нет, это отдельный тяжелый алгоритм, его нет смысла запускать просто так.
|
|
||||||
|
|
||||||
|
* При первых входах в Web UI предлагать (настойчиво) пользователю сменить пароль, дабы не нарваться на CVE.
|
||||||
|
* готово (@p0isk, @themactep).
|
||||||
|
* При первых входах по SSH предлагать (настойчиво) пользователю сменить пароль, дабы не нарваться на CVE.
|
||||||
|
* Реализовать интеграцию авторизации httpd на использование стандартных passwd/shadow из /etc.
|
||||||
|
|
||||||
|
### Унификация ядра
|
||||||
|
|
||||||
|
* Включить опции ROOT_NFS и PNP_DHCP во всех ядрах.
|
||||||
|
|
||||||
|
### Обновление системы
|
||||||
|
|
||||||
|
#### Ядро:
|
||||||
|
|
||||||
|
* Добавить через mkimage имя процессора, например `Linux-4.9.37-hi3516ev200`
|
||||||
|
* Готово (@p0isk).
|
||||||
|
* По нему проверять и дате проверять пригодность для обновления.
|
||||||
|
* Готово (@p0isk).
|
||||||
|
|
||||||
|
### Обновление majestic
|
||||||
|
|
||||||
|
* Обновляются и проверяются только бинарник и укороченный конфиг.
|
||||||
|
* Есть кнопка "Восстановить настройки", нужна ли "Восстановить стример"?
|
||||||
|
* Помимо ETag можно использовать Last-Modified.
|
||||||
|
|
||||||
|
#### Ветка разработки
|
||||||
|
|
||||||
|
* Отображать поле для номера коммита. Если пусто, то берём последний.
|
||||||
|
* Неактуально? (@p0isk).
|
||||||
|
|
||||||
Сбор предложений по оформлению репозиториев проекта
|
Сбор предложений по оформлению репозиториев проекта
|
||||||
---------------------------------------------------
|
---------------------------------------------------
|
||||||
|
@ -59,78 +89,3 @@
|
||||||
[tasmocompiler](https://github.com/benzino77/tasmocompiler).
|
[tasmocompiler](https://github.com/benzino77/tasmocompiler).
|
||||||
* Создание публичных FTP/TFTP/NFS серверов для тестовых сборок компонентов
|
* Создание публичных FTP/TFTP/NFS серверов для тестовых сборок компонентов
|
||||||
прошивки.
|
прошивки.
|
||||||
|
|
||||||
|
|
||||||
Программный переход с openipc-1.0 (OpenWrt) на openipc-2.x (Buildroot) 👻
|
|
||||||
-------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Заходим на устройство со старым openipc-1.0 и останавливаем любыми способами
|
|
||||||
максимум сервисов кроме dropbear. Те сервисы которые "оживают" повторно
|
|
||||||
останавливаем по примеру snmp.
|
|
||||||
|
|
||||||
`/etc/init.d/snmpd stop; /etc/init.d/snmpd disable`
|
|
||||||
|
|
||||||
Меняем при помощи команды `fw_setenv` переменную `bootargs`, добавляя туда в
|
|
||||||
свою очередь переменную `init=/init`. Для моей платы строка выглядит вот так,
|
|
||||||
но у вас она может быть другой:
|
|
||||||
|
|
||||||
`fw_setenv bootargs 'console=ttyAMA 0,115200 root=/dev/mtdblock3 init=/init rootfstype=squashfs,jffs2 panic=20 mtdparts=hi_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)'`
|
|
||||||
|
|
||||||
Добавляем новую переменную soc при помощи команды `fw_setenv` указав свой
|
|
||||||
процессор:
|
|
||||||
|
|
||||||
`fw_setenv soc hi3516ev100`
|
|
||||||
|
|
||||||
Прошиваем командой `flashcp` файловую систему, которую предварительно скачали
|
|
||||||
с GitHub аккаунта OpenIPC. В моём случае это раздел `/dev/mtd3`, но могут быть
|
|
||||||
отличия на каких-то старых железках:
|
|
||||||
|
|
||||||
`flashcp -v rootfs.squashfs.hi3516ev100 /dev/mtd3`
|
|
||||||
|
|
||||||
Делаем жесткий ребут плате:
|
|
||||||
|
|
||||||
`reboot -f`
|
|
||||||
|
|
||||||
Загружается **недо**-openipc-2.x с получением адреса по DHCP. После этого
|
|
||||||
выполняем команду для глобального и красивого обновления:
|
|
||||||
|
|
||||||
`sysupgrade -k -r -n`
|
|
||||||
|
|
||||||
Профит!
|
|
||||||
|
|
||||||
|
|
||||||
Ростелекомовская камера с NAND
|
|
||||||
------------------------------
|
|
||||||
|
|
||||||
```
|
|
||||||
setenv bootargs 'mem=${osmem:-32M} console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=hinand:512k(boot),512k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)'
|
|
||||||
|
|
||||||
setenv bootcmd 'setenv setargs setenv bootargs ${bootargs}; run setargs; nand read 0x42000000 0x100000 0x300000; bootm 0x42000000'
|
|
||||||
|
|
||||||
setenv uk 'mw.b 0x42000000 ff 1000000; tftp 0x42000000 uImage.${soc} && nand erase 0x100000 0x200000; nand write 0x42000000 0x100000 ${filesize}'
|
|
||||||
setenv ur 'mw.b 0x42000000 ff 1000000; tftp 0x42000000 rootfs.squashfs.${soc} && nand erase 0x300000 0x500000; nand write 0x42000000 0x300000 ${filesize}'
|
|
||||||
|
|
||||||
setenv soc hi3516ev300
|
|
||||||
setenv osmem 32M
|
|
||||||
setenv totalmem 128M
|
|
||||||
setenv ipaddr 192.168.1.10
|
|
||||||
setenv serverip 192.168.1.107
|
|
||||||
saveenv
|
|
||||||
|
|
||||||
nand erase 0x800000 0x7800000
|
|
||||||
|
|
||||||
run uk; run ur; reset
|
|
||||||
```
|
|
||||||
|
|
||||||
Adapting syslogd to work with time zones other than GMT
|
|
||||||
-------------------------------------------------------
|
|
||||||
|
|
||||||
Some `syslog()` implementations like musl's[1] always send timestamps in UTC.
|
|
||||||
This change adds a new option to `syslogd`, `-Z`, to assume incoming timestamps
|
|
||||||
are always UTC and adjust them to the local timezone (of the syslogd) before
|
|
||||||
logging.
|
|
||||||
|
|
||||||
[sysklogd: add -Z option to adjust message timezones](http://lists.busybox.net/pipermail/busybox/2017-May/085437.html)
|
|
||||||
|
|
||||||
|
|
||||||
[logo]: ../images/logo_openipc.png
|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Оглавление](index.md)
|
||||||
|
|
||||||
|
Вопросы и ответы
|
||||||
|
----------------
|
||||||
|
|
||||||
|
### Majestic
|
||||||
|
|
||||||
|
##### Можно-ли вывести данные для настройки автоматической фокусировки линз вместо текущего sample_af в стандартный /metrics?
|
||||||
|
|
||||||
|
Нет, это отдельный тяжелый алгоритм, его нет смысла запускать просто так.
|
|
@ -0,0 +1,62 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Оглавление](index.md)
|
||||||
|
|
||||||
|
Switcam HS-303
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Публичные заметки по прошивке устройств Switcam HS303 (всех версий) в
|
||||||
|
[OpenIPC](https://openipc.org) v1.0 (на базе OpenWrt).
|
||||||
|
|
||||||
|
Обсуждение проекта и возможностей прошивок (на русском языке) в группе
|
||||||
|
[Telegram](https://t.me/openipc_modding).
|
||||||
|
|
||||||
|
### Наиболее актуальные вопросы и ответы
|
||||||
|
|
||||||
|
#### Какие типы устройств поддерживаются в проекте OpenIPC v1.0?
|
||||||
|
|
||||||
|
На данный момент полноценно поддерживается Switcam HS-303 (v1).
|
||||||
|
В будущем планируется поддержка устройств v2 и v3.
|
||||||
|
|
||||||
|
#### Где можно взять прошивку для устройства Ростелеком Switcam HS303 (v1)?
|
||||||
|
|
||||||
|
Обсуждение работы этих камер доступно по специальной подписке на
|
||||||
|
[OpenIPC paywall](https://paywall.pw/openipc).
|
||||||
|
|
||||||
|
#### Какой путь до SD карты необходимо указывать в `majestic.yaml` для прошивки
|
||||||
|
openipc-1.0?
|
||||||
|
|
||||||
|
`/mnt/mmc/%Y/%m/%d/%H.mp4`
|
||||||
|
|
||||||
|
### Специализированные настройки для Switcam HS303(v2)
|
||||||
|
|
||||||
|
Обсуждение работы этих камер доступно по специальной подписке на
|
||||||
|
[OpenIPC paywall](https://paywall.pw/openipc).
|
||||||
|
|
||||||
|
#### Модифицированный блок из файла /etc/network/interface
|
||||||
|
|
||||||
|
```
|
||||||
|
auto wlan0
|
||||||
|
iface wlan0 inet dhcp
|
||||||
|
pre-up echo 54 > /sys/class/gpio/export
|
||||||
|
pre-up echo out > /sys/class/gpio/gpio54/direction
|
||||||
|
pre-up echo 1 > /sys/class/gpio/gpio54/value
|
||||||
|
pre-up modprobe r8188eu
|
||||||
|
pre-up wpa_passphrase "OpenIPC" "openipc2021" >/tmp/wpa_supplicant.conf
|
||||||
|
pre-up sed -i '2i \\tscan_ssid=1' /tmp/wpa_supplicant.conf
|
||||||
|
pre-up ifconfig wlan0 up
|
||||||
|
pre-up wpa_supplicant -B -Dwext -iwlan0 -c/tmp/wpa_supplicant.conf
|
||||||
|
post-down killall -q wpa_supplicant
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Модифицированный блок из файла /etc/majestic.yaml
|
||||||
|
|
||||||
|
```
|
||||||
|
nightMode:
|
||||||
|
enabled: true
|
||||||
|
irSensorPin: 62
|
||||||
|
irSensorPinInvert: true
|
||||||
|
irCutPin1: 2
|
||||||
|
pinSwitchDelayUs: 150
|
||||||
|
backlightPin: 56
|
||||||
|
nightAPI: true
|
||||||
|
```
|
|
@ -0,0 +1,26 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Оглавление](index.md)
|
||||||
|
|
||||||
|
Ростелекомовская камера с NAND
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
```
|
||||||
|
setenv bootargs 'mem=${osmem:-32M} console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=hinand:512k(boot),512k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)'
|
||||||
|
setenv bootcmd 'setenv setargs setenv bootargs ${bootargs}; run setargs; nand read 0x42000000 0x100000 0x300000; bootm 0x42000000'
|
||||||
|
|
||||||
|
setenv uk 'mw.b 0x42000000 ff 1000000; tftp 0x42000000 uImage.${soc} && nand erase 0x100000 0x200000; nand write 0x42000000 0x100000 ${filesize}'
|
||||||
|
setenv ur 'mw.b 0x42000000 ff 1000000; tftp 0x42000000 rootfs.squashfs.${soc} && nand erase 0x300000 0x500000; nand write 0x42000000 0x300000 ${filesize}'
|
||||||
|
|
||||||
|
setenv soc hi3516ev300
|
||||||
|
setenv osmem 32M
|
||||||
|
setenv totalmem 128M
|
||||||
|
setenv ipaddr 192.168.1.10
|
||||||
|
setenv serverip 192.168.1.107
|
||||||
|
saveenv
|
||||||
|
|
||||||
|
nand erase 0x800000 0x7800000
|
||||||
|
|
||||||
|
run uk
|
||||||
|
run ur
|
||||||
|
reset
|
||||||
|
```
|
132
ru/index.md
132
ru/index.md
|
@ -1,133 +1,23 @@
|
||||||
![OpenIPC logo][logo]
|
# OpenIPC Wiki
|
||||||
|
|
||||||
## Прошивка OpenIPC -- что это?
|
Оглавление
|
||||||
|
----------
|
||||||
|
|
||||||
Прошивка OpenIPC (OpenIPC firmware) -- это коллективный труд многих
|
- [О проекте](about.md)
|
||||||
программистов с целью создания отрытого стека для работы на IP камерах.
|
- [Установка. Шаг за шагом.](installation.md)
|
||||||
|
- [Темы для дискуссий разработчиков](discussion.md)
|
||||||
|
- [Программный переход с openipc-1.0 (OpenWrt) на openipc-2.x (Buildroot)](upgrade-from-1.md)
|
||||||
|
- [Вопросы и ответы](faq.md)
|
||||||
|
|
||||||
|
### Камеры
|
||||||
|
|
||||||
## Хочу попробовать. Что для этого требуется?
|
- [Switcam HS-303](hardware-hs303.md)
|
||||||
|
- [Ростелекомовская камера с NAND](hardware-rtk-nand.md)
|
||||||
### IP камера.
|
|
||||||
|
|
||||||
Естественно, вам понадобится IP камера. Если вы еще не приобрели камеру,
|
|
||||||
изучите, на какие именно параметры необходимо обратить внимание перед
|
|
||||||
покупкой. Если у вас есть сомнения в правильности выбора, попросите помощи у
|
|
||||||
разработчиков в Telegram-канале.
|
|
||||||
|
|
||||||
Убедитесь, что ваша IP камера снабжена процессором, поддерживаемым прошивкой
|
|
||||||
OpenIPC. [Список таких процессоров][socs] пока ограничен, но быстро расширяется.
|
|
||||||
|
|
||||||
Самым надежным способом определения типа процессора является частичный разброр
|
|
||||||
корпуса. Для большинства камер это довольно простая и безболезненная операция:
|
|
||||||
пара винтов здесь, пара защелок там, и вы получаете доступ к электронике.
|
|
||||||
|
|
||||||
Процессор IP камеры (System on a chip, или SoC) -- это, как правило, крупный чип
|
|
||||||
на обратной стороне от объектива. Лазерная гравировка на поверхности чипа
|
|
||||||
подскажет вам, с каким именно процессором вы имеете дело.
|
|
||||||
|
|
||||||
Сделайте фотографии всех плат, компонентов, маркировок и наклеек. Они еще не
|
|
||||||
раз понадобятся вам для идентификации устройств без последующего разбора камеры.
|
|
||||||
|
|
||||||
Аккуратно снимите объектив (он держится на двух винтах) и сделайте фото матрицы.
|
|
||||||
Одни и те же процессоры могут комплектоваться разными типами матриц, каждая из
|
|
||||||
них требует собственного кофигурационного файла.
|
|
||||||
|
|
||||||
Сделайте фотографии разъемов, чтобы не перепутать подключения, если вам
|
|
||||||
понадобится их разъединить, например для удобного доступа к матрице. _Маленькая
|
|
||||||
хитрость: сделайте маркировку на обеих частях разъема цветным фломастером для
|
|
||||||
пластика, так вы точно будете знать, какой штекер от какого разъема._
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### Знание Linux.
|
|
||||||
|
|
||||||
Необходимым условием для установки на вашу IP камеру прошивки OpenIPC является
|
|
||||||
ваше умение работать в среде Linux. Прошивка OpenIPC построена на базе Linux.
|
|
||||||
И хотя мы стремимся сделать нашу прошивку максимально простой и понятной обычному
|
|
||||||
пользователю, проект находится в ранней стадии разработки. А это значит, что
|
|
||||||
каждый день мы вносим изменения в код, и некоторые из них требуют ручного
|
|
||||||
вмешательства на уровне системы.
|
|
||||||
|
|
||||||
### Паяльник и умение с ним работать.
|
|
||||||
|
|
||||||
Самый простой способ получения доступа к загрузчику и операционной системе
|
|
||||||
камеры -- подключение к её порту UART. Это довольно простая процедура,
|
|
||||||
требующая недорогого [адаптера][g-usbttl] для серийного подключения с порта USB вашего
|
|
||||||
компьютера.
|
|
||||||
|
|
||||||
Большинство камер идут с нераспаянным, а зачастую и немаркированным портом
|
|
||||||
UART. Как правило, это группа из трех, реже четырех контактных площадок,
|
|
||||||
расположенных на самом краю платы.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Вам нужно будет самостоятельно определить порт на плате, выяснить его
|
|
||||||
распиновку, и либо распаять на него коннектор, либо припаять провода напрямую
|
|
||||||
к контактам порта. Так же можно использовать прищепку с пружинными щупами для
|
|
||||||
подключения адаптера к камере. В любом случае, соединение должно быть надежным,
|
|
||||||
иначе пропадание контакта во время записи/чтения может обернуться искажением
|
|
||||||
передаваемых данных, что в свою очередь может обернуться порчей содержимого
|
|
||||||
флэш-памяти и вывести камеру из строя. И тогда вам потребуется программатор
|
|
||||||
микросхем и паяльная станция. Паяльная станция также может пригодиться вам для
|
|
||||||
замены некоторых компонентов с целью достижения лучшей совместимостью камеры
|
|
||||||
с нашей прошивкой: например для замены модуля WiFi или микросхемы флэш-памяти.
|
|
||||||
|
|
||||||
### TFTP сервер.
|
|
||||||
|
|
||||||
Мы советуем вам настроить в своей сети сервер TFTP. Его удобно использовать для
|
|
||||||
загрузки в камеру файлов новой прошивки, для сохранения дампа оригинальной,
|
|
||||||
поставляемой вместе с камерой, прошивки, а так же для хранения самописанных
|
|
||||||
часто используемых скриптов -- таким образом вы сможете быстро восстановить
|
|
||||||
привычную рабочую среду после очередной перепрошивки с очисткой системы.
|
|
||||||
|
|
||||||
**Обязательно сохраните оригинальную прошивку!** Она позволит вам вернуть
|
|
||||||
камеру в исходное состояние, если вас что-то не устроит в прошивке OpenIPC.
|
|
||||||
Вы так же сможете использовать её для сравнительных тестов, если решите принять
|
|
||||||
участие в разработке нашей прошивки.
|
|
||||||
|
|
||||||
### Любопытство, кураж и терпение.
|
|
||||||
|
|
||||||
Следует понимать, что на нынешней стадии разработки прошивка OpenIPC -- это ещё
|
|
||||||
не готовый продукт, а R&D, НИОКР. Как правило, производители камер не раскрывают
|
|
||||||
свои секреты, не дают пароли для доступа к штатным прошивкам, даже не делятся
|
|
||||||
документацией со сторонними разработчиками. Поэтому мы экспериментируем, пробуем
|
|
||||||
разные подходы, изучаем и анализируем накопленные знания. Это даёт свои плоды,
|
|
||||||
но так же иногда приводит к сбоям. Если что-то хорошо и стабильно работает
|
|
||||||
сегодня вечером, то оно может быть сломано завтра утром, и снова починено к
|
|
||||||
следующему вечеру.
|
|
||||||
|
|
||||||
Устанавливая прошивку OpenIPC сегодня, вы должны отдавать себе отчет, что это
|
|
||||||
путь к прекрасному открытому будущему, но мы не обещаем, что именно сейчас
|
|
||||||
дорога будет легкой.
|
|
||||||
|
|
||||||
OpenIPC -- это увлекательный эксперимент, в котором вы можете принять участие.
|
|
||||||
Помогайте нам, и однажды OpenIPC станет самой стабильной, гибкой и открытой
|
|
||||||
прошивкой для всех IP камер.
|
|
||||||
|
|
||||||
|
|
||||||
## Что можно прочитать про прошивку OpenIPC?
|
## Что можно прочитать про прошивку OpenIPC?
|
||||||
|
|
||||||
* [Часто задаваемые вопросы и ответы на них][faq1]
|
* [Часто задаваемые вопросы и ответы на них][faq1]
|
||||||
* [Заметки от Игоря Залатова][faq2]
|
|
||||||
* [Заметки от Олега Левшина][faq3]
|
* [Заметки от Олега Левшина][faq3]
|
||||||
|
|
||||||
## Перенос блоков из старой Вики
|
|
||||||
|
|
||||||
* [Темы для дискуссий разработчиков](transfer-discussion-ru)
|
|
||||||
* [Специализированные настройки для устройств Switcam HS303(v2) на OpenIPC v2.2](transfer-special-hs303v2)
|
|
||||||
* [Заметки по OpenIPC v1.0 (переписать и расформировать)](transfer-device-hs303)
|
|
||||||
|
|
||||||
## Установка прошивки OpenIPC.
|
|
||||||
|
|
||||||
Итак, если вы всё ещё хотите попробовать прошивку OpenIPC на своей камере,
|
|
||||||
вам поможет [пошаговая инструкция](/wiki/ru/installation).
|
|
||||||
|
|
||||||
|
|
||||||
[logo]: ../images/logo_openipc.png
|
|
||||||
[socs]: https://github.com/OpenIPC/firmware/wiki/supported_devices
|
|
||||||
[faq1]: https://github.com/OpenIPC/camerasrnd/blob/master/docs/FAQ-ru.md
|
[faq1]: https://github.com/OpenIPC/camerasrnd/blob/master/docs/FAQ-ru.md
|
||||||
[faq2]: https://github.com/OpenIPC/wiki/blob/master/ru/discussion.md
|
|
||||||
[faq3]: https://alarmsystem-cctv.ru/openipc-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8B%D0%B9-%D0%BA%D0%BE%D0%BB%D0%BB%D0%B5%D0%BA%D1%82%D0%B8%D0%B2/
|
[faq3]: https://alarmsystem-cctv.ru/openipc-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8B%D0%B9-%D0%BA%D0%BE%D0%BB%D0%BB%D0%B5%D0%BA%D1%82%D0%B8%D0%B2/
|
||||||
[g-usbttl]: https://google.com/search?q=ftdi+usb+ttl
|
|
||||||
[g-3.3ttl]: https://google.com/search?q=logic+level+converter+3.3v+5v
|
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
![OpenIPC logo][logo]
|
# OpenIPC Wiki
|
||||||
|
[Оглавление](index.md)
|
||||||
|
|
||||||
Установка OpenIPC. Шаг за шагом.
|
Установка OpenIPC. Шаг за шагом.
|
||||||
================================
|
--------------------------------
|
||||||
|
|
||||||
### Шаг 1. Определите тип процессора.
|
### Шаг 1. Определите тип процессора.
|
||||||
|
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
Switcam HS-303
|
|
||||||
==============
|
|
||||||
|
|
||||||
Публичные заметки по прошивке устройств Switcam HS303 (всех версий) в
|
|
||||||
[OpenIPC](https://openipc.org) v1.0 (на базе OpenWrt).
|
|
||||||
|
|
||||||
Обсуждение проекта и возможностей прошивок (на русском языке) в группе
|
|
||||||
[Telegram](https://t.me/openipc_modding).
|
|
||||||
|
|
||||||
Наиболее актуальные вопросы и ответы
|
|
||||||
------------------------------------
|
|
||||||
|
|
||||||
#### Какие типы устройств поддерживаются в проекте OpenIPC v1.0?
|
|
||||||
|
|
||||||
На данный момент полноценно поддерживается Switcam HS-303 (v1).
|
|
||||||
В будущем планируется поддержка устройств v2 и v3.
|
|
||||||
|
|
||||||
#### Где можно взять прошивку для устройства Ростелеком Switcam HS303 (v1)?
|
|
||||||
|
|
||||||
Обсуждение работы этих камер доступно по специальной подписке на
|
|
||||||
[OpenIPC paywall](https://paywall.pw/openipc).
|
|
||||||
|
|
||||||
#### Какой путь до SD карты необходимо указывать в `majestic.yaml` для прошивки
|
|
||||||
openipc-1.0?
|
|
||||||
|
|
||||||
`/mnt/mmc/%Y/%m/%d/%H.mp4`
|
|
|
@ -1,43 +0,0 @@
|
||||||
## Темы для дискуссий
|
|
||||||
|
|
||||||
### План
|
|
||||||
|
|
||||||
* Процессор и имя профиля указываются автоматически при сборке в файле
|
|
||||||
* `/etc/hostname` и доступны постоянно через `/rom/..`
|
|
||||||
* У плат `..._${platform}_unknown_defconfig` hostname не прописан.
|
|
||||||
* `..._gk7205v200_fpv_defconfig` имеет отличный hostname (@p0isk)
|
|
||||||
* Добавить ключи в `sysupgrade` для обновления web-ui и majestic.
|
|
||||||
|
|
||||||
### Безопасность
|
|
||||||
|
|
||||||
* При первых входах в Web UI предлагать (настойчиво) пользователю сменить пароль,
|
|
||||||
дабы не нарваться на CVE.
|
|
||||||
* готово (@p0isk, @themactep).
|
|
||||||
* При первых входах по SSH предлагать (настойчиво) пользователю сменить пароль,
|
|
||||||
дабы не нарваться на CVE.
|
|
||||||
* Реализовать интеграцию авторизации httpd на использование стандартных
|
|
||||||
passwd/shadow из /etc.
|
|
||||||
|
|
||||||
### Унификация ядра
|
|
||||||
|
|
||||||
* Включить опции ROOT_NFS и PNP_DHCP во всех ядрах.
|
|
||||||
|
|
||||||
### Обновление системы
|
|
||||||
|
|
||||||
#### Ядро:
|
|
||||||
|
|
||||||
* Добавить через mkimage имя процессора, например `Linux-4.9.37-hi3516ev200`
|
|
||||||
* Готово (@p0isk).
|
|
||||||
* По нему проверять и дате проверять пригодность для обновления.
|
|
||||||
* Готово (@p0isk).
|
|
||||||
|
|
||||||
### Обновление majestic
|
|
||||||
|
|
||||||
* Обновляются и проверяются только бинарник и укороченный конфиг.
|
|
||||||
* Есть кнопка "Восстановить настройки", нужна ли "Восстановить стример"?
|
|
||||||
* Помимо ETag можно использовать Last-Modified.
|
|
||||||
|
|
||||||
#### Ветка разработки
|
|
||||||
|
|
||||||
* Отображать поле для номера коммита. Если пусто, то берём последний.
|
|
||||||
* Неактуально? (@p0isk).
|
|
|
@ -1,34 +0,0 @@
|
||||||
Специализированные настройки для Switcam HS303(v2)
|
|
||||||
--------------------------------------------------
|
|
||||||
|
|
||||||
Обсуждение работы этих камер доступно по специальной подписке на
|
|
||||||
[OpenIPC paywall](https://paywall.pw/openipc).
|
|
||||||
|
|
||||||
### Модифицированный блок из файла /etc/network/interface
|
|
||||||
|
|
||||||
```
|
|
||||||
auto wlan0
|
|
||||||
iface wlan0 inet dhcp
|
|
||||||
pre-up echo 54 > /sys/class/gpio/export
|
|
||||||
pre-up echo out > /sys/class/gpio/gpio54/direction
|
|
||||||
pre-up echo 1 > /sys/class/gpio/gpio54/value
|
|
||||||
pre-up modprobe r8188eu
|
|
||||||
pre-up wpa_passphrase "OpenIPC" "openipc2021" >/tmp/wpa_supplicant.conf
|
|
||||||
pre-up sed -i '2i \\tscan_ssid=1' /tmp/wpa_supplicant.conf
|
|
||||||
pre-up ifconfig wlan0 up
|
|
||||||
pre-up wpa_supplicant -B -Dwext -iwlan0 -c/tmp/wpa_supplicant.conf
|
|
||||||
post-down killall -q wpa_supplicant
|
|
||||||
```
|
|
||||||
|
|
||||||
### Модифицированный блок из файла /etc/majestic.yaml
|
|
||||||
|
|
||||||
```
|
|
||||||
nightMode:
|
|
||||||
enabled: true
|
|
||||||
irSensorPin: 62
|
|
||||||
irSensorPinInvert: true
|
|
||||||
irCutPin1: 2
|
|
||||||
pinSwitchDelayUs: 150
|
|
||||||
backlightPin: 56
|
|
||||||
nightAPI: true
|
|
||||||
```
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Оглавление](index.md)
|
||||||
|
|
||||||
|
Программный переход с openipc-1.0 (OpenWrt) на openipc-2.x (Buildroot) 👻
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Заходим на устройство со старым openipc-1.0 и останавливаем любыми способами
|
||||||
|
максимум сервисов кроме dropbear. Те сервисы которые "оживают" повторно
|
||||||
|
останавливаем по примеру snmp.
|
||||||
|
|
||||||
|
```
|
||||||
|
/etc/init.d/snmpd stop; /etc/init.d/snmpd disable
|
||||||
|
```
|
||||||
|
|
||||||
|
Меняем при помощи команды `fw_setenv` переменную `bootargs`, добавляя туда в
|
||||||
|
свою очередь переменную `init=/init`. Для моей платы строка выглядит вот так,
|
||||||
|
но у вас она может быть другой:
|
||||||
|
|
||||||
|
```
|
||||||
|
fw_setenv bootargs 'console=ttyAMA 0,115200 root=/dev/mtdblock3 init=/init rootfstype=squashfs,jffs2 panic=20 mtdparts=hi_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)'
|
||||||
|
```
|
||||||
|
|
||||||
|
Добавляем новую переменную soc при помощи команды `fw_setenv` указав свой
|
||||||
|
процессор:
|
||||||
|
|
||||||
|
```
|
||||||
|
fw_setenv soc hi3516ev100
|
||||||
|
```
|
||||||
|
|
||||||
|
Прошиваем командой `flashcp` файловую систему, которую предварительно скачали
|
||||||
|
с GitHub аккаунта OpenIPC. В моём случае это раздел `/dev/mtd3`, но могут быть
|
||||||
|
отличия на каких-то старых железках:
|
||||||
|
|
||||||
|
```
|
||||||
|
flashcp -v rootfs.squashfs.hi3516ev100 /dev/mtd3
|
||||||
|
```
|
||||||
|
|
||||||
|
Делаем жесткий ребут плате:
|
||||||
|
|
||||||
|
```
|
||||||
|
reboot -f
|
||||||
|
```
|
||||||
|
|
||||||
|
Загружается **недо**-openipc-2.x с получением адреса по DHCP. После этого
|
||||||
|
выполняем команду для глобального и красивого обновления:
|
||||||
|
|
||||||
|
```
|
||||||
|
sysupgrade -k -r -n
|
||||||
|
```
|
||||||
|
|
||||||
|
Профит!
|
|
@ -1,7 +1,10 @@
|
||||||
|
# OpenIPC Wiki
|
||||||
|
[Оглавление](index.md)
|
||||||
|
|
||||||
Прошивка gk7205v300 + IMX335 + XM_XT25F128B
|
Прошивка gk7205v300 + IMX335 + XM_XT25F128B
|
||||||
-------------------------------------------
|
-------------------------------------------
|
||||||
|
|
||||||
Бутлодер на пароле, flash залочена.
|
Бутлоадер на пароле, flash залочена.
|
||||||
|
|
||||||
1. Скачайте и установите у себя [tftpd сервер](https://github.com/peacepenguin/tftpd64/releases).
|
1. Скачайте и установите у себя [tftpd сервер](https://github.com/peacepenguin/tftpd64/releases).
|
||||||
2. Скачайте и распакуйте в отдельную папку [прошивку](https://github.com/OpenIPC/firmware/releases/download/latest/openipc.gk7205v300-br.tgz), в настройках tftpd укажите путь к папке с прошивкой.
|
2. Скачайте и распакуйте в отдельную папку [прошивку](https://github.com/OpenIPC/firmware/releases/download/latest/openipc.gk7205v300-br.tgz), в настройках tftpd укажите путь к папке с прошивкой.
|
||||||
|
@ -10,7 +13,7 @@
|
||||||
5. Подключите камеру и компьютер через Ethernet к одному роутеру, чтобы компьютер и камера были в одной подсети.
|
5. Подключите камеру и компьютер через Ethernet к одному роутеру, чтобы компьютер и камера были в одной подсети.
|
||||||
6. Подключите к компьютеру USB-TTL 3.3V адаптер, рекомендуется FTDI232. Он встанет на какой-то COM-порт, посмотреть номер COM порта в Диспетчере задач.
|
6. Подключите к компьютеру USB-TTL 3.3V адаптер, рекомендуется FTDI232. Он встанет на какой-то COM-порт, посмотреть номер COM порта в Диспетчере задач.
|
||||||
7. Подключите RX/TX/GND на камере к TX/RX/GND на USB-TTL 3.3V адаптере.
|
7. Подключите RX/TX/GND на камере к TX/RX/GND на USB-TTL 3.3V адаптере.
|
||||||
8. Скачайте и установите Putty. Выставить рцежим COM порта на скорость 115200. Зайти на камеру через Putty, по COM порту. Убедится, что провода подключены правильно, видно лог камеры и вводятся символы с клавиатуры.
|
8. Скачайте и установите Putty. Выставить режим COM порта на скорость 115200. Зайти на камеру через Putty, по COM порту. Убедится, что провода подключены правильно, видно лог камеры и вводятся символы с клавиатуры.
|
||||||
|
|
||||||
__ОБЯЗАТЕЛЬНО СОХРАНИТЕ МАС адрес камеры! В процессе прошивки он сотрётся!__
|
__ОБЯЗАТЕЛЬНО СОХРАНИТЕ МАС адрес камеры! В процессе прошивки он сотрётся!__
|
||||||
|
|
||||||
|
@ -48,11 +51,11 @@ setenv osmem 32M
|
||||||
setenv totalmem 128M
|
setenv totalmem 128M
|
||||||
saveenv
|
saveenv
|
||||||
|
|
||||||
setenv gatewayip 192.168.1.1 // вводите ip адрес вашего шлюза/роутера
|
setenv gatewayip 192.168.1.1 // IP адрес вашего шлюза/роутера
|
||||||
setenv ipaddr 192.168.1.14 // ip адрес камеры
|
setenv ipaddr 192.168.1.14 // IP адрес камеры
|
||||||
setenv netmask 255.255.255.0 // маска подсети
|
setenv netmask 255.255.255.0 // маска подсети
|
||||||
setenv serverip 192.168.1.15 // ip адрес компьютера на котором вы работаете и запущен TFTPD сервер
|
setenv serverip 192.168.1.15 // IP адрес компьютера на котором запущен TFTP сервер
|
||||||
setenv ethaddr 05:68:31:be:da:38 // MAC вашей ip камеры обязательно
|
setenv ethaddr 05:68:31:be:da:38 // MAC адрес IP камеры (обязательно!)
|
||||||
saveenv
|
saveenv
|
||||||
|
|
||||||
setenv bootargs 'mem=${osmem:-32M} console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)'
|
setenv bootargs 'mem=${osmem:-32M} console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)'
|
||||||
|
|
Loading…
Reference in New Issue