LINUX.ORG.RU

Избранные сообщения r3lgar

«Как восстановить bluetooth адаптер с обнуленным адресом» или «Боремся с EADDRNOTAVAIL»

Форум — General

Когда то создавал тему :https://www.linux.org.ru/forum/general/13867818?lastmod=1512381418394#comment-13868385 (комментарий)

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

Так вот: решением является временный запуск пропатченного ядра и изменение адреса из-под него.

Патч необходимо накладывать на net/bluetooth/hci_core.c (моя версия ядра 4.10.17)

--- hci_core.c	2017-12-18 20:07:05.814845399 +0200
+++ /usr/src/linux-source-4.10.0/linux-source-4.10.0/net/bluetooth/hci_core.c	2017-02-20 00:34:00.000000000 +0200
@@ -1304,11 +1304,10 @@
 		 * This check is only valid for BR/EDR controllers
 		 * since AMP controllers do not have an address.
 		 */
-		if ((!hci_dev_test_flag(hdev, HCI_USER_CHANNEL) &&
+		if (!hci_dev_test_flag(hdev, HCI_USER_CHANNEL) &&
 		    hdev->dev_type == HCI_PRIMARY &&
 		    !bacmp(&hdev->bdaddr, BDADDR_ANY) &&
-		    !bacmp(&hdev->static_addr, BDADDR_ANY)) && 0 ) {
-			printk("BACMP 1");
+		    !bacmp(&hdev->static_addr, BDADDR_ANY)) {
 			ret = -EADDRNOTAVAIL;
 			goto done;
 		}
@@ -1364,11 +1363,10 @@
 		 * support changing the public address, fail the power
 		 * on procedure.
 		 */
-		if ((bacmp(&hdev->public_addr, BDADDR_ANY) &&
-		    hdev->set_bdaddr) || 1 )
+		if (bacmp(&hdev->public_addr, BDADDR_ANY) &&
+		    hdev->set_bdaddr)
 			ret = hdev->set_bdaddr(hdev, &hdev->public_addr);
 		else
-			printk("BACMP 2");
 			ret = -EADDRNOTAVAIL;
 	}
 

(Просто убрал «подозрительные» проверки корректности адреса перед включением)

Собираем - устанавливаем - запускаем новое ядро - поднимаем интерфейс «hciconfig hci0 up» - меняем адрес - загружаемся в старое ядро - радуемся =)

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

Если возникнут вопросы - с радостью отвечу!

 , , ,

cyber_eagle
()

ssh-тонннель внутри openvpn-тоннеля

Форум — General

Значит такая задачка. Есть 3 машины, назовём их home, vds и work.
home не имеет внешнего ip-адреса, и вроде бы как к нему невозможно должно быть подключаться из Интернета, но с него поднят openvpn-туннель до vds.
vds имеет внешний ip, также с него можно по виртуальной сети, обеспеченной openvpn подключиться к home, но на нём нельзя пробросить порты home во внешний мир, потому как админ сервиса, который предоставляет VDS отключил таблицу nat в ядре.
С work можно подключиться к vds, а с него к home, но не хотелось бы так извращаться, а хотелось бы напрямую с work на home. Как поднять ssh-тоннель для этого, что-то недотумкаю?

 ,

sunny1983
()

XKB. Как создать своё сочетание клавиш

Форум — Desktop

Не могу разобраться, как создать своё сочетание клавиш для выполнения какого-либо действия?
Насколько понимаю, делается это средствами секции Compat, в которой прописываются нужные свойства для комбинаций клавиш. Не могу понять как это работает. Как например сделать, чтобы Alt+Shift активировали третий ряд клавиш?

 ,

Dreamdrawer
()

Git для (не)парнокопытных

Форум — Talks

С котиками и ня. Вот: https://imgur.com/a/fNTbq

Сами решайте что с єтим делать теперь...

 , ,

KennyMinigun
()

TOR и Маршрутизация трафика

Форум — Admin

Недавно пробовал завернуть весь траф в TOR, всё успешно получилось, опирался на эту статью https://cryptopunks.org/article/forward all the traffic to tor/

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

Делал всё на Debian 8.

Спасибо за ответы!

 , ,

xce
()

vsync возможно ли без композитного менеджера ?

Форум — Desktop

Есть железо: intel hd4600. Настройки xorg.conf

Section "Device"
    Identifier  "Card0"
    Driver      "intel"
    BusID       "PCI:0:2:0"
    Option      "TripleBuffer" "true"
    Option      "AccelMethod" "sna"
    Option      "TearFree" "true"
    Option      "DRI" "3"
EndSection

~/.profile

export __GL_SYNC_TO_VBLANK=1
export __GL_YIELD="USLEEP"
set vblank_mode=1
export vblank_mode=1

Если сделать ~/.drirc с содержимым

<driconf>
   <device screen="0" >
      <application name="all">
         <!-- Always synchronize with vertical refresh to avoid tearing -->
         <option name="vblank_mode" value="3"/>
      </application>
   </device>
</driconf>
То glxgears показывает 12к fps. Если удалить .drirc, то glxgears показывает 60fps, но все тузлы в системе(просмотр видео в ютубе, smplayer) показывает, что есть тиринг. Да, если включить compton - то проблем вообще нет, но постоянно задаюсь вопросом, а можно ли без композитного менеджера добиться корректного vsync ?

 , ,

bryak
()

Какой BIOS используете на Thinkpad X220?

Форум — Linux-hardware

Привет, приобрел себе в комплект к T420 (i7-2720QM) — X220 на i5-2540M, прошился патченным биосом 8DUJ26US (1.40) с вики.

У меня для T420 есть биос тоже со всеми плюшками, удаленными вайтлистами для wlan и wan, но также с обновленным видеобиосом от 2014 года, потому как в текущем на X220 от 2011.

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

 ,

Bruce_Lee
()

Замапить LAlt+a/r/s/t на стрелочки

Форум — Desktop

Пробовал через .Xmodmap:

keycode 38 = a A a A Left Left Left Left

Не работает.

В /usr/share/X11/xkb/symbols/us как я понял есть только AltGr мапы.

Еще попробовал: xmodmap -e «keycode 38 mod1 = a Left». Ничего не меняется. С перестановкой: xmodmap -e «keycode 38 mod1 = Left a», a начинает вести себя как стрелка влево, ALT+A тоже.

Если что xmodmap -pm выдает mod1 как Alt_L (0x40), Meta_L (0xcd)

Система: ArchLinux.

Что делать?

 , , ,

Deleted
()

MakiseGUI — свободная библиотека графического интерфейса для микроконтроллеров

Новости — Разработка
Группа Разработка

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

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

>>> GitHub

>>> Подробности работы, видео, примеры кода

 , , , ,

SL_RU
()

Автоматическое копирование на флешку

Форум — Desktop

Добрый день.

Хочу сделать так, чтобы при втыкании флешки в комп на нее автоматически копировалось содержимое каталога из моей домашней папки (музыка и подкасты). Для этого, как я понимаю, нужно использовать связку udev + systemd.

carmusic.service в /etc/systemd/system/:

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

/etc/udev/rules.d/95-carmusic.rules:

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

В самом скрипте /usr/local/bin/car_music тупо команда копирования (cp -r с путями). Запускаю скрипт - работает. Запускаю сервис systemctl start carmusic при смонтированной флешке - работает. Компьютер не перезагружается неделями (без особой на то причины, просто так сложилось). ОС - Fedora 24 x64 Gnome.

Подскажите, пожалуйста, что я делаю не так.

 , ,

kemechedzhiev
()

Luks, usbkey, fallback to passphrase

Форум — Admin

Добрый день.

Речь про Debian Jessie, хотя тема может быть актуальной и для других дистрибутивов (ubuntu?).

Настроено шифрование корневого раздела (LUKS). Хочется, что бы расшифровка выполнялась с флэшки, а если она не вставлена - то при помощи ввода пароля.

Проблема в том, что работает или запрос пароля или использование ключа с флэшки.

