LINUX.ORG.RU

Сообщения TwisteR

 

Выпуск pcb-rnd 2.1.0 и основание экосистемы coralEDA

Новости — Open Source
Группа Open Source

25 ноября (в соответствии с графиком) состоялся выпуск очередной версии свободного (GPL) редактора топологий печатных плат — pcb-rnd 2.1.0.

Проект основан в 2013 году Тибором «Igor2» Палинкасом в качестве форка gEDA pcb. Начав с небольших улучшений, за прошедшие пять лет реализовано огромное количество новых функций (в этом релизе изменения кодовой базы в сравнении с оригиналом достигли отметки в 75%) и заложен прочный фундамент для дальнейшего развития проекта.

Дополнительно объявлено о формировании UNIX-подобной экосистемы для совместного развития средств автоматизации проектирования электроники — coralEDA. К данной инициативе уже подключились несколько проектов, включая редактор схем Xschem, автор которого в новом выпуске своей программы провёл значительную работу над требуемой интеграцией. Текущая диаграмма связей между проектами выглядит следующим образом.

В новой версии pcb-rnd, помимо прочего, реализована полноценная поддержка пазов/прорезей и введены новые виды специальных слоёв для таких задач, как механическая обработка (фрезерование, скрайбирование), произвольные чертежи и документация.

Подробный список изменений:

( читать дальше... )

>>> Подробности

 , , , ,

TwisteR ()

Новые версии ПО для захвата и анализа сигналов — sigrok и PulseView

Новости — Open Source
Группа Open Source

Команда разработчиков проекта sigrok выпустила обновление его значимых компонентов: основной библиотеки, набора драйверов и модулей ввода-вывода libsigrok 0.5.1, набора потоковых декодеров различных протоколов libsigrokdecode 0.5.2 и основного GUI проекта, PulseView 0.4.1.

Целью проекта sigrok является создание модульного переносимого кроссплатформенного СПО для захвата и анализа сигналов, поддерживающего большое количество различных устройств (логических анализаторов, осциллографов, мультиметров и т. п.). Основная лицензия проекта — GPL версии 3 или выше.

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

Далее представлен перечень нововведений в каждом из подпроектов.

( читать дальше... )

>>> Подробности

 , ,

TwisteR ()

pcb-rnd 1.2.8

Новости — Open Source
Группа Open Source

21 марта, точно по расписанию, состоялся выпуск очередной версии свободного (GPL) редактора топологий печатных плат — pcb-rnd 1.2.8.

( читать дальше... )

>>> Подробности

 , , ,

TwisteR ()

Ползаем по деревьям устройств

Галерея — Скриншоты

Совершенно неожиданно обнаружил себя копающимся в потрохах ядра, а именно — в древовидных структурах Devicetree, содержащих описание периферии, подключенной к системе (как правило, встраиваемой).

Не ожидал я такого потому, что подключенный к моему одноплатнику (Wandboard) пятидюймовый LCD-экранчик прекрасно работал с образом Ubuntu 14.04, скачанным с официального сайта. И перестал работать сразу, как я запустил там самосборный дистрибутив с распоследним ванильным ядром.

Целая неделя ушла на то, чтобы осознать причину: в очень нужном и полезном процессе принятия в апстрим ядра вендорских (тогда ещё Freescale, позже поглощённая NXP) патчей для платформы i.mx6, куда-то потеряли поддержку устройств вывода на вандбордах — ни сигналов на параллельной RGB-шине, ни управления питанием экрана, ни даже фреймбуфера /dev/fb0. И это при том, что были проверены и исключены все прочие возможные причины: конфигурация загрузчика, передаваемые ядру параметры, отсутствующие драйверы, дополнительные патчи или опции настройки ядра. Оставалась лишь одно — некорректная конфигурация Devicetree.

Ситуацию усугубил тот факт, что я, ведомый естественным желанием по-быстрому накопипастить чужого, везде натыкался лишь на устаревшие и более неактуальные фрагменты devtree-структур (работоспособные только на патченных ядрах 3.x, от которых решено было избавиться).

И не ждите, что ядро каким-либо образом отреагирует на DT-блоб, неточно или не в полной мере описывающий вашу аппаратную конфигурацию. В лучшем случае на плате ничего не сгорит ;)

Теперь про скриншот. Даже поверхностного взгляда достаточно, чтоб понять: это вам не Plug-and-Play™ :)

Итак, начиная с верхнего левого окна:

  • любимый Okular с открытой распиновкой LCD-модуля и парой висячих заметок
  • под ним — принципиальная схема одноплатника, по которой отслеживается, к какой физической ноге процессора подключен тот или иной сигнал
  • следующее окно — редактируемый .dtsi-файл (DeviceTree Source Include), в который добавляю нужные узлы дерева по аналогии с
  • тем, как это сделано в другой плате с экранчиком — SABRE Lite (окно вверху правее центра)
  • справа вверху — документация ядра с перечнем нужных узлов и параметров (Freescale i.MX DRM master device)
  • справа внизу — документация на процессор с описанием поддерживаемых режимов работы параллельного интерфейса графической подсистемы

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

Рабочая система — Gentoo, KDE5.

Спрашивайте ваши ответы. Особенно интересно будет перекинуться парой фраз с имевшими со всем этим дело.

>>> Просмотр (3840x2160, 1730 Kb)

 , ,

TwisteR ()

Большое обновление в проекте sigrok

Новости — Open Source
Группа Open Source

Команда разработчиков sigrok рада представить очередное крупное обновление всех компонентов проекта: libsigrok 0.5.0, libsigrokdecode 0.5.0, sigrok-firmware-fx2lafw 0.1.5, sigrok-cli 0.7.0 и PulseView 0.4.0.

Целью проекта sigrok является создание модульного переносимого кросс-платформенного СПО для захвата и анализа сигналов, поддерживающего большое количество различных устройств (логических анализаторов, осциллографов, мультиметров и т. п.). Основная лицензия проекта — GPL версии 3 или выше.

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

( Подробное описание изменений )

>>> Подробности

 , ,

TwisteR ()

[решено] Каким образом подключить 2К монитор к видеокарте по DVI?

Форум — Linux-hardware

Приветствую! Пытаюсь подключить монитор Dell U2717D (входы: DP, HDMI, родное разрешение 2560x1440) к старой GeForce 8600 GT, которая, тем не менее, оснащена двумя dual DVI-I и поддерживает два монитора по 2560x1600.

Поскольку все имеющиеся у меня кабели HDMI-DVI с «промежутками в зубах» DVI-коннектора (т.е. одноканальные), родное для монитора разрешение мне не получить. Вернее, оно выставляется, но на мониторе выглядит ужасно, вот с такими артефактами. При этом можно клацнуть вполне красивый скриншот, что означает, что видеокарта таки работает на нужном разрешении. Убавляю разрешение до 2048x1080, артефакты на мониторе исчезают.

Собственно, вопрос — решается-ли эта проблема пассивным переходником или кабелем HDMI-DVI-I/D (dual link)? Интересует практический опыт, желательно — с точными моделями этих переходников/кабелей или ссылками где купить.

На форумах прочитал, что не всё так просто:

You won't be able to get 2560x1600 over a passive HDMI to single link DVI cable/adapter, it's just not possible. Single link DVI only supports up to a maximum resolution of 1920x1200, to get 2560x1600 requires a dual link DVI. The problem then arises that using a HDMI to Dual link DVI passive solution only transmits the HDMI singal down one link of the DVI cable and not both - end result being still stuck at lower resolution than required.

Благодарю за любые ответы по теме.

 ,

TwisteR ()

Относительные ссылки в wiki на Bitbucket

Форум — Development

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

