LINUX.ORG.RU

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

 

Производительность сигнальных процессоров

Часто вижу в описаниях сигнальных процессоров такие характеристики как 64 MAC за такт, даже 256 MAC за такт для разных форматов операндов. Объясните, как достигается такая производительность, хочу понять насколько это может заменить мне ПЛИС, к которым я прирос, и быть может уже неадекватно оцениваю возможности DSP

В то же время я вижу что ширина команды она небольшая, ну там 32-64 бита, как оно может запланировать выполнение 256 MAC за такт?

Я правильно понимаю что DSP обладает широченным интерфейсом к своей встроенной статической памяти, и может по типа SIMD, одним махом взять данные для всех 256 входов пары операндов, выполнить умножение и положить обратно 256 результатов? Вся суть именно в выполнении такого рода действий, которые будут разбавлены медленными относительно одиночными операциями типа переходы по циклам и так далее?

Просто много однообразных действий, одинаковых, над данными, лежащими в ряд? Всё верно понимаю?

 ,

I-Love-Microsoft ()

Восстановить данные из немонтирующегося образа NTFS

Есть образ флэшки, но ни ntfsfix ни disktest, которых рекомендуют в интернете, не помогли восстановить работоспособность раздела. disktest не видит многие файлы. Ясно что какой то важный блок на SD карте повредился, что само собой такая ФС да на SD карте это идеальный рецепт потери данных

Реально ли теоретически размотать какой либо программой содержимое файловой системы NTFS в Linux, пусть даже названия файлов будут утеряны, нужно извлечь кучу ценных фотографий, сосед виндузятник попал в такую беду

Знаю только утилиты восстановления удаленных файлов, но мне бы без названий просто jpg файлы вытащить

P.S. Сама копия с sd карты прошла при помощи dd без единого сбоя

 , ,

I-Love-Microsoft ()

Передать от host в fpga страницу памяти

Была такая тема написать драйвер для своего устройства и с тех пор удалось поднять PCI-E на разных платформах Lattice Versa, Altera Cyclone 4 gx (Avalon stream, Nios), Xilinx Spartan 6-T и Xilinx Kintex-7. Но тогда всегда задача состояла лишь в передаче из ПЛИС в ПК, т.е. хост.

При передаче в хост, я просто передавал результат dma_map_single в ПЛИС и засылал пачки TLP MWr, после чего следовало прерывание.

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

  1. сначала взять страницу dma_map_single

  2. заполнить ее данными

  3. затем синхронизироваться dma_sync_single_for_device

  4. отослать результат первого пункта в ПЛИС

  5. запустить серию MRd пакетов, обрабатывая completion-ы

Всё ли правильно понимаю?

 , ,

I-Love-Microsoft ()

Выгрузить модуль и всё что мешает

Требуется выгрузить модуль:

sudo rmmod somemodule

rmmod: ERROR: Module somemodule is in use

Есть ли способ заставить выгрузить также то, что его юзает в lsmod, чтобы не делать этого вручную. Потому что загружаю лишь somemodule, а выгрузить только его уже никак - паровозом вешается еще много чего

Судя по темам на ЛОРе есть тревожное подозрение что если я вижу «rmmod: ERROR: ../libkmod/libkmod-module.c:793 kmod_module_remove_module() could not remove ‘somemodule’: Resource temporarily unavailable» то значит облом, устройство не позволит отпустить драйвер

Ведь проблема еще и в том что вручную тоже это не выходит выгрузить, даже со всякими –force

 , ,

I-Love-Microsoft ()

Посоветуйте книг по C++ и SQL

Работодатели давно стали злее и требуют C++17/20, вот уже без STL невозможно вздохнуть, а что там с SQL? Также делают всякие каверзные тесты даже по Qt

Где бы почитать современных хороших книг по C++17/20? Какую советуете?

Также интересует по SQL, его я знаю в общем то на начальном уровне и пока этого мне полностью хватало, но уже не сейчас

По Qt тоже просят всякие хитрые вопросы по тонкостям, которые можно получить лишь за много лет работы с ним интенсивно, но вот где же взять это в сублимированом виде? Тоже бы книгу хорошую

Подходят книги и на русском и на английском, которые можно купить в электронном виде, а может есть халявные онлайн

 , , ,

I-Love-Microsoft ()

Параллельный процесс

Есть Django (не старой версии), требуется выполнять некоторые периодические действия, например, раз в минуту (или даже раз в 15 секунд), кое что дергать, проверять изменилось ли что-то.

Как это правильно делать в Django? Не запуская всякие костыли и параллельные процессы, а так чтобы было максимально некостыльно, в духе фреймворка?

В чем вопрос - как называется этот механизм? Воркеры?

Нашел такую штуку: https://github.com/geekforbrains/django-workers - с точки зрения разработки сайтов это штатный механизм, не поделка? На нее стоит завязываться?

Просто хочется сделать сайт так, чтобы он не зависел намертво от действий пользователя, пойдет он по ссылке, вернется ли с нее, а параллельно самостоятельно выяснять статусы операций.

 ,

