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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Проблема взаимодействия ядра и PHY, Ядро определяет PHY, но не поднимает eth0
PavelG
сообщение Oct 28 2012, 18:39
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 11-10-11
Пользователь №: 67 674



Здравствуйте. Возникла следующая проблема, ядро версии 3.2.1 и 3.4.6 на AM1705 не поднимают eth0 с ошибкой: net eth0: no phy, defaulting to 100/full
Пробовал на двух платах с разными PHY, на одной Micrel KSZ8721, на другой SMCS LAN8710. При этом в логе загрузки видно, что физика определяется без проблем (для LAN аналогично):
Код
...
davinci_mdio davinci_mdio.0: davinci mdio revision 1.5
davinci_mdio davinci_mdio.0: detected phy mask ffffff7f
davinci_mdio.0: probed
davinci_mdio davinci_mdio.0: phy[7]: device 0:07, driver Micrel KS8001 or KS872
...

Однако под конец выдает Configuring network interfaces... net eth0: no phy, defaulting to 100/full.
В системе появляются следующие файлы:
./sys/devices/platform/davinci_emac.1/net/eth0
./sys/class/net/eth0
./proc/irq/36/eth0
./proc/irq/35/eth0
./proc/irq/34/eth0
./proc/irq/33/eth0
./proc/sys/net/ipv4/neigh/eth0
./proc/sys/net/ipv4/conf/eth0
Поиск в гугле результатов не дал.
Go to the top of the page
 
+Quote Post
am1808
сообщение Oct 29 2012, 07:03
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 29-05-11
Из: Nizhny Novgorod, Russian Federation
Пользователь №: 65 337



пробуй 3.5.5

еще б конфиг и параметры ядра показал бы

а вообще, нафига собирать все версии ядер?

Сообщение отредактировал am1808 - Oct 29 2012, 07:04
Go to the top of the page
 
+Quote Post
PavelG
сообщение Oct 29 2012, 17:40
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 11-10-11
Пользователь №: 67 674



Все я не собирал, только три =) Это по началу, еще с NAND проблема была, думал в более новых версия их поправили, а оказалось не поправили. Но для однозначности остановимся на 3.2.1.
И так ядру передаются следующие параметры:
mem=32M consoleblank=0 console=ttyS1,115200n8 rw rootwait earlyprintk root=/dev/mtdblock4 rw rootfstype=jffs2 ip=off
Конфиг ядра ниже.
Прикрепленный файл  config.txt ( 46.52 килобайт ) Кол-во скачиваний: 169


Сообщение отредактировал PavelG - Oct 29 2012, 17:40
Go to the top of the page
 
+Quote Post
am1808
сообщение Oct 29 2012, 19:32
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 29-05-11
Из: Nizhny Novgorod, Russian Federation
Пользователь №: 65 337



шаманство с ip дает что нибудь?
например, передать ip=dhcp

и выхлоп ядра бы весь хотелось увидеть
Go to the top of the page
 
+Quote Post
PavelG
сообщение Oct 29 2012, 20:43
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 11-10-11
Пользователь №: 67 674



Цитата(am1808 @ Oct 29 2012, 22:32) *
шаманство с ip дает что нибудь?
например, передать ip=dhcp

и выхлоп ядра бы весь хотелось увидеть

Нет, всегда одно и тоже, что нету phy. Логи для различных вариантов во вложение (ip=static, ip=off, ip=dhcp)
Прикрепленный файл  ip_dhcp.txt ( 6.56 килобайт ) Кол-во скачиваний: 265
Прикрепленный файл  ip_static.txt ( 9.34 килобайт ) Кол-во скачиваний: 142
Прикрепленный файл  ip_off.txt ( 8.25 килобайт ) Кол-во скачиваний: 204
Go to the top of the page
 
+Quote Post
am1808
сообщение Oct 30 2012, 04:21
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 29-05-11
Из: Nizhny Novgorod, Russian Federation
Пользователь №: 65 337



Павел,

1. на am1705 нет USB1.1, так что смело в комментите инициализацию для 1.1. Оставьте только для USB2.0
2. давайте ж все же попробуем передать ядру ip=192.168.1.1:192.168.1.5::255.255.255.0::eth0:off

з.ы. только свои значения подставьте

з.ы. 2: ядро как бы для am1705 надо собирать, а не для am18xx

т.е. тебе нужно конфигурить для da830
Go to the top of the page
 
+Quote Post
PavelG
сообщение Oct 30 2012, 09:28
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 11-10-11
Пользователь №: 67 674



Цитата(am1808 @ Oct 30 2012, 07:21) *
2. давайте ж все же попробуем передать ядру ip=192.168.1.1:192.168.1.5::255.255.255.0::eth0:off

Без изменений: Прикрепленный файл  ip_static2.txt ( 8.89 килобайт ) Кол-во скачиваний: 352


Цитата(am1808 @ Oct 30 2012, 07:21) *
з.ы. только свои значения подставьте
з.ы. 2: ядро как бы для am1705 надо собирать, а не для am18xx
т.е. тебе нужно конфигурить для da830

А с чего Вы взяли, что оно у меня для am18xx собирается? Выдержка из выхлопа Machine: DaVinci DA830/OMAP-L137/AM17x EVM, Вы меня так не пугайте wink.gif

Судя по исходникам, ядро не может получить ID от физики... пытаюсь разобраться почему.

Сообщение отредактировал PavelG - Oct 30 2012, 09:40
Go to the top of the page
 
+Quote Post
am1808
сообщение Oct 30 2012, 09:43
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 29-05-11
Из: Nizhny Novgorod, Russian Federation
Пользователь №: 65 337



может перепутал на счет лога, но вроде ваш смотрел. а по юсб 1.1 все ж обратите внимание и на VBUS.
по поводу последнего лога, вижу, все поднялось. пинг есть?
Go to the top of the page
 
+Quote Post
PavelG
сообщение Oct 30 2012, 10:48
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 11-10-11
Пользователь №: 67 674



Цитата(am1808 @ Oct 30 2012, 12:43) *
может перепутал на счет лога, но вроде ваш смотрел. а по юсб 1.1 все ж обратите внимание и на VBUS.
USB я смотрел, в файле борды где идет инициализация usb, закоментил все что относится к USB1.1, а в логе загрузки всеравно выдает ее инициализацию, но с этим потом разберусь.

Цитата(am1808 @ Oct 30 2012, 12:43) *
по поводу последнего лога, вижу, все поднялось. пинг есть?
Нет не работало, плюс там же тоже вышла эта ошибка...

Итог такой, поковырял файл davinci_emac.c и вот, что обнаружил. В функции открытия emac закоментировал if и заставил искать физику, и все заработало
ping есть. Вопрос, насколько грубо я исправил проблему, и как это можно cделать лучше?
Код
[Выхлоп ядра:]
net eth0: !!!!!!davinci_emac.c::1584:: Check phy id=3225088728!!!!!!!!
net eth0: !!!!!!davinci_emac.c::1590:: Check phy id=3248789512!!!!!!!!
net eth0: !!!!!!davinci_emac.c::1600:: !!!!!!!!
net eth0: attached PHY driver [Micrel KS8001 or KS8721] (mii_bus:phy_addr=0:07,
id=221619)

Исправленный кусок
Код
//if (!priv->phy_id) {
        struct device *phy;

        phy = bus_find_device(&mdio_bus_type, NULL, NULL, match_first_device);
        dev_err(emac_dev, "!!!!!!davinci_emac.c::1590:: Check phy id=%u\n!!!!!!!!", phy);
                
        if (phy)
            priv->phy_id = dev_name(phy);
    //}
Go to the top of the page
 
+Quote Post
am1808
сообщение Oct 30 2012, 10:58
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 29-05-11
Из: Nizhny Novgorod, Russian Federation
Пользователь №: 65 337



а в юбуте правили что нибудь касаемо езернета?
пинг из юбута есть?
Go to the top of the page
 
+Quote Post
PavelG
сообщение Oct 30 2012, 11:29
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 11-10-11
Пользователь №: 67 674



Цитата(am1808 @ Oct 30 2012, 13:58) *
а в юбуте правили что нибудь касаемо езернета?
пинг из юбута есть?

Нет, из ютуба все прекрасно пингуется и передается по tftp.
Кстати, вопрос, а U-toob как-то передает ядру информацию о физике, или они ее иниициализируют независимо друг от друга?
Go to the top of the page
 
+Quote Post
am1808
сообщение Oct 30 2012, 11:34
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 29-05-11
Из: Nizhny Novgorod, Russian Federation
Пользователь №: 65 337



Павел, тогда в ядре еще рас посмотрите пинмуксы, может там что конфликтует

Сообщение отредактировал am1808 - Oct 30 2012, 12:05
Go to the top of the page
 
+Quote Post
PavelG
сообщение Nov 1 2012, 12:34
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 11-10-11
Пользователь №: 67 674



Цитата(am1808 @ Oct 30 2012, 14:34) *
Павел, тогда в ядре еще рас посмотрите пинмуксы, может там что конфликтует


Проверил, была возможность для конфликта (EMACа с McASP0), хотя этот модуль у меня и неинициализировался, я его закоментировал, что бы не смущал. Итог тод же, спасает только, как говорил выше, если заставить ядро искать по новой PHY а именно его ID.
Go to the top of the page
 
+Quote Post
am1808
сообщение Nov 1 2012, 14:27
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 29-05-11
Из: Nizhny Novgorod, Russian Federation
Пользователь №: 65 337



Павел,
давайте пробовать

начнем,
Код
# CONFIG_KS8851 is not set
# CONFIG_KS8851_MLL is not set
# CONFIG_MICREL_PHY is not set
# CONFIG_FIXED_PHY is not set
# CONFIG_MDIO_BITBANG is not set
# CONFIG_SMSC_PHY is not set
# CONFIG_MDIO_BITBAN is not set
# CONFIG_ETHOC is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_SEEQ8005 is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_SMC91X is not set
# CONFIG_SMC911X is not set
# CONFIG_SMSC911X is not set
# CONFIG_SMSC911X_ARCH_HOOKS is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_B44 is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
# CONFIG_DM9000 is not set
# CONFIG_DNET is not set

Код
CONFIG_LXT_PHY=y
CONFIG_LSI_ET1011C_PHY=y


далее,
откатываемся к той версии ядра, где вы ничего не трогали, касаемо phy и ethernet

жду лог

и CONFIG_MDIO_GPIO не устанавливайте еще

Сообщение отредактировал am1808 - Nov 1 2012, 14:23
Go to the top of the page
 
+Quote Post
sasamy
сообщение Nov 1 2012, 15:09
Сообщение #15


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(PavelG @ Oct 30 2012, 14:48) *
Итог такой, поковырял файл davinci_emac.c


Лучше board-da830-evm.c поковыряйте sm.gif вот тут
http://lxr.free-electrons.com/source/arch/...v=3.2;a=arm#L37

#define DA830_EVM_PHY_ID ""

вместо ""

#define DA830_EVM_PHY_ID NULL

phy_id can be one of the following:
- NULL : use the first phy on the bus,
- "" : force to 100/full, no mdio control
- "<bus>:<addr>" : use the specified bus and phy
Go to the top of the page
 
+Quote Post

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

 


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


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