Вы можете легко получить что-то близкое (с относительно недавними версиями ):с отметкой времени на каждом шаге. Из документации-x
:
The output is preceded by the value of $PS4, formatted as described in Prompt Expansion.
Вы можете поместить метку времени в префикс трассировки. %.
дает вам наносекундную точность с zsh ≥5,6, только микросекундную точность между 5.0.6 и 5.5.x. Я думаю, что в более ранних версиях, в которых нет %D
, вы можете получить только вторую точность.
PS4='+%D{%s.%9.}:%N:%i>' zsh -x …
Затем вы можете опубликовать -обработку трассировки для вычисления различий между последовательными отметками времени.
Вероятно, вам следует сравнить последние строки dmesg до и после исчезновения устройства. Вы, вероятно, читали, что USB сбрасывается из-за неисправности устройства или хост-контроллера.
Здесь могут быть разные вещи, которые могут пойти не так :, например, неисправность в подключенном устройстве (, может быть, вы питаете какое-то встроенное устройство, используя тот же USB 5V? )может потреблять слишком много тока, что приводит к срабатыванию защиты от короткого замыкания и отключению USB-порта до сброса. Хост-контроллер USB может просто иметь ошибку и зависнуть. (Это не первый случай, когда ноутбуки Lenovo поставляются с ошибками прошивки.)
Последовательные преобразователи USB -в -часто очень дешевы, включая контрафактные микросхемы, которые плохо себя ведут.
Итак, убедитесь, что вы
sudo fwupdmgr refresh; sudo fwupdmgr get-updates; sudo fwupdmgr update
)