Re: Linux crash when using FTDI FT232R USB to serial converter on AMD boards.

Johan Hovold
2019-04-29T09:48:47Z

On Fri, Apr 26, 2019 at 03:47:15PM +0200, StarostaCZ-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org wrote:
> Hello all,
> we are development and manufacturing company that use your FT232R serial
> converter for couple of years with our software. We consume about a
> hundreds pcs of FT232R per yer. We use FT232R as USB serial converter
> with direct access (no virtual serial port) and as a "hardware key"
> using FTDIChip-ID. We operate our software with FT232R converters on
> Windows and Debian Linux operating system.
>
> We have used Intel motherboards with Intel processors so far. We want to
> use AMD motherboards with AMD processors too. *We made a couple of tests
> on AMD motherboards with AMD processors and Debian Linux 9.6, but we
> have come across a big problem.
> **When we open internal EEPROM of FT232R for reading, there will arise
> many error messages in system log files. And then Debian Linux crash
> after some time!*
>
>
> _1) Hardware configurations:_
> - motherboards with AMD A320M chipset:
>   - MSI A320M PRO-VD PLUS,
> https://www.msi.com/Motherboard/support/A320M-PRO-VD-PLUS
>   - ASUS PRIME A320M-K, https://www.asus.com/Motherboards/PRIME-A320M-K
>   - GIGABYTE A320M-S2H,
> https://www.gigabyte.com/Motherboard/GA-A320M-S2H-rev-1x#kf
> - latest bios installed, default bios configuration loaded,
> - CPU AMD Athlon 200GE, AMD Ryzen 3 2200G
> - 4GB RAM, SSD drive Kingston A400 120GB
>
> _2a) Operating system A:_
> - Debian Linux 9.6 64bit, https://www.debian.org/distrib/,
> https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.6.0-amd64-netinst.iso
> - installed from Netinst installer WITHOUT graphic dekstop, default
> configuration
> - tested kernels
>   - default kernel 4.9.0.8-amd64,
> https://packages.debian.org/stretch/linux-image-4.9.0-8-amd64
>   - backports kernel 4.18.0-0.bpo.1-amd64,
> https://packages.debian.org/stretch-backports/linux-image-4.18.0-0.bpo.1-amd64
>
> _2b) Operating system B:_
> - Ubuntu server 19.04 64bit, http://releases.ubuntu.com/19.04/,
> http://releases.ubuntu.com/19.04/ubuntu-19.04-live-server-amd64.iso
> - installed WITHOUT graphic dekstop, default configuration
> - tested kernels
>   - default kernel 5.0.0-amd64,
> https://packages.debian.org/stretch/linux-image-4.9.0-8-amd64
>   - experimental kernel 5.0.9-050009-generic amd64,
> https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0.9/
>
> _3) Drivers_
> - libftd2xx drivers version 1.4.8, https://www.ftdichip.com/Drivers/D2XX.htm
>
> _4) Performed tests_
> You can repeat this test:
> - connect FT232R into USB2.0 port (not USB3 port!)
> - use examples in directory: ...\libftd2xx-i386-1.4.8.tar\release\examples\
> - add parameter "-m32" to "CFLAGS" variable into "Rules.make" file
> - compiled "\examples\EEPROM\user\read\"
> - run script "test.sh" - see attached file
> - *Debian Linux or Ubuntu server crashes after some minutes* - see
> attached kernel logs from our system
> - see "kern.log" https://paste.ee/p/xxIZ2

So this is a debian 4.18 kernel seemingly crashing due to a xhci or
iommu issue.

Can you reproduce this on a mainline kernel?

If so, please post the corresponding logs to the lists and CC the xhci
and iommu maintainers (added to CC).

> _5) Very important note_
> *This problem occurs when FT232R is connected into USB2.0 port only!*
> When it is connected into USB3 port, all works fine, no error messages,
> no crash.
>
> _6) Other test that we made_
> - we made other tests on Windows 10
>   - same configuration with ASUS PRIME A320M-K motherboard
>   - latest drivers + latest FTDI drivers
>   - FT232R connected to USB2.0 or USB3 - no problem
>
> - we made the same tests on Intel architecture (that we use now)
>   - motherboard MSI B250M PRO-VH, CPU Intel Pentium G4560, 4GB RAM, SSD
> drive Kingston A400 120GB
>   - same operating system Debian Linux 9.6 64bit as descripted above
>   - FT232R connected to USB2.0 or USB3 - no problem

Johan