Чего я не могу добиться: постоянной (не зависящей от хеша коммита) и при этом относительной (работающей даже в склонированном вики-репозитории, который рендерится pandoc'ом локально) ссылки с вики-страницы на файл в репозитории. Перепробовал уже десяток вариантов. Некоторые работают в предварительном просмотре, а при записи страницы — ломаются, некоторые — работали раньше (в прошлые годы, судя по комментариям), а теперь не работают...

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

Интересует существующий опыт и актуальные общепринятые практики, касающиеся описываемого случая. Спасибо!

 , , ,

TwisteR ()

pcb 4.0.0

Новости — Open Source
Группа Open Source

Спустя три года после предыдущего релиза, вышла новая версия свободного (GPL) редактора топологии печатных плат — pcb 4.0.0, который развивается в рамках набора СПО для электроники gEDA.

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

В выпуск включено около 480 коммитов, в основном — исправления ошибок (закрыто 56 отчётов), рефакторинг и небольшие улучшения.

( читать дальше... )

>>> Подробности

 , ,

TwisteR ()

Разработчик встраиваемых систем (Киев)

Форум — Job

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

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

Обязательным требованием является уверенное знание Linux, желание освоить свободное инженерное ПО (gEDA, openEMS, freeCAD). Готовы оказать активное содействие в обучении. Имеется ряд проектов (как оконченных, так и текущих) с применением указанного ПО, потому навык работы в нём обязателен для интеграции в команду.

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

Офис в центре города, оплачиваемый испытательный срок, зарплата по его результатам.

Отвечаю на вопросы в этой теме, резюме прошу высылать на мою электронную почту (в профиле). Как вы уже поняли, .doc/.docx будут игнорироваться :)

 , , ,

TwisteR ()

Проблемы с захватом видео

Форум — Linux-hardware

Уважаемые форумчане, с Новым годом всех! :)

Прошу помощи в решении одной проблемы, на которую напоролся на работе. Имеется промышленное оборудование, в которое встроен модуль для оцифровки видео с камеры, подключаемый к компьютеру по USB. В lsusb он представляется следующим образом:

Bus 002 Device 006: ID eb1a:2821 eMPIA Technology, Inc.
Однозначно определить, что-же это за устройство, не получилось. В документации последней версии ядра для модуля em28xx оно числится как «Unknown EM2750/28xx video grabber».

Методом проб и ошибок удалось подобрать параметр card=9 для этого модуля, при указании которого на рабочем ноутбуке (3-5-3-gentoo) появилась картинка и звук с микрофона (встроенного в пульт управления камерой).

При подключении в dmesg теперь появляется следующее (без параметра card были сообщения о невозможности определить устройство и выводился полный перечень поддерживаемых устройств):