Запись в /etc/crypttab сейчас такая (UUDI'ы заменил на точки, разрывы строк добавлены для удобочитаемости):

crypt_md0p5 UUID=..... \
/dev/disk/by-uuid/.....:/luks.key \
luks,noauto,keyscript=/lib/cryptsetup/scripts/passdev

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

Хочется найти решение без использования сторонних скриптов (т.е. средствами из дистрибутива).

 , ,

Harliff
()

Как грамотно закрыть остальным пользователям доступ к своим файлам?

Форум — Desktop

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

Я знаю про команду

chmod -R o-rw /home/vsevolod
, но ведь помимо пользователей-людей есть пользователи-демоны, причем многие из последних полезны. Не будет ли данная команда иметь негативные последствия?

 

Vsevolod-linuxoid
()

Чтение в массив из stdin

Форум — Admin

Здравствуйте!

Например:

declare -a a
echo -n {1..3} | xargs -n 1 | mapfile a
echo ${a[@]}

Не работает.
echo -n {1..3} | xargs -n 1 | /usr/bin/read -a a
echo ${a[@]}

Так же не работает.
mapfile a
1 
2 
3
^D
echo ${a[@]}
1 2 3
echo ${a[1]}
2
Работает.

Что я делаю не так?

 , ,

Cave-Canem
()

Qemu kvm мост macvtap ethernet mikrotik

Форум — General

На хостовой машине установлена Arch linux. Qemu собрал из git. На машинке 4 сетевухи, которые пробрасываю macvtap в гостя. Гостем выступает mikrotik. Соответственно в микротике вижу 4 интерфейса и трафик от них уходит и приходит во внешку, но хост и гость друг друга не видят. Так и должно быть, судя по официальной документации. Задача сделать мост, чтобы гость и хост друг друга видели и трафик внешний проходил в гостя. Пробую сделать один виртуальный tap интерфейс и классический мост над физикой ethernet и tap. Остальные сетевушки в виде macvtap.

ip link add name br0_home type bridge
ip link set address 00:42:43:af:00:30 br0_home up
ip addr add dev br0_home 192.168.17.2/24
brctl addif br0_home eth0
ip link set eth3 up
ip tuntap add dev macvtap0 mode tap
ip link set macvtap0 address 00:42:43:af:00:70 up
brctl addif br0_home macvtap0

ip link set ethХ up
ip link add link ethХ name macvtapХ type macvtap
ip link set macvtapХ address 00:42:43:af:00:7Х up

При такой настроке eth0 хоста должет быть в мосту с tap0, который на микротике eth0. Соответственно даю им адреса из одной подсети (адрес на br0_home и на eth0 на микротике). При этом со стороннего компьютера, подключённого к eth0 хоста кабелем хост пингуется, а микротик нет. Но по мак-адресу зайти на микротик можно, и делать различные настройки. С микротика хост пингуется, а дальше пинги не проходят. В чём может быть проблема? Netctl в archе отключил. Сеть при запуске настраивается скриптом.

 , , ,

hardd
()

awk, как корректно экранировать внутреннюю переменную?

Форум — General

В regexp'ах awk'а при работе с шелл-переменными можно сделать, например, так:

awk '/'$1'/{bla}'


При этом конструкция вида

awk '/^'$1'/{bla}'


будет работать. Как то же самое сделать для внутренней переменной? Т.е., есть у нас некий var. Как мне сделать

awk '/^var/{bla}'


Для поиска соответствия внутренней переменой обычно предлагаются варианты в стиле $0 ~ var, но мне нужно более точное соответствие. Собственно, сабж.

 

YAR
()

Отлов сессии su/sudo

Форум — General

Вот мне интересно стало, можно ли из bash скрипта отловить факт того, что пользователь уже раз заходил в систему и теперь меняет пользователя? Меня не привилегии интересуют, а именно факт того, что текущая интерактивная сессия открыта через

su или sudo -i?

(Ну я имею ввиду более человеческий способ, чем парсить выхлоп ps axf.)

 , ,

atrus
()

XOR для N переменных

Форум — Admin

Собственно сабж.

Сделал так:

function XORN()
{
	a=0
	while (($#)); do
		(( a = a + ! ! ${1} ))
		shift
	done
	echo $((( a = a % 2 )))
}

Работает, но интуитивно чувствую, что можно изящнее.

Как?

 ,

Cave-Canem
()

Самый простейший и легковесный http-сервер?

Форум — Admin

Какой простейший и самый легковесный HTTP сервер вы можете посоветовать? Чтобы никаких лишних примочек, никакой поддержки интерпретаторов. Чтобы умел только показывать файлы и содержимое директории и занимал минимум памяти. Хочется воткнуть такой на Raspberry Pi.

 , ,

Rinaldus
()

Есть ли в nix* НЕ построчный потоковый редактор?

Форум — Development

насколько я понимаю, например в sed я не могу бескостыльно сматчить паттерны вне зависимости от строк? То есть, строки содержащие паттерн я могу сматчить как то так sed -rn '/foo/p' file, а чтобы сматчить отдельные слова мне нужно это делать уже через реплейс. Или, допустим, я захотел сматчить блок текста независимый от строк и переносов. В общем, как обычно работает match в языках программирования, есть такой инструмент?

 , ,

linearisation
()

Lenovo thinkpad x220 refubrished

Форум — Linux-hardware

Хой, я до сих пор не могу определиться с ноутбуком для поездок. Мне нужен только емакс, офис и браузер.

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

Хотел купить acer travelmate tmb117, у него относительно прочный корпус и главное, что зарядку держит реально 10 часов. Но как получил деньги - ноутбук сразу исчез с прилавков магазинов - я даже заценить не успел.

Мне очень нравиться Lenovo thinkpad x220 и подобные ленововские машинки, но покупать БУ я не хочу более чем совсем, а refubrished с ебая - боюсь.

Кто реально заказывал рефабрешенный х220 и подобные с ебэя. В чём могут быть подводные камни и тд. Подскажите, а то замучился выбирать, хотя выбирать даже не из чего =с

 , ,

SL_RU
()