Перейти к содержанию
    

Чтение/запись регистров через MII

Есть специфическая китайская железка, состоящая из основного SoC Nuvoton NUC980DK61YC и 3х портового Ethernet свитча KSZ8863RLLI.
Нужно поменять поведение свитча. В datasheet'е на него нашел, что за его поведение отвечают внутренние регистры. Регистры вроде бы должны быть доступны через MII и именно через него свит подключен к Nuvoton'у.
И вот тут у меня затык, я так и не смог придумать как их прочитать (ну и записать)
Железка на ARM5, внутри сильно порезанный OpenWRT в котором нет прочти ничего. Я пока пытаюсь запихнуть туда gcc чтобы собрать net-tools где есть mii-tool, но пока не очень успешно.
Готовые сборки net-tools, что мне удалось найти, ругаются на отсутствие зависимостей в различных библиотеках.
Собственно хочется понять, я не вижу какой-то более простой способ сконфигурить этот несчастный свитч?

Про самый простой способ: выпаять свитч, впихнуть его в макетную плату с минимально объвязкой и сконфигурить через родную утилиту от Micrel - я знаю, но планируется закупать много таких устройств и с каждым так делать не будешь.

Изменено пользователем Fleurety

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

MII - это интерфейс данных для самого потока Ethernet. Через него регистры не доступны.

Обычно всегда есть интерфейс "рядом" - SMI (он же MDIO), или какой-нибудь SPI/I2C для более глубокого контроля.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 hours ago, Fleurety said:

Я пока пытаюсь запихнуть туда gcc

 Зачем? Гораздо проще собрать необходимое на ПК.

 

7 hours ago, Fleurety said:

mii-tool

Доступ к внутренним регистрам у KSZ8863 через SMI не стандартный, не уверен, что поможет.

 

7 hours ago, Fleurety said:

выпаять свитч, впихнуть его в макетную плату с минимально объвязкой и сконфигурить через родную утилиту от Micrel

 Где он запомнит эту конфигурацию?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 часов назад, Fleurety сказал:

Я пока пытаюсь запихнуть туда gcc чтобы собрать net-tools где есть mii-tool, но пока не очень успешно.

А мсье знает толк в извращениях))) Вы представляете, сколь будет это все собираться и компилироваться на 300МГц проце с тормознутой сдрам, сколько ее там, предположу, макс 16 мегабайт))))))  Я уже делал такое в махровых годах на TI DM368 там на это почти весь день ушел, при том, что все уже было готово и настроено,  только запусти... 

1 час назад, aaarrr сказал:

Зачем? Гораздо проще собрать необходимое на ПК.

Тут по моему это вообще без вариантов...

9 часов назад, Fleurety сказал:

Железка на ARM5

АРМ9 так то))

9 часов назад, Fleurety сказал:

внутри сильно порезанный OpenWRT в котором нет прочти ничего.

А поискать версию с большим функционалом? Хотя, кто ж сейчас такие процы под это дело ставит, под MIPS наверно куда проще было б найти...

2 часа назад, aaarrr сказал:

Где он запомнит эту конфигурацию?

Не спец, но там ведь SMI как-то видится, каким-нить скриптом туда пакет конфига слать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за указание направления куда копать, куда не копать. Пошел искать интерфейса "рядом", вроде бы действительно там ест SPI, но что с ним делать я пока не понял:

image.thumb.png.1cf23b2dc3d22cdffa4b97d12b3a2e0a.png

В документации на свитч нашел следующее:

image.png.8fb7a524bfd0e0dc40a0fcd23690da4d.png 

Правда у меня даже близко ничего похожего нет:

image.thumb.png.16175b1a4dbe545e3389422704f54e05.png

image.thumb.png.549c521d600f85d27144cc30939e2899.png

Собственно как и чем можно попробовать прочитать регистры через SPI?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 2/28/2024 at 2:22 PM, Fleurety said:

В документации на свитч нашел следующее:

Может это не документация на свич, а документация на линуксовый драйвер свича ?

On 2/28/2024 at 2:22 PM, Fleurety said:

Собственно как и чем можно попробовать прочитать регистры через SPI?

А у вас SPI свича на плате точно соединен с процессором ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 minutes ago, Fleurety said:

Собственно как и чем можно попробовать прочитать регистры через SPI?

Посмотрите, что вообще есть в sysfs на тему 8863 (т.е. find /sys | grep 8863)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

свои 5 коп. "ls /dev"  -  ищем что-то типа mmc**** расделы флеш/нан/т.п. Можно глянуть fstab и посмотреть куда смонтирован рутфс. если рутфс на /dev/mmcblk3p2, то нужен  /dev/mmcblk3p1. Где-то на флеше есть раздел, в котором ядро и дерево девайсов. Нужно найти этот раздел. Смонтировать как fat куда-нибудь в /mnt/dtb

В этом разделе должно быть дерево девайсов, файл *.dtb (и ядро, обычно zImage)

тащим тот файл на хост ПК, преобразуем из dtb в dts

Цитата

конвертация  dtd в dts
dtc -I dtb -O dts -o devicetree.dts devicetree.dtb 

Открываем текстовым редактором dts - картина маслом.  Находим свой ethernet и смотрим чем он дышит? какие ноги, какое управление mdio/spi/i2c.... (я получал доступ до регистров, и по мойму как раз инструментом mii-tool). Возможно, там же увидите значения регистров вашего eth, которые драйвер ядро задает при старте. 

Опять же ..... вангую... возможно для ёвной конфигурации надо в probe драйвер передать аргументы. И возможно достаточно эти аргументы поправить (или задать) в dts (и получите желаемую переконфигурацию). Потом обратно dts в dtb. Переписать dtb в разделе /dev/mmcblk3p1 - профит!!!

 

ps Но есть шанс получить кирпич. Хотя, если синтактическая ошибка в dts, то dtb не соберёте. А если передадите в драйвер из dtb "плохой" аргумент - в худшем случае ethrnet не заведётся, а всё остальное будет работать. Если не куда будет подрубить терминал, акромя ssh - то рабочий роутер без терминала - это тот же кирпич.  

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...