Jan  3 23:02:16 pc2 kernel: [10129.895088] usb 1-3: new high-speed USB device number 2 using ehci_hcd
Jan  3 23:02:16 pc2 kernel: [10130.012535] usb 1-3: New USB device found, idVendor=eb1a, idProduct=2821
Jan  3 23:02:16 pc2 kernel: [10130.012540] usb 1-3: New USB device strings: Mfr=0, Product=1, SerialNumber=0
Jan  3 23:02:16 pc2 kernel: [10130.012542] usb 1-3: Product: USB 2821 Device
Jan  3 23:02:16 pc2 kernel: [10130.012947] em28xx: New device  USB 2821 Device @ 480 Mbps (eb1a:2821, interface 0, class 0)
Jan  3 23:02:16 pc2 kernel: [10130.012949] em28xx: Video interface 0 found
Jan  3 23:02:16 pc2 kernel: [10130.013025] em28xx #0: chip ID is em2820 (or em2710)
Jan  3 23:02:17 pc2 kernel: [10130.113530] em28xx #0: i2c eeprom 00: 1a eb 67 95 1a eb 21 28 90 00 11 03 6a 22 00 00
Jan  3 23:02:17 pc2 kernel: [10130.113540] em28xx #0: i2c eeprom 10: 00 00 04 57 06 21 01 00 00 00 00 00 00 00 00 00
Jan  3 23:02:17 pc2 kernel: [10130.113549] em28xx #0: i2c eeprom 20: 02 00 01 01 f0 10 00 00 00 00 00 00 5b 00 00 00
Jan  3 23:02:17 pc2 kernel: [10130.113558] em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 10 01 03 01 00 00 00 00
Jan  3 23:02:17 pc2 kernel: [10130.113566] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  3 23:02:17 pc2 kernel: [10130.113574] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  3 23:02:17 pc2 kernel: [10130.113583] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 22 03 55 00 53 00
Jan  3 23:02:17 pc2 kernel: [10130.113591] em28xx #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 32 00 31 00 20 00 44 00
Jan  3 23:02:17 pc2 kernel: [10130.113599] em28xx #0: i2c eeprom 80: 65 00 76 00 69 00 63 00 65 00 00 00 00 00 00 00
Jan  3 23:02:17 pc2 kernel: [10130.113608] em28xx #0: i2c eeprom 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  3 23:02:17 pc2 kernel: [10130.113616] em28xx #0: i2c eeprom a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  3 23:02:17 pc2 kernel: [10130.113624] em28xx #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  3 23:02:17 pc2 kernel: [10130.113633] em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  3 23:02:17 pc2 kernel: [10130.113641] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  3 23:02:17 pc2 kernel: [10130.113649] em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  3 23:02:17 pc2 kernel: [10130.113658] em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan  3 23:02:17 pc2 kernel: [10130.113667] em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0x37da7b8a
Jan  3 23:02:17 pc2 kernel: [10130.113669] em28xx #0: EEPROM info:
Jan  3 23:02:17 pc2 kernel: [10130.113671] em28xx #0:   AC97 audio (5 sample rates)
Jan  3 23:02:17 pc2 kernel: [10130.113672] em28xx #0:   500mA max power
Jan  3 23:02:17 pc2 kernel: [10130.113674] em28xx #0:   Table at 0x04, strings=0x226a, 0x0000, 0x0000
Jan  3 23:02:17 pc2 kernel: [10130.113677] em28xx #0: Identified as Pinnacle Dazzle DVC 90/100/101/107 / Kaiser Baas Video to DVD maker / Kworld DVD Maker 2 / Plextor ConvertX PX-AV100U (card=9)
Jan  3 23:02:17 pc2 kernel: [10130.296535] saa7115 7-0025: saa7113 found (1f7113d0e100000) @ 0x4a (em28xx #0)
Jan  3 23:02:17 pc2 kernel: [10130.680277] em28xx #0: Config register raw data: 0x90
Jan  3 23:02:17 pc2 kernel: [10130.692149] em28xx #0: AC97 vendor ID = 0x83847650
Jan  3 23:02:17 pc2 kernel: [10130.698158] em28xx #0: AC97 features = 0x6a90
Jan  3 23:02:17 pc2 kernel: [10130.698161] em28xx #0: Empia 202 AC97 audio processor detected
Jan  3 23:02:17 pc2 kernel: [10130.931154] em28xx #0: v4l2 driver version 0.1.3
Jan  3 23:02:18 pc2 kernel: [10131.398097] em28xx #0: V4L2 video device registered as video0
Jan  3 23:02:18 pc2 kernel: [10131.401910] ALSA mixer.c:887 2:1: cannot get min/max values for control 2 (id 2)
Jan  3 23:02:18 pc2 mtp-probe: checking bus 1, device 2: «/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-3»
Jan  3 23:02:18 pc2 mtp-probe: bus: 1, device: 2 was not an MTP device

Однако при подключении к настольному компьютеру (HP Compaq 8000 desktop) с OpenSUSE 12.2 и ядром 3.6.9-pf-1-postfactum (пробовалось так-же и родное для этой версии дистрибутива ядро 3.4-11-2.16.1-desktop) ситуация резко изменилась. На изображении появились искажения, битые кадры. Выглядят они вот так и так, появляются примерно через каждые 2-5 секунд. Вот 10-секундный видеоролик (1.1 мб), демонстрирующий проблему.

Решил изучить параметры модуля на предмет того, что могло-бы помочь в диагностике или исправлении ошибки. Нашёл параметр isoc_debug, при указании которого в dmesg в процессе захвата видео пишется вот что:

Jan  3 21:50:46 pc2 kernel: [ 5839.479541] em28xx #0 buffer_filled :[ffff88007601a100/31] wakeup
Jan  3 21:50:46 pc2 kernel: [ 5839.495567] em28xx #0 em28xx_copy_video :Overflow of 4 bytes past buffer end(2)
Jan  3 21:50:46 pc2 kernel: [ 5839.495572] em28xx #0 em28xx_isoc_copy :Video frame 131, length=2576, odd
Jan  3 21:50:46 pc2 kernel: [ 5839.511538] em28xx #0 print_err_status :URB packet 5, status -71 [Bit-stuff error (bad cable?)].
Jan  3 21:50:46 pc2 kernel: [ 5839.511544] em28xx #0 print_err_status :URB packet 7, status -71 [Bit-stuff error (bad cable?)].
Jan  3 21:50:46 pc2 kernel: [ 5839.511546] em28xx #0 print_err_status :URB packet 8, status -71 [Bit-stuff error (bad cable?)].
Jan  3 21:50:46 pc2 kernel: [ 5839.519537] em28xx #0 em28xx_isoc_copy :Video frame 132, length=2576, even
Jan  3 21:50:46 pc2 kernel: [ 5839.519540] em28xx #0 buffer_filled :[ffff8800388b9700/0] wakeup
Jan  3 21:50:46 pc2 kernel: [ 5839.535595] em28xx #0 em28xx_copy_video :Overflow of 4 bytes past buffer end(2)
Jan  3 21:50:46 pc2 kernel: [ 5839.535601] em28xx #0 em28xx_isoc_copy :Video frame 133, length=2576, odd
Jan  3 21:50:46 pc2 kernel: [ 5839.559527] em28xx #0 em28xx_copy_video :Overflow of 1284 bytes past buffer end(2)
Jan  3 21:50:46 pc2 kernel: [ 5839.559531] em28xx #0 em28xx_isoc_copy :Video frame 134, length=2576, even
Jan  3 21:50:46 pc2 kernel: [ 5839.559534] em28xx #0 buffer_filled :[ffff8800388b9300/1] wakeup
Jan  3 21:50:46 pc2 kernel: [ 5839.575562] em28xx #0 print_err_status :URB packet 17, status -71 [Bit-stuff error (bad cable?)].
Jan  3 21:50:46 pc2 kernel: [ 5839.575567] em28xx #0 print_err_status :URB packet 18, status -71 [Bit-stuff error (bad cable?)].
Jan  3 21:50:46 pc2 kernel: [ 5839.575573] em28xx #0 print_err_status :URB packet 21, status -71 [Bit-stuff error (bad cable?)].
Jan  3 21:50:46 pc2 kernel: [ 5839.575575] em28xx #0 print_err_status :URB packet 22, status -71 [Bit-stuff error (bad cable?)].
Jan  3 21:50:46 pc2 kernel: [ 5839.575599] em28xx #0 em28xx_isoc_copy :Video frame 135, length=2576, odd
Jan  3 21:50:46 pc2 kernel: [ 5839.599537] em28xx #0 em28xx_copy_video :Overflow of 1284 bytes past buffer end(2)
Jan  3 21:50:46 pc2 kernel: [ 5839.599541] em28xx #0 em28xx_isoc_copy :Video frame 136, length=2576, even
Jan  3 21:50:46 pc2 kernel: [ 5839.599544] em28xx #0 buffer_filled :[ffff8800388b9500/2] wakeup

Строчки URB packet 7, status -71 как раз совпадают по времени появления с битыми кадрами. Поверхностный поиск по ним результатов не принёс, попадаются лишь фрагменты исходного кода драйверов.

Быть может кто-то сталкивался с аналогичной проблемой. Сообщите, какую ещё информацию нужно предоставить. Буду благодарен за любую помощь!

 ,

TwisteR ()

p910nd долго думает?

Форум — General

Приветствую ЛОР!

Помогите, пожалуйста, определить причину тормознутости печати через роутер (WL500gP v1, dd-wrt.v24_usb_generic.bin) с подключенным к нему HP LaserJet 1200. Одностраничный документ с небольшой картинкой может отправляться на печать 10-20 секунд, в то время как с печатью документов без графики никаких задержек не наблюдается. При этом подключенный напрямую к компьютеру принтер начинает печатать мгновенно, в т.ч. и перегруженные графикой документы.

Разнообразные фильтры и очередь печати обрабатываются CUPS'ом на компе, p910nd просто транслирует данные из сокета в принтер по USB. Что тут может тормозить, понятия не имею...

Особенно интересуют отзывы пользователей, у которых аналогичный роутер выступает в качестве сервера печати - как там со скоростью обработки картинок, тяжёлых PDF'ок?

cast OldWiseCat, i-rinat, vasilenko.

 

TwisteR ()

Посоветуйте читалку

Форум — General

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

Уже пятый год являюсь счастливым пользователем lBook V3+ (одной из первых подобного рода), на которой стабильно и без проблем работает «открытая чернильница», вот ищу отцу что-нибудь подобное. Лбук этот не сильно эргономичный и уже морально устарел (чувствую, на несколько поколений :)). Я мог-бы и сам поискать, но хочется узнать отзывы местной аудитории.

Тивоизированные и напичканные зонтами девайсы просьба не советовать :)

 ,

TwisteR ()

Xid (0000:01:00): 6, PE0001

Форум — Desktop

openSUSE 12.1, проприетарные драйверы из нвидиевского репозитория (последняя доступная версия. Пробовалась так-же версия с сайта 295.53 - без результатов...).

OpenGL vendor string: NVIDIA Corporation                                       
OpenGL renderer string: GeForce 8400 GS/PCIe/SSE2
OpenGL version string: 3.3.0 NVIDIA 295.49

Постоянно мелькает экран, появляются различные артефакты прорисовки (особенно при открытии новых вкладок браузера, прокрутке в редакторах и т.п.). Иногда комп зависает полностью, не помогают ни magic keys ни тем более удалённый вход.

При этом в системных сообщениях появляется строка

NVRM: Xid (0000:01:00): 6, PE0001

Саму видеокарту проверял на разных компах и ОС, она рабочая. Поиски по Интернету дали пару результатов, но там упоминались какие-то другие (хоть и похожие) ошибки, связанные с драйверами nvidia и flash-player (последний у меня не установлен даже). Так-что думаю, что беда в драйвере.

Может у кого-то наблюдаются подобные проблемы? Не везёт мне с дровами на видео катастрофически...

 , ,

