У меня есть сценарий использования, в котором я хотел бы иметь возможность отправить предварительно настроенный компьютер в магазин. Идея заключается в том, что конечный пользователь не должен подключать клавиатуру и мышь, если в этом нет крайней необходимости.
Я могу предварительно сконфигурировать wicd до того момента, когда мне нужно только нажать «подключиться» в графическом интерфейсе wicd, чтобы войти в сеть.
Насколько я понимаю, настройка use_settings_globally = 1
должна позволять клиентам подключаться к любой сети с помощью essid вместо bssid по умолчанию (mac-адрес). Однако, когда я пытаюсь продемонстрировать / проверить это, мне все равно нужно нажать «подключиться», чтобы установить соединение.
Я нашел настройку should_verify_ap
в настройках, но не смог найти никакой документации по этому вопросу. Кто-нибудь знает что-нибудь об этом? Я пытался включить его безрезультатно.
Вот мой wireless-settings.conf.
[essid:HEREISANSSID]
afterscript = None
dhcphostname = my-computer
bssid = 28:CF:E9:**:**:**
ip = None
dns_domain = None
gateway = None
use_global_dns = False
encryption = True
postdisconnectscript = None
beforescript = None
hidden = False
channel = 11
mode = Master
netmask = None
key = PASSWORD
usedhcphostname = 0
predisconnectscript = None
bitrate = auto
enctype = wpa-psk
allow_lower_bitrates = 0
dns3 = None
dns2 = None
dns1 = None
use_settings_globally = True
use_static_dns = False
apsk = PASSWORD
encryption_method = WPA2
essid = HEREISANSSID
automatic = 1
search_domain = None
Когда я использую это для подключения к сети, он добавляет аналогичные записи с заголовком BSSID.
Вот мой manager-settings.conf
[Settings]
backend = external
wireless_interface = wlp1s0
wired_interface = None
wpa_driver = wext
always_show_wired_interface = False
use_global_dns = False
global_dns_1 = None
global_dns_2 = None
global_dns_3 = None
global_dns_dom = None
global_search_dom = None
auto_reconnect = True
debug_mode = 0
wired_connect_mode = 1
signal_display_type = 0
should_verify_ap = 1
dhcp_client = 0
link_detect_tool = 0
flush_tool = 0
sudo_app = 0
prefer_wired = False
show_never_connect = True
Мне нужно иметь возможность подключиться к ESSID, даже не зная BSSID. Это возможно?
Итак, я провел некоторые исследования в wicd-daemon.py
и обнаружил блок кода, относящийся к автоматическому соединению.
Я искал там код, который привел меня к https://bugs.launchpad.net/wicd/+bug/1440952
Я заменил код в и альт, я могу подключить сети, настроенные с тем же ESSID.
for x, network in enumerate(self.LastScan):
- if self.config.has_section(network['bssid']):
+ essid_key = "essid:%s" % network['essid']
+ if self.config.has_section(network['bssid']) or self.config.has_section(essid_key):
if self.debug_mode:
print network["essid"] + ' has profile'
if bool(network.get('automatic')):