LINUX.ORG.RU

Сообщения intelfx

 

USB LED контроллер/драйвер

Форум — Linux-hardware

Добрый вечер.

Не подскажет ли кто-нибудь, где купить / как сделать драйвер 3.3-вольтового светодиода с USB-интерфейсом, чтобы с точки зрения ядра Linux он выглядел как LED-устройство с кастомным именем (/sys/class/leds/)?

Убервысокие токи не нужны, это будет подсветка клавиатуры.

 , ,

intelfx
()

Чтение звукового файла с «правильной» скоростью

Форум — Development

Добрый вечер.

Мне нужно сэмулировать в рамках одной программы весь аудиостек: считать звуковой файл (для определённости несжатый, т. е. WAV PCM или как оно там) и «воспроизвести» с корректной скоростью, т. е. 1 сэмпл в 1/F секунд, где F — частота дискретизации. Под воспроизведением понимается вызов некоторой функции на каждый сэмпл, т. е. это не воспроизведение через звуковую карту.

Если считать, что «воспроизведение» одного сэмпла уже написано, как реализовать считывание и нужные задержки между сэмплами? Временем обработки одного сэмпла, насколько понимаю, пренебречь нельзя, т. е. sleep(1/f) не сработает.

(На самом деле не воспроизвести, а моргать лампочками через USB-реле.)

 

intelfx
()

Собрать u-boot (ARM) тулчейном с hard float

Форум — Development

...возможно ли? U-Boot 2013.10, архитектура — armv7.

Если собирать с USE_PRIVATE_LIBGCC=yes:

