LINUX.ORG.RU

Сообщения I-Love-Microsoft

 

Криво работает привязка к сетке у LibreOffice

Форум — General

Пытаюсь работать с рисованием объектов с квадратиками и стрелочками

Пробовал в версиях 5.х, но теперь и в LO 6.4.4. Вижу что я включил сетку, и ее отображение. Оно привязывается к ней но криво, попадая между клеток. Иногда не позволяет осуществить позиционирование с нужным шагом, т.е. проскакивает одну клетку

Пробовал отключать функцию «дополнительные узлы» чтобы между клетками были еще опорные позиции. Возможно я делаю что-то не так, или нужно включить какой то специальный режим

Еще рассматриваю создание векторных рисунков вне LibreOffice, но потом это векторное будет добавлять в документ. Например LO Draw привязывает к узлам сетки идеально, там это работает как положено

Но смех заключается в том, что в LO Draw я не могу выключить режим пропорционального масштабирования в редакторе, тянуть за углы бесполезно, оно все равно масштабирует оси одинаково, вместо параллелограмма получаются квадраты - как отключить? workaround это в свойствах задавать геометрию явно цифрами…

 ,

I-Love-Microsoft
()

Как надежно отключить Baloo File Indexer?

Форум — Desktop

Как отключить этот вонючий baloo? Я его и в GUI отключил и balooctl disable говорил, а оно все равно при старте запускается, а еще самопроизвольно через 15 минут примерно

Как эту дрянь выкорчевать навечно, чтобы не грузило проц и особенно диск?

Обновился до Ubuntu 18.04 затем до 20.04 и вот получил. Как же они достали включать такие бесячие вещи по дефолту. То Nepomuk, то вот это Baloo. Когда они прекратят включать вредоносное (по факту, чем это лучше чем майнер или подобное???) ПО по дефолту в дистрибутивах???

 

I-Love-Microsoft
()

Долезть до сервера через кучу nat и fw, хотя бы по ssh

Форум — Admin

Есть некоторый сервер, находясь рядом с которым можно сделать ping ya.ru и на нем будет интернет. Но этот сервер в конторе спрятан за кучей firewall-ов и NAT, предположим админ условно в запое и вообще не умеет настраивать.

Да, есть возможность использовать AnyDesk или TeamViewer на других тачках, где есть графическая оболочка. Но целевая машина даже не x86 система.

Как организовать удаленный доступ через кучу NAT к не-x86 серверу без графики (хотя она там есть X11 обычный, но я думаю что полагаться нет смысла на это).

Пока что придумали подключить Android телефон в режиме модема, обычный RNDIS вполне себе поднимется там, и так будет хоть немного проще туда залезать. Но и то, ведь телефон это тоже как NAT.

Такой вот вопрос. Как залезать в таких ситуациях, как «организовать легальный бэкдор»?

 , , ,

I-Love-Microsoft
()

Убрать пробелы между идентификаторами

Форум — Development

Пользуюсь Astyle для форматирования кода и он работает великолепно, за исключением одной вещи:

struct      sched_param   params;
Как сделать так, чтобы пробелы убрались и стало:
struct sched_param params;
Для этого вероятно существует некоторая опция, которую я не увидел во время чтения интернетов и манов

Аналогично перед началом комментария тоже может быть так:

int test;          // куча пробелов перед комментом, бесит

Можно конечно сделать замену всех двойных пробелов на одинарные и так 15 раз пока не полегчает в любом редакторе, к сожалению оно залезет в строковые константы, чего не хотелось бы

 , ,

I-Love-Microsoft
()

Как в драйвере задать число линий, которые необходимо задействовать?

Форум — Development

Есть устройство, у которого LnkCap в lspci четко показывает что оно умеет width x2, но по факту работает LnkSta лишь width x1. Да, оно работает отлично, но как задействовать x2?

Стал читать на тему, где-то пишут что это задается драйвером. В самом деле я видел что драйвер nVidia умеет снижать число lanes и скорость с PCI-E 3.0 (8 GT/s) до 2.5 GT/s

Вопрос - а где и как это собственно задается? LnkCap честно говорит - могу x2. А как это включить? Как запросить чтобы было x2?

 ,

I-Love-Microsoft
()

Не откликается модуль SIM800 на AT команды

Форум — Development

Прикупил на алишке готовую плату на базе модема SIM800. Воткнул рабочую SIM карту, подал на нее питание, включил сам модуль. Вижу что мигает NETLIGHT вывод 64ms On/ 3000ms Off SIM800 registered to the network. Значит симку увидел и в сеть зарегалось

А вот AT команды не доходят. На плате можно выбрать, либо это TTL уровни чтобы управлять 3.3В UARTом, либо RS-232. У меня четко выбрано RS-232. Подключился через USB-RS-232, пробовал замыкать 2-3 пины у разъема там, где как раз непосредственно подходит к модему (вытащил для этого) - эхо в консоли есть. Строки завершаю \n\r т.е. 0x0D 0x0A как и положено. Ответа нет. Точнее приходят нули. То три то четыре нуля

Пробовал и такой код накатать:

#!/usr/bin/env python3

import serial
import os, time

port = serial.Serial("/dev/ttyUSB0", baudrate = 9600, timeout = 1)

cmd = "ATE1\r\n"
bcmd = cmd.encode("utf-8")
print("bcmd= %s" % bcmd)
port.write(bcmd)
res = port.read(10)
print("res= %s" % res)

cmd = "AT\r\n"
bcmd = cmd.encode("utf-8")
print("bcmd= %s" % bcmd)
port.write(bcmd)
res = port.read(10)
print("res= %s" % res)

Все равно ответ такой же:

./test_sim800
bcmd= b'ATE1\r\n'
res= b'\x00\x00\x00\x00'
bcmd= b'AT\r\n'
res= b'\x00\x00\x00\x00'

Что может быть не так? Пробовал все скорости, и 115200 и 57600 и так далее

На плате стоит DB-9F как раз для подключения к COM-удлинителям, это ведь не null-модем, линии прямо должны идти а не накрест же

 , , sim800

I-Love-Microsoft
()

Эмуляция клавиатуры через USB-device порт

Форум — Development

Вопрос именно на тему разработки, не железа. Допустим есть Raspberry Pi Zero или Orange Pi Zero. Можно ли каким-то образом заставить эти платы прикидываться клавиатурами через USB порты? т.е. чтобы работало не как Host а как Device?

Чтобы плата эмулировала нажатия клавиатуры и мышевозничество из скрипта?

А может есть отдельные платы или чипы, которые могут быть легко подключены к Raspberry по I2C?

Или чем черт не шутит? Взять чип от клавиатуры и мыши тупо? Но боюсь если с клавиатурой просто - матрица контактов какая нибудь, то чипы для мышей будут хотеть оптические схемы или энкодеры, последние не сложно эмулировать

 ,

I-Love-Microsoft
()

Как в консоли делать flush вывода в файл

Форум — Development

Приветствую всех! Подскажите пожалуйста, как делать flush в консоли?

Допустим есть ksh-скрипт работающий в старой платформе 20-летней давности, там ksh. Программа в режиме отладки пишет в файл, иногда возникают отладочные сообщения:

./my_debug_script > log.txt

Необходимо делать перодические flush вывода, даже если в консоль выведено мало текста, иначе я так и не дожидаюсь нужных сообщений, лог остается оборванным

Поможет ли fflush(NULL) в самой программе? Еще тупая идея выводить в лог кучу символов типа # чтобы заставить имеющийся вывод попасть в лог-файл

 ,

I-Love-Microsoft
()

Собрать Open Watcom 2.0 для Linux

Форум — Development

Пытаюсь собрать этот трэш вот для какой цели. Я работаю с QNX 4.25 и при падении программ формируется дамп памяти, который можно открыть в wd (watcom debugger). Но при некоторых условиях возникновения ошибок, дамп не открывается в самом wd - происходит крах самого wd.

Для этого я подумал взять Open Watcom, вдруг там рабочий отладчик. Оказалось, чтобы смотреть дампы от QNX 4 нужен модуль PMD (не знаю что значит это название). Его в готовых бинарных сборках найти не удалось.

При попытке собрать вот это https://github.com/open-watcom/open-watcom-v2 оно начинает собирать вообще всё что угодно, начиная с win nt, и падает на попытке выполнить бинари в dosemu.

