From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Sergey Vlasov To: mandrake-russian@altlinux.ru Subject: Re: [mdk-re] [JT] Help need Message-Id: <20011003184326.28b1629f.vsu@mivlgu.murom.ru> In-Reply-To: <20011003201710.7c938031.gosha@sendmail.ru> References: <20011003201710.7c938031.gosha@sendmail.ru> X-Mailer: Sylpheed version 0.6.2cvs5 (GTK+ 1.2.10; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Sender: mandrake-russian-admin@altlinux.ru Errors-To: mandrake-russian-admin@altlinux.ru X-BeenThere: mandrake-russian@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: mandrake-russian@altlinux.ru List-Help: List-Post: List-Subscribe: , List-Id: Linux-Mandrake RE / ALT Linux discussion list List-Unsubscribe: , List-Archive: Date: Wed Oct 3 18:33:10 2001 X-Original-Date: Wed, 3 Oct 2001 18:43:26 +0400 Archived-At: List-Archive: List-Post: On Wed, 3 Oct 2001 20:17:10 +0600 Gosha wrote: > Встала такая задачка - нужно сделать доступ с вин-машин к > com-порту, > находящемуся на удаленной Linux-машине. Порылся в и-нете. > Ничего > подходящего не нашел. У нас есть программист, пишущий на С, но > он > никакого отношения к Linux никогда не имел. Но решил > попробовать. > Поглядев исходники того, что я нашел по этой теме (того, что > нас > не устроило), он взялся за дело. > Достаточно быстро была написана соответствующая > программка-демон. > Все вроде бы заработало. Но столкнулись с такой проблемой. > Если из ком-порта принимается текстовый файл, то проблем нет, > а вот если двоичный (по протоколу z-modem), то прием не > происходит > из-за "ошибки во время према пакета" (это z-modem сообщает). > Начали разбираться в чем дело, обнаружили следующее. > Все дело в любом байте, содержащем 0xFF. Т.е. все байты, > имеющие коды > от 0 до 0xFE, проходят без проблем, а вот этот FF почему-то > приходит > в удвоенном количестве. Т.е. если, например, попытаться > принять файл, > содержащий один байт, равный 0xFF, соответсвенно имеющий длину > равную > 1 байту, то из ком-порта, к нашему удивлению, мы получаем 2 > байта, > равных 0xFF. Мы уже два дня голову ломаем, ничего придумать не > можем. Возможно, в настройках termios для порта стоит в c_iflag бит PARMRK; в этом случае действительно принятый 0xFF удваивается.