Send connman mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.01.org/mailman/listinfo/connman
or, via email, send a message with subject or body 'help' to
[email protected]
You can reach the person managing the list at
[email protected]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of connman digest..."
Today's Topics:
1. Re: two wlan interfaces - tether on one and control the other
as a client? (Jose Blanquicet)
2. Re: Auto-connect from wpa_supplicant and ConnMan does not
become aware (Daniel Wagner)
3. Re: two wlan interfaces - tether on one and control the other
as a client? (Daniel Wagner)
----------------------------------------------------------------------
Message: 1
Date: Tue, 3 Jan 2017 08:55:03 +0000
From: Jose Blanquicet <[email protected]>
To: Matthijs Vader <[email protected]>
Cc: "[email protected]" <[email protected]>, Daniel Wagner
<[email protected]>
Subject: Re: two wlan interfaces - tether on one and control the other
as a client?
Message-ID:
<CAFC8iJJN3NaF3cuYNifcYsmx=ytjyjqmp5pekeuhp3i8u1a...@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Hi Matthijs,
>> I have two wlan interfaces in linux, from a single rtl8723bu chipset
>> running in concurrent mode. I want to use wlan0 as a normal client, and
>> use wlan1 to host an access point. The idea is to use wlan1 to let users
>> of our blackbox-type-product for setting up eth0 or wlan0 networking and
>> some other config options.
>>
>> Is it possible make connman enable tethering on wlan1 only, while also
>> still using connman to configure & manage the wlan0 as well to connect
>> to other access points?
>
>
> Unfortunately, no that wont work, because ConnMan does not export the
> individual device. That means all devices are grouped under the Technology
> API and therefore you can either have all them in tethering mode or none.
As Daniel said, through Technology API you will not be able to specify
exactly which device will be used for Tethering. However, when you
enable Tethering on WiFi Technology, only one selected device will
actually go in AP mode. That selection is done by an algorithm on WiFi
plugin which is based on reported (By the driver) and detected (By
ConnMan/wpa_supplicant) AP mode capabilities. Therefore, if your
driver reports to wpa_supplicant that wlan0 only supports STA and
wlan1 supports STA and AP mode then ConnMan will always use wlan1 for
tethering. Then, your next scan will only return results coming from
wlan0, which is what I understood you want. On the contrary, if both
devices report AP mode capabilities, then ConnMan will use the first
device it has on memory and unfortunately this is not under control.
ConnMan's idea is to hide lower level things like actual interfaces. I
partially agree, this approach aims to keep things simple but
unfortunately it harms complex systems with more than one device per
Technology where we would like to have control over which role they
will play. This does not only affect Tethering, we found the same
problem on the RFC we have been working on for WPS connections.
We have a similar scenario here, we have one single Marvell WiFi
chipset which exposes three devices and we are currently using ConnMan
to manage STA, AP and P2P connections in parallel. However, even
though Marvell produces WiFi chipset used by WFA for testing, the
driver does not perfectly report devices' capabilities. Therefore, I
think we should start thinking on some solution for these kind of
complex systems. I hope that maintainers also start considering this
because, for example, sometimes we have had to hard-code interface
names and that's really sad :(.
Regards,
Jose Blanquicet
------------------------------
Message: 2
Date: Tue, 3 Jan 2017 18:44:23 +0100
From: Daniel Wagner <[email protected]>
To: Jose Blanquicet <[email protected]>, [email protected]
Subject: Re: Auto-connect from wpa_supplicant and ConnMan does not
become aware
Message-ID: <[email protected]>
Content-Type: text/plain; charset=windows-1252; format=flowed
Hi Jose,
On 01/02/2017 06:06 PM, Jose Blanquicet wrote:
> I asked if such a reconnection is a desired behaviour in wpa_supplican
> mailing list and Jouni confirmed this is how it should works and
> suggested a solution
> (http://lists.infradead.org/pipermail/hostap/2016-December/036844.html).
> He told that we need to keep track of the created network profiles
> during WPS provisioning (Yes, they may be more than one) and then mark
> them as disabled or delete them. What do you think?
If wpa_supplicant behavior is supposed to be correct, then there aren't
many options. Hopefully this isn't too complex to add to wifi.c. That
file is already a bit big but well, not much choice.
Are you going to work on this?
Thanks,
Daniel
------------------------------
Message: 3
Date: Tue, 3 Jan 2017 19:02:27 +0100
From: Daniel Wagner <[email protected]>
To: Jose Blanquicet <[email protected]>, Matthijs Vader
<[email protected]>
Cc: "[email protected]" <[email protected]>
Subject: Re: two wlan interfaces - tether on one and control the other
as a client?
Message-ID: <[email protected]>
Content-Type: text/plain; charset=windows-1252; format=flowed
Hi Jose,
On 01/03/2017 09:55 AM, Jose Blanquicet wrote:
>>> I have two wlan interfaces in linux, from a single rtl8723bu chipset
>>> running in concurrent mode. I want to use wlan0 as a normal client, and
>>> use wlan1 to host an access point. The idea is to use wlan1 to let users
>>> of our blackbox-type-product for setting up eth0 or wlan0 networking and
>>> some other config options.
>>>
>>> Is it possible make connman enable tethering on wlan1 only, while also
>>> still using connman to configure & manage the wlan0 as well to connect
>>> to other access points?
>>
>>
>> Unfortunately, no that wont work, because ConnMan does not export the
>> individual device. That means all devices are grouped under the Technology
>> API and therefore you can either have all them in tethering mode or none.
>
> As Daniel said, through Technology API you will not be able to specify
> exactly which device will be used for Tethering. However, when you
> enable Tethering on WiFi Technology, only one selected device will
> actually go in AP mode. That selection is done by an algorithm on WiFi
> plugin which is based on reported (By the driver) and detected (By
> ConnMan/wpa_supplicant) AP mode capabilities. Therefore, if your
> driver reports to wpa_supplicant that wlan0 only supports STA and
> wlan1 supports STA and AP mode then ConnMan will always use wlan1 for
> tethering. Then, your next scan will only return results coming from
> wlan0, which is what I understood you want. On the contrary, if both
> devices report AP mode capabilities, then ConnMan will use the first
> device it has on memory and unfortunately this is not under control.
Thanks for the detailed explanation. I only remembered that it is not so
easy :)
> ConnMan's idea is to hide lower level things like actual interfaces. I
> partially agree, this approach aims to keep things simple but
> unfortunately it harms complex systems with more than one device per
> Technology where we would like to have control over which role they
> will play. This does not only affect Tethering, we found the same
> problem on the RFC we have been working on for WPS connections.
>
> We have a similar scenario here, we have one single Marvell WiFi
> chipset which exposes three devices and we are currently using ConnMan
> to manage STA, AP and P2P connections in parallel. However, even
> though Marvell produces WiFi chipset used by WFA for testing, the
> driver does not perfectly report devices' capabilities. Therefore, I
> think we should start thinking on some solution for these kind of
> complex systems. I hope that maintainers also start considering this
> because, for example, sometimes we have had to hard-code interface
> names and that's really sad :(.
Agreed, that is really sad. I am not against supporting more complex
stuff. We just need to be very careful not to clutter the D-Bus APIs.
So if I understood you correctly, one major problem is that the device
picked for AP is depending on the order of scanning results. Well, that
is indeed a bit funky.
I wonder if it would be possible to 'annotate' via the config files
which device is used for tethering. This is just a quick and dirty
proposal:
$ cat /var/lib/connman/example.config
[device_wifi_ap]
Type = wifi
MAC = 01:02:03:04:05:06
Tethering = enabled
[device_wifi_sta]
Type = wifi
MAC = 01:02:03:04:05:07
Tethering = disabled
Instead handling the config information via the ConnMan core, the wifi
plugin could itself look for a config file. We have this also done for
the session plugin. It looks for a config itself.
Thanks,
Daniel
------------------------------
Subject: Digest Footer
_______________________________________________
connman mailing list
[email protected]
https://lists.01.org/mailman/listinfo/connman
------------------------------
End of connman Digest, Vol 15, Issue 3
**************************************