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

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: laskov в Oct 10, 2014, 11:25



Титла: RS232 и Slackware64 14.1
Публикувано от: laskov в Oct 10, 2014, 11:25
Опитвам се да печатам на принтер Datecs EP-50H.

Проблемът ми е софтуерен - някаква настройка така променя изпращаните данни, че се получава junk.

Дънна платка Asus P5B. Не е окомплектована с кабелче и куплунг. Намерих си такова и след измервания с уред реших, че е това, което ми трябва.
След доста неуспешни експерименти със съмнения в правилната скорост на комуникация, започнах разследване на серийния порт. Направих си сериен laplink кабел и закачих друг компютър като конзола към /dev/ttyS0. Оказа се, че данните в едната посока са както трябва - успявам да се логна и да изпълнявам команди. В обратната посока обаче е зле - това, което виждам на конзолата като промпт и изход от командите е junk. В локалната конзола всичко си е както трябва.
Заредих от живо CD - работи при каквито си искам скорости. Зареждам от диска - не работи. Имах параметър към ядрото vt.default_utf8=1, който направих на vt.default_utf8=0 - няма разлика.

Какво може да е?


Титла: Re: RS232
Публикувано от: go_fire в Oct 10, 2014, 11:39
Ласков, тази тема, хич, ама хич не е за начинаещи. Някои хора тук може и да не са били родени преди да се помине кома ;) Проблема си го открил. Това е синхронизацията на скоростите. Може да се изнесе лекция, защо това е така от някой електрончик (на мен са ми изнасяли). А проблемът с гарантиране на скоростта е стар. Тия дето се занимават с SoC и до ден днешен непрестанно се натъкват на него. За съжаление, не мога да ти помогна, защото и аз не го разбирам достатъчно. Хубавото е, че наоколо се навъртат хора като Наката и Ремотех. Те със сигурност ще имат насоките. Успех!


Титла: Re: RS232
Публикувано от: laskov в Oct 10, 2014, 11:51
Може би трябваше да добавя това:
Цитат
# stty -F /dev/ttyS0
speed 9600 baud; line = 0;
min = 1; time = 0;
-brkint -icrnl -imaxbel
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke


Титла: Re: RS232
Публикувано от: remotexx в Oct 11, 2014, 01:35
А аз не съм спец по тва.. ние обик казваме че тва е хардуерен проблем  и не ни касае... също като завинтването но крушка и т.п.
Аз не разбрах няколко основни неща тука
1. Под каква ОС
2. В коя посока работи и в коя не / Комп. -> принтер или обратно
3. Няма букса а е с кабелче - да подразбираме ли т.нар. преходник УСБ-Ком.порт?
Често преходниците са калпави а може и до драйвер да е - щом от жив диск бачка може би по-добре разпознава чипа на преобразувателчето
4. 9600 добре ами останалите настройки там - четност, корекция на грешки
Т.е. 7N1 8N0
Т.е. ти го чакаш 8 бита ама то може и да не е
Ами ако е 7 какво правим
en.m.wikipedia.org/wiki/8-N-1

www.microchip.com/forums/m/tm.aspx?m=480296&p=1

А може и да му е бинарен протокола..


Титла: Re: RS232
Публикувано от: BRADATA в Oct 11, 2014, 07:16
Потърси от някой усб-рс232 с чип на FTDI. Ако всичко там е наред значи на дъното имаш проблем с порта.


Титла: Re: RS232
Публикувано от: laskov в Oct 11, 2014, 08:56
Аз не разбрах няколко основни неща тука
1. Под каква ОС
Slackware64 14.1
Цитат
2. В коя посока работи и в коя не / Комп. -> принтер или обратно
Комп. -> принтер не работи. То ако работеше, аз нямаше да се оплаквам :) Когато ползвам порта като RS323 конзола мога да се логна и да изпълнявам команди, но не виждам изхода - виждам щуротии
Цитат
3. Няма букса а е с кабелче - да подразбираме ли т.нар. преходник УСБ-Ком.порт?
Става дума за порта на дънната платка.
Цитат
щом от жив диск бачка може би по-добре разпознава чипа на преобразувателчето
Като заредя от инсталационния диск (DVD) всичко работи - и конзолата, и печатането на принтера. Като заредя инсталираната система - не работи нито конзолата, нито печатането.
Цитат
4. 9600 добре ами останалите настройки там - четност, корекция на грешки
Т.е. 7N1 8N0
Т.е. ти го чакаш 8 бита ама то може и да не е
От програмата за печатане ги настройвам на 115200 (и други скорости) 8N1. После със stty виждам, че скоростта е такава, каквато съм задал, но останалото не знам как да го видя.
Цитат
А може и да му е бинарен протокола..
Не е.
Потърси от някой усб-рс232 с чип на FTDI. Ако всичко там е наред значи на дъното имаш проблем с порта.
Портът като хардуер работи.
Като заредя от инсталационния диск (DVD) всичко работи - и конзолата, и печатането на принтера. Като заредя инсталираната система - не работи нито конзолата, нито печатането.


Титла: Re: RS232
Публикувано от: runtime в Oct 11, 2014, 11:42
Според мен някъде я бъркаш по настройките на скороста, дейта битовете, стоп битовете или парити-то... Въпреки, че ако ти идват някакви данни то скоростта би следвало да си я уцелил :)

Защо не пробваш за спорта с cutecom да речем...


Титла: Re: RS232
Публикувано от: laskov в Oct 11, 2014, 11:51
Защо не пробваш за спорта с cutecom да речем...
Пробвах с minicom от едната страна и putty (и хипертерминал) от другата. Ако заредя SystemRescueCD на въпросния компютър, работи при всякакви скорости. Ако заредя инсталирания Slackware, само приеманите от въпросния комп. данни се виждат нормално. На другия комп. се получава junk.


Титла: Re: RS232
Публикувано от: jet в Oct 11, 2014, 15:04
някакъв handshake има ли XON/XOFF, хардуерен?


Титла: Re: RS232
Публикувано от: laskov в Oct 11, 2014, 21:28
Хардуерен. Ама то няма такъв голям обмен на данни, за да се задейства. Само промпта да се прати не са повече от 50 байта, но и той не се появява коректно. Поне първите му байтове да бяха коректни, ама не.


Титла: Re: RS232
Публикувано от: 4096bits в Oct 11, 2014, 22:13
Aз пък имам наличен един Psion 5 дето е с такъв кабел и се чудя, дали да му търся изобщо
 


Титла: Re: RS232
Публикувано от: laskov в Oct 13, 2014, 11:04
Заобиколих временно проблема:
1. Зареждам от инсталационното DVD
2. Монтирам файловата система на твърдия диск
3. chroot
4. стартирам необходимите услуги


Титла: Re: RS232 и Slackware64 14.1
Публикувано от: laskov в Jan 06, 2015, 10:20
Това нещо отново дойде на дневен ред. След като не можах да открия причинителя, реших да действам като слон в стъкларски магазин и след
# chmod -x /etc/rc.d/rc.serial
# sync
# reboot

серийният порт заработи. Мисля да го оставя така докато не срещна проблем.
(Понеже е само за Slackware, преименувах темата.)

PS: Възможно е да се окаже, че аз съм създал проблема при прекомпилиране на ядро и модули или (по-малко вероятно) от повреден диск. На чиста инсталация си работи нормално.