Как работать с модулем 10Gbit SFP +, если драйвер не поддерживает SFP +? - PullRequest
0 голосов
/ 22 апреля 2020

Аннотация

Я пытаюсь запустить модуль 10GBASE-SR SFP +. Драйвер MA C не поддерживает I² C доступ к регистрам, поэтому я хочу использовать режим PHY-less. С другой стороны, режим «фиксированной связи» поддерживает только до 1 Гбит. Говорят, что режим «in-band-status» не работает с моими настройками. Таким образом у меня заканчиваются варианты. Я спрашиваю вас, есть ли другие варианты для запуска.

Об оборудовании

Моя компания создала точку доступа, содержащую NXP QorIQ T1023 Итак c. Это So C включает MA C, который подключен к клетке SFP +. Мы используем XFI для соединения между MA C и SFP +. Кроме того, модуль SFP + подключен к So C через I² C для доступа к его регистрам.

О программном обеспечении

Я использую OpenWRT с Linux 4.14. 137 ядро. В этом ядре есть исправления (в основном из проекта OpenWRT, некоторые из нас).

Подробная информация о проблеме

Для MA C я использую драйвер DPAA. Этот драйвер использует ядро ​​phylib (он же PHY Abstraction Layer) для доступа к своему PHY. Однако phylib поддерживает только PHY, подключенные к MDIO, но не I² C подключенные устройства. Ядро также предоставляет phylink, который может обращаться к устройствам I² C и MDIO (согласно моему пониманию), но драйвер DPAA не поддерживает phylink. Поэтому модуль SFP + не будет работать «нормально» с драйвером DPAA.

Вместо этого я пытаюсь использовать режим PHY-less, добавляя ключевое слово «fixed-link» в мой файл DTS. Однако я могу настроить только до 1 Гбит, но мне нужно 10 Гбит.

Для файла DTS есть ключевое слово "in-band-status", но я не до конца понял, что он делает. Поддерживаемый NXP сказал мне, что это не будет работать с XFI.

Подводя итог, я рассмотрел следующие варианты:

  • Операционная SFP + "нормально", регистрация доступа через I² C -> Не поддерживается драйвером MA C
  • PHY-без операции с «фиксированной связью» -> не поддерживает 10G
  • PHY-без операции с «in-band-» status "-> сказал, что это не вариант, но я не понимаю, почему

То, что я пробовал до сих пор

  • Проверено XFI link: я читаю регистры MAC , и это говорит, что ссылка XFI установлена. Я не нашел эквивалентный регистр на стороне SFP +. Коммутатор Ethe rnet (это мой партнер по оптоволоконному каналу) сообщает, что канал подключен (светодиод горит).
  • Чтение регистров SFP +: я действительно могу читать регистры модуля SFP +. Я попробовал это в командной строке U-boot, просто чтобы проверить соединение I² C.
  • Взлом phylib: я пытался добавить режим 10G в режим «fixed-link» и имел ограниченный успех. Мой MA C теперь может принимать пакеты, но не отправлять. Я полагаю, что MA C все еще думает, что связь не работает. В настоящее время я работаю в этой области.

Мои вопросы

  • Есть ли способ управления модулем SFP +, о котором я не знаю?
  • В качестве дополнительного вопроса: есть ли хороший обзор доступных типов соединений MII? Я до сих пор не знаю, совпадают ли XFI и SFI или как связаны между собой XFI и XGMII и т. Д.

С уважением, Tanjeff

...