Пополнение в радиомастерской: Hantek DSO2C10 и апгрейд до DSO2D15

Да, я таки купил себе первый “взрослый” осциллограф :). Давно была такая мысль; вроде как часто и не требуется, но захотелось себя порадовать. Была мысль взять сразу DSO2D15 – версию на 150 МГц + генератор, но пока собирался – продавец на olx’е поднял цену. Что ж, так даже лучше – в итоге взял на 60$ дешевле (в итоге – за чуть меньше, чем 200$), чем планируемый изначально вариант; в описании лота было сходу сказано, что возможна перепрошивка. Получил на следующий день после заказа, чуть поразглядывал и сходу занялся перепрошивкой.

Базовым материалом послужила статья на Mysku – когда-то выискивал описание осциллографа, да она так и осталась в истории браузера. В целом, все весьма просто; однако статья частично рассчитана на использование с компьютером с виндой. Думал в этом случае использовать VirtualBox, но все оказалось не так плохо.

Фактически, куча описанных в статье шагов сводится к возне с драйверами под винду и дампу флешек в осциллографе. Технически, непосредственно перепрошивка сводится к закидыванию файла “dso3kb_2D15_conversion.upk” на USB-флешку и выбор этого файлика в меню “Update” осциллографа. Тот меняет необходимую настройку – и все, у нас DSO2D15.

Если все же хочется сделать все правильно, то вполне можно обойтись без винды. Рассмотрим процесс поближе. В упомянутой статье необходимо скачать каталог с dsoflash с Google Drive. Внутри у нас исходники dsoflash с Makefile под cygwin (что сразу натолкнуло на мысль попробовать собрать это нативно) и отдельно архив с собранным dsoflash и sunxi-fel. Для сборки dsoflash под Linux меняем 3 строки в Makefile:

  • CROSS := x86_64-linux-gnu-
  • CROSS_DIR := /usr/lib/x86_64-linux-gnu
  • LIBS := -lusb-1.0

В системе, соответственно, должен стоять gcc, make и libusb-1.0-0-dev (делалось на Debian 11). Выполняем make – и вот у нас уже есть бинарник dsoflash.

Вот теперь можно перевести осциллограф в режим работы с флешкой так, как описано в статье на Mysku – зажимаем кнопку на дне осциллографа и включаем его. Загорятся все кнопки, а экран останется темным. Подключаем осциллограф по USB и проверяем его доступность:

$ sudo ./dsoflash detect

В ответ команда вернет тип установленной флеш-памяти:

Found spi nand flash 'W25N01GV' with 138412032 bytes

Если внимательно порассматривать каталог с готовой сборкой, где лежат bat-файлы, то erase делается напрямую вызовом dsoflash (с параметром erase), а вот read/write идут с вызовом sunxi-fel. Команда находится в пакете sunxi-tools и доступна в репозитории. Соответственно, аналог read.bat будет такой:

sudo sunxi-fel writel 0x01c13040 0x29860

sleep 3

sudo ./dsoflash read backup.bin

Собственно, sunxi-fel переводит USB-порт из режима USB 1.1 в режим USB 2.0. Работать все будет в любом случае, но в первом варианте вычитка памяти будет делаться примерно 25 минут.

Однако не стоит торопиться с этой командой. Во-первых – да, команда перевела порт в режим USB 2.0 – и все, dsoflash больше не хотел работать с осциллографом. Во-вторых – вычитка в режиме USB 1.1 была со скоростью около 90 КБ/сек, что намного ниже предельной скорости для порта даже в этом режиме. Т.е., перевод в режим 2.0 особо ничему не поможет и sunxi-fel можно вообще не использовать. Поэтому вводим только последнюю команду и идем пить чай.

Шаг 6 из статьи на сейчас, похоже, неактуален, так как dso3kb_backup_builder.upk из Backup builder‘а делает 3 файла – в том числе и копию EEPROM.

Как уже говорил, это все были страховочные шаги, после которых можно просто закинуть dso3kb_2D15_conversion.upk на USB-флешку и через штатное меню обновления выбрать этот файл. Несколько секунд – и у нас DSO2D15.

Кнопка генератора стала активна, а внизу экрана появилось дополнительное поле.

Сборка dsoflash под Linux

Update: весьма рекомендую тред на 4pda. Там в том числе отписывается автор dsoflash.

4 мысли о “Пополнение в радиомастерской: Hantek DSO2C10 и апгрейд до DSO2D15”

Добавить комментарий