Loess.ru

having fun

Reanimation of P6T freezed on «press Del to enter setup…»

Asus P6T LGA1366 Intel® X58 ICH10R +i7 940

Характерные признаки:
зависает на splash-screen «press Del to enter setup…», не отвечает на кнопку выключения, экран работает
не отвечает на клавиатуру, но при этом есть +5vusb
нет num-lock
греется южный мост
POST 38

Лечить так:
Качаем последний биос с сайта Asus, качаем AMIBCP337.exe, открываем BIOS в программе
Во вкладке Advanced -> USB Config — > USB Functions устанавливаем в DISABLED на обоих режимах. Сохраняем рядом с оригиналом.
Вынимаем SPI flash MX25L1605D из кроватки, суём в программатор (например, CoRight USB Programmer)

Родным софтом программатора делаем бэкап биоса из флешки, стираем, записываем последний биос с сайта Asus. Ставим флешку в MoBo и проверяем зависание на POST 38.
Если зависло — прошиваем изменённым биосом (USB Functions — DISABLED), проверяем
Если опять зависло — можно попробовать отключать Onboard Devices

Второй метод: прошить на такой же, но рабочей матери, благо кроватка позволяет

по мотивам https://www.rom.by/forum/AsRock_G31M-VS

Блог поехавшей шизотерички

1. Красивая картинка из книги русских сказок, которая была у меня в детстве:
Это так Василиса Прекрасная возвращается домой от Бабы-Яги

2. «Кто придумывал русские сказки?» Натягивание совы на глобус, но читать интересно:
https://assalam786.livejournal.com/538.html

3. Фэн-Шуй:
https://assalam786.livejournal.com/92809.html

4. Viktor Schauberger — физику не учи, вечные двигатели — строй:
The Secrets of Water, The Documentary of Viktor Schauberger «Comprehend and Copy Nature»

Базовые инструменты для трассировки приложений в Linux

$ strace -e trace=open,access -o strace.log uname

$ strace -e trace=read,write -p <PID>

классы вызовов: file, process, network, signal, ipc, <etc, etc>:

-e trace=network (Trace all the network related system calls.)
-e trace=signal (Trace all signal related system calls.)
-e trace=ipc (Trace all IPC related system calls.)
-e trace=desc (Trace all file descriptor related system calls.)
-e trace=memory (Trace all memory mapping related system calls.)
(https://stackoverflow.com/questions/7482076/how-does-strace-connect-to-an-already-running-process)

Опции strace:
-i — выводить указатель на инструкцию во время выполнения системного вызова;
-k — выводить стек вызовов для отслеживаемого процесса после каждого системного вызова;
-o — выводить всю информацию о системных вызовах не в стандартный поток ошибок, а в файл;
-q — не выводить сообщения о подключении о отключении от процесса;
-qq — не выводить сообщения о завершении работы процесса;
-r — выводить временную метку для каждого системного вызова;
-s — указать максимальный размер выводимой строки, по умолчанию 32;
-t — выводить время суток для каждого вызова;
-tt — добавить микросекунды;
-ttt — добавить микросекунды и количество секунд после начала эпохи Unix;
-T — выводить длительность выполнения системного вызова;
-x — выводить все не ASCI-строки в шестнадцатеричном виде;
-xx — выводить все строки в шестнадцатеричном виде;
-y — выводить пути для файловых дескрипторов;
-yy — выводить информацию о протоколе для файловых дескрипторов;
-c — подсчитывать количество ошибок, вызовов и время выполнения для каждого системного вызова;
-O — добавить определённое количество микросекунд к счетчику времени для каждого вызова;
-S — сортировать информацию выводимую при опции -c. Доступны поля time, calls, name и nothing. По умолчанию используется time;
-w — суммировать время между началом и завершением системного вызова;
-e — позволяет отфильтровать только нужные системные вызовы или события;
-P — отслеживать только системные вызовы, которые касаются указанного пути;
-v — позволяет выводить дополнительную информацию, такую как версии окружения, статистику и так далее;
-b — если указанный системный вызов обнаружен, трассировка прекращается;
-f — отслеживать также дочерние процессы, если они будут созданы;
-ff — если задана опция -o, то для каждого дочернего процесса будет создан отдельный файл с именем имя_файла.pid.
-I — позволяет блокировать реакцию на нажатия Ctrl+C и Ctrl+Z;
-E — добавляет переменную окружения для запускаемой программы;
-p — указывает pid процесса, к которому следует подключиться;
-u — запустить программу, от имени указанного пользователя.

ldd — показывает список совместно используемых библиотек ELFфайла

$ cat ~/script.sh
while inotifywait -e modify \
/var/log/apache2/error.log;
do
tail -1 /var/log/apache2/error.log | \
notify-send "Apache needs love!"
done

incrontab:
Формат заданий:
<путь> <событие> <команда> (с разделением через пробел)

Самые интересные события:
IN_ACCESS — файл был прочитан
IN_ATTRIB — изменились метаданные файла/каталога
IN_MODIFY — файл был изменен
IN_CREATE — файл или каталог был создан в отслеживаемой директории
IN_DELETE — файл или каталог был удален в отслеживаемой директории
IN_DELETE_SELF — отслеживаемый файл или каталог был удален
IN_MOVE — файл был перемещен из отслеживаемого каталога или в него
IN_ALL_EVENTS — все события
В описании команды можно использовать внутренние переменные. Самые полезные:

$@ — полное имя отслеживаемого файла/каталога
$# — относительное имя файла, вызвавшего событие (только при мониторинге каталога)
$% — название события

https://xakep.ru/2011/01/13/54477/ (pdf)

более современные инструменты:
https://github.com/iovisor/bcc/blob/master/docs/tutorial.md
BCC is a toolkit for creating efficient kernel tracing and manipulation programs, and includes several useful tools and examples. It makes use of extended BPF (Berkeley Packet Filters), formally known as eBPF, a new feature that was first added to Linux 3.15. Much of what BCC uses requires Linux 4.1 and above.

Wireguard VPN added to 5.6 kernel

https://www.opennet.ru/opennews/art.shtml?num=52636

Представлен знаковый выпуск VPN WireGuard 1.0.0, который отметил собой поставку компонентов WireGuard в основном составе ядра Linux 5.6 и стабилизацию разработки. Включённый в состав ядра Linux код прошёл дополнительный аудит безопасности, выполненный независимой фирмой, специализирующейся на подобных проверках. Аудит не выявил каких-либо проблем.

Напомним, что VPN WireGuard реализован на основе современных методов шифрования, обеспечивает очень высокую производительность, прост в использовании, лишён усложнений и хорошо зарекомендовал себя в ряде крупных внедрений, обрабатывающих большие объёмы трафика. Проект развивается с 2015 года, прошёл аудит и формальную верификацию применяемых методов шифрования. Поддержка WireGuard уже интегрирована в NetworkManager и systemd, а патчи для ядра входят в базовый состав дистрибутивов Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph и ALT.

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

Mikrotik IPSec + Android PSK XAuth

quick and dirty, по мотивам https://wiki.mikrotik.com/wiki/Manual:IP/IPsec :

/ip ipsec peer
add name=mobile passive=yes
/ip ipsec profile
set [ find default=yes ] enc-algorithm=camellia-192,aes-128,3des
/ip ipsec proposal
set [ find default=yes ] enc-algorithms=camellia-192,aes-128-cbc,3des
/ip pool
add name=ipsec ranges=private.ip.range/mask #ip range, "выдаваемый" подключенным клиентам Read More

How to return your 3dprinting back: quick step guide

Быстрый возврат к печати:
1. Фиксируем высоту в миллиметрах или номер слоя (осторожно, если есть поддержка — там мешанина с количеством слоёв), печатаемый исходник;
2. Открываем исходник, считаем высоту, не забывая коррекцию (в самом начале что-то типа: G1 Z0.550 F6000.000), ищем строчку с первой записью «Zxx.xxx» по подсчитанной высоте;
3. Выше этой строчки обязательно должна быть запись «G92 E0». Оставляем всё, что ниже, включая эту запись;
4. Перезапускаем хост, нагреваем хотенд (!!!ВАЖНО, если он остыл, иначе всё порвёт!!!), стол, кулер, скорость печати в рабочий режим;
5. Калибруем x y z. Вставляем G-code начиная с «G92 E0». Поехали!

Useful linux network cmds

sudo lsof -i -P -n | grep LISTEN
netstat -tulnp | grep LISTEN

Show iptables nat with packet counters:

iptables -L -t nat -nvx

tcpdump -n -nn -v -i eth0 host 192.168.0.1

conntrack-tools (apt-get install conntrack):

conntrack -L [-j 192.168.0.1]

apache2ctl fullstatus

apache2 -V

python -m SimpleHTTPServer
python -m http.server 8000