Re: Raspberry Pi 3B USB Printing Issue

Hans Petter Selasky <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.