artes |
|
Темы:
3
Сообщения:
36
Участник с: 12 июня 2009
|
Столкнулся с проблемой запуска Cisco IOSv_15.5(3)M в QEMU. Запускаю следующей командой:
Версии ОС и QEMU:
На выходе получаю следующее сообщение (последние строки крутятся в цикле и загрузка на этом останавливается)
Гугл ничего внятного найти не смог. Какие у кого нибудь будут идеи по этому поводу? |
vasek |
|
Темы:
47
Сообщения:
11743
Участник с: 17 февраля 2013
|
artes artesПохоже ты уже с этой проблемой бьешся не один месяц ….. Судя по логам можно предположить, что проблема в драйвере e1000 , похоже в чтении регистров. Если посмотреть параметры этого драйвера, то там есть параметр debug $ modinfo -p e1000 | grep debug debug:Debug level (0=none,...,16=all) (int) Можно попробвать загрузиться с этим параметром, может подкинет больше информации Ну и всегда имеется тяжелая артилерия - strace, sysdig - то же могут подкинуть информации и для понимания и для дальнейшего гугления ...
Ошибки не исчезают с опытом - они просто умнеют
|
artes |
|
Темы:
3
Сообщения:
36
Участник с: 12 июня 2009
|
Загрузил модуль e1000 с параметром debug=16, но не уверен что debug активировался исходя из вывода команды systool
Тем не менее всё равно решил попробовать. Внес небольшие изменения в схему: 1. Привязал сетевой интерфейс Cisco к tap0 (схема стабильная и не раз опробованная) 2. Поменял на более новый vIOS (в надежде что данная проблема уйдет)
К сожаления ничего не изменилось и проблема осталась
И на всякий случай, вдруг полезно будет
Может нужно какие нибудь манипуляции с модулями kvm и kvm_intel?
|
vasek |
|
Темы:
47
Сообщения:
11743
Участник с: 17 февраля 2013
|
artesПараметры загруженного модуля лучше смотреть в /sys/module/.../e1000/ parameters/, но иногда там этих параметров и нет — тогда лучше смотреть загружаемый параметр при загрузке модуля с опцией v modprobe -r e1000 modprobe -v e1000 debug=16 Но глядя на artesможно предположить, что дело не в модуле, а в настройках интерфейса…...
Ошибки не исчезают с опытом - они просто умнеют
|
artes |
|
Темы:
3
Сообщения:
36
Участник с: 12 июня 2009
|
Сделал как Вы посоветовали.
Ничего не изменилось
Это когда я процесс qemu убиваю, тогда и появляется эта запись.С tap-интерфейсами режим однозначно рабочий. Пробовал его на ios-xr, juniper vsrx, а так же со всеми виртуальными машинами. Проблема вылезла только на vios. Причем есть одна особенность, как только мне почти вслепую получается из vios выключить интерфейс, сообщения прекращаются, но возобновляются при обратном его включении. Может проблема в этих сообщениях ? Но пока разумного объяснения не нашел
|
vasek |
|
Темы:
47
Сообщения:
11743
Участник с: 17 февраля 2013
|
Хотел понять — откуда выскакивает «It is not fully implemented» - для чего запустил поиск данной строки в файлах исходников Linux …. и ничего, что относится к данной проблеме, не нашлось..... (нашлась всего одна строчка в файле linux-х.х.х/drivers/scsi/arm/acornscsi.c: ....)
Ошибки не исчезают с опытом - они просто умнеют
|
artes |
|
Темы:
3
Сообщения:
36
Участник с: 12 июня 2009
|
в файле drivers/net/ethernet/intel/e1000/e1000_hw.c есть упоминания регистров, которые фигурируют в сообщениях, но больше понять и найти ничего не смог.
|
vasek |
|
Темы:
47
Сообщения:
11743
Участник с: 17 февраля 2013
|
artesЗадело, что не могу найти данную строку в исходниках ….. Начал с модуля e1000, он вшит в ядро, нашел, распаковал.... ничего там нет …. Но такого быть не может, если выскакивает сообщение, значит ошибка обрабатывается … нужно только найти кто это обрабатывает …. Дал в инете расширенный поиск ….. и напал на один патч, в котором и выскочила данная строчка (... в принципе можно было и допереть, что дело в qemu, а не в модуле .....) и немного прояснилось …. у меня нет пакета qemu, пришлось скачать …. а после распаковки и анализа бинарника /usr/bin/qemu-system-i386 (/usr/bin/qemu-system-x86_64) нашел в нем нужную строчку (за не имением исходников пришлось применять специнструмент....) Посмотрим один из найденных адресов 0x004cc6b0 ….. Ну смотреть это бесполезно — нужно обращаться к исходникам, чтобы понять причину, но, главное, излечить это вряд ли удастся …..
Ошибки не исчезают с опытом - они просто умнеют
|
artes |
|
Темы:
3
Сообщения:
36
Участник с: 12 июня 2009
|
Исходный код qemu я брал с офф. сайта. Точнее пробовал пересобрать пакет через abs, играясь параметрами cflags, а она собственно его скачивает с офф. сайта. Нашел функцию которая выводит это сообщение в файле qemu-2.6.0/hw/net/e1000.c
На С писал очень давно, практически в другой жизни, но насколько я понял какая то проблема с mac-адресом? |
vasek |
|
Темы:
47
Сообщения:
11743
Участник с: 17 февраля 2013
|
artesСам код совпадает с патчем, приведенным выше, а в начале патча идет пояснение … толковать перевод остерегаюсь, так как спецом в этой части не являюсь и смысл понял частично …..... Но понял одно, проблему собственными силами не решить... Похоже патч устраняет не все проблемы ….. UPD … мне кажется, что вся проблема в типе данных uint8_t, который используется (а это завязано и на mac-адрес и на регистры), но могу и ошибаться ...
Ошибки не исчезают с опытом - они просто умнеют
|