【问题标题】:Creating an access point with wpa_supplicant via dbus interface通过 dbus 接口使用 wpa_supplicant 创建访问点
【发布时间】:2016-04-13 00:44:40
【问题描述】:

有人告诉我,可以在其 dbus 接口上使用 wpa_supplicant 创建一个访问点。我在谷歌上找到的只是this forum thread,尽管标题完全相同,但对我来说并没有太多信息。

是否可以通过 wpa_supplicant dbus 接口执行此操作,以及使用自定义参数(如频率等)创建一个接口需要哪些确切步骤?

【问题讨论】:

    标签: linux dbus wpa-supplicant


    【解决方案1】:

    毕竟,我已经找到了一种使用 wpa_supplicant 的 dbus 接口启动接入点的方法。

    下面是非常不言自明的 Python 代码,它尝试使用它找到的第一个接口(适配器)启动 AP。

    import dbus
    import sys
    
    ssid = "TEST_WPA_DBUS_HOTSPOT"
    frequency = 2412
    
    bus = dbus.SystemBus()
    wpa_sup_obj = bus.get_object('fi.w1.wpa_supplicant1', '/fi/w1/wpa_supplicant1')
    props_iface = dbus.Interface(wpa_sup_obj, "org.freedesktop.DBus.Properties")
    
    interfaces = props_iface.Get('fi.w1.wpa_supplicant1', "Interfaces")
    
    try:
        interface = interfaces[0]
    except IndexError:
        sys.exit("No interfaces availible")
    
    
    print "Creating ap with %s" % (interface)
    
    interface_obj = bus.get_object('fi.w1.wpa_supplicant1', interface)
    interface_interface_props = dbus.Interface(interface_obj, "org.freedesktop.DBus.Properties")
    interface_interface = dbus.Interface(interface_obj, "fi.w1.wpa_supplicant1.Interface")
    adapters_name = interface_interface_props.Get("fi.w1.wpa_supplicant1.Interface", "Ifname")
    
    print "Interface's name is %s" % adapters_name
    
    
    key_mgmt = "NONE"
    args = dbus.Dictionary({
        'ssid': ssid,
        'key_mgmt': key_mgmt,
        'mode': 2,
        'frequency': frequency
        }, signature='sv')
    
    netw = interface_interface.AddNetwork(args)
    interface_interface.SelectNetwork(netw)
    
    
    print "AP %s with frequency %i created with adapter %s" % ( ssid, frequency, adapters_name)
    

    请注意,毕竟,我发现 wpa_supplicant 对我的需求不太可靠(在我的特定情况下,我无法启动 5GHz AP)并已切换到使用不同的配置文件启动 hostapd。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 2015-08-17
    相关资源
    最近更新 更多