• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Обсуждение MT7688AN HLK-7688A

pvvx

Активный участник сообщества
Проверьте тип флэшки в вашем модуле. Интересно hi-link паяет что попало или один и тот же проверенный тип.
Сдуть крышку счас не могу, я на даче...
Модуль при старте говорит:
U-Boot 1.1.3 (Mar 4 2017 - 16:37:55)
Board: Ralink APSoC DRAM: 128 MB
relocate_code Pointer at: 87fb8000
flash manufacture id: ef, device id 40 19
find flash: W25Q256FV
 

pvvx

Активный участник сообщества
DevBoard HKL-7688A-SUIT-V1.3 иногда не запускается, ни снятием питания, ни кнопкой reset... И так пока не замкнуть CS1 на +3V3 на время при дергании reset...
 

Алексей.

Active member
DevBoard HKL-7688A-SUIT-V1.3 иногда не запускается, ни снятием питания, ни кнопкой reset... И так пока не замкнуть CS1 на +3V3 на время при дергании reset...
В дашике раздел 3.4 Bootstrapping Pins Description
Пины SPI_MOSI, SPI_CLK, SPI_CS1 определяют CHIP_MODE, сигнал на SPI_CS1 должен определять 3-х или 4-х байтную адресацию для флеша.
Значение этих бутстрапов должны сохраниться в регистре SYSCFG0 (адрес 10000010h) биты 19, 18, 17
Возможно, пока нет единицы на CS1, используется 3-х байтная адресация и по этому не стартует на 32-х мегабайтной флешке.

П.С. В дашике возможны неточности и опечатки ;(
 

pvvx

Активный участник сообщества
В дашике раздел 3.4 Bootstrapping Pins Description
Пины SPI_MOSI, SPI_CLK, SPI_CS1 определяют CHIP_MODE, сигнал на SPI_CS1 должен определять 3-х или 4-х байтную адресацию для флеша.
Значение этих бутстрапов должны сохраниться в регистре SYSCFG0 (адрес 10000010h) биты 19, 18, 17
Возможно, пока нет единицы на CS1, используется 3-х байтная адресация и по этому не стартует на 32-х мегабайтной флешке.

П.С. В дашике возможны неточности и опечатки ;(
Да уже перепрошил модуль последней версией OpenWRT и это исчезло. Сегодня целый день через него с компа на даче в инете сижу... дождь... Итоги: MR3020 c TP-link прошивкой на более слабом CPU работает быстрее и стабильнее чем OpenWRT на MT7688A.
(связь c компа по сети к испытуемому и через wifi к 4G модему). Со временем набираются какие-то заторы и всё тормозит.

Саму тему о 3/4 байта адреса уже обсудили ранее, а тут ещё хитрая flash, о чем упоминал https://esp8266.ru/forum/threads/mt7688an-hlk-7688a.2934/page-4#post-64432
Возможно, что китайская прошивка что-то там переключала...
 

Алексей.

Active member
Получается что запись 4-х байтного расширенного адреса исправило ошибку запуска.
И он теперь в трех байтной адресации стартует? А что в SYSCFG0 сейчас?
 

Алексей.

Active member
Вернуть на хайлинк оригинальную прошивку не пробовали? Если да, то как с подвешенным cs1 стартует?
 

pvvx

Активный участник сообщества
Вернуть на хайлинк оригинальную прошивку не пробовали? Если да, то как с подвешенным cs1 стартует?
Полномасштабных тестов пока произвести не могу. Занят с HLK немного другой тематикой - пытаюсь осознать/осязать ресурсно и скоростные показатели MT-7688A применительно к своим задачам.
Про то, как считаю работать с SPI-Flash на них писал ранее:
На HLK-7688A, Omega2+ и всех c чипами 32МБ проблемка частично исправима если SPI Flash принять за 16МБ, т.е. никогда не переключать на 4-х байтную адресацию и забыть о второй половине...
Почему так: если я что-то слеплю по своей работе на MT-7688A, то это чудо возможно принесут десять лет спустя и искать чем заменить специфическую Flash никто не будет. А так-же в течении десятка лет мелкосерийного выпуска никто не гарантирует наличие спец. flash. Если будет недоступен сам MT768x, то это отменяет и вторую задачу..
 

pvvx

Активный участник сообщества
Вернуть на хайлинк оригинальную прошивку не пробовали?
Оригинальная прошивка, с которой пришел модуль использует только 64МБ ОЗУ и имеет множественные глюки. Например не работает сканирование WiFi :) Дальше я с ней разбираться не стал. Считал на всякий случай, собрал и залил последний релиз OpenWRT.
 

sharikov

Active member
Почему так: если я что-то слеплю по своей работе на MT-7688A, то это чудо возможно принесут десять лет спустя и искать чем заменить специфическую Flash никто не будет. А так-же в течении десятка лет мелкосерийного выпуска никто не гарантирует наличие спец. flash. Если будет недоступен сам MT768x, то это отменяет и вторую задачу..
Эта же проблема относится и любому другому изделию с применением SOC. Допустим в изделии применена NAND FLASH. Boot ROM грузиться с чипа произвольного типа не умеет, прошивальщик под выбранный SOC тоже не может шить какую попало флэш а только те типы которые в нем запрограммированы и протестированы. Скрипты генерации образа под NAND также затачиваются под геометрию выбранного типа памяти и на чипе с другой геометрией имеющийся образ ubifs или jffs2 просто не смонтируется. Через 10 лет никто разбираться с геометрией не будет.
Это общая проблема индустрии: изделия становятся столь замудреными что их сложный ремонт через 5 или более лет практически невозможен потому что для этого надо выполнить редизайн изделия и системного по. Так что это требование надо игнорировать как заведомо невыполнимое. Т.е сломалось - выкинул и взял с полки другое. Таков он "новый дивный мир"
 

pvvx

Активный участник сообщества
Т.е сломалось - выкинул и взял с полки другое. Таков он "новый дивный мир"
Вы это заказчикам скажите.
Приходят и упрашивают изменить на старом оборудовании, когда им предлагают замену на новое... Разница в цене на смену на новое не высока.
Есть и другие случаи - снят с производства какой датчик, а замена на новые требует изменения в ПО. Большинство датчиков имеет малый срок эксплуатации. Пусть даже примитивные, которые кажутся вечными - к примеру: датчики влажности - периодически выходят из строя. Менять всю систему нерационально, т.к. у нас расчет на 10..20 лет работы нашего оборудования, что выполняется и надоели страрьем :)
Ну и обслуживающий персонал против любого нового. :p
Россия - что тут поделаешшшъ...


И он теперь в трех байтной адресации стартует? А что в SYSCFG0 сейчас?
Код:
U-Boot 1.1.3
MT7628 # md 10000000
10000000: 3637544d 20203832 00100000 00010102    MT7628  ........
10000010: 00144144 02605500 00000000 00000000    DA...U`.........
10000020: 10240000 00000000 00000071 0020100c    ..$.....q..... .
10000030: f9bfffc0 06400000 c0030200 00e001ff    ......@.........
10000040: 00000000 0001ffff 00000000 00000000    ................
10000050: 00000000 00000000 00000000 00000810    ................
10000060: 54050404 00000000 00000000 00000000    ...T............
10000070: 00000000 00000000 00000000 00000000    ................
10000080: 00000000 00000000 00000000 00000000    ................
10000090: 00000000 00000000 00000000 00000000    ................
100000a0: 00000000 00000000 00000000 00000000    ................
100000b0: 00000000 00000000 00000000 00000000    ................
100000c0: 00000000 00000000 00000000 00000000    ................
100000d0: 00000000 00000000 00000000 00000000    ................
100000e0: 00000000 00000000 00000000 00000000    ................
100000f0: 00000000 00000000 00000000 00000000    ................
В самой OpenWRT сказать пока не могу. Не установить dev/mem.
Пишу: [inline]make kernel_menuconfig[/inline]
Включаю: Device Drivers -> Character devices ->/dev/mem
Собираю прошивку - /dev/mem нет!.
 

Алексей.

Active member
SYSCFG0 (адрес 10000010h) биты 19, 18, 17
Немножко ошибся с номерами битов, должны быть 3, 2 и 1. Для 0x00144144 -> 010: Boot from XTAL (boot from SPI 3-Byte ADR)
Значит cs1 при загрузке был в нуле.

П.С.
На linkit smart 7688 схемы в открытом доступе, там cs1 притянут к 3,3V через 4К7 резистор.
 

pvvx

Активный участник сообщества
На linkit smart 7688 схемы в открытом доступе, там cs1 притянут к 3,3V через 4К7 резистор.
Я на даче и у меня пока только такая плата - см. соо: https://esp8266.ru/forum/threads/mt7688an-hlk-7688a.2934/page-4#post-65013
Никак на Ubuntu 18.04.03 (x64) не выходит собрать MediaTek-Labs/linkit-smart-7688-uboot
Замена gcc mips на более современный выдает массу warning и ошибки, в скриптах так-же. Часть поправил, но до конца не идет...
Остановился на этом:
Код:
ehci-hcd.c: In function 'ehci_submit_root':
ehci-hcd.c:864:3: warning: implicit declaration of function 'wait_ms'; did you mean 'wait_ticks'? [-Wimplicit-function-declaration]
   wait_ms(300);
   ^~~~~~~
   wait_ticks
{standard input}: Assembler messages:
{standard input}:2469: Error: operand 2 must be an immediate expression `lb $2,$4($2)'
{standard input}:2531: Error: operand 2 must be an immediate expression `lb $2,$4($2)'
{standard input}:2599: Error: operand 2 must be an immediate expression `lh $2,$4($2)'
{standard input}:2661: Error: operand 2 must be an immediate expression `lh $2,$4($2)'
{standard input}:2723: Error: operand 2 must be an immediate expression `lw $2,$4($2)'
{standard input}:2773: Error: operand 2 must be an immediate expression `lw $2,$4($2)'
{standard input}:2829: Error: operand 2 must be an immediate expression `sb $4,$5($2)'
{standard input}:2878: Error: operand 2 must be an immediate expression `sb $4,$5($2)'
{standard input}:2934: Error: operand 2 must be an immediate expression `sh $4,$5($2)'
{standard input}:2983: Error: operand 2 must be an immediate expression `sh $4,$5($2)'
{standard input}:3039: Error: operand 2 must be an immediate expression `sw $4,$5($2)'
{standard input}:3088: Error: operand 2 must be an immediate expression `sw $4,$5($2)'
{standard input}:3161: Error: operand 2 must be an immediate expression `lb $1,$4($2)'
{standard input}:3243: Error: operand 2 must be an immediate expression `lh $1,$4($2)'
{standard input}:3325: Error: operand 2 must be an immediate expression `lw $1,$4($2)'
{standard input}:3409: Error: operand 2 must be an immediate expression `sb $1,$4($2)'
{standard input}:3491: Error: operand 2 must be an immediate expression `sh $1,$4($2)'
{standard input}:3573: Error: operand 2 must be an immediate expression `sw $1,$4($2)'
....../Linkit/linkit-smart-uboot/config.mk:821: recipe for target 'ehci-hcd.o' failed
 

Алексей.

Active member
Никак на Ubuntu 18.04.03 (x64) не выходит собрать MediaTek-Labs/linkit-smart-7688-uboot
Последний коммит был в августе 2017-го.
Подобные проблемы с несобираемым кодом проходил ещё с LEDE.
После перехода с 16-ой на 18-ю убунту, не все тулчейны захотели собираться. После этого стараюсь собирать в замкнутом окружении, на виртуалке или в докере, главное собрав однажды в этом окружении, продолжаем править код и не волнуемся что сборка выйдет из под контроля. Никаких обновлений и апгрейдов ОС не делаем, легко доапгрейдится до невозможности сборки.
По этой-же причине стараюсь избегать веток master trunk и т.п. Коммиты без меток стараюсь не использовать, иначе через год концов не найти.

Поскольку на MediaTek-Labs/linkit-smart-7688-uboot есть какие-то звезды, есть надежда что проект собирался.
Нужно попробовать собрать на 16-ой убунте.
 

pvvx

Активный участник сообщества
на /opt/buildroot-gcc342 тоже вылазит много warning, но их компилятор не сильно ругается :)

pvvx@vbox:/opt/buildroot-gcc342/bin$ ./mipsel-linux-gcc --version
mipsel-linux-gcc (GCC) 3.4.2
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
Сверху Снизу