Jump to content

    

J.Joker

Участник
  • Content Count

    61
  • Joined

  • Last visited

Community Reputation

0 Обычный

About J.Joker

  • Rank
    Участник
  1. Проблема решена. Помог поиск =) GPIO в AM1808
  2. Добрый день, у меня следующая проблема. Не получается управлять ногой на AM1705 под Linux 3.2.1 через /sys/class/gpio. Экспорт проходит нормально, направление меняется, а значение в value не изменяется. Несколько дней поисков не дали никаких результатов. Вот лог моих действий: root@sbc8018:/sys/class/gpio# echo 72 > export root@sbc8018:/sys/class/gpio# ls export gpiochip0 gpiochip64 unexport gpio72 gpiochip32 gpiochip96 root@sbc8018:/sys/class/gpio# cat gpio72/direction in root@sbc8018:/sys/class/gpio# echo out > gpio72/direction root@sbc8018:/sys/class/gpio# cat gpio72/direction out root@sbc8018:/sys/class/gpio# echo 1 > gpio72/value root@sbc8018:/sys/class/gpio# cat gpio72/value 0 И на всякий случай выхлоп дебага по gpio root@sbc8018:/sys/class# cat /sys/kernel/debug/gpio GPIOs 0-31, DaVinci: GPIOs 32-63, DaVinci: gpio-59 (USB PWR ) out lo GPIOs 64-95, DaVinci: gpio-72 (sysfs ) out lo GPIOs 96-127, DaVinci:
  3. Это понятно, на домашнем ПК он стоит как основная ОС, на рабочем пока как виртуалка. Но я без инструкции не могу =). Вопрос про книги возник в связи с тем, что нужно мне было записать в лог файл, что происходит при подключении USB устройства, как его определяет где какие связи делает. А вот как найти в гугле, или man какой команды прочитать что бы это осуществить было непонятно. Так что без книг никуда. Спасибо всем за полезные ссылки. Для потомков: на сайте Intuit'а (не сочтите за рекламу) есть несколько лекций по Linux. Но их манера подачи материала мне не очень нравится, много воды и как-то не структуировано, приходится много раз перечитывать каждый абзац, что бы уловить суть.
  4. Здравствуйте. С недавних пор начал работать с ОС Linux. Подскажите литературу или иные источники по данной ОС, из которых можно узнать следующее: за что отвечает та или иная папка в корневой ФС (etc, proc, sys, udev и т.д.), что и когда вызывается при загрузке ядра (то-есть подробно про rc*, init.d и т.д.), настройка различных служб (ftp, telnet, ppp и т.д.), работа с логами системы (например вывод лога при подключении устройств), о работе драйверов (что где создается при подключении устройства, и за что отвечает), основные shell комманды и какой и когда нужно пользоваться (mknod, grep, и пр.). В принципе я понимаю, что вся информация есть в google, но что бы там что-то найти, нужно знать и понимать что искать, а вот с этим у меня пока туго =).
  5. Вот лог системы, надеюсь я Вас правельно понял, что лог нужен после того как я поправил файл борды. resolv_log.txt
  6. "Ура! Заработало!" Матроскин Спасибо am1808 и sasamy за помощь.
  7. Проверил, была возможность для конфликта (EMACа с McASP0), хотя этот модуль у меня и неинициализировался, я его закоментировал, что бы не смущал. Итог тод же, спасает только, как говорил выше, если заставить ядро искать по новой PHY а именно его ID.
  8. Нет, из ютуба все прекрасно пингуется и передается по tftp. Кстати, вопрос, а U-toob как-то передает ядру информацию о физике, или они ее иниициализируют независимо друг от друга?
  9. 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); //}
  10. Без изменений: ip_static2.txt А с чего Вы взяли, что оно у меня для am18xx собирается? Выдержка из выхлопа Machine: DaVinci DA830/OMAP-L137/AM17x EVM, Вы меня так не пугайте ;) Судя по исходникам, ядро не может получить ID от физики... пытаюсь разобраться почему.
  11. Нет, всегда одно и тоже, что нету phy. Логи для различных вариантов во вложение (ip=static, ip=off, ip=dhcp) ip_dhcp.txt ip_static.txt ip_off.txt
  12. Все я не собирал, только три =) Это по началу, еще с NAND проблема была, думал в более новых версия их поправили, а оказалось не поправили. Но для однозначности остановимся на 3.2.1. И так ядру передаются следующие параметры: mem=32M consoleblank=0 console=ttyS1,115200n8 rw rootwait earlyprintk root=/dev/mtdblock4 rw rootfstype=jffs2 ip=off Конфиг ядра ниже. config.txt
  13. Здравствуйте. Возникла следующая проблема, ядро версии 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 Поиск в гугле результатов не дал.
  14. Все я делал правельно, кроме ссылки на библиотеку =). Вместо -ltdl нужно указывать -lltdl, и тогда все успешно собирается. Спасибо за помощь, XVR.
  15. Собирается вместе. Несовсем понял как указать что собирается cross версия, как я понимаю переменная host как раз и указывает платформу для которой собирается? Плюс я смотрел все переменные, которые можно передать при конфигурации, и кроме host и CC, больше ничего не укажешь, что бы указывало на кросс компиляцию. По крайней мере сегодня я собрал и успешно запустил Mplayer, там была переменная --enable-cross-compil, а тут ничего подобного нету. Даже тут говорится о том, что крос компиляция определяется переменной --host.