Comments 42
Speedtest-cli же сторонний, есть оф версия.
https://www.speedtest.net/insights/blog/introducing-speedtest-cli
И у него расхождений нет
Модем можно и в ppp режим перевести, и в wwan, секса стало бы сильно меньше. У вас сейчас, похоже, самый геморный из возможных — NCM
Это cdc_ether. А в чем геморрность NCM? Как по мне, весьма простой. Рулится через АТ, имеет сетевой интерфейс. Встречалась пара модемов, которые требовали выполнения GET-запроса для коннекта, но обычно с ними просто было работать. Вот модемы QMI крови попили. Мало того, что официальных спек нет на протокол (если кто кинет ссылку, буду очень благодарен), так ещё немало разных фиксапов пакетов приходилось в драйвер добавлять/бэкпортить.
Я бы заменил на малину4, а хабы взял ещё с возможность дерганья каждого порта по питанию. Плавали знаем. Ну и модемы, вы просто не познали дзен их, не хватило времени, там можно добиться стабильности работы.
Касаемо обратного ссш, есть autossh там по вашим граблям сходили уже можно и потыкать минут 15 для ознакомления.
Я посмотрел в сторону autossh не понял в чём разница между демоном и обычным ssh. Соединение на сервере одинаковое, и проблема будет в любом случае.
В autossh есть тюнинг для того чтобы порт не залипал.
UseDNS no
TCPKeepAlive yes
ClientAliveInterval 2
ClientAliveCountMax 3
Вот переменные которые отвечают за незалипание порта, механизм поллинга:
AUTOSSH_MAXLIFETIME
AUTOSSH_POLL
AUTOSSH_FIRST_POLL
$ autossh --help
autossh: invalid option -- '-'
usage: autossh [-V] [-M monitor_port[:echo_port]] [-f] [SSH_OPTIONS]
-M specifies monitor port. May be overridden by environment
variable AUTOSSH_PORT. 0 turns monitoring loop off.
Alternatively, a port for an echo service on the remote
machine may be specified. (Normally port 7.)
-f run in background (autossh handles this, and does not
pass it to ssh.)
-V print autossh version and exit.
Environment variables are:
AUTOSSH_GATETIME - how long must an ssh session be established
before we decide it really was established
(in seconds). Default is 30 seconds; use of -f
flag sets this to 0.
AUTOSSH_LOGFILE - file to log to (default is to use the syslog
facility)
AUTOSSH_LOGLEVEL - level of log verbosity
AUTOSSH_MAXLIFETIME - set the maximum time to live (seconds)
AUTOSSH_MAXSTART - max times to restart (default is no limit)
AUTOSSH_MESSAGE - message to append to echo string (max 64 bytes)
AUTOSSH_PATH - path to ssh if not default
AUTOSSH_PIDFILE - write pid to this file
AUTOSSH_POLL - how often to check the connection (seconds)
AUTOSSH_FIRST_POLL - time before first connection check (seconds)
AUTOSSH_PORT - port to use for monitor connection
AUTOSSH_DEBUG - turn logging to maximum verbosity and log to
stderr
Интересно, а какой самый оптимальный вариант? Может, вообще бушные asus eee pc с авито?
В винде поддержка драйверов хуже, так что не факт.
ЕМНИП, практически любое консьюмерское оборудование со старой виндой работает (иначе, никто не купит). Или вы о чем-то другом?
На авито упомянутые мною eee pc бушные стоят до 4к. Наверное, батареи просажены, но тоже вопрос решаемый.
Новые intel PC stick можно тоже за 12к в комплекте с виндой купить. К ним еще нужен usb хаб и аккумулятор. Но в итоге не то, чтобы совсем уж конская цена выходила, учитывая, что одноплатник, на котором даже линукс без бубна не поднимется, стоит столько же
Вы не очень понимаете особенности промышленной разработки. Всё что вы предлагаете — это колхоз уровня школьника.
Изначально заказчик хотел просто гонять курьера с телефонами операторов, проводить измерения прямо на телефоне и далее в тетрадку записывать результаты измерения скорости. Мое решение измерения скорости сетей lte, хоть не идеально, но решает поставленную задачу.
Из-за нехватки времени, я принимал решения не в пользу удобства или практичности, а в пользу скорости разработки. Например, для удаленного доступа поднимался обратный ssh, вместо более практичного vpn, ради экономии времени на настройку сервера и каждого отдельного клиента.
Либо уже взять серию железок и работать с ними. Начнём с того, что заказчик мне предоставил оборудование и я работал с ним, выбора на чём делать у меня не было. Если бы заказчик предоставил бы данные ноутбуки, то я работал бы с ними.
Любая попытка сэкономить используя железо с avito приводит к тройным тратам на ремонт этого железа, трудозатраты на приведение его в чувство. А так же просто тупо из-за того, что железо морально устарело.
И последнее: планировалась серия данных устройств. Может быть десятки штук. Тем не менее, если бы представляли цикл подобных разработок, у вас подобных вопросов не возникало.
Мне пришла в голову мысль взять какой-нибудь Mikrotik RBM33G там уже есть два слота под pcie модемы, есть USB 3.0 можно добавить модемов. Есть RS232 можно GPS воткнуть или сразу pcie модем с GPS поставить.
speedtest через API дёргать
Встроенный можно для постоянной связи с железкой и gps использовать. 9 штук уже воткнуть в USB hub.
Ну и модемы переключить в какой-нибудь нормальный более управляемый режим. А то NAT средствами не сильно мощного чипа модема не добавляет скорости :)
Там достаточно нормальный скриптовый язык, для ваших целей должно хватить.
Раз уж был свой VDS, почему не стали использовать iperf3?
P.S. — пасхалку нашел :)
А замеры N провайдеров одновременно происходят? В скорость USB не упирается?
под родными линуксами ниразу не удалось нормально запустить блутуз (клава и колонки) поэтому перешит обратно в андроид и запихан под телек.
модемы во время замеров разносить не надо? чтобы не было взаимных помех?
Одновременный speedtest на нескольких LTE-модемах