Fleurety 0 27 февраля Опубликовано 27 февраля (изменено) · Жалоба Есть специфическая китайская железка, состоящая из основного SoC Nuvoton NUC980DK61YC и 3х портового Ethernet свитча KSZ8863RLLI. Нужно поменять поведение свитча. В datasheet'е на него нашел, что за его поведение отвечают внутренние регистры. Регистры вроде бы должны быть доступны через MII и именно через него свит подключен к Nuvoton'у. И вот тут у меня затык, я так и не смог придумать как их прочитать (ну и записать) Железка на ARM5, внутри сильно порезанный OpenWRT в котором нет прочти ничего. Я пока пытаюсь запихнуть туда gcc чтобы собрать net-tools где есть mii-tool, но пока не очень успешно. Готовые сборки net-tools, что мне удалось найти, ругаются на отсутствие зависимостей в различных библиотеках. Собственно хочется понять, я не вижу какой-то более простой способ сконфигурить этот несчастный свитч? Про самый простой способ: выпаять свитч, впихнуть его в макетную плату с минимально объвязкой и сконфигурить через родную утилиту от Micrel - я знаю, но планируется закупать много таких устройств и с каждым так делать не будешь. Изменено 27 февраля пользователем Fleurety Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 190 28 февраля Опубликовано 28 февраля · Жалоба MII - это интерфейс данных для самого потока Ethernet. Через него регистры не доступны. Обычно всегда есть интерфейс "рядом" - SMI (он же MDIO), или какой-нибудь SPI/I2C для более глубокого контроля. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 28 февраля Опубликовано 28 февраля · Жалоба 7 hours ago, Fleurety said: Я пока пытаюсь запихнуть туда gcc Зачем? Гораздо проще собрать необходимое на ПК. 7 hours ago, Fleurety said: mii-tool Доступ к внутренним регистрам у KSZ8863 через SMI не стандартный, не уверен, что поможет. 7 hours ago, Fleurety said: выпаять свитч, впихнуть его в макетную плату с минимально объвязкой и сконфигурить через родную утилиту от Micrel Где он запомнит эту конфигурацию? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 28 февраля Опубликовано 28 февраля · Жалоба 9 часов назад, Fleurety сказал: Я пока пытаюсь запихнуть туда gcc чтобы собрать net-tools где есть mii-tool, но пока не очень успешно. А мсье знает толк в извращениях))) Вы представляете, сколь будет это все собираться и компилироваться на 300МГц проце с тормознутой сдрам, сколько ее там, предположу, макс 16 мегабайт)))))) Я уже делал такое в махровых годах на TI DM368 там на это почти весь день ушел, при том, что все уже было готово и настроено, только запусти... 1 час назад, aaarrr сказал: Зачем? Гораздо проще собрать необходимое на ПК. Тут по моему это вообще без вариантов... 9 часов назад, Fleurety сказал: Железка на ARM5 АРМ9 так то)) 9 часов назад, Fleurety сказал: внутри сильно порезанный OpenWRT в котором нет прочти ничего. А поискать версию с большим функционалом? Хотя, кто ж сейчас такие процы под это дело ставит, под MIPS наверно куда проще было б найти... 2 часа назад, aaarrr сказал: Где он запомнит эту конфигурацию? Не спец, но там ведь SMI как-то видится, каким-нить скриптом туда пакет конфига слать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Fleurety 0 28 февраля Опубликовано 28 февраля · Жалоба Спасибо за указание направления куда копать, куда не копать. Пошел искать интерфейса "рядом", вроде бы действительно там ест SPI, но что с ним делать я пока не понял: В документации на свитч нашел следующее: Правда у меня даже близко ничего похожего нет: Собственно как и чем можно попробовать прочитать регистры через SPI? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 28 февраля Опубликовано 28 февраля · Жалоба On 2/28/2024 at 2:22 PM, Fleurety said: В документации на свитч нашел следующее: Может это не документация на свич, а документация на линуксовый драйвер свича ? On 2/28/2024 at 2:22 PM, Fleurety said: Собственно как и чем можно попробовать прочитать регистры через SPI? А у вас SPI свича на плате точно соединен с процессором ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 28 февраля Опубликовано 28 февраля · Жалоба 19 minutes ago, Fleurety said: Собственно как и чем можно попробовать прочитать регистры через SPI? Посмотрите, что вообще есть в sysfs на тему 8863 (т.е. find /sys | grep 8863) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Fleurety 0 28 февраля Опубликовано 28 февраля · Жалоба /sys/bus/spi/drivers/ksz8863 /sys/bus/spi/drivers/ksz8863/bind /sys/bus/spi/drivers/ksz8863/uevent /sys/bus/spi/drivers/ksz8863/unbind Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 28 февраля Опубликовано 28 февраля · Жалоба . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ericN 3 7 марта Опубликовано 7 марта · Жалоба свои 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 - то рабочий роутер без терминала - это тот же кирпич. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться