3

I'm currently trying to share a wireless network from arch-linux. There is a button in the network settings that should allow me to do it:

Network settings "Use as Hotspot..."

I hit the "Turn On" button as that's exactly what I'm looking for!

Wi-Fi Hotspot popup Turn On

But in the terminal with the following command:

$ sudo journalctl -xef

Nov 03 08:39:53 zbookarch NetworkManager[477]: <info>  [1478176793.8790] audit: op="connection-add-activate" pid=12673 uid=1000 result="fail" reason="A 'wireless' setting with a valid SSID is required if no AP path was given."
Nov 03 08:39:53 zbookarch NetworkManager[477]: <info>  [1478176793.8928] audit: op="connection-add-activate" pid=12673 uid=1000 result="fail" reason="A 'wireless' setting with a valid SSID is required if no AP path was given."
Nov 03 08:39:53 zbookarch NetworkManager[477]: <info>  [1478176793.8967] audit: op="connection-add-activate" pid=12673 uid=1000 result="fail" reason="A 'wireless' setting with a valid SSID is required if no AP path was given."
Nov 03 08:39:53 zbookarch NetworkManager[477]: <info>  [1478176793.9001] audit: op="connection-add-activate" pid=12673 uid=1000 result="fail" reason="A 'wireless' setting with a valid SSID is required if no AP path was given."
Nov 03 08:39:53 zbookarch NetworkManager[477]: <info>  [1478176793.9011] audit: op="connection-add-activate" pid=12673 uid=1000 result="fail" reason="A 'wireless' setting with a valid SSID is required if no AP path was given."
Nov 03 08:39:53 zbookarch NetworkManager[477]: <info>  [1478176793.9019] audit: op="connection-add-activate" pid=12673 uid=1000 result="fail" reason="A 'wireless' setting with a valid SSID is required if no AP path was given."
Nov 03 08:39:53 zbookarch NetworkManager[477]: <info>  [1478176793.9029] audit: op="connection-add-activate" pid=12673 uid=1000 result="fail" reason="A 'wireless' setting with a valid SSID is required if no AP path was given."
Nov 03 08:39:53 zbookarch NetworkManager[477]: <info>  [1478176793.9037] audit: op="connection-add-activate" pid=12673 uid=1000 result="fail" reason="A 'wireless' setting with a valid SSID is required if no AP path was given."
Nov 03 08:39:53 zbookarch NetworkManager[477]: <info>  [1478176793.9046] audit: op="connection-add-activate" pid=12673 uid=1000 result="fail" reason="A 'wireless' setting with a valid SSID is required if no AP path was given."
Nov 03 08:39:53 zbookarch gnome-control-c[12673]: Failed to add new connection: (2) A 'wireless' setting with a valid SSID is required if no AP path was given.
Nov 03 08:39:53 zbookarch gnome-control-c[12673]: Failed to add new connection: (2) A 'wireless' setting with a valid SSID is required if no AP path was given.
Nov 03 08:39:53 zbookarch NetworkManager[477]: <info>  [1478176793.9055] audit: op="connection-add-activate" pid=12673 uid=1000 result="fail" reason="A 'wireless' setting with a valid SSID is required if no AP path was given."
Nov 03 08:39:53 zbookarch gnome-control-c[12673]: Failed to add new connection: (2) A 'wireless' setting with a valid SSID is required if no AP path was given.
Nov 03 08:39:53 zbookarch gnome-control-c[12673]: Failed to add new connection: (2) A 'wireless' setting with a valid SSID is required if no AP path was given.
Nov 03 08:39:53 zbookarch gnome-control-c[12673]: Failed to add new connection: (2) A 'wireless' setting with a valid SSID is required if no AP path was given.
Nov 03 08:39:53 zbookarch gnome-control-c[12673]: Failed to add new connection: (2) A 'wireless' setting with a valid SSID is required if no AP path was given.
Nov 03 08:39:53 zbookarch gnome-control-c[12673]: Failed to add new connection: (2) A 'wireless' setting with a valid SSID is required if no AP path was given.
Nov 03 08:39:53 zbookarch gnome-control-c[12673]: Failed to add new connection: (2) A 'wireless' setting with a valid SSID is required if no AP path was given.
Nov 03 08:39:53 zbookarch gnome-control-c[12673]: Failed to add new connection: (2) A 'wireless' setting with a valid SSID is required if no AP path was given.
Nov 03 08:39:53 zbookarch NetworkManager[477]: <info>  [1478176793.9064] audit: op="connection-add-activate" pid=12673 uid=1000 result="fail" reason="A 'wireless' setting with a valid SSID is required if no AP path was given."
Nov 03 08:39:53 zbookarch gnome-control-c[12673]: Failed to add new connection: (2) A 'wireless' setting with a valid SSID is required if no AP path was given.
Nov 03 08:39:53 zbookarch gnome-control-c[12673]: Failed to add new connection: (2) A 'wireless' setting with a valid SSID is required if no AP path was given.

