<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
					xmlns:atom="http://www.w3.org/2005/Atom"
				  >
<channel>
<atom:link rel="self"  type="application/rss+xml"  href="http://rulinux.net/rss_from_sect_4_subsect_9_thread_5395"  />
<title>rulinux.net - Форум - Linux-hardware - [serial]Как побороть hardware input fifo overrun на высоких скоростях?</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Форум - Linux-hardware - [serial]Как побороть hardware input fifo overrun на высоких скоростях?</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Re: [serial]Как побороть hardware input fifo overrun на высоких скоростях?</title>
<link>https://rulinux.net/message.php?newsid=5395&amp;page=1#33898</link>
<guid>https://rulinux.net/message.php?newsid=5395&amp;page=1#33898</guid>
<pubDate>Wed, 09 Dec 2009 05:46:20 +0300</pubDate>
<description><![CDATA[<p>Уже понял, что low latency kernel, fnx. Пока мучаем плату у которой аппаратный fifo больше -- там таких проблем нет.</p>]]></description>
</item>
<item>
<title>Re: [serial]Как побороть hardware input fifo overrun на высоких скоростях?</title>
<link>https://rulinux.net/message.php?newsid=5395&amp;page=1#33897</link>
<guid>https://rulinux.net/message.php?newsid=5395&amp;page=1#33897</guid>
<pubDate>Wed, 09 Dec 2009 03:18:07 +0300</pubDate>
<description><![CDATA[<p>вообще я имел в виду latency самой системы. Вот понадобилось ей в своп наложить, кернел залочился, и прога не успела данные вынуть. Попробуй кстати разные элеваторы.</p>]]></description>
</item>
<item>
<title>Re: [serial]Как побороть hardware input fifo overrun на высоких скоростях?</title>
<link>https://rulinux.net/message.php?newsid=5395&amp;page=1#33896</link>
<guid>https://rulinux.net/message.php?newsid=5395&amp;page=1#33896</guid>
<pubDate>Tue, 08 Dec 2009 09:50:08 +0300</pubDate>
<description><![CDATA[<p><i>>А сделать квитирование передаваемых данных? Тогда при любом проценте сбойных пакетов будет гарантия получения корректных данных.</i><br> fec, Рид-Соломон и иже с ними? На принимающей строне  (x86) это не трудно. Но вот на передающей могут быть проблемы, поскольку там контроллер и асм.</p><p><i>>PS: попробуй на FreeBSD.</i><br> А moxa в ей работает? И потом, насколько мне помнится, там ещё запущенее с планированием ввода-вывода.</p>]]></description>
</item>
<item>
<title>Re: [serial]Как побороть hardware input fifo overrun на высоких скоростях?</title>
<link>https://rulinux.net/message.php?newsid=5395&amp;page=1#33895</link>
<guid>https://rulinux.net/message.php?newsid=5395&amp;page=1#33895</guid>
<pubDate>Tue, 08 Dec 2009 09:46:54 +0300</pubDate>
<description><![CDATA[<p><i>>&gt; Уже делал setserial low_latency.</i><br><i>>setserial вообще устаревшая тулзина и толку от неё никакого.</i><br> И как тогда выставить low latency конкретной железке?</p>]]></description>
</item>
<item>
<title>Re: [serial]Как побороть hardware input fifo overrun на высоких скоростях?</title>
<link>https://rulinux.net/message.php?newsid=5395&amp;page=1#33894</link>
<guid>https://rulinux.net/message.php?newsid=5395&amp;page=1#33894</guid>
<pubDate>Tue, 08 Dec 2009 09:10:20 +0300</pubDate>
<description><![CDATA[<p><i>> Уже делал setserial low_latency.</i><br> setserial вообще устаревшая тулзина и толку от неё никакого. </p>]]></description>
</item>
<item>
<title>Re: [serial]Как побороть hardware input fifo overrun на высоких скоростях?</title>
<link>https://rulinux.net/message.php?newsid=5395&amp;page=1#33893</link>
<guid>https://rulinux.net/message.php?newsid=5395&amp;page=1#33893</guid>
<pubDate>Tue, 08 Dec 2009 08:28:28 +0300</pubDate>
<description><![CDATA[<p>А сделать квитирование передаваемых данных? Тогда при любом проценте сбойных пакетов будет гарантия получения корректных данных.</p><p>PS: попробуй на FreeBSD.</p>]]></description>
</item>
<item>
<title>Re: [serial]Как побороть hardware input fifo overrun на высоких скоростях?</title>
<link>https://rulinux.net/message.php?newsid=5395&amp;page=1#33892</link>
<guid>https://rulinux.net/message.php?newsid=5395&amp;page=1#33892</guid>
<pubDate>Tue, 08 Dec 2009 05:50:17 +0300</pubDate>
<description><![CDATA[<p><i>>Вполне возможно из-за latency.</i><br> Уже делал setserial low_latency. Данные продолжают преподать. </p><p><i>>Сотвори небольшую прогу которая только извлекает данные и более ничего не делает.</i><br> Сваял на коленке простой байтоприниматель (на основе IOLib&#039;а) -- тот же эффект.</p><p><i>>Если потери продолжатся, попробуй realtime kernel.</i><br> Про rtai уже задумывались. Вчера не было времени собрать. Сегодня, по всей видимости, будем пробовать.</p>]]></description>
</item>
<item>
<title>Re: [serial]Как побороть hardware input fifo overrun на высоких скоростях?</title>
<link>https://rulinux.net/message.php?newsid=5395&amp;page=1#33891</link>
<guid>https://rulinux.net/message.php?newsid=5395&amp;page=1#33891</guid>
<pubDate>Tue, 08 Dec 2009 03:02:46 +0300</pubDate>
<description><![CDATA[<p><i>>&gt; пара скученных проводов RS-485</i><br> <i>> может быть загвозд в этом </i><br> вряд ли. overrun кагбэ намекает что данные в железку поступают, но не успевают извлекаться </p>]]></description>
</item>
<item>
<title>Re: [serial]Как побороть hardware input fifo overrun на высоких скоростях?</title>
<link>https://rulinux.net/message.php?newsid=5395&amp;page=1#33890</link>
<guid>https://rulinux.net/message.php?newsid=5395&amp;page=1#33890</guid>
<pubDate>Mon, 07 Dec 2009 22:54:47 +0300</pubDate>
<description><![CDATA[<p>Вполне возможно из-за latency. Сотвори небольшую прогу которая только извлекает данные и более ничего не делает. Если потери продолжатся, попробуй realtime kernel. Если нет - подумай о редизайне способа забора данных проги и должной буферизации ввода. </p>]]></description>
</item>
<item>
<title>Re: [serial]Как побороть hardware input fifo overrun на высоких скоростях?</title>
<link>https://rulinux.net/message.php?newsid=5395&amp;page=1#33889</link>
<guid>https://rulinux.net/message.php?newsid=5395&amp;page=1#33889</guid>
<pubDate>Mon, 07 Dec 2009 19:13:22 +0300</pubDate>
<description><![CDATA[<p><i>>UA как бы намекает на личность анонимуса...</i><br> Посеявшего бумажку с паролем... </p><p> <i>>Ну и да имхо на 30 000 000 байт потеря 1го байта, это не аппаратная проблема, хз где возникают коллизии.</i><br> <i>>&gt;пара скученных проводов RS-485</i><br><i>>может быть загвозд в этом</i><br> Т.е. на 230400 хватает, а на 460800 уже нужны серебряные и прочие сопли девственниц?</p>]]></description>
</item>
<item>
<title>Re: [serial]Как побороть hardware input fifo overrun на высоких скоростях?</title>
<link>https://rulinux.net/message.php?newsid=5395&amp;page=1#33888</link>
<guid>https://rulinux.net/message.php?newsid=5395&amp;page=1#33888</guid>
<pubDate>Mon, 07 Dec 2009 18:46:11 +0300</pubDate>
<description><![CDATA[<p>UA  как бы намекает  на  личность анонимуса...</p><p> Ну и да  имхо  на 30 000 000 байт  потеря  1го байта,   это не аппаратная проблема, хз где возникают коллизии.</p><p> <i>>пара скученных проводов RS-485</i><br>может быть  загвозд  в этом </p>]]></description>
</item>
<item>
<title>[serial]Как побороть hardware input fifo overrun на высоких скоростях?</title>
<link>https://rulinux.net/message.php?newsid=5395&amp;page=1#33887</link>
<guid>https://rulinux.net/message.php?newsid=5395&amp;page=1#33887</guid>
<pubDate>Mon, 07 Dec 2009 18:29:00 +0300</pubDate>
<description><![CDATA[<p>Доброго времени суток.</p><p>Имеется плата последовательных интерфейсов Moxa CP-132, поддерживающая скорости до 921600 бод включительно. Однако уже на скорости 460800 бод начинает наблюдаться потеря данных. В dmesg&#039;е были замечены сообщения про input overrun. Вначале грешил на конфликт по irq, но даже когда из pci слотов вытащенною всё остальное на скорости 921600 бод продолжают преподать байты (простой тест с перегоном cat&#039;ом файла с известным содержимым через /dev/ttyM0). В попытках побороть input fifo overrun залез в сырцы ядрёных драйверов (благо выложены под GPL). Нашёл там параметр: заполнение аппаратного fifo ввода, при котором вызывается перемещение его содержимого в ядрёный буфер. По умолчанию - 14 байт (при 16 байтах собственно аппаратном fifo). Уменьшил до 4&#039;х байт. Возросла нагрузка системы (чаше дёргается железкой), но потери данных почти, но не полностью прекратились, примерно один раз из трёх при пересылке файла ~10 мегабайт на скорости 921600 бод теряется один байт (в остальных случаях файл приходит не повреждённым). Если ещё уменьшить заполняемость аппаратного fifo - до двух байт, то это не даёт вообще никакого эффекта -- процент потерь и загрузка системы такая же, как и при штатном значении в 14 байт. Пробовал втыкать в более шуструю машину: P4 1.8 GHz супротив PIII 1GHz -- не увидел разницы (такой же процент потерь). Модифицированные дрова на более быстром железе пока не пробовал, т.к. не было времени их собрать. </p><p>Вопрос к многоуважаемым all: есть ли кто сталкивался с похожей проблемой, то существует ли способ решения? Аппаратное управление потоком задействовать не могу, так как линия связи -- пара скученных проводов RS-485. Заранее спасибо.</p>]]></description>
</item>
</channel>
</rss>