Я запускаю программу с двумя CAN-каналами (используя TowerTech CAN Cape TT3201).пишут: буферного пространства нет в наличии socket-can/linux-can
Два канала: can0 (500k) и can1 (125k). Каналы can0 работают отлично, но can1 запускает запись: Отсутствие ошибки в пространстве буфера.
Я использую ValueCAN3/VehicleSpy для проверки сообщений.
Это до того, как я запустил программу. can0 и can1 оба, кажется, отправляют, но только can0 появляется в VehicleSpy.
[email protected]:~# cansend can0 100#00
[email protected]:~# cansend can1 100#20
Это после того, как я попробуйте запустить программу
[email protected]:~# cansend can1 100#20
write: No buffer space available
[email protected]:~# cansend can0 111#10
Хотя моя программа работает: Я получаю эту ошибку для всех сообщений, которые будут отправлены на CAN1
2016-11-02 15:36:03,052 - can.socketcan.native.tx - WARNING - Failed to send: 0.000000 12f83018 010 1 00
2016-11-02 15:36:03,131 - can.socketcan.native.tx - WARNING - Failed to send: 0.000000 0af81118 010 6 00 00 00 00 00 00
2016-11-02 15:36:03,148 - can.socketcan.native.tx - WARNING - Failed to send: 0.000000 12f81018 010 6 00 00 00 00 00 00
2016-11-02 15:36:03,174 - can.socketcan.native.tx - WARNING - Failed to send: 0.000000 0af87018 010 3 00 00 00
2016-11-02 15:36:03,220 - can.socketcan.native.tx - WARNING - Failed to send: 0.000000 12f89018 010 4 00 00 00 00
2016-11-02 15:36:03,352 - can.socketcan.native.tx - WARNING - Failed to send: 0.000000 12f83018 010 1 00
Однако иногда вся программа работает отлично (если модуль перезагружен или некоторые случайные экземпляры).
Как исправить это?
[email protected]:~# uname -r
4.1.15-ti-rt-r43
после делать некоторые рытье, я нашел это
[email protected]:-#ip -details link show can0
4:can0: <NOARP,UP,LOWER_UP, ECHO> mtu 16 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 10
link/can promiscuity 0
can state ERROR-ACTIVE (berr-counter tx 0 rx 0) restart-ms 100
bitrate 500000 sample-point 0.875
tq 125 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1
c_can: tseg1 2..16 tseg2 1..8 sjw 1..4 brp 1..1024 brp-inc 1
clock 24000000
[email protected]:-#ip -details link show can1
5: can1: <NOARP,UP,LOWER_UP, ECHO> mtu 16 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 10
link/can promiscuity 0
can state STOPPED restart-ms 100
bitrate 125000 sample-point 0.875
tq 500 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1
c_can: tseg1 2..16 tseg2 2..8 sjw 1..4 brp 1..64 brp-inc 1
clock 8000000
Оказывается, что CAN1 остановленный по какой-то причине
Однако, когда я пытаюсь:
ip link set can1 type can restart
RNETLINK answers: Invalid argument
Для уточнения ситуации или получения дополнительной информации, пожалуйста, используйте комментарий. Если вы уверены, что ваш ответ работает, удалите вопросительный знак и добавьте некоторое объяснение. –
Указанная команда работает, поскольку я только что протестировал ее! Я задал вопрос, попытался ли он! Это достаточно ясно для вас? =) – marc
Наверное, я недостаточно прояснился: вы уверены, что это ответ на конкретный вопрос наверху? Если да, * "удалите вопросительный знак и добавьте некоторое объяснение.* * Если основной целью этого ответа является запрос * «о том, если он попробовал» *, это действительно запрос дополнительной информации и, таким образом, должен быть комментарием. –