Оператор If дает ответ «else» на оба результата cmp

A) В Arch Linux нет встроенных ограничений в отношении протоколов или частот, но, конечно, это зависит от аппаратного обеспечения, а иногда и от драйверов. Поэтому убедитесь, что устройство, которое вы покупаете, поддерживается Linux. Кроме того, в настоящее время поддержка переменного тока не работает для многих наборов микросхем, поэтому, если вам нужен переменный ток, убедитесь, что вы выбрали набор микросхем с работающим драйвером.

Выяснение чипсета из описания продукта может быть проблемой, потому что поставщики не сообщают вам об этом. Так что вам нужно будет гуглить (много). Если у вас есть реальное оборудование, используйте lsusb, чтобы узнать поставщика и продукт, и введите в Google форму 0123:4567, чтобы узнать об этом.

Вы можете использовать iw phy как root, чтобы узнать, какие возможности (протоколы, частоты и т. д.) поддерживает ваше оборудование/драйвер.

Важно: вам необходимо запустить интерфейс WIFI как в качестве точки доступа («AP») для ваших локальных устройств, так и в качестве клиента («управляемого») для ретрансляции соединения Xfinity. Строка допустимых комбинаций интерфейсов в iw phy сообщит вам, возможно ли это. Вы также хотите, чтобы это было на двух разных частотах, если это возможно, чтобы избежать помех. Это означает, что вам нужно что-то вроде #channels <= 2 в приведенном выше описании, которое поддерживают несколько чипсетов, или разные радиомодули для 5 ГГц (ваши локальные устройства, если все они его поддерживают) и 2,4 ГГц.

Если возможно, вы также хотите, чтобы это было на разных антеннах (из-за того, как работает протокол 802.11: конфликты замедляют оба канала связи в противном случае).Поэтому, если вы получаете плохие результаты, рассмотрите возможность использования двух адаптеров WIFI.

Итог: индивидуальная сборка Wi-Fi-ретранслятора не так проста, как кажется. Есть готовые продукты (например, модели CPE от TPE-Link или Ubiquity Nanostations), которые имеют встроенные направленные антенны и созданы именно для такой ситуации, как ваша. Подумайте об использовании одного из них.

B) В зависимости от реальной ситуации, т.е. свободная прямая видимость и т. д., вам может вообще не понадобиться специальная антенна. 300 футов на открытом воздухе не так уж и много. Обязательно протестируйте сначала с обычной антенной. Дамп станции iw dev wlan0 расскажет вам об измерениях сигнала оборудования. Цифры не очень точны и варьируются от устройства к устройству, но примерно -70 дБм (измерено) можно использовать, -80 дБм проблематично.

C) Есть так много USB-адаптеров, и они меняются так быстро, что я не могу дать рекомендацию, извините.

0
05.09.2016, 20:57
1 ответ

Символ [ в вашем тесте if означает, что вы сказали оболочке выполнить определенную оценку задокументировано в man test

. Это может не совпадать в точности с этой страницей руководства, потому что [ встроен в большинство оболочек и ksh , bash , ] zsh и т. д. могут реализовывать несколько иные функции.

Единственное, чего они не делают, - это запускать external команду и проверять результаты.

Таким образом, мы можем сделать это другим способом

, например, мы можем проверить, не является ли вывод команды cmp пустым:

if [ -n "$(cmp $IPPATH/ip.old $IPPATH/ip.new)" ]
then
  echo different
else
  echo same
fi

Или мы можем вызвать cmp и проверьте код возврата, который ближе к вашему первоначальному замыслу, только без упаковки [...] :

if ! cmp $IPPATH/ip.old $IPPATH/ip.new > /dev/null 2>&1
then
  echo different
else
  echo same
fi
7
28.01.2020, 02:15

Теги

Похожие вопросы