реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Не загружаются модули в 3.2.32, can't load module: No such device
alx2
сообщение Oct 22 2012, 09:11
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Пытаюсь в ядро 3.2.32 загрузить модуль g_serial. Получаю странную ошибку:
Код
root@sw01:~# modprobe g_serial
modprobe: can't load module g_serial (kernel/drivers/usb/gadget/g_serial.ko): No such device

И модуль не загружается. insmod дает ту же ошибку. Аналогично ведут себя другие модули (пробовал несколько разных), подозреваю что все.
При попытке вкомпилировать g_serial в ядро статически ядро грузится, но никаких упоминаний g_serial в его выводе нет. Соответствующего устройства в /dev тоже не появляется.
В ядро 3.0.47 с тем же конфигом, модули загружаются нормально.
В чем проблема?

Процессор Atmel at91sam9g20, конфиг ядра тут: http://pastebin.com/hZbVrfRS


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
kurtis
сообщение Oct 22 2012, 09:32
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



Можно посмотреть какой errno соответствует сообщению "No such device". Это похоже на то, что драйвер возвращает ENODEV. Если посмотреть в исходнике drivers/usb/gadget/serial.c, том вызывает ряд функций и подобный результат может возникать в drivers/usb/gadget/udc-core.c

Код
322         mutex_lock(&udc_lock);
323         list_for_each_entry(udc, &udc_list, list) {
324                 /* For now we take the first one */
325                 if (!udc->driver)
326                         goto found;
327         }
328
329         pr_debug("couldn't find an available UDC\n");
330         mutex_unlock(&udc_lock);
331         return -ENODEV;


Цитата
При попытке вкомпилировать g_serial в ядро статически ядро грузится, но никаких упоминаний g_serial в его выводе нет

Можно загрузить ядро с параметром initcall_debug и посмотреть вызывается ли соответствующая init функция.

Может между версиями ядра есть значительные изменения в arch/arm/mach-at91/* ?
Go to the top of the page
 
+Quote Post
alx2
сообщение Oct 23 2012, 05:09
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Цитата(kurtis @ Oct 22 2012, 14:32) *
Можно посмотреть какой errno соответствует сообщению "No such device". Это похоже на то, что драйвер возвращает ENODEV.
Да, именно так.

Цитата(kurtis @ Oct 22 2012, 14:32) *
Если посмотреть в исходнике drivers/usb/gadget/serial.c, том вызывает ряд функций и подобный результат может возникать в drivers/usb/gadget/udc-core.c
Если не найден (не зарегистрирован) UDC. Не представляю, почему он может быть не найден...

За совет использовать initcall_debug спасибо, попробую как будет время.


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
kurtis
сообщение Oct 23 2012, 09:32
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



Судя по конфигу, у вас CONFIG_USB_AT91 собирается как модуль, может попробовать включить в ядро?
У вас udc_init_module() вызывается? И с каким кодов завершается?
Go to the top of the page
 
+Quote Post
alx2
сообщение Oct 23 2012, 09:51
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Цитата(kurtis @ Oct 22 2012, 14:32) *
Если посмотреть в исходнике drivers/usb/gadget/serial.c

Все, разобрался. Проблема была именно тут.
По непонятным мне причинам в конфиге ядра, который я ему подсовывал, "CONFIG_USB_AT91=y" заменялось на "CONFIG_USB_AT91=m". В результате, действительно, никакого UDC не было. sm.gif
Исправил эту строчку обратно - все заработало. Спасибо за подсказку.


Вы меня опередили. sm.gif sm.gif sm.gif

Сообщение отредактировал alx2 - Oct 23 2012, 09:53


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 22:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01379 секунд с 7
ELECTRONIX ©2004-2016