Параметры сети Wi-Fi повторного использования через различные аппаратные ключи usb Wi-Fi

У меня есть 3 odroid модуля Wi-Fi 4 аппаратных ключа usb (чипсет RT5572N), что по различным причинам я должен быть взаимозаменяемым.

Я настроил все с одним, подключенным к паре сетей Wi-Fi, и все в порядке. Я могу выйти из дела и возвратиться в аппаратном ключе, и он автоматически снова соединится (Im с помощью коварной Ubuntu). Так вся польза.

Интересно, если я включаю одного из других, он отказывается автоматически соединяться. Я должен вручную использовать nmcli для соединения с сетью Wi-Fi и с тех пор, автоматические работы подключения.

Таким образом, кажется, что сети Wi-Fi связываются с MAC-адресом адаптера так или иначе. Как я могу скопировать свою установку с одного аппаратного ключа и удостовериться все, что другие будут просто работать?

0
задан 18 March 2016 в 17:27

1 ответ

Информация о соединении Wi-Fi хранится в /etc/NetworkManager/system-connections. Можно добавить новый (синтаксис ясен из рассмотрения существующего), и Администратор сети перезапуска, и это появится. Мы можем создать новый путем копирования старого и изменения uuid и MAC-адреса.

Так, работая корнем, помещает следующее в, скажем, copyconnection.sh:

#!/bin/bash

if (( $# < 1 )); then
    exit 1
fi

# Parameter is the profile to copy
ORIG_PROFILE=$1

# Get the MAC address of wlan0
NEW_MAC=`ethtool -P wlan0 | cut -d " " -f 3 | tr [a-f] [A-F]`

# Copy the profile
SUFFIX=`mktemp -u XXXXXX`
NEW_PROFILE="${ORIG_PROFILE}.${SUFFIX}"
echo "Creating $NEW_PROFILE from $ORIG_PROFILE"
cp "$ORIG_PROFILE" "$NEW_PROFILE"

# We will need a new UUID line and a new MAC address line
NEW_UUID=`uuidgen`
NEW_UUID_LINE="uuid=$NEW_UUID"
NEW_MAC_LINE="mac-address=$NEW_MAC"

# Drop the lines in
sed -i "s/^uuid=.*$/$NEW_UUID_LINE/" "$NEW_PROFILE"
sed -i "s/^mac-address=.*$/$NEW_MAC_LINE/" "$NEW_PROFILE"

Делают это, исполняемый файл

chmod +x copyconnection.sh

Затем выполняет его с Вашим старым профилем как параметр

./copyconnection.sh /etc/NetworkManager/system-connections/MyHomeWifi

, Если Вы хотите сделать многие из них:

find /etc/NetworkManager/system-connections/ -type f -exec copyconnection.sh {} \;

Наконец, перезапустите Администратора сети:

service network-manager restart

и Вы сделаны.

Полное раскрытие:

  1. я не могу протестировать это, потому что у меня нет внешнего аппаратного ключа Wi-Fi для вручения. Я протестировал очень похожую вещь, добавив новый профиль для моего единственного адаптера Wi-Fi, и это работает.
  2. использование mktemp является hacky. Это могло, очевидно, пойти не так, как надо и произвести дубликат файла. Это не будет, но это могло. Более чистый путь состоял бы в том, чтобы установить tmpdir на местоположение исходного файла, но это загромождает сценарий так, я думал это лучше только к крылу это :-)
1
ответ дан 29 September 2019 в 10:02

Другие вопросы по тегам:

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