TwisteR ()

Исследование потока с китайского видеорегистратора

Форум — Development

Приветствую спецов! Возникла проблемка, надеюсь, смогу тут найти подсказку, в каком направлении копать. Краткая предыстория ниже (осторожно, многобукав).

Задача: вывод куда-нибудь (да хоть в mplayer) видеопотока с дешёвого китайского четырёхканального h264-видеорегистратора с целью просмотра в реальном времени и последующей его записью.

Проблема: регистратор вещает в своём собственном формате. Просмотреть картинки с камер можно только через специальную виндовую прогу (DVRemote.exe) либо через EI7 с какой-то гнилой ботвой на ActiveX. Записываются файлы с него тоже в непонятном и мало изученном (но, как я понял, популярном в подобных регистраторах) формате с расширением .irf. Кругом засада...

Что уже сделано: с помощью wireshark'а на регистраторе обнаружено приложение cgi-bin, которое выдаёт поток, а так-же исследованы его (приложения) параметры. С помощью функции проводной акулы «Follow stream» записаны сеансы общения через 80й порт (на иных портах активности не наблюдалось) между родным ПО и регистратором.

Таким нехитрым образом были обнаружены посылки управления (переключение каналов, управление PTZ и т.д.), разобрать которые не составило труда. Далее отбирались те tcp-потоки, в которых был запрос GET к этому cgi-скрипту и ответ HTTP/1.0 200 OK; Content-type: video/h264. Затем в двоичном редакторе происходило разделение заголовков http и, собственно, потока, получившиеся файлы были сохранены на диск в формате «как есть» (raw) и скормлены mplayer'у. Без особого успеха...

