Linux vs rs485-USB

FORUM_NAME: USB-RS485
Модератор: Модераторы
Phoenix M
Аватара
Phoenix M
Возраст: 37
Репутация: 42
Сообщения: 384
Зарегистрирован: 21.09.2012
С нами: 6 лет 1 месяц
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #141 Phoenix » 19.09.2017, 21:14

А, вы используете драйвер от Exar. Я думал что изначально был cdc_acm, а потом все поломалось из-за подгрузки другого драйвера. Не вижу смысла использовать этот драйвер, если все работает с cdc_acm.

delovoy
Автор темы
delovoy
Автор темы
Репутация: 1
Сообщения: 70
Зарегистрирован: 28.11.2015
С нами: 2 года 11 месяцев
Профессия: IT

Непрочитанное сообщение #142 delovoy » 20.09.2017, 11:55

Phoenix писал(а):А, вы используете драйвер от Exar. Я думал что изначально был cdc_acm, а потом все поломалось из-за подгрузки другого драйвера. Не вижу смысла использовать этот драйвер, если все работает с cdc_acm.

cdc_acm уже работает как положено?

У меня exar поделка.

Phoenix M
Аватара
Phoenix M
Возраст: 37
Репутация: 42
Сообщения: 384
Зарегистрирован: 21.09.2012
С нами: 6 лет 1 месяц
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #143 Phoenix » 20.09.2017, 12:06

Работает после изменения регистров в микросхеме exar. Вы уже забыли что так можно? )

delovoy
Автор темы
delovoy
Автор темы
Репутация: 1
Сообщения: 70
Зарегистрирован: 28.11.2015
С нами: 2 года 11 месяцев
Профессия: IT

Непрочитанное сообщение #144 delovoy » 24.09.2017, 10:13

Phoenix писал(а):Работает после изменения регистров в микросхеме exar. Вы уже забыли что так можно? )

Я помню, просто по старинке решил скомпилить драйвер. Радует, что есть несколько способов решения данной проблемы. У меня все работает пока, ничего не изменилось

delovoy
Автор темы
delovoy
Автор темы
Репутация: 1
Сообщения: 70
Зарегистрирован: 28.11.2015
С нами: 2 года 11 месяцев
Профессия: IT

Непрочитанное сообщение #145 delovoy » 29.09.2017, 20:46

Phoenix писал(а):Работает после изменения регистров в микросхеме exar. Вы уже забыли что так можно? )

И да, данный способ работал только под виндой.

delovoy
Автор темы
delovoy
Автор темы
Репутация: 1
Сообщения: 70
Зарегистрирован: 28.11.2015
С нами: 2 года 11 месяцев
Профессия: IT

Непрочитанное сообщение #146 delovoy » 09.11.2017, 19:23

Phoenix писал(а):[b]...

Попробовал вариант с Udev и что то не контачит.
В логах от udev написано:

failed to execute '/sbin/corExar' '/sbin/corExar 3 12': Exec format error
Nov 9 19:17:20 home systemd-udevd[2794]: Process '/sbin/corExar 3 12' failed with exit code 2.

И как назло измененный модуль от exar не работает, ядро ругается, что старая версия mod_unmod (3,8) а должна быть 3,10.

Сижу вот на обьекте, на гофре и что то приуныл. Сдача объекта значит переноситься )))) Надеялся, что завтра сдам.

Phoenix M
Аватара
Phoenix M
Возраст: 37
Репутация: 42
Сообщения: 384
Зарегистрирован: 21.09.2012
С нами: 6 лет 1 месяц
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #147 Phoenix » 10.11.2017, 10:23

Попробуйте просто запустить исполняемый файл corExar, должны увидеть краткую справку. Такое ощущение, что этот файл поврежден или собран под другую платформу.

delovoy
Автор темы
delovoy
Автор темы
Репутация: 1
Сообщения: 70
Зарегистрирован: 28.11.2015
С нами: 2 года 11 месяцев
Профессия: IT

