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

 
 
> Проблемма с LAN (PHY MII/RMII) : at91sam9g20ek+PHY Davicom DM9161AEP, ifconfig : error overruns
salara
сообщение Jun 1 2011, 20:08
Сообщение #1





Группа: Участник
Сообщений: 13
Регистрация: 1-06-11
Из: Днепропетровск
Пользователь №: 65 405



Добрый вечер. Есть проблемма - помогите, пожалуйста, решить.
Суть ее такова :
Есть плата at91sam9g20ek с PHY Davicom DM9161AEP.

с ядром linux 2.6.30 вот такая беда твориться :

kernel BUG at drivers/net/macb.c:442!
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c79e4000
[00000000] *pgd=279fa031, *pte=00000000, *ppte=00000000
Internal error: Oops: 817 [#1]
Modules linked in: vin_mod dss_mod k16_mod scsi_wait_scan
CPU: 0 Not tainted (2.6.30 #40)
PC is at __bug+0x1c/0x28
LR is at __bug+0x18/0x28
pc : [<c002974c>] lr : [<c0029748>] psr: 60000013
sp : c79e1e58 ip : fefff200 fp : 00000040
r10: 00000100 r9 : c78ebb38 r8 : 00000121
r7 : 000000d6 r6 : c78ebb00 r5 : c782e4e0 r4 : 00000120
r3 : 00000000 r2 : 80000013 r1 : 000019c1 r0 : 00000029
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 0005317f Table: 279e4000 DAC: 00000015
Process elgatos (pid: 497, stack limit = 0xc79e0268)
Stack: (0xc79e1e58 to 0xc79e2000)
1e40: 0000011f c0185ee8
1e60: 00000040 00000000 c79e0000 c78ebb38 00000040 00000100 0000012c c031410c
......
......

перед этим ifconfig мне показывал ошибки overruns :

eth0 Link encap:Ethernet HWaddr 00:12:34:56:09:8F
inet addr:192.100.101.254 Bcast:192.100.101.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:170240 errors:82 dropped:0 overruns:82 frame:0
TX packets:188302 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:31242471 (29.7 MiB) TX bytes:40814141 (38.9 MiB)
Interrupt:21 Base address:0x4000

когда грузилось ядро было такое сообщение :

MACB_mii_bus: probed
eth0: Atmel MACB at 0xfffc4000 irq 21 (00:12:34:56:10:8f)
eth0: attached PHY driver [Davicom DM9161A] (mii_bus:phy_addr=ffffffff:00, irq=-1)

плюнул на это ядро и перешел на 2.6.33 (с патчем от linux4sam),
ядро больше не падает, но ошибки overruns остались, причем их количество
растет при увеличении трафика (sip, rtp-пакеты) через LAN.
Подключил плату к свитчу с портом в 10Mbps/Full-Duplex - ошибки overruns исчезли.
Однако на плате не могу принудительно установить режим 10/Full-Duplex:

mii-tool говорит :
SIOCGMIIPHY on 'eth0' failed: Operation not supported
no MII interfaces found
примерно тоже говорит ifconfig при попытке сменить media у LAN-а

Вопрос такой :
режим MII не поддерживается драйвером ядра macb для PHY Davicom DM9161AEP ????????????
может кто-то с такой проблеммой уже сталкивался (что-то подобное читал у miniMax-а, но почему-то
его рекомеднации мне не помогли).

Кто вкурсе, помогите, пожалуйста.



Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
alx2
сообщение Dec 3 2011, 09:25
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



У меня есть мысль использовать аналог at91sam9g20ek, только с другим PHY, поэтому очень интересно узнать, как разрешилась ваша проблема.
Также буду рад услышать отзывы от всех, кто использует решения подобные at91sam9g20ek с linux-2.6.30. Главным образом интересует стабильность работы SPI и ethernet.

Попутно еще вопрос.
Цитата(salara @ Jun 2 2011, 01:08) *
когда грузилось ядро было такое сообщение :
MACB_mii_bus: probed
eth0: Atmel MACB at 0xfffc4000 irq 21 (00:12:34:56:10:8f)
eth0: attached PHY driver [Davicom DM9161A] (mii_bus:phy_addr=ffffffff:00, irq=-1)

В исходниках ядра 2.6.30 (взятыx отсюда: http://armdevs.googlecode.com/files/linux-2.6.30.tar.bz2) я не нашел код,который мог бы выдавать такое сообщение. В drivers/net/arm/at91_ether.c я вижу такую строку:

printk(KERN_INFO "%s: Davicom 9161 PHY %s\n", dev->name, (lp->phy_media == PORT_FIBRE) ? "(Fiber)" : "(Copper)");

Вы использовали какой-то другой драйвер?


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
salara
сообщение Dec 20 2011, 16:46
Сообщение #3





Группа: Участник
Сообщений: 13
Регистрация: 1-06-11
Из: Днепропетровск
Пользователь №: 65 405



Цитата(alx2 @ Dec 3 2011, 11:25) *
У меня есть мысль использовать аналог at91sam9g20ek, только с другим PHY, поэтому очень интересно узнать, как разрешилась ваша проблема.
Также буду рад услышать отзывы от всех, кто использует решения подобные at91sam9g20ek с linux-2.6.30. Главным образом интересует стабильность работы SPI и ethernet.

Попутно еще вопрос.

В исходниках ядра 2.6.30 (взятыx отсюда: http://armdevs.googlecode.com/files/linux-2.6.30.tar.bz2) я не нашел код,который мог бы выдавать такое сообщение. В drivers/net/arm/at91_ether.c я вижу такую строку:

printk(KERN_INFO "%s: Davicom 9161 PHY %s\n", dev->name, (lp->phy_media == PORT_FIBRE) ? "(Fiber)" : "(Copper)");

Вы использовали какой-то другой драйвер?


Ничем хорошим наша проблемма так и не решилась. Испробовал кучу ядер (2.6.33, 2.6.34, 2.6.39) результат один и тот же.
Ядро продолжает падать при интенсивном трафике через LAN (RTP пакеты) вот примерно с таким сообщением :
kernel BUG at drivers/net/macb.c:417!
. Пришлось пока задействовать один разъем usb под конвертор usb-lan (D-LINK на базе чипсета ASIX) и пустить по нему трафик, не фонтан конечно, но пока хоть что-то.
Нигде в инете так и не нашел вразумительного объяснения такому поведению драйвера macb.
А SPI мы вообще не используем, свой чипсет (Cyclon-III Altera) посадили прямо на шину процессора по NCS3.
Вообщем пара MACB-Davicom что-то не пошла у нас, хотим попробывать другой PHY вместо Davicom, например Micrel или что-то еще.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 20 2011, 17:04
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(salara @ Dec 20 2011, 20:46) *
Вообщем пара MACB-Davicom что-то не пошла у нас, хотим попробывать другой PHY вместо Davicom, например Micrel или что-то еще.

Чем PHY-то виноват, если проблема в драйвере EMAC?
Go to the top of the page
 
+Quote Post
salara
сообщение Dec 20 2011, 17:38
Сообщение #5





Группа: Участник
Сообщений: 13
Регистрация: 1-06-11
Из: Днепропетровск
Пользователь №: 65 405



Цитата(aaarrr @ Dec 20 2011, 19:04) *
Чем PHY-то виноват, если проблема в драйвере EMAC?


Возможно и так, но тогда наверно не в EMAC а в атмеловском MACB
А у вас есть лекарство для драйвера ?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 20 2011, 18:08
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(salara @ Dec 20 2011, 21:38) *
Возможно и так, но тогда наверно не в EMAC а в атмеловском MACB

Так MACB - это и есть драйвер EMAC.

Цитата(salara @ Dec 20 2011, 21:38) *
А у вас есть лекарство для драйвера ?

Просмотрел его бегло - увы, горбатого могила исправит.
Без нормальной обработки ошибок по приему он и должен падать на большой загрузке.
Go to the top of the page
 
+Quote Post
alx2
сообщение Dec 21 2011, 04:18
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Цитата(aaarrr @ Dec 20 2011, 23:08) *
Так MACB - это и есть драйвер EMAC.
Просмотрел его бегло - увы, горбатого могила исправит.
Без нормальной обработки ошибок по приему он и должен падать на большой загрузке.

Правильно ли я понял, что на данный момент ожидать нормальной работы встроенного в at91 ethernet не стоит?


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
bublik
сообщение Dec 21 2011, 05:42
Сообщение #8





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



Цитата(alx2 @ Dec 21 2011, 07:18) *
Правильно ли я понял, что на данный момент ожидать нормальной работы встроенного в at91 ethernet не стоит?


У нас связка такая фе91sam9g20ek + SMSC LAN9303
Что меняли в ядре, чтоб заработало:
На примере buildroot2011.05 и ядра 2.6.33

Отключить привязку ETH_IRQ и выключаем RMII

-открываем файл: аrch/arm/mach-at91/board-sam9g20ek.c

// MACB Ethernet device
static struct at91_eth_data __initdata ek_macb_data = {
// .phy_irq_pin = AT91_PIN_PA7, //Закоментировали
.is_rmii = 0, //было 1
};


Меняем пины для изернета вместо 23,24 ставим 10,11
- открываем файл: аrch/arm/mach-at91/at91sam9260_devices.c
CODE
void __init at91_add_device_eth(struct at91_eth_data *data)
{
if (!data)
return;

if (data->phy_irq_pin) {
at91_set_gpio_input(data->phy_irq_pin, 0);
at91_set_deglitch(data->phy_irq_pin, 1);
}

/* Pins used for MII and RMII */
at91_set_A_periph(AT91_PIN_PA19, 0); /* ETXCK_EREFCK */
at91_set_A_periph(AT91_PIN_PA17, 0); /* ERXDV */
at91_set_A_periph(AT91_PIN_PA14, 0); /* ERX0 */
at91_set_A_periph(AT91_PIN_PA15, 0); /* ERX1 */
at91_set_A_periph(AT91_PIN_PA18, 0); /* ERXER */
at91_set_A_periph(AT91_PIN_PA16, 0); /* ETXEN */
at91_set_A_periph(AT91_PIN_PA12, 0); /* ETX0 */
at91_set_A_periph(AT91_PIN_PA13, 0); /* ETX1 */
at91_set_A_periph(AT91_PIN_PA21, 0); /* EMDIO */
at91_set_A_periph(AT91_PIN_PA20, 0); /* EMDC */

if (!data->is_rmii) {
at91_set_B_periph(AT91_PIN_PA28, 0); /* ECRS */
at91_set_B_periph(AT91_PIN_PA29, 0); /* ECOL */
at91_set_B_periph(AT91_PIN_PA25, 0); /* ERX2 */
at91_set_B_periph(AT91_PIN_PA26, 0); /* ERX3 */
at91_set_B_periph(AT91_PIN_PA27, 0); /* ERXCK */
at91_set_B_periph(AT91_PIN_PA10, 0); /* ETX2 */ //Изменили было 23
at91_set_B_periph(AT91_PIN_PA11, 0); /* ETX3 */ //Изменили было 24
at91_set_B_periph(AT91_PIN_PA22, 0); /* ETXER */
}


После этого сеть заработала, уже 4 месяца, проводим отладку на сетевой FS, на другом оборудовании в этой же связке все хорошо. на счет нагрузки на сеть, работает веб интерфейс и вытягивает картинку jpeg, полученную от камеры - сеть ниразу не упала.

Сообщение отредактировал IgorKossak - Dec 22 2011, 10:56
Причина редактирования: [codebox]
Go to the top of the page
 
+Quote Post
salara
сообщение Dec 22 2011, 10:48
Сообщение #9





Группа: Участник
Сообщений: 13
Регистрация: 1-06-11
Из: Днепропетровск
Пользователь №: 65 405



Цитата(bublik @ Dec 21 2011, 07:42) *
.

Пробовал у себя ваши рекомендации - (перевел u-boot в режим mii, естественно с аппаратными изменениями для этого режима),
ядру тоже сделал нужные исправления --- не помогло -> при увеличении трафика через LAN ядро 2.6.34 падает с той же ошибкой :
(kernel BUG at drivers/net/macb.c:417!) - это тотже вызов BUG_ON

Сообщение отредактировал IgorKossak - Dec 22 2011, 10:56
Причина редактирования: Бездумное цитирование
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- salara   Проблемма с LAN (PHY MII/RMII) : at91sam9g20ek+PHY Davicom DM9161AEP   Jun 1 2011, 20:08
- - salara   RE: Проблемма с LAN (PHY MII/RMII) : at91sam9g20ek+PHY Davicom DM9161AEP   Jun 5 2011, 08:16
- - aaarrr   Цитата(alx2 @ Dec 21 2011, 08:18) Правиль...   Dec 21 2011, 09:15
|- - alx2   Спасибо, я немного успокоился. Свой драйвер писат...   Dec 22 2011, 05:21
|- - salara   [quote name='aaarrr' date='Dec 21 2011...   Dec 22 2011, 09:26
- - aaarrr   Цитата(alx2 @ Dec 22 2011, 09:21) Подскаж...   Dec 22 2011, 12:19
|- - alx2   Цитата(aaarrr @ Dec 22 2011, 17:19) Тут у...   Dec 22 2011, 14:16
||- - aaarrr   Цитата(alx2 @ Dec 22 2011, 18:16) Я, види...   Dec 22 2011, 14:22
|- - salara   Цитата(aaarrr @ Dec 22 2011, 14:19) Тут у...   Dec 22 2011, 14:32
|- - aaarrr   Цитата(salara @ Dec 22 2011, 18:32) Судя ...   Dec 22 2011, 15:02
- - Dron_Gus   Вклинюсь в вашу беседу. Колега некоторое время наз...   Dec 22 2011, 15:56
- - aaarrr   У 9260 был пункт в еррате, касающийся расположения...   Dec 22 2011, 16:02
- - salara   Пробовал поднять приоритет - писал 0x10000 -> ...   Dec 22 2011, 17:34
- - Dron_Gus   Мне кажется, корни у underrun'ов и overrun...   Dec 23 2011, 07:50
|- - salara   Цитата(Dron_Gus @ Dec 23 2011, 09:50) Мне...   Dec 23 2011, 11:13
- - salara   Свершилось ! Нашелся человек, который вправи...   Jul 26 2012, 12:33
|- - alx2   Цитата(salara @ Jul 26 2012, 17:33) Сверш...   Jul 30 2012, 04:38
|- - salara   Цитата(alx2 @ Jul 30 2012, 07:38) И? Пат...   Aug 3 2012, 14:04
|- - alx2   Надо!!!   Aug 8 2012, 03:42
|- - salara   Цитата(alx2 @ Aug 8 2012, 06:42) Надо...   Aug 9 2012, 08:50
- - alx2   Спасибо. Не ожидал такого объема изменений... Прие...   Aug 10 2012, 04:35
- - salara   Цитата(alx2 @ Aug 10 2012, 07:35) Спасибо...   Aug 13 2012, 14:00


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 22:03
Рейтинг@Mail.ru


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