Но в один прекрасный момент был записан фрагмент, в котором видно проскакивающие кадры одной из камер в перемешку с синим video-loss-экраном (два канала не подключены) и сильными помехами (очевидно, следствие подмешивания в поток каких-то служебных данных либо мультиплексирование сигналов со всех четырёх каналов в этот единый поток). Данный фрагмент доступен для загрузки тут, 2.3 мб: http://tfsoft.org.ua/~twister/dvr_captured_sample.h264

Конкретные вопросы: насколько велики шансы за разумный период времени извлечь нормальный видеопоток из этой каши? По сути, всё управление (переключение каналов, управление трансфокатором и фокусом камер) уже есть, осталось лишь картинку получить.

Если я правильно понимаю, мне нужно обнаружить записи Sequence Parameter Set и Picture Parameter Set, чтоб иметь представление о потоке, но как и где их искать? Во внутренностях h264 не шарю почти ничего...

P.S.: Можно, разумеется, выкинуть этот регистратор и использовать pci-плату с выводом видео через video4linux, но для этого нужно будет очень далеко тянуть провода от аналоговых камер (одна из которых весьма специфична  — радиационно-стойкая, потому вариант с заменой на IP-камеры не рассматривается). Да и чисто из спортивного интереса было-бы неплохо решить эту задачку, не так-ли? ;)

 , ,

TwisteR ()

[LibreOffice] О выделении мышкой и Headers/Footers

Форум — General

Приветствую ЛОР!

В последней стабильной версии Writer'а (LibreOffice 3.4.2 OOO340m1 Build:1206 из http://download.opensuse.org/repositories/LibreOffice:/Stable/openSUSE_11.4/) наблюдается странный баг (или фича?): в многостраничном документе с колонтитулами при попытке выделить текст на нескольких страницах процесс выделения грубо прерывается всплывающими маркерами Header/Footer. При выделении текста с клавиатуры подобного не наблюдается.

В меню была замечена опция Правка->Headers/Footers, однако она переключает лишь режимы редактирования и никак не влияет на автоматический (и крайне нежелательный) переход из режима редактирования текста в режим редактирования колонтитулов при выделении текста мышью.

Хотелось бы проверить, есть-ли такой баг у других пользователей. Вот документ, на котором производилось тестирование (однако подойдёт и любой другой многостраничный с колонтитулами).

В дополнение к вышесказанному выкладываю видео, демонстрирующее проблему (1,3 мб).

TwisteR ()

Сборка KDE и проблемы с <sched.h>

Форум — Desktop

Приветствую ЛОР!

Решил на днях в любимой генте собрать @kde-4.7 из оверлея kde. Всё шло прекрасно, пока дело не дошло до ненавистного мне непомука. Нафиг ненужный сервис, которую к моей великой печали пригвоздили намертво к кедам, не желает собираться. emerge --info, build log.

Знаю, сам виноват, что нестабильную версию собираю. Однако решил провести эксперимент. Скопировал в новый файл инклуды и проблемную функцию из nepomuk/servicestub/priority.cpp и попытался его собрать.

Вот что получилось:

#include <iostream>
#include <string.h>

#include <sys/time.h>
#include <sys/resource.h>

#include <unistd.h>
#ifndef _WIN32
#include <sys/syscall.h>
#include <errno.h>

#include <sched.h>
#endif

