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 <<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> >><br> >> IOERROR usually means an electrical error. The RPI3B will use a<br= > >> transaction translator for the FULL speed traffic, which is driven= by<br> >> software.<br> > <br> <br> Hi Archimedes,<br> <br> > Hi Hans,<br> > <br> > I'm curious about the transaction translator you've mentioned,= any idea why<br> > there'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>Does this only<br> > happen when RPi 3B (acting as host controller) is transmitting data to= the<br> > Epson printer? Are translation events visible in the usbdump? In this = case<br> > there's a way to possibly track what's going on and how to ide= ntify any<br> > 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> > performed in RPi 4B? <br> <br> The later RPi'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> > Epson printer without any issues with either of the 4 ports.<br> > <br> > Sorry for these questions as I am catching-up to the USB technology<br= > > 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'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 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'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>