LINUX.ORG.RU

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

Прошивка Андройд через Linux

 ,

Добрый день.

Проблема в том что комп не видит телефонов для прошивки, как файловое хранилище работает отлично.

Полностью что я уже делал прописал тут https://4pda.ru/forum/index.php?showtopic=469340&view=findpost&p=91690571

Еще в данный момент пробую и другие варианты, но пока ничего не работает

ОС Magos Linux на базе ROSA

BuxarNET
()

Boost скрипт для Thinkpad X230. Готово. Забирайте.

 , , , ,

После того как снес с него винду ужасно не хватало кнопочки «турбо», которая присутствовала в Lenovo Power Manager. Накостылял свой скрипт. При запуске смотрит какой говернор используется в данный момент. Если ondemand, то включаем вентилятор на полную, переключаем говернор в userspace и выкручиваем частоты на максимум. Если userspace, то частоты в минимум, говернор в ondemand, вентилятор в auto. Использую его на Ubuntu 12.04. В принципе без проблем затачивается под любой ноут. Забирайте, если кому интересно. Для включения возможности ручного управления вентилятором в синкпадах делаем так:

To enable fan control, the module parameter fan_control=1 must be given to thinkpad-acpi. For example, in Ubuntu 8.04 (Hardy Heron), add the following to /etc/modprobe.d/options: options thinkpad_acpi fan_control=1

Если у вас другая модель синкпада, то подстройте скорость вентилятора в соответствии с вот этими рекомендациями. Сам скрипт:

#!/bin/bash

# Checking root user
if [ "$(id -u)" != "0" ]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi
# Checking current state
if [ `cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor` = 'userspace' ]
then
	# Lowest speed and ondemand governor for all cores
	for CPU in /sys/devices/system/cpu/*/cpufreq/
	do
  	  echo `cat ${CPU}cpuinfo_min_freq` | tee ${CPU}scaling_setspeed
			echo ondemand | tee ${CPU}scaling_governor
	done
	# Automatic fan control
	echo level auto | tee /proc/acpi/ibm/fan 
else
	# Otherwise full fan speed
	echo level full-speed | tee /proc/acpi/ibm/fan
	# And full speed for all cores
	for CPU in /sys/devices/system/cpu/*/cpufreq/
	do
			echo userspace | tee ${CPU}scaling_governor
  	  echo `cat ${CPU}cpuinfo_max_freq` | tee ${CPU}scaling_setspeed
	done
fi
TEMP=$((`cat /sys/class/thermal/thermal_zone0/temp`/1000))
echo "CPU Temp: ${TEMP}C"

# Developed by gear. You can contact me by misty.g3ar@gmail.com

gear
()

Запись звонков в Андроид-10

 ,

И все-таки, Самсунг А-50 (А505FM) какая программа лучше для записи звонков, перепробовал штук 10-ть, не работают, от слова совсем!

piwww
()

Софтварный/веб эмулятор электрической цепи.

 , ,

Привет. В общем ударила мне моча в голову на старости лет интересоваться электроникой и электричеством безо всяких допусков. Цель себе ставлю научиться ремонтировать всяческие девайсы, а вот к «творчеству» пока душа не лежит, то есть своё радиво если и спаяю, то по готовой схеме. В книжках часто приводятся схемы с расчётом на то, чтобы их собрать и попробовать в реале, да только вот нет у меня времени на то чтобы делать их хардварно (жизни нет не только за мкадом, но и после работы). А поглядеть как оно на деле, а не просто почитать описание, все же интересно, ну в частности транзисторы. Так вот, подскажите какой нибудь софтварный эмулятор электрической цепи, чтобы можно было нарисовать схему, указать на ней параметры всех устройств. Например тут такое то сопротивление, там такая то ёмкость, такая то индуктивность, а ежели есть виртуальные аналоги реально существующих сложных устройств типа микросхем, так вообще шикарно будет. Ну и чтобы можно было потом во включенной схеме, виртуальным же мультиметром или осциллографом что нибудь померить. Я не знаю как такие проги называются, но точно знаю, что они есть. Хотелось бы чтобы была бесплатная, более менее простой интерфейс (то есть не уровень КАД для професионала электронщика - мне до этого как до Китая раком) ну и понятное дело чтоб под линупс, то есть либо нативная, либо веб.

