Board.KolibriOS.org

Official KolibriOS board
It is currently Wed Jan 22, 2020 7:23 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 29 posts ]  Go to page Previous 1 2
Author Message
 Post subject: Re: Снова qemu
PostPosted: Mon Oct 04, 2010 12:16 pm 
Sorcerer wrote:
Просьба модераторам пометить тему как "[Решено]".
Чтобы проще было искать решения проблем.

Сделал, но разве сам не имеешь доступ к своему же посту?


Top
   
PostPosted: Tue Oct 05, 2010 12:11 am 
В общем выяснилось что в ALT Linux у меня стоит версия 0.12.1
Я использую для запуска оболочку AQemu и выставил в ней сетевую карту NE2000 PCI. Все заработало через zeroconfig. Адреса назначились сами. Единственно по прежнему сжатые ресурсы не открываются.


Top
   
PostPosted: Tue Oct 05, 2010 9:49 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Раньше у меня вроде бы downloader вместо board.kolibrios.org показывал всякую кашу, а теперь вообще отказывается сохранять.
Насколько я понимаю, сжатие производится с помощью gzip, так что в теории в Колибри распаковать страницу можно...


Top
   
PostPosted: Tue Oct 05, 2010 1:51 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
Я подправила драйвер RTL8139 в ядре из trunk, теперь должно работать и под qemu. Дело было в том, что драйвер записывал некоторые конфигурационные регистры, используя out размером в слово, а эмулятор карты внутри qemu умеет обрабатывать только записи размером в двойное слово - в результате конфигурационный регистр приёма оставался нулевым и приёмник успешно отбрасывал пришедшие пакеты как не прошедшие фильтр.

Sorcerer, насколько я понимаю, дело не в сжатии: сжатие в протоколе HTTP исключительно опционально, и если клиент не говорит явным образом серверу "я поддерживаю сжатие, если хочешь, отдавай сжатую страницу" путём указания HTTP-заголовка "Accept-Encoding: gzip", то сервер не имеет права посылать сжатую страницу. Проблема называется "chunked transfer coding": сервер имеет право генерировать страницу по кускам и посылать её тоже по кускам, в заголовках задавая вместо полной длины страницы Content-Length - которая в этом случае заранее неизвестна - кодировку Transfer-Encoding: chunked, в которой перед каждым куском идёт его длина.

_________________
Сделаем мир лучше!


Top
   
PostPosted: Tue Oct 05, 2010 2:17 pm 
CleverMouse
Quote:
Я подправила драйвер RTL8139 в ядре из trunk, теперь должно работать и под qemu.

Большое спасибо. Я рад, что ты еще участвуешь в проекте. Для нас было бы тяжело потерять грамотного специалиста по сетевым вопросам.
Quote:
Проблема называется "chunked transfer coding": сервер имеет право генерировать страницу по кускам и посылать её тоже по кускам, в заголовках задавая вместо полной длины страницы Content-Length - которая в этом случае заранее неизвестна - кодировку Transfer-Encoding: chunked, в которой перед каждым куском идёт его длина

Чем-то похоже на структуру PNG, там тоже данные кусками могут идти и идут.


Top
   
PostPosted: Tue Oct 05, 2010 3:24 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
Я посмотрела на код downloader. Он нормально обрабатывает chunked coding, а спотыкается на ситуациях, когда длина явным образом не указана - нет ни Content-Length, ни Transfer-Encoding - а определяется по закрытию соединения. Я добавила обработку таких ситуаций, теперь http://board.kolibrios.org скачивается. Я сейчас приложу новую версию downloader в теме, посвящённой ему. К сожалению, иногда страницы не докачиваются до конца, по-видимому, это более глубокая проблема где-то в старом сетевом стеке ядра из trunk.

_________________
Сделаем мир лучше!


Top
   
PostPosted: Tue Oct 05, 2010 5:05 pm 
Я протестировал на версии 0.9.1 под Виндовс ХП. С новым ядром и с новым downloader'ом.
Вот лог
Attachment:
BOARDLOG.TXT [5.53 KiB]
Downloaded 137 times

Строка запуска:
Code:
qemu.exe -L . -m 128 -boot a -fda kolibri.img -hda c100.img -soundhw all -localtime -M pc -k ru

Памяти достаточно - снес директорию с игрушками и докпак.

1) zeroconfig карточку не настроил, настройки ввел вручную.
2) http://www.kolibrios.org и http://www.google.ru, http://board.kolibrios.org открылись, но в непосредственно в тему форума войти не получается - вероятно ссылка режется на каком-то этапе, предполагаю, что в HTML View.
Attachment:
downloader_sm.jpg
downloader_sm.jpg [ 67.54 KiB | Viewed 4085 times ]


Top
   
PostPosted: Tue Oct 05, 2010 9:45 pm 
Протестировал на ALT Linux c Qemu 0.12.1
В AQemu выбрал RTL8139.
Лог:
Attachment:
boardlog.txt [7.26 KiB]
Downloaded 141 times

Похоже что cо ссылки таки на каком-то этапе режутся, например прямо вбитая ссылка на тему: FASM - flat assembler открывается тема заполнение нулями, ну и по некоторым ссылкам вообще "белиберда" и ничего не открывается.
Attachment:
downloader_2sm.png
downloader_2sm.png [ 39.19 KiB | Viewed 4073 times ]

А вот всем известный Гугль.
Attachment:
downloader_3sm.png
downloader_3sm.png [ 37.43 KiB | Viewed 4073 times ]


Top
   
PostPosted: Tue Oct 05, 2010 10:13 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Подозрительно, сейчас проверил код htmlv - аж 4 кбайта под URL.
Сравнивая ссылки, приходим к выводу, что все же кто-то что-то обрезает.
viewtopic.php?f=9&t=1514&start=0
viewtopic.php?f=2&t=151

Ровно 48 байт слева осталось


Top
   
PostPosted: Wed Oct 06, 2010 4:08 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
Mario, я посмотрела логи.

Необходимость вручную вбивать настройки сети под qemu 0.9.1 - следствие бага в qemu 0.9. По стандарту RFC2131 DHCP-сервер, посылающий DHCPOFFER на запрос DHCPDISCOVER без указания обратного адреса, должен отвечать широковещательно. Сервер, встроенный в qemu, отвечает на адрес 10.0.2.15, закреплённый за клиентом. Сетевой стек Колибри получает ответ, посланный сервером; обнаруживает, что пакет предназначен 10.0.2.15; в связи с тем, что IP-адрес ещё не настроен, не догадывается, что пакет пришёл по адресу; отбрасывает пакет, оставляя от него только воспоминание в виде записи на доске отладки, которое видно в логе - "K : ip_rx - dumped (ip: 10.0.2.15)". Таким образом, это баг qemu; судя по всему, в более свежих версиях баг устранили.

Обрезание урла - следствие ограничения в 50 символов, введённого автором httpc и унаследованного в downloader. Я увеличила ограничение до 256 символов; учитывая, что урл большей длины через командную строку передать нельзя, пока такого ограничения должно хватать.

_________________
Сделаем мир лучше!


Top
   
PostPosted: Wed Oct 06, 2010 4:31 pm 
CleverMouse
Quote:
Таким образом, это баг qemu; судя по всему, в более свежих версиях баг устранили.

Буду искать более свежий эмулятор под Виндовс.
Quote:
Обрезание урла - следствие ограничения в 50 символов, введённого автором httpc и унаследованного в downloader. Я увеличила ограничение до 256 символов; учитывая, что урл большей длины через командную строку передать нельзя, пока такого ограничения должно хватать.

Спасибо. Осталось только автора браузера найти.


Top
   
PostPosted: Wed Oct 06, 2010 5:01 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
Mario, я качала с http://homepage3.nifty.com/takeda-toshiya/qemu/ и запускала с "-net nic,model=ne2k_pci -net user".

_________________
Сделаем мир лучше!


Top
   
PostPosted: Wed Oct 06, 2010 5:05 pm 
CleverMouse
Спасибо за ссылку.
Вот здесь есть еще вроде новее:
http://lassauge.free.fr/qemu/

UPD Хотя нет это только для i386


Top
   
PostPosted: Wed Oct 06, 2010 7:43 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
К HTMLv можно прикрутить в принципе формы для GET-запросов, и тогда можно будет искать в гугле легко и непринужденно. Но пока используется downloader, и, как следствие, невозможна отправка POST, на форуме писать будет нельзя :(


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 29 posts ]  Go to page Previous 1 2

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited