Jump to content
Форум по продукции MOXA

uport 1110 линукс драйвер


Recommended Posts

у меня такая-же проблема: драйвер компилируется и устанавливается, но считать данные из порта не получается. Хотя Tx мигает если писать в порт, но Rx молчит...

Пробовал под Ubuntu 9.04 и 11.10

Link to comment
  • Replies 201
  • Created
  • Last Reply

Top Posters In This Topic

помимо sudo modprobe mxu11x0 драйвер надо как-то конфигурировать?

под виндой это делается в диспетчере устройств (выбирается интерфейс RS232/422/485). Как это сделать под линуксом?

Link to comment

помимо sudo modprobe mxu11x0 драйвер надо как-то конфигурировать?

под виндой это делается в диспетчере устройств (выбирается интерфейс RS232/422/485). Как это сделать под линуксом?

До обновления Линукса пользовался uport'ом 1110 под Ubuntu 10.04. Версию дров ставил 1.2. Установка заключалась в вводе одной команды:

#sudo make install

Даже modprobe не запускал. После этого при подключении uport'а появляется ttyUSBx порт, а с ним работаешь как с обычным tty (последовательным портом).

Но я 232 использовал. А тебе видимо переключиться надо. Глянь тут http://www.moxa.ru/forum/index.php?showtopic=478&st=20&p=4222entry4222

Link to comment

До обновления Линукса пользовался uport'ом 1110 под Ubuntu 10.04. Версию дров ставил 1.2. Установка заключалась в вводе одной команды:

#sudo make install

Даже modprobe не запускал. После этого при подключении uport'а появляется ttyUSBx порт, а с ним работаешь как с обычным tty (последовательным портом).

Но я 232 использовал. А тебе видимо переключиться надо. Глянь тут http://www.moxa.ru/forum/index.php?showtopic=478&st=20&p=4222entry4222

 

пробовал следующие команды:

# setserial /dev/ttyUSB0 port 1

 

Cannot get serial info: invalid argument

 

# setserial -G /dev/ttyUSB0

 

Cannot get serial info: invalid argument

 

команда statserial выдает следующее

 

Device: /dev/ttyUSB0

 

Signal Pin Pin Direction Status Full

Name (25) (9) (computer) Name

----- --- --- --------- ------ -----

FG 1 - - - Frame Ground

TxD 2 3 out - Transmit Data

RxD 3 2 in - Receive Data

RTS 4 7 out 1 Request To Send

CTS 5 8 in 1 Clear To Send

DSR 6 6 in 1 Data Set Ready

GND 7 5 - - Signal Ground

DCD 8 1 in 1 Data Carrier Detect

DTR 20 4 out 1 Data Terminal Ready

RI 22 9 in 0 Ring Indicator

 

 

 

в чем еще может быть дело?

Link to comment

В общем, вроде разобрался, заработало.

Правда под Ubuntu 11.10 я потерял надежду и установил 10.04

 

setserial ошибок не выдает, и даже меняет интерфейс на 422, как мне и надо.

Чтобы не писать setserial /dev/ttyUSB0 port 2 каждый раз, записал эту команду в /etc/serial.conf

Перезагрузил компьютер - и вот оно счастье :)

Link to comment
  • 4 months later...

В общем, вроде разобрался, заработало.

Правда под Ubuntu 11.10 я потерял надежду и установил 10.04

 

setserial ошибок не выдает, и даже меняет интерфейс на 422, как мне и надо.

Чтобы не писать setserial /dev/ttyUSB0 port 2 каждый раз, записал эту команду в /etc/serial.conf

Перезагрузил компьютер - и вот оно счастье smile.gif

 

Всем доброго времени суток! Столкнулся с аналогичной проблеммой, на Ubuntu 11.10 setserial отказывается работать с /dev/ttyUSBx Драйвер устанавливается и девайс работает но в другом режиме.По работе часто нужно работать с RS485 2w, а по умолчанию стоит 4w.может у кого то есть опыт в редактировании исхоников драйверов? поделитесь пожалуйста, буду очень признателен.

Link to comment

Добрый день,

Во вложении самый последний драйвер (релиз - март 2012). Посмотрите, будет ли он корректно отрабатывать задание режимов порта.

 

Спасибо огромное ! все замечательно теперь работает и переключаются режимы 2w и 4w RS485(RS232 не тестил)Работу проверял на 3.0.0-17-generic #30-Ubuntu SMP Thu Mar 8 17:34:21 UTC 2012 i686 i686 i386 GNU/LinuxЕще раз огромное спасибо Вам!

Link to comment
  • 1 month later...

я использую на устройстве ОС Ubuntu Server LTS 12.04 и в нем ядро уже 3.2 - и не компилируется с такими же ошибками - что делать?

 

извините что пишу в таком стиле, просто очень наболело...

FTDI и prolific сто лет назад уже включили свои дарйвера в основную ветку Linux, делается это одним простым e-mail одному из разработчиков и они С РАДОСТЬЮ примут Ваш код

странно, но Linux это основная ОС для встраиваемых систем, а не windows xp и тем более виста и семь! поэтому странно что драйвер для RS-485 для Linux у Moxa на самом последнем плане, чуть ли не на уровне случайного выброса написанного каким-то интузиастом который упросил опубликовать драйвер на оф сайте...

 

P.S.

и вообще, в чем сокральный смысл упорно не передавать драйвер moxa хотя бы даже для этого устройства в основное ядро??? вот сделали драйвер, код открыт, но почему он не в основном ядре? смысл? почему тсячи других устройств имеют драйвер в основной ветке а это нет? с другими проблем нет и авто определяются, а с этим гемор?

 

есть ли хоть одна причина?.. огорчает что некоторые производители которые все таки удосужились сделать драйвер, тем не менее сделали это по-студенчески, как-то тяп ляп "по-виндовсовски", а надо сразу слать патч с драйвером в ядро

Link to comment
  • 2 weeks later...

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

Прошу прощения за поздний ответ. Официального драйвера для Linux 3.2 пока нет, но во вложении - драйвер с поддержкой ядра до 3.1.9. Попробуйте. будет ли корректно работать.

 

По поводу остальной части Вашего вопроса - боюсь, что сейчас не смогу дать комментариев. Это зависит от политики головной компании в Тайване, и мнение российского представительства здесь, боюсь, не сильно поможет. Но Вашу ситуацию вполне понимаю, и буду стараться всячески улучшению.

driv_linux2.6_uport1p_v1.2.7_build_12030915.tgz

version.txt

Link to comment
  • 2 weeks later...

На Linux Mint 13 (Maya) не хотят эти драйвера собираться.

Отбой. Разобрался сам. Оказывается надо обязательно их в /tmp разворачивать

иначе ставиться не будут.

Link to comment
  • 4 weeks later...

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

Попробовал тут: Linux version 3.3.4-5.fc17.i686.PAE (mockbuild@x86-18.phx2.fedoraproject.org) (gcc version 4.7.0 20120504 (Red Hat 4.7.0-4) (GCC) ) #1 SMP Mon May 7 17:37:39 UTC 2012

 

Компилируется без ошибок. modprobe тоже не ругается. При попытке установить insmod ./mxu11x0.o пишет, что неправильный формат модуля.

 

Не хотелось мучиться, но на имеющийся ноутбук установилась только 17 Feodora. 14 и 15 Fedor'ы не ставится...

Link to comment

Так же попробовал версию 1.2.7 на 14 Fedor'e. Результат аналогичный. Модуль не подключается. В обоих случаях использовал дистрибутивы, скаченные с русского сайта Fedor'ы. Без обновлений.

Link to comment

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

Я использую систему CentOS release 6.2 (Final), с ядром 2.6.32-220.23.1.el6.centos.plus.i686.

Использовал драйвер driv_linux2.6_uport1p_v1.2.7_build_12030915.tgz(до него пробывал driv_linux2.6_uport1p_v1.2.3_build_10020111.tgz, проблема была анологичная)

Все хорошо собралось, ttyUSB0 определился и работает. К нему я подключил gprs-модем CINTERION mc35i, настроил подключение. Проблема в том, что когда идет передача данных через модем то появяются ошибки(кусок лока с /var/log/messages):

 

Jul 5 08:55:37 srv4 kernel: BUG: scheduling while atomic: swapper/0/0x10010000

Jul 5 08:55:37 srv4 kernel: Modules linked in: ppp_deflate zlib_deflate coretemp ipmi_si ipmi_msghandler bnx2fc fcoe libfcoe libfc 8021q scsi_transport_fc garp stp scsi_tgt llc sunrpc ppp_async crc_ccit

t ppp_generic slhc reiserfs(U) mxu11x0(U) usbserial serio_raw sg i2c_i801 i2c_core iTCO_wdt iTCO_vendor_support i5100_edac edac_core ext4 mbcache jbd2 sr_mod cdrom pata_acpi ata_generic ata_piix hpsa cciss tg

3 dm_mirror dm_region_hash dm_log dm_mod be2iscsi bnx2i cnic uio ipv6 cxgb4i cxgb4 cxgb3i libcxgbi cxgb3 mdio libiscsi_tcp qla4xxx iscsi_boot_sysfs libiscsi scsi_transport_iscsi [last unloaded: scsi_wait_scan

]

Jul 5 08:55:37 srv4 kernel: Modules linked in: ppp_deflate zlib_deflate coretemp ipmi_si ipmi_msghandler bnx2fc fcoe libfcoe libfc 8021q scsi_transport_fc garp stp scsi_tgt llc sunrpc ppp_async crc_ccit

t ppp_generic slhc reiserfs(U) mxu11x0(U) usbserial serio_raw sg i2c_i801 i2c_core iTCO_wdt iTCO_vendor_support i5100_edac edac_core ext4 mbcache jbd2 sr_mod cdrom pata_acpi ata_generic ata_piix hpsa cciss tg

3 dm_mirror dm_region_hash dm_log dm_mod be2iscsi bnx2i cnic uio ipv6 cxgb4i cxgb4 cxgb3i libcxgbi cxgb3 mdio libiscsi_tcp qla4xxx iscsi_boot_sysfs libiscsi scsi_transport_iscsi [last unloaded: scsi_wait_scan

]

Jul 5 08:55:37 srv4 kernel:

Jul 5 08:55:37 srv4 kernel: Pid: 0, comm: swapper Not tainted 2.6.32-220.23.1.el6.centos.plus.i686 #1 HP ProLiant ML150 G5/ProLiant ML150 G5

Jul 5 08:55:37 srv4 kernel: EIP: 0060:[<c048658e>] EFLAGS: 00000202 CPU: 1

Jul 5 08:55:37 srv4 kernel: EIP is at tick_nohz_restart_sched_tick+0x15e/0x180

Jul 5 08:55:37 srv4 kernel: EAX: 00000000 EBX: 1e385da0 ECX: fffff000 EDX: 00000082

Jul 5 08:55:37 srv4 kernel: ESI: 00000007 EDI: c3243fa0 EBP: 00000001 ESP: f7097f5c

Jul 5 08:55:37 srv4 kernel: DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068

Jul 5 08:55:37 srv4 kernel: Process swapper (pid: 0, ti=f7096000 task=f7083ab0 task.ti=f7096000)

Jul 5 08:55:37 srv4 kernel: Stack:

Jul 5 08:55:37 srv4 kernel: 00000000 00000002 1e3ca724 00000007 c0a995f4 00000001 00000000 f7097fb0

Jul 5 08:55:37 srv4 kernel: <0> c040898c 75e9fdbf 00000021 8daaa4e4 1d7b9c5f 01040800 00000000 c0830cc8

Jul 5 08:55:37 srv4 kernel: <0> f6d2a0e0 8859d976 a28eea36 26412860 00000001 00000000 00000000 00000000

Jul 5 08:55:37 srv4 kernel: Call Trace:

Jul 5 08:55:37 srv4 kernel: [<c040898c>] ? cpu_idle+0xbc/0xd0

Jul 5 08:55:37 srv4 kernel: [<c0830cc8>] ? start_secondary+0x20d/0x252

Jul 5 08:55:37 srv4 kernel: Code: 0c 8b 47 0c 2b 44 24 08 8b 54 24 08 8b 4c 24 0c 89 04 24 89 f8 c7 44 24 04 02 00 00 00 e8 2b 4e ff ff 8b 6f 24 85 ed 74 95 fb 90 <8d> 74 26 00 83 c4 10 5b 5e 5f 5d c3 8

d b6 00 00 00 00 e8 0b 4d

Jul 5 08:55:37 srv4 kernel: Call Trace:

Jul 5 08:55:37 srv4 kernel: [<c040898c>] ? cpu_idle+0xbc/0xd0

Jul 5 08:55:37 srv4 kernel: [<c0830cc8>] ? start_secondary+0x20d/0x252

Jul 5 08:55:37 srv4 pppd[1157]: not replacing existing default route via 1.1.1.1

Jul 5 08:55:37 srv4 pppd[1157]: local IP address 2.2.2.2

Jul 5 08:55:37 srv4 pppd[1157]: remote IP address 3.3.3.3

Jul 5 08:57:36 srv4 yum[1773]: Installed: strace-4.5.19-1.11.el6_2.1.i686

Jul 5 09:05:35 srv4 kernel: BUG: scheduling while atomic: swapper/0/0x10010000

Jul 5 09:05:35 srv4 kernel: Modules linked in: ppp_deflate zlib_deflate coretemp ipmi_si ipmi_msghandler bnx2fc fcoe libfcoe libfc 8021q scsi_transport_fc garp stp scsi_tgt llc sunrpc ppp_async crc_ccit

t ppp_generic slhc reiserfs(U) mxu11x0(U) usbserial serio_raw sg i2c_i801 i2c_core iTCO_wdt iTCO_vendor_support i5100_edac edac_core ext4 mbcache jbd2 sr_mod cdrom pata_acpi ata_generic ata_piix hpsa cciss tg

3 dm_mirror dm_region_hash dm_log dm_mod be2iscsi bnx2i cnic uio ipv6 cxgb4i cxgb4 cxgb3i libcxgbi cxgb3 mdio libiscsi_tcp qla4xxx iscsi_boot_sysfs libiscsi scsi_transport_iscsi [last unloaded: scsi_wait_scan

]

Jul 5 09:05:35 srv4 kernel: Modules linked in: ppp_deflate zlib_deflate coretemp ipmi_si ipmi_msghandler bnx2fc fcoe libfcoe libfc 8021q scsi_transport_fc garp stp scsi_tgt llc sunrpc ppp_async crc_ccit

t ppp_generic slhc reiserfs(U) mxu11x0(U) usbserial serio_raw sg i2c_i801 i2c_core iTCO_wdt iTCO_vendor_support i5100_edac edac_core ext4 mbcache jbd2 sr_mod cdrom pata_acpi ata_generic ata_piix hpsa cciss tg

3 dm_mirror dm_region_hash dm_log dm_mod be2iscsi bnx2i cnic uio ipv6 cxgb4i cxgb4 cxgb3i libcxgbi cxgb3 mdio libiscsi_tcp qla4xxx iscsi_boot_sysfs libiscsi scsi_transport_iscsi [last unloaded: scsi_wait_scan

]

Jul 5 09:05:35 srv4 kernel:

Jul 5 09:05:35 srv4 kernel: Pid: 0, comm: swapper Not tainted 2.6.32-220.23.1.el6.centos.plus.i686 #1 HP ProLiant ML150 G5/ProLiant ML150 G5

Jul 5 09:05:35 srv4 kernel: EIP: 0060:[<c04443ac>] EFLAGS: 00000286 CPU: 3

Jul 5 09:05:35 srv4 kernel: EIP is at finish_task_switch+0x3c/0xb0

Jul 5 09:05:35 srv4 kernel: EAX: f70b4570 EBX: 00000000 ECX: c32c80c0 EDX: 00000000

Jul 5 09:05:35 srv4 kernel: ESI: c140cab0 EDI: 00000001 EBP: f70b4570 ESP: f70cfeac

Jul 5 09:05:35 srv4 kernel: DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068

Jul 5 09:05:35 srv4 kernel: Process swapper (pid: 0, ti=f70ce000 task=f70b4570 task.ti=f70ce000)

Jul 5 09:05:35 srv4 kernel: Stack:

Jul 5 09:05:35 srv4 kernel: f70b4570 c0b190c0 00000000 f70b4570 c0834f30 c048559f 44b65e50 00000092

Jul 5 09:05:35 srv4 kernel: <0> c04842ec 44b65e50 00000000 00000000 c1421ac0 00000092 c140cab0 00000092

Jul 5 09:05:35 srv4 kernel: <0> c0b190c0 c0b190c0 f70b481c c0b190c0 c0b14aa4 c0b190c0 f70b4818 f5c28000

Jul 5 09:05:35 srv4 kernel: Call Trace:

Jul 5 09:05:35 srv4 kernel: [<c0834f30>] ? schedule+0x3c0/0xae0

Jul 5 09:05:35 srv4 kernel: [<c048559f>] ? tick_dev_program_event+0x6f/0xd0

Jul 5 09:05:35 srv4 kernel: [<c04842ec>] ? clockevents_program_event+0x8c/0x120

Jul 5 09:05:35 srv4 kernel: [<c047a0e3>] ? hrtimer_forward+0x163/0x1b0

Jul 5 09:05:35 srv4 kernel: [<c047b3d0>] ? hrtimer_start_range_ns+0x20/0x30

Jul 5 09:05:35 srv4 kernel: [<c0486585>] ? tick_nohz_restart_sched_tick+0x155/0x180

Jul 5 09:05:35 srv4 kernel: [<c0408995>] ? cpu_idle+0xc5/0xd0

Jul 5 09:05:35 srv4 kernel: [<c0830cc8>] ? start_secondary+0x20d/0x252

Jul 5 09:05:35 srv4 kernel: Code: 24 0c 8b 98 a0 04 00 00 c7 80 a0 04 00 00 00 00 00 00 8b 3a 8b 15 28 a4 a9 c0 64 a1 6c 31 b1 c0 85 d2 75 2f fe 01 8d 76 00 fb 90 <8d> 74 26 00 85 db 74 0b f0 ff 4b 30 0

f 94 c0 84 c0 75 4a 83 ff

Jul 5 09:05:35 srv4 kernel: Call Trace:

Jul 5 09:05:35 srv4 kernel: [<c0834f30>] ? schedule+0x3c0/0xae0

Jul 5 09:05:35 srv4 kernel: [<c048559f>] ? tick_dev_program_event+0x6f/0xd0

Jul 5 09:05:35 srv4 kernel: [<c04842ec>] ? clockevents_program_event+0x8c/0x120

Jul 5 09:05:35 srv4 kernel: [<c047a0e3>] ? hrtimer_forward+0x163/0x1b0

Jul 5 09:05:35 srv4 kernel: [<c047b3d0>] ? hrtimer_start_range_ns+0x20/0x30

Jul 5 09:05:35 srv4 kernel: [<c0486585>] ? tick_nohz_restart_sched_tick+0x155/0x180

Jul 5 09:05:35 srv4 kernel: [<c0408995>] ? cpu_idle+0xc5/0xd0

Jul 5 09:05:35 srv4 kernel: [<c0830cc8>] ? start_secondary+0x20d/0x252

 

но само соиденение не разрывается и данные даже передаются,но их коррекность ставится под сомнение

_________________

можете что то посоветовать?

Link to comment

Добрый день,

А точно ошибки возникают из-за UPort?

Если передавать данные через стандартный COM-порт компьютера, ошибок таких не возникает?

Link to comment

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

Попробовал тут: Linux version 3.3.4-5.fc17.i686.PAE (mockbuild@x86-18.phx2.fedoraproject.org) (gcc version 4.7.0 20120504 (Red Hat 4.7.0-4) (GCC) ) #1 SMP Mon May 7 17:37:39 UTC 2012

 

Компилируется без ошибок. modprobe тоже не ругается. При попытке установить insmod ./mxu11x0.o пишет, что неправильный формат модуля.

 

 

Извиняюсь. Работает...Погорячился и набирал insmod ./mxu11x0.o вместо insmod ./mxu11x0.кo....

В данной версии драйвера не включена поддержка фиксации бита паритета. Пришлось добавить пару строчек ...

Можно ли в данной версии уменьшить время, я так понимаю, тайм аутов, при обращении к устройству (использую UPort1130) и возможно ли в принципе для данного устройства уменьшение задержек? При переключении бита паритета задержка составляет около 10 мс (видимо, один тик системного таймера).

При использовании адаптеров USB-COM (двух других фирм), которые используют драйвер pl2303, поставляемый с ОС, задержка всего около 1 мс (это "привет" от USB). Но это RS232, а мне нужен RS485 с "девятым битом".

Link to comment

Добрый день,

Прошу прощения за задержку с ответом. Служба R&D не очень шустро отвечает.

Вобщем, они говорят, что действительно в нынешней версии устройства время переключения составляет порядка 10 мс, и никак его существенно уменьшить нельзя. Просто изначально при разработке UPort не планировалось частое переключение его режимов, и не уделялось особого внимания минимизации времени установки бита четности.

Разработчики обещали подумать, можно ли придумать какой-то адекватный выход... но мне кажется, что рассчитывать особо не на что. Если будут новости, я дам знать!

Link to comment
  • 5 months later...
  • 4 weeks later...

Доброго времени суток, сегодня попробовал новые дрова на убунте 12.10

Linux hp 3.5.0-22-generic #34-Ubuntu SMP Tue Jan 8 21:41:11 UTC 2013 i686 athlon i686 GNU/Linux

все отлично подхватилось =) спасибо за дрова !

Link to comment

Добрый день!

Есть необходимость работы по RS-422 посредством UPort 1150 в Ubuntu 12.04 LTS. Все работает корректно, но при отключении устройства сбрасываются настройки, приходится каждый раз его конфигурировать. Подскажите, пожалуйста, как сделать автоконфигурирование при подключении и какой командой установить фиксированное имя порта.

Link to comment

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

 

Вы можете сделать требуемое при помощи правил udev. Для этого Вам нужно будет создать в каталоге /etc/udev/rules.d файл 10-uport.rules со следующим содержимым

 

KERNEL=="ttyUSB*", SYMLINK+="uport", RUN+="/home/user/script.sh"

 

Действия в правилах udev записываются через запятую. В данном примере, первым идёт действие сравнения, которое проверяет, совпадает ли имя устройства с шаблоном ttyUSB*. Второе действие создаёт в каталоге /dev ссылку на устройство, в данном случае будет /dev/uport, это можно использовать для присвоения постоянного имени устройства. Третье действие запускает скрипт, в кавычках указывается имя скрипта. В скрипте Вы можете прописать требуемые действия по инициализации устройства, и они будут производиться всякий раз, когда Вы это устройство подключаете. Не забудьте присвоить скрипту права на выполнение. Также возможно, что после добавления правила придётся перезапустить udev и заново подключить устройство, чтобы правило вступило в силу.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...