ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Alexey V. Vissarionov" <gremlin@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] можно ли запретить загружать модуль ядра для конкретного девайса
Date: Wed, 7 Dec 2022 02:24:21 +0300
Message-ID: <20221206232421.GA12614@altlinux.org> (raw)
In-Reply-To: <0119cda6-eadd-d7fc-3964-1e96a06ad8f1@basealt.ru>

On 2022-12-06 19:36:19 +0700, Ilya Kurdyukov wrote:

 > Замучился с этим, нигде ничего не находит. Находил тех кто
 > спрашивал то же самое, и им никакого решения не предложили.

Потому что решение скорее всего и не требуется.

 > Проблема такая, есть конкретный девайс:
 > ATTRS{idVendor}=="0e8d", ATTRS{idProduct}=="0003"

Мудотыковский preloader, что ли? Такой?

[694454.527071] usb 5-1.4: Product: MT65xx Preloader
[694454.527074] usb 5-1.4: Manufacturer: MediaTek
[694454.590374] cdc_acm 5-1.4:1.1: ttyACM0: USB ACM device

 > Для него подгружаются модули "option" и "cdc_acm", в которые это
 > попало только потому что кто-то решил сделать поделку на чипе
 > MediaTek.

Нет - потому, что это действительно CDC-устройство, используемое
для общения с этими SoC.

 > Взяв голый чип и не добавив никаких модулей с прошивкой на плату.
 > И решил загружать прошивку прямо при подключении.

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

А программы паять не надо.

 > А потом кто-то добавил в Linux драйвер к этому.

Не к этому, а вообще для всех устройств CDC (communication device
class) ACM (abstract control model).

И произошло это более 20 лет назад - во времена, когда MediaTek
только-только отделился от UMC.

 > Но ID этого чипа общий, это ID загрузочного ROM. Используется для
 > всех девайсов на таком чипе. Соответственно, это не обязательно
 > GSM модем.

Разумеется. Более того, модемам полагается быть /dev/ttyUSBx, а не
/dev/ttyACMx - да и то лишь древним, которые не умеют ни CDCETHER,
ни RNDIS.

 > Мне надо запретить использовать эти модули для этого ID.

Зачем?

 > Не трогая всего остального, для чего эти модули могут
 > подгружаться.

И для чего же? А главное - что может помешать уже загруженному
(или, в норме, вкомпилированному в ядро, чтобы дать пользователю
возможность увидеть терминал максимально рано) модулю подхватить
очередное подключенное CDC-устройство?

 > И пока едниственный способ что я нашел - это кинуть "option" и
 > "cdc_acm" в /etc/modprobe.d/blacklist.conf.

Если они не нужны - ну, в принципе, вполне себе решение. Пусть
корявое, зато рабочее.

 > Очень плохо, что в Линукс каждый может добавить свой драйвер
 > для общего устройства, что может использоваться шире, и
 > испортить жизнь всем остальным кто использует устройства
 > с тем же ID, и никаких решений этому я не нашел. Кроме полного
 > отключения пары модулей для всех устройств.

А в чем, собственно, сложность с появлением еще одного устройства?
Его что, кто-то в усерспейсе автоматически начинает использовать?
Если да - то проблема не в ядре и не в егойных модулях, а именно в
усерспейсе.


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


  reply	other threads:[~2022-12-06 23:24 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-05 19:02 ` [devel] way to find package, which contains specific library Andrey Savchenko
2022-12-06  9:35   ` Sergey V Turchin
2022-12-06 10:10     ` Дмитрий Терехин
2022-12-06 10:50       ` Sergey V Turchin
2022-12-06 12:36       ` [devel] можно ли запретить загружать модуль ядра для конкретного девайса Ilya Kurdyukov
2022-12-06 23:24         ` Alexey V. Vissarionov [this message]
2022-12-07  2:49           ` Ilya Kurdyukov
2022-12-07  6:24             ` Ilya Kurdyukov
2022-12-07  7:04               ` Andrey Savchenko
2022-12-07  8:49               ` Sergey Bolshakov
2022-12-07  9:07                 ` Ilya Kurdyukov
2022-12-07  9:17                   ` Sergey Bolshakov
2022-12-07  9:45                     ` Ilya Kurdyukov
2022-12-07  9:55                       ` Aleksey Novodvorsky
2022-12-07 10:30                       ` Sergey Bolshakov
2022-12-07 10:35                         ` Ilya Kurdyukov
2022-12-07 15:04               ` Alexey V. Vissarionov
2022-12-07 10:49         ` Anton Farygin
2022-12-06  5:48 ` [devel] way to find package, which contains specific library Anton Farygin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221206232421.GA12614@altlinux.org \
    --to=gremlin@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git