Тут я заподозрил неладное, и задумался о том, что мне следует выбрать что конкретно собирать. Тогда бы я собрал версию только для Linux с поддержкой этого PMD.

Кто-нибудь сталкивался со сборкой Open Watcom? Смотрю эту свалку файлов из github и не могу найти ничего про конфигурацию сборки, никаких там configure с параметрами. Файл build.sh не показывает признаков конфигурируемости.

 ,

I-Love-Microsoft
()

Прием видеоданных не от сенсора в Салют-ЭЛ24Д1

Форум — Development

Есть отладочная плата с Lattice Crosslink, которая преобразует видеопотоки из разных форматов в том числе в MIPI CSI-2, который есть у Raspberry Pi 3. Частично, пока с большими проблемами, поток в Raspberry принимается, но для этого приходится пробрасывать I2C линии к сенсору.

Вопрос: можно ли у такой платы как Салют-ЭЛ24Д1 принимать CSI-2 поток со строго заданными заранее параметрами без применения CCI интерфейса (он же I2C).

Вообще, вопрос скорее касается любой другой платы, отличной от Rasberry, мне требуется любой приемник собственного CSI-2 потока, который не прибит гвоздями к сенсорам, и который не будет отказываться кушать поток, если нет I2C линии к источнику видеоданных.

Понимаю что вопрос крайне узкой специализации, уповаю на @ncrmnt

 , mipi

I-Love-Microsoft
()

Прочитать нажатие клавиши мыши без графической подсистемы

Форум — Development

Возникла необходимость обеспечить безголовое (без монитора) встраиваемое устройство неким простейшим взаимодействием с пользователем. Ничего лучше чем USB мышь не пришло в голову. Но как читать ее события, если в системе не будет X11, не будет монитора, вообще ничего

USB мышь определится - проблем нет. Как читать с нее события? Не опускаясь до парсинга пакетов чем-то, что позволяет WireShark-у ловить USB пакеты. Есть что-нибудь простое?

Предполагаю это будет bash/python программа. Пока никаких идей нет

 , ,

I-Love-Microsoft
()

Застревает старт UDS-сервера

Форум — Development

Написал тестовую программу UDS сервера и клиента, UDS = Unix Domain Sockets. Иногда сервер стартует и принимает какие то искаженные данные, это нарушает процесс обмена, и сам сервер виснет и клиент повисает ожидая данные

Сценарий работы прост - клиент подключается к серверу, пишут в сервер данные и получает ответ, затем еще раз пишет данные и получает снова ответ. Если все запускать начисто, холодный старт - то ноль проблем. А вот если повторно, зачастую возникает описанный выше затык

Код примера 2in1, сервер запускается с аргументом, клиент без: http://paste.org.ru/?dsi7xi

Не помогает ни двойной unlink ни remove. Может можно просто при открытии сокета куда то всё вычитать в /dev/null. Почему подобное может возникать и как с это решить?

Что-то подобное, как если бы TCP сервер крэшнулся и некоторое время не позволял бы биндить сокет, просто в UDS это какая-то специфичная проблема, с которой не знаю как бороться. И ведь при старте UDS сервера оно спокойно всё всегда открывает, но при первом же взаимодействии обнаруживаются повисшие данные почему то

 ,

I-Love-Microsoft
()

64-битные регистры задействуются как 32-битные

Форум — Development

Если писать код для aarch64 в виде ассемблерных вставок, то при отладке в GDB Dashboard видно, что запись mov x5, #100 задействует только младшие 32 бита, а в оставшихся старших 32 битах остаются прежние значения или значения соседних регистров, либо их прошлые значения

Попробую пояснить суть проблемы иначе. Регистр w5 это 32 битный, x5 это 64 битный. Так вот ассемблерная вставка задействует именно регистры x а значит если я записал туда 5, значит весь регистр должен быть равен 5. У меня же 5 попадет только в младшие 32 бита

В результате этих ложных значений не работают такие инструкции как cmp и прочие условные. Я предполагаю что отладчик GDB не просто так показывает такие значения в регистрах

Инструкции типа sub add и прочие - работают как надо. Но полагаю из за того что в старших 32 битах регистров x лежит какая-то хрень, то именно поэтому не работает нормально инструкция cmp и условные переходы b, точнее они срабатывают, но с одним и тем же результатом, потому что в старших 32 битах регистра неизменно торчит какая то каша

Почему mov x1, #100 не запишет всё биты целевого регистра? Нашел что значения из инструкции берутся от 0 до 4095, но неужели остальные старшие не обнуляются? А как тогда всё обнулить? sub x1, x1, x1???

Прошу помощи, чтобы понять суть проблемы. Могу уточнить и вечером показать примеры, если нужно

 , ,

I-Love-Microsoft
()

PythonAnywhere как сделать его HTTPSным

Форум — Web-development

Осваиваю Яндекс.Кассу и там для создания веб-хука (коллбека), который мне очень нужен для работы, требуется чтобы URL моего сайта начинался с HTTPS.

Использую python anywhere + django. Как его обшттпээсить? Это что, настройка хостинга, настройка самого сайта, или нужно регистрировать свой домен и в нем указывать его https-режим?

Ничего не понимаю в этом деле, нужно как-то сделать так, чтобы сайт работал через https и у него появился https URL и я мог на нем обрабатывать колбэки от платежной системы.

 ,

I-Love-Microsoft
()

Консольная отладка кода с ассемблерными вставками

Форум — Development

Есть виртуальная машина QEMU AArch64 есть программа, которую можно компилировать с отладочными символами и без оптимизации. Как ее отлаживать?

Допустим я пробовал cgdb и я вижу там исходный код, можно ходить по шагам. Включив какой-то режим дизасма следующей строки, когда натыкаюсь на нее, оно входит во «вставку» и может и там ходить по шагам.

Но можно ли повесить окошко со значением некоторых регистров, или заставить gdb выводить ряд некоторых регистров после исполнения каждого шага и последующей остановки?

Нужно следить что происходит в ассемблерной вставке. Да, я знаю что есть info registers и оно показывает что надо, но надо лишь небольшой список из них, не все, иначе неудобно искать после каждого шага значение регистра.

Попытки повесить окошко с регистрами в текстовом интерфейсе cgdb не сработали, какой то глюк, видимо не поддерживается на aarch64.

Какие еще есть варианты? Нужен удобный обзор содержимого избранного набора регистров после каждого шага.

 , ,

I-Love-Microsoft
()

Работает ли x2 в разъеме x4?

Форум — Linux-hardware

Существуют такие nvme ssd диски у которых интерфейс x2, и их стало быть можно засунуть в разъем x4.

Вопрос: как оно определяет ширину канала? Есть PCIE_PRSNT2n_x1 и PCIE_PRSNT2n_x4 сигналы, с х1 и х4 понятно, как тогда поднимется x2?

Делаю плату и не понимаю что делать. Пары пришло отреверсить 0-1 1-0. Волнуюсь как бы оно это распознало.

В режимах x4 x8 реверсить порядок следования линий можно. Но что с х2 мне не ясно. Или оно определяет тупо пытаясь установить линк вообще по всем доступным дорогам (lanes). Значит мое перевернутое x2 оно должно по идее увидеть, верно?

 

I-Love-Microsoft
()

Не удается запустить механизм Mqueue

Форум — Development

Хочу освоить для одной задачи механизм Mqueue, это стандартный POSIX механизм IPC, который показался мне интересным. Отсоветуйте, если считаете его плохим, но он есть и на QNX 4 и на Linux, поэтому это портабельное решение для меня выходит.

Хочу слать сообщения, а они в другом процессе должны застревать до чтения третьим процессом, чтобы не городить два потока в программе. Выглядит всё вкусно.

Проблема вот в чем: не удается увидеть работу этого механизма, я явно что то делаю не так. Запускается сервер, открывается очередь под именем, под QNX 4 хотя бы открывается на сервере и клиенте, клиент что-то отправляет и это видно в статистике, сервер не видит данных. А под Linux попробовал - не работает и вовсе, канал не открывается.

Пробовал блокирующий и неблокирующий режим, но мне нужен неблокирующий - выстрелил и забыл. Далее код:

#include <stdio.h>
#include <mqueue.h>

char data[100000];

