Linux за българи: Форуми

Linux секция за начинаещи => Настройка на хардуер => Темата е започната от: a2k в Nov 11, 2012, 17:46



Титла: Сериен порт
Публикувано от: a2k в Nov 11, 2012, 17:46
Здравейте!Нов съм във форума,а доста начинаещ в Linux като цяло.Инсталирах ubuntu 12.4 , кото ми трябваше за една програма за работа в магазин(програмата е Warehouse open),оправих се и с нея,и сега за да я свържа с касовия апарат(Datecs DP-55) и при опит да се свържат,ми дава грешка в серииния порт /dev/ttyS0.Молбата ми е какво трябва да направя за да направя връзката.Явно трябва да го актовирам този порт но незнам как.Ако може да ми опишете по подробно начина по който трябва да стане това,стъпка по стъпка.Благодаря предварително.


Титла: Re: Сериен порт
Публикувано от: luda_glawa в Nov 11, 2012, 18:14
Объркал си секцията, но все пак ... принципно не би трябвало да имаш проблеми със серийния порт. Много глупав въпрос, но трябва да го задам - Сигурен ли си, че имаш такъв на компютъра? Защото новите машини нямат такъв.


Титла: Re: Сериен порт
Публикувано от: korea60 в Nov 11, 2012, 18:48
Тази програма, ползва ли емулация през wine?


Титла: Re: Сериен порт
Публикувано от: a2k в Nov 11, 2012, 18:56
Съжеляжам за обарканата секция,както казах нов съм.Колкото до порта,да сигурен сам че имам,даже и кабел за свъзване имам с касовия апарат,компютъра ми е врора ръка и е старичък,преди това мисля че пак е ползван в магазин.Той преди си беше с XP ама нали ми трябва Linux за целта,просто трябва да се настроят тия портове.


Титла: Re: Сериен порт
Публикувано от: laskov в Nov 11, 2012, 18:58
Здравей и добре дошъл във форума! Мисля, че ще е най-добре да прегледаш темите във форума на Microinvest Форуми -> Warehouse Open за Linux ($2)


Титла: Re: Сериен порт
Публикувано от: a2k в Nov 11, 2012, 19:02
Ами парво незнам какво е емулация а wine до колкото си помням от прочетеното тия дни е програма за свъзване в общи линии,не съум 100% сигурен но мисля че не трябва.Тази програма е безплатна и е разработвана за работа и инсталаци от по обикноженни хора ,а не от специалисти,от тази глрдна точка разработчиците са се опитали максимално да улеснят инсталацията и работата с нея.


Титла: Re: Сериен порт
Публикувано от: a2k в Nov 11, 2012, 19:06
Ами аз парво там се рових,и един "колега" бешв писал че това са настройки по саното ubuntu,а и тя програмата си работи просто остава само да си комоникират с касовия апарат.


Титла: Re: Сериен порт
Публикувано от: a2k в Nov 11, 2012, 19:11
Само да се коригирам леко,като опитам да се свържа с касовия  ми дава "грешка при отваряне на серийния порт /dev/ttyS0"


Титла: Re: Сериен порт
Публикувано от: Mitaka в Nov 11, 2012, 19:27
За да може да работиш със сериен порт, трябва да добавиш потребителя в група dialout.

Цитат
usermod -a -G dialout username

На мястото на username просто напиши потребителското име, с което работиш.


Титла: Re: Сериен порт
Публикувано от: mystical в Nov 11, 2012, 19:41
Повечето дъна с COM портове в bios-а имат опция за включване и изключване. Увери се, че COM порта е включен.
След това се логваш в конзолата и изпълняваш командата dmesg | grep tty , може да постнеш изхода от командата.
http://www.cyberciti.biz/faq/find-out-linux-serial-ports-with-setserial/ ($2)


Титла: Re: Сериен порт
Публикувано от: a2k в Nov 11, 2012, 20:11
root@test-K7V88:/home/test# usermod -a -G dialout barcod06
usermod: user 'barcod06' does not exist
root@test-K7V88:/home/test#
ето това ми изписва


Титла: Re: Сериен порт
Публикувано от: Mitaka в Nov 11, 2012, 20:13
root@test-K7V88:/home/test# usermod -a -G dialout barcod06
usermod: user 'barcod06' does not exist
root@test-K7V88:/home/test#
ето това ми изписва

Ами значи нямаш потребител с име: barcod06


Титла: Re: Сериен порт
Публикувано от: a2k в Nov 11, 2012, 20:15
Наистина в биоса опцията за серииния порт не беше сктивирана и аз я сложих на 3f8/IRQ4,а на другата опция под нея и дадох 2f8/IRQ3.Незнам дали е пражилно !?


Титла: Re: Сериен порт
Публикувано от: a2k в Nov 11, 2012, 20:18
И аз това разбирам от написаното, но това е името с което сам именувал всичко даже и паролата ми за влизане когато ми я иска е същата.възможно ли е да нямам създаден такъв потребител


Титла: Re: Сериен порт
Публикувано от: a2k в Nov 11, 2012, 21:03
Ако няма да ви затрудня много,направо ми напивете цялата процедура по активирането и настройките на порта,къде,какво и как трява да ми е,за да започна от самото начало и то само ще си покаже каде бъркам и какжо не е направено


Титла: Re: Сериен порт
Публикувано от: Mitaka в Nov 11, 2012, 21:05
Ами щом usermod казва, че няма такъв потребител - значи няма :)

Какво казва:

ls -al /dev/ttyS0

При мен например резултата е този:

Цитат
crw-rw---- 1 root dialout 4, 64 Oct  9 21:17 /dev/ttyS0

Като съвсем дървено решение може да пробваш:

Цитат
chmod 777 /dev/ttyS0



Титла: Re: Сериен порт
Публикувано от: a2k в Nov 11, 2012, 21:09
Повечето дъна с COM портове в bios-а имат опция за включване и изключване. Увери се, че COM порта е включен.
След това се логваш в конзолата и изпълняваш командата dmesg | grep tty , може да постнеш изхода от командата.
http://www.cyberciti.biz/faq/find-out-linux-serial-ports-with-setserial/ ($2)
                                                                                                 Ето това се получи:test@test-K7V88:~$ dmesg | grep tty
[    0.000000] console [tty0] enabled
[    0.276952] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    0.368605] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[    0.410850] 00:0d: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A


Титла: Re: Сериен порт
Публикувано от: a2k в Nov 11, 2012, 21:22
Ами щом usermod казва, че няма такъв потребител - значи няма :)

Какво казва:

ls -al /dev/ttyS0

При мен например резултата е този:

Цитат
crw-rw---- 1 root dialout 4, 64 Oct  9 21:17 /dev/ttyS0

Като съвсем дървено решение може да пробваш:

Цитат
chmod 777 /dev/ttyS0
                                                                                                                                       и при мен е същото:root@test-K7V88:/home/test# ls -al /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 ное 11 19:59 /dev/ttyS0
root@test-K7V88:/home/test#


Титла: Re: Сериен порт
Публикувано от: Mitaka в Nov 12, 2012, 07:32
Вероятно потребителя, с който пускаш програмата няма права за достъп до серийния порт. Дай резултата от:

whoami

Изпълни клмандата с потребителя, с който стартираш програмата.


Титла: Re: Сериен порт
Публикувано от: 10101 в Nov 12, 2012, 10:30
Нещо такова дали не е необходимо?
ln -s /dev/ttyS0 /dev/FP3530 ( името на принтера )


Титла: Re: Сериен порт
Публикувано от: backinblack в Nov 12, 2012, 15:52
На мен все ми се струва, че е от настройките на програмата това! Там в настройките на WO имаше за избиране на модел касов апарат и разни други и като съм го човъркал ми казва, че нямам инсталиран.
Преди доста време се замаявах с един касов апарат с една друга програма, ама не си спомням името и под wine и си ми печаташе апарата без да правя никакви допълнителни настройки за потребители и пр.
Логичния начин на работа и свързване би трябвало да бъде, след като свържеш касовия апарат на ком порта, от настройките на програмата да избереш модел на устройството(от тези които поддържа) и порта! Ако има нещо по-специално, те трябва да си направят някаква инструкция!


Титла: Re: Сериен порт
Публикувано от: Mitaka в Nov 12, 2012, 16:18
Каквито и настройки на програмата да прави - потребителят му няма права за четене/писне от серийния порт!

Цитат
crw-rw---- 1 root dialout 4, 64 Oct  9 21:17 /dev/ttyS0

Ако не я пуска с root, или потребителя му не е добавен в  dialout - няма начин.
Другото е chmod 777 /dev/ttyS0


Титла: Re: Сериен порт
Публикувано от: a2k в Nov 12, 2012, 16:53
Вероятно потребителя, с който пускаш програмата няма права за достъп до серийния порт. Дай резултата от:

whoami

Изпълни клмандата с потребителя, с който стартираш програмата.
                                                                                                             не те разбирам коя команда как точно трябва да я изпълня


Титла: Re: Сериен порт
Публикувано от: a2k в Nov 12, 2012, 17:00
Каквито и настройки на програмата да прави - потребителят му няма права за четене/писне от серийния порт!

Цитат
crw-rw---- 1 root dialout 4, 64 Oct  9 21:17 /dev/ttyS0

Ако не я пуска с root, или потребителя му не е добавен в  dialout - няма начин.
Другото е chmod 777 /dev/ttyS0
                                                                                                            Как трябва да се добави в dialout мисля че такова не съм правил.Как трябва да се добави тоя потребител?


Титла: Re: Сериен порт
Публикувано от: Mitaka в Nov 12, 2012, 17:10
Каквито и настройки на програмата да прави - потребителят му няма права за четене/писне от серийния порт!

Цитат
crw-rw---- 1 root dialout 4, 64 Oct  9 21:17 /dev/ttyS0

Ако не я пуска с root, или потребителя му не е добавен в  dialout - няма начин.
Другото е chmod 777 /dev/ttyS0
                                                                                                            Как трябва да се добави в dialout мисля че такова не съм правил.Как трябва да се добави тоя потребител?

с usermod, в един от по-старите постове написах как.


Титла: Re: Сериен порт
Публикувано от: a2k в Nov 12, 2012, 17:29
Току--що опитахме да свържем апарата с компа и незнам как но се получи,свърза се и си печата касови бележки без проблем.На всички команди които ми писахте до колкото разбирам отговора беше все отрицателен от терминала.Струва ми се че от вчера от настроиките на биоса  те  не бяха актижирани сериините портове да работят ;D [_]3 [_]3 [_]3


Титла: Re: Сериен порт
Публикувано от: a2k в Nov 12, 2012, 21:44
Благодарности на всички съдействието,радвам се че се получиха нещата,само жалко че не можах да разбера  как точно се получиха нещата.Освен че ми трябваше,ми беше и интересни като цяло работата с Linux.Иска ми се да науча повече на него като цяло.Ако може да ми препоръчате нещо за четене ,но с по просто обяснена информация,пък живот и здраве и аз един ден да боравя свободно като вас с терминала и паролите и като цяло.Благодарности още веднъж :D ;)


Титла: Re: Сериен порт
Публикувано от: a2k в Dec 19, 2012, 11:19
Здравейте!С тази парола (chmod o+rw /dev/ttyS0)си активирам серийния порт,но след изключване или рестарт на компа трябва всеки път да влизам в терминала (sudo su)рутвам,и после слагам горната парола.Каква трябва да е паролата за да е отворен постоянно и да не се налага да правя всеки път тази гимнастика,защото компа е по старичък и бавничък и е изнервящо.


Титла: Re: Сериен порт
Публикувано от: neter в Dec 19, 2012, 11:41
Най-лесно е да сложиш командата (това е команда, а не парола) най-отдолу във файла /etc/rc.local, като, ако най-отдолу файлът завършва с ред "exit 0" (или нещо подобно), трябва да сложиш командата преди този ред. Ако нямаш файл /etc/rc.local, вероятно имаш файл /etc/init.d/rc.local, където също може да я сложиш, но ако текущо има нещо в този файл, първо ни го покажи, че в някои дистрибуции напоследък е малко по-сложен :)


Титла: Re: Сериен порт
Публикувано от: a2k в Dec 19, 2012, 11:48
с ubuntu 12.4 decstop съм.Къде точно трябва да е този файл да не се лутам ако може да подскажете


Титла: Re: Сериен порт
Публикувано от: neter в Dec 19, 2012, 12:02
А!? Хмм... ще е добре да се запознаеш с файловата структура в Linux, ако ще работиш с тази операционна система. То важи за всички операционни системи :)
/etc/rc.local означава, че файлът се казва rc.local и се намира в най-горно ниво /, подпапка etc.
/etc/init.d/rc.local означава, че файлът се казва rc.local и се намира в най-горно ниво /, подпапка etc, подпапка init.d.
При това положение явно е редно да отбележа и, че по подразбиране право за писане в тези файлове има само root, така че трябва да ги отваряш за промяна с права на супер потребител. Пример
Цитат
sudo nano /etc/rc.local
при което ще отвориш файла /etc/rc.local с програмата nano с права на супер потребител (sudo).


Титла: Re: Сериен порт
Публикувано от: a2k в Dec 19, 2012, 13:07
В моя случай командата предполагам трябва да е(sudo nano chmod o+rw /dev/ttyS0 /ect/rc.local),ако това което съм написал е вярно,как трябва да го променя.Първо (sudo nano /ect/rc.local) и след като се отвори nano дописвам до горния вариант или направо горният вариант.И другия ми въпрос е като се отвори nano в терминала най-отдолу има едно като легенда пример:(^O запаметяване).Това ^O къде се слага.Ако е отпред предполагам е така(^O chmod o+rw /dev/ttyS0 /ect/rc.local) ??? 


Титла: Re: Сериен порт
Публикувано от: neter в Dec 19, 2012, 13:13
1. Отваряш файла с команда
Цитат
sudo nano /etc/rc.local
2. Дописваш в него нужната ти команда
Цитат
chmod o+rw /dev/ttyS0
3. Запазваш файла, натискайки Ctrl+O и след това Ctrl+X (за да излезеш от редактора), или натискайки направо Ctrl+X, при което то ще те попита да запазиш ли файла, и трябва да се съгласиш с натискане на Y.
^O означава Ctrl+O.


Титла: Re: Сериен порт
Публикувано от: a2k в Dec 19, 2012, 13:32
Изписва ми че няма такъв файл или директория


Титла: Re: Сериен порт
Публикувано от: a2k в Dec 20, 2012, 15:33
бихте ли ми казала къде да прочета как се борави с nano защото го намирам файла в файловата система а в терминала през nano ми изписва че няма такъв файл.Явно в мен е грешката


Титла: Re: Сериен порт
Публикувано от: laskov в Dec 20, 2012, 15:50
Всъщност това, което го нямаш е текстовия редактор nano. Пробвай joe или pico.
... или инсталирай nano


Титла: Re: Сериен порт
Публикувано от: a2k в Dec 21, 2012, 16:38
Имам nano 2.2.6,i pico имам и joe дръпнах и пак ми изписва че няма такъв файл.В едно от запаметяванията отдолу като опции ми излиза M-P ili M-A за запаметяване отпред или отзад,как точно трябва да му я задам тази опция. ???