Действительно ли существует "протокол связи USB"?

Согласно Википедии , USB:

Определяет кабели, разъемы и протоколы связи, используемые в шине для подключения, связи и питания между компьютерами и электронными устройствами

Но действительно ли существует "протокол связи USB "? Мое понимание заключается в том, что:

  1. Вы подключаете USB-устройство к машине (скажем, Ubuntu или любой другой Linux)
  2. Linux находит устройство драйвер для этого устройства (каким-то образом - бонус, если вы знаете!) и загружает его
  3. Устройство теперь подключено под /dev/theDevice
  4. Приложения пользовательского пространства теперь могут читать/записывать в /dev/theDevice, а драйвер обрабатывает низкоуровневый ввод-вывод на базовое устройство/оборудование

Для меня нигде в этом потоке не появляется "протокол связи USB". Если я правильно понимаю, USB - это всего лишь кабель и электрическое соединение между ПК и устройством.

Я здесь не прав? Действительно ли USB реализует какой-то протокол низкого уровня, который подчеркивает поток выше? Если да, то что это такое и как оно работает при просмотре с высоты 30 000 футов?