Segnetics

Вернуться   Segnetics > Форум Segnetics > Вопросы о Matrix

Вопросы о Matrix Работа и применение контроллеров Matrix.

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2021, 11:29   #61
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 337
Благодарил(а): 0 раз(а)
Поблагодарили: 255 раз(а) в 251 сообщениях
По умолчанию Ответ: Восстановление контроллера Matrix

Цитата:
Сообщение от Gel Посмотреть сообщение
Посмотрел, все на месте.
Уточните, в 249 версии смотрели? Там еще нет этого исправления.


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию

Последний раз редактировалось Ilya J., 29.06.2021 в 11:41
Ilya J. вне форума   Ответить с цитированием
Старый 29.06.2021, 11:55   #62
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Ответ: Восстановление контроллера Matrix

Цитата:
Сообщение от Ilya J. Посмотреть сообщение
Уточните, в 249 версии смотрели? Там еще нет этого исправления.
Да, смотрел в 249.

Подкиньте идею разработчикам, что настройки временно можно сохранять в RAM-диск, а не на eMMC.

Тогда процедура упрощается -- можно после сохранения, но перед выгрузкой root.tgz форматнуть eMMC, как надо и не заморачиваться, есть ли что-то на eMMC.

Т.е. я бы сделал такой алгоритм под ваши требования:

1. Сохранить настройки на RAM-диске (если получится).
2. Форматирование весь eMMC, как он должен быть, все три раздела.
3. Сохранить настройки из RAM-диска на eMMC
4. Загрузить root.tgz на eMMC
5. Выполнить распаковку, установку, восстановление настроек (если получилось сохранить ранее).


Добавлено через 27 минут


Посмотрел, там файлы настроек-то в сумме меньше килобайта.

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

Слишком сложно без причины.

Надо проще делать.
Gel вне форума   Ответить с цитированием
Старый 04.08.2021, 17:05   #63
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Ответ: Восстановление контроллера Matrix

В продолжение темы Trim 5 не переводится в режим программирования.

У меня тоже возникла ошибка форматирования, стал разбираться, что там могло пойти не так.

Мои симптомы были следующие. Был переход в режим форматирования, загружался загрузчик первой стадии, запускался, пытался загрузить загрузчик второй стадии и на этом все.







Вот, как выглядит проблема со стороны контроллера:

Код:
U-Boot SPL 2013.10-svn118115 (Jul 05 2021 - 14:29:56)
Set dpll freq to 400MHz
mtrx platform(): true
Trying to enable RTC32K...
RTC32K enabled.
SDRAM init (400MHz)
sleep 5s
Switch to 1GHz
Using default environment

usb_ether
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC 40:2e:71:f8:99:16
HOST MAC de:ad:be:af:00:00
RNDIS ready
musb-hdrc: peripheral reset irq lost!
high speed config #2: 2 mA, Ethernet Gadget, using RNDIS
USB RNDIS network up!
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
Using usb_ether device
TFTP from server 192.168.111.1; our IP address is 192.168.111.2
Filename 'u-boot-restore.img'.
Load address: 0x807fffc0
Loading: T T T
TFTP error: 'Timeout' (0)
Starting again

using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC 40:2e:71:f8:99:16
HOST MAC de:ad:be:af:00:00
RNDIS ready
high speed config #2: 2 mA, Ethernet Gadget, using RNDIS
USB RNDIS network up!
Сразу забегая вперед и не томя, нашел, что проблему можно решить правкой файла "C:\Program Files (x86)\SMLogix\tftp.ini".

Параметр "blksize=65464" можно заменить на "blksize=512" или "blksize=1372".

С параметром "blksize=512" обновление у меня заняло 5 минут, а с параметром "blksize=1372" обновление длилось 3 минуты 42 секунды.

Что могло пойти не так

Оттрассировав TFTP-запросы SPL-загрузчика заметил, что контроллер предлагает передавать файл u-boot-restore.img блоками по 1468 байт, а TFTP-сервер с настройками по умолчанию этому и не сопротивляется.



Параметры сетевого интерфейса со стороны Windows дают настройку MTU в 1404 байт.

Код:
>netsh interface ipv4 show subinterfaces

   MTU  Состояние определения носителя   Вх. байт  Исх. байт  Интерфейс
------  ---------------  ---------  ---------  -------------
  1404                1       8851      22766  Ethernet 9
Это означает, что передача файла блоками 1468 байт требует MTU, равную 1468 + 4 + 28 = 1500 байт. В противном случае, происходит фрагментация пакета.

В итоге, в лучшем случае это приводит к неэффективной (более длительной) передаче данных, а в худшем, передача просто не работает. Есть предположение (не стал глубоко копать), что SPL-загрузчик, имеющий упрощенный IP-стек, просто не понимает фрагментированные пакеты.

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

В решении выше, значение "blksize=1372" получается, как 1372 = 1404 - 28 - 4. Специально проверил, если поставить большее значение, "blksize=1373", то загрузка не происходит.
Изображения
Тип файла: png s1.png (2.4 Кбайт, 226 просмотров)
Тип файла: png s2.png (1.9 Кбайт, 228 просмотров)
Тип файла: png serr.png (3.8 Кбайт, 407 просмотров)
Тип файла: png neg.png (5.3 Кбайт, 237 просмотров)
Gel вне форума   Ответить с цитированием
4 благодарности(ей) от:
Старый 05.08.2021, 00:29   #64
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Ответ: Восстановление контроллера Matrix

Не удалось выяснить, кто или что испортило MTU для сетевого USB-адаптера.

Сбросил сетевые настройки в Windows на значение по умолчанию командой из административной консоли:

Код:
netsh interface ipv4 reset
После этого MTU вернулось к значению 1500.
Gel вне форума   Ответить с цитированием
Благодарность от:
Старый 05.08.2021, 12:05   #65
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 115
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Восстановление контроллера Matrix

Цитата:
Сообщение от Gel Посмотреть сообщение
Не удалось выяснить, кто или что испортило MTU для сетевого USB-адаптера.

Сбросил сетевые настройки в Windows на значение по умолчанию командой из административной консоли:

Код:
netsh interface ipv4 reset
После этого MTU вернулось к значению 1500.
Отличное исследование!


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 02:05.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024