Перейти к содержанию
    

AT91RM9200 - мистика? SPI? или romboot.bin?

до Linux на плате стоял QNX... в нем сеть бегала нормально. Так что непропай отпадает :)

 

да и в u-boot все работает...

 

МИСТИКА?!?!

 

(PrSt. одна плата завелась вторая (идентичная) нет.... хммм..........)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

B)-->

(This is j.b @ Mar 25 2007, 22:57) <{POST_SNAPBACK}>
до Linux на плате стоял QNX... в нем сеть бегала нормально. Так что непропай отпадает :)

да и в u-boot все работает...

МИСТИКА?!?!

(PrSt. одна плата завелась вторая (идентичная) нет.... хммм..........)

видать это не мистика, а таки гдето "кастыли" как у мненя так и у Вас j.b, вот только найти где спрятались кастыли у меня чтото покаместь не получается...

согласен, врядли это аппаратное болото, так как у меня в u-boot, тоже все работает...

буду капать дальше, возможно сегодня с осцилом залезу в плату рабочую и не рабочую....

иного пути не вижу просто

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

B)--><div class='quotetop'>(This is j.b @ Mar 25 2007, 22:57) <{POST_SNAPBACK}></div><div class='quotemain'><!--quotec--> до Linux на плате стоял QNX... в нем сеть бегала нормально. Так что непропай отпадает :)

да и в u-boot все работает...

МИСТИКА?!?!

(PrSt. одна плата завелась вторая (идентичная) нет.... хммм..........)

видать это не мистика, а таки гдето "кастыли" как у мненя так и у Вас j.b, вот только найти где спрятались кастыли у меня чтото покаместь не получается...

согласен, врядли это аппаратное болото, так как у меня в u-boot, тоже все работает...

буду капать дальше, возможно сегодня с осцилом залезу в плату рабочую и не рабочую....

иного пути не вижу просто

 

Да сорри ступил ведь в u-boot работает сеть а linux нет

А переменные окружения одинаковые на обоих платах и uboot одинаковый надеюсь?

ну по моему становить printk в at91_ether.с надо и смотреть где различие

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

(This is j.b @ Mar 25 2007, 22:57) <{POST_SNAPBACK}> до Linux на плате стоял QNX... в нем сеть бегала нормально. Так что непропай отпадает :)

да и в u-boot все работает...

МИСТИКА?!?!

разобрался, заработали все 3 платы ...

для LXT972 нужно режим работы MII, а не как по умолчанию для DK-платы режим RMII...

в board-dk.c нужно исправить

static struct at91_eth_data __initdata dk_eth_data = {
//      .phy_irq_pin    = AT91_PIN_PC4,
//      .is_rmii        = 1,
         .is_rmii        = 0,
};

уверен если у Вас выбрано DK-плата то Вам нужно также сделать...

надеюсь у Вас тоже получится...

 

пойду ка я покопаю дальше....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да, заработало, отлично!!!

 

кстати, для работы сетевой ОБЯЗАТЕЛЬНО нада указать валидный MAC в u-boot, иначе сетевая не будет подниматься в Linux!

 

спасибо всем, кто принимал участие в конференции

надеюсь 140 постов помогут многим в поднятии этого дела

 

(так же думаю продолжить -- настроить кард-ридер, и пр переферию)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

разобрался, заработали все 3 платы ...

для LXT972 нужно режим работы MII, а не как по умолчанию для DK-платы режим RMII...

в board-dk.c нужно исправить

static struct at91_eth_data __initdata dk_eth_data = {
//      .phy_irq_pin    = AT91_PIN_PC4,
//      .is_rmii        = 1,
         .is_rmii        = 0,
};

уверен если у Вас выбрано DK-плата то Вам нужно также сделать...

надеюсь у Вас тоже получится...

 

пойду ка я покопаю дальше....

 

остался только неясный вопросик как могла работать одна плата а другая нет при одинаковых конфигах :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

остался только неясный вопросик как могла работать одна плата а другая нет при одинаковых конфигах :-)

могла

я редактировал этот кусок, паралельно капался в аппаратной части, потом подумал что это не влияет и вернул 0 на 1, и забыл про ето... и дальше уже пробовал с 1й в структуре....

я вчера взял свое текущее ядро, взял собранное ядро напарника (он оставил пропаченое место у себя в ядре, когда разбирался с езернетом) и сравнил где разница... разница была именно в MII и RMII, собственно так и нашел...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

....

 

Так как тут уже расмотрен вопрос старта Linux на AT91RM9200 - предлогаю переместиться в новую тему, в которой уже будут рассматриваться специфические вопросы настройки и сборки полноценного линукса:

 

Linux + AT91RM9200 + настройка...

Берем все от контроллера, что только возможно ! Разгоняем производительность

---> http://electronix.ru/forum/index.php?showtopic=29261

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

B)-->

(This is j.b @ Mar 27 2007, 11:30) <{POST_SNAPBACK}>

да, заработало, отлично!!!

 

кстати, для работы сетевой ОБЯЗАТЕЛЬНО нада указать валидный MAC в u-boot, иначе сетевая не будет подниматься в Linux!

 

А что вот это не работает?

ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 hw ether 11:22:33:44:55:66 up

 

спасибо всем, кто принимал участие в конференции

надеюсь 140 постов помогут многим в поднятии этого дела

 

(так же думаю продолжить -- настроить кард-ридер, и пр переферию)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что вот это не работает?

ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 hw ether 11:22:33:44:55:66 up

сам метод такой рабочий, только ядро "фильтрует базар", кстати метод такой - ручной.... даже если через скрипт загрузки - это не корректно, но и не опасно...

 

видимо ядро проверят верность указанного ARP (я даже когда-то чтото подобное в исходниках находил, но забыл про это), а так как при загрузке именно u-boot назаначает ARP, то корректно в нем нужно его указать для корректного старта системы с сетью...

 

вот так не поднимается...

[root@AT91RM9200_SK /]$ifconfig eth0 192.168.1.123 netmask 255.255.255.0 broadcast 192.168.1.255 hw ether 11:22:33:44:55:66 up
eth0: Link now 100-FullDuplex
SIOCSIFHWADDR: Cannot assign requested address
[root@AT91RM9200_SK /]$

 

а вот так все поднимается в несколькими матами...

[root@AT91RM9200_SK /]$ifconfig eth0 192.168.1.123 netmask 255.255.255.0 broadcast 192.168.1.255 hw ether 00:11:22:33:44:55 up
SIOCSIFFLAGSeth0: Setting MAC address to 00:11:22:33:44:55
: Cannot assigeth0: Link now 100-FullDuplex
n requested address
[root@AT91RM9200_SK /]$ifconfig
eth0      Link encap:Ethernet  HWaddr 00:11:22:33:44:55  
           inet addr:192.168.1.123  Bcast:192.168.1.255  Mask:255.255.255.0
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:1 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:346 (346.0 B)  TX bytes:0 (0.0 B)
           Interrupt:24 Base address:0xc000 

lo        Link encap:Local Loopback  
           inet addr:127.0.0.1  Mask:255.0.0.0
           UP LOOPBACK RUNNING  MTU:16436  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)

[root@AT91RM9200_SK /]$ping server
PING server (192.168.1.1): 56 data bytes
84 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=0.9 ms

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 hw ether 11:22:33:44:55:66 up

 

не поднимицо... мас инвалидный

LSB первого байта не должен быть равен "1"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

B)-->

(This is j.b @ Mar 28 2007, 11:26) <{POST_SNAPBACK}>

ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 hw ether 11:22:33:44:55:66 up

 

не поднимицо... мас инвалидный

LSB первого байта не должен быть равен "1"

Во первых MAC взят с потолка для примера.

Во вторых, таки запустится, ибо в драйверу (моему) начхать на валидность. Проверялось. Именно эти цифры писались при первой попытке настроить, посмотреть что будет, а потом составлять валидный MAC.

В третьих, вопрос не по валидности а по способу назначения.

 

сам метод такой рабочий, только ядро "фильтрует базар", кстати метод такой - ручной.... даже если через скрипт загрузки - это не корректно, но и не опасно...

А что в этом методе некорректного?

Имею встроенный в процессор Ethernet и флеш I2C. В этом флеш прошивается MAC. Для каждой платы свой. При запуске скрипт вычитывает MAC из флеш и устанавливает указанным способом.

Что можеш предложить "корректного"?

видимо ядро проверят верность указанного ARP (я даже когда-то чтото подобное в исходниках находил, но забыл про это), а так как при загрузке именно u-boot назаначает ARP, то корректно в нем нужно его указать для корректного старта системы с сетью...

При чем тут ARP?

Ну не знаю, не знаю... Думаю дело не в ядре вообще а в драйвере.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...