servod: lost characters on servo_micro console
Reported by
guillaum...@gmail.com,
Jul 19
|
||||||||
Issue descriptionUserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36 Steps to reproduce the problem: 1. connect a gru-kevin with servo_micro to a PC running Linux with servod-tools installed 2. some /dev/pts/* devices get created by servod to access the device consoles 3. open the CPU console with `conserver` and `console`, and boot the device 4. every now and then, some characters from the console are missing What is the expected behavior? All characters should be shown on the console. When disabling servod and using the `/dev/ttyUSB*` devices with `minicom`, the issue can't be reproduced. What went wrong? After some investigation around servod, it appears that the threads reading the data from the USB endpoint and writing them to the pty may be missing some characters. Did this work before? N/A Chrome version: Channel: n/a OS Version: Flash Version: As a work-around, I'm considering a way to disable the pty connection and use the `/dev/ttyUSB*` devices directly although it does mean sending a special command to the servo_micro control interface.
,
Jul 19
,
Jul 20
guillaume.tucker@ Thanks for the issue. As this issue is out of scope of triaging at TE end, tentatively adding 'OS>Firmware>EC' and 'Internals>Core' components, 'TE-NeedsTriageHelp' label and requesting the appropriate team to look into the issue and help in further triaging. Thanks..
,
Jul 23
Let's go with "Chrome" OS (not "Linux") because "Linux" in the context of this bug tracker probably means Chrome running on Linux, not ChromeOS dev-tools running on Linux. Assigning to Nick for now, since he request the bug filing.
,
Jul 23
,
Aug 15
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/428e0323cd3373519cac05389587becf444ec0aa commit 428e0323cd3373519cac05389587becf444ec0aa Author: Nick Sanders <nsanders@chromium.org> Date: Wed Aug 15 11:42:49 2018 servo_micro: enable dma, increase queue size servo_micro can drop incoming UART chars is there are unfortunately timed interrupts. We'll add DMA RX and extra queueing. BRANCH=servo BUG=b:80540170, chromium:865478 TEST=stress servo_micro console and ec console. No chars dropped anymore. Change-Id: I939bec0862c318686a0215ec8081823aa8c35fec Signed-off-by: Nick Sanders <nsanders@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1175321 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Mary Ruthven <mruthven@chromium.org> Reviewed-by: Mary Ruthven <mruthven@chromium.org> [modify] https://crrev.com/428e0323cd3373519cac05389587becf444ec0aa/board/servo_micro/board.c
,
Aug 15
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/437c505467a56d76d4f60036e1005464b6da9822 commit 437c505467a56d76d4f60036e1005464b6da9822 Author: Nick Sanders <nsanders@chromium.org> Date: Wed Aug 15 23:25:35 2018 servo_micro: enable dma, increase queue size servo_micro can drop incoming UART chars is there are unfortunately timed interrupts. We'll add DMA RX and extra queueing. BRANCH=servo BUG=b:80540170, chromium:865478 TEST=stress servo_micro console and ec console. No chars dropped anymore. Change-Id: I939bec0862c318686a0215ec8081823aa8c35fec Signed-off-by: Nick Sanders <nsanders@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1175321 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Mary Ruthven <mruthven@chromium.org> Reviewed-by: Mary Ruthven <mruthven@chromium.org> (cherry picked from commit 428e0323cd3373519cac05389587becf444ec0aa) Reviewed-on: https://chromium-review.googlesource.com/1176522 [modify] https://crrev.com/437c505467a56d76d4f60036e1005464b6da9822/board/servo_micro/board.c
,
Aug 24
Sadly, the CL in #6 does not work, and, AFAICT, crashes the servo_micro as soon as there is too much traffic on the CPU console (USART3).
,
Aug 24
,
Aug 24
https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1188208 fixes it, but I think we have a conflict on DMA channel 6 between USART4 and SPI2.
,
Aug 27
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/538f722d8cb63e581ce1756868ee249caafc4ee8 commit 538f722d8cb63e581ce1756868ee249caafc4ee8 Author: Nick Sanders <nsanders@chromium.org> Date: Mon Aug 27 16:43:27 2018 servo_micro: Fix DMA mappings UART3 and 4 had DMA collisions. Remove DMA from UART4. BRANCH=servo-9040 BUG=b:112701646, chromium:865478 TEST=reboot EC, no crashy Change-Id: Ic44b363dafe938d6420b350eb1c5ab796da81f3c Signed-off-by: Nick Sanders <nsanders@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1188514 Reviewed-by: Mary Ruthven <mruthven@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> [modify] https://crrev.com/538f722d8cb63e581ce1756868ee249caafc4ee8/board/servo_micro/board.h [modify] https://crrev.com/538f722d8cb63e581ce1756868ee249caafc4ee8/board/servo_micro/board.c
,
Aug 27
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/7e15b7a9f6040157e6a9e503911f7095a2d8871f commit 7e15b7a9f6040157e6a9e503911f7095a2d8871f Author: Nick Sanders <nsanders@chromium.org> Date: Mon Aug 27 19:29:14 2018 servo_micro: Fix DMA mappings UART3 and 4 had DMA collisions. Remove DMA from UART4. BRANCH=servo-9040 BUG=b:112701646, chromium:865478 TEST=reboot EC, no crashy Change-Id: Ic44b363dafe938d6420b350eb1c5ab796da81f3c Signed-off-by: Nick Sanders <nsanders@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1188514 Reviewed-by: Mary Ruthven <mruthven@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> (cherry picked from commit 538f722d8cb63e581ce1756868ee249caafc4ee8) Reviewed-on: https://chromium-review.googlesource.com/1191384 [modify] https://crrev.com/7e15b7a9f6040157e6a9e503911f7095a2d8871f/board/servo_micro/board.h [modify] https://crrev.com/7e15b7a9f6040157e6a9e503911f7095a2d8871f/board/servo_micro/board.c
,
Sep 25
Fixed, mostly. |
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by guillaum...@gmail.com
, Jul 19