Page 1 of 2

Снова qemu [РЕШЕНО]

Posted: Sun Oct 03, 2010 7:33 pm
by SoUrcerer
Возникло у меня желание использовать сеть из Колибри. Разумеется, на реальной машине. Ага, желание возникло, но реализовать его пока что не могу :(
Поэтому хочу хотя бы через qemu соединиться с интернетом.
Предварительно перечитал форум, все предолжения (кроме OpenVPN) попробовал. Как уже писалось ранее на форуме, команда, запускающая у Alexus'a qemu с сетью, на новых версиях qemu не работает.
Linux Mint 9, QEMU 0.12.

После запуска:

Code: Select all

Zero-config service:
Detected card: 813910EC
MAC: 52-54-00-12-34-56
K: net_socket_alloc (0x80BC3000)
K: socket_open (0x80BC3000)
Timeout!
K: socket_close (0x00000001)
K: net_socket_free (0x80DC3000)
Link Local IP assigned: 169.254.154.77
Waiting 2350mc
Sending Probe
Еще пару "Waiting" и "Sending Announce", и всё. Сеть не работает :(
Есть какие-нибудь предложения?

Re: Снова qemu

Posted: Sun Oct 03, 2010 8:06 pm
by SoUrcerer
Теперь взял QEMU 0.9 для Windows, запускаю через wine. Веселее!
Прописал вручную ip, теперь downloader заканчивает свою работу не на "Resolving...", а

Code: Select all

"GotResponse"
"GotResponse"
"Resolved"
GET /index.php?s=index.htm HTTP/1.1
Host: nigma.ru
User-Agent: Kolibrios Downloader
Connection: Close

rid
close socket: 00000000
pos = 0000C3A5
chunks end
Результат - нулевой, файл .download не создается, а если таковой имелся - то удаляется.
Ядро пишет на доску отладки, что занимает сокет, открывает, закрывает, освобождает.

upd: торрро! нужно было переместить окошко htmlv, чтобы оно перерисовалось!

немного сеть работает ;) красота...
но жду нативного решения?:)

Re: Снова qemu

Posted: Sun Oct 03, 2010 8:52 pm
by Mario
А куда оно сохраняет загруженное? Вроде на рамдиск, тогда надо места поболее выделить - удали что-нибудь ненужное.

Re: Снова qemu

Posted: Sun Oct 03, 2010 9:04 pm
by SoUrcerer
Cтер docpack :) замечательно работает все...
Вот что подумалось - я пробую в linux-версии последнюю ночную сборку, а в windows-версии - 0.7.7.0
Надо сравнить...

Re: Снова qemu

Posted: Sun Oct 03, 2010 9:08 pm
by SoUrcerer
Не помогло. Видимо, дело действительно в настройках qemu. По совету hidnplayr'a ставлю сейчас в qemu другую ОС, чтобы убедиться в правильности настроек сети

Re: Снова qemu

Posted: Sun Oct 03, 2010 9:57 pm
by SoUrcerer
Те же настройки, в minix 3 сеть есть :( Интересно, и в то же время печально

Re: Снова qemu

Posted: Mon Oct 04, 2010 1:07 am
by Mario
Ты забываешь, что в Minix полноценная сетевая подсистема, а в Колибри не факт, что реализовано все. Например в реальном железе оно может работать, а на эмуляторе нет и наоборот. А потом окажется что разработчики устройства или эмулятора что-то не учли, или наоборот мы что-то не учли из стандартов. Или вообще в стандарте этого нет.

Сравни кстати какие сетевые карточки эмулируются в Виндовой версии, а какие в Linux версии.

Re: Снова qemu

Posted: Mon Oct 04, 2010 8:59 am
by SoUrcerer
Конечно, я понимаю, что история minix гораздо больше, и многое из того, что есть в ней, отсутствует в Колибри. Но ведь печален факт, что сеть не работает :(
В linux'овой версии RTL8139, а в виндовой - RTL8029. Вроде бы должно работать? Однако: в windows версии qemu 0.9 сеть можно настроить, в linux версии qemu 0.12.3 сетевая карта определяется, но сеть настроить не удалось, а в версии qemu 0.12.2 для windows вообще сетевая карта не определяется.
Хочу еще попробовать версию 0.9 для linux, только ее видимо придется компилировать ручками, чтобы не перетереть свежую

Re: Снова qemu

Posted: Mon Oct 04, 2010 9:29 am
by Mario
На английском форуме есть статья:
http://meos32.7.forumer.com/viewtopic.php?t=220
но по ней я не смог настроить.

Можешь описать подробно что и куда прописывал в Qemu под Виндовс? (что в самом Qemu, а что в Колибри)

Re: Снова qemu

Posted: Mon Oct 04, 2010 9:40 am
by SoUrcerer
QEMU я запускаю как обычно:
qemu -L . -fda kolibri.img -boot a

Затем в Колибри открываю board, жду результатов zeroconf, затем запускаю stackcfg и ставлю настройки 1 в 1 как на английском форуме.
После этого в qemu 0.9 в windows или wine все работает.

Re: Снова qemu

Posted: Mon Oct 04, 2010 10:16 am
by Mario
В общем надо соблюсти несколько условий:
1) В конфигурацию в Колибри вбить:

Code: Select all

Fixed:   10.0..2.15 (our machine IP) 
Gateway: 10.0.2.2 (qemu’s gateway) 
Subnet:  255.255.255.0 
DNS IP:  10.0.2.3
2) На рамдиске должно быть достаточно места для загрузки страницы - 2 Кб явно не достаточно.
3) Адрес должен быть правильным и известным для DNS. (например http://www.ya.ru)
4) Страница не должна быть сжатой. Так как сетевой загрузчик это не обрабатывает.
5) Запрос должен пройти - почему-то загрузчик не запрашивает несколько раз при неудачной загрузке, хотя как раз это следовало реализовать сразу. Скажем цикл из 5-10 запросов при неудачном результате. Все-же сеть это такая штука, что теряет пакеты.

Это работает в Виндовс версии Qemu 0.9.1.
С Линуксовой надо разбираться.

Re: Снова qemu

Posted: Mon Oct 04, 2010 10:20 am
by SoUrcerer
В линуксовой 0.9.1 все точно так же.
Чем новее версия qemu, тем больше проблем судя по всему

Re: Снова qemu

Posted: Mon Oct 04, 2010 10:22 am
by Mario
Вечером, дома, попробую и отпишусь.

Re: Снова qemu

Posted: Mon Oct 04, 2010 11:06 am
by SoUrcerer
Итак, удалось поднять сеть в Колибри в qemu 0.9 и qemu 0.12.2 и в windows, и в linux.

Инструкция


Если у вас qemu 0.9:
Spoiler:1. Запускаем qemu командой

Code: Select all

qemu -fda kolibri.img -boot a 
Опционально можно добавить любые параметры из руководства qemu. Пользователям windows возможно придется использовать параметр -L .
2. После запуска Колибри запускаем board - чтобы посмотреть, что же происходит. Если zeroconf пишет, что "no device found", сразу смотрим раздел "Если ничего не получилось"
3. Запускаем какую-нибудь сетевую программу, например, nslookup, htmlv или airc. Если работает - значит, поздравляю! dhcp сработал, Колибри уже в сети, и дальше уже можно не читать
4. Не заработало? Ничего страшного. Запускаем настройки сети (stackcfg), выбираем "Packet driver (ethernet)", "Fixed" и вбиваем настройки

Code: Select all

Fixed: 10.0.2.15
Gateway (шлюз): 10.0.2.2
Subnet (подсеть): 255.255.255.0
DNS IP: 10.0.2.3
Жмем Apply (Применить), и повторяем пункт 3. Не заработало? Смотрим раздел "Если ничего не получилось"
Если у вас qemu 0.12:
Spoiler:1. Запускаем qemu командой

Code: Select all

qemu -fda kolibri.img -boot a -net nic,model=ne2k_pci -net user 
Параметры сети обязательны, без них точно ничего не заработает.
Опционально можно добавить любые параметры из руководства qemu. Пользователям windows возможно придется использовать параметр -L .
2. После запуска Колибри запускаем board - чтобы посмотреть, что же происходит. Если zeroconf пишет, что "no device found", сразу смотрим раздел "Если ничего не получилось"
3. Запускаем какую-нибудь сетевую программу, например, nslookup, htmlv или airc. Если работает - значит, поздравляю! dhcp сработал, Колибри уже в сети, и дальше уже можно не читать
4. Не заработало? Очень странно! Отписываемся на форуме, затем запускаем настройки сети (stackcfg), выбираем "Packet driver (ethernet)", "Fixed" и вбиваем настройки

Code: Select all

Fixed: 10.0.2.15
Gateway (шлюз): 10.0.2.2
Subnet (подсеть): 255.255.255.0
DNS IP: 10.0.2.3
Жмем Apply (Применить), и повторяем пункт 3. Не заработало? Смотрим раздел "Если ничего не получилось"
Если ничего не получилось:
Spoiler:1. В этой ветке форума показываем содежимое доски отладки
2. Для qemu 0.9 принудительно указываем -net nic,model=ne2k_pci -net user
3. Если qemu 0.12 или в qemu 0.9 все равно прошлый метод не помог, перебираем все варианты model согласно документации qemu, повторяем все пункты по настройке сети и отписываемся в форуме
Обладатели других версий, пожалуйста, поделитесь опытом.

Re: Снова qemu

Posted: Mon Oct 04, 2010 11:08 am
by SoUrcerer
Просьба модераторам пометить тему как "[Решено]".
Чтобы проще было искать решения проблем.