Непрочитанное сообщение #148 delovoy » 10.11.2017, 20:05

Или потому что в /dev/ отсутствует устройство. Посмотрю сегодня, что с этим можно сделать

delovoy
Автор темы
delovoy
Автор темы
Репутация: 1
Сообщения: 70
Зарегистрирован: 28.11.2015
С нами: 2 года 11 месяцев
Профессия: IT

Непрочитанное сообщение #149 delovoy » 11.11.2017, 23:32

Как оно вообще определяется ? ttyACM0?

Phoenix M
Аватара
Phoenix M
Возраст: 37
Репутация: 42
Сообщения: 384
Зарегистрирован: 21.09.2012
С нами: 6 лет 1 месяц
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #150 Phoenix » 12.11.2017, 09:05

Да. Но программа corExar работает не с этим файлом-устройством, а с usb у которого idVendor=="04e2".

delovoy
Автор темы
delovoy
Автор темы
Репутация: 1
Сообщения: 70
Зарегистрирован: 28.11.2015
С нами: 2 года 11 месяцев
Профессия: IT

Непрочитанное сообщение #151 delovoy » 19.05.2018, 07:32

В очередной раз обновил систему (удалил старую и поставил новую версию) Хотел собрать драйвер, но каждый раз возникают проблемы. В этот раз в компиляторе по умолчанию включен PIC режим. При сборке сорцов ошибка о не поддерживании PIC режима в исходниках.

Полагаю, что хватит с меня плясок. Запишу в ПЗУ новые регистры

delovoy
Автор темы
delovoy
Автор темы
Репутация: 1
Сообщения: 70
Зарегистрирован: 28.11.2015
С нами: 2 года 11 месяцев
Профессия: IT

Непрочитанное сообщение #152 delovoy » 25.05.2018, 22:33

сегодня попробовал записать регистры во временную память, по второму способу.

При компиляции утилитой make сыпет ошибки, способы их решения (чтобы не гуглить лишний раз)

Ошибка 1:

Код: Выделить всё

main.cpp:15:10: fatal error: libusb-1.0/libusb.h: Нет такого файла или каталога
 #include <libusb-1.0/libusb.h>


Решение:

Код: Выделить всё

sudo apt-get install libusb-1.0


Ошибка 2

Код: Выделить всё

g++: error: /lib/libusb-1.0.so.0: Нет такого файла или каталога


Решение:

Код: Выделить всё

ldconfig -p | grep libusb
   libusbmuxd.so.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libusbmuxd.so.4
   libusb-1.0.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libusb-1.0.so.0
   libusb-1.0.so.0 (libc6) => /lib/i386-linux-gnu/libusb-1.0.so.0
   libusb-0.1.so.4 (libc6,x86-64) => /lib/x86_64-linux-gnu/libusb-0.1.so.4

В Makefile меняем путь на соответствующий


После реализации второго способа, а именно, компиляции, перемещение исполняющего файла в каталог /sbin/ и добавления правила udev - при подключении usb преобразователя в логах наблюдаю следующую ошибку (пока не гуглил решение оной)

Код: Выделить всё

May 25 23:30:39 Home kernel: [  686.280910] usb 3-1: device descriptor read/64, error -62
May 25 23:30:41 Home kernel: [  687.908897] usb 3-1: device not accepting address 6, error -62

Phoenix M
Аватара
Phoenix M
Возраст: 37
Репутация: 42
Сообщения: 384
Зарегистрирован: 21.09.2012
С нами: 6 лет 1 месяц
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #153 Phoenix » 26.05.2018, 09:40

Попробуйте вручную запустить программу. Посмотрите какие Bus/Device у преобразователя:

Код: Выделить всё

$ lsusb
...
Bus 003 Device 003: ID 04e2:1411 Exar Corp.
...

Далее

Код: Выделить всё

# ./corExar 3 3
Found exar.
Correction.

delovoy
Автор темы
delovoy
Автор темы
Репутация: 1
Сообщения: 70
Зарегистрирован: 28.11.2015
С нами: 2 года 11 месяцев
Профессия: IT

Непрочитанное сообщение #154 delovoy » 26.05.2018, 10:34

Phoenix писал(а):Попробуйте вручную запустить программу. Посмотрите какие Bus/Device у преобразователя:

:pri_vet:-: отработала, съезжу на объект позже и проверю. Если заработает, то нужно будет записывать в ПЗУ

Добавлено спустя 8 часов 46 минут:
Проверил, не работает. Кто нибудь проверял на rs485? Какой драйвер по умолчанию установлен? Какая система использовалась?

Добавлено спустя 9 часов 59 минут:
Кстати, индикация преобразователя и скорость поиска приборов напоминает о том, если бы запустить поиск приборов с регистрами по умолчанию

Phoenix M
Аватара
Phoenix M
Возраст: 37
Репутация: 42
Сообщения: 384
Зарегистрирован: 21.09.2012
С нами: 6 лет 1 месяц
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #155 Phoenix » 01.06.2018, 20:34

Проверил второй метод (запись регистров не в постоянную память) на USB-RS485 - работает. Calculate Linux, kernel 4.14.39.

delovoy
Автор темы
delovoy
Автор темы
Репутация: 1
Сообщения: 70
Зарегистрирован: 28.11.2015
С нами: 2 года 11 месяцев
Профессия: IT

Непрочитанное сообщение #156 delovoy » 10.07.2018, 11:37

Phoenix писал(а):Проверил второй метод (запись регистров не в постоянную память) на USB-RS485 - работает. Calculate Linux, kernel 4.14.39.

Если запустить вручную corExar, то выдает следующее:

Код: Выделить всё

Correct device USB-to-COM. Only for 0x04e2 vendor (Exar corp).
Usage: corExar BUS DEVICE


Что должно быть? Правильно ли, что девайс занят? Непонятно немного.
По прежнему не получается запустить данным способом. Что то не так, где то

Phoenix M
Аватара
Phoenix M
Возраст: 37
Репутация: 42
Сообщения: 384
Зарегистрирован: 21.09.2012
С нами: 6 лет 1 месяц
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #157 Phoenix » 10.07.2018, 11:46

Это краткая справка по использованию. Запустите ./corExar BUS DEVICE, где BUS DEVICE посмотрите в выводе lsusb.
Скорее всего вы используете не встроенный в ядро драйвер (cdc_acm), а драйвер от Exar. Преобразователь определяет, что драйвер от Exar и игнорирует заданные регистры, т.к. это регистры для cdc_acm (они так и называются CDC_ACM_...).

delovoy
Автор темы
delovoy
Автор темы
Репутация: 1
Сообщения: 70
Зарегистрирован: 28.11.2015
С нами: 2 года 11 месяцев
Профессия: IT

Непрочитанное сообщение #158 delovoy » 10.07.2018, 18:44

Phoenix писал(а):Это краткая справка по использованию. Запустите ./corExar BUS DEVICE, где BUS DEVICE посмотрите в выводе lsusb.
Скорее всего вы используете не встроенный в ядро драйвер (cdc_acm), а драйвер от Exar. Преобразователь определяет, что драйвер от Exar и игнорирует заданные регистры, т.к. это регистры для cdc_acm (они так и называются CDC_ACM_...).

Ан нет, в 18.04 ubuntu видимо другой драйвер. Я вчера дистрибутив на 18.04 поменял. Я позже напишу какой драйвер теперь

Зы, после установки никакие драйвера дополнительно не устанавливал. Думал сразу 2 и 3 способ использовать

