LINUX.ORG.RU
ФорумAdmin

скорость порта ttyUSB

 ,


1

1

Добрый день!
OC:Debian 3.16.36-1+deb8u2.
К серверу подключен 3G-модем Huawei E1550, версия прошивки - 11.608.14.15.311
Модем видится как 3 устройства:

/dev/ttyUSB0  /dev/ttyUSB1 /dev/ttyUSB2
Ответ на команду stty -F /dev/ttyUSB1:
speed 9600 baud; line = 0;
Пытаюсь установить скорость командой:
stty -F /dev/ttyUSB1 115200
В ответ получаю:
stty: /dev/ttyUSB1: cannot perform all requested operations
Что нужно сделать, чтобы установить другую скорость порта, отличную от 9600? Спасибо!


Тебе не нужно ничего ставить, ttyUSB если это не usb->uart никак к этой скорости не привязаны.

Dark_SavanT ★★★★★
()

для этого необходимо узнать - поддерживает ли модем другую скорость. И скорее всего необходимо будет выполнить AT команду на модеме, которая переключит его порт на скорость больше чем 9600. Передернуть модем. А после уже думать об увеличении скорости USB порта (виртуального порта)

Vlad-76 ★★★★
()
Ответ на: комментарий от Vlad-76

Скорость нужна только в одном случае, когда на железной стороне у тебя реальный U(S)ART. В остальных случаях типа usb-модемов - это рудимент оставленный для совместимости интерфейсов.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Dark_SavanT

однако некоторые USB модемы работают на скорости 115200 по умолчанию. Конечно - если UARTa нет в модеме то это эмуляция. посмотрел спеку на свой модем - сходу не нашел АТ команды по смене скорости. Возможно скорость зашита жестко в драйвер модема.

Vlad-76 ★★★★
()
Ответ на: комментарий от Vlad-76

подключись с любой другой скоростью. изменений не увидишь.

Ну и тебя не смущает, что ты получаешь 14MBit через 115200 порт?

Dark_SavanT ★★★★★
()
Последнее исправление: Dark_SavanT (всего исправлений: 1)
Ответ на: комментарий от Dark_SavanT

это рудимент оставленный для совместимости интерфейсов.

Да полноте. Какой рудимент? Это типичное забивание гвоздей микроскопом. Типа мы сделаем видимость что у нас есть микроскоп, но вот все крутилки сделаем фальшивыми, вроде крутилка есть, а не крутится. По вашей логике с таким же успехом вы можете назвать рудиментом управление скорости на эзернете.

Ведь технически управление скоростью может пригодиться, скажем если проц свистка не успевает прожевать, он может себя разгрузить и успевать больше, если выставит правильную скорость с какой он может жевать данные, так как буферизация уже ляжет на внешний проц большого брата.

vodz ★★★★★
()
Ответ на: комментарий от vodz

По вашей логике с таким же успехом вы можете назвать рудиментом управление скорости на эзернете.

На eth управление скоростью приводит к вполне конкретным изменениям на физическом уровне. Потому не рудимент.

Ведь технически управление скоростью может пригодиться, скажем если проц свистка не успевает прожевать, он может себя разгрузить и успевать больше, если выставит правильную скорость с какой он может жевать данные, так как буферизация уже ляжет на внешний проц большого брата.

Пока usb-ep не отдаст ACK, ему следующий не отправят. Буферизация и так на хосте происходит. Так что в случае с usb-модемом, это именно рудимент.

Не надо путать с usb-u(s)art, где установка скорости на tty является установкой скорости физического u(s)art.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Dark_SavanT

Пока usb-ep не отдаст ACK, ему следующий не отправят.

Это работает пока вы делаете «ATкороткая комманда», а вот когда льются данные, то уже получаются блоки, и значить производится буферизация и в свистке, а значить просаживаем производительность.

Не надо путать с usb-u(s)art, где установка скорости на tty является установкой скорости физического u(s)art.

В данном случае физика виртуально-эмулированная, и именно благодаря стандартизированному интерфейсу можно было б заюзать крутилку. Вот что точно является рудиментом, это нестандартное управление скоростями больше 115200. Именно по этому и забивают на эту крутилку.

У меня вон синтезатор ямаховский, пока ему свой «драйвер» не написал, который притормаживает обмен по USB, ничего больше килобайта залить на стандартных дровах было нельзя.

vodz ★★★★★
()
Ответ на: комментарий от Dark_SavanT

у меня модем sierra в одном из режимов для передачи пакетов создается другой интерфейс.
• “DIP”—Direct IP interface
• “QMI”—QMI interface

wwan0     Link encap:Ethernet  HWaddr 96:B2:F8:87:0A:07
          BROADCAST NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Конечно этот интерфейс в свою очередь может гонять пакеты через тот же самый /dev/ttyUSB3 (к которому терминалкой цепляешься). но в системе после подключения появляется 5 файлов ttyUSBХ в /dev
Не пробовал на 9600 к модему подключаться, но скорее всего не получиться.

Vlad-76 ★★★★
()
Последнее исправление: Vlad-76 (всего исправлений: 1)
Ответ на: комментарий от vodz

Это работает пока вы делаете «ATкороткая комманда», а вот когда льются данные, то уже получаются блоки, и значить производится буферизация и в свистке, а значить просаживаем производительность.

http://www.beyondlogic.org/usbnutshell/usb4.shtml

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

У меня вон синтезатор ямаховский, пока ему свой «драйвер» не написал, который притормаживает обмен по USB, ничего больше килобайта залить на стандартных дровах было нельзя.

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

А вообще, с наступлением 3G/4G, PPP интерфейс становится сильно ограничивающим в плане скорости. Потому сейчас модемы стараются делать как usb-eth в лучшем случае cdc-wdm, в худшем RNDIS. И работает действительно быстрее.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Dark_SavanT

Для начала почитать сюда

Это мне известно.

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

Они и не могут знать, ибо это usb-midi, какая там железка за midi дрова линукса узнавать в общем случае не обязаны, так как это можно только получить уже по проприетарному протокол-расширению ямахи. Самое смешное, что эта модель шнурка явно прописана в документации в виде рекомендации по покупке видов аксессуаров к синтезатору. Похоже проблема чисто китайская, дооптимизировались, но общая, форумы пестрят ей.

vodz ★★★★★
()
Ответ на: комментарий от Vlad-76

А ты попробуй и увидишь что он отлично откликается и на 9600 и даже пакеты будут ходить примерно с той же скоростью.

А потом сравни с QMI(который умеет modemmanager, если ты к десктопному линуксу цепляешься). В общем случае latency будет ниже и максимальная скорость повыше, но это если БС тебе отдаст достаточно широкий поток.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от vodz

Это мне известно.

Тогда ты пишешь странное.

Похоже проблема чисто китайская, дооптимизировались

Китайцы, особенно не брендовые, очень любят класть с прибором на стандарты и реализацию делать лишь бы дешевле. Так что с ненулевой вероятностью может оказаться, что если взять такой же шнурок но нормального производителя, будет работать. А может не будет и проблема была сразу.

Dark_SavanT ★★★★★
()
Последнее исправление: Dark_SavanT (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.