Bug 53159 - пакет невозможно удалить из-за зависимости от модуля ядра ch341
Summary: пакет невозможно удалить из-за зависимости от модуля ядра ch341
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: ch341-blacklist (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Konstantin A Lepikhov (L.A. Kostis)
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-02-19 23:41 MSK by Алексей
Modified: 2025-02-21 00:04 MSK (History)
14 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Алексей 2025-02-19 23:41:08 MSK
Пакет ch341-blacklist устанавливается автоматически при установке модуля ядра ch341 по зависимости. При попытке удалить этот пакет вместе с ним по зависимости также и модуль ядра удаляется. Необходимо убрать эту зависимость для возможности независимой установки/удаления данного пакета.
Comment 1 Konstantin A Lepikhov (L.A. Kostis) 2025-02-20 11:00:24 MSK
(In reply to Алексей from comment #0)
> Пакет ch341-blacklist устанавливается автоматически при установке модуля
> ядра ch341 по зависимости. При попытке удалить этот пакет вместе с ним по
> зависимости также и модуль ядра удаляется. Необходимо убрать эту зависимость
> для возможности независимой установки/удаления данного пакета.

данный пакет нужен для нормального функционирования модуля ядра, зачем его удалять?
Comment 2 Алексей 2025-02-20 11:36:23 MSK
Этот пакет добавляет модуль ядра в черный список и я бы не назвал это нормальным функционированием. Сейчас мне пришлось вручную удалить файл, предоставляемый данным пакетом, но после очередного обновления он может снова появиться.
Comment 3 Konstantin A Lepikhov (L.A. Kostis) 2025-02-20 11:53:59 MSK
(In reply to Алексей from comment #2)
> Этот пакет добавляет модуль ядра в черный список и я бы не назвал это
> нормальным функционированием. Сейчас мне пришлось вручную удалить файл,
> предоставляемый данным пакетом, но после очередного обновления он может
> снова появиться.

вы точно понимаете, зачем нужен этот пакет? Без него использовать ch341 не получится. Если это ломает работу других модулей, то просто не ставьте kernel-modules-ch341
Comment 4 Алексей 2025-02-20 12:16:44 MSK
 
> вы точно понимаете, зачем нужен этот пакет? Без него использовать ch341 не
> получится. Если это ломает работу других модулей, то просто не ставьте
> kernel-modules-ch341

возможно и не понимаю, зачем нужен этот пакет, но с ним у меня проблемы. И проблемы именно с модулем ch341. Когда он установлен у меня система не определяет ни ардуинку, с преобразователем usb-com на ch340 ни программатор. Но когда я вручную удалил пакет ch341-blacklist и перезагрузил компьютер, то при подключении и программатора и ардуинки сразу стало появляться устройство ttyusb0
Comment 5 Konstantin A Lepikhov (L.A. Kostis) 2025-02-20 13:14:03 MSK
(In reply to Алексей from comment #4)
>  
> > вы точно понимаете, зачем нужен этот пакет? Без него использовать ch341 не
> > получится. Если это ломает работу других модулей, то просто не ставьте
> > kernel-modules-ch341
> 
> возможно и не понимаю, зачем нужен этот пакет, но с ним у меня проблемы. И
> проблемы именно с модулем ch341. Когда он установлен у меня система не
> определяет ни ардуинку, с преобразователем usb-com на ch340 ни программатор.
> Но когда я вручную удалил пакет ch341-blacklist и перезагрузил компьютер, то
> при подключении и программатора и ардуинки сразу стало появляться устройство
> ttyusb0

kernel-modules-ch341 нужен только для одного - поддержка работы программатора на ch341 режиме spi. для всего остального, как то работа ch341 как адаптер usb-com/lpt этот модуль не нужен, все уже есть в ядре. Поэтому я думаю вам просто нужно удалить kernel-modules-ch341 и -blacklist к нему
Comment 6 Алексей 2025-02-20 21:09:00 MSK
Попробовал удалить модуль ядра. Ардуинки и программатор пик контроллеров действительно работают без него, но перестал работать программатор флешек биоса. Установил модуль заново, затем удалил blacklist. Теперь определяются и ардуинки с программатором пик контроллеров как ttyusb0 и программатор флешек биоса как gpiochip0. Так, что удалять модуль ядра для меня не вариант.
Comment 7 Konstantin A Lepikhov (L.A. Kostis) 2025-02-20 22:41:53 MSK
(In reply to Алексей from comment #6)
> Попробовал удалить модуль ядра. Ардуинки и программатор пик контроллеров
> действительно работают без него, но перестал работать программатор флешек
> биоса. Установил модуль заново, затем удалил blacklist. Теперь определяются
> и ардуинки с программатором пик контроллеров как ttyusb0 и программатор
> флешек биоса как gpiochip0. Так, что удалять модуль ядра для меня не вариант.

ну я не знаю, ваш случай очень специальный, можете создать FR где опишите условия, где blackist ch341 может быть не нужен. По-крайней мере, текущая документация описывает ситуацию след. образом:

The CH341 is declined in several flavors, and may support one or more                                                                                                                                                                                                                     
of UART, SPI, I2C and GPIO, but not always simultaneously::                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                                                          
  - CH341 A/B/F: UART, Printer, SPI, I2C and GPIO                                                                                                                                                                                                                                         
  - CH341 C/T: UART and I2C                                                                                                                                                                                                                                                               
  - CH341 H: SPI                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                          
They work in 3 different modes, with only one being presented                                                                                                                                                                                                                             
depending on the USB PID::                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                          
  - 0x5523: UART mode, covered by the USB `ch341` serial driver                                                                                                                                                                                                                           
  - 0x5512: SPI/I2C/GPIO mode, covered by this set of drivers                                                                                                                                                                                                                             
  - 0x5584: Parallel printer mode, covered by the USB `usblp` driver                                                                                                                                                                                                                      
                                                                                                                                                                                                                                                                                          
From linux kernel 5.10 to 5.16, the 0x5512 PID was unfortunately also                                                                                                                                                                                                                     
claimed by the driver for the UART part, and will conflict with these                                                                                                                                                                                                                     
drivers. Blacklisting that module or deleting it will solve that                                                                                                                                                                                                                          
problem. In `/etc/modprobe.d/blacklist.conf`, add the following line                                                                                                                                                                                                                      
to prevent loading of the serial driver::                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                                          
  blacklist ch341

Если в текущем ядре ситуация с "захватом" 0x5512 PID решена, то, может и стоит удалить blacklist-ch341 совсем.
Comment 8 Konstantin A Lepikhov (L.A. Kostis) 2025-02-20 22:44:56 MSK
https://github.com/torvalds/linux/commit/198a7ebd5fa17b4d0be8cb70240ee1be885175c0

окей, сам себе и отвечу, да в ядрах с 5.17 это не нужно. Удалю тогда этот пакет совсем.
Comment 9 Konstantin A Lepikhov (L.A. Kostis) 2025-02-21 00:04:18 MSK
В сизиф выложил версию без -blacklist, ошибку закрываю. Спасибо, что заметили и сообщили.