There's some doc here and there I'm still reading, but I haven't found anything concerning this error yet other than the exact error message in some source code here:

https://github.com/lcp/NetworkManager/blob/master/src/nm-device-wifi.c#L1211

A friend tested on Fedora and it worked out of the box, he found an ESSID setting that matches his created wifi here:

/etc/sysconfig/network-scripts/ifcfg-Hotspot

But I don't have this path on Arch Linux.

there is this Software_access_point wiki page on arch that may contain some information on how to create a hotspot. I'll follow that later, but if someone has some information on the error, that'd be great :)

My network card should be compatible:

$ iw list

Wiphy phy0
...
    Supported interface modes:
             * IBSS
             * managed
             * AP
             * AP/VLAN
             * monitor
             * P2P-client
             * P2P-GO
             * P2P-device

(Requires AP)

$ lspci -k | grep -A 3 -i network

3d:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)
        Subsystem: Intel Corporation Dual Band Wireless-AC 7260
        Kernel driver in use: iwlwifi
        Kernel modules: iwlwifi

iwlwifi can be found in the following list:

| Driver                                             | Manufacturer        | cfg80211 | AP      | IBSS | mesh | monitor | PHY modes  | Buses                    |
|----------------------------------------------------|---------------------|----------|---------|------|------|---------|------------|--------------------------|
| iwlwifi                                            | Intel               | yes      | yes (6) | yes  | no   | yes     | A/B/G/N/AC | PCI-E                    |

It really looks like it supports AP.

first attempt

I tried using hotspotd

I created a python2.7 virtualenv and installed hotspotd==0.1.4, then I installed hostapd and dnsmasq.

$ sudo pacman -S hostapd
$ mkvirtualenv -p $(which python27) hotspot
$ workon hotspot
$ pip install hotspotd==0.1.4
$ sudo hotspotd -h

usage: hotspotd [-h] [-v] {start,stop,configure}

A small daemon to create a wifi hotspot on linux

positional arguments:
  {start,stop,configure}

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose


$ sudo hotspotd configure

Verifying connections
Wifi interface found: wlp61s0
Network interface found: enp0s25:
Enter an IP address for your ap [192.168.45.1] :
Enter SSID [joe_ssid] :
Enter 10 digit password [1234567890] :
created hostapd configuration: run.conf
{'wlan': 'wlp61s0', 'SSID': 'joe_ssid', 'ip': '192.168.45.1', 'netmask': '255.255.255.0', 'password': '1234567890', 'inet': 'enp0s25:'}
Configuration saved


$ sudo hotspotd start -v 

command: ps aux |grep hostapd |grep -v grep
Verifying interfaces
command: ifconfig
done.
created interface: mon.wlp61s0 on IP: 192.168.45.1
command: ifconfig wlp61s0 up 192.168.45.1 netmask 255.255.255.0

wait..
command: sleep 2
command: ps aux |grep dnsmasq |grep -v grep
command: ps aux |grep hostapd |grep -v grep
enabling forward in sysctl.
command: sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1
creating NAT using iptables: wlp61s0<->enp0s25:
command: iptables -P FORWARD ACCEPT
command: iptables --table nat --delete-chain
command: iptables --table nat -F
command: iptables --table nat -X
command: iptables -t nat -A POSTROUTING -o enp0s25: -j MASQUERADE
command: iptables -A FORWARD -i enp0s25: -o wlp61s0 -j ACCEPT -m state --state RELATED,ESTABLISHED
command: iptables -A FORWARD -i wlp61s0 -o enp0s25: -j ACCEPT
command: iptables -A OUTPUT --out-interface wlp61s0 -j ACCEPT
command: iptables -A INPUT --in-interface wlp61s0 -j ACCEPT
running dnsmasq
command: dnsmasq --dhcp-authoritative --interface=wlp61s0 --dhcp-range=192.168.45.20,192.168.45.100,255.255.255.0,4h

running hostapd
wait..
command: sleep 2
command: hostapd -B /home/gableroux/.virtualenvs/hotspot/lib/python2.7/site-packages/hotspotd/run.conf
Configuration file: /home/gableroux/.virtualenvs/hotspot/lib/python2.7/site-packages/hotspotd/run.conf
Could not read interface wlan0 flags: No such device
nl80211: Driver does not support authentication/association or connect commands
nl80211: deinit ifname=wlan0 disabled_11b_rates=0
Could not read interface wlan0 flags: No such device
nl80211 driver initialization failed.
wlan0: interface state UNINITIALIZED->DISABLED
wlan0: AP-DISABLED 
hostapd_free_hapd_data: Interface wlan0 wasn't started

hotspot is running.

