• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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.
 
Сверху Снизу