Что на самом деле ломается в дешёвом DMA-железе
Сама FPGA виновата редко. Обычные причины — кабель, чип моста, охлаждение и ревизия платы.
Автор: Lethal Hardware Desk
Тикеты поддержки в этой нише складываются в закономерность, которая никак не связана с тем, на что люди смотрят при покупке: сломанная FPGA почти ни у кого. Зато у одних кабель, который не передаёт данные, или USB-мост непонятного происхождения. У других плата, которая после прогрева сбрасывает скорость или отваливается, либо плата физически не той ревизии, под которую собрана прошивка. Каждую из этих проблем дёшево диагностировать, но каждую принимают за мёртвую карту.
Какие сбои случаются чаще всего?
| Причина сбоя | Что вы видите | Проверка, которая всё решает |
|---|---|---|
| Кабель не держит передачу данных по USB 3 | Устройство определяется, но скорость чтения — лишь малая часть ожидаемой, или соединение поднимается как USB 2. | Посмотрите согласованную скорость в диспетчере устройств или через lsusb -t. Затем подключите заведомо рабочий короткий кабель для передачи данных и замерьте снова. Кабели USB-C только для зарядки встречаются очень часто и выглядят точно так же. |
| Проблема в USB-тракте, а не в кабеле | Работает, а потом отваливается посреди чтения. Результаты замеров от прогона к прогону не совпадают. | Подключитесь напрямую к заднему порту USB 3 на материнской плате. Уберите все хабы, доки и удлинители. Отключите от того же контроллера другие устройства, которые забирают много полосы. |
| Троттлинг или отключение из-за перегрева | Минут десять всё в порядке, потом скорость падает или карта отключается. После остывания работа восстанавливается. | Потрогайте карту после продолжительного чтения и проверьте, связан ли сбой со временем, а не с тем, что вы в этот момент делали. Главные подозреваемые — M.2-карты в тесном слоте без обдува. |
| Не та ревизия платы | Прошивка вроде бы проходит успешно, но карта так и не определяется как надо. Или программа для прошивки не видит устройство. | Сфотографируйте шелкографию: модель платы, ревизию, маркировку FPGA и чипа моста. Прежде чем прошивать снова, сравните это с тем, под что собрана прошивка. |
| Не тот разъём | Второй ПК не видит вообще ничего, хотя светодиоды горят. | На большинстве плат два гнезда USB-C: одно для моста прошивки, другое для моста данных. Подключение к порту прошивки даёт ровно тот симптом, который люди принимают за мёртвую карту. |
| Сомнительный чип моста | Драйвер ставится, но ведёт себя странно. На одной машине работает, на другой нет. В дескрипторах странное содержимое. | Прочитайте дескрипторы и маркировку чипа. Сравните их с тем чипом, который якобы стоит на плате. Из шести пунктов это подтвердить сложнее всего, и встречается это реже всего. |
Что делает чип USB-моста?
Мост USB 3 на большинстве таких плат — FTDI FT601, мост SuperSpeed USB 3.0 в FIFO с 32-битным параллельным интерфейсом. Он превращает поток данных FPGA в то, что хост может прочитать по USB. Поэтому порт данных — это порт USB 3, и поэтому качество кабеля так важно.
Подделки в экосистеме FTDI задокументированы, но разговоры на форумах здесь заходят дальше, чем позволяют доказательства, поэтому отделяйте задокументированное от того, что только утверждается. Хорошо известный случай — последовательный мост FT232. В октябре 2014 года через Windows Update вышел драйвер FTDI, который распознавал неоригинальные чипы и перепрограммировал их USB product ID в ноль. После этого чипы переставали распознаваться и в Windows, и в Linux, и в macOS. Инцидент реален и в своё время широко освещался, и именно поэтому словосочетание «поддельный FTDI» так весомо среди железячников.
В этой нише широко ходят рассказы о переклеенных, перемаркированных или иначе сомнительных FT601 на бюджетных платах. Нам попадались платы, чья маркировка не соответствовала их поведению, но авторитетного опубликованного разбора подделок FT601, сопоставимого со случаем FT232, мы не нашли. Поэтому мы не выдаём это за установленный факт: считайте это выводом сообщества, а не задокументированным фактом. Практический совет в любом случае один. Покупайте у продавца, который скажет, что стоит на плате, и сфотографируйте маркировку, когда плата придёт. Настораживайтесь, если плата стоит намного дешевле всех остальных плат с тем же заявленным мостом.
Одно название товара — одна плата?
Самая дорогая ошибка в этой категории — считать, что название товара однозначно указывает на плату, ведь часто это не так. Две карты, выставленные как один класс с одной и той же FPGA, всё равно могут отличаться ревизией печатной платы, USB-мостом, флеш-чипом, разводкой светодиодов и расположением разъёмов. Прошивку собирают под конкретное железо, так что несовпадение ревизии — это не мелкая несовместимость, при которой всё в основном работает. Это карта, которая не запускается вовсе.
- 1Прежде чем заказывать прошивку, сфотографируйте шелкографию: название платы, номер ревизии и маркировку на FPGA и на чипе моста.
- 2Попросите продавца прошивки подтвердить совместимость по этой фотографии, а не по названию товара, под которым вы купили плату.
- 3Сохраните фото: когда через полгода что-то сломается, вы не вспомните, какая у вас ревизия.
- 4Если продавец не может сказать, какую ревизию он отправляет, это многое говорит о самом продавце.
Короткий, заведомо рабочий кабель USB 3 с поддержкой передачи данных стоит сущие копейки и устраняет больше заявленных неисправностей, чем любая замена компонентов. Купите два и один держите запечатанным как эталон. Тогда, если что-то пойдёт не так, у вас будет кабель, в котором вы уверены, а не четыре подозрительных. Проверка с заведомо исправной эталонной деталью — это разница между проблемой, решённой за десять минут, и заменой платы, которая была исправна.
Чем вы жертвуете, выбирая дешёвую плату?
Надёжностью самого кристалла — в основном нет: Artix-7 на бюджетной плате — та же массовая деталь, что и на дорогой. Теряете вы всё, что вокруг неё: рабочий кабель, точные сведения о том, какая ревизия к вам приехала, и продавца, способного опознать собственную плату. Ещё вы теряете охлаждение с запасом и человека, к которому можно обратиться, когда карта не запускается. Именно это пропадает первым, и именно от этого зависит, заработает ли ваша сборка.
Читать дальше
Остались вопросы? Спросите в Discord
Все статьи