УкраїнськаEnglishmRussian
Вход/Новый
В теме нет новых постов

LP-8781-atom


Автор Сообщение
Сообщение создано: 16. 10. 2014 [11:47]
alkuz2009
Алексей Кузьмичев
Создатель темы
Зарегистрирован(а) с: 14.01.2012
Сообщения: 12
Здравствуйте!
Попробовал в контроллер установить openscada-0.9-r2149 из rpm пакета.
Установился без проблем, подтянув необходимые зависимости.
Запустил как демон, сконфигурировал контроллер под свой набор модулей.
Все работало хорошо до того момента пока я не перезагрузил систему. После перезагрузки модули сидящие на параллельной шине продолжали нормально работать, а модуль на последовательной шине i-87017RCW отвалился.
Я остановил скаду и опросил набор модулей в контроллере. Getlist не видет i-87017RCW.
Подобная ситуация у меня уже возникала, когда я собирал rpm пакеты непосредственно в контроллере для версии 0.8.10. Там еще на стадии удовлетворения зависимостей до самой сборки также отвалилась последовательная шина. Вылечилось откатом системы с CF карты и установкой собранных rpm пакетов версии 0.8.10 с необходимыми зависимостями.
Где копать сейчас не знаю. Модули slot и ipic ядром подгружены, устройство /dev/ttySA0 присутствует. Что делать?
Сообщение создано: 16. 10. 2014 [21:14]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"alkuz2009" wrote:

Все работало хорошо до того момента пока я не перезагрузил систему. После перезагрузки модули сидящие на параллельной шине продолжали нормально работать, а модуль на последовательной шине i-87017RCW отвалился.

Что значит отвалились?

"alkuz2009" wrote:

Я остановил скаду и опросил набор модулей в контроллере. Getlist не видет i-87017RCW.

Ну так, а OpenSCADA чего должна?

"alkuz2009" wrote:

Где копать сейчас не знаю. Модули slot и ipic ядром подгружены, устройство /dev/ttySA0 присутствует. Что делать?

Собственно что-что, а /dev/ttySA0 отваливаться не должен поскольку он переименованный стандартный /dev/ttyS0, а на его месте расширенные COM3 и далее, от их закрытого драйвера 8250_linpac и icpdas_8250.
Попробуйте "$ setserial /dev/ttySA0" для него вызвать.
Разве только частично драйвер slot глючит, поскольку выбор модуля перед запросом через /dev/ttySA0 осуществляет именно он.

Недавно людям собирал именно эту сборку, выгружал и настраивал — пока не жаловались.

Хотя по памяти адаптации LP8781 и создания для него собственной прошивки вместо стандартной установки не могу исключать, что там нет проблем в ихней сборке ядра, а в закрытых драйверах ICP_DAS так точно хватает.

Learn, learn and learn better than work, work and work.
Сообщение создано: 17. 10. 2014 [10:47]
alkuz2009
Алексей Кузьмичев
Создатель темы
Зарегистрирован(а) с: 14.01.2012
Сообщения: 12
К OpenSCADA претензий нет. Исключительно положительные эмоции.
А вот железяка начинает потихоньку достовать.

Включил питание контроллера. Вот что имеем:

user@kuzmichev:~$ ssh root@192.168.141.115
root@192.168.141.115's password:
Last login: Fri Oct 17 03:57:53 2014 from 192.168.141.118
[root@localhost ~]# dmesg | grep ttyS*
console [tty0] enabled
serial8250: ttySA0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttySA1 at I/O 0x2f8 (irq = 3) is a 16550A
00:05: ttySA0 at I/O 0x3f8 (irq = 4) is a 16550A
00:06: ttySA1 at I/O 0x2f8 (irq = 3) is a 16550A
[root@localhost ~]# dmesg | grep slot
ICPDAS slot driver (type 0) version 2.00a (2012-02-16) with normal status 0000
slot1 at 0x00002000 (irq = 1) is none
slot2 at 0x00002800 (irq = 2) is none
slot3 at 0x00003000 (irq = 3) is none
slot4 at 0x00003800 (irq = 4) is a 8064
slot5 at 0x00004000 (irq = 5) is a 8040
slot6 at 0x00004800 (irq = 6) is none
slot7 at 0x00005000 (irq = 7) is none
slot8 at 0x00005800 (irq = 8) is none
[root@localhost ~]# ll /dev/ttyS*
crw------- 1 root root 4, 64 Окт 17 03:34 /dev/ttyS0
crw------- 1 root root 4, 65 Окт 17 03:34 /dev/ttyS1
crw------- 1 root root 4, 66 Окт 17 03:34 /dev/ttyS2
crw------- 1 root root 4, 67 Окт 17 03:34 /dev/ttyS3
crw-rw---- 1 root dialout 4, 64 Окт 17 05:15 /dev/ttySA0
crw-rw---- 1 root dialout 4, 66 Окт 17 03:34 /dev/ttySA2
crw-rw---- 1 root dialout 4, 67 Окт 17 03:34 /dev/ttySA3
[root@localhost ~]# lsmod
Module Size Used by
ipv6 223312 14
snd_hda_codec_realtek 203044 1
snd_hda_intel 20149 0
snd_hda_codec 66655 2 snd_hda_codec_realtek,snd_hda_intel
snd_hwdep 5018 1 snd_hda_codec
snd_seq 44306 0
snd_seq_device 5326 1 snd_seq
snd_pcm 63565 2 snd_hda_intel,snd_hda_codec
snd_timer 16261 2 snd_seq,snd_pcm
8250_pnp 3557 0
snd 50319 8 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_seq,snd_seq_device,snd_pcm,snd_timer
8250 17266 1 8250_pnp
i2c_isch 5832 0
serial_core 15868 1 8250
soundcore 5712 1 snd
serio_raw 3483 0
e1000e 105103 0
i2c_core 22077 1 i2c_isch
snd_page_alloc 6516 2 snd_hda_intel,snd_pcm
slot 31413 0
ipic 2200 1 slot
[root@localhost ~]# getlist
slot 1 ... not installed
slot 2 ... not installed
slot 3 ... not installed
slot 4 ... 8064
slot 5 ... 8040
slot 6 ... not installed
slot 7 ... not installed
slot 8 ... not installed
[root@localhost ~]#

Отвалился ttySA1, в 8 слоте модуль не обнаружен.
Выключил питание. Выдернул из слота модуль. По лапал его, по сверлил его глазами. Воткнул на место и включил питание. Вот что имеем:

root@192.168.141.115's password:
Last login: Fri Oct 17 05:35:25 2014 from kuzmichev.oe.metinvest.com
[root@localhost ~]# dmesg | grep ttySA*
serial8250: ttySA0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttySA1 at I/O 0x2f8 (irq = 3) is a 16550A
00:05: ttySA0 at I/O 0x3f8 (irq = 4) is a 16550A
00:06: ttySA1 at I/O 0x2f8 (irq = 3) is a 16550A
[root@localhost ~]# ll /dev/ttyS*
crw------- 1 root root 4, 64 Окт 17 05:46 /dev/ttyS0
crw------- 1 root root 4, 65 Окт 17 05:46 /dev/ttyS1
crw------- 1 root root 4, 66 Окт 17 05:46 /dev/ttyS2
crw------- 1 root root 4, 67 Окт 17 05:46 /dev/ttyS3
crw-rw---- 1 root dialout 4, 66 Окт 17 05:46 /dev/ttySA2
crw-rw---- 1 root dialout 4, 67 Окт 17 05:46 /dev/ttySA3
[root@localhost ~]# dmesg | grep slot
ICPDAS slot driver (type 0) version 2.00a (2012-02-16) with normal status 0000
slot1 at 0x00002000 (irq = 1) is none
slot2 at 0x00002800 (irq = 2) is none
slot3 at 0x00003000 (irq = 3) is none
slot4 at 0x00003800 (irq = 4) is a 8064
slot5 at 0x00004000 (irq = 5) is a 8040
slot6 at 0x00004800 (irq = 6) is none
slot7 at 0x00005000 (irq = 7) is none
slot8 at 0x00005800 (irq = 8) is none
[root@localhost ~]# mknod -m 660 /dev/ttySA0 c 4 64
[root@localhost ~]# mknod -m 660 /dev/ttySA1 c 4 65
[root@localhost ~]# ll /dev/ttyS*
crw------- 1 root root 4, 64 Окт 17 05:46 /dev/ttyS0
crw------- 1 root root 4, 65 Окт 17 05:46 /dev/ttyS1
crw------- 1 root root 4, 66 Окт 17 05:46 /dev/ttyS2
crw------- 1 root root 4, 67 Окт 17 05:46 /dev/ttyS3
crw-rw---- 1 root root 4, 64 Окт 17 05:55 /dev/ttySA0
crw------- 1 root root 4, 65 Окт 17 05:55 /dev/ttySA1
crw-rw---- 1 root dialout 4, 66 Окт 17 05:46 /dev/ttySA2
crw-rw---- 1 root dialout 4, 67 Окт 17 05:46 /dev/ttySA3
[root@localhost ~]# dmesg | grep slot
ICPDAS slot driver (type 0) version 2.00a (2012-02-16) with normal status 0000
slot1 at 0x00002000 (irq = 1) is none
slot2 at 0x00002800 (irq = 2) is none
slot3 at 0x00003000 (irq = 3) is none
slot4 at 0x00003800 (irq = 4) is a 8064
slot5 at 0x00004000 (irq = 5) is a 8040
slot6 at 0x00004800 (irq = 6) is none
slot7 at 0x00005000 (irq = 7) is none
slot8 at 0x00005800 (irq = 8) is none
[root@localhost ~]# getlist
slot 1 ... not installed
slot 2 ... not installed
slot 3 ... not installed
slot 4 ... 8064
slot 5 ... 8040
slot 6 ... not installed
slot 7 ... not installed
slot 8 ... 87017RC
[root@localhost ~]#

Отвалились ttySA0, ttySA1. Подцепил их, модуль появился.


[root@localhost ~]# reboot

Broadcast message from root@localhost.localdomain
(/dev/pts/0) at 6:00 ...

The system is going down for reboot NOW!
[root@localhost ~]# Connection to 192.168.141.115 closed by remote host.
Connection to 192.168.141.115 closed.
user@kuzmichev:~$ ssh root@192.168.141.115
root@192.168.141.115's password:
Last login: Fri Oct 17 05:50:11 2014 from 192.168.141.118
[root@localhost ~]# ll /dev/ttyS*
crw------- 1 root root 4, 64 Окт 17 06:00 /dev/ttyS0
crw------- 1 root root 4, 65 Окт 17 06:00 /dev/ttyS1
crw------- 1 root root 4, 66 Окт 17 06:00 /dev/ttyS2
crw------- 1 root root 4, 67 Окт 17 06:00 /dev/ttyS3
crw-rw---- 1 root dialout 4, 66 Окт 17 06:00 /dev/ttySA2
crw-rw---- 1 root dialout 4, 67 Окт 17 06:00 /dev/ttySA3
[root@localhost ~]# /etc/rc.d/init.d/comport.inst
LinPAC-LX800 Serial Driver Installer 0.0.0
Load module 8250_linpac.ko
Load module icpdas_8250.ko
[root@localhost ~]# getlist
slot 1 ... not installed
slot 2 ... not installed
slot 3 ... not installed
slot 4 ... 8064
slot 5 ... 8040
slot 6 ... not installed
slot 7 ... not installed
slot 8 ... 87017RC
[root@localhost ~]# /etc/rc.d/init.d/comport.remove
LinPAC-LX800 Serial Driver Uninstaller 0.0.0
Remove module icpdas_8250.ko
[root@localhost ~]# ll /dev/ttyS*
crw-rw---- 1 root root 4, 64 Окт 17 06:18 /dev/ttySA0
crw------- 1 root root 4, 65 Окт 17 06:17 /dev/ttySA1
crw-rw---- 1 root dialout 4, 66 Окт 17 06:00 /dev/ttySA2
crw-rw---- 1 root dialout 4, 67 Окт 17 06:00 /dev/ttySA3
[root@localhost ~]# getlist
slot 1 ... not installed
slot 2 ... not installed
slot 3 ... not installed
slot 4 ... 8064
slot 5 ... 8040
slot 6 ... not installed
slot 7 ... not installed
slot 8 ... 87017RC
[root@localhost ~]#

Опять отвалились.
Выключил, включил питание.

[root@localhost ~]# Write failed: Broken pipe
user@kuzmichev:~$ ssh root@192.168.141.115
root@192.168.141.115's password:
Last login: Fri Oct 17 06:32:29 2014 from kuzmichev.oe.metinvest.com
[root@localhost ~]# ll /dev/ttyS*
crw------- 1 root root 4, 64 Окт 17 06:34 /dev/ttyS0
crw------- 1 root root 4, 65 Окт 17 06:34 /dev/ttyS1
crw------- 1 root root 4, 66 Окт 17 06:34 /dev/ttyS2
crw------- 1 root root 4, 67 Окт 17 06:34 /dev/ttyS3
crw-rw---- 1 root dialout 4, 64 Окт 17 06:34 /dev/ttySA0
crw-rw---- 1 root dialout 4, 66 Окт 17 06:34 /dev/ttySA2
crw-rw---- 1 root dialout 4, 67 Окт 17 06:34 /dev/ttySA3
[root@localhost ~]# getlist
slot 1 ... not installed
slot 2 ... not installed
slot 3 ... not installed
slot 4 ... 8064
slot 5 ... 8040
slot 6 ... not installed
slot 7 ... not installed
slot 8 ... 87017RC
[root@localhost ~]# reboot

Broadcast message from root@localhost.localdomain
(/dev/pts/0) at 6:38 ...

The system is going down for reboot NOW!
[root@localhost ~]# Connection to 192.168.141.115 closed by remote host.
Connection to 192.168.141.115 closed.
user@kuzmichev:~$ ssh root@192.168.141.115
root@192.168.141.115's password:
Last login: Fri Oct 17 06:37:57 2014 from kuzmichev.oe.metinvest.com
[root@localhost ~]# ll /dev/ttyS*
crw------- 1 root root 4, 64 Окт 17 06:39 /dev/ttyS0
crw------- 1 root root 4, 65 Окт 17 06:39 /dev/ttyS1
crw------- 1 root root 4, 66 Окт 17 06:39 /dev/ttyS2
crw------- 1 root root 4, 67 Окт 17 06:39 /dev/ttyS3
crw-rw---- 1 root dialout 4, 64 Окт 17 06:39 /dev/ttySA0
crw------- 1 root root 4, 65 Окт 17 06:39 /dev/ttySA1
crw-rw---- 1 root dialout 4, 66 Окт 17 06:39 /dev/ttySA2
crw-rw---- 1 root dialout 4, 67 Окт 17 06:39 /dev/ttySA3
[root@localhost ~]# getlist
slot 1 ... not installed
slot 2 ... not installed
slot 3 ... not installed
slot 4 ... 8064
slot 5 ... 8040
slot 6 ... not installed
slot 7 ... not installed
slot 8 ... 87017RC
[root@localhost ~]#
Сообщение создано: 17. 10. 2014 [19:51]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"alkuz2009" wrote:

Отвалился ttySA1, в 8 слоте модуль не обнаружен.
Выключил питание. Выдернул из слота модуль. По лапал его, по сверлил его глазами. Воткнул на место и включил питание. Вот что имеем:
[root@localhost ~]# ll /dev/ttyS*
crw------- 1 root root 4, 64 Окт 17 05:46 /dev/ttyS0
crw------- 1 root root 4, 65 Окт 17 05:46 /dev/ttyS1
crw------- 1 root root 4, 66 Окт 17 05:46 /dev/ttyS2
crw------- 1 root root 4, 67 Окт 17 05:46 /dev/ttyS3
crw-rw---- 1 root dialout 4, 66 Окт 17 05:46 /dev/ttySA2
crw-rw---- 1 root dialout 4, 67 Окт 17 05:46 /dev/ttySA3

Интересно, что-то /dev/ttyS34 (который COM5) и до него не видать, в LP-8781 так.

"alkuz2009" wrote:

Отвалились ttySA0, ttySA1. Подцепил их, модуль появился.

Чудно!
Оно вообще переименование ttyS0 в ttySA0 полное безобразие, что я пытался доказать ICP_DAS ещё с LP-8781, а тут он их ещё и теряет. Кстати именно поэтому, после того как GUI не загрузился на LP-8781 из-за прямого выключения, я и начал собирать прошивку, где база ОС упакована и неизменна.

По поводу устройств Serial, попробуйте создать их в директории /lib/udev/devices, поскольку udev оттуда их прямо копирует в /dev.
Например, в спеке для LP-8781 я делаю:
for (( minor=0; minor<=11; minor=minor+1 ))
do
mknod -m="u=rw,g=rw,o=rw" /lib/udev/devices/slot$minor c 215 $minor
done


Learn, learn and learn better than work, work and work.
Сообщение создано: 20. 10. 2014 [14:41]
alkuz2009
Алексей Кузьмичев
Создатель темы
Зарегистрирован(а) с: 14.01.2012
Сообщения: 12
"roman" wrote:


По поводу устройств Serial, попробуйте создать их в директории /lib/udev/devices, поскольку udev оттуда их прямо копирует в /dev.
Например, в спеке для LP-8781 я делаю:
for (( minor=0; minor<=11; minor=minor+1 ))
do
mknod -m="u=rw,g=rw,o=rw" /lib/udev/devices/slot$minor c 215 $minor
done



Директория /lib/udev/devices пустая. Что в её добавлять не знаю.

Порт теряется при любом изменении конфигурации системы на следующей перезагрузке.
Например подключение и монтирование usb hdd. И еще если в течении текущей работы небыло ни одного обращения к порту он так же теряется при перезапуске системы. Тоже самое относится и к COM5.

По скольку OpenSCADA запускается как служба, добавил в файл oscadad в секцию start:

rm -f /dev/ttySA0
mknod -m 660 /dev/ttySA0 c 4 64

Не знаю правильно это или нет но работает.
Сообщение создано: 20. 10. 2014 [18:54]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"alkuz2009" wrote:

"roman" wrote:


По поводу устройств Serial, попробуйте создать их в директории /lib/udev/devices, поскольку udev оттуда их прямо копирует в /dev.
Например, в спеке для LP-8781 я делаю:
for (( minor=0; minor<=11; minor=minor+1 ))
do
mknod -m="u=rw,g=rw,o=rw" /lib/udev/devices/slot$minor c 215 $minor
done



Директория /lib/udev/devices пустая. Что в её добавлять не знаю.

Что не понятно из фразы выше "...поскольку udev оттуда их прямо копирует в /dev"?

"alkuz2009" wrote:

По скольку OpenSCADA запускается как служба, добавил в файл oscadad в секцию start:

rm -f /dev/ttySA0
mknod -m 660 /dev/ttySA0 c 4 64

Не знаю правильно это или нет но работает.

Как решение пойдёт, я часто похожее туда помещаю.

Learn, learn and learn better than work, work and work.



2233