WinConf и WinOffice под Wine HQ

Решение вопросов по установке, обслуживанию и эксплуатации Мини-АТС производства ООО "Мультиком".

Модераторы: A_Zenin, Станислав Петрович, Говоров

Ответить
Nicom
Сообщения: 64
Зарегистрирован: 25 июн 2003, 03:00
Откуда: E-burg

Сообщение Nicom »

Прошёл год после моей первой темы, по поводу ПО под Linux http://www.multicom.ru/forum/Forum12/HTML/000279.html , хотелось бы узнать, как всётаки работать с АТС из под *nix систем?Мы обновили пакет эмулятора WineHQ до последней 0.9.44 версии, теперь WinConf и WinOffice отображаются красиво и полностью, но нивкакую не удается заставить их нормально работать с СОМ портом через Wine, обмена данными со станцией не происходит, после долгого ожидания WinConf пишет "выход по Timeout".
Что в данном случае Вы можете предложить для решения нашей проблемы?[Это сообщение изменил Nicom (изменение 03 Сентября 2007 22:44).]
Nicom
Сообщения: 64
Зарегистрирован: 25 июн 2003, 03:00
Откуда: E-burg

Сообщение Nicom »

Настройка stty с которой хоть как-то работает с /dev/ttyS0 Подскажите, что можно ещё изменить в настройках для улучшения связи со станцией?$/bin/stty -F /dev/ttyS0 -a
speed 19200 baud; rows 0; columns 0; line = 0;
intr = ; quit = ; erase = ; kill = ; eof = ;
eol = ; eol2 = ; swtch = ; start = ; stop = ;
susp = ; rprnt = ; werase = ; lnext = ;
flush = ; min = 0; time = 1;
-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 ff 0
-isig -icanon -iexten -echo -echoe -echok -echonl noflsh -xcase -tostop -echoprt
-echoctl -echoke$man sttySTTY(1) User Commands STTY(1)
NAME stty - change and print terminal line settingsSYNOPSIS
stty [-F DEVICE] [--file=DEVICE] [SETTING]...
stty [-F DEVICE] [--file=DEVICE] [-a|--all]
stty [-F DEVICE] [--file=DEVICE] [-g|--save]DESCRIPTION
Print or change terminal characteristics.
-a, --all print all current settings in human-readable form
-g, --save print all current settings in a stty-readable form
-F, --file=DEVICE open and use the specified DEVICE instead of stdin
--help display this help and exit
--version output version information and exit Optional - before SETTING indicates negation. An * marks non-POSIX
settings. The underlying system defines which settings are available. Special characters:
* dsusp CHAR CHAR will send a terminal stop signal once input flushed
eof CHAR CHAR will send an end of file (terminate the input)
eol CHAR CHAR will end the line
* eol2 CHAR alternate CHAR for ending the line
erase CHAR CHAR will erase the last character typed
intr CHAR CHAR will send an interrupt signal
kill CHAR CHAR will erase the current line
* lnext CHAR CHAR will enter the next character quoted
quit CHAR CHAR will send a quit signal
* rprnt CHAR CHAR will redraw the current line
start CHAR CHAR will restart the output after stopping it
stop CHAR CHAR will stop the output
susp CHAR CHAR will send a terminal stop signal
* swtch CHAR CHAR will switch to a different shell layer
* werase CHAR CHAR will erase the last word typed Special settings:
N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns
* columns N same as cols N
ispeed N set the input speed to N
* line N use line discipline N
min N with -icanon, set N characters minimum for a completed read
ospeed N set the output speed to N
* rows N tell the kernel that the terminal has N rows
* size print the number of rows and columns according to the kernel
speed print the terminal speed
time N with -icanon, set read timeout of N tenths of a second Control settings:
[-]clocal disable modem control signals
[-]cread allow input to be received
* [-]crtscts enable RTS/CTS handshaking
csN set character size to N bits, N in [5..8]
[-]cstopb use two stop bits per character (one with `-')
[-]hup send a hangup signal when the last process closes the tty
[-]hupcl same as [-]hup
[-]parenb generate parity bit in output and expect parity bit in input
[-]parodd set odd parity (even with `-') Input settings:
[-]brkint breaks cause an interrupt signal
[-]icrnl translate carriage return to newline
[-]ignbrk ignore break characters
[-]igncr ignore carriage return
[-]ignpar ignore characters with parity errors
* [-]imaxbel beep and do not flush a full input buffer on a character
[-]inlcr translate newline to carriage return
[-]inpck enable input parity checking
[-]istrip clear high (8th) bit of input characters
* [-]iutf8 assume input characters are UTF-8 encoded
* [-]iuclc translate uppercase characters to lowercase
* [-]ixany let any character restart output, not only start character
[-]ixoff enable sending of start/stop characters
[-]ixon enable XON/XOFF flow control
[-]parmrk mark parity errors (with a 255-0-character sequence)
[-]tandem same as [-]ixoff Output settings:
* bsN backspace delay style, N in [0..1]
* crN carriage return delay style, N in [0..3]
* ffN form feed delay style, N in [0..1]
* nlN newline delay style, N in [0..1]
* [-]ocrnl translate carriage return to newline
* [-]ofdel use delete characters for fill instead of null characters
* [-]ofill use fill (padding) characters instead of timing for delays
* [-]olcuc translate lowercase characters to uppercase
* [-]onlcr translate newline to carriage return-newline
* [-]onlret newline performs a carriage return
* [-]onocr do not print carriage returns in the first column
[-]opost postprocess output
* tabN horizontal tab delay style, N in [0..3]
* tabs same as tab0
* -tabs same as tab3
* vtN vertical tab delay style, N in [0..1] Local settings:
[-]crterase echo erase characters as backspace-space-backspace
* crtkill kill all line by obeying the echoprt and echoe settings
* -crtkill kill all line by obeying the echoctl and echok settings
* [-]ctlecho echo control characters in hat notation (`^c')
[-]echo echo input characters
* [-]echoctl same as [-]ctlecho
[-]echoe same as [-]crterase
[-]echok echo a newline after a kill character
* [-]echoke same as [-]crtkill
[-]echonl echo newline even if not echoing other characters
* [-]echoprt echo erased characters backward, between `\' and '/'
[-]icanon enable erase, kill, werase, and rprnt special characters
[-]iexten enable non-POSIX special characters
[-]isig enable interrupt, quit, and suspend special characters
[-]noflsh disable flushing after interrupt and quit special characters
* [-]prterase same as [-]echoprt
* [-]tostop stop background jobs that try to write to the terminal
* [-]xcase with icanon, escape with `\' for uppercase characters Combination settings:
* [-]LCASE same as [-]lcase
cbreak same as -icanon
-cbreak same as icanon
cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof
and eol characters to their default values
-cooked same as raw
crt same as echoe echoctl echoke
dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u
* [-]decctlq same as [-]ixany
ek erase and kill characters to their default values
evenp same as parenb -parodd cs7
-evenp same as -parenb cs8
* [-]lcase same as xcase iuclc olcuc
litout same as -parenb -istrip -opost cs8
-litout same as parenb istrip opost cs7
nl same as -icrnl -onlcr
-nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret
oddp same as parenb parodd cs7
-oddp same as -parenb cs8
[-]parity same as [-]evenp
pass8 same as -parenb -istrip cs8
-pass8 same as parenb istrip cs7
raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr
-igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost
-isig -icanon -xcase min 1 time 0
-raw same as cooked
sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff
-iuclc -ixany imaxbel 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, all special characters to their default values. Handle the tty line connected to standard input. Without arguments,
prints baud rate, line discipline, and deviations from stty sane. In
settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or
127; special values ^- or undef used to disable special characters.AUTHOR Written by David MacKenzie.REPORTING BUGS Report bugs to .COPYRIGHT Copyright (C) 2006 Free Software Foundation, Inc.
This is free software. You may redistribute copies of it under the
terms of the GNU General Public License
. There is NO WARRANTY, to the
extent permitted by law.SEE ALSO The full documentation for stty is maintained as a Texinfo manual. If
the info and stty programs are properly installed at your site, the
command info stty should give you access to the complete manual.stty 6.4 November 2006 STTY(1)
Андрей Рудик
Сообщения: 561
Зарегистрирован: 04 мар 2002, 03:00
Откуда: Санкт-Петербург

Сообщение Андрей Рудик »

Видите ли, Вам надо обратиться к специалистам по программе WinHQ. Только они смогут подсказать, что нужно делать. Но, скорее всего, сделать ничего нельзя. Я уже не первый раз вижу, что виртуальные машины сбоят или тормозят при работе с периферийным железом, таким, как СОМ-порт, например. Хотя с точки зрения Windows работа идет корректно. Такую же гадость я наблюдал в VMWare при запуске программы, рассчитанной на MS-DOS.У нас в фирме нет специалистов по программированию в Unix-like ОС по причине их ненужности. Лично я с удовольствием отказался бы от Виндовс на рабочем месте, но это невозможно по нескольким причинам:
- 99.999% клиентов использует Windows и в течение пары лет тут ничего не изменится.
- Средства разработки под Виндовс оставляют далеко позади аналогичные под *nix.ps: когда-нибудь доведут до ума .NET FrameWork под Linux, вот тогда будет полегче.
Nicom
Сообщения: 64
Зарегистрирован: 25 июн 2003, 03:00
Откуда: E-burg

Сообщение Nicom »

Wine - это не Wirtual Machine и не эмулятор Windows, а всего лишь слой преобразования "виндовс" API в Unix API, и с этой стороны всё работает достаточно корректно, проблема в том, что я не знаю как общается телефонная станция с СОМ портом, используются ли в протоколе спецсимволы (конец строки например), используется ли управление потоком (Xon/Xoff), нужно ли обрабатывать RTS/CTS и другие параметры портаВопрос был адресован специалисту по работе с СОМ портами.
Программы WinConf и WinOffice сами передают некоторые основные параметры настройки при запуске (speed 19200 baud; min = 0; time = 1; cstopb; cread; clocal; ignbrk; noflsh), остальные либо сбрасываются, либо остаются неизменными(используемые спецсимволы и др.).
Все параметры настройки порта, с которыми мне удалось заставить работать программы, приведены во втором посте, но я не рассматривал второстепенные настройки, я их просто отключил, но, возможно, они тоже должны участвовать в корректном процессе обмена данными со станцией. Какие параметры порта использует Windows для работы со станцией?В принципе связка Wine + WinConf_1.19.exe (WinOffice_2.22.exе) работает достаточно корректно для снятия статистики и настройки станции, пока что замечены только 2 проблемы:
1. не работает отслеживание соединений в реальном времени в WinConf
2. Установка текущего времени станции на основе текущего компьютерного порой происходит очень долго в WinConf.
Через некоторое время в этой теме опишу полную процедуру запуска этих приложений под Wine в Linux, если кого-нибудь это ещё заинтересует.
Андрей Рудик
Сообщения: 561
Зарегистрирован: 04 мар 2002, 03:00
Откуда: Санкт-Петербург

Сообщение Андрей Рудик »

Nicom
Через некоторое время в этой теме опишу полную процедуру запуска этих приложений под Wine в Linux, если кого-нибудь это ещё заинтересует.Да, это было бы полезно.
Nicom
Сообщения: 64
Зарегистрирован: 25 июн 2003, 03:00
Откуда: E-burg

Сообщение Nicom »

Ответить