Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Mar 2022 14:27:09 +0800
From:      Archimedes Gaviola <archimedes.gaviola@gmail.com>
To:        Hans Petter Selasky <hps@selasky.org>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: Raspberry Pi 3B USB Printing Issue
Message-ID:  <CAJFbk7FFeNTKvbNMr41kkwwYtyamJybTzk3=DQB1Hg3z%2Bx2hgQ@mail.gmail.com>
In-Reply-To: <dabb798c-435c-6dd3-ac9b-8db3fb02a43c@selasky.org>
References:  <CAJFbk7EzSfPNbaGxiweKrivwNrKXCPVzA1b7_=0_bTvbs8oBow@mail.gmail.com> <7c67118e-f6ec-c87d-9a81-3ee6a5952f49@selasky.org> <CAJFbk7GYbLAFTJY077Nzh3CTBJM6bk8swr4AkgGMaukCxrfcHQ@mail.gmail.com> <60f98b10-dcdc-cdf4-3d7a-fe9fd4dff223@selasky.org> <CAJFbk7EAjrQG5Kj_upVKW72opOS%2B8d63VrMnQdLxcJjUcfsd=g@mail.gmail.com> <8226461b-5740-9c19-0575-2740bd952e16@selasky.org> <CAJFbk7GwjFA-=GrJG3KTCnqVfEPhRSY1g8xyws_nE8pAohErEg@mail.gmail.com> <dabb798c-435c-6dd3-ac9b-8db3fb02a43c@selasky.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000d2de2405da13a750
Content-Type: text/plain; charset="UTF-8"

On Sun, Mar 13, 2022 at 12:38 AM Hans Petter Selasky <hps@selasky.org>
wrote:

> On 3/12/22 16:31, Archimedes Gaviola wrote:
> >>
> >> IOERROR usually means an electrical error. The RPI3B will use a
> >> transaction translator for the FULL speed traffic, which is driven by
> >> software.
> >
>
> Hi Archimedes,
>
> > Hi Hans,
> >
> > I'm curious about the transaction translator you've mentioned, any idea
> why
> > there's a need for translation and what is being translated?
>
> When the High Speed USB HUB was invented, there was a need to support
> FULL and LOW speed USB transactions. Because FULL and LOW speed
> transactions are slow and take up much bandwidth, a transactions
> translator was invented which translates between High Speed USB and
> FULL/LOW speed USB. That means the RPi 3B consists of a single USB HIGH
> speed port, followed by a USB HUB. These transactions are not visible in
> usbdump .
>
>  >Does this only
> > happen when RPi 3B (acting as host controller) is transmitting data to
> the
> > Epson printer? Are translation events visible in the usbdump? In this
> case
> > there's a way to possibly track what's going on and how to identify any
> > info that is being translated?
>
> By turning on the HC debugging, you can possibly track via debug
> messages what is going on. Maybe it is a timing issue, that the SW is
> too slow serving the micro transactions.
>
> Any idea also if translation is being
> > performed in RPi 4B?
>
> The later RPi's do the transaction translator bits in HW or via the XHCI
> block.
>
> As I have conducted several printing cases with my
> > Epson printer without any issues with either of the 4 ports.
> >
> > Sorry for these questions as I am catching-up to the USB technology
> > internal workings under the hood.
>
> You are welcome!
>


Thank you so much Hans for answering my questions, really appreciate it! I
have a much better understanding now.

I came from testing with 13.0-RELEASE having the same RPi 3B hardware and
setup and it's very stable. I haven't encountered any IOERROR and
incomplete printed outputs that were encountered with 14.0-CURRENT
(February 24, 2022). By the way, I found in the repository here
https://download.freebsd.org/snapshots/arm64/aarch64/ISO-IMAGES/14.0/ that
there were two latest snapshots released dated March 3 and March 10,
respectively. I need to take printing tests first, especially the latest to
check if it also manifests before I go back to the Feb. 24 snapshot and do
a thorough test with debugging. I'll provide updates for any observations.

Thanks,
Archimedes

--000000000000d2de2405da13a750
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Sun, Mar 13, 2022 at 12:38 AM Hans=
 Petter Selasky &lt;<a href=3D"mailto:hps@selasky.org">hps@selasky.org</a>&=
gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0=
px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 3/=
12/22 16:31, Archimedes Gaviola wrote:<br>
&gt;&gt;<br>
&gt;&gt; IOERROR usually means an electrical error. The RPI3B will use a<br=
>
&gt;&gt; transaction translator for the FULL speed traffic, which is driven=
 by<br>
&gt;&gt; software.<br>
&gt; <br>
<br>
Hi Archimedes,<br>
<br>
&gt; Hi Hans,<br>
&gt; <br>
&gt; I&#39;m curious about the transaction translator you&#39;ve mentioned,=
 any idea why<br>
&gt; there&#39;s a need for translation and what is being translated? <br>
<br>
When the High Speed USB HUB was invented, there was a need to support <br>
FULL and LOW speed USB transactions. Because FULL and LOW speed <br>
transactions are slow and take up much bandwidth, a transactions <br>
translator was invented which translates between High Speed USB and <br>
FULL/LOW speed USB. That means the RPi 3B consists of a single USB HIGH <br=
>
speed port, followed by a USB HUB. These transactions are not visible in <b=
r>
usbdump .<br>
<br>
=C2=A0&gt;Does this only<br>
&gt; happen when RPi 3B (acting as host controller) is transmitting data to=
 the<br>
&gt; Epson printer? Are translation events visible in the usbdump? In this =
case<br>
&gt; there&#39;s a way to possibly track what&#39;s going on and how to ide=
ntify any<br>
&gt; info that is being translated? <br>
<br>
By turning on the HC debugging, you can possibly track via debug <br>
messages what is going on. Maybe it is a timing issue, that the SW is <br>
too slow serving the micro transactions.<br>
<br>
Any idea also if translation is being<br>
&gt; performed in RPi 4B? <br>
<br>
The later RPi&#39;s do the transaction translator bits in HW or via the XHC=
I <br>
block.<br>
<br>
As I have conducted several printing cases with my<br>
&gt; Epson printer without any issues with either of the 4 ports.<br>
&gt; <br>
&gt; Sorry for these questions as I am catching-up to the USB technology<br=
>
&gt; internal workings under the hood.<br>
<br>
You are welcome!<br></blockquote><div><br></div><br></div><div class=3D"gma=
il_quote">Thank you so much Hans for answering my questions, really appreci=
ate it! I have a much better understanding now.<br></div><div class=3D"gmai=
l_quote"><br></div><div class=3D"gmail_quote">I came from testing with 13.0=
-RELEASE having the same RPi 3B hardware and setup and it&#39;s very stable=
. I haven&#39;t encountered any IOERROR and incomplete printed outputs that=
 were encountered with 14.0-CURRENT (February 24, 2022). By the way, I foun=
d in the repository here <a href=3D"https://download.freebsd.org/snapshots/=
arm64/aarch64/ISO-IMAGES/14.0/">https://download.freebsd.org/snapshots/arm6=
4/aarch64/ISO-IMAGES/14.0/</a> that there were two latest snapshots release=
d dated March 3 and March 10, respectively. I need to take printing tests f=
irst, especially the latest to check if it also manifests before I go back =
to the Feb. 24 snapshot and do a thorough test with debugging. I&#39;ll pro=
vide updates for any observations.<br></div><div class=3D"gmail_quote"><br>=
</div><div class=3D"gmail_quote"></div><div class=3D"gmail_quote">Thanks,</=
div><div class=3D"gmail_quote">Archimedes<br></div><div class=3D"gmail_quot=
e"><br></div><div class=3D"gmail_quote"><br></div></div>

--000000000000d2de2405da13a750--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJFbk7FFeNTKvbNMr41kkwwYtyamJybTzk3=DQB1Hg3z%2Bx2hgQ>