Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | | | | |
У знакомого одного была прога под 98-е, но он ее потерял и... 12.03.04 22:16 Число просмотров: 1761
Автор: Sandia Статус: Незарегистрированный пользователь
|
У знакомого одного была прога под 98-е, но он ее потерял и название не помнит .. вот и хочется найти что-то подобное для ХР .. а вдруг кто-то да сделал ..
|
<hardware>
|
Один комп и два модема кто-нить пробовал ? 10.03.04 23:05
Автор: Sandia Статус: Незарегистрированный пользователь
|
Есть два варианта пользования инетом :
1. обычный модем и диалап
2. мобильник с GPRS
кто-то пробовал использовать одновременно оба соединения ?
|
|
А что, собственно, смущает? 10.03.04 23:40
Автор: JINN <Sergey> Статус: Elderman
|
|
| |
Но как ? 11.03.04 01:15
Автор: Sandia Статус: Незарегистрированный пользователь
|
Стандартными средствами ХР этого не сделать.
Есть ли проги какие .. вот что интересует ..
|
| | |
гхм 11.03.04 01:34
Автор: Killer{R} <Dmitry> Статус: Elderman
|
> Стандартными средствами ХР этого не сделать. > Есть ли проги какие .. вот что интересует .. а чем эти стандартные средства ХР мешают вставить в системник еще один модем, подключить к нему еще одну линию, установить в системе еще одни дрова для него (особенности реализации дров для винмодемов рассматривать не буду, там всякие глюки бывают). Ксттаи чтоб аппаратные модемы могли работать одновременно на современных нужно чтоб они не висели на одном IRQ (те варианты COM1+COM3 и COM2+COM4 не совместимы.
|
| | | |
Почему? 11.03.04 14:17
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
|
> всякие глюки бывают). Ксттаи чтоб аппаратные модемы могли > работать одновременно на современных нужно чтоб они не > висели на одном IRQ (те варианты COM1+COM3 и COM2+COM4 не > совместимы. Почему? Что мешает? Кривые руки программистов? Так Микрософтовцы заявили?
|
| | | | |
не знаю 11.03.04 16:18
Автор: Killer{R} <Dmitry> Статус: Elderman
|
> > всякие глюки бывают). Ксттаи чтоб аппаратные модемы > могли > > работать одновременно на современных нужно чтоб они не > > висели на одном IRQ (те варианты COM1+COM3 и COM2+COM4 > не > > совместимы. > Почему? Что мешает? Кривые руки программистов? Так > Микрософтовцы заявили?
сколько не подключал аппаратных модемов на один порт толком ничего не работало. Те в то время когда открыт например COM1 c COM3 который висит на том же irq работать невозможно - те порт открывается но передача данных тормозит до невозможности. Было и под 9х и под 2к.
|
| | | | | |
Я вроде как знаю ;-) 12.03.04 15:56
Автор: HandleX <Александр М.> Статус: The Elderman
|
Когда два порта сидят на одном прерывани, система не может определить, сколько и от какого устройства пришло прерывание, если их активировали два устройства одновременно. Вот контроллер прерываний можно настроить на два метода работы с линиями прерываний — LEVEL и EDGE. Первый метод (самый старый) работает по уровню — т.е. если он активен, то прерывание пришло. Теперь представим, что в этот момент другое устройство, которое "сидит" на этой линии IRQ, тоже хочет поднять прерывание. Но обламывается, т.е. оно думает, что оно его подняло, но на самом деле оно не будет "замечено" системой, поскольку уровень линии IRQ уже был активен. А второй тип (EDGE) работает по изменению уровня. Т.е. если устройство хочет поднять прерывание, оно инвертирует состояние линии, это замечается контроллером прерываний на 100%.
Короче шина ISA использует использует тип прерываний LEVEL, и, соответственно, контроллеры com-портов, будучи на этой шине, глючат, если пытаться использовать одновременно два com-порта на одном прерывании.
|
| | | | | | |
Re: Я вроде как знаю ;-) 06.04.04 17:01
Автор: leo <Леонид Юрьев> Статус: Elderman
|
> Короче шина ISA использует использует тип прерываний LEVEL, > и, соответственно, контроллеры com-портов, будучи на этой > шине, глючат, если пытаться использовать одновременно два > com-порта на одном прерывании.
Наоборот, на ISA по фронту, на PCI по уровню. Но при большом желании можно перепрограммировать.
|
| | | | | | |
Позвольте с Вами не согласиться. 15.03.04 11:17
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman Отредактировано 15.03.04 11:22 Количество правок: 1
|
У меня мышка и модем сидели на одном прерывании (СОМ1 - мышка, СОМ3 - модем, поскольку СОМ2 тоже как-то использовался или отключать не хотелось). Естественно все не работало. Посадил модем на СОМ4 - заработало.
Меня очень поначалу удивила неработоспособность СОМ1+СОМ3. Причем не работало оно в Виндовсе и в ДОСе (драйвер мышки + терминалка). Вроде как разные терминалки пробовал и разные драйвера мышки. Ну я бы понял, когда каждый из обработчиков терял бы свои прерывания/байты. Там же был такой развал! Под ДОСом я имею в виду. У меня сложилось впечатление, что просто хреново написаны обработчики. Не учтено, что на одном прерывании может висеть несколько устройств (что изначально было запрещено разработчиками ИСА шины). Однако одновременность работы нескольких устройств на одном прерывании имеет место быть. Путаница с СОМ портами решается легко - у них есть регистрик, при помощи которого можно определить в обработчике прерывания, было ли оно от этого порта, которое обрабатывает этот обработчик, или от другого устройства. Просто в обработчике надо посмотреть на этот битик и соответственно либо сделать что нужно и завершить обработку, либо передать управление на тот вектор прерывания, который был до того, как этот новый обработчик сел на это прерывание.
Потом, помнится, попробовал под Линуксом - все работало. А я уж начал бояться, что "железо" кривое, раз уж ни в Виндовсе ни в ДОСе не работает.
> Когда два порта сидят на одном прерывани, система не может > определить, сколько и от какого устройства пришло > прерывание, если их активировали два устройства Для СОМ портов точно можно!
> одновременно. Вот контроллер прерываний можно настроить на > два метода работы с линиями прерываний — LEVEL и EDGE. > Первый метод (самый старый) работает по уровню — т.е. если > он активен, то прерывание пришло. Теперь представим, что в > этот момент другое устройство, которое "сидит" на этой > линии IRQ, тоже хочет поднять прерывание. Но обламывается, > т.е. оно думает, что оно его подняло, но на самом деле оно > не будет "замечено" системой, поскольку уровень линии IRQ > уже был активен. А второй тип (EDGE) работает по изменению > уровня. Т.е. если устройство хочет поднять прерывание, оно > инвертирует состояние линии, это замечается контроллером > прерываний на 100%.
Это что же, при срабатывании по фронту, по-Вашему - объединены два логических выхода, причем когда один выставляет логическую единицу (высокий уровень), второй выставляет низкий уровень или наоборот. Причем вророе устройство "побеждает" в борьбе?
> Короче шина ISA использует использует тип прерываний LEVEL, > и, соответственно, контроллеры com-портов, будучи на этой > шине, глючат, если пытаться использовать одновременно два > com-порта на одном прерывании.
|
| | | | | | | |
А вот пусть leo прокомментирует, он вроде как крутой developer по ком-устройствам ;-) 15.03.04 11:26
Автор: HandleX <Александр М.> Статус: The Elderman
|
|
| | | | | | | | |
Комментирую... 06.04.04 16:43
Автор: leo <Леонид Юрьев> Статус: Elderman Отредактировано 06.04.04 17:10 Количество правок: 2
|
Комментирую, с запозданием (только вот заметил), но может еще пригодиться.
1)
На ISA-шиненельзяпосадить дваразныхISA-устройства на одно IRQ по электрическим "причинам".
Если все-же это сделать, то при первом-же прерывании будет ситуация когда TTL-выход с логическим '0' будет соединен с другим TTL-выходом с логическим '1'. Сигналы как минимум "задавятся", и в худшем случае TTL-вентиль устройства выставившего прерывания (лог 0) может перегореть. Хотя иногда "задавленного" уровня может хватить для срабатывания триггера на контроллере шины/прерываний, и тогда все может работать и даже "предсказывать" погоду :).
Реально обычно ничего не горит, но и не работает.
2)
Некоторые мультипортовые ISA-платы могут соединяться между собой специальным шлейфом, при этом обеспечивается синхронность изменения TTL-уровня на IRQ. Т.е. все соединенные платы выставляют IRQ одновременно и синхронно.
3)
Некоторые IO-контроллеры (ISA-карты на борту которых COM-порты, LPT, возможно IDE и т.д.) имеют логику "объединения" IRQ между своими устройствами, и поэтому, при наличии нормальных драйверов такие COM-порты могут работать на одном IRQ.
4)
Интегральные IO-чипсеты (все в одном чипе), как для ISA, так и для PCI, либо имеют логику объединения IRQ, либо не допускают установку одного IRQ для своих устройств. Но не все из чипов имеют "на борту" интерфейс к шине компьютера и при этом могут выдавать IRQ от каждого устройства на отдельном выводе.
5)
Внутренности плюшевых Win95/98/Me я знаю очень плохо, могу только предположить что WDM (98, Me) работает примерно также как Win2K/XP.
Win2K/XP не позволяет драйверам штатно разделать IRQ для ISA-устройств. Но можно сказать, что если системе "известно", что эти устройства "дружат" по IRQ между собой, и если их драйвера "захотят" разделать IRQ, то все будет работать. На самом деле все несколько сложнее, может быть несколько шин ISA, несколько шин PCI, и несколько процессоров... В конечном счете все будет решаться арбитром шины + HAL и драйверами.
Мой драйвер (SerialXp.sys) может работать в режиме разделения IRQ для ISA, системный Serial.sys тоже может, но его часто просто невозможно заставить это сделать. И конечно, независимо от драйвера, разделение IRQ на ISA должно не вызывать конфликтов на аппаратном уровне.
6)
В Windows для устройств предусмотрена возможность "псевдо"-разделения IRQ. При этом логическое подключение к IRQ производиться только при задействовании устройства (открытии handle к COM-порту), соответственно в каждый момент времени только одно из устройств разделяющих IRQ может быть активно. На аппаратном уровне это должно поддерживаться динамическим отключением/подключением устройств от/к линии IRQ (например через ISA-PNP).
7)
Вот еще забыл написать. На ISA-шине прерывание фиксируется контроллером прерываний по фронту (но можно перепрограммировать). Поэтому, перед выходом из обработчика прерываний и перед подачей контролеру команды "End Of Interrupt" (mov al, 20h; out al, 20h) необходимо убедиться, что с момента фиксации прерывания (TTL_IRQ 1->0) был момент (такт) когда линия IRQ была неактивна (TTL_IRQ = 1), иначе контроллер больше "не заметит" новых прерываний. Это также затрудняет разделение IRQ на ISA между разными устройствами, которые обслуживаются разными драйверами.
Ну прямо FAQ получилось :-)
Удачи!
SerialXp.sys
|
| | | |
Опять меня не поняли 11.03.04 08:38
Автор: Sandia Статус: Незарегистрированный пользователь
|
Похоже меня никак не поймут.
Оба тех модема прекрасно работают оба, но не одновременно !!!
Я бы хотел их использовать именно ОДНОВРЕМЕННО, чтобы инет был в два канала, от двух провайдеров одновременно .
Надеюсь теперь понятна суть вопроса.
|
| | | | |
фича эта называется PPP multilink support 12.03.04 14:39
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
|
использование двух каналов как один, с распределением нагрузки
к сожалению как решается данная проблема для win систем не знаю
но вот что по запросу (ppp multilink support winxp) говорит гугля:
http://homepage.macomb.com/support/connections/multilink/winXP/
|
| | | | | |
У знакомого одного была прога под 98-е, но он ее потерял и... 12.03.04 22:16
Автор: Sandia Статус: Незарегистрированный пользователь
|
У знакомого одного была прога под 98-е, но он ее потерял и название не помнит .. вот и хочется найти что-то подобное для ХР .. а вдруг кто-то да сделал ..
|
| | | | | | |
линк смотрел? 15.03.04 12:20
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
|
там же расписывалось как сделать это под XP и никакие проги не нужны
|
| | | | | | | |
смотрел 16.03.04 00:58
Автор: Sandia Статус: Незарегистрированный пользователь
|
Я же говорю .. два РАЗНЫХ провайдера и два СОВЕРШЕННО РАЗНЫХ способа подключения ..
как там написано я уже давно пробовал ..
мне нужно двух РАЗНЫХ провайдеров в один поток слить ..
|
| | | | |
А протокольчики у модемов какие? Если V90 то никак 11.03.04 10:46
Автор: jiZo <Александр> Статус: Member
|
|
| | | | | |
Ну , а если отключить V90, тогда как и чем ? 11.03.04 22:06
Автор: Sandia Статус: Незарегистрированный пользователь
|
|
| | | | | | |
Что ты имеешь в виду, говоря отключить... 12.03.04 10:42
Автор: jiZo <Александр> Статус: Member
|
Такое подключение (какое ты имеешь в виду) поддерживается модемами с V92 протоколами (точнее протокол поддерживает работу с нескольких модемов), но эти модемы не дешевые (хотя в зависимости от твоей зарплаты :) ). Правда я сам такого подключения не делал.
На сколько я знаю в ХР заложена возможность распаралеливания потока. Но, тебе нужно будет 2 модема, 2 линии + провайдер, разрешающий многократный вход на модемный пул под одним и тем-же именем и паролем, а где ты такого найдешь, тем более, что у тебя один через GPRS.
|
| | | | | | | |
Именно , что нужно двух разных провов объединить .. про два... 12.03.04 22:13
Автор: Sandia Статус: Незарегистрированный пользователь
|
> На сколько я знаю в ХР заложена возможность > распаралеливания потока. Но, тебе нужно будет 2 модема, 2 > линии + провайдер, разрешающий многократный вход на > модемный пул под одним и тем-же именем и паролем, а где ты > такого найдешь, тем более, что у тебя один через GPRS.
Именно , что нужно двух разных провов объединить .. про два захода на одного и того же прова я знаю как и чем , пробовал уже(это сама ХР позволяет делать), а вот на двух разных одновременно и их потоки объединить.
|
|
|