Настройка COM портов в Ubuntu (проблема с контроллером)
Модератор: Модераторы разделов
Настройка COM портов в Ubuntu
Здравствуйте.
Возникла необходимость добавить на сервер под управлением Ubuntu 10.04 - desktop PCI Контроллер с 2мя COM портами устройство подключил. Функционирует, но возникли проблемы:
Выставляю настройки:
stty -F /dev/ttyS2 9600 -parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8 opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
подключаю устройство все просто замечательно.
но после перезагрузки все настройки сбрасываются обратно. Из-за чего не работают устройства. Пытался сделать скрипт при запуске системы но при подключенных устройствах параметры не меняются, выдавая ошибку что порт занят. Я еще плохо знаю Lunix в связи с чем прошу помощи.
Спасибо.
Возникла необходимость добавить на сервер под управлением Ubuntu 10.04 - desktop PCI Контроллер с 2мя COM портами устройство подключил. Функционирует, но возникли проблемы:
Выставляю настройки:
stty -F /dev/ttyS2 9600 -parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8 opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
подключаю устройство все просто замечательно.
но после перезагрузки все настройки сбрасываются обратно. Из-за чего не работают устройства. Пытался сделать скрипт при запуске системы но при подключенных устройствах параметры не меняются, выдавая ошибку что порт занят. Я еще плохо знаю Lunix в связи с чем прошу помощи.
Спасибо.
Re: Настройка COM портов в Ubuntu
откуда вы пытались вызвать команду stty? из какого файла?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
Re: Настройка COM портов в Ubuntu
Пробовал через /etc/rc.local
Re: Настройка COM портов в Ubuntu
в terminal howto рекомендуется такие программы, как setserial и stty запускать из скриптов, стартующих пораньше· /etc/rc.local для этого не подходит — он запускается в самом конце инициализации системы·
я бы рекомендовал засунуть команду куда-нибудь в районе этих скриптов (у вас список может отличаться):
где-нибудь после udev-овского скрипта, для надёжности·
например, в keyboard-setup·
команду поместите внутри основного case-а сразу после варинта "start"·
пример (кусочек из файла /etc/init.d/keyboard-setup):
я бы рекомендовал засунуть команду куда-нибудь в районе этих скриптов (у вас список может отличаться):
Shell
$ ls -L /etc/rcS.d/ | grep -iv readme | head
S02hostname.sh
S02mountkernfs.sh
S03udev
S04mountdevsubfs.sh
S05bootlogd
S05keymap.sh
S06keyboard-setup
S07hdparm
S08hwclockfirst.sh
S10checkroot.sh
где-нибудь после udev-овского скрипта, для надёжности·
например, в keyboard-setup·
команду поместите внутри основного case-а сразу после варинта "start"·
пример (кусочек из файла /etc/init.d/keyboard-setup):
Shell
$ sed -n '/^case/,/^esac/p' /etc/init.d/keyboard-setup
case "$1" in
stop)
# keyboard-setup isn't a daemon
;;
start|force-reload|restart|reload)
#--- вот в этом месте и размещайте команду ---#
case `readlink /proc/self/fd/2` in
/dev/tty[0-9]*|/dev/vc/[0-9]*|/dev/console)
log_action_begin_msg "Setting preliminary keymap"
if setupcon -k; then
log_action_end_msg 0
else
log_action_end_msg $?
fi
;;
*)
exit 0
;;
esac
;;
*)
echo 'Usage: /etc/init.d/keyboard-setup {start|reload|restart|force-reload|stop}'
exit 1
;;
esac
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
Re: Настройка COM портов в Ubuntu
p.s. setserial, кстати, имеет систему сохранения/восстановления конфигурации·
по крайней мере в debian·
если у вас стоит пакет setserial и вы используете сохранение его конфигурации, то вызов stty надо будет делать _после_ вызова setserial (он может переопределить какие-нибудь из параметров порта)·
по крайней мере в debian·
если у вас стоит пакет setserial и вы используете сохранение его конфигурации, то вызов stty надо будет делать _после_ вызова setserial (он может переопределить какие-нибудь из параметров порта)·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
Re: Настройка COM портов в Ubuntu
Кстати хочу заметить что у меня тоже проблема с RS-232 портами. Касса ККМ постоянно виснет , (до установки UBUNTU, была Мандрива на ней проблем не было), Сканер штрих-кода не определяется, но если после загрузки компьютера сканер и кассу поменять местами то сканер работает....
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Re: Настройка COM портов в Ubuntu
что то я не чего не понял если честно
хотел сделать по вашему примеру но таких файлов нету. возможно из-за того что стоит Upstart? надо с ним разбираться?
хотел сделать по вашему примеру но таких файлов нету. возможно из-за того что стоит Upstart? надо с ним разбираться?
Re: Настройка COM портов в Ubuntu
azgaz
насчёт upstart-а ничего не подскажу…
смотрите документацию·
в принципе, всё что вам нужно — это выполнить команду поближе к началу инициализации системы·
вот только не уверен насчёт udev-а… подозреваю, что только после его отработки можно заниматься настройкой устройств·
кстати, можно и через udev пойти — собственное правило добавить·
но я бы рекомендовал всё-таки найти подходящий инициализационный скрипт и вклиниться в него·
в конце концов, можете хоть методом научного тыка вычислить, с каким всё заработает·
насчёт upstart-а ничего не подскажу…
смотрите документацию·
в принципе, всё что вам нужно — это выполнить команду поближе к началу инициализации системы·
вот только не уверен насчёт udev-а… подозреваю, что только после его отработки можно заниматься настройкой устройств·
кстати, можно и через udev пойти — собственное правило добавить·
но я бы рекомендовал всё-таки найти подходящий инициализационный скрипт и вклиниться в него·
в конце концов, можете хоть методом научного тыка вычислить, с каким всё заработает·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
Re: Настройка COM портов в Ubuntu
и что то как то не понятно не чего
если делать все как написано для доступа к устройству нужны права root
если вставлять мою команду то проблема как была так и остается с подключенными устройствами не меняются настройки
может есть более простой способ настройки?
если делать все как написано для доступа к устройству нужны права root
если вставлять мою команду то проблема как была так и остается с подключенными устройствами не меняются настройки
может есть более простой способ настройки?
Re: Настройка COM портов в Ubuntu
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
Re: Настройка COM портов в Ubuntu
сканер ШК и фискальный регистратор
подключаю его в порт от мат платы все хорошо а в контроллере не хочет
подключаю его в порт от мат платы все хорошо а в контроллере не хочет
Re: Настройка COM портов в Ubuntu
Контроллер не netmos случаем ?
Если он, то он только на 8.04 у меня нормально работает, на остальных дрова сломаны...
Re: Настройка COM портов в Ubuntu
я спрашивал не про железо, куда-то там прикрученное, а про программу, которая, как вы писали выше, «занимает порт», и не даёт изменить его параметры·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
Re: Настройка COM портов в Ubuntu
А есть рецепт как починить данный контролер в Ubuntu 11.04 ?
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Re: Настройка COM портов в Ubuntu
Re: Настройка COM портов в Ubuntu
да именно он
программ не каких не стоит. пробовал через cat /dev/ttyS1-2
Карта NetMos NM9835CV
-
- Сообщения: 423
- ОС: Basic command interpreter
- Контактная информация:
Re: Настройка COM портов в Ubuntu
а lsof|grep /dev/ttyS что пишет?
puts ("Working, please wait...");while(1);
Re: Настройка COM портов в Ubuntu
sokolov@server:~$ lsof|grep /dev/ttyS
sokolov@server:~$ sudo lsof|grep /dev/ttyS
[sudo] password for sokolov:
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/sokolov/.gvfs
Output information may be incomplete.
sokolov@server:~$ sudo lsof|grep /dev/ttyS1
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/sokolov/.gvfs
Output information may be incomplete.
sokolov@server:~$ sudo lsof|grep /dev/ttyS2
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/sokolov/.gvfs
Output information may be incomplete.
-
- Сообщения: 423
- ОС: Basic command interpreter
- Контактная информация:
Re: Настройка COM портов в Ubuntu
а можно на саму ошибку-то посмотреть? Device is busy ?
и ls /dev/ttyS* что надо выводит ?
и еще в /etc/inittab и /boot/grub/grub.conf есть что-то на предмет вывода в ttyS*?
и ls /dev/ttyS* что надо выводит ?
и еще в /etc/inittab и /boot/grub/grub.conf есть что-то на предмет вывода в ttyS*?
puts ("Working, please wait...");while(1);
Re: Настройка COM портов в Ubuntu
shotdownsystem писал(а): ↑06.08.2011 14:12а можно на саму ошибку-то посмотреть? Device is busy ?
и ls /dev/ttyS* что надо выводит ?
и еще в /etc/inittab и /boot/grub/grub.conf есть что-то на предмет вывода в ttyS*?
sokolov@server:~$ stty -F /dev/ttyS1 -a
speed 57600 baud;stty: /dev/ttyS1: Ошибка ввода/вывода
sokolov@server:~$ ls /dev/ttyS*
/dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3
/etc/inittab нету такого файла
grub.cfg
Код:
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod ext2
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 5f88bae4-623b-4ee8-86c9-7d475abda53e
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod ext2
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 5f88bae4-623b-4ee8-86c9-7d475abda53e
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
/etc/grub.d/20_memtest86
Код:
#!/bin/sh
set -e
# older versions of grub2 do not have this yet (LP: #459080)
if [ ! -e /usr/lib/grub/grub-mkconfig_lib ]; then
echo "no grub-mkconfig_lib, exiting"
exit 0
fi
. /usr/lib/grub/grub-mkconfig_lib
# We can't cope with loop-mounted devices here.
case ${GRUB_DEVICE_BOOT} in
/dev/loop/*|/dev/loop[0-9])
exit 0
;;
esac
if test -e /boot/memtest86+.bin ; then
MEMTESTPATH=$( make_system_path_relative_to_its_root "/boot/memtest86+.bin" )
echo "Found memtest86+ image: $MEMTESTPATH" >&2
cat << EOF
menuentry "Memory test (memtest86+)" {
EOF
prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
printf '%s\n' "${prepare_boot_cache}"
cat << EOF
linux16 $MEMTESTPATH
}
menuentry "Memory test (memtest86+, serial console 115200)" {
EOF
printf '%s\n' "${prepare_boot_cache}"
cat << EOF
linux16 $MEMTESTPATH console=ttyS0,115200n8
}
EOF
fi
-
- Сообщения: 423
- ОС: Basic command interpreter
- Контактная информация:
Re: Настройка COM портов в Ubuntu
a "dmesg |grep ttyS" что пишет ?
puts ("Working, please wait...");while(1);
Re: Настройка COM портов в Ubuntu
[ 0.775249] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 0.775566] 00:0c: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 0.775738] 0000:05:01.0: ttyS1 at I/O 0xec00 (irq = 17) is a 16550A
[ 0.775830] 0000:05:01.0: ttyS2 at I/O 0xe880 (irq = 17) is a 16550A
Re: Настройка COM портов в Ubuntu
У меня такие же. Облазил весь инет, решения не нашел, откатил дистр.
Дрова сломаны с 9.04 вроде...
Re: Настройка COM портов в Ubuntu
а может есть способ прикрутить другую версию дров? и поможет ли это?
Re: Настройка COM портов в Ubuntu
завтра хочу попробовать поставить 10.04.3 версию.
https://wiki.ubuntu.com/LucidLynx/ReleaseNo...Summary/10.04.3
https://wiki.ubuntu.com/LucidLynx/ReleaseNo...Summary/10.04.3
Re: Настройка COM портов в Ubuntu
Проблема по прежнему осталась
При пере подключении устройство работает, после перезагрузки не хочет приходится отключать устройство и заново подключать
При пере подключении устройство работает, после перезагрузки не хочет приходится отключать устройство и заново подключать
Re: Настройка COM портов в Ubuntu
поменял карту на MCS9865 порты COM работают нормально до установки драйверов, после установки драйверов при чтении данных зависает компьютер
Ставлю драйвера того чтоб работал LPT порт. LPT настраивать не умею и информации не нашел для этого. В какую сторону копать?
настраивал по http://www.linuxforen.de/forums/archive/in...p/t-268926.html
Ставлю драйвера того чтоб работал LPT порт. LPT настраивать не умею и информации не нашел для этого. В какую сторону копать?
настраивал по http://www.linuxforen.de/forums/archive/in...p/t-268926.html
Spoiler
sokol@server:~$ setserial -bg /dev/ttyD*
/dev/ttyD0 at 0xe480 (irq = 17) is a 16550A
/dev/ttyD1 at 0xe800 (irq = 18) is a 16550A
sokol@server:~$ setserial -bg /dev/ttyS*
/dev/ttyS0 at 0x03f8 (irq = 4) is a 16550A
/dev/ttyS1 at 0xe480 (irq = 17) is a 16550A
/dev/ttyS2 at 0xe800 (irq = 18) is a 16550A
05:01.0 Serial controller: NetMos Technology PCI 9865 Multi-I/O Controller (prog-if 02)
Subsystem: Device a000:1000
Flags: bus master, medium devsel, latency 64, IRQ 17
I/O ports at e480 [size=8]
Memory at febfb000 (32-bit, non-prefetchable) [size=4K]
Memory at febfa000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
Kernel driver in use: mcs9865-serial
05:01.1 Serial controller: NetMos Technology PCI 9865 Multi-I/O Controller (prog-if 02)
Subsystem: Device a000:1000
Flags: bus master, medium devsel, latency 64, IRQ 18
I/O ports at e800 [size=8]
Memory at febfd000 (32-bit, non-prefetchable) [size=4K]
Memory at febfc000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
Kernel driver in use: mcs9865-serial
05:01.2 Parallel controller: NetMos Technology PCI 9865 Multi-I/O Controller (prog-if 03)
Subsystem: Device a000:2000
Flags: bus master, medium devsel, latency 64, IRQ 5
I/O ports at ec00 [size=8]
I/O ports at e880 [size=8]
Memory at febff000 (32-bit, non-prefetchable) [size=4K]
Memory at febfe000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
/dev/ttyD0 at 0xe480 (irq = 17) is a 16550A
/dev/ttyD1 at 0xe800 (irq = 18) is a 16550A
sokol@server:~$ setserial -bg /dev/ttyS*
/dev/ttyS0 at 0x03f8 (irq = 4) is a 16550A
/dev/ttyS1 at 0xe480 (irq = 17) is a 16550A
/dev/ttyS2 at 0xe800 (irq = 18) is a 16550A
05:01.0 Serial controller: NetMos Technology PCI 9865 Multi-I/O Controller (prog-if 02)
Subsystem: Device a000:1000
Flags: bus master, medium devsel, latency 64, IRQ 17
I/O ports at e480 [size=8]
Memory at febfb000 (32-bit, non-prefetchable) [size=4K]
Memory at febfa000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
Kernel driver in use: mcs9865-serial
05:01.1 Serial controller: NetMos Technology PCI 9865 Multi-I/O Controller (prog-if 02)
Subsystem: Device a000:1000
Flags: bus master, medium devsel, latency 64, IRQ 18
I/O ports at e800 [size=8]
Memory at febfd000 (32-bit, non-prefetchable) [size=4K]
Memory at febfc000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
Kernel driver in use: mcs9865-serial
05:01.2 Parallel controller: NetMos Technology PCI 9865 Multi-I/O Controller (prog-if 03)
Subsystem: Device a000:2000
Flags: bus master, medium devsel, latency 64, IRQ 5
I/O ports at ec00 [size=8]
I/O ports at e880 [size=8]
Memory at febff000 (32-bit, non-prefetchable) [size=4K]
Memory at febfe000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
-
- Бывший модератор
- Сообщения: 2751
- Статус: Добровольный помощник
- ОС: Ubuntu (lts)
Re: Настройка COM портов в Ubuntu
$ setserial -bg /dev/ttyS*
Capabilities: <access denied>
а если через sudo?
Простые решения для Ubuntu-подобных систем: смотрим тут