Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Mar 2022 17:38:34 +0100
From:      Hans Petter Selasky <hps@selasky.org>
To:        Archimedes Gaviola <archimedes.gaviola@gmail.com>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: Raspberry Pi 3B USB Printing Issue
Message-ID:  <dabb798c-435c-6dd3-ac9b-8db3fb02a43c@selasky.org>
In-Reply-To: <CAJFbk7GwjFA-=GrJG3KTCnqVfEPhRSY1g8xyws_nE8pAohErEg@mail.gmail.com>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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!

--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?dabb798c-435c-6dd3-ac9b-8db3fb02a43c>