Добавлено спустя 1 час 6 минут:
Спойлер
Jul 10 19:48:58 IdeaPad kernel: [ 69.828237] usb 5-2: new full-speed USB device number 2 using xhci_hcd
Jul 10 19:48:58 IdeaPad kernel: [ 70.004396] usb 5-2: New USB device found, idVendor=04e2, idProduct=1411
Jul 10 19:48:58 IdeaPad kernel: [ 70.004402] usb 5-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jul 10 19:48:58 IdeaPad kernel: [ 70.004405] usb 5-2: Product: XR21B1411
Jul 10 19:48:58 IdeaPad kernel: [ 70.004408] usb 5-2: Manufacturer: Exar Corp.
Jul 10 19:48:58 IdeaPad kernel: [ 70.004411] usb 5-2: SerialNumber: R5677376051
Jul 10 19:48:58 IdeaPad mtp-probe: checking bus 5, device 2: "/sys/devices/pci0000:00/0000:00:10.0/usb5/5-2"
Jul 10 19:48:58 IdeaPad mtp-probe: bus: 5, device: 2 was not an MTP device
Jul 10 19:48:58 IdeaPad kernel: [ 70.055331] usbcore: registered new interface driver cdc_acm
Jul 10 19:48:58 IdeaPad kernel: [ 70.055333] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Jul 10 19:48:58 IdeaPad kernel: [ 70.065319] cdc_xr_usb_serial 5-2:1.0: USB_device_id idVendor:04e2, idProduct 1411
Jul 10 19:48:58 IdeaPad kernel: [ 70.065325] cdc_xr_usb_serial 5-2:1.0: This device cannot do calls on its own. It is not a modem.
Jul 10 19:48:58 IdeaPad kernel: [ 70.065333] cdc_xr_usb_serial 5-2:1.0: The data interface has switched endpoints
Jul 10 19:48:58 IdeaPad kernel: [ 70.065336] cdc_xr_usb_serial 5-2:1.0: interfaces are valid
Jul 10 19:48:58 IdeaPad kernel: [ 70.065341] cdc_xr_usb_serial 5-2:1.0: epwrite->bEndpointAddress =1
Jul 10 19:48:58 IdeaPad kernel: [ 70.065389] cdc_xr_usb_serial 5-2:1.0: ttyXR_USB_SERIAL0: USB XR_USB_SERIAL device
Jul 10 19:48:58 IdeaPad kernel: [ 70.065394] cdc_xr_usb_serial 5-2:1.0: xr_usb_serial_set_reg Channel:0 0x20d = 0x01
J

Добавлено спустя 1 минуту 27 секунд:
Есть идеи?

Phoenix M
Аватара
Phoenix M
Возраст: 37
Репутация: 42
Сообщения: 384
Зарегистрирован: 21.09.2012
С нами: 6 лет 1 месяц
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #159 Phoenix » 11.07.2018, 09:01

Может удалить модуль ядра от exar, или добавить в черный список. Или более кардинально - сменить дистрибутив. Еще можно найти преобразователь на другой микросхеме :) Кстати, Болид опять сменил микросхему преобразователей, в этот раз на CP2104 (Silicon Labs): https://partners.bolid.ru/forum/forum_15320.html#answer15324

delovoy
Автор темы
delovoy
Автор темы
Репутация: 1
Сообщения: 70
Зарегистрирован: 28.11.2015
С нами: 2 года 11 месяцев
Профессия: IT

Непрочитанное сообщение #160 delovoy » 11.07.2018, 13:23

Phoenix писал(а):Может удалить модуль ядра от exar, или добавить в черный список. Или более кардинально - сменить дистрибутив. Еще можно найти преобразователь на другой микросхеме :) Кстати, Болид опять сменил микросхему преобразователей, в этот раз на CP2104 (Silicon Labs): https://partners.bolid.ru/forum/forum_15320.html#answer15324

Сразу 2 проблемы, новый свисток 2018 года и нативный модуль не cdc_acm))


  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «USB-RS485»

forum-bolid.ru : Отказ от ответственности