LINUX.ORG.RU

Bolid USB-RS485 конвертер не работает

 


1

1

Здравствуйте.

Подскажите, почему не работает конвертер?

На плате две микросхемы: FT232RL и ADUM5401

Dmesg говорит: «[25445.523301] usb 1-1.1: new full-speed USB device number 9 using ehci-pci»

В директории /dev/char появляется файл 189:8, который по совместительству символическая ссылка на /dev/bus/usb/001/009

lsusb сообщает: «Bus 001 Device 009: ID 2341:4660 Arduino SA». Хотя никаких AVR-ок на плате конвертера нет.

Новых /dev/tty* не появляется.

Почему не появляется новый tty? Можно ли использовать /dev/bus/usb/001/009 вместо него?

★★★★★

У меня при подключенном адаптере на базе FT232RL так:

$ lsmod | grep ftdi
ftdi_sio               53248  0
usbserial              36864  1 ftdi_sio
usbcore               200704  7 btusb,uvcvideo,usbserial,ehci_hcd,ehci_pci,ftdi_sio,cdc_acm

А в dmesg так:

[39154.900517] usb 2-1.2: new full-speed USB device number 24 using ehci-pci
[39156.767917] usbcore: registered new interface driver usbserial
[39156.767970] usbcore: registered new interface driver usbserial_generic
[39156.768018] usbserial: USB Serial support registered for generic
[39156.901516] usbcore: registered new interface driver ftdi_sio
[39156.901577] usbserial: USB Serial support registered for FTDI USB Serial Device
[39156.901778] ftdi_sio 2-1.2:1.0: FTDI USB Serial Device converter detected
[39156.901888] usb 2-1.2: Detected FT232RL
[39156.902640] usb 2-1.2: FTDI USB Serial Device converter now attached to ttyUSB0

Проверь, что нужный модуль загружается с помощью lsmod. А наличие самого модуля в системе можно проверить так:

$ ls /lib/modules/`uname -r`/kernel/drivers/usb/serial | grep ftdi
ftdi_sio.ko.gz
KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)

[25445.523301] usb 1-1.1: new full-speed USB device number 9 using ehci-pci

Это всё что говорит Dmesg? И /dev/ttyUSB* тоже не появляется?

А модули новые не подгружаются?

Эх, опередили...

Deleted
()
Последнее исправление: Chelobaka (всего исправлений: 1)
Ответ на: комментарий от KivApple

lsmod ничего не находит.

/lib/modules/4.1.2-2-ARCH/kernel/drivers/usb/serial/ftdi_sio.ko.gz - есть такой

Можешь подсказать vendorId/devId своего девайса?

makoven ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Да, всего одну строчку. Модули не подгружаются

makoven ★★★★★
() автор топика
Ответ на: комментарий от makoven
$ lsusb | grep FT232
Bus 002 Device 025: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC

VID:PID одинаковые у двух переходников на этой микросхеме, которые смог с ходу найти дома.

Однако чисто технически её можно перешить специальной программой на любой VID:PID (также как и вернуть обратно заводской VID:PID).

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 2)
Ответ на: комментарий от KivApple

Я не разбираюсь в теме, но похоже udev определяет устройство по VID:PID. Твои айдишники гуглятся как FTDI. А мои - как нечто болидовское. Видать болид зачем-то поменял.

Видимо придется разбираться как убедить udev воспринимать 2341:4660 как FTDI

makoven ★★★★★
() автор топика
Ответ на: комментарий от makoven

Загуглил «linux ftdi custom vid pid» - первая ссылка -http://www.ftdichip.com/Support/Documents/TechnicalNotes/TN_101_Customising_F.... Это официальный документ от производителя, который рассказывает, что надо сделать с Linux, чтобы он нормально работал с нестандартным VID:PID для FTDI.

Если кратко, то нужно подобное правило udev:

SYSFS{idProduct}==”abcd”, SYSFS{idVendor}==”0403”, RUN+=”/sbin/modprobe –q ftdisio
product=0xabcd vendor=0x0403” 
KivApple ★★★★★
()
Ответ на: комментарий от makoven

http://rtr.ca/ft232r/, например (вариант поддерживает Linux, ни разу не пользовался, только что нагуглил). Хотя есть и другие, в том числе win-only, зато с GUI (например, в том же официальном документе упоминается mprog).

Только вот если изменишь VID:PID, то вполне возможно родной софт под винду для твоего девайса может его не увидеть (если, конечно, таковой софт есть).

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 3)

Почти две тыр. o_0

Я бы взял китайский всё-в-одном на максах.

Ну это всё лирика.

Radjah ★★★★★
()
Ответ на: комментарий от makoven

Не обязательно. Я же нагуглил http://rtr.ca/ft232r/. Эта штука, конечно, не имеет GUI, однако вполне можно, указав нужные ключи командной строки, перешить с её помощью идентификаторы.

А вот тут пример использования - http://www.minipwner.com/index.php/unbrickftdi000 (одна из версий официального драйвера от FTDI портила китайские подделки, затирая идентификаторы - это инструкция о том, как прошить обратно правильные VID:PID).

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от KivApple

Спасибо! Всё получилось

./ft232r_prog --old-vid 0x2341 --old-pid 0x4660 --new-vid 0x0403 --new-pid 0x6001

ft232r_prog: version 1.25, by Mark Lord.
       eeprom_size = 128
         vendor_id = 0x2341
        product_id = 0x4660
      self_powered = 0
     remote_wakeup = 0
suspend_pull_downs = 0
     max_bus_power = 200 mA
      manufacturer = BOLID
           product = USB-RS485
         serialnum = BDULTRK9
   high_current_io = 0
  load_d2xx_driver = 0
      txd_inverted = 0
      rxd_inverted = 0
      rts_inverted = 0
      cts_inverted = 0
      dtr_inverted = 0
      dsr_inverted = 0
      dcd_inverted = 0
       ri_inverted = 0
           cbus[0] = TxDEN
           cbus[1] = TxRxLED
           cbus[2] = IO
           cbus[3] = RxLED
           cbus[4] = TxLED
Rewriting eeprom with new contents.
makoven ★★★★★
() автор топика
Ответ на: комментарий от makoven

Интересно, а для лечения побитых драйверами ардуин оно подойдет?

Radjah ★★★★★
()
Ответ на: комментарий от Radjah

Интересная штука. Про лечение ардуин не знаю. Случайно наткнулся на хабре на этот чип

makoven ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.