Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Отладочные платы » SK-MAT91SAM9G45/M10
Проблемы с ethernet
Leny
Добавлено 19.05.2015 11:08
0
Сообщение: 1
Leny
0

Пункты: 312
Регистрация: 05.03.2015
Здравствуйте!
Проблема: После загрузки системы нет передачи по ethernet. В интерфейсах eth0 присутствует, адрес назначаю статически. При подключении кабеля на компе появляется подключение, но пакеты не проходят. Утилита mii-diag говорит, что всё в норме.

Загрузка ядра и файловой системы производится с nand. Ядро версии 3.18.12, файловая система jffs2 собрана buildroot2015_02.
В конфиге ядра установлено следующее:
CONFIG_ARM_AT91_ETHER=y
CONFIG_MACB=y
CONFIG_NET_CADENCE=y
CONFIG_ETHERNET=y
CONFIG_PHYLIB=y
CONFIG_SMSC_PHY=y
CONFIG_GENERIC_PHY=y
Спуститься к концу Подняться к началу
Персональная информация
Leny
Добавлено 21.05.2015 14:10 Сообщение: 2
Leny
0

Пункты: 312
Регистрация: 05.03.2015
Вот логи: ifconfig, mii-diag, ftrace, ethtool и в конце попытка выполнить пинг при которой линукс стабильно зависает. При наблюдение осциллографом убедился, что при пинге с компа сигнал приходит с микросхемы фая на процессор, но ответа нет.

Код

/sys/kernel/debug/tracing # ifconfig
eth0 Link encap:Ethernet HWaddr 00:1F:F2:00:00:00
inet addr:192.168.0.136 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:41 Base address:0xc000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

/sys/kernel/debug/tracing # mii-diag eth0 -F 100baseTx-FD
Setting the speed to "fixed", Control register 2100.
Basic registers of MII PHY #0: 2100 780d 0007 c0f1 01e1 cde1 0000 ffff.
The autonegotiated capability is 01e0.
The autonegotiated media type is 100baseTx-FD.
Basic mode control register 0x2100: Auto-negotiation disabled, with
Speed fixed at 100 mbps, full-duplex.
You have link beat, and everything is working OK.
Your link partner advertised cde1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD 10baseT, w/ 802.3X flow control.
End of basic transceiver information.

# tracer: function_graph
#
# CPU DURATION FUNCTION CALLS
# | | | | | | |
0) 0.000 us | jffs2_add_physical_node_ref();
0) 0.000 us | jffs2_add_physical_node_ref();
0) 0.000 us | jffs2_add_physical_node_ref();
0) 0.000 us | jffs2_add_physical_node_ref();
0) 0.000 us | jffs2_add_physical_node_ref();
------------------------------------------
0) sh-384 => mii-dia-403
------------------------------------------

0) | macb_ioctl() {
0) | phy_mii_ioctl() {
0) 0.000 us | macb_mdio_read();
0) 0.000 us | }
0) 0.000 us | }
0) | macb_ioctl() {
0) | phy_mii_ioctl() {
0) 0.000 us | macb_mdio_read();
0) 0.000 us | }
0) 0.000 us | }
0) | macb_ioctl() {
0) | phy_mii_ioctl() {
0) 0.000 us | macb_mdio_read();
0) 0.000 us | }
0) 0.000 us | }
0) | macb_ioctl() {
0) | phy_mii_ioctl() {
0) 0.000 us | macb_mdio_read();
0) 0.000 us | }
0) 0.000 us | }
0) | macb_ioctl() {
0) | phy_mii_ioctl() {
0) 0.000 us | macb_mdio_read();
0) 0.000 us | }
0) 0.000 us | }
0) | macb_ioctl() {
0) | phy_mii_ioctl() {
0) 0.000 us | macb_mdio_read();
0) 0.000 us | }
0) 0.000 us | }
0) | macb_ioctl() {
0) | phy_mii_ioctl() {
0) 0.000 us | macb_mdio_read();
0) 0.000 us | }
0) 0.000 us | }
0) | macb_ioctl() {
0) | phy_mii_ioctl() {
0) 0.000 us | macb_mdio_read();
0) 0.000 us | }
0) 0.000 us | }
0) | macb_ioctl() {
0) | phy_mii_ioctl() {
0) 0.000 us | macb_mdio_read();
0) 0.000 us | }
0) 0.000 us | }
0) | macb_ioctl() {
0) | phy_mii_ioctl() {
0) 0.000 us | macb_mdio_read();
0) 0.000 us | }
0) 0.000 us | }


/sys/kernel/debug/tracing # ethtool -s eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 100baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: No
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: external
Auto-negotiation: off
Link detected: no


/sys/kernel/debug/tracing # strace ping -c 3 192.168.0.11
execve("/bin/ping", ["ping", "-c", "3", "192.168.0.11"], [/* 8 vars */]) = 0
brk(0) = 0xb8000
uname({sysname="Linux", nodename="buildroot", ...}) = 0
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=64, ...}) = 0
mmap2(NULL, 64, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6f7d000
close(3) = 0
open("/lib/tls/v5l/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/v5l", 0xbed17520) = -1 ENOENT (No such file or directory)
open("/lib/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls", 0xbed17520) = -1 ENOENT (No such file or directory)
open("/lib/v5l/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/v5l", 0xbed17520) = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\374\203\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1271296, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f7c000
mmap2(NULL, 1308064, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e17000
mprotect(0xb6f4a000, 28672, PROT_NONE) = 0
mmap2(0xb6f51000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x132000) = 0xb6f51000
mmap2(0xb6f54000, 9632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6f54000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f7b000
set_tls(0xb6f7b4c0, 0xb6f7bba8, 0xb6f7f058, 0xb6f7b4c0, 0xb6f7f058) = 0
mprotect(0xb6f51000, 8192, PROT_READ) = 0
mprotect(0xb6f7e000, 4096, PROT_READ) = 0
munmap(0xb6f7d000, 64) = 0
getuid32() = 0
getpid() = 427
brk(0) = 0xb8000
brk(0xd9000) = 0xd9000
fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(5, 1), ...}) = 0
ioctl(1, TCGETS, {B115200 opost isig icanon echo ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f7d000
write(1, "PING 192.168.0.11 (192.168.0.11)"..., 48PING 192.168.0.11 (192.168.0.11): 56 data bytes
) = 48
socket(PF_INET, SOCK_RAW, IPPROTO_ICMP) = 3
dup2(3, 0) = 0
close(3) = 0
setsockopt(0, SOL_SOCKET, SO_BROADCAST, [1], 4) = 0
setsockopt(0, SOL_SOCKET, SO_RCVBUF, [7280], 4) = 0
rt_sigaction(SIGINT, {0x234d0, [INT], SA_RESTORER|SA_RESTART, 0xb6e460b0}, {SIG_DFL, [], 0}, 8) = 0
clock_gettime(CLOCK_MONOTONIC, {136, 150959664}) = 0
sendto(0, "\10\0\200v\253\1\0\0\257\177\35\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64, 0, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("192.168.0.11")}, 16) = 64
rt_sigaction(SIGALRM, {0x23734, [ALRM], SA_RESTORER|SA_RESTART, 0xb6e460b0}, {SIG_DFL, [], 0}, 8) = 0
setitimer(ITIMER_REAL, {it_interval={0, 0}, it_value={1, 0}}, {it_interval={0, 0}, it_value={0, 0}}) = 0
recvfrom(0,
Спуститься к концу Подняться к началу
Персональная информация
Leny
Добавлено 21.05.2015 14:12 Сообщение: 3
Leny
0

Пункты: 312
Регистрация: 05.03.2015
Если есть какие то идеи или предложения с радостью выслушаю, а то свои уже заканчиваются...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 21.05.2015 14:38 Сообщение: 4
sasamy
4.70

Пункты: 77239
Регистрация: 14.08.2009
Идея одна и простая - надо смотреть DTS и исправлять под плату, если вы его не исправляли то думаю у вас не только сеть не работает
Спуститься к концу Подняться к началу
Персональная информация
Leny
Добавлено 22.05.2015 11:40 Редактировалось 22.05.2015 11:43 Сообщение: 5
Leny
0

Пункты: 312
Регистрация: 05.03.2015
DTS не используется, менял сишные файлы платы board-sam9m10g45ek, at91sam9g45_devices. Так же еще забыл показать, что при загрузке пишет:

Код
macb macb (unnamed net_device) (uninitialized): invalid hw address, using random
libphy: MACB_mii_bus: probed
macb macb eth0: Cadence MACB rev 0x0001010c at 0xfffbc000 irq 41 (9e:dc:59:d8:d0:d1)
macb macb eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=macb-ffffffff:00, irq=48)
Спуститься к концу Подняться к началу
Персональная информация
Leny
Добавлено 22.05.2015 11:41 Редактировалось 22.05.2015 11:44 Сообщение: 6
Leny
0

Пункты: 312
Регистрация: 05.03.2015
С - файлы платы board-sam9m10g45ek, at91sam9g45_devices
Attachment file: uploads/forum/forum-vbU8Y3za35-143366.tar
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-MAT91SAM9G45/M10