int main()
{
	mqd_t mq;
	struct mq_attr attr;
	int rc;

	attr.mq_flags = 0;
	attr.mq_maxmsg = 100;
	attr.mq_msgsize = 65536;
	attr.mq_curmsgs = 0;

	printf("test_mq_server\n");
	//mq = mq_open("/sqlite_sdb", O_CREAT | O_RDWR | O_NONBLOCK, 0660, &attr);
	mq = mq_open("/sqlite_sdb", O_CREAT | O_RDONLY, 0660, &attr);
	printf("mq opened, server mq= %d\n", mq);

	while(1)
	{
		rc = mq_receive(mq, data, 65536, NULL);
		printf("server rc= %d\n", rc);
		sleep(1);
	}

	mq_close(mq);
	mq_unlink("/sqlite_sdb");
	return 0;
}
#include <stdio.h>
#include <mqueue.h>

int main()
{
	mqd_t mq;
	char data[100000];
	int rc, i;

	printf("test_mq_client\n");
	//mq = mq_open("/sqlite_sdb", O_RDWR | O_NONBLOCK);
	mq = mq_open("/sqlite_sdb", O_WRONLY);
	printf("client mq= %d\n", mq);
	for(i = 0; i < 3; i++)
	{
		rc = mq_send(mq, "test_mq", 7, 0);
		printf("client rc= %d\n", rc);
		sleep(1);
	}
	mq_close(mq);
	//mq_unlink("/sqlite_sdb");
	return 0;
}

QNX4

test_mq_server
mq opened, server mq= 3
server rc= -1
server rc= -1
test_mq_client
client mq= 3
client rc= 0
server rc= -1
client rc= 0
server rc= -1
client rc= 0
server rc= -1
server rc= -1

Linux

test_mq_server
mq opened, server mq= -1
server rc= -1
server rc= -1
итого 0

------ Очереди сообщений --------
ключ   msqid      владелец права исп. байты сообщения
0x331100ea 0          root       622        0            0           

test_mq_client
client mq= -1

client rc= -1
------ Очереди сообщений --------
ключ   msqid      владелец права исп. байты сообщения
0x331100ea 0          root       622        0            0           

server rc= -1
client rc= -1
server rc= -1
client rc= -1
server rc= -1
server rc= -1
server rc= -1

Запускалось так

./test_mq_server &
sleep 1
./test_mq_client &
sleep 5

Запускается сервер, создает очередь, потом клиент запускается, кидает сообщение и закрывается. Сообщение пропадать в неблокирующем режиме не должно, ожидаю так. Затем сервер работает еще несколько секунд и осуществляет попытки чтения. Но ничего нет.

Под QNX4 хотя бы очереди открываются, а под Linux нет. Что-то надо запустить? Или модуль ядра запустить?

 , , ,

I-Love-Microsoft
()

Замедлить доступ к диску виртуальной машины

Форум — Linux-hardware

Есть система на базе VirtualBox и софт на ней нужно проверить как он будет работать на медленной тачке. Известно, что процессор можно замедлить хоть в 5, 10 или во все сто раз, настройка эта на поверхности.

Существует ли способ на хосте ограничить скорость работы с файлом образа, или сам VirtualBox снизить скорость записи и чтения на диск? Сам гость такой функции не поддерживает, старая ОС там.

 ,

I-Love-Microsoft
()

Чем удобнее засовывать файлы в виртуальную машину QEMU?

Форум — General

Ранее в этой теме я сделал виртуальную машину с ARM64 Как включить графику или хотя бы текстовый цветной режим?

С помощью virt-copy-out/in -a <>.qcow2 я могу засовывать и извлекать файлы. А есть ли способ засовывать файлы в виртуальную машину так, чтобы это работало на других операционных системах?

Нужен максимально простой способ...

 , ,

I-Love-Microsoft
()

Не удается скомпилировать код а asm вставкой

Форум — Development

В теме Как включить графику или хотя бы текстовый цветной режим? установил QEMU ARM64. Там Debian 10, и есть gcc 8.3

Есть пример: http://www.ethernut.de/en/documents/arm-inline-asm.html

Есть простая программа:

#include <stdio.h>
int main()
{
printf("test\n");
asm("mov r0, r0");
}
При компиляции gcc test.c -o test пишет: operand 1 must be an integer register. Жалуется на строку mov r0, r0. Она же из примера взята, что ему не нравится? Пробовал r20, r30, всегда один ответ.

 , , ,

I-Love-Microsoft
()

RSS подписка на новые темы