Skip to content

ch343 hardflow control on linux #69

@EBREAK

Description

@EBREAK

when hardflow control (crtscts) enable, picocom,stty,cu will blocked.

first, use picocom --flow h -b 115200 /dev/ttyCH343USB0 open the serial port, then type some thing into picocom.

I try exit the picocom, but failed, I must use kill -9 to close the picocom

then, use strace -o /tmp/log -- stty -F /dev/ttyCH343USB0 crtscts:

openat(AT_FDCWD, "/dev/ttyCH343USB0", O_RDONLY|O_NONBLOCK) = 3   # this action block long time
dup2(3, 0)                              = 0
close(3)                                = 0
fcntl(0, F_GETFL)                       = 0x8800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE)
fcntl(0, F_SETFL, O_RDONLY|O_LARGEFILE) = 0
ioctl(0, TCGETS2, {c_iflag=, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|ONLCR, c_cflag=B115200|B115200<<IBSHIFT|CS8|CREAD|HUPCL|CLOCAL|CRTSCTS, c_lflag=ECHOE|ECHOK|ECHOCTL|ECHOKE, ...}) = 0
ioctl(0, TCSETSW2, {c_iflag=, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|ONLCR, c_cflag=B115200|B115200<<IBSHIFT|CS8|CREAD|HUPCL|CLOCAL|CRTSCTS, c_lflag=ECHOE|ECHOK|ECHOCTL|ECHOKE, ...}) = 0
ioctl(0, TCGETS2, {c_iflag=, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|ONLCR, c_cflag=B115200|B115200<<IBSHIFT|CS8|CREAD|HUPCL|CLOCAL|CRTSCTS, c_lflag=ECHOE|ECHOK|ECHOCTL|ECHOKE, ...}) = 0
close(1)                                = 0
close(2)                                = 0
exit_group(0)                           = ?
+++ exited with 0 +++

kernel log:

[ 3326.423103] usb_ch343 1-3:1.0: failed to set dtr/rts

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions