Package: add proper logcat source (#1361)

pull/1362/head
viktorxda 2024-03-26 08:07:23 +01:00 committed by GitHub
parent bfca38f1ef
commit aaa7d1824d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
16 changed files with 165 additions and 4 deletions

View File

@ -108,6 +108,7 @@ BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
# DEBUG
BR2_PACKAGE_LOGCAT_OPENIPC=y
# BR2_PACKAGE_HOST_GDB is not set
# BR2_PACKAGE_GDB is not set

View File

@ -108,6 +108,7 @@ BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
# DEBUG
BR2_PACKAGE_LOGCAT_OPENIPC=y
# BR2_PACKAGE_HOST_GDB is not set
# BR2_PACKAGE_GDB is not set

View File

@ -123,6 +123,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
# BR2_PACKAGE_NABTO is not set
# DEBUG
BR2_PACKAGE_LOGCAT_OPENIPC=y
# BR2_PACKAGE_HOST_GDB is not set
# BR2_PACKAGE_GDB is not set

View File

@ -108,6 +108,7 @@ BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
# DEBUG
BR2_PACKAGE_LOGCAT_OPENIPC=y
# BR2_PACKAGE_HOST_GDB is not set
# BR2_PACKAGE_GDB is not set

View File

@ -111,6 +111,7 @@ BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
# DEBUG
BR2_PACKAGE_LOGCAT_OPENIPC=y
# BR2_PACKAGE_HOST_GDB is not set
# BR2_PACKAGE_GDB is not set

View File

@ -108,6 +108,7 @@ BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
# DEBUG
BR2_PACKAGE_LOGCAT_OPENIPC=y
# BR2_PACKAGE_HOST_GDB is not set
# BR2_PACKAGE_GDB is not set

View File

@ -114,6 +114,7 @@ BR2_PACKAGE_WIFIBROADCAST=y
BR2_PACKAGE_MAVFWD=y
# DEBUG
BR2_PACKAGE_LOGCAT_OPENIPC=y
# BR2_PACKAGE_HOST_GDB is not set
# BR2_PACKAGE_GDB is not set

View File

@ -111,6 +111,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
# BR2_PACKAGE_ONVIF_SIMPLE_SERVER is not set
# DEBUG
BR2_PACKAGE_LOGCAT_OPENIPC=y
# BR2_PACKAGE_HOST_GDB is not set
# BR2_PACKAGE_GDB is not set

View File

@ -129,6 +129,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
# BR2_PACKAGE_NABTO is not set
# DEBUG
BR2_PACKAGE_LOGCAT_OPENIPC=y
# BR2_PACKAGE_HOST_GDB is not set
# BR2_PACKAGE_GDB is not set

View File

@ -108,6 +108,7 @@ BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
# DEBUG
BR2_PACKAGE_LOGCAT_OPENIPC=y
# BR2_PACKAGE_HOST_GDB is not set
# BR2_PACKAGE_GDB is not set

View File

@ -120,6 +120,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
# BR2_PACKAGE_NABTO is not set
# DEBUG
BR2_PACKAGE_LOGCAT_OPENIPC=y
# BR2_PACKAGE_HOST_GDB is not set
# BR2_PACKAGE_GDB is not set

View File

@ -46,13 +46,15 @@ show_help() {
}
show_gain() {
while sleep 1; do wget -T1 -q -O - http://127.0.0.1/metrics/isp | grep ^isp_again; done
while sleep 1; do wget -T1 -q -O - localhost/metrics/isp | grep ^isp_again; done
}
show_gpio() {
mount -t debugfs none /sys/kernel/debug
cat /sys/kernel/debug/gpio
umount /sys/kernel/debug
if [ -e /sys/kernel/debug ]; then
mount -t debugfs none /sys/kernel/debug
cat /sys/kernel/debug/gpio
umount /sys/kernel/debug
fi
}
show_modules() {

View File

@ -56,6 +56,7 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/libsrtp-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/libwebsockets-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/linux-firmware-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/linux-patcher/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/logcat-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/majestic-fonts/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/majestic-plugins/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/majestic-webui/Config.in"

View File

@ -0,0 +1,4 @@
config BR2_PACKAGE_LOGCAT_OPENIPC
bool "logcat-openipc"
help
Logcat tool for Ingenic

View File

@ -0,0 +1,18 @@
################################################################################
#
# logcat-openipc
#
################################################################################
LOGCAT_OPENIPC_SITE_METHOD = local
LOGCAT_OPENIPC_SITE = $(LOGCAT_OPENIPC_PKGDIR)/src
define LOGCAT_OPENIPC_BUILD_CMDS
$(TARGET_CC) $(@D)/logcat.c -o $(@D)/logcat -s
endef
define LOGCAT_OPENIPC_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/logcat
endef
$(eval $(generic-package))

View File

@ -0,0 +1,125 @@
#include <errno.h>
#include <fcntl.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/ioctl.h>
#include <unistd.h>
#define LOGGER_ENTRY_MAX_LEN (4 * 1024)
#define LOGGER_FLUSH_LOG _IO(__LOGGERIO, 4)
#define __LOGGERIO 0xAE
struct logger_entry {
uint16_t len;
uint16_t __pad;
int32_t pid;
int32_t tid;
int32_t sec;
int32_t nsec;
char msg[4096];
} entry;
enum android_LogPriority {
ANDROID_LOG_UNKNOWN = 0,
ANDROID_LOG_DEFAULT,
ANDROID_LOG_VERBOSE,
ANDROID_LOG_DEBUG,
ANDROID_LOG_INFO,
ANDROID_LOG_WARN,
ANDROID_LOG_ERROR,
ANDROID_LOG_FATAL,
ANDROID_LOG_SILENT,
};
int main(int argc, char *argv[]) {
int fd;
int msize;
int readsize;
int numread;
if (argc > 1) {
if (strcmp(argv[1], "-c") == 0) {
fd = open("/dev/log_main", O_WRONLY);
if (fd < 0) {
perror("Error opening /dev/log_main\n");
return -1;
}
ioctl(fd, LOGGER_FLUSH_LOG);
close(fd);
return 0;
} else {
printf("Usage: %s [-c] [-h]\n", argv[0]);
printf("Options:\n");
printf(" -c Clear the log\n");
printf(" -h Show this help\n");
return 0;
}
}
fd = open("/dev/log_main", O_RDONLY);
if (fd < 0) {
perror("Error opening /dev/log_main\n");
return -1;
}
int pos;
while (1) {
numread = read(fd, &entry, LOGGER_ENTRY_MAX_LEN);
if (numread < 1) {
perror("Error: ");
strerror(errno);
return -1;
}
char *tag = entry.msg;
char *prog = entry.msg + 1;
char *msg = entry.msg + strlen(entry.msg) + 1;
char tagbyte;
switch (*tag) {
case ANDROID_LOG_UNKNOWN:
tagbyte = 'U';
break;
case ANDROID_LOG_DEFAULT:
tagbyte = '*';
break;
case ANDROID_LOG_VERBOSE:
tagbyte = 'V';
break;
case ANDROID_LOG_DEBUG:
tagbyte = 'D';
break;
case ANDROID_LOG_INFO:
tagbyte = 'I';
break;
case ANDROID_LOG_WARN:
tagbyte = 'W';
break;
case ANDROID_LOG_ERROR:
tagbyte = 'E';
break;
case ANDROID_LOG_FATAL:
tagbyte = 'F';
break;
case ANDROID_LOG_SILENT:
tagbyte = 'S';
break;
default:
tagbyte = '?';
break;
}
printf("%c/%s(%5d): %s", tagbyte, prog, entry.pid, msg);
}
}