Thread (5 messages) 5 messages, 1 author, 2021-01-26

[Bug 210351] Wrong setting baudrate for FTDI chip FT230X

From: <hidden>
Date: 2021-01-08 10:38:02

https://bugzilla.kernel.org/show_bug.cgi?id=210351
--- Comment #1 from Johan Hovold (johan@kernel.org) ---
On Wed, Nov 25, 2020 at 05:14:18AM +0000, bugzilla-daemon@bugzilla.kernel.org
wrote:
https://bugzilla.kernel.org/show_bug.cgi?id=210351

            Bug ID: 210351
           Summary: Wrong setting baudrate for FTDI chip FT230X
           Product: Drivers
           Version: 2.5
    Kernel Version: all
          Hardware: All
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: USB
          Assignee: drivers_usb@kernel-bugs.kernel.org
          Reporter: svv75@mail.ru
        Regression: No

Hello!

I have three chips FT232BL, FT232R and FT230X. I am using them as a VCP on
Linux (Ubuntu 18.04). According to Application Note AN_120 from FTDI, the
baud
rate generators of all these chips have 8 sub-integer prescalers. Divisor =
3000000 / baudrate = n + 0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875.
Where
n is an integer between 2 and16384.
So, I measured real baud rates, for n = 2 in combination with all possible
sub-integer prescalers.
And it turned out that all sub-integer prescalers worked for FT232BL, FT232R
chips.

And for the FT230X, only a few prescalers work correctly. The following shows
exactly how prescalers behave:
0          - correct
0.125  - correct
0.25     - correct
0.375   - WRONG! (works like 0.125)
0.5        - correct
0.625    - WRONG! (works like 0.5)
0.75      - WRONG! (works like 0.25)
0.875    - WRONG! (works like 0.125)

The same for the other n.

I think it is a driver problem, it initializes the sub-integer prescaler
incorrectly. Since under Windows FT230X works fine with all sub-integer
prescalers.
Thanks for the report.

It sounds like your device behaves like a FT8U232AM, which only supports
0.125, 0.25 or 0.5, then. Are you sure Windows is able to use the
others?

Is the device type being detected correctly? What does the log say when
you plug your device in? Please also post the output of "lsusb -v" for
the device.

Johan

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help