Сайт | Скачать | Видео | Wiki

Автор Тема: insmod: ERROR: could not insert module ch341.ko: Unknown symbol in module  (Прочитано 2700 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн midnighter

  • Ветеран
  • *****
  • Сообщений: 436
  • Репутация: +15/-0
  • Автор темы
Подскажите в чём проблема.
Код
live@pra:~$ sudo insmod /lib/modules/4.4.1-pf3/kernel/drivers/usb/serial/ch341.ko
insmod: ERROR: could not insert module /lib/modules/4.4.1-pf3/kernel/drivers/usb/serial/ch341.ko: Unknown symbol in module
И так с любым модулем.
pra03-1603game3

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5366
  • Репутация: +140/-1
Re: insmod: ERROR: could not insert module ch341.ko: Unknown symbol in module
« Ответ #1 : 27 Апрель 2019, 18:38:38 »
в чём проблема
Что-то типа такого:

Команда insmod загружает конкретный файл с расширением ko, при этом, если модуль зависит от других модулей, еще не загруженных в ядро, команда выдаст ошибку, и не загрузит модуль.

Нужно помнить, что при использовании insmod все зависимости придется подгружать вручную. Поэтому эта команда постепенно вытесняется командой modprobe.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34044
  • Репутация: +232/-0
    • PuppyRus-A
Re: insmod: ERROR: could not insert module ch341.ko: Unknown symbol in module
« Ответ #2 : 28 Апрель 2019, 09:04:12 »
Для чего нужно загрузить ch341.ko ?
Почему udev это не сделал?
modprobe ch341 не помог?

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: insmod: ERROR: could not insert module ch341.ko: Unknown symbol in module
« Ответ #3 : 28 Апрель 2019, 09:48:31 »
Для чего нужно загрузить ch341.ko ?
если не ошибаюсь, необходим при "прошивке" микроконтроллеров
подготовленный код с компа в микроконтроллер "заливать"
кстати под ДДР
 insmod ch341.ko
отработал молча, без ошибок
« Последнее редактирование: 28 Апрель 2019, 09:52:08 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34044
  • Репутация: +232/-0
    • PuppyRus-A
Re: insmod: ERROR: could not insert module ch341.ko: Unknown symbol in module
« Ответ #4 : 28 Апрель 2019, 10:00:56 »
insmod ch341.ko
отработал молча, без ошибок
Проверьте lsmod |grep ch341 и почитайте dmesg

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: insmod: ERROR: could not insert module ch341.ko: Unknown symbol in module
« Ответ #5 : 28 Апрель 2019, 10:09:26 »
Проверьте lsmod |grep ch341 и почитайте dmesg
самого устройства нет, соответственно поначалу lsmod |grep ch341 ничего не вернул
- - - - -- -
после insmod ch341.ko в логах ( dmesg ) видно:
[29215.830514] usbcore: registered new interface driver ch341
[29215.830537] usbserial: USB Serial support registered for ch341-uart
- - - -
lsmod |grep ch341
ch341                   2752  0
usbserial              13104  3 ch341,option,usb_wwan

« Последнее редактирование: 28 Апрель 2019, 10:12:18 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн midnighter

  • Ветеран
  • *****
  • Сообщений: 436
  • Репутация: +15/-0
  • Автор темы
Re: insmod: ERROR: could not insert module ch341.ko: Unknown symbol in module
« Ответ #6 : 29 Апрель 2019, 09:27:41 »
Для чего нужно загрузить ch341.ko ?
Почему udev это не сделал?
modprobe ch341 не помог?
Это модуль USB-SERIAL адаптера. udev очевидно по той-же причине не грузит.
modprobe пишет not found.
Причём это со всеми модулями которые есть в  /lib/modules/.....
в dmesg таже ругань: Unknown symbol in module
кстати под ДДР
 insmod ch341.ko
отработал молча, без ошибок
Хорошо, скачаю посмотрю. Раньше у меня с дебианом как-то "несрослось".... Попробую ещё.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5366
  • Репутация: +140/-1
Re: insmod: ERROR: could not insert module ch341.ko: Unknown symbol in module
« Ответ #7 : 29 Апрель 2019, 10:01:53 »
Я перед своим сообщением выше проверил на том, что было под рукой - на pra6408-1904:
- insmod ch341.ko показал тогда ошибку
- modprobe ch341 --> подгрузил модуль со всеми зависимостями (lsmod |grep ch341)
- потом rmmod ch341 и опять insmod ch341.ko --> модуль подгрузился (lsmod |grep ch341)
После этого я и написал свой комментарий.


pra03-1603game3
modprobe пишет not found.
Проверил теперь в pra03-1603game3 из-под виртуалки. Все тоже самое. Модуль подгружается через modprobe, черз insmod надо подгружать еще зависимости (в моем случае - usbserial).

Оффлайн midnighter

  • Ветеран
  • *****
  • Сообщений: 436
  • Репутация: +15/-0
  • Автор темы
Re: insmod: ERROR: could not insert module ch341.ko: Unknown symbol in module
« Ответ #8 : 29 Апрель 2019, 11:36:03 »
Проверил теперь в pra03-1603game3 из-под виртуалки. Все тоже самое. Модуль подгружается через modprobe, черз insmod надо подгружать еще зависимости (в моем случае - usbserial).
Попробую подгрузить usbserial, а потом ch341. Но modprobe у меня не сработал. Пробовал загружать системму с вставленным девайсом в надежде, что.сам подгрузится на "автомате", но увы. В поисковике тоже популярная тема, но в основном касается самособранных модулей.
P.S.
Оказалось с андроидом "подружить" девайс гораздо проще. Есть и прошивальщики и терминалы. Похоже.нужно брать планшет и не париться с компом :D.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5366
  • Репутация: +140/-1
Re: insmod: ERROR: could not insert module ch341.ko: Unknown symbol in module
« Ответ #9 : 29 Апрель 2019, 11:56:37 »
Но modprobe у меня не сработал.
modprobe ch341.ko  --> неправильно
modprobe ch341 --> правильно
Это на всякий случай. :)

Все же я проверял на стандартном iso, взятом здесь https://mirror.yandex.ru/puppyrus/puppyrus-a/pra03/iso/1603/ И результаты должны быть у всех одинаковыми, т.е. modprobe ch341 должен у всех работать.
« Последнее редактирование: 29 Апрель 2019, 11:59:24 от krasnyh »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5366
  • Репутация: +140/-1
Re: insmod: ERROR: could not insert module ch341.ko: Unknown symbol in module
« Ответ #10 : 29 Апрель 2019, 12:10:29 »
Попробую подгрузить usbserial, а потом ch341.
Если терминал запустить в папке /usr/lib/modules/4.4.1-pf3/kernel/drivers/usb/serial/
sudo insmod usbserial.ko
sudo insmod ch341.ko
Написал тоже на всякий случай. )


upd. Посмотреть зависимости:
Цитата
live@prar-1811 ~ % modinfo ch341       
filename:       /lib/modules/4.20.15-pf7/kernel/drivers/usb/serial/ch341.ko
license:        GPL v2
alias:          usb:v1A86p5523d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1A86p7523d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v4348p5523d*dc*dsc*dp*ic*isc*ip*in*
depends:        usbserial
retpoline:      Y
intree:         Y
name:           ch341
vermagic:       4.20.15-pf7 SMP preempt mod_unload
« Последнее редактирование: 29 Апрель 2019, 12:21:41 от krasnyh »

Оффлайн midnighter

  • Ветеран
  • *****
  • Сообщений: 436
  • Репутация: +15/-0
  • Автор темы
Re: insmod: ERROR: could not insert module ch341.ko: Unknown symbol in module
« Ответ #11 : 29 Апрель 2019, 17:58:50 »
Спасибо всем за помощь. Всё получилось. И modprobe без .ko, и insmod если загрузить сначала usbserial.ko, а затем ch341.ko работают.

 Когда-то я это уже проходил с другим адаптером, да вот позабыл. Просто привык, что у меня в "Альте" автоматом подхватывалось. А сейчас он не грузиться - бэдблок на разделе образовался. А вот "Папик" здорово выручил в данной ситуации  ;D.
Да... ужж... Отлаженно работающая системма "расхолаживает" :).