LINUX.ORG.RU

Сообщения a400k4a

 

Посоветуйте WiFi модем

Форум — Linux-hardware

С нормально работающим монитором и инжекцией в формфакторе M2. Из актуальных на текущий момент или не очень старых. Наверно, лучше atheros, но не ath10k, т.к. поддержки инжекции нет. В идеале еще поддержку 5/10 МГц бы..

 ,

a400k4a
()

ath10k 5/10MHz

Форум — Linux-hardware

Есть модуль на QCA9377, надо режим monitor и поддержку 5/10 МГц, оно же quarter/half rate. Монитор, как выяснил, поддерживают не все firmware. Ну ок, подобрал нужное. С 5/10 МГц сложнее. Драйвер пропатчил, как предлагается вот тут. Выставить полосу драйвер дает, но в реальности не работает, полоса не меняется. Проверяю, слушая ubiquiti, который умеет 5/10 МГц. Думаю, что дело в firmware, решил поискать подходящее, поискал тут и тут, собрал такую коллекцию:

firmware-5.bin_CNSS.TF.1.0-00267-QCATFSWPZ-1    Monitor+ BW-
firmware-5.bin_WLAN.TF.1.0-00002-QCATFSWPZ-5    Monitor-
firmware-5.bin_WLAN.TF.1.0-00023-QCATFSWPZ-1    Monitor-
firmware-5.bin_WLAN.TF.1.0-00267-1              Monitor+ BW-
firmware-6.bin_WLAN.TF.2.1-00014-QCARMSWP-1     Monitor-
firmware-6.bin_WLAN.TF.2.1-00016-QCARMSWP-1     Monitor-
firmware-6.bin_WLAN.TF.2.1-00021-QCARMSWP-1     Monitor-

В результате монитор работает только на двух, а 5/10 так и не получил. Может, проблема не в firmware? Почему думаю, что должно как-то работать - нашел статью, где упоминается возможность и как раз этот чипсет, но там без подробностей..

 ,

a400k4a
()

GTK настроить стиль меню

Форум — General

Есть такой интерфейс: https://wdho.ru/7l44 Залил так, потому что не знаю, как вставить картинку (видимо, никак). Вопрос! Как сделать выделенный пункт меню читаемым, т.е. сменить цвет с белого на нормальный? Вот gtkrc: https://wdho.ru/7l48 Пытался его ковырять, но безуспешно

 

a400k4a
()

Собрать проект под старую Ubuntu

Форум — Development

Есть сервер, который работает на Ubuntu 16.04, понадобилось мне обновить на нем старый проект. У меня Ubuntu 20.04. Стал я проект пересобирать, а версии библиотек не совпадают.

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

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

 

a400k4a
()

Прилетает SIGABRT

Форум — Development

Есть некий софт, он вполне себе нормально работает, но иногда ему прилетает SIGABRT. Прилетает редко, примерно раз в месяц. Надо это отловить. Повесил обработчик на SIGSEGV и SIGABRT, в обработчике запускаю backtrace, даже собрал альтернативу утилите addr2line, так что при падении в лог пишется не просто текущий стек с адресами, а полностью вижу имя функции и строку, где произошло падение. Проверяю разными способами: посылка сигнала, повторный вызов free(), обращение по нулевому адресу, вызов abort(), бесконечная рекурсия. Везде приходит соответствующий сигнал, программа падает, в логе все выдается как надо.

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

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

Почему на реальном SIGABRT backtrace падает, хотя на тестовых ошибках падение вполне нормально отлавливается? Как еще может прийти аборт, если я в софте не юзаю ни abort(), ни assert()? Еще вариант - вызов abort() из какой-то либы, но почему-то не получить backtrace..

 

a400k4a
()

mysql: 1500 раз INSERT и segfault!

Форум — Development

Делаю mysql_query() в цикле, надо вставить несколько тысяч строк. Где-то после 1500 запроса - падение. Запрос простейший - INSERT в таблицу из Id и Int. Закомментировал mysql_query() - все норм. Если делать 1, 10, 100 запросов - тоже норм. Если делать ничего не значащие запросы типа SET CHARSET … - работает. То есть падает именно когда много раз вызовешь mysql_query(INSERT…).

dmesg:

segfault at f365be85 ip 00000000f71a592e sp 00000000f63abd7c error 4 in libc-2.23.so[f712f000+1b0000]

libmysqlclient18. Все вызовы защищены мьютексами, да и работает пока только один поток. Это баг в либе, или что тут не так?

 ,

a400k4a
()

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

Форум — Admin

Есть два физических интерфейса, например, eth0 и eth1. Юзер подключается к eth0, я ему раздаю ip, включаю маскарадинг на eth1, и он из-под NAT выходит в инет через этот eth1. Тут вопросов нет.

Я хочу этот трафик обрабатывать, протаскивать все пакеты через свой процесс и иногда кое-что в этих пакетах менять. Как это сделать? Попробовал сделать так: написал софтину, которая поднимает два tap интерфейса, tap0 и tap1, внутри пока что просто читаю из tap0 и пишу в tap1 и наоборот (дальше надо будет разбирать и модифицировать). Мне надо заставить пакеты ходить так: eth0 - (tap0 - tap1) - eth1.

Сделал:

ifconfig tap0 192.168.100.1
ifconfig tap1 192.168.200.1
ip route add <адрес внешнего сервера> via 192.168.100.1
iptables -t nat -A POSTROUTING -o tap0 -j MASQUERADE

Теперь пакеты идут через мой tap0, но во внешнюю сеть они не уходят. Точнее, идут только ARP запросы, ответов нет, на этом все заканчивается. Как мне заставить пакеты идти с tap1 в eth1?

Может быть, есть более адекватный способ эту задачу решить, но еще раз, внимание! Мне надо не просто пробросить трафик, а иметь возможность делать некую произвольную модификацию пакетов, т.е. только лишь средствами iptables тут не обойтись. Или обойтись? В iptables не силен..

 ,

a400k4a
()

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