<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ethernet transmit buffer full in Kinetis Software Development Kit</title>
    <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/ethernet-transmit-buffer-full/m-p/613186#M6355</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Elliott,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the issue is the same, regardless of the underlaying system.&lt;/P&gt;&lt;P&gt;You have to take care for calling tcpip_thread() enough times in your bare-metal application.&lt;/P&gt;&lt;P&gt;I think it's not necessary to disable RX-IRQ. The RX driver will handle the case, when no buffer is free.&lt;/P&gt;&lt;P&gt;Instead I would process the already received packets.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you have enough memory buffers?&lt;/P&gt;&lt;P&gt;My application uses:&lt;/P&gt;&lt;P&gt;#define PBUF_POOL_SIZE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32&lt;/P&gt;&lt;P&gt;#define PBUF_POOL_BUFSIZE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 256U&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you rework the "ethernetif_Input()"? The original KSDK2.0 version leads to strange errors, because of an error when receiving into chained buffers. --&amp;gt; memory is overwritten...&lt;/P&gt;&lt;P&gt;Have a look on my "ethernetif_Input()" in &lt;A href="https://community.nxp.com/thread/395104"&gt;https://community.nxp.com/thread/395104&lt;/A&gt;‌&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Manfred&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 10 Oct 2016 07:46:21 GMT</pubDate>
    <dc:creator>manfredschnell</dc:creator>
    <dc:date>2016-10-10T07:46:21Z</dc:date>
    <item>
      <title>ethernet transmit buffer full</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/ethernet-transmit-buffer-full/m-p/613183#M6352</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am developing a product using an MK64FN1M0VLL12 microcontroller and a two-port managed ethernet switch, SMSC's LAN9303i. &amp;nbsp;I have encountered a problem in which the ethernet driver seems to lock up after a flood of packets (ICMP/ping, in this case). &amp;nbsp;The symptom is that the transmit buffer ring appears to fill up, but gets in a state where it never gets cleaned up. &amp;nbsp;Subsequent calls to&amp;nbsp;ENET_DRV_SendData fail due to the buffer being full. &amp;nbsp;I do not observe the Tx interrupt ever being triggered in this state (thus,&amp;nbsp;ENET_DRV_CleanupTxBuffDescrip() is never called, which 'frees' up buffer descriptors).&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The only options I can think of are:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Apply some band-aid by manually cleaning up the buffer descriptor ring (when? how?)&lt;/LI&gt;&lt;LI&gt;Increase the transmit buffer ring size. &amp;nbsp;This also seems like a band-aid that doesn't address the root problem.&lt;/LI&gt;&lt;LI&gt;Reset the whole driver when this state occurs (last resort)&lt;/LI&gt;&lt;/OL&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Oct 2016 21:00:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/ethernet-transmit-buffer-full/m-p/613183#M6352</guid>
      <dc:creator>mrtumnus</dc:creator>
      <dc:date>2016-10-06T21:00:28Z</dc:date>
    </item>
    <item>
      <title>Re: ethernet transmit buffer full</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/ethernet-transmit-buffer-full/m-p/613184#M6353</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Elliott,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I had a similar problem with K64 + KSDK2.0 and KSZ8863MLL switching ethernet phy. On a packet flood the buffer memory is filled up with incomming messages --&amp;gt; no memory for tx.&lt;/P&gt;&lt;P&gt;Please have a look at &lt;A href="https://community.nxp.com/message/814588"&gt;FRDM-K64F KSDK 1.3.0 tcp_echo demo bugs?&lt;/A&gt;&amp;nbsp;and my last post according the priority of lwIPInterruptTask() an tcpip_thread().&lt;/P&gt;&lt;P&gt;You should to something like this in your system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you have further questions, don't hesitate to ask.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Manfred&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Oct 2016 05:34:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/ethernet-transmit-buffer-full/m-p/613184#M6353</guid>
      <dc:creator>manfredschnell</dc:creator>
      <dc:date>2016-10-07T05:34:10Z</dc:date>
    </item>
    <item>
      <title>Re: ethernet transmit buffer full</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/ethernet-transmit-buffer-full/m-p/613185#M6354</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Manfred,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks very much for the quick reply. &amp;nbsp;I failed to mention that I am not using an RTOS, just a bare-metal application. &amp;nbsp;However, you raise a good point that the Rx interrupt may be firing&amp;nbsp;during the handling of an outgoing frame. &amp;nbsp;I will check into disabling interrupt(s) during this time. &amp;nbsp;Do you think this might be the same issue, but on a bare-metal app?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Elliott&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Oct 2016 14:16:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/ethernet-transmit-buffer-full/m-p/613185#M6354</guid>
      <dc:creator>mrtumnus</dc:creator>
      <dc:date>2016-10-07T14:16:59Z</dc:date>
    </item>
    <item>
      <title>Re: ethernet transmit buffer full</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/ethernet-transmit-buffer-full/m-p/613186#M6355</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Elliott,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the issue is the same, regardless of the underlaying system.&lt;/P&gt;&lt;P&gt;You have to take care for calling tcpip_thread() enough times in your bare-metal application.&lt;/P&gt;&lt;P&gt;I think it's not necessary to disable RX-IRQ. The RX driver will handle the case, when no buffer is free.&lt;/P&gt;&lt;P&gt;Instead I would process the already received packets.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you have enough memory buffers?&lt;/P&gt;&lt;P&gt;My application uses:&lt;/P&gt;&lt;P&gt;#define PBUF_POOL_SIZE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32&lt;/P&gt;&lt;P&gt;#define PBUF_POOL_BUFSIZE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 256U&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you rework the "ethernetif_Input()"? The original KSDK2.0 version leads to strange errors, because of an error when receiving into chained buffers. --&amp;gt; memory is overwritten...&lt;/P&gt;&lt;P&gt;Have a look on my "ethernetif_Input()" in &lt;A href="https://community.nxp.com/thread/395104"&gt;https://community.nxp.com/thread/395104&lt;/A&gt;‌&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Manfred&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Oct 2016 07:46:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/ethernet-transmit-buffer-full/m-p/613186#M6355</guid>
      <dc:creator>manfredschnell</dc:creator>
      <dc:date>2016-10-10T07:46:21Z</dc:date>
    </item>
  </channel>
</rss>