justin_case
()

как влинковать initramfs в файл-образ ядра?

 , ,

The old initrd was always a separate file, while the initramfs archive is linked into the linux kernel image.

Чего я хочу добиться:
Чтобы в GRUB было две строчки: в первой строке (linux) грузилось бы ядро и неизменяемый initramfs, а во второй строчке (initrd) грузились бы настройки (всякие там mdadm.conf с конкретными UUID массивов конкретной машины).

Einstok_Fair
()

как ускорить линукс ядро даже в ущерб безопасности для локалхоста игоря

 , , ,

настраивать ванильное ядро и cmdline уже умею
локалхост без интернета
и как вырубить всякие защищалки в компиляции софта и ядра в gentoo
и прочее
скидывайте все сюда даже бесполезное

nanosecond
()

Intel выпилил S3 (suspend-to-ram) в 11 поколении

 , ,

Привет, ЛОР!
Решил рассказать о своей истории узбека сношения с ноутбками на Intel 11 поколения.

Конкретнее — сегодня поговорим о засыпании (suspend, suspend-to-ram, S3).
Если вкратце — засыпания в ноутбуках больше не будет. Вообще. Совсем.

Ссылка: https://www.reddit.com/r/System76/comments/k7xrtz/ill_have_whatever_intel_was...

Вместо Ъ-засыпания S3 (с обесточиванием всей периферии, кроме оперативной памяти) — теперь некий S0iX.
Это значит, что процессор теперь не будет обесточиваться и будет работать всегда.
Кроме очевидных минусов вроде уменьшения времени автономной работы в режиме засыпания, есть ещё и неочевидные — вроде тех, что из-за того, что CPU (и, вроде как, некоторая периферия) будет включена всегда — за нами будут следить ещё лучше и тщательнее.

Ну и, конечно же, в Linux ближайшее время это будет поддерживаться через жопу.
Например, на последнем лаптопе от Fujitsu (Lifebook U7311) засыпание не работает вовсе, потому что BIOS лаптопа бодро рапортует о поддержке S3, которое CPU, естественно, не поддерживает, с предсказуемым результатом.

А ещё сегодня мы поговорим о том, чем заменить S3 (точнее, об альтернативе б-мерзкому S0iX, накостыленной шаловливыми ручонками линуксоида).
fakesleep.sh — скрипт, который делает примерно то же самое — «усыпляет» пользовательские процессы (kill -STOP), усыпляет USB-девайсы, отключает указанные ядра процессора и выключает дисплей (и, конечно же, «вертает всё взад» при «пробуждении»).
Использовать его очень просто: нам понадобится acpid и пара нехитрых скриптов:

/etc/acpi/events/laptop-lid

event=button/lid.*
action=/etc/acpi/laptop-lid.sh

/etc/acpi/laptop-lid.sh
#!/bin/sh

FAKESLEEP=/home/ann/.bin/fakesleep
ACTION=$(grep -q closed /proc/acpi/button/lid/LID/state && echo sleep || echo resume)

$FAKESLEEP $ACTION

Естественно, нужно подправить несколько переменных в скрипте и путь до этого скрипта в laptop-lid.sh.

Как результат — ноутбук при закрытой крышке не засыпает полностью (как и в S0iX), но при этом мы можем контролировать процессы, которые мы останавливаем/не останавливаем, при этом время автономной работы в режиме «спячки» такое же (фиговое, но терпимое):
ann.: ~ ➤  acpi                                                                                                                                                                                                                                      
Battery 0: Discharging, 86%, 25:17:22 remaining