drivers/mmc/libmmc.o: In function `mmc_berase':
/home/operator/u-boot/drivers/mmc/mmc_write.c:76: undefined reference to `__aeabi_uldivmod'
/home/operator/u-boot/drivers/mmc/mmc_write.c:76: undefined reference to `__aeabi_uldivmod'
ld.bfd: error: required section '.rel.plt' not found in the linker script
ld.bfd: final link failed: Неверная операция

Если без этого ключа:

ld.bfd: ошибка: /usr/lib/gcc/armv7l-unknown-linux-gnueabihf/4.8.2/libgcc.a(bpabi.o) использует регистровые аргументы VFP, а u-boot не использует
ld.bfd: failed to merge target specific data of file /usr/lib/gcc/armv7l-unknown-linux-gnueabihf/4.8.2/libgcc.a(bpabi.o)
ld.bfd: ошибка: /usr/lib/gcc/armv7l-unknown-linux-gnueabihf/4.8.2/libgcc.a(_divdi3.o) использует регистровые аргументы VFP, а u-boot не использует
ld.bfd: failed to merge target specific data of file /usr/lib/gcc/armv7l-unknown-linux-gnueabihf/4.8.2/libgcc.a(_divdi3.o)
ld.bfd: ошибка: /usr/lib/gcc/armv7l-unknown-linux-gnueabihf/4.8.2/libgcc.a(_udivdi3.o) использует регистровые аргументы VFP, а u-boot не использует
ld.bfd: failed to merge target specific data of file /usr/lib/gcc/armv7l-unknown-linux-gnueabihf/4.8.2/libgcc.a(_udivdi3.o)

Эта сборка велась прямо на целевой машине (ArchLinuxARM, gcc 4.8.2).
Если собирать на x86 кросс-тулчейном от Linaro (2013.08, gcc 4.8.2) — то же самое.
Если взять crosstool-ng и собрать не-hardfloat тулчейн с последними версиями всего, а потом собрать им — полученный бинарник работать не будет.

ЧЯДНТ?

 , ,

intelfx
()

Управление мощной нагрузкой по USB (реле?)

Форум — Linux-hardware

Возникла необходимость при помощи компьютера коммутировать четыре канала нагрузки с напряжением ~30В и током до 1A (частота изменения управляющего сигнала <= 10 Гц). Я бы приобрёл готовый модуль USB-реле, но дорого (нужно для школьного выпускного, а тратить 2K на это дело нет ни возможности, ни желания). Есть идеи с BOM <= 1K?

Linux тут при том, что управлять будем с него.

 , ,

intelfx
()

Посоветуйте ARM-машинку для файлопомойки/торрентокачалки/медиацентра

Форум — Linux-hardware

Очередной посоветуй-тред.

Preamble:
Сейчас имеется CuBox, но поддержка апстримом всех нетривиальных функций (GPU, VPU, HDMI, звук) либо отсутствует, либо зачаточна, а поставить кривоблоб от Marvell у меня не получилось.

Отсюда — посоветуйте какую-нибудь другую машинку. Задачи:

  • файлокачалка
  • медиацентр

Требования к железу:

  • ARMv7, NEON, etc + аппаратный медиадекодер (VPU)
  • HDMI или что-нибудь, приводимое к HDMI
  • звук через S/PDIF (оптика, коаксиальный — нет разницы)
  • eSATA или USB 3
  • Гигабитный Ethernet
  • опционально — IR-приёмник
  • опционально — cpufreq, cpuidle и прочее энергосбережение

И самое главное — чтобы это всё поддерживалось апстримом линукса или имело безгеморройные блобы (как у nvidia), которые можно завести на апстриме линукса.

Вариант «подождать N месяцев, пока запилят для CuBox-а» рассматривается как запасной.

 , ,

intelfx
()

Списко- или вектороподобная структура данных в ядре

Форум — Development

Добрый день.

Речь идёт о коде в ядре. Мне нужна структура данных для хранения массива пар целых чисел (8 или 16 байт на элемент). Требования такие:

  • нужно добавлять элементы
  • нужно сравнительно быстро объединять две таких структуры
  • нужно уметь сортировать элементы — можно при добавлении, можно отдельно после добавления всех элементов

Мне приходит в голову разве что связный список с выделением памяти через kmem_cache.

 ,

intelfx
()

systemd: шаблонные юниты с двумя параметрами

Форум — Desktop

Собственно, возможен ли сабж?

Чуть поясню задачу. У меня десктопная сессия управляется через systemd --user. Есть юнит graphical@.target, который в качестве параметра принимает иксовую $DISPLAY. У него в .wants лежат все юниты, которые я хочу запускать вместе с сессией:

$ ls -1 graphical@.target.wants/
akonadi@.service
baloo@.service
bluedevil@.service
compton@.service
dropbox@.service
kdeinit@.service
klipper@.service
tmux@.service
xbindkeys-user@.service

(У этих юнитов не указан параметр; это означает, что они его «наследуют» от graphical@.target, т. е. graphical@:0.target запустит akonadi@:0.service.)

Я хочу написать юнит, который будет посредством длинного dbus-вызова загружать KDE-шный модуль с указанным именем (/usr/bin/dbus-send --session --type=method_call --dest org.kde.kded /kded org.kde.kded.loadModule string:$SERVICE).
Очевидно, что это будет юнит, параметризованный по имени модуля, но ему нужен ещё и номер дисплея, причём унаследованный от graphical@.target.

Есть идеи? sudo cast plm, т. к. видел у тебя на гитхабе коллекцию юнитов...

 ,

intelfx
()

kpartsplugin для Chromium/Chrome (PPAPI)

Форум — Desktop

Есть такая вещь, как KParts Plugin. Это NPAPI-совместимый (т. е. файрфокс-совместимый) плагин, который позволяет встраивать некоторые KDE'шные программы прямо в браузер и с их помощью открывать соответствующие типы файлов.

Так вот. Поскольку хром с недавнего времени (конкретно с момента перехода на Aura) окончательно выпилил у себя поддержку NPAPI, спрашиваю у хайвмайнда ЛОРа: есть ли что-то подобное для PPAPI?

 , ,

intelfx
()

Какой линукс вы бы поставили на такое железо: Vol. 2

Форум — General

Тут вот люди спрашивают, какой дистрибутив ставить на SNB.

А я спрошу, какое DE/WM/оболочку лучше поставить на Athlon XP (тактовая — 1100 MHz) с 512 MiB оперативной памяти.
Компьютер общественный, поэтому требуется интуитивно понятная среда (а не awesome). Да, речь не о дистрибутиве.

Юзкейс: общественный компьютер в школьной читалке-боталке.

intelfx
()

...and high iowait times (тормоза при копировании на медленное устройство)

Форум — General

Существует такая проблема. Например, я копирую файл с локального диска (или делаю cat /dev/urandom) в расшаренную по NFS директорию, скорость обмена данными с которой — 1 MiB/s. Или на флешку, скорость записи на которую — 10 MiB/s.

Так вот, первый ~гигабайт данных записывается со скоростью, явно превышающей пропускную способность канала — около 100 MiB/s (у меня SSD). Дальше скорость падает до нуля, одно ядро оказывается 100% занято io-wait, все процессы поочерёдно падают в состояние D и системе приходит каюк примерно до момента окончания записи файла (если соединение не рвётся раньше).

Что делать, куда копать? Симптомы похожи на 12309, только хуже и это не оно.

  • 3.13.1-pf
  • BFQ
  • vm.dirty_ratio = 60
    vm.dirty_background_ratio = 10
    

 , ,

intelfx
()

x86: почему CISC-команды медленнее?

Форум — Development

Неоднократно слышал, что:

  • leave медленнее, чем
    mov esp, ebp
    pop ebp
    
  • enter N, 0 медленнее, чем
    push ebp
    mov ebp, esp
    sub esp, N
    
  • stosd медленнее, чем
    mov [es:edi], eax
    add edi, 4
    
  • repne scasb медленнее, чем наивный strchr()

и так далее.

Вопрос: почему? Не похрен ли, одна команда развернётся в 10 микроопераций или четыре команды развернутся в столько же? В первом случае даже нагрузка на декодер меньше.

 ,

intelfx
()

Upstart v. systemd (v. everything else), третий раунд

Форум — Talks

Let's do it once again.

https://lists.debian.org/debian-ctte/2014/02/msg00281.html

Bdale Garbee, председатель технического комитета, не согласился с предложением Ian Jackson'а подождать ещё недельку, чтобы все смогли высказать свои предложения, и запустил третье по счёту голосование.
Стоит отметить, что на этот раз голосование не решает вопрос о возможности пакетов требовать конкретные init-системы.

И Bdale, и Russ Albery уже проголосовали, показав одинаковые предпочтения (в порядке убывания):

  • systemd
  • upstart
  • openrc
  • sysvinit
  • дальнейшее обсуждение

 , ,

intelfx
()

Upstart v. systemd, второй раунд

Форум — Talks

Господа, second act in the theatre of madness.

https://lists.debian.org/debian-ctte/2014/02/msg00091.html

Для Ъ: технический комитет Debian опять голосует. Steve Langasek уже успел выразить недовольство внезапным началом голосования.
Забавно, что объявил повторное голосование Ian Jackson, ранее выдвигавший по первому голосованию точно такие же претензии по поводу неожиданного его начала.

 , ,

intelfx
()

Как корректно убить lightdm?

Форум — Desktop

Есть LightDM с кастомным скриптом session-wrapper. Это который Xsession.
В моём случае он делает некоторые подготовительные операции, запускает DE/WM, ждёт его завершения и делает ещё кое-что. Последняя часть ещё и повешена trap'ом на SIGTERM/SIGHUP. Выглядит это так:

#!/bin/bash

function prepare_session() {
...
}

function stop_session() {
...
}

prepare_session
trap stop_session EXIT TERM HUP

"$HOME/.xsession"

Соответственно, stop_session выполнится даже в том случае, если LightDM будет убит целиком и полностью и со всеми потомками.
Однако, хочется сделать так, чтобы stop_session выполнялся при живом X-сервере. А именно:

  • убить Xsession (и всех его потомков; это не важно)
  • подождать завершения
  • убить X-сервер и LightDM

Вопрос - как это сделать?

 

intelfx
()

Гонка между systemd-vconsole-setup и загрузкой модуля видеоадаптера (i915)

Форум — General

Как известно, при регистрации нового драйвера фреймбуфера сбрасываются все прежние настройки фреймбуфер-консоли, в частности, загруженный шрифт и прочее. Следовательно, возникает необходимость запускать systemd-vconsole-setup.service строго после загрузки модуля i915, который заменяет VESA-фреймбуфер на собственный.

Вопрос - как это сделать? «Из коробки» мы имеем гонку между udev и указанным сервисом.

Что пробовал:

  • Wants=systemd-udev-settle.service
    After=systemd-udev-settle.service
    
    Недостатки: медленный запуск и костыльно, т. к. settle не рекомендуется к использованию.
  • After=systemd-modules-load.service
    
    И «/etc/modules-load.d/i915.conf» с содержимым «i915».
    Недостатки: у меня modules-load достаточно много всего подгружает, и в такой ситуации это опять же тормозит запуск системы.

Тег «fedora» здесь потому, что у Fedora вроде бы pure systemd boot, и наверняка эта проблема кому-нибудь уже встретилась.

 , , ,

intelfx
()

Почему ещё не было опроса «sysvinit vs systemd»?

Форум — Talks

Я вот подумал. Собственно, а почему ещё никто не провёл глобальный опрос ЛОРовцев на такую животрепещущую тему, как systemd vs. sysvinit (openrc, upstart, etc)? А то все друг друга обзывают маргиналами и пятью процентами, не утруждаясь подтверждением своего мнения.

Было бы интересно. И комментарии запретить нафиг.

 , ,

intelfx
()

Приступ сочинизма

Форум — Talks

$subject. Пародия на Dethklok - Murmaider.

There are no hinges in your new hardware
Nothing to tie screen to the case
And if you seek recovery
All you need are instruments in hands

You need your
Knifes... Check
Threads... Check
Tweezers... Check
Cutters... Check
Screwdriver... Check
Microdrill... Check
Solvents... Check
Spare parts... Check

Hardwarer [x16]

But beware
For when you assemble back your hardware
Demons will seek damage on it
And they won't rest
Until it is dead

They'll have their
Cracks... Check
Twists... Check
Missing parts... Check
Diversions... Check
Subject... Check
Location... Check
Desire... Check
Damage... Check

Hold your breath
Solder, strain
Smell the flux
Can't escape
Vapor clouds and drifts away
Attracts the murderers of hardware
It's so late
They all know
What you've done
You can't run
Repair is the law for thee
Tip at four hundred degrees

You've been tracked
You've been seen
Soldering the broken pin
Patch its heart
Hands in blood
Clean the board from blackened mud
Fix the cracks
Welds inside
Heart beats faster, don't errate
In the end they will beware
You have repaired the hardware

Hardwarer [x16]

Welds... Check
Joints... Check
Solder... Check
Flux... Check
Gas... Check
Torch... Check
Hardware... Check
Repair... Check

Repair
Repair
Hardware repair

Repair
Repair
Hardware repair

(повтор III куплета)

 , , ,

intelfx
()

Шрифты для десктопа

Форум — Desktop

А посоветуйте какой-нибудь шрифт для GUI.
Требования - чтобы full hinting не был как дерьмо (следовательно, чтобы libreoffice не был как дерьмо).

  • Раньше был на Myriad Pro (IMHO лучший из перечисленных), но там full hinting именно такой, какой не хотелось бы
  • Droid Sans не нравится
  • Сейчас на PT Sans

 ,

intelfx
()

Энергопотребление ноута на SNB

Форум — General

Начиная с ядра 3.3, мой ноут (Acer 3830 - Core i5/Sandy Bridge, HD3000+GT540M) начал жрать в idle 10-12W вместо 6-7W.

RC6pp включено, intel_idle/intel_pstate тоже, дисковая подсистема настроена и вообще представляет собой SSD, энергосбережение звука (HDA, Conexant) и WLAN (ath9k) работает - но никакого толку.
Вот только что по совету smilessss собрал себе 3.11 (reiser4, ах, reiser4) со включенным workqueue power efficient mode - и всё равно лицезрею 10W.

Никто не знает, что можно сделать? Откатываться на 3.3 не желаю.

 ,

intelfx
()

Фрагментация разных ФС

Форум — Desktop

Хотелось бы услышать от имеющих опыт в выборе ФС, как сейчас обстоит дело с фрагментацией файлов в распространённых линуксовых файловых системах? В частности, насколько быстро растёт уровень фрагментации (и насколько это сказывается на производительности на практике) и чем его можно понизить, кроме лишнего диска такого же объёма и mkfs.

Интересуют такие системы, как ext2/3/4, reiserfs v3, xfs, btrfs, zfs.

 ,

intelfx
()

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