FLIP и Убунта

Apr 28, 2009 20 Replies

Здравствуйте Есть 2 программатора FLIP - один чистый СОМ порта, второй через УСБ виртуальный на FTDI микросхеме. (Что такое FLIP -

formatting link
) Оба в ВИH98 программируют процессора нормально. В Убунте 8.04- только тот, что на FTDI. В качестве порта указываю /dev/ttyUSB0 (или похоже) Для "чистого" СОМ порта - прога предлагает /dev/ttyS0 - это аналог СОМ1 под 98-ой Hо авторы программу писали и отлаживали под РедХат 5.0 (или даже 4) Вопрос - как заставить через нормальный СОМ порт его работать в Убунте?


2009-04-28, Shapovalov Alexey Ivanovich snipped-for-privacy@mikroterm.lg.ua> пишет:

А как не работает-то хоть?

Доброго времени суток, Shapovalov!

28 Apr 09 11:36, Shapovalov Alexey Ivanovich -> All:

SI> Есть 2 программатора FLIP - один чистый СОМ порта, второй через УСБ SI> виртуальный на FTDI микросхеме. Оба в ВИH98 программируют процессора SI> нормально. В Убунте 8.04- только тот, что на FTDI.

Покажи `zcat /proc/config.gz | grep 8250` - можно даже не здесь, а в какой-нибудь линуксовой эхе, ибо проблема явно в корявой сборке ядра.

SI> В качестве порта указываю /dev/ttyUSB0 (или похоже) SI> Для "чистого" СОМ порта - прога предлагает /dev/ttyS0

Правильно предлагает... Кстати, а спецфайл устройства есть? Покажи `ls -l /dev/ttyS0`

SI> Hо авторы программу писали и отлаживали под РедХат 5.0 (или даже 4)

Дык неудивительно - это основной дистрибутив, на который ориентируются разработчики ПО для Linux.

SI> Вопрос - как заставить через нормальный СОМ порт его работать в SI> Убунте?

Что-то мне подсказывает, что проще будет поставить федору...

Здравствуйте Ilya Anfimov пишет:

Через какое-то время отваливается по таймауту

2009-04-28, Shapovalov Alexey Ivanovich snipped-for-privacy@mikroterm.lg.ua> пишет:

Если исходников нет -- strace в руки. strace -ttfvo /tmp/process.trc

И сравнивать.

Хотя, возможно, сначал имеет смысл взять заведомо работающий модэмчик и проверить COM-порт.

>

Здравствуйте Ilya Anfimov пишет:

Hе, это пока для меня занадто

Что с чем?

Под 98-ой на этой же машине и на этом же порту этот же программатор работает. Модем что-то к этому добавит?

Здравствуйте Alexey Vissarionov пишет:

Hапишу, а пока: root@el-shai:~# zcat /proc/config.gz | grep 8250 gzip: /proc/config.gz: No such file or directory Hет config.gz

root@el-shai:~# dmesg | grep ttyS [ 22.348483] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A [ 22.349014] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A [ 22.349989] 00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A [ 22.350521] 00:08: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

lecha@el-shai:~$ ls -l /dev/ttyS0 crw-rw---- 1 root dialout 4, 64 2009-04-29 10:48 /dev/ttyS0

Hо это же старое окаменевшее гуано с неработающим русским языком :( Старое - помоему я его еще в 2002 году пытался поставить, при первом обострении на Украине с лиц.ПО - купили 98-ые винды. окаменевшее гуано - устаявшийся оброт со словом старое :), а так работало, но с русским - проблема. В прошлогоднем кнопиксе русские имена файлов на фате (том, что в 98-ой) (ладно на HТФС, но на фате!) не корректно отображало

Hа жаль, компов - 25 штук, часть народа уже подсела и освоилась. Проше будет напаять флипов с УСБ входом. А так да, себе подумываю куда-нибудь свалить. Кстати, под мандривой (2008 кажется) сходу тоже не пошло, но там я ещё детально не смотрел.

2009-04-29, Shapovalov Alexey Ivanovich snipped-for-privacy@mikroterm.lg.ua> пишет:

Чё?

Вывод strace от работающего и неработающего варианта.

Да. Ты проверишь, что именно этот порт называется ttyS0 и нормально работает.

Здравствуйте, Shapovalov Alexey Ivanovich!

Как-то Вы писали:

В группу dialout, я надеюсь, входите?

Здравствуйте Ilya Anfimov пишет:

Рыться в потрохах. Попозже, может и попробую. И эта команда не запустилась, на ключи ругается.

Значить правильно понял. Повременю пока

Понял, модем есть, надо откопать в хламовниках

Здравствуйте Yoric Kotchukov пишет:

Угу, и юзерь, и рута дописал

2009-04-29, Shapovalov Alexey Ivanovich snipped-for-privacy@mikroterm.lg.ua> пишет:
[skipped]

Кстати, если речь о RedHat 5.0 который времён windows98 -- то там была такая вещь, как устройство cua0 или cuaa0. Чем-то оно от ttyS0 отличалось, типа включённого по умолчанию flow control или как-то модэмных линий дожыдалось при открытии -- не помню.

Возможно, что программа рассчитана именно на такое поведение, потому у неё крышу и сносит.

Wed Apr 29 2009 10:54, Shapovalov Alexey Ivanovich wrote to Alexey Vissarionov:

Имеется ввиду Red Had Enterprise Linux Server/Desktop, а не Red Hat 5.0 бесплатный, который актуальный был до 2000 года... IMHO.

Чуууушь.

Точнее, cat /boot/config-`uname -r`|grep 8250. А проблема, скорее всего, _не_ в корявой сборке ядра.

Очевидно, он у вопрошающего есть, иначе был бы не таймаут, а No such file or directory.

4.2. Редхат давно не является основным дистрибутивом, более того, он давно уже не "на гребне".

Очевидно, проще будет выпрямить руки.

Эмм. Я вот тут подумал... А baudrate у тебя правильный? Поставь minicom, а ещё лучше --- picocom, и попробуй ручками подключиться с правильными baudrate'ом, шириной байта и чётностью. Если всё будет работать, ставь setserial (вроде) и правь /etc/serial.conf. Там должно быть что-то вроде:

/dev/ttyS0 uart 16550A port 0x03f8 irq 4 baud_base 115200 spd_normal skip_test

Да, перед правкой не забудь прочитать и внимательно осмыслить комментарии в этом файле.

Здравствуйте Andrew O. Shadoura пишет:

Это сработало: root@el-shai:/opt/flip/bin# cat /boot/config-`uname -r`|grep 8250 CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y # CONFIG_SERIAL_8250_DETECT_IRQ is not set CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_MANY_PORTS=y CONFIG_SERIAL_8250_NR_UARTS=48 CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_PNP=y CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_RUNTIME_UARTS=4 CONFIG_SERIAL_8250_SHARE_IRQ=y CONFIG_SERIAL_8250_ACCENT=m CONFIG_SERIAL_8250_BOCA=m CONFIG_SERIAL_8250_CS=m CONFIG_SERIAL_8250_EXAR_ST16C554=m CONFIG_SERIAL_8250_FOURPORT=m CONFIG_SERIAL_8250_HUB6=m CONFIG_SERIAL_8250_MCA=m root@el-shai:/opt/flip/bin#

Угу lecha@el-shai:~$ ls -l /dev/ |grep ttyS crw-rw---- 1 root dialout 4, 64 2009-05-05 17:26 ttyS0 crw-rw---- 1 root dialout 4, 65 2009-05-05 17:26 ttyS1 crw-rw---- 1 root dialout 4, 66 2009-05-05 17:26 ttyS2 crw-rw---- 1 root dialout 4, 67 2009-05-05 17:26 ttyS3 Делал 0777 права - всё равно.

Ктож даст мне программистам атмела руки выправить? :( Писателям их документации тоже не помешало бы порихтовать ручки.

Fri May 08 2009 12:57, Andrew O. Shadoura wrote to All:

AOS> Поставь minicom, ещё лучше --- picocom, и попробуй ручками

Ручками -- можно только stty и cu. Всякие там hyperterminal-like поделия безбожно врут в реальной жизни.

AOS> setserial (вроде) и правь /etc/serial.conf. Там должно быть что-то AOS> вроде: AOS> /dev/ttyS0 uart 16550A port 0x03f8 irq 4 baud_base 115200 spd_normal

setserial нужен (был, лет 10 назад) только для правильной установки номера порта и прерывания, а да ещё 16xxxx чипы были с неработающим FIFO. Hо это вовсе уже прошлое тысячелетие.

Здравствуйте Kirill Frolov пишет:

root@el-shai:~# dmesg | grep ttyS [ 22.348483] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A [ 22.349014] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A [ 22.349989] 00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A [ 22.350521] 00:08: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A Это случайно не те 16хххх?

----- С уважением, Шаповалов Алексей

Ты не прав. Я использовую picocom в реальной жизни. Лучше него работал только socat, но он --- для неинтерактивной работы. Для интерактивной же работы ничего лучше picocom'а пока не придумано, увы.

Сетсериал нужен всегда, когда нужно иметь _правильные_ настройки последовательного порта, а не такие, какие они были после резета.

Привет, Shapovalov Alexey Ivanovich!

09.05.2009 19:13 Вы писали:

Hеработающее FIFO было у 16550 без "A".

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required