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

KoOS network development
  • Теперь взял 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, чтобы оно перерисовалось!

    немного сеть работает ;) красота...
    но жду нативного решения?:)
  • А куда оно сохраняет загруженное? Вроде на рамдиск, тогда надо места поболее выделить - удали что-нибудь ненужное.
  • Cтер docpack :) замечательно работает все...
    Вот что подумалось - я пробую в linux-версии последнюю ночную сборку, а в windows-версии - 0.7.7.0
    Надо сравнить...
  • Не помогло. Видимо, дело действительно в настройках qemu. По совету hidnplayr'a ставлю сейчас в qemu другую ОС, чтобы убедиться в правильности настроек сети
  • Те же настройки, в minix 3 сеть есть :( Интересно, и в то же время печально
  • Ты забываешь, что в Minix полноценная сетевая подсистема, а в Колибри не факт, что реализовано все. Например в реальном железе оно может работать, а на эмуляторе нет и наоборот. А потом окажется что разработчики устройства или эмулятора что-то не учли, или наоборот мы что-то не учли из стандартов. Или вообще в стандарте этого нет.

    Сравни кстати какие сетевые карточки эмулируются в Виндовой версии, а какие в Linux версии.
  • Конечно, я понимаю, что история minix гораздо больше, и многое из того, что есть в ней, отсутствует в Колибри. Но ведь печален факт, что сеть не работает :(
    В linux'овой версии RTL8139, а в виндовой - RTL8029. Вроде бы должно работать? Однако: в windows версии qemu 0.9 сеть можно настроить, в linux версии qemu 0.12.3 сетевая карта определяется, но сеть настроить не удалось, а в версии qemu 0.12.2 для windows вообще сетевая карта не определяется.
    Хочу еще попробовать версию 0.9 для linux, только ее видимо придется компилировать ручками, чтобы не перетереть свежую
  • На английском форуме есть статья:
    http://meos32.7.forumer.com/viewtopic.php?t=220
    но по ней я не смог настроить.

    Можешь описать подробно что и куда прописывал в Qemu под Виндовс? (что в самом Qemu, а что в Колибри)
  • QEMU я запускаю как обычно:
    qemu -L . -fda kolibri.img -boot a

    Затем в Колибри открываю board, жду результатов zeroconf, затем запускаю stackcfg и ставлю настройки 1 в 1 как на английском форуме.
    После этого в qemu 0.9 в windows или wine все работает.
  • В общем надо соблюсти несколько условий:
    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.
    С Линуксовой надо разбираться.
  • В линуксовой 0.9.1 все точно так же.
    Чем новее версия qemu, тем больше проблем судя по всему
  • Вечером, дома, попробую и отпишусь.
  • Итак, удалось поднять сеть в Колибри в 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, повторяем все пункты по настройке сети и отписываемся в форуме
    Обладатели других версий, пожалуйста, поделитесь опытом.
  • Просьба модераторам пометить тему как "[Решено]".
    Чтобы проще было искать решения проблем.
  • Who is online

    Users browsing this forum: No registered users and 2 guests