LINUX.ORG.RU

usb-кабель из витой пары

 , витая пара,


0

2

Насколько жизнеспособная идея? Для модема. Короткий (сантиметров 30) я уже сделал и использую, вроде проблем не вызывает. Использовал хорошую 8-жильную витую пару, без алюминия и с 0.52 проводами, по 2 провода на каждый из 4 usb-контактов (всмысле не пару спаял в 1 точку а 2 провода из разных пар). Используется как последние 30 см проводки перед модемом, встроенные в палку на которой он закреплен, дальше идёт обычный usb-кабель, шедший в комплекте с 3g-антенной (антенна оказалась бесполезной, но usb-удлинитель от неё пригодился).

Длины кабеля не совсем хватает (он метра 2), купил активный usb-хаб со своим удлинителем (ещё метра 2) - через него модем стал регулярно терять usb-соединение (при этом он не ребутается, т.е. после пропажи-восстановления /dev/ttyUSB0 по его логам и поведению видно что он продолжает держать ту же регистрацию в сети что у него была, но ppp-коннект разумеется слетает и надо его назад включать). Попробовал взять удлинитель от хаба без самого хаба - то же самое. Вероятно, там плохой провод и я не знаю где взять нормальный. Вот собственно и подумалось что витая пара уж точно качественная, можно просто спаять удлинитель самому, но может я чего-то не знаю и будут проблемы?

upd 2025-11-08

Кабель сделал - одна пара на данные (зелёная, вроде бы с самым коротким периодом плетения), остальные три параллельно на питание. 5 метров - всё работает. В sysfs показывается speed=480

upd ещё

Нет, проблема всё-таки имеется. USB-соединение иногда (редко) стало зависать. Причём зависает странно: приём данных ведётся, отправка прекращается. Спустя какое-то время прекращается и приём (подозреваю из-за того что модем видит отсутствие данных от компа и решает подождать пока комп оживёт). На компе пинг начинает писать про переполненные буферы отправки. В dmesg ничего в связи с этим не пишется. Зависают так одновременно и ttyUSB0 и ttyUSB1. Исправляется перетыкиванием разъёма, само не исправляется.

★★★★★

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

Нет, проблема всё-таки имеется. USB-соединение иногда (редко) стало зависать. Причём зависает странно: приём данных ведётся, отправка прекращается. Спустя какое-то время прекращается и приём (подозреваю из-за того что модем видит отсутствие данных от компа и решает подождать пока комп оживёт). На компе пинг начинает писать про переполненные буферы отправки. В dmesg ничего в связи с этим не пишется. Зависают так одновременно и ttyUSB0 и ttyUSB1. Исправляется перетыкиванием разъёма, само не исправляется.

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

Нет, не рассчитано, я не знаю какой там ток. Но вместо измерения тока по-моему проще просто напряжение на конце померить (если б было чем).

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

ну это логично. ибо они одножильные. если хочешь чобы гнулось - проще найти гибкий заводской пач-корд метров на 5 - там будут многожильные проволочки, поэтому и гнётся. только ты его фиг обожмёшь обычной обжимкой и обычными rjшками. поэтому проще оконечить недорогими розетками RJ45, а уже из них провода пихать непосредственно в.

mumpster ★★★★★
()

Я не думаю, что дело в кабеле, что вот сейчас найду какой-нибудь хороший и заработает. Скорее всего, дело в самом юсб протоколе, который не позволяет работать длинному кабелю. Там ведь одна линия для приёма и передачи, + управляющие сигналы, чуть задержка выше макс порога из-за длины и начинаются в линии коллизии и сбои.

Саму возможность передавать на сотню метров 0.5ггц подтверждает ethernet. Так что юсб оно таким коротким задумано, наверное

kvpfs_2
()
Ответ на: комментарий от alx777

Разве в USB возможна одновременная передача хоста и устройства? Как CAN данные к USB применимы, где нет коллизий, где устройство передаёт только по запросу с хоста?

USB хост отправляет пакет и ждёт ответ от устройства. И не важно, на момент отправки последнего бита хостом сколько бит летят по кабелю. Хост отсчитвает таймаут от последнего переданного бита до первого полученного от USB-устройства.

На прохождение кабельного сегмента (5 м макс) в расчёте таймаутов USB 1 закладывали 30 нс, а в USB 2 — 26 нс. Это сопоставимо с 200 000 км/с, что закладывают в комповых сетях. Но, далее, они в стандат закладывают до 5 последовательно включённых хабов, каждый хаб ещё задержка примерно как 5 м кабеля, и получается, что и для USB 1 и для USB 2(HS) на распростарнение сигнала туда-обратно около 1 мкс, в одну сторону 0,5 мкс == 500 нс, 500/26*5=96 метров.

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

Конденсатор, около 100 мкФ, на розетке перед модемом. Керамика итак в модеме стоит. И, я бы какую-то простейшую платку сделал (можно даже процарапать), и розетку на плату, а не на кабель, чтобы все жилки по питанию нормально пропаялись и не коротнули. И конденсатор было куда подпаивать.

приём данных ведётся, отправка прекращается.

Я ведь правильно понимаю, что вы тут пишете про приём/передачу на верхнем уровне, а не на уровне бит на D+/D-? По сути, у вас глючит модем, от USB он не отваливается, иначе бы в dmesg были сообщения, а внутри у него сбой, похоже на проблемы с питанием.

проще просто напряжение на конце померить

Ну, с этого бы хорошо начать, можно даже в начале напряжение на разъёме компа измерить, может там по нижней границе — 4,85 В.

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

Там и так 2х 1500 low-esr стоят давно, паять без платы было неудобно но норм вышло.

Данные по ifstat ppp0.

Да, подозреваю что питания не хватает, но это не единственный вариант. В сторону компа то он шлёт ещё какое-то время.

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

Как CAN данные к USB применимы, где нет коллизий, где устройство передаёт только по запросу с хоста?

Bообще-то у CAN шины тоже нет коллизий. Из-за арбитрации

А так я привел CAN как пример протокола с довольно жесткими ограничениями на длину сети в ответ на

Это как? Какими свойствами должен обладать протокол (или порт?), чтобы считаться предназначенным для передачи данных на длинные расстояния?

Очевидно, что протокол, предназначенный для передачи данных на длинные расстояния, должен обладать несколько другими свойствами

alx777 ★★
()

Пассивный кабель для USB по стандарту не может быть длинней 5 метров. Фактически может, но могут быть проблемы. Также по стандарту запрещено удлинять кабель пассивно, т.к. соединения могут вносить помехи и прочее. Только цельный кабель от хоста до устройства.

Но активный кабель может быть гораздо длинней. Можно подключать 7 хабов последовательно (то же, что и активный кабель), т.е. максимальная длина может быть равна 35 метрам. Ещё есть оптические удлинители, там длина можно сказать не ограничена, можно и 100 метров сделать.

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

нет коллизий

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

Какими свойствами должен обладать протокол

несколько другими свойствами

Замечательно. Только вы отвечаете на коммент, где ТС пишет:

За гигагерцовый период сигнал всего 30см проходит например

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

В USB, что для FS, что для HS примерно одинаковые таймауты и допустимая длина кабеля. А если в USB-хосте поднять таймаут, то будет больше.

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

Какой именно обратной связи? Я не знаю как оно устроено. Единственное - были опасения, что в момент втыкания в ноут они слишком большим током начинают заряжаться и в ноуте что-нить закоротят, но вроде обошлось.

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

обратная связь по выходному напряжению. Изменение длительности/частоты импульсов в зависимости от того, выше или ниже напряжение.

Я не знаю как оно устроено.

Ну и хорошо. Я тоже не особо знаю. Не знаю, может 5 метров UTP достаточно для исключения влияния ёмкости на АЧХ контура обратной связи. А может там внутри ноута какие дроссели в питании USB портов есть.

Просто, если смотреть нормальные тесты блоков питания, то там не только напряжение/ток измеряют, но и переходные процессы при скачкообразном изменении тока.

А если смотреть нормальые даташиты на микросхемы DC-DC преобразователей, то там выходную ёмкость и снизу и сверху ограничивают.

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

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

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

Ну, там всё не так просто. Обратная связь она с компенсацией (фильтром), чтобы срезать частоты, сопоставимые с частотой коммутации. Чтобы игнорировать «иголки». Но, с другой стороны, ОС не должна быть слишком тормозной, чтобы нормально реагировать на резкое изменение тока нагрузки. В расчёте параметров компенсирующей цепи ОС участвует ёмкость выходного конденсатора.

Вот есть такой документ от ричтек: AN038-02. Там на стр. 11 как раз рассмотрен случай, что происходит, если к понижающему DC-DC, расчитанному на реальные 33 мкФ керамики на выходе подключить 150 мкФ электролит по USB. И получают затухающий колебательный переходный процесс, а не апериодический (монотонно затухающий).

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

Есть же удлиннялки usb extender - вроде по спекам чёт там до 100 метров

У меня есть два разных таких. Именно что по витой паре и работают. Выглядят как две «коробочки» с усб-разъемами,соединяемые витой парой. Использовались также для радиомодема. Основная проблема с модемами не в сигнальных линиях,а в том что им нужно стабильное и довольно мощное питание. Они кушают электричество импульсами,причем ток весьма существенный. Поэтому было проведено отдельным проводом 12 вольт на мачту,а там китайский преобразователь 12->5 вольт и электролитический конденсатор большой емкости на его выходе. Питание от порта не используется. Специально еще раз уточню что основная проблема usb не с сигналами,а именно с питанием. Ну и всё равно «60-метровый» удлинитель работает метров на двадцать.

Если надо больше то возле модема ставим любой маленький комп-одноплатник у которого есть усб и эзернет. И на нем запускаем usbip, позволяющий пробросить usb-порты модема на линуксовый комп (вроде и на виндовый тоже можно,я не пробовал). В отличие от установки роутеров - избавляет от второго NATа и позволяет удобно общаться с модемом на компе, например смски принимать-отсылать скриптами и статистику работы линка получать.

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

Основная проблема с модемами не в сигнальных линиях,а в том что им нужно стабильное и довольно мощное питание

Занятно, не знал. Может в ближайшем будущем пригодится 😊

Я через экстендеры гонял только простую периферию - клаву\мышь.

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

Поэтому было проведено отдельным проводом 12 вольт на мачту,а там китайский преобразователь 12->5 вольт и электролитический конденсатор большой емкости на его выходе.

Почему не 220В и 5В адаптер к нему?

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

В блоках питания обратная связь всегда работает, даже когда напряжение на заданном уровне. Конденсатор на линии обратной связи ее загрубляет – в момент первоначальной подачи питания на нагрузку все её ёмкости разряжены, и блок питания в этот момент ограничивают от разноса только встроенные в ШИМ-контроллер схемы ограничений. А когда этот конденсатор заряжен, то скорость реакции обратной связи зависит от скорости разряда или дозаряда конденсатора и дельты приложенного напряжения и его значения на конденсаторе.

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

Ещё обновление. Видимо последняя проблема была не в самом кабеле а в контактах воткнутого разъёма. Я его отключал а вчера, включив назад, получил вот что: при втыкании в ноут даже ttyUSB не появляется, в dmesg какие-то usb-ошибки, модем при этом успешно запускается и светодиодом показывает что 3g поймано и готово к работе. Вытащил штекер околомодемного 30см кабеля из разъёма 5м кабеля, вставил назад - всё подключилось и больше с тех пор ни потерь usb-соединения, ни его зависаний не случалось.

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