LINUX.ORG.RU

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

 

Блокировать ссылки по аргументам

Есть такая штука как /etc/hosts - хорошо. Что не может hosts можно сделать при помощи Leech Block NG. А что если каналы телеграма отображаются в строке браузера только при помощи аргументов к сайту на одной и той же странице

Существуют ли какие то расширения и дополнения, чтобы они также смотрели а что же после # и что после «?» при отображении страницы

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

 ,

I-Love-Microsoft
()

Электронная очередь и трекер занятости оборудования, расписание

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

Есть ли подобные онлайн трекеры-очереди? Готовые решения

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

Development ибо типичная dev-ops проблемка, не верю что никто не делил осциллограф, отладочную плату, или еще что то между собой, когда само железо не позволяет разграничить доступ

 ,

I-Love-Microsoft
()

После задействования трекбола теряется управление окнами

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

Стоит только чуть задеть трекбол, то ломается всё. Не удается закрыть окна - они нажимаются (крестики) но не закрываются, можно выбрать заголовок окна но другая работа с окном не срабатывает. Но при этом ЛКМ ПКМ трекбола срабатывают на рабочем столе офтопа и трекбол возит курсор. То есть частичная работа, аппаратно работает а программно нет

Ключевой момент в том что это проявляется и на Linux и на офтопе. А еще смешнее то что на обоих ОС простой релогин возвращает работу всех функций и далее всё без сбоя

Что теоретически может быть не так? Может какие то правила HID надо прописывать, лимитировать что то

 ,

I-Love-Microsoft
()

Части сайта в виде компонентов - как реализовать?

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

И существует ли способ красивого, возможно стандартизованного, обмена событиями и сообщениями между такими компонентами? Даже если они написаны на разных языках и фреймворках

Вот в Qt я могу создать сколь угодно сложный законченный компонент, и помещать его в разные программы, и в каждой сигналами-слотами я сделаю обмен между компонентами без проблем

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

 ,

I-Love-Microsoft
()

Тайминги DDR4 - насколько их допустимо увеличивать

Есть такой параметр у DDR памяти как CL (CAS Latency). Это видимо некоторая задержка, которая требуется для чтения данных по некоему запросу, и она постоянная характеристика данной модели или даже экземпляра памяти. Измеряется в тактах - всё верно? Поэтому на высоких частотах нужно брать много тактов чтобы выдерживать как минимум эту задержку, и наоборот, если частота ниже например в 2 раза - то и CL можно взять в 2 раза ниже и тогда получится такая же задержка

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

Ведь тайминги энтузиасты снижают, чтобы всё было быстрее, лишь бы оно работало. А могу я наоборот? Низкая частота и прям до предела тайминги?

Нужно это не для ПК Linux, а для FPGA+DDR, там контроллер вроде бы позволяет мне выставить таких значения. А CL/CWL могут достигать значений 17/18

Но не ломает ли это работу? Там ведь есть у интерфейса памяти регистры, в них есть настройки прямо в чипе. И чип увидит что я хочу 17/18 тактов задержки, он такие задержки поддерживает и считает их максимально возможными задать. Оно примет это работая на максимально низкой частоте?

Я написал вопрос этот, но сам конечно буду на практике наобум проверять. Метод варварской наобум попытки выставить custom настройки с предельными числами

 ,

I-Love-Microsoft
()

Как сделать ожидание прерывания не усыпляя процесс?

Есть такой механизм wait_event_interruptible, он хороший, вопросов нет. Но иногда, даже с RT 99 приоритетом процесс может слишком долго пробуждаться, то есть проходит слишком много времени между irq_handler и моментом, когда пробуждение отработает

Почитал хорошую статеечку https://kerneltweaks.wordpress.com/2015/03/20/quick-guide-for-choosing-correct-synchronization-mechanism-inside-linux-kernel/

И ничего умнее чем просто ставить какое то число через atomic_set в irq_handler и сделать while(atomic_read == 0) в ожидающем процессе - я не придумал. Вместо wait_event_interruptible

Ясно что идеология работы с устройствами она иная, что обмен по DMA, что IRQ оно не для чего то иного. Там всё не требует быстрой реакции чтобы всё успевало и ничего не терялось. Понятно что не для того всё это сделано, считается что поймал irq handler сделал что надо и свободен. Но что если надо немедленно это сообщить в userspace?

Такое ощущение, что kernel module он при wait_event_interruptible спит прямо вместе с процессом userspace, который вызвал этот конкретный ioctl. Может есть что то более приспособленное для этой цели?

Может какой нибудь типа disable preempt??? Система SMP, почему бы нет. Но вероятно этот wait_event_interruptible или там какой нибудь семафор - они все «хотят спать»

 , ,

I-Love-Microsoft
()

Процесс в userspace, возврат из ядра иногда задерживается

Есть некий драйвер, который ловит прерывания с периодичностью несколько десятков миллисекунд, и судя по time stamp в логе dmesg, делает это очень надежно и регулярно, очень точно с точностью до десятков микросекунд

В ядре используется wait_queue_head_t, в обработчике прерывания wake_up_interruptible, далее wait_event_interruptible, после чего userspace процесс просыпается

Вот иногда в 1% случаев, оно делает это слишком поздно, мне надо успеть за 100-150 мкс, а оно в такие моменты может даже до миллисекунды скакнуть это время ожидания. А когда всё хорошо, оно успевает за 50 в среднем мкс, иногда за 115 что тоже нормально

Пробовал ставить nice -n 0, лочить процесс на ядро taskset -c. И ничего не помогло не улучшило ситуацию

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

Я так понимаю, это ядро просто не всегда хочет будить процесс в userspace?

Уже и nice использовал, что еще можно попробовать, чтобы сказать системе - вот это важные процессы в системе, их нельзя обижать и выгружать, вытеснять и так далее? Что мне все равно что будет со всеми прочими программами в системе

Как объяснить - вот эта программа это VIP, это священный процесс, он всегда должен быть бодряком. Ядро ради него отдам, два, три! Как то так

 , ,

I-Love-Microsoft
()

Возможно ли написать простой сайт на Qt5

Именно через Emscripten чтобы работало, с обычным интерфейсом

Меня привлекает мысль что я могу использовать навыки свои Qt-шные. Но раньше рассматривал только в качестве веб-интерфейса к прибору, не более того

А возможно ли сделать простой сайт на базе именно Qt. Но есть проблема - надо добавить QWebView для просмотра карты в интерфейс. И оно как, сделает мне браузер в браузере - тормоза в квадрате, или оставит окошечко для движка самого браузера?

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

Связи с сервером я так понимаю там через обычное сетевое соединение надо, связи с сервером врожденной не будет?

 , ,

I-Love-Microsoft
()

Ограничить потребление памяти на большом проекте

Имеется большой проект, добавленный в Qt Creator. В результате IDE потребляет слишком большой объем памяти, не хватает даже 16 гигабайт. Как называется функция, которая может столько забирать памяти, чтобы ее отключить?

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

Что это обычно так жрет меморю?

 

I-Love-Microsoft
()

Виснут приложения KDE, спасает лишь ребут

Пользуюсь Kate и Gwenview в среде Gnome 3. По идее проблем быть не должно, какая бы DE ни была. Но давно заметил, иногда через два часа, иногда через 6 часов, но после какого то действия, программы Kate и Gwenview виснут намертво, по 5 раз можно нажимать «завершить принудительно», окна висят и висят, хотя вся система продолжает нормально работать. Потом оно через 5-10 минут само отвисает и завершается, и так хоть 5 экзампляров Kate можно запустить - всё равно каждый будет висеть

Может есть способ поправлять что то в системе, чтобы они после прибития продолжали работать? Временные каталоги смотрел чистил, D-Bus перезагружал - всё бестолку

Кто то знаком с таким неприятным багом?

 , ,

I-Love-Microsoft
()

Что происходит при сбросе до заводских настроек?

Насколько глубоко сбрасываются данные при полном сбросе до заводской прошивки через GUI и форматировании SD карты на отдельном ПК? Например, если через уязвимость руткит прописал что то в системную область, то будет ли это затерто свежим дефолтным образом системы при сбросе?

Какие то источники пишут что это так, и лишь только от руткитов изначально в заводской прошивке это не избавит. В самом деле, даже получив рут через уязвимость и записав что то в системный корень, должна же быть в телефонах уровня Android 8 что то, что принципиально не даст писать в заводской образ что либо

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

Понять бы кто прав

 ,

I-Love-Microsoft
()

DDR3/4 понизить частоту до 50-100 МГц

Возможно ли каким либо способом понизить принудительно частоту DDR памяти? Это зависит от чипа памяти или зависит от контроллера со стороны хоста?

Знаю что стандарт предписывает минимальную частоту, но видеокарты же роняют ее до минимума, а телефоны я уверен тоже. Например, при подключении DDR к ПЛИС мне не удается уронить ее частоту ниже того, что позволяет контроллер, а связано ли это с контроллером или что то в чипе памяти не даст так сделать

Ясно что периоды рефреша будут точно такими же, что с понижением частоты что без

 ,

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

 , , rmmod

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
()

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