I don't know why that wlan0 is being used so I tried to edit /home/gableroux/.virtualenvs/hotspot/lib/python2.7/site-packages/hotspotd/run.conf, replaced wlan0 with my deteceted wlp61s0:

$ sudo hotspotd start -v

command: ps aux |grep hostapd |grep -v grep
Verifying interfaces
command: ifconfig
done.
created interface: mon.wlp61s0 on IP: 192.168.45.1
command: ifconfig wlp61s0 up 192.168.45.1 netmask 255.255.255.0

wait..
command: sleep 2
command: ps aux |grep dnsmasq |grep -v grep
command: ps aux |grep hostapd |grep -v grep
enabling forward in sysctl.
command: sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1
creating NAT using iptables: wlp61s0<->enp0s25:
command: iptables -P FORWARD ACCEPT
command: iptables --table nat --delete-chain
command: iptables --table nat -F
command: iptables --table nat -X
command: iptables -t nat -A POSTROUTING -o enp0s25: -j MASQUERADE
command: iptables -A FORWARD -i enp0s25: -o wlp61s0 -j ACCEPT -m state --state RELATED,ESTABLISHED
command: iptables -A FORWARD -i wlp61s0 -o enp0s25: -j ACCEPT
command: iptables -A OUTPUT --out-interface wlp61s0 -j ACCEPT
command: iptables -A INPUT --in-interface wlp61s0 -j ACCEPT
running dnsmasq
command: dnsmasq --dhcp-authoritative --interface=wlp61s0 --dhcp-range=192.168.45.20,192.168.45.100,255.255.255.0,4h

running hostapd
wait..
command: sleep 2
command: hostapd -B /home/gableroux/.virtualenvs/hotspot/lib/python2.7/site-packages/hotspotd/run.conf
Configuration file: /home/gableroux/.virtualenvs/hotspot/lib/python2.7/site-packages/hotspotd/run.conf
nl80211: Could not configure driver mode
nl80211: deinit ifname=wlp61s0 disabled_11b_rates=0
nl80211 driver initialization failed.
wlp61s0: interface state UNINITIALIZED->DISABLED
wlp61s0: AP-DISABLED 
hostapd_free_hapd_data: Interface wlp61s0 wasn't started

hotspot is running.

Still no hotspot. I searched for that error

nl80211: Could not configure driver mode

I found this related question

I tried the recommanded command:

$ sudo iwconfig wlp61s0 mode master

Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlp61s0 ; Invalid argument.

Well well, sounds like it could be my network card after all.

That's definitely way easier on MacOS :/

Edit: I can no longer reproduce this problem since I moved to Fedora and things are mostly working out of the box now. Thanks for your help :)

2
  • Did you solve that problem? My laptop behaves the same way on arch. Commented Nov 23, 2016 at 11:07
  • Nope, not yet. I tried with both my internal wifi adapter and a usb wifi adapter but no luck. Always that same error message.
    – GabLeRoux
    Commented Nov 23, 2016 at 21:33

3 Answers 3

1

Probably the issue is with your hostname. Give some name with a period in it. eg: "localhost.mine" or simply "localhost"

You can set hostname via GNOME Control Center -> Details -> Overview -> Set Device name.

After setting a good hostname, create the hotspot again.

3
  • Thanks for the suggestion, I tried this but it's still lfailing. I used the following documentation to change my hostname, renamed it from zbookarch to zbookarch.local, tried again and I still get the same error (I rebooted just n case, but no success). The Details view does display my new hostname correctly.
    – GabLeRoux
    Commented Nov 20, 2016 at 20:32
  • In that case, can you try setting hostname to simply "localhost". Try setting device name the way said above (as opposed to commands like hostname' or /etc/hostname`). when I set my device name to "my.localhost" my hostname is set to "my-localhost". GNOME is trying to be oversmart. Commented Nov 21, 2016 at 1:24
  • I'm on arch linux, Gnome version 3.22.2 and Gnome Control Center doesn't let me change my Device name, see following screenshot, no such 'Set Device name'. Anyway, I tried again with hostname set to localhost but I still get the same error. This really sound like a missing default configuration with AP SSID name I don't know where.
    – GabLeRoux
    Commented Nov 21, 2016 at 21:04
0

I used create_ap.

pacman -S create_ap
sudo create_ap -m bridge wifi_interface ethernet_interface test_arch vinod123

Note: You won’t be able to browse the Internet on the host. Maybe we should use NAT rather than bridge. I haven’t tried it yet to confirm anything regarding NAT.

1
  • Thanks for your answer, but I moved to fedora 25 lately and the hotspot button in settings works out of the box now as shown here.
    – GabLeRoux
    Commented Jan 21, 2017 at 20:54
0

I solved this bug by using nm-connection-editor to manually create a Wi-Fi hotspot connection. After that the "Use as hotspot" button works as expected.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .