|
AT91RM9200 - мистика? SPI? или romboot.bin?, задачка не для слабонервных.... |
|
|
|
Mar 25 2007, 23:57
|

Группа: Новичок
Сообщений: 14
Регистрация: 10-01-07
Из: Ukraine,Odessa
Пользователь №: 24 286

|
до Linux на плате стоял QNX... в нем сеть бегала нормально. Так что непропай отпадает  да и в u-boot все работает... МИСТИКА?!?! (PrSt. одна плата завелась вторая (идентичная) нет.... хммм..........)
|
|
|
|
|
Mar 26 2007, 09:56
|

http://uschema.com
   
Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394

|
B)--> (This is j.b @ Mar 25 2007, 22:57)  до Linux на плате стоял QNX... в нем сеть бегала нормально. Так что непропай отпадает да и в u-boot все работает... МИСТИКА?!?! (PrSt. одна плата завелась вторая (идентичная) нет.... хммм..........) [/quote] видать это не мистика, а таки гдето "кастыли" как у мненя так и у Вас j.b, вот только найти где спрятались кастыли у меня чтото покаместь не получается... согласен, врядли это аппаратное болото, так как у меня в u-boot, тоже все работает... буду капать дальше, возможно сегодня с осцилом залезу в плату рабочую и не рабочую.... иного пути не вижу просто
--------------------
|
|
|
|
|
Mar 26 2007, 13:14
|
Частый гость
 
Группа: Участник
Сообщений: 116
Регистрация: 18-12-04
Из: Минск
Пользователь №: 1 550

|
Цитата(PrSt @ Mar 26 2007, 09:56)   --><div class='quotetop'>(This is j.b @ Mar 25 2007, 22:57)  </div><div class='quotemain'><!--quotec--> до Linux на плате стоял QNX... в нем сеть бегала нормально. Так что непропай отпадает да и в u-boot все работает... МИСТИКА?!?! (PrSt. одна плата завелась вторая (идентичная) нет.... хммм..........) видать это не мистика, а таки гдето "кастыли" как у мненя так и у Вас j.b, вот только найти где спрятались кастыли у меня чтото покаместь не получается... согласен, врядли это аппаратное болото, так как у меня в u-boot, тоже все работает... буду капать дальше, возможно сегодня с осцилом залезу в плату рабочую и не рабочую.... иного пути не вижу просто Да сорри ступил ведь в u-boot работает сеть а linux нет А переменные окружения одинаковые на обоих платах и uboot одинаковый надеюсь? ну по моему становить printk в at91_ether.с надо и смотреть где различие
--------------------
|
|
|
|
|
Mar 27 2007, 10:26
|

http://uschema.com
   
Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394

|
Цитата(PrSt @ Mar 26 2007, 09:56)  (This is j.b @ Mar 25 2007, 22:57)  до 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-плата то Вам нужно также сделать... надеюсь у Вас тоже получится... пойду ка я покопаю дальше....
--------------------
|
|
|
|
|
Mar 27 2007, 11:30
|

Группа: Новичок
Сообщений: 14
Регистрация: 10-01-07
Из: Ukraine,Odessa
Пользователь №: 24 286

|
да, заработало, отлично!!!
кстати, для работы сетевой ОБЯЗАТЕЛЬНО нада указать валидный MAC в u-boot, иначе сетевая не будет подниматься в Linux!
спасибо всем, кто принимал участие в конференции надеюсь 140 постов помогут многим в поднятии этого дела
(так же думаю продолжить -- настроить кард-ридер, и пр переферию)
|
|
|
|
|
Mar 27 2007, 14:04
|
Частый гость
 
Группа: Участник
Сообщений: 116
Регистрация: 18-12-04
Из: Минск
Пользователь №: 1 550

|
Цитата(PrSt @ Mar 27 2007, 10:26)  разобрался, заработали все 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-плата то Вам нужно также сделать... надеюсь у Вас тоже получится... пойду ка я покопаю дальше.... остался только неясный вопросик как могла работать одна плата а другая нет при одинаковых конфигах :-)
--------------------
|
|
|
|
|
Mar 27 2007, 14:21
|

http://uschema.com
   
Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394

|
Цитата(vanokuten @ Mar 27 2007, 14:04)  остался только неясный вопросик как могла работать одна плата а другая нет при одинаковых конфигах :-) могла я редактировал этот кусок, паралельно капался в аппаратной части, потом подумал что это не влияет и вернул 0 на 1, и забыл про ето... и дальше уже пробовал с 1й в структуре.... я вчера взял свое текущее ядро, взял собранное ядро напарника (он оставил пропаченое место у себя в ядре, когда разбирался с езернетом) и сравнил где разница... разница была именно в MII и RMII, собственно так и нашел...
--------------------
|
|
|
|
|
Mar 27 2007, 18:04
|
Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847

|
B)--> (This is j.b @ Mar 27 2007, 11:30)  да, заработало, отлично!!! кстати, для работы сетевой ОБЯЗАТЕЛЬНО нада указать валидный MAC в u-boot, иначе сетевая не будет подниматься в Linux! [/quote] А что вот это не работает? Код 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 постов помогут многим в поднятии этого дела
(так же думаю продолжить -- настроить кард-ридер, и пр переферию)
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
|
Mar 28 2007, 09:46
|

http://uschema.com
   
Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394

|
Цитата(amw @ Mar 27 2007, 18:04)  А что вот это не работает? Код 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
--------------------
|
|
|
|
|
Mar 28 2007, 11:26
|

Группа: Новичок
Сообщений: 14
Регистрация: 10-01-07
Из: Ukraine,Odessa
Пользователь №: 24 286

|
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"
|
|
|
|
|
Mar 30 2007, 16:50
|
Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847

|
B)--> (This is j.b @ Mar 28 2007, 11:26)  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" [/quote] Во первых MAC взят с потолка для примера. Во вторых, таки запустится, ибо в драйверу (моему) начхать на валидность. Проверялось. Именно эти цифры писались при первой попытке настроить, посмотреть что будет, а потом составлять валидный MAC. В третьих, вопрос не по валидности а по способу назначения. Цитата сам метод такой рабочий, только ядро "фильтрует базар", кстати метод такой - ручной.... даже если через скрипт загрузки - это не корректно, но и не опасно... А что в этом методе некорректного? Имею встроенный в процессор Ethernet и флеш I2C. В этом флеш прошивается MAC. Для каждой платы свой. При запуске скрипт вычитывает MAC из флеш и устанавливает указанным способом. Что можеш предложить "корректного"? Цитата видимо ядро проверят верность указанного ARP (я даже когда-то чтото подобное в исходниках находил, но забыл про это), а так как при загрузке именно u-boot назаначает ARP, то корректно в нем нужно его указать для корректного старта системы с сетью... При чем тут ARP? Ну не знаю, не знаю... Думаю дело не в ядре вообще а в драйвере.
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|