реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> драйвер ethernet switch
tturist
сообщение May 10 2012, 06:22
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 2-04-07
Пользователь №: 26 703



Есть процессор с одним портом ethernet (АМ1808), linux 2.6.37. Требуется прикрутить ethernet switch (KSZ8863). Подскажите, где можно посмотреть примеры кода? Ткните, плс, в какую-нибудь плату с ethernet switch + linux.
Go to the top of the page
 
+Quote Post
ObitJr
сообщение May 10 2012, 14:25
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 23-07-05
Пользователь №: 7 043



Цитата(tturist @ May 10 2012, 09:22) *
Есть процессор с одним портом ethernet (АМ1808), linux 2.6.37. Требуется прикрутить ethernet switch (KSZ8863). Подскажите, где можно посмотреть примеры кода? Ткните, плс, в какую-нибудь плату с ethernet switch + linux.


В исходных текстах ядра, net/dsa - поддержка switch'а 88EXXXX от Marvell.
Go to the top of the page
 
+Quote Post
tturist
сообщение May 11 2012, 13:59
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 2-04-07
Пользователь №: 26 703



Цитата(ObitJr @ May 10 2012, 17:25) *
В исходных текстах ядра, net/dsa - поддержка switch'а 88EXXXX от Marvell.

Спсб. Но я неточно сформулировал вопрос - скорее хотелось бы воспользоваться стандартным "Generic PHY" драйвером, но не могу найти примера - как сконфигурировать несколько phy к одному сетевому устройству.
DSA - любопытная вещь. Опять-таки не могу найти толкового описания принципа работы. Основное что не понятно - DSA требует поддержки в чипе свича или это чисто софтовая примочка линукса?

Сообщение отредактировал tturist - May 11 2012, 14:00
Go to the top of the page
 
+Quote Post
ObitJr
сообщение May 12 2012, 09:21
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 23-07-05
Пользователь №: 7 043



Цитата(tturist @ May 11 2012, 16:59) *
Спсб. Но я неточно сформулировал вопрос - скорее хотелось бы воспользоваться стандартным "Generic PHY" драйвером, но не могу найти примера - как сконфигурировать несколько phy к одному сетевому устройству.
DSA - любопытная вещь. Опять-таки не могу найти толкового описания принципа работы. Основное что не понятно - DSA требует поддержки в чипе свича или это чисто софтовая примочка линукса?


Технологию DSA должен поожерживать чип. И похоже что ваш чип ее тоже поддерживает.
В сети есть куча исходников где реализовано DSA для 8863.
Посмотрите на http://www.eleaks.org/tmp/micrel/
Go to the top of the page
 
+Quote Post
tturist
сообщение May 12 2012, 13:39
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 2-04-07
Пользователь №: 26 703



Цитата(ObitJr @ May 12 2012, 12:21) *
Технологию DSA должен поожерживать чип. И похоже что ваш чип ее тоже поддерживает.
В сети есть куча исходников где реализовано DSA для 8863.
Посмотрите на http://www.eleaks.org/tmp/micrel/


Да, спасибо, видел эти исходники. Есть так же поддержка DSA для чипа KSZ8893M в ветке uLinux для BlackFin (вроде как стоит на плате BF518-EZBRD). Но нет ни одного слова про DSA в даташитах KSZ8863 и KSZ8893! И вообще сайт микрела про DSA ничего не знает. Или рассказать не хочет. Странно все это как-то... Кроме загадочных слов из описания DSA про специальный "ethernet header format" - все остальное скрыто туманом.

Остается открытым вопрос - как подключить switch без использования DSA.
Go to the top of the page
 
+Quote Post
ObitJr
сообщение May 14 2012, 08:37
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 23-07-05
Пользователь №: 7 043



Цитата(tturist @ May 12 2012, 16:39) *
Да, спасибо, видел эти исходники. Есть так же поддержка DSA для чипа KSZ8893M в ветке uLinux для BlackFin (вроде как стоит на плате BF518-EZBRD). Но нет ни одного слова про DSA в даташитах KSZ8863 и KSZ8893! И вообще сайт микрела про DSA ничего не знает. Или рассказать не хочет. Странно все это как-то... Кроме загадочных слов из описания DSA про специальный "ethernet header format" - все остальное скрыто туманом.

Остается открытым вопрос - как подключить switch без использования DSA.


Берете драйвер под emac вашего процессора, добавляете в список фитеров новый с ID вашего свитча. Базовые функции должны работать. Далее правите под switch если нужно.

Я так понял что вы используете davinci_emac. Он, вроде, должен брать первый попавшийся phy (найденный по ID) и использовать его. Насколько я помню, если ID фитера не опознан - используется "Generic PHY".

Сообщение отредактировал ObitJr - May 14 2012, 08:54
Go to the top of the page
 
+Quote Post
tturist
сообщение May 15 2012, 11:53
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 2-04-07
Пользователь №: 26 703



Цитата(ObitJr @ May 14 2012, 11:37) *
Берете драйвер под emac вашего процессора, добавляете в список фитеров новый с ID вашего свитча. Базовые функции должны работать. Далее правите под switch если нужно.

Я так понял что вы используете davinci_emac. Он, вроде, должен брать первый попавшийся phy (найденный по ID) и использовать его. Насколько я помню, если ID фитера не опознан - используется "Generic PHY".


Да, все так - davinci_emac берет первый phy на шине и Generic PHY работает. Но только для первого phy порта. Соответственно если кабель воткнули не в первый, а во второй порт, линка нет, интерфейс не работает.
По исходникам Generic PHY у меня складывается впечатление что несколько phy на одном сетевом устройстве не поддерживается (phy_connect() этого вроде не предусматривает). Я конечно могу все это переделать. Но складывается стойкое ощущение что я копаю "не в ту сторону". Как-то все должно быть проще... Но не могу найти примеров - как.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 07:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01383 секунд с 7
ELECTRONIX ©2004-2016