[haiku-bugs] Re: [Haiku] #11853: usb_serial data dropout

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Wed, 16 Jan 2019 18:14:33 -0000

#11853: usb_serial data dropout
--------------------------------+----------------------------
   Reporter:  jhanna            |      Owner:  mmlr
       Type:  bug               |     Status:  new
   Priority:  normal            |  Milestone:  R1
  Component:  Drivers/USB/EHCI  |    Version:  R1/Development
 Resolution:                    |   Keywords:  usb serial
 Blocked By:                    |   Blocking:
Has a Patch:  0                 |   Platform:  All
--------------------------------+----------------------------
Description changed by pulkomandy:

Old description:

usb_serial seems to occasionally insert control characters and also seems
to lose data.

To see the problem we have two machines linked with a serial cable,
running at 57600 baud.

On the Haiku system we am sending simple ascii files, repeatedly, such
as:

11111111111111111111111111111111111111
22222222222222222222222222222222222222
33333333333333333333333333333333333333
44444444444444444444444444444444444444
55555555555555555555555555555555555555
66666666666666666666666666666666666666
77777777777777777777777777777777777777
88888888888888888888888888888888888888
99999999999999999999999999999999999999
00000000000000000000000000000000000000


The output on the other machine shows things like:

11111111111111111111111111111111111111
22222222222222222222222222222222222222
33333333333333333333333333333333333333
44444444444444444444444444444444444444
55555555555555555555555555555555555555
66666666666666666666666666666666666666
77777777777777777777774444444444444444444444444444444444
55555555555555555555555555555555555555
66666666666666666666666666666666666666
77777777777777777777777777777777777777
88888888888888888888888888888888888888
99999999999999999999999999999999999999
00000000000000000000000000777777777777777777777777777777
88888888888888888888888888888888888888
99999999999999999999999999999999999999
00000000000000000000000000000000000000

11111111111111111111111111111111111111
22221111111111111111111111111111111111�����������������������������00000000000000000000000000

11111111111111111111111111111111111111
22222222222222222222222222222222222222
33333333333333333333333333333333333333
44444444444444444444444444444444444444
55555555555555555555555555555555555555
66666666666666666666666666666666633333333333333333333333
44444444444444444444444444444444444444
55555555555555555555555555555555555555
66666666666666666666666666333333333333333333333333333333
44444444444444444444444444444444488888888888888888888888888
99999999999999999999999999999999999996666666666666666666
77777777777777777777777777777777777777
88888888888888888888888888888888888888
99999999999999999999999999999999999999
00000000000000000000000000000000000000


I the log files we see lines such as:

KERN: usb error ehci -1: qtd (0x708fb00) error: 0x80068d52
KERN: usb error ehci -1: qtd (0x70cd300) error: 0x80068d52
KERN: usb error ehci -1: qtd (0x70e5d00) error: 0x80068d52
KERN: usb_serial: input thread: failed to write into TTY
KERN: usb error ehci -1: qtd (0x70f8d80) error: 0x80068d52
KERN: usb error ehci -1: qtd (0x7102880) error: 0x80068d52


The devices are:

~> listusb
8087:8009 /dev/bus/usb/0/0/hub "Intel Corp." "" ver. 0000
0000:0000 /dev/bus/usb/0/hub "HAIKU Inc." "EHCI RootHub" ver. 0200
067b:2303 /dev/bus/usb/1/0/1 "Prolific Technology, Inc." "PL2303 Serial
Port" ver. 0300
046d:c00e /dev/bus/usb/1/0/7 "Logitech, Inc." "M-BJ58/M-BJ69 Optical
Wheel Mouse" ver. 1110
8087:8001 /dev/bus/usb/1/0/hub "Intel Corp." "" ver. 0000
0000:0000 /dev/bus/usb/1/hub "HAIKU Inc." "EHCI RootHub" ver. 0200

~> listusb
0403:6001 /dev/bus/usb/0/0/3 "Future Technology Devices International,
Ltd" "FT232 USB-Serial (UART) IC" ver. 0600
8087:8009 /dev/bus/usb/0/0/hub "Intel Corp." "" ver. 0000
0000:0000 /dev/bus/usb/0/hub "HAIKU Inc." "EHCI RootHub" ver. 0200
03f9:0100 /dev/bus/usb/1/0/0 "KeyTronic Corp." "KT-2001 Keyboard" ver.
0102
046d:c05a /dev/bus/usb/1/0/1 "Logitech, Inc." "M90/M100 Optical Mouse"
ver. 6300
8087:8001 /dev/bus/usb/1/0/hub "Intel Corp." "" ver. 0000
0000:0000 /dev/bus/usb/1/hub "HAIKU Inc." "EHCI RootHub" ver. 0200


On OHCI we may not have seen the corruption, though the loss of data
still occurs:

067b:2303 /dev/bus/usb/0/3 "Prolific Technology, Inc." "PL2303 Serial
Port" ver. 0300
046d:c00e /dev/bus/usb/0/5 "Logitech, Inc." "M-BJ58/M-BJ69 Optical Wheel
Mouse" ver. 1110
0000:0000 /dev/bus/usb/0/hub "HAIKU Inc." "OHCI RootHub" ver. 0110
3538:0909 /dev/bus/usb/1/0 "Power Quotient International Co., Ltd" "USB
Flash Drive" ver. 0100
0000:0000 /dev/bus/usb/1/hub "HAIKU Inc." "EHCI RootHub" ver. 0200

This is hrev48709.

New description:

 usb_serial seems to occasionally insert control characters and also seems
 to lose data.

 To see the problem we have two machines linked with a serial cable,
 running at 57600 baud.

 On the Haiku system we am sending simple ascii files, repeatedly, such as:

 {{{
 11111111111111111111111111111111111111
 22222222222222222222222222222222222222
 33333333333333333333333333333333333333
 44444444444444444444444444444444444444
 55555555555555555555555555555555555555
 66666666666666666666666666666666666666
 77777777777777777777777777777777777777
 88888888888888888888888888888888888888
 99999999999999999999999999999999999999
 00000000000000000000000000000000000000
 }}}

 The output on the other machine shows things like:

 {{{
 11111111111111111111111111111111111111
 22222222222222222222222222222222222222
 33333333333333333333333333333333333333
 44444444444444444444444444444444444444
 55555555555555555555555555555555555555
 66666666666666666666666666666666666666
 77777777777777777777774444444444444444444444444444444444
 55555555555555555555555555555555555555
 66666666666666666666666666666666666666
 77777777777777777777777777777777777777
 88888888888888888888888888888888888888
 99999999999999999999999999999999999999
 00000000000000000000000000777777777777777777777777777777
 88888888888888888888888888888888888888
 99999999999999999999999999999999999999
 00000000000000000000000000000000000000

 11111111111111111111111111111111111111
 
22221111111111111111111111111111111111�����������������������������00000000000000000000000000

 11111111111111111111111111111111111111
 22222222222222222222222222222222222222
 33333333333333333333333333333333333333
 44444444444444444444444444444444444444
 55555555555555555555555555555555555555
 66666666666666666666666666666666633333333333333333333333
 44444444444444444444444444444444444444
 55555555555555555555555555555555555555
 66666666666666666666666666333333333333333333333333333333
 44444444444444444444444444444444488888888888888888888888888
 99999999999999999999999999999999999996666666666666666666
 77777777777777777777777777777777777777
 88888888888888888888888888888888888888
 99999999999999999999999999999999999999
 00000000000000000000000000000000000000
 }}}

 I the log files we see lines such as:

 {{{
 KERN: usb error ehci -1: qtd (0x708fb00) error: 0x80068d52
 KERN: usb error ehci -1: qtd (0x70cd300) error: 0x80068d52
 KERN: usb error ehci -1: qtd (0x70e5d00) error: 0x80068d52
 KERN: usb_serial: input thread: failed to write into TTY
 KERN: usb error ehci -1: qtd (0x70f8d80) error: 0x80068d52
 KERN: usb error ehci -1: qtd (0x7102880) error: 0x80068d52
 }}}

 The devices are:

 {{{
 ~> listusb
 8087:8009 /dev/bus/usb/0/0/hub "Intel Corp." "" ver. 0000
 0000:0000 /dev/bus/usb/0/hub "HAIKU Inc." "EHCI RootHub" ver. 0200
 067b:2303 /dev/bus/usb/1/0/1 "Prolific Technology, Inc." "PL2303 Serial
 Port" ver. 0300
 046d:c00e /dev/bus/usb/1/0/7 "Logitech, Inc." "M-BJ58/M-BJ69 Optical Wheel
 Mouse" ver. 1110
 8087:8001 /dev/bus/usb/1/0/hub "Intel Corp." "" ver. 0000
 0000:0000 /dev/bus/usb/1/hub "HAIKU Inc." "EHCI RootHub" ver. 0200

 ~> listusb
 0403:6001 /dev/bus/usb/0/0/3 "Future Technology Devices International,
 Ltd" "FT232 USB-Serial (UART) IC" ver. 0600
 8087:8009 /dev/bus/usb/0/0/hub "Intel Corp." "" ver. 0000
 0000:0000 /dev/bus/usb/0/hub "HAIKU Inc." "EHCI RootHub" ver. 0200
 03f9:0100 /dev/bus/usb/1/0/0 "KeyTronic Corp." "KT-2001 Keyboard" ver.
 0102
 046d:c05a /dev/bus/usb/1/0/1 "Logitech, Inc." "M90/M100 Optical Mouse"
 ver. 6300
 8087:8001 /dev/bus/usb/1/0/hub "Intel Corp." "" ver. 0000
 0000:0000 /dev/bus/usb/1/hub "HAIKU Inc." "EHCI RootHub" ver. 0200
 }}}

 On OHCI we may not have seen the corruption, though the loss of data still
 occurs:

 {{{
 067b:2303 /dev/bus/usb/0/3 "Prolific Technology, Inc." "PL2303 Serial
 Port" ver. 0300
 046d:c00e /dev/bus/usb/0/5 "Logitech, Inc." "M-BJ58/M-BJ69 Optical Wheel
 Mouse" ver. 1110
 0000:0000 /dev/bus/usb/0/hub "HAIKU Inc." "OHCI RootHub" ver. 0110
 3538:0909 /dev/bus/usb/1/0 "Power Quotient International Co., Ltd" "USB
 Flash Drive" ver. 0100
 0000:0000 /dev/bus/usb/1/hub "HAIKU Inc." "EHCI RootHub" ver. 0200
 }}}

 This is hrev48709.

--

-- 
Ticket URL: <https://dev.haiku-os.org/ticket/11853#comment:2>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: