2
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@film_girl" class="u-url mention">@<span>film_girl</span></a></span> yeah :( just saw the news.</p>
<p>Aaand fixed. SSH works again.</p><p>Iperf: 766 Mbps</p><p>SFTP /dev/zero: 32.6 MB/s (260.8 Mbps)<br />SFTP QSPI flash: 14.6 MB/s (116.8 Mbps)</p><p>This is using 64-bit transfers for MCU -&gt; FPGA transactions on Ethernet transmit only, everything else still 32 bit.</p>
<p>Looks like the last byte is being truncated from at least some SSH TCP segments. Probably my fix is incomplete...</p>
<p>Hmmm.</p><p>There might be two bugs, not just one.</p><p>Iperf now works (at 766 Mbps!) but SSH doesn&#39;t.</p>
<p>aaaaand there it is. Expected frame length (set by writing to FETHTX.LENGTH) is 5d4, we send 5d8 bytes of data, *and those extra bytes got pushed into the fifo*.</p>
Attached image 0
<p>Waiting for a LA to compile into that part of the design but at a high level I can see the bug now. The MDMA is rounding the frame up to a 64 bit boundary while writing to the TX FIFO.</p><p>This is OK, the existing datapath roundsd up to a 32 bit boundary already, and I had a register in the TX buffer where I write the *actual* frame length so I know to ignore the trailing padding.</p><p>Something there probably didn&#39;t account for a &gt;= vs == case or something so once you add more than one word of padding it probably breaks something.</p>
<p>Very interesting.</p><p>It&#39;s *not* the offload per se. the offload is just triggering it.</p><p>All of my frames have four trailing 0x00 bytes, and the offload&#39;s calculated checksum is off by 0x04, consistently.</p><p>I suspect that somewhere further up the chain the 32 vs 64 bit path is adding trailing data to frames that shouldn&#39;t be there.</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@shriramk" class="u-url mention">@<span>shriramk</span></a></span> I think people are mostly just reflexively talking down something they&#39;re scared of. (And not without reason!)</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@shriramk" class="u-url mention">@<span>shriramk</span></a></span> how does one verify that the prompt is fulfilled both beautifully and accurately?</p>