Linux настройка скорости порта

set baud speed for tty

But get the error Invalid argument for every speed I try (2400, 4800, etc.) except 9600 (the default). I can successfully change the speed in a C program using cfsetspeed . Do I need to make a change somewhere else, like the ttys file?

well actually a jailbroken ipod touch, basically the same. (iap is ipod access protocol.) I figured this question would fit here better than the apple stackexchange site. It is a Unix/Linux question, have the same problem on my mac.

@Keith, then I don’t get an error message, but I run stty -F /dev/tty.iap to get details, it still says speed 9600 baud; .

1) «I can successfully change the speed in a C program using cfsetspeed» — have you verified it with stty then? 2) «like the ttys file?» ­— what ttys file exactly? 🙂

4 Answers 4

I use the command stty -F /dev/ttyUSB0 9600 .

Perfect. Now I can echo commands out over serial, at the correct baud rate, as follows: echo -ne ‘my message to send over serial\n’ > /dev/ttyUSB0

I use screen for this purpose

I think the goal here is to set the baud rate for the device so you can then echo commands straight over serial. Ex: echo -ne ‘my message to send over serial\n’ > /dev/ttyUSB0 . I think screen is great too, but @Kotte has the correct answer on how to do what is being asked.

Yes, Kotte has correct answer for the question. Still often the problem is not just in baud rate, but also in other parameters. In my case setting baud rate with stty was not enough, but screen /dev/ttyUSB0 115200 has automagically configured all parameters and it just worked.

This may be a permissions issue.

/dev/ttyUSB0 is an IO port, to avoid using sudo or root you should add your user to the group which owns the device. You can check that with, e.g.

$ ls /dev/ttyS0 crw-rw---- 1 root dialout 4, 64 Mar 29 09:12 /dev/ttyS0 

the file will look like this:

enter image description here

enter image description here

look for dialout group and add you username at the end, then logout/login from your session or reboot.

On my machine, neither stty -F /dev/ttyUSB0 9600 or screen /dev/ttyUSB0 9600 worked for me, but sudo stty speed 9600 was successful.

You must log in to answer this question.

Linked

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.7.13.43531

Linux is a registered trademark of Linus Torvalds. UNIX is a registered trademark of The Open Group.
This site is not affiliated with Linus Torvalds or The Open Group in any way.

Читайте также:  Linux alias with arguments

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Источник

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

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

/dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 
stty: /dev/ttyUSB1: cannot perform all requested operations 

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

Как тогда узнать реальную скорость на этом порту?

Сколько пролезло через USB столько и будет.

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

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

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

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

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

Dark_SavanT ★★★★★ ( 27.04.17 14:56:30 MSK )
Последнее исправление: Dark_SavanT 27.04.17 14:57:10 MSK (всего исправлений: 1)

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Запустить графическую оболочку линукс

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

у меня модем 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 ★★★★ ( 27.04.17 15:41:41 MSK )
Последнее исправление: Vlad-76 27.04.17 15:47:52 MSK (всего исправлений: 1)

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Linux использовать все ядра процессора

Dark_SavanT ★★★★★ ( 27.04.17 16:27:56 MSK )
Последнее исправление: Dark_SavanT 27.04.17 16:28:13 MSK (всего исправлений: 1)

Источник

unixforum.org

Настройка СОМ порта (решено) (надо подключить девайс)

Проктолог Сообщения: 99 ОС: Ubuntu 8.04, FreeBSD 6.2 Контактная информация:

Настройка СОМ порта (решено)

Сообщение Проктолог » 14.05.2008 21:19

Добрый день, коллеги. Нужно настройть СОМ-порт (/dev/ttyS0) на скорость 4800 бод. Хочу подключить GPS навигатор и послушать что он по NMEA протоколу вещает. В оффтопике из-под Putty выдает.

Проктолог Сообщения: 99 ОС: Ubuntu 8.04, FreeBSD 6.2 Контактная информация:

Re: Настройка СОМ порта (решено)

Сообщение Проктолог » 15.05.2008 15:17

setserial /dev/ttyS0 -a /dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4 Baud_base: 9600, close_delay: 50, divisor: 0 closing_wait: 3000

setserial /dev/ttyS0 baud_base 4800 — не катит. Выдает Cannot set serial info: Invalid argument
Putty из-под wine — выдает то что нужно, но с пропусками. Думаю, из-за скорости порта в 9600 теряется часть.
Есть может мысли у кого, как порт до 4800 затормозить ? И как из консоли с него дамп снимать ?
cat /dev/ttyS0 — ничего не выдает.

nesk Сообщения: 2268 Статус: Линукссаксовец ОС: MS Windows XP Home SP3 Контактная информация:

Re: Настройка СОМ порта (решено)

Сообщение nesk » 15.05.2008 15:26

не уверен что получиться (линукса под рукой нет), но попробуйте так:
stty 4800 /dev/ttyS0

а Putty есть и под linux, его не обязательно в wine запускать

Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

Проктолог Сообщения: 99 ОС: Ubuntu 8.04, FreeBSD 6.2 Контактная информация:

Re: Настройка СОМ порта (решено)

Сообщение Проктолог » 15.05.2008 15:31

Мне надо в файлик записать дамп. Делаю курсовик на тему синхронизации времени через GPS.

tester:/dev # stty 4800 /dev/ttyS0
stty: неверный аргумент `/dev/ttyS0′

nesk Сообщения: 2268 Статус: Линукссаксовец ОС: MS Windows XP Home SP3 Контактная информация:

Re: Настройка СОМ порта (решено)

Сообщение nesk » 15.05.2008 15:43

а так
stty 4800 -F /dev/ttyS0

Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

Проктолог Сообщения: 99 ОС: Ubuntu 8.04, FreeBSD 6.2 Контактная информация:

Re: Настройка СОМ порта (решено)

Сообщение Проктолог » 15.05.2008 16:50

Заработала. Огромное спасибо.

 tester:/home/gutaev # cat /dev/ttyS0 $GPRMC,125802,V,6145.2558,N,03419.5676,E,0.0,0.0,150508,11.1,E,S*2B $GPRMB,V. A,S*0E $GPGGA,125802,6145.2558,N,03419.5676,E,8,12,2.0,122.7,M,16.3,M,,*45 $GPGSA,A,3,02,03,04,07,08,10,13,16,23,24,25,27,,2.0,3.0*16 $GPGSV,3,1,12,02,18,261,41,03,08,086,36,04,05,232,34,07,68,190,50*72 $GPGSV,3,2,12,08,32,222,44,10,35,304,45,13,66,119,50,16,26,043,43*7C $GPGSV,3,3,12,23,28,110,44,24,14,342,39,25,71,107,50,27,64,206,50*79 $GPGLL,6145.2558,N,03419.5676,E,125802,V,S*4F $GPBOD,,T,,M,,*47

Re: Настройка СОМ порта (решено)

Сообщение Obscurus » 07.09.2011 22:58

Прошу пардону за некропост, но столкнулся со схожей ситуацией — пытаюсь читать данные с usb-gps приёмника. Повторил всю последовательность действий, однако вместо нормальных текстовых строк из файла /dev/ttyUSB0 сыпятся непонятные иероглифы. Забавно, что если менять скорость соединения, то и характер этих козюбриков меняется (при слишком больших скоростях вообще ничего не выводит). И при всём этом gpsd нормально работает с этим приёмником.
Нет ли у кого каких соображений?

Источник

Оцените статью
Adblock
detector