Bug 46950

Summary: Сборка утилиты для контроля вращения кулера в Compaq 311 mini
Product: New/proposed packages Reporter: Владимир Гусев <vova1971>
Component: Обычный репозиторийAssignee: Andrey Cherepanov <cas>
Status: NEW --- QA Contact: Andrey Cherepanov <cas>
Severity: normal    
Priority: P5 CC: grizlik78, rider, viy
Version: не указана   
Hardware: x86   
OS: Linux   
Attachments:
Description Flags
Cкриншот ошибки выполнения команды make
none
Архив исходников утилиты none

Description Владимир Гусев 2023-07-15 15:01:42 MSK
Created attachment 13845 [details]
Cкриншот ошибки выполнения команды make

Есть у меня Compaq 311 mini - чудный  нетбук с многими достоинствами. И долгое время для регулировки вращения кулера я пользовался специальной программкой, написанной обладателем такого же девайса. Вот тут страница с утилитой и описанием - http://mattday.net/content/mini-311-fan-control
Там просто в исходниках делаешь make и определяешь утилиту в нужное место, а дальше командами можно менять частоту вращения кулера.
В р7 и р8 я без проблем делал бинарник с тогдашним gcc и прочим инструментарием. Но уже с p9 и сейчас, в p10 я не могу этого сделать - make выдает ошибку. А править исходники или сам сценарии сборки я не умею.

По всей видимости дело в несовместимости нового gcc и makefile исходника..

Помогите :)

Прилагаю скриншот ошибки (архив с исходниками утилиты есть по вышеуказанному url). Просто сюда более одного файла не могу поместить.
Comment 1 Anton Farygin 2023-07-15 15:03:00 MSK
Автору программы вы уже написали ?
Comment 2 Владимир Гусев 2023-07-15 15:06:58 MSK
Created attachment 13846 [details]
Архив исходников утилиты
Comment 3 Владимир Гусев 2023-07-15 15:33:42 MSK
(Ответ для Anton Farygin на комментарий #1)
> Автору программы вы уже написали ?

Нет, утилиту я нашел спустя несколько лет после ее создания. И на его странице ничего нового не появилось.

Мне кажется, просто какая-то неполная синтаксическая совместимость с новыми версиями компиллятора. С gcc4 все было ОК.
Comment 4 Владимир Гусев 2023-07-15 15:34:48 MSK
И никаких дополнительных зависимостей не требовалось..
Comment 5 Aleksey Borisenkov 2023-07-15 22:01:50 MSK
Дело не в компиляторе, дело в ядре. Использованный в программе способ задания коллбэка выбросили из ядра около 6 лет назад, как устаревший:
https://github.com/torvalds/linux/commit/a380f2edef65b2447a043251bb3c00a9d2153a8b

Так что лучше всего, если бы это починил автор, ну или тот, у кого есть это железо.
Если строку 83 просто закомментировать
//device_class->resume = fanmodule_resume;
то драйвер скорее всего соберётся и, может быть, будет работать как раньше. Только после просыпания не будет восстанавливать настройки.
Comment 6 Владимир Гусев 2023-07-15 23:57:28 MSK
(Ответ для Aleksey Borisenkov на комментарий #5)
> Дело не в компиляторе, дело в ядре. Использованный в программе способ
> задания коллбэка выбросили из ядра около 6 лет назад, как устаревший:
> https://github.com/torvalds/linux/commit/
> a380f2edef65b2447a043251bb3c00a9d2153a8b
> 
> Так что лучше всего, если бы это починил автор, ну или тот, у кого есть это
> железо.
> Если строку 83 просто закомментировать
> //device_class->resume = fanmodule_resume;
> то драйвер скорее всего соберётся и, может быть, будет работать как раньше.
> Только после просыпания не будет восстанавливать настройки.

Попробую. Спасибо за совет.
Comment 7 Владимир Гусев 2023-07-18 21:54:21 MSK
Да, закомментировав 83-ю строку, всё получилось. Работает. Насчет восстановления параметров после просыпания не проверял, да это и не особо нужно.

Спасибо!