|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Pavel Vasilyev 2:5020/1042.65 10 Aug 2005 02:06:14 To : Zahar Kiselev Subject : Hу всё таки. Помогите с модемом -------------------------------------------------------------------------------- 09 Авг 05 10:33, Zahar Kiselev -> Pavel Vasilyev: PV>>>> и ещё разогнать I/O отдельно ^split_termios (типа duplex на PV>>>> ассинхронке. ;) PV>> Хе... В модеме видел по ATI6 в конце выводит, что-то типа PV>> 26800/31200 PV>> вот это проц модема рулит, скорости IN/OUT или OUT/IN. PV>> А это на уровне ядра. Грубо говоря, что-то наподобии PV>> двухпроцессорного PV>> компа с разными процессорами. ZK> То есть что - это для установки разной скорости на ввод и на вывод что ZK> ли? Какое оборудование это поймет? И что это даст? Вобщем - пока не ZK> понял. Еб..ыть, поковырялся сегодня в ядре, кроме как #define ASYNC_SPLIT_TERMIOS 0x0008 ничего нет + кучу других дефайнов, которые массивом пихаются в контроллер 8250 и как я понял, под 8250, он флаг/бит ( ДРУЖHО ПЛЮЁМ В МОHИТОР ) *ИГHОРИРУЕТСЯ* (может и нет, но использование в исходника находящихся в каталоге drivers/serial не нашел.). А setserial работает абсолютно так же как и драйвер, только меняет значения по умолчанию и без доступа к железу ;-) (вызовы типа set_baud_rate() и set_uart_type(), и тот самый флаг 0x0008 который так же пихается в set_serial() и в итоге нифига не делает) Может завтра посмотрю доку на 8250 авось чего нарою. Зато для порта под экзотическим названием ETRAX 100LX chip by Axis Communications AB с максимальной скоростью 6250000, есть один if: if ((info->count == 1) && (info->flags & ASYNC_SPLIT_TERMIOS)) { *tty->termios = info->normal_termios; change_speed(info); } Hу понятно, что если стоит ASYNC_SPLIT_TERMIOS, то становимся normal_termios для info и change_speed() устанавливаеся в исходный режим, там это струтура e100_serial, которая тоже как-то в первоначальном виде существует. Кроме этого условия есть н другие которые вызывают change_speed ну например: rs_set_termios() must call change_speed() if c_iflag has changed or * automatic XOFF handling will be enabled and transmitter will stop * if 0x13 is received. change_speed() also initilises XOFF register correctly so that * auto_xoff is enabled when IXON flag is set by user. * This gives fast XOFF response times. В итоге получается, что этот контролер не может или наоборот только и работает в SPLIT режиме (просто лень уж по исходникам лазить) можешь глянуть в linux/drivers/serial/crisv10.c Memento morri Zahar! --- GoldED+ 1.1.5 (Linux 2.6.12-mm2 i686) * Origin: Ща как дам тебе в импичьмент, так в дефолт и уйдешь (2:5020/1042.65) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/456842f974c4.html, оценка из 5, голосов 10
|