bool lowerSchedulingPriority()
{
    struct sched_param param;
    memset( &param, 0, sizeof(param) );
    param.sched_priority = 0;
    return !sched_setscheduler( 0, SCHED_IDLE, &param );
}

int main()
{
  std::cout << lowerSchedulingPriority() << std::endl;
  return 0;
}

А вот результат сборки:

$ g++ -o sched_test sched_test.c
sched_test.c: In function 'bool lowerSchedulingPriority()':
sched_test.c:20: error: 'SCHED_IDLE' was not declared in this scope

Что я упускаю? Почему обьявленные в <sched.h> константы и функции не видны в моём файле? Пробовал менять <sched.h> на <linux/sched.h>, тестовый файл собирается и работает, однако с непомуком этот трюк не сработал, появилась другая ошибка: «error: storage size of 'param' isn't known».

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

Быть может, кто-то уже встречался с такой проблемой?

PS: Решил создать тему в этом разделе, а не в Development, т.к. основной задачей является всё-таки собрать кеды, а не ковыряться в дебрях планировщика задач.

TwisteR ()

[pppoe] Вместо внешнего получаю серый...

Форум — Admin

У меня роутер сегодня утром при очередном реконнекте (что-то зачастили они в последнее время) вместо своего внешнего IP получил от прова внутренний о_О после чего с фразой «Unauthorized remote IP address» был послан нафиг...

В чём может быть проблема, если настройки роутера никто не трогал около года?

Вот фрагмент вчерашнего куска лога, когда после реконнекта связь восстановилась нормально. А вот что случилось сегодня. На 27й строке вместо надписи «local IP address 91.200.235.32» видно «local IP address 10.0.0.1» (это, кстати, адрес внутреннего интерфейса, смотрящего в локалку).

И на 9й строке второй sent добавился, это разве нормально?

Топология сети стандартная: инет по pppoe->|eth0 роутер eth1|-> локальная сеть

TwisteR ()

Xorg 1.7, дрова не собираются =\

Форум — Desktop

Всем привет!
Хотел узнать, пробовал ли кто то уже собирать новые иксы в генте? После успешного компила появляется сообщение, что изменилось ABI и нужно пересобрать драйвера (всё, что установлено из категории x11-drivers). Так вот, ни один драйвер не пересобирается (много разношерстных ошибок, не думаю, что стоит приводить их текст, тут что то системное). Либо я что то не верно делаю, либо они изменили не только ABI...

Подскажите пожалуйста, что делать? Кроме отката :)

TwisteR ()

LHC & Java

Форум — Talks

Судя по скринам на http://lhc-injection-test.web.cern.ch/lhc-injection-test/injection-test-summa...
коллайдер мониторит (а возможно и рулит им) софт, написанный на джаве %) Опасносте!

>>>

TwisteR ()

Моя домашняя мастерская :)

Галерея — Скриншоты

Приветствую ЛОР! Это мой первый скрин (точнее фотка) в Галерее, так что сильно не бейте :)

Поддерживаю тенденцию выкладывать фото рабочих мест, ибо в плане скриншотов мне особо показывать нечего =)

Итак, на фотке - домашняя мастерская радиолюбителя (т.е. меня). Этим летом решил заняться изучением архитектуры и возможностей микроконтроллеров в частности и цифровой техникии вообще. Соблюдая свой девиз "Даёшь свободное железо и программное обеспечение!", последнюю неделю разрабатывал и воплощал в жизнь бинарные часы - вдохновился одноименным апплетом KDE :D

В данный момент аппаратная часть готова, занимаюсь написанием и отладкой прошивки.

На десктопе обновляю мир (везде Gentoo), на ноуте - схема часов и, в то же время, мой первый проект в Eagle - решил попробовать в работе новую для себя EDA, до этого использовал gschem + pcb. Под столом домашний сервак/роутер.

С удовольствием послушаю критику анонимусов и всех желающих 8)

>>> Просмотр (1024x768, 212 Kb)

TwisteR ()

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