I-Love-Microsoft ()

Как непрерывно получать данные от АЦП в Linux

Есть небольшой скрипт Python 3 который читает I2C АЦП, он оцифровывает датчик, частота дискретизации несколько килогерц, а я читаю несколько сотен раз в секунду и этого явно недостаточно.

Правильно я понимаю, что даже если перепишу на Си (что совершенно не проблема) - не получу нужной частоты дискретизации?

400 кгц / 12 бит данные + адрес + паузы и так далее = килогерц 5-10 в теории выжать можно. Но вот в чем производить такое циклическое чтение?

Допустим, можно написать драйвер низкоуровневый поверх I2C - поможет? В теории, там и отклик быстрее будет и таймер точнее и всё прочее.

 , , , ,

I-Love-Microsoft ()

Китайский USB-CAN протокол

Купил такое https://aliexpress.ru/item/4000045445478.html

Китаец прислал мне драйвер для windows, а инструкцию где 99% текста это китайские иероглифы, хотя я просил его мне дать протокол.

Кто-нибудь знает, какой протокол у такой штуки? Ведь в системе оно представляется как USB-UART.

Я мог бы выцепить протокол, воткнувшись в живую сеть CAN, и там понять в каких байтах какие поля оно передает, выполняя какие то тестовые посылки. Скорее всего так поступлю, но не скоро будет возможность, но она есть.

 , ,

I-Love-Microsoft ()

FT2232C/D/H работа с I2C

Есть платка на базе Future Technology Devices International, Ltd FT2232C/D/H Dual UART/FIFO IC. Заявлена поддержка I2C. Как ее получить?

Втыкаю - /dev/i2c* не появляется новое. Есть некий ftdi_sio драйвер. Есть libftdi и даже pylibftdi как обертка для питошки.

До меня начинает доходить, что чуда не будет. Чип дает bitbang ногодрыжный интерфейс, а дальше ручками. Да, есть обертки, может есть pullup на алишной плате.

Чтобы получить I2c на FT2232C:

  1. нужно bitbangить? 2) на всякий спрошу у опытных, а может снифер можно на этой штуке изобразить?

Может есть готовые программы или драйвер-обертки???

 , ,

I-Love-Microsoft ()

Сменный аккумулятор показывает неверный процент

Купил два сменных аккумулятора к телефону. Они заряжаются до 4.15-4.2 вольта, что является допустимым уровнем заряда, это можно считать за 100%. Но разумеется это китайская подделка с алиэкспресса, а телефон ждет видимо большего напряжения для 100%

Никакие циклы полного разряда и резеты и перезагрузки - не помогают. Значит есть иной путь. Можно ли задать так, чтобы оно считало 4.15 вольт за 100% и больше не пыталось заряжать?

Если подключить к лабораторному источнику питания, то видно, что оно пытается пару секунд заряжать, затем на 5 секунд прекращает, снова 2 секунды заряжает, снова пауза

Можно ли остановить эти бессмысленные попытки заряжаться свыше 4.15 вольта, уровень аккумулятора отображается в специальных программах

ОС - Android 8. В выключенном состоянии оно может показать даже 93% самое большее, при включении - процентов 80-85, в основном 75%

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

 ,

I-Love-Microsoft ()

Попытка установить 32-битный libgl требует снести пол системы

Ubuntu 20.04, установлен nvidia-driver-435. В /usr/lib/x86_64… есть libGL.so.1 Нужно запустить 32-битную программу с OpenGL

Чтобы получить эту библиотеку, нужно sudo apt install libgl1:i386 libglx0:i386 libglx-mesa0:i386 libgl1-mesa-dri:i386 libllvm10:i386

Однако при этом список «Следующие пакеты будут УДАЛЕНЫ» просто огромен и «объём занятого дискового пространства уменьшится на 1 303 MB»

Как установить эту несчастную libgl? Пакет libnvidia-gl-435:i386 установлен, но libGL не содержит (смотрел внутри архива). В интернете пишут что это решило бы проблему, но как, если файла даже нет?

Возможно предыдущие версии драйвера nvidia содержали такой файл, а сейчас нет

 ,

I-Love-Microsoft ()

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

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

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

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

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

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

 ,

I-Love-Microsoft ()

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

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

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

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

 

I-Love-Microsoft ()

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

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

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

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

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

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

 , , ,

I-Love-Microsoft ()

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

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

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

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

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

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

 , ,

I-Love-Microsoft ()

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

Есть устройство, у которого 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 команды

Прикупил на алишке готовую плату на базе модема 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-модем, линии прямо должны идти а не накрест же

 , ,

I-Love-Microsoft ()

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

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

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

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

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

 ,

I-Love-Microsoft ()

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

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

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

./my_debug_script > log.txt

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

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

 ,

I-Love-Microsoft ()

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

Пытаюсь собрать этот трэш вот для какой цели. Я работаю с 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 ()

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