(проверено по SSH, которое остаётся доступным как раз благодаря тому, что мы контролируем, какие процессы мы усыпляем, а какие нет)

Просьба всем использующим 11 поколение Intel и сочувствующим протестировать это поделие и дать советы по улучшению/ухудшению этого всего хозяйства.
Естественно, это всё юзабельно не только на 11 поколении, а на любом ноутбуке.

sudo cast i-rinat (на всякий случай)

annerleen
()

Сетевой движок на Си. Вычитывание данных из сокета в 4кб буферы.

 

Хотелось построить сетевую подсистему, написанную на крестах, на такой идее: разные протоколы/модули обмениваются «цепочками буферов» (блохчейнами ога), в том числе и сетевая подсистема. Например, если кто-то хочет отправить по вебсокету 12 кб данных юзеру, то этот кто-то просит у центрального менеджера ресурсов 3 блока, наполняет их данными, чейнит их в одну цепь и кидает поинтер на первый блок в «сеть». Epoll-driven «сеть» отправит все данные (когда сможет) из этих блоков последовательно в сокет и отдаст «менеджеру ресурсов» блоки обратно по мере отправки. Блоки переюзываются всеми компонентами, потребляются по мере нужды, а новые коннекты не жрут память только по факту коннекта, тяжелее заддосить, всё красиво. Короче, общая идея в том, что есть некий slab-аллокатор блоков, владеющий ими и выдающий в аренду и блоки, протекая через все подсистемы и задерживаясь в сетевом модуле, если сразу запсать в сокет не удалось (больше чем TCP window или другой прикол), и в конце возвращаются в блокопрародитель обратно. Памяти при таком подходе в целом в любой момент сожрано меньше, чем если бы при наших 5к соединений каждый коннекшен бы держал собственный буфер на пару метров.

Одно но: если такая моя «сеть» решила вычитать из сокета мегабайт, то она сделает 1024/4 = 256 сисколлов read(), чтобы выжрать данные в цепь 4кб-блоков вместо одного сисколла, если бы у неё был буфер на 1 метр. На отправке те же приколы - рост числа сисколлов.

Да, есть оптимизации - можно юзать блоки разных размеров в разных местах, можно смотреть на Content-Length в случае протокола HTTP и готовиться к мегабайту оптимальнее заранее и т.п.

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

Про recvmmsg/sendmmsg и io_uring в принципе в курсе.

UPDATE

«4 кб буферы» отошли в прошлое, текущее понимание затеи как «цепочка буферов разной фиксированной длины», например HTTP-ответ юзеру может быть цепочкой из буфера 4КБ (на хидеры) и за ним буфер в мегабайт под body.

kilokolyan
()

power bank

 powerbanks

Какие power bank правильно брать в 2021? Лучше wireless, но необязательно. Максимально быстрая зарядка. 10K mAh и выше. Опционально - крепкие и лёгкие. Какие бранды нельзя брать вообще, а какие рулят?
Конечно же, телефон на Андроиде, стал бы я иначе спрашивать на ЛОРе!

svu
()

Новая версия регулятора для бормашинок, с поддержкой оборотов

 speed control,

Группа Hardware and Drivers

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

Те, кто пользуются сетевыми бормашинками, знают что на низких оборотах они совсем «не тянут». Поэтому на замену стандартного регулятора был разработан «валшэбный», который умеет определять скорость через противоЭДС. То есть не нужно устанавливать датчик оборотов - просто меняем плату и всё.

Что нового:

  • Разведены платы под новые модели бормашинок (старые хильды уже не выпускают)
  • Односторонний монтаж SMD (проще собирать)
  • ADRC-control вместо PID (намного лучше отрабатывает всякие неравномерности характеристик)
  • Улучшена калибровка

Несмотря на кажущуюся сложность, регулятор относительно прост для повторения. Платы и детали заказываются в полтора клика через EasyEDA, остается только собрать и прошить по USB.

Кому интересно - в документации расписана вся математика.

>>> Подробности (github.com)

Vit
()

Российские контроллеры двигателей, совместимые с Raspberry PI

 , сервосила

Группа Hardware and Drivers

Компания СЕРВОСИЛА выпустила в продажу миниатюрные встраиваемые контроллеры бесколлекторных двигателей, совместимые с Linux, в частности с Raspberry PI.

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

>>> Подробности (servosila.com)

servosila
()

Уязвимость в Linux, касающаяся сетевого протокола CAN BCM

 , ,

Группа Безопасность

Недавно выявленная уязвимость в ядре Linux (CVE-2021-3609) позволяет получить root-права рядом махинаций, связанных с сетевым протоколом CAN (controller area network) BCM. Затрагивает версии с 2.6.25 до mainline 5.13-rc6 включительно.

Исследователь, выявивший уязвимость, подготовил эксплоит, действующий на ядра версий >=5.4.

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

>>> Новость на OpenNet

>>> Подробности (openwall.com)

x86-
()

Нужна помощь с bash-скриптом.

 , ,

Есть такой скрипт:

#!/bin/bash
  
file="test1.txt"

cat<<EOF>$file
rabbit1-test1
rabbit1-test2
rabbit1-test3
EOF


cat $file | while read line; do jq -Rs \
   --arg v1 "/"              \
   --arg v2 "$line"          \
   --arg v3 "rabbit@node1" \
   '{"{#VHOSTNAME}" : $v1, "{#QUEUENAME}": $v2, "{#NODENAME}": $v3}' \
   <<<'{}' ;
done

Нужно получить такой результат:

{
  "data": [
    {
      "{#VHOSTNAME}": "/",
      "{#QUEUENAME}": "rabbit1-test1",
      "{#NODENAME}": "rabbit@node1"
    },
    {
      "{#VHOSTNAME}": "/",
      "{#QUEUENAME}": "rabbit1-test2",
      "{#NODENAME}": "rabbit@node1"
    },
    {
      "{#VHOSTNAME}": "/",
      "{#QUEUENAME}": "rabbit1-test3",
      "{#NODENAME}": "rabbit@node1"
    }
  ]
}

Как правильно добавить

"data": [
в эту строчку?
'{"{#VHOSTNAME}" : $v1, "{#QUEUENAME}": $v2, "{#NODENAME}": $v3}'

perrfect
()

Скрин-каст.

 , ,

Нужна нормальная программа ( не SimpleScreenRecorder и ей подобные ) которая может запись игры не влияя на fps в игре. При SSR fps в Guild Wars 2 катастрофически падает. В общем жуть.

x86th
()

Помогите починить dsdt

 ,

Помогите собрать dsdt без ошибок. Сам уже замучился разбираться в этом asl, жутко странный язык, на русском ничего по нему не нашел, а по-английски не готов читать. Ошибки какие-то не типичные. Также не понятно, как asus собрал dsdt интеловским компилятором 2012 года, если у меня он выдает 5 ошибок (может декомпилируется с ошибками?).

aml: http://rgho.st/8ZqBGGyLn

asl: http://rgho.st/8jJbgdf9Y

Декомпиляция:

Intel ACPI Component Architecture
ASL+ Optimizing Compiler version 20160212-64
Copyright (c) 2000 - 2016 Intel Corporation

Input file dsdt.dat, Length 0x161BD (90557) bytes
ACPI: DSDT 0x0000000000000000 0161BD (v02 _ASUS_ Notebook 00000012 INTL 20120711)
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

Parsing completed

Found 18 external control methods, reparsing with new information
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

Parsing completed
Disassembly completed
ASL Output:    dsdt.dsl - 750692 bytes
Обратная компиляция:
Intel ACPI Component Architecture
ASL+ Optimizing Compiler version 20160212-64
Copyright (c) 2000 - 2016 Intel Corporation

Compiler aborting due to parser-detected syntax error(s)
dsdt.dsl   2399:                 Zero
Error    6126 -                    ^ syntax error, unexpected PARSEOP_ZERO

dsdt.dsl   2483:                         Zero
Error    6126 -                            ^ syntax error, unexpected PARSEOP_ZERO

dsdt.dsl  12338:         }
Error    6126 -         ^ syntax error, unexpected '}'

dsdt.dsl  21771:                 Local1 = (0x0A - Local0)
Error    6126 -                      ^ syntax error, unexpected PARSEOP_LOCAL1

dsdt.dsl  24058: 
Error    6126 - syntax error, unexpected $end and premature End-Of-File

ASL Input:     dsdt.dsl - 24058 lines, 750692 bytes, 11855 keywords
Hex Dump:      dsdt.hex - 203 bytes

Compilation complete. 5 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
Ноутбук asus x555ld. Кто в этом разбирается гляньте пожалуйста.

Simarc
()

Есть люди, которые разбираются в ACPI?

 ,

Даже не знаю, может это в hardware. Надо пропатчить dsdt для vostro 14-5459. Версия bios 1.0.4.

С чего начать? А эта штука универсальная? Потому что под osx частенько такая проблема обсуждается, может быть даже выложили готовый.

Интересно то, что ноут линуховый. Неужели просто решили забить на баг в acpi?

[0.669592] ACPI Error: [\_SB_.PCI0.PEG0.NHDA] Namespace lookup failure,
 AE_NOT_FOUND (20160831/psargs-359)
[0.669610] ACPI Error: Method parse/execution failed [\_SB_PCI0.PEG0.PG00._ON] (Node ffff88027b1154b0), AE_NOT_FOUND (20160831/psparse-543)

UPD: Обновил bios до 1.0.6.

Deleted
()

Пересборка FreeType с другими настройками

 , ,

Всем здравствуйте.

Как пересборать FreeType 2.7+ так, чтобы по умолчанию выбиралась версия 35 интерпретатора байткода TrueType?

Т. е. я хочу по умолчанию поведения, как в FreeType 2.6, но без необходимости указывать

FREETYPE_PROPERTIES=truetype:interpreter-version=35

И хочется при этом, чтобы более новые версии интерпретатора (38 и 40) тоже были доступны – путём указания FREETYPE_PROPERTIES либо программно, через FT_Property_Set().

Сижу, курю /usr/include/freetype2/freetype/config/ftoption.h – и что-то не понимаю. Вижу лишь, что можно полностью выключить субпиксельный хинтинг, но также это полностью отключает интерпретаторы версий 38 и 40.

P.S. Указание версии по умолчанию в /etc/environment не вариант – интересует именно пересборка.

Bass
()

Почтальонов 20 лет по ошибке сажали в тюрьму из-за «кривого» ПО

 

Британская почтовая компания Post Office десятками лет использовала ПО Horizon с ошибкой в коде. Оно применялось для учета всех продаж и вело неверные подсчеты. Программа указывала на недостачу денег, и сотрудники компании, «ответственные» за нее, попадали в тюрьму или лишались личных сбережений, а некоторые даже кончали с собой. Количество пострадавших исчисляется сотнями.

Без вины виноватые

Сотрудники британской почтовой компании Post Office Ltd. на протяжении последних 20 лет рисковали оказаться за решеткой или как минимум без жилья и средств к существованию из-за ошибок в программном обеспечении. Как пишет портал The Verge, компания использовала специализированный софт Horizon, принадлежащий японской Fujitsu. За ее разработкой стоит британская ICL – она создала Horizon в 1995 г. В 1998 г. Fujitsu стала единственным акционером ICL, а в 2002 г. она перестала существовать под своим именем и была переименована в Fujitsu.

В Horizon присутствовала фатальная ошибка, из-за которой ПО вело неправильные подсчеты и раз за разом показывало недостачи денег, которые руководители почтовых отделений Post Office затем приписывали сотрудникам отделений. В компании были уверены в том, что Horizon работает безупречно.

BBC пишет, что случай с Post Office стал крупнейшей судебной ошибкой за всю историю Великобритании, поскольку из-за бага в Horizon пострадали без преувеличения сотни невиновных людей. Сама компания существует с 1986 г., и на начало 2019 г. ее штат насчитывал свыше 5000 сотрудников.

Сломанные судьбы
BBC пишет, что из-за программистов ICL и руководства Post Office жизнь многих сотрудников почтовых отделений была разрушена. От кого-то ушел супруг, а кто-то, как, например, Джанет Скиннер (Janet Skinner), лишился возможности растить своих детей.

Скиннер не просто разлучили с детьми – ее посадили в тюрьму на девять месяцев после того, как злополучное детище Fujitsu выявило в отделении, в котором она работала, недостачу в размере 59 тыс. фунтов стерлингов (6,148 млн руб. по курсу ЦБ на 26 апреля 2021 г.).

Но случай Джанет Скиннер далеко не самый вопиющий. Уверенность британских руководителей в том, что японское ПО безупречно, привело к тому, что свободы лишилась ни в чем не повинная беременная женщина. И даже это, как выяснилось, не предел – в одном из офисов компании Post Office программа Horizon выявила недостачу почти в 100 тыс. фунтов стерлингов (10,42 млн руб.). Ее «повесили» на сотрудника отделения, и тот, узнав об этом, покончил жизнь самоубийством. Это не надоумило руководство Post Office проверить, все ли в порядке с ПО Fujitsu. В итоге всего несколько месяцев спустя новый сотрудник, заменивший покончившего собой, тоже пострадал из-за ошибок в работе Horizon.

Британская судебная система была беспощадная не только к беременным женщинам, но и к пожилым мужчинам. Так, 62-летний Виджай Парех (Vijay Parekh), пишет The Guardian, провел в тюрьме полгода. Его обвинили в краже 72 тыс. фунтов стерлингов (7,5 млн руб.), и адвокат посоветовал ему признать вину.

Тюрьма или потеря жилья
По информации BBC, ошибочные подсчеты, производимые Horizon, привели, в общей сложности, к судебному преследованию почти 740 сотрудников Post Office за период с 2000 по 2014 гг. Число людей, получивших повестки в течение последних семи лет, еще подлежит уточнению.

Вариантов у работников Post Office, оказавшихся «под прицелом» ПО Horizon, было не так уж много. Кто-то отправлялся в тюрьму, а кто-то мог остаться без единого фунта сбережений в попытке покрыть недостачу, которой на самом деле не было, из своего кармана.

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

Horizon все еще работает...
https://www.cnews.ru/news/top/2021-04-26_krivoj_soft_krupnoj_pochtovoj

https://en.wikipedia.org/wiki/Horizon_(IT_system)

novus
()

Возможность вендорлока в Linux

 

Так как не все ЛОРовцы внимательно следят за событиями и пропустив разрозненные факты не могут увидеть их взаимные связи то я для того чтобы они их увидели буду сюда постить ссылки на посты указывающие на те или иные возможности вендорлока в Linux.

torvn77
()

C++ override методов.

 

Вот что-то я не смог осилить такую простую вещь как переопределение методов при наследовании.

#include <iostream>

class foo
{
  public:
    virtual void print() { std::cout << "foo\n";}
};


class bar : public foo
{
  public:
    void print() override { std::cout << "bar\n";} 
};


void fun(foo f)
{
  f.print();
}

int main()
{
  foo f;
  bar b;

  f.print();
  b.print();

std::cout << "===========\n";
  fun(b);

  return 0;
}

Вот по всем моим понятиям он после горизонтальной черты должен написать bar, a пишет foo :-(

Почему он так со мной, и что я делаю не так?

Мне то как раз надо чтобы позвали метод наследника, раз его передали в качестве параметров…

shaplov
()