Отваливается USB-Serial адаптер на Rasspberry Pi 4
Есть проект в котором к Raspberry Pi 4 подключены по USB:
K-line адаптер (для получения диагностической информации от двигателя, на чипе ftdi), микроконтроллер stm32 в CDC режиме (определяется как последовательный порт) и 4G модем.
RPI питается от автомобильного аккумулятора через преобразователь 12-5v 3А такой вот Сам аккумулятор заряжается от автомобильного же генератора.
В чем проблема:
При повышении оборотов двигателя до 2500 и более: диагностический адаптер начинает отваливаться. В dmesg вижу:
ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
При оборотах около 4000, также отваливается STM32. Само устройство на месте /dev/ttyACM0
, сообщений в dmesg нет, но данные из него просто перестают поступать. Лечится только перезагрузкой RPI. 4G модем при этом нормальной работает всегда.
Именно с USB-Serial девайсами начинаются проблемы.
Я пробовал подключать совершенно другой диагностический адаптер (ELM 327 с интерфейсным чипом CH340). Ситуация точно такая же.
Причем, если адаптер выдернуть из USB вообще, то STM32 перестает отваливаться. Магия. Не могу понять как это все между собой связано.
Если не хватает питания на USB, то почему 4G модем не реагирует? И с чего бы вдруг питания должно не хватать, ведь при повышении оборотов генератор наоборот активнее работает. Адаптер на 3A, USB периферия ничего не потребляет особо.
Плату RPI менял на другую - разницы нет.