<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for Alexey Tarasov's notes</title>
	<atom:link href="http://blogs.freebsdish.org/taleks/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.freebsdish.org/taleks</link>
	<description>Blog about PXE and tcp implementation in preboot environment</description>
	<lastBuildDate>Sun, 09 Sep 2007 08:03:52 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>Comment on Next thing to understand by taleks</title>
		<link>http://blogs.freebsdish.org/taleks/2007/04/29/next-thing-to-understand/comment-page-1/#comment-474</link>
		<dc:creator>taleks</dc:creator>
		<pubDate>Sun, 09 Sep 2007 08:03:52 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.freebsdish.org/taleks/2007/04/29/next-thing-to-understand/#comment-474</guid>
		<description><![CDATA[Well, although I was looking sometimes to Etherboot implementation of UNDI driver, I&#039;ve not worked with it during this project.

&gt; Have you ever seen a case where the UNDI API does not report the correct
&gt; interrupt number for the UNDI device? 
No, it always reported correct number (at least in my tests), the same number reported BIOS at POST. But same interrupt may be shared with other devices, in such case - difficulties are probable (cause it&#039;s needed to chain interrupt to second handler).

&gt; Or have you encountered UNDI implementations that do not trigger 
&gt; interrupts when frames are received?
That is possible. In fact, during coding pxe_http I&#039;ve met such problem - in some cases interrupt was not  triggered (I don&#039;t remember now, was this situation on virtual machine or on my Intel motherboard). I think problem may be in incorrect End of Interrupt (EOI sending to PICs) handling in my code (although I was writing it practicaly the same as in Intel examples and sample code from related books). But this problem was solved by omitting triggered interrupt check.

It&#039;s possible call PXE API function PXENV_UNDI_ISR with FuncFlag PXENV_UNDI_ISR_IN_PROCESS even if there was no interrupt. In such case you will get PXENV_UNDI_ISR_OUT_DONE or new packet flag if any frame received.

So, you will get small overhead by calling function if there was no interrupt, but code will be correctly working. AFAIK, earlier Etherboot implementation worked similar (call without triggering check), look comments to undi_poll() function at /drivers/net/undi.c.

Hope, this will help you.]]></description>
		<content:encoded><![CDATA[<p>Well, although I was looking sometimes to Etherboot implementation of UNDI driver, I&#8217;ve not worked with it during this project.</p>
<p>&gt; Have you ever seen a case where the UNDI API does not report the correct<br />
&gt; interrupt number for the UNDI device?<br />
No, it always reported correct number (at least in my tests), the same number reported BIOS at POST. But same interrupt may be shared with other devices, in such case &#8211; difficulties are probable (cause it&#8217;s needed to chain interrupt to second handler).</p>
<p>&gt; Or have you encountered UNDI implementations that do not trigger<br />
&gt; interrupts when frames are received?<br />
That is possible. In fact, during coding pxe_http I&#8217;ve met such problem &#8211; in some cases interrupt was not  triggered (I don&#8217;t remember now, was this situation on virtual machine or on my Intel motherboard). I think problem may be in incorrect End of Interrupt (EOI sending to PICs) handling in my code (although I was writing it practicaly the same as in Intel examples and sample code from related books). But this problem was solved by omitting triggered interrupt check.</p>
<p>It&#8217;s possible call PXE API function PXENV_UNDI_ISR with FuncFlag PXENV_UNDI_ISR_IN_PROCESS even if there was no interrupt. In such case you will get PXENV_UNDI_ISR_OUT_DONE or new packet flag if any frame received.</p>
<p>So, you will get small overhead by calling function if there was no interrupt, but code will be correctly working. AFAIK, earlier Etherboot implementation worked similar (call without triggering check), look comments to undi_poll() function at /drivers/net/undi.c.</p>
<p>Hope, this will help you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Next thing to understand by Clay</title>
		<link>http://blogs.freebsdish.org/taleks/2007/04/29/next-thing-to-understand/comment-page-1/#comment-460</link>
		<dc:creator>Clay</dc:creator>
		<pubDate>Sat, 08 Sep 2007 04:07:56 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.freebsdish.org/taleks/2007/04/29/next-thing-to-understand/#comment-460</guid>
		<description><![CDATA[I&#039;m having trouble using the UNDI driver with Etherboot. The UNDI API reports interrupt 0x0b, but that interrupt never seems to be triggered.

Have you ever seen a case where the UNDI API does not report the correct interrupt number for the UNDI device? Or have you encountered UNDI implementations that do not trigger interrupts when frames are received?

Thanks!]]></description>
		<content:encoded><![CDATA[<p>I&#8217;m having trouble using the UNDI driver with Etherboot. The UNDI API reports interrupt 0x0b, but that interrupt never seems to be triggered.</p>
<p>Have you ever seen a case where the UNDI API does not report the correct interrupt number for the UNDI device? Or have you encountered UNDI implementations that do not trigger interrupts when frames are received?</p>
<p>Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Ping works by taleks</title>
		<link>http://blogs.freebsdish.org/taleks/2007/05/23/ping-works/comment-page-1/#comment-9</link>
		<dc:creator>taleks</dc:creator>
		<pubDate>Tue, 29 May 2007 13:16:54 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.freebsdish.org/taleks/2007/05/23/ping-works/#comment-9</guid>
		<description><![CDATA[Thanks for interest to project and testing.

This result is enough for this test. Main goal for provided executable - test, if PXE API is called correctly in different implementations.  It seems it works, and that&#039;s good. DUP! issue seems result of not very good implementation of ICMP  in my code (I&#039;ll check, which is may be origin of this), but it&#039;s unrelated to PXE.

The next test will be related to DNS resolving after I finish doing of UDP and first version of sockets implementation. I tjhink, it&#039; ll be done at the end of this week.

And the most interested test will be simple telnet client. Main purpose to test TCP implementation. It&#039;s birthdate at the end of Juny/start of July.

And after that - final result.

I&#039;ll drop you some lines after doing new tests.
Once more, thanks for interest.]]></description>
		<content:encoded><![CDATA[<p>Thanks for interest to project and testing.</p>
<p>This result is enough for this test. Main goal for provided executable &#8211; test, if PXE API is called correctly in different implementations.  It seems it works, and that&#8217;s good. DUP! issue seems result of not very good implementation of ICMP  in my code (I&#8217;ll check, which is may be origin of this), but it&#8217;s unrelated to PXE.</p>
<p>The next test will be related to DNS resolving after I finish doing of UDP and first version of sockets implementation. I tjhink, it&#8217; ll be done at the end of this week.</p>
<p>And the most interested test will be simple telnet client. Main purpose to test TCP implementation. It&#8217;s birthdate at the end of Juny/start of July.</p>
<p>And after that &#8211; final result.</p>
<p>I&#8217;ll drop you some lines after doing new tests.<br />
Once more, thanks for interest.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Ping works by Helio</title>
		<link>http://blogs.freebsdish.org/taleks/2007/05/23/ping-works/comment-page-1/#comment-8</link>
		<dc:creator>Helio</dc:creator>
		<pubDate>Tue, 29 May 2007 03:18:46 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.freebsdish.org/taleks/2007/05/23/ping-works/#comment-8</guid>
		<description><![CDATA[what kind of testing do you need? so far I&#039;ve tested it on my local lan on this machine:

compaq evo: intel boot agent 4.1.08 
can: 
pxe arp both gateway and another node on local lan
pxe ping gateway, another node on local lan, and another node on another network when gateway is set manually with pxe route
pxe await and reply to pings from both local node and gateway, however first reply is sent twice for both. ex:
$ ping 192.168.1.8
PING 192.168.1.8 (192.168.1.8): 56 data bytes
64 bytes from 192.168.1.8: icmp_seq=1 ttl=64 time=8.023 ms
64 bytes from 192.168.1.8: icmp_seq=1 ttl=64 time=8.459 ms (DUP!)
64 bytes from 192.168.1.8: icmp_seq=2 ttl=64 time=5.102 ms

if there is anything specific you&#039;d like to have tested, just fire me off an email. I&#039;m anxiously awaiting this project and would like to do anything I can to help :)]]></description>
		<content:encoded><![CDATA[<p>what kind of testing do you need? so far I&#8217;ve tested it on my local lan on this machine:</p>
<p>compaq evo: intel boot agent 4.1.08<br />
can:<br />
pxe arp both gateway and another node on local lan<br />
pxe ping gateway, another node on local lan, and another node on another network when gateway is set manually with pxe route<br />
pxe await and reply to pings from both local node and gateway, however first reply is sent twice for both. ex:<br />
$ ping 192.168.1.8<br />
PING 192.168.1.8 (192.168.1.8): 56 data bytes<br />
64 bytes from 192.168.1.8: icmp_seq=1 ttl=64 time=8.023 ms<br />
64 bytes from 192.168.1.8: icmp_seq=1 ttl=64 time=8.459 ms (DUP!)<br />
64 bytes from 192.168.1.8: icmp_seq=2 ttl=64 time=5.102 ms</p>
<p>if there is anything specific you&#8217;d like to have tested, just fire me off an email. I&#8217;m anxiously awaiting this project and would like to do anything I can to help <img src='http://blogs.freebsdish.org/taleks/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on BTX &amp; etc by taleks</title>
		<link>http://blogs.freebsdish.org/taleks/2007/04/18/btx-etc/comment-page-1/#comment-3</link>
		<dc:creator>taleks</dc:creator>
		<pubDate>Wed, 25 Apr 2007 10:23:24 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.freebsdish.org/taleks/2007/04/18/btx-etc/#comment-3</guid>
		<description><![CDATA[Well, in fact all specs throughout :) It&#039;s based on 16 bit real mode code. All examples are also using 16 bit asm code or 16bit C.

The only thing that is definitly - that protected mode with 32 bit stack is not suppoprted in some UNDI functions. But it&#039;s not said e.g., when  PXE!  structure fields related to segments selectors are filled if system starts in real mode and my code will start PM. It&#039;s said &quot;filles in by UNDI before any calls are made&quot;. But, how it&#039;ll find selector in my space? Or I must use this selector and load GDT uusing provided values. And etc. It&#039;s a little bit hazy for me.

Thanks for you help suggestion, but as I see in Etherboot and other PXE related projects (pxeboot in FreeBSD), main trick is to go in real mode (to be more correct: virtual 86 mode) before calling PXE and UNDI functions, so I&#039;ll do the same and thus it will not be protected mode problems in working with PXE. At least, I hope for that.]]></description>
		<content:encoded><![CDATA[<p>Well, in fact all specs throughout <img src='http://blogs.freebsdish.org/taleks/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  It&#8217;s based on 16 bit real mode code. All examples are also using 16 bit asm code or 16bit C.</p>
<p>The only thing that is definitly &#8211; that protected mode with 32 bit stack is not suppoprted in some UNDI functions. But it&#8217;s not said e.g., when  PXE!  structure fields related to segments selectors are filled if system starts in real mode and my code will start PM. It&#8217;s said &#8220;filles in by UNDI before any calls are made&#8221;. But, how it&#8217;ll find selector in my space? Or I must use this selector and load GDT uusing provided values. And etc. It&#8217;s a little bit hazy for me.</p>
<p>Thanks for you help suggestion, but as I see in Etherboot and other PXE related projects (pxeboot in FreeBSD), main trick is to go in real mode (to be more correct: virtual 86 mode) before calling PXE and UNDI functions, so I&#8217;ll do the same and thus it will not be protected mode problems in working with PXE. At least, I hope for that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on BTX &amp; etc by gcooper</title>
		<link>http://blogs.freebsdish.org/taleks/2007/04/18/btx-etc/comment-page-1/#comment-2</link>
		<dc:creator>gcooper</dc:creator>
		<pubDate>Wed, 25 Apr 2007 06:11:27 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.freebsdish.org/taleks/2007/04/18/btx-etc/#comment-2</guid>
		<description><![CDATA[Alexey,
       Just curious -- what particular portion of the specs are hazy? Maybe I can rattle a few bushes for you over in Folsom :).
-Garrett]]></description>
		<content:encoded><![CDATA[<p>Alexey,<br />
       Just curious &#8212; what particular portion of the specs are hazy? Maybe I can rattle a few bushes for you over in Folsom <img src='http://blogs.freebsdish.org/taleks/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .<br />
-Garrett</p>
]]></content:encoded>
	</item>
</channel>
</rss>
