J.Joker 0 28 октября, 2012 Опубликовано 28 октября, 2012 · Жалоба Здравствуйте. Возникла следующая проблема, ядро версии 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 Поиск в гугле результатов не дал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
am1808 0 29 октября, 2012 Опубликовано 29 октября, 2012 (изменено) · Жалоба пробуй 3.5.5 еще б конфиг и параметры ядра показал бы а вообще, нафига собирать все версии ядер? Изменено 29 октября, 2012 пользователем am1808 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
J.Joker 0 29 октября, 2012 Опубликовано 29 октября, 2012 (изменено) · Жалоба Все я не собирал, только три =) Это по началу, еще с NAND проблема была, думал в более новых версия их поправили, а оказалось не поправили. Но для однозначности остановимся на 3.2.1. И так ядру передаются следующие параметры: mem=32M consoleblank=0 console=ttyS1,115200n8 rw rootwait earlyprintk root=/dev/mtdblock4 rw rootfstype=jffs2 ip=off Конфиг ядра ниже. config.txt Изменено 29 октября, 2012 пользователем PavelG Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
am1808 0 29 октября, 2012 Опубликовано 29 октября, 2012 · Жалоба шаманство с ip дает что нибудь? например, передать ip=dhcp и выхлоп ядра бы весь хотелось увидеть Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
J.Joker 0 29 октября, 2012 Опубликовано 29 октября, 2012 · Жалоба шаманство с ip дает что нибудь? например, передать ip=dhcp и выхлоп ядра бы весь хотелось увидеть Нет, всегда одно и тоже, что нету phy. Логи для различных вариантов во вложение (ip=static, ip=off, ip=dhcp) ip_dhcp.txt ip_static.txt ip_off.txt Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
am1808 0 30 октября, 2012 Опубликовано 30 октября, 2012 · Жалоба Павел, 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
J.Joker 0 30 октября, 2012 Опубликовано 30 октября, 2012 (изменено) · Жалоба 2. давайте ж все же попробуем передать ядру ip=192.168.1.1:192.168.1.5::255.255.255.0::eth0:off Без изменений: ip_static2.txt з.ы. только свои значения подставьте з.ы. 2: ядро как бы для am1705 надо собирать, а не для am18xx т.е. тебе нужно конфигурить для da830 А с чего Вы взяли, что оно у меня для am18xx собирается? Выдержка из выхлопа Machine: DaVinci DA830/OMAP-L137/AM17x EVM, Вы меня так не пугайте ;) Судя по исходникам, ядро не может получить ID от физики... пытаюсь разобраться почему. Изменено 30 октября, 2012 пользователем PavelG Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
am1808 0 30 октября, 2012 Опубликовано 30 октября, 2012 · Жалоба может перепутал на счет лога, но вроде ваш смотрел. а по юсб 1.1 все ж обратите внимание и на VBUS. по поводу последнего лога, вижу, все поднялось. пинг есть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
J.Joker 0 30 октября, 2012 Опубликовано 30 октября, 2012 · Жалоба может перепутал на счет лога, но вроде ваш смотрел. а по юсб 1.1 все ж обратите внимание и на VBUS. USB я смотрел, в файле борды где идет инициализация usb, закоментил все что относится к USB1.1, а в логе загрузки всеравно выдает ее инициализацию, но с этим потом разберусь. по поводу последнего лога, вижу, все поднялось. пинг есть? Нет не работало, плюс там же тоже вышла эта ошибка... Итог такой, поковырял файл 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); //} Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
am1808 0 30 октября, 2012 Опубликовано 30 октября, 2012 · Жалоба а в юбуте правили что нибудь касаемо езернета? пинг из юбута есть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
J.Joker 0 30 октября, 2012 Опубликовано 30 октября, 2012 · Жалоба а в юбуте правили что нибудь касаемо езернета? пинг из юбута есть? Нет, из ютуба все прекрасно пингуется и передается по tftp. Кстати, вопрос, а U-toob как-то передает ядру информацию о физике, или они ее иниициализируют независимо друг от друга? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
am1808 0 30 октября, 2012 Опубликовано 30 октября, 2012 (изменено) · Жалоба Павел, тогда в ядре еще рас посмотрите пинмуксы, может там что конфликтует Изменено 30 октября, 2012 пользователем am1808 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
J.Joker 0 1 ноября, 2012 Опубликовано 1 ноября, 2012 · Жалоба Павел, тогда в ядре еще рас посмотрите пинмуксы, может там что конфликтует Проверил, была возможность для конфликта (EMACа с McASP0), хотя этот модуль у меня и неинициализировался, я его закоментировал, что бы не смущал. Итог тод же, спасает только, как говорил выше, если заставить ядро искать по новой PHY а именно его ID. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
am1808 0 1 ноября, 2012 Опубликовано 1 ноября, 2012 (изменено) · Жалоба Павел, давайте пробовать начнем, # 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 не устанавливайте еще Изменено 1 ноября, 2012 пользователем am1808 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 11 1 ноября, 2012 Опубликовано 1 ноября, 2012 · Жалоба Итог такой, поковырял файл davinci_emac.c Лучше board-da830-evm.c поковыряйте :) вот тут 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться