Python dbus モジュールを使用して WEP セキュリティ WiFi に接続しようとしています
次のようにネットワーク構成辞書を埋めます。
nw_config['wep_key0'] = binascii.unhexlify(mypassword)
mypassword は 16 進文字列です
mypassword が「12345678」に設定されている場合はエラーにはなりませんが、a、b、c、d、e、f などの英字の場合はエラーになります。
例えば:
nw_config['wep_key0'] = binascii.unhexlify('abcdef')
次のエラーが表示されます
UnicodeError: D-Bus 経由で送信される文字列パラメーターは、文字以外のコード ポイントのない有効な UTF-8 でなければなりません
これらはすべて有効な 16 進文字列でなければならないため、これら 2 つのケースの違いがわかりませんか?
更新:dbusに関連するコード
args = dbus.Dictionary(nw_config)
bus = dbus.SystemBus()
wpas_obj = bus.get_object(WPAS_DBUS_SERVICE, WPAS_DBUS_PATH)
wpas = dbus.Interface(wpas_obj, WPAS_DBUS_SERVICE)
if_obj = bus.get_object(WPAS_DBUS_SERVICE, path)
path = wpas.GetInterface(if_obj, WPAS_DBUS_IFACE)
network = iface.AddNetwork(args) # this line has problem