Во всех ли случаях контроллер переходит в ERROR PASSIVE когда нет подключенных устройств (обрыв кабеля, ACK не выдается) ?
Разбираюсь с формированием флагов состояния и счетчиками ошибок. (линукс, socketcan, чип allwinner A20)
Обнаружил что если во время работы отключить все кан устройства выдернув кабель начинает увеличиваться tx error counter и когда он достигает 128 драйвер рапортует о состоянии ERRER PASSIVE. Это соответствует спецификации.
Если же ни одного устройства не подключено при старте или рестарте драйвера он переходит в состояние ERROR WARNING, при этом tx error counter равен 128. Нет ли здесь ошибки ? Разве может быть ERROR WARNING при том что счетчик ошибок = 128 ?
В примечаниях спецификации бош упоминается ситуация старта системы когда еще некому выдавать ACK и там написано что контроллер не должен переходить в состояние BUS-OFF.