1. По loopback всё работает. Но при поднятии двух интерфейсов и установке "перемычки" с can0 на can1 приёма нет.
2. Без loopback параметра в /etc/network/interfaces при запуске cangen выдаёт ошибку записи в буфер и cangen завершается.
3. Скачал схему платы, померял напряжения на X3- 35-37-39 и 36-38-40. На обоих интерфейсах постоянное примерно 1.5 вольт. Если верить описаниям, должно быть около 2.5 вольт.
Это на плате нестандартный CAN или что-то не так сделано?
2) допишите второй интерфейс в /etc/network/interfaces аналогично с can0
3) запустите два терминала через SSH
т1:
candump can1
т2:
cansend can0 123#DEADBEEF
в ядре точно проблем нет - проверял на 4.1.15 но на другой плате (трансиверы CAN и их подключение одинаковые) c терминаторами и без них (перемычки J1, J2 на вашей MB),
1. Соединил перемычками на X3 пины 35-36, 37-38 и 39-40 (у меня разъёмы на три пина, для последующих подключений к реальным устройствам).
2. Содержимое /etc/network/interfaces:
*************************
auto can0
iface can0 inet manual
#pre-up ip link set $IFACE type can bitrate 125000 listen-only off
pre-up ip link set $IFACE type can bitrate 125000 triple-sampling on
up ifconfig $IFACE up
down ifconfig $IFACE down
auto can1
iface can1 inet manual
pre-up ip link set $IFACE type can bitrate 125000 triple-sampling on
up ifconfig $IFACE up
down ifconfig $IFACE down
***********************
Подтверждается ifconfig
************************
can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP RUNNING NOARP MTU:16 Metric:1
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:8 (8.0 B) TX bytes:0 (0.0 B)
Interrupt:33
# ifconfig can1
can1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP RUNNING NOARP MTU:16 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:34
***************************
3. На терминале 1:
******************
# candump can1
*****************
4. На терминале 2:
******************
# cansend can0 123#DEADBEEF
write: No buffer space available
******************
Дополнительное замечание: сообщение о недоступном пространстве не появляется, если указать параметр "loopback on"
Чего-то я не понимаю. Заработало в обоих направлениях.
Что я менял: Загрузился не SD карты, а с NAND. Отличия: на карте прописан кроме CAN (совершенно аналогичной конфигурации) wlan0.
Это может влиять?
Работает пока. Так что основной вопрос снят. Но всё-таки теперь беспокоюсь о DTS, так как при загрузке всегда ошибки:
***************************
Populating /dev using udev: udevd[166]: starting version 3.2
udevd[167]: starting eudev-3.2
galcore: disagrees about version of symbol wake_up_process
galcore: Unknown symbol wake_up_process (err -22)
galcore: disagrees about version of symbol __task_pid_nr_ns
galcore: Unknown symbol __task_pid_nr_ns (err -22)
galcore: disagrees about version of symbol pid_task
galcore: Unknown symbol pid_task (err -22)
galcore: disagrees about version of symbol device_create
galcore: Unknown symbol device_create (err -22)
DBG sensor data is at 8875be10
galcore: disagrees about version of symbol dev_err
galcore: Unknown symbol dev_err (err -22)
galcore: disagrees about version of symbol device_destroy
galcore: Unknown symbol device_destroy (err -22)
galcore: disagrees about version of symbol find_vpid
imx-spdif sound-spdif: ASoC: CPU DAI (null) not registered
imx-spdif sound-spdif: snd_soc_register_card failed: -517
galcore: Unknown symbol find_vpid (err -22)
galcore: disagrees about version of symbol pid_vnr
backlight supply power not found, using dummy regulator
galcore: Unknown symbol pid_vnr (err -22)
imx-spdif sound-spdif: ASoC: CPU DAI (null) not registered
imx-spdif sound-spdif: snd_soc_register_card failed: -517
done
*********************************
Вот в этом месте. Может быть какая-то библиотека не подключается по звуку?
Эти же ошибки возникают, если я в USB подключаю, например флешку:
****************************
usb 1-1.3: new high-speed USB device number 5 using ci_hdrc
usb-storage 1-1.3:1.0: USB Mass Storage device detected
scsi host1: usb-storage 1-1.3:1.0
imx-spdif sound-spdif: ASoC: CPU DAI (null) not registered
imx-spdif sound-spdif: snd_soc_register_card failed: -517
backlight supply power not found, using dummy regulator
imx-spdif sound-spdif: ASoC: CPU DAI (null) not registered
imx-spdif sound-spdif: snd_soc_register_card failed: -517
scsi 1:0:0:0: Direct-Access USB FLASH DRIVE PMAP PQ: 0 ANSI: 0 CCS
backlight supply power not found, using dummy regulator
imx-spdif sound-spdif: ASoC: CPU DAI (null) not registered
imx-spdif sound-spdif: snd_soc_register_card failed: -517
sd 1:0:0:0: [sda] 7831552 512-byte logical blocks: (4.00 GB/3.73 GiB)
sd 1:0:0:0: [sda] Write Protect is off
sd 1:0:0:0: [sda] No Caching mode page found
sd 1:0:0:0: [sda] Assuming drive cache: write through
sda: sda1
sd 1:0:0:0: [sda] Attached SCSI removable disk
FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
*********************
Но на работу с флешкой далее это не влияет. Я как-то и успокоился. Но теперь думается мне, что надо бы выяснить, что это за ошибка.
Можете помочь разобраться?
питание было отключено без размонтирования флешки, если не было записи - ни на что не повлияет, если была запись - скорей всего тоже :) потому что автомонтирование в режиме sync.