Chadster766 / McDebian

Linksys WRT3200ACM, WRT1900AC, WRT1900ACS, WRT1200AC and WRT32X Router Debian Implementation
98 stars 14 forks source link

Bridge sometimes enters disabled state on boot #32

Closed LeBrad closed 7 years ago

LeBrad commented 7 years ago

When booting McDebian 4.9.31 on the WRT 1900AC V1, the router sometimes hangs, and remains unresponsive until another reboot. It doesn't create a wireless access point, and it doesn't take SSH connections. This seems to happen randomly about 50 percent of the time. I'm having the same issue on four different 1900AC V1 routers. Otherwise the routers work solidly.

I plugged in a USB to TTL cable to see if PuTTY could show me what was happening on these failed boots.

When the boot hangs, I see messages like: br0: port 1(wlan0) entered disabled state

When the boot succeeds, I see messages like: br0: port 3(wlan0) entered forwarding state

I'm not sure why the bridge sometimes crashes at boot, while starting fine other times.

Chadster766 commented 7 years ago

A couple of things come to mind:

  1. The USB key could be wearing out
  2. Try moving the USB Key to the USB2.0 port.
LeBrad commented 7 years ago

I'm using new SanDisk flash drives and I've gotten the same results with both the USB 3.0 port and the eSATA/USB 2.0 port. I could try using a powered external hard drive.

Chadster766 commented 7 years ago

I doubt the SanDisk or usp power is the issue

Chadster766 commented 7 years ago

Did you enable fancontrol?

LeBrad commented 7 years ago

Yes, I enabled fancontrol as described in the thermal protection section of the wiki.

ValCher1961 commented 7 years ago

The router sometimes hangs, and remains unresponsive, that is, does not even respond to commands from the USB-TTL console?

LeBrad commented 7 years ago

The routers never respond to USB-TTL console commands even when they are working great and doing solid SSH duty. I tried sending commands using PuTTY on Windows 10 and screen on Debian 9. However the bootup output is correctly printed all the way up to the login prompt.

Chadster766 commented 7 years ago

Below if from my WRT1900AC V1:

root@MCDEBIAN:~# uname -a
Linux MCDEBIAN 4.9.31 #29 SMP Sun Jun 11 13:13:25 CDT 2017 armv7l GNU/Linux
root@MCDEBIAN:~# uptime
 21:23:38 up 45 days, 12:02,  1 user,  load average: 0.00, 0.00, 0.00
root@MCDEBIAN:~#
Chadster766 commented 7 years ago

For windows I use Tera Termin instead of Putty because Putty for serial communication wasn't be best. For Linux I use minicom for serial coms.

ValCher1961 commented 7 years ago

It's strange that it doesn't respond to USB-TTL commands. Verify that the cable connection in the router connector is correct and reliable. https://wiki.openwrt.org/_detail/media/linksys/wrt1900ac/wrt1900ac_serial_header.jpg?id=toh%3Alinksys%3Awrt_ac_series

LeBrad commented 7 years ago

Thanks, my TTL cable was loose. It's now taking USB-TTL commands just fine.

When the router hangs, I'm able to log in via the USB-TTL console.

Running the sudo systemctl restart networking command via USB-TTL on the hung router allows me to connect via ssh.

Next, running sudo systemctl restart hostapd does not bring up the wireless access points. Instead, I see the error:

br0: port 3(wlan0) entered blocking state br0: port 3(wlan0) entered disabled state device wlan0 entered promiscuous mode device wlan0 left promiscuous mode br0: port 3(wlan0) entered disabled state

This error is consistent with what I was seeing during the boot process.

When I check sudo systemctl status hostapd -l I see:

hostapd[4389]: wlan0: IEEE 802.11 Hardware does not support configured mode (2) (hw_mode in hostapd.conf) hostapd[4387]: Starting advanced IEEE 802.11 management: hostapd failed!

I don't have a file called hostapd.conf, I have /etc/hostapd/wlan0.conf configured with the line hw_mode=a

Maybe the 802.11ac driver is crashing or failing to load properly?

Chadster766 commented 7 years ago

Please run the below commands:

cat /etc/network/interfaces
systemctl status udev-network-interface-rules
cat /etc/udev/rules.d/70-persistent-net.rules
cat /etc/default/hostapd
systemctl stop hostapd
hostapd -d /etc/hostapd/wlan0.conf
hostapd -d /etc/hostapd/wlan1.conf
LeBrad commented 7 years ago

Ok, here's a big dump of debug info.

cat /etc/network/interfaces :

# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo br0

iface lo inet loopback

allow-hotplug wlan0
iface wlan0 inet manual

allow-hotplug wlan1
iface wlan1 inet manual

allow-hotplug eth1
iface eth1 inet manual

allow-hotplug eth0
iface eth0 inet manual
    #pre-up /etc/dibbler/mcdebian-set-mac
    #pre-up iptables-restore < /etc/iptables.up.rules
    #pre-up ip6tables-restore < /etc/ip6tables.up.rules

iface br0 inet dhcp
    bridge_ports eth0 eth1 wlan1 wlan0
    #address 192.168.1.1
    #netmask 255.255.255.0
    #network 192.168.1.0
    #broadcast 192.168.1.255

systemctl status udev-network-interface-rules :

● udev-network-interface-rules.service - udev network interface rules
   Loaded: loaded (/etc/systemd/system/udev-network-interface-rules.service; enabled)
   Active: active (exited) since Wed 1969-12-31 18:00:09 CST; 47 years 6 months ago
     Docs: https://github.com/Chadster766/McDebian/wiki/Udev-network-interface-rules
  Process: 1171 ExecStart=/etc/systemd/udev-network-interface-rules (code=exited, status=0/SUCCESS)
 Main PID: 1171 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/udev-network-interface-rules.service

Dec 31 18:00:09 cobrasnake systemd[1]: Started udev network interface rules.
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

cat /etc/udev/rules.d/70-persistent-net.rules :

# These rules ensure that physical interfaces are mapped correctly to names
SUBSYSTEM=="net", ATTR{ifindex}=="3", NAME="eth0"
SUBSYSTEM=="net", ATTR{ifindex}=="2", NAME="eth1"
SUBSYSTEM=="net", ATTR{ifindex}=="5", NAME="wlan0"
SUBSYSTEM=="net", ATTR{ifindex}=="4", NAME="wlan1"

# PCI device 0x11ab:0x2a55 (mwlwifi)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:9c:13:c5:c9", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan2"

cat /etc/default/hostapd :

# Defaults for hostapd initscript
#
# See /usr/share/doc/hostapd/README.Debian for information about alternative
# methods of managing hostapd.
#
# Uncomment and set DAEMON_CONF to the absolute path of a hostapd configuration
# file and hostapd will be started during system boot. An example configuration
# file can be found at /usr/share/doc/hostapd/examples/hostapd.conf.gz
#
#DAEMON_CONF=""

# Additional daemon options to be appended to hostapd command:-
#   -d   show more debug messages (-dd for even more)
#   -K   include key data in debug messages
#   -t   include timestamps in some debug messages
#
# Note that -B (daemon mode) and -P (pidfile) options are automatically
# configured by the init.d script and must not be added to DAEMON_OPTS.
#
#DAEMON_OPTS=""

DAEMON_CONF="/etc/hostapd/wlan0.conf /etc/hostapd/wlan1.conf"

hostapd -d /etc/hostapd/wlan0.conf :

random: Trying to read entropy from /dev/random
Configuration file: /etc/hostapd/wlan0.conf
rfkill: Cannot open RFKILL control device
nl80211: RFKILL status not available
nl80211: TDLS supported
nl80211: TDLS external setup
nl80211: Supported cipher 00-0f-ac:1
nl80211: Supported cipher 00-0f-ac:5
nl80211: Supported cipher 00-0f-ac:2
nl80211: Supported cipher 00-0f-ac:4
nl80211: Supported cipher 00-0f-ac:10
nl80211: Supported cipher 00-0f-ac:8
nl80211: Supported cipher 00-0f-ac:9
nl80211: Supported cipher 00-0f-ac:6
nl80211: Supported cipher 00-0f-ac:13
nl80211: Supported cipher 00-0f-ac:11
nl80211: Supported cipher 00-0f-ac:12
nl80211: Using driver-based off-channel TX
nl80211: interface wlan0 in phy phy0
nl80211: Set mode ifindex 5 iftype 3 (AP)
nl80211: Failed to set interface 5 to mode 3: -16 (Device or resource busy)
nl80211: Try mode change after setting interface down
nl80211: Set mode ifindex 5 iftype 3 (AP)
nl80211: Mode change succeeded while interface is down
nl80211: Setup AP(wlan0) - device_ap_sme=0 use_monitor=0
nl80211: Subscribe to mgmt frames with AP handle 0x7f7220a0
nl80211: Register frame type=0xb0 (WLAN_FC_STYPE_AUTH) nl_handle=0x7f7220a0 match=
nl80211: Register frame type=0x0 (WLAN_FC_STYPE_ASSOC_REQ) nl_handle=0x7f7220a0 match=
nl80211: Register frame type=0x20 (WLAN_FC_STYPE_REASSOC_REQ) nl_handle=0x7f7220a0 match=
nl80211: Register frame type=0xa0 (WLAN_FC_STYPE_DISASSOC) nl_handle=0x7f7220a0 match=
nl80211: Register frame type=0xc0 (WLAN_FC_STYPE_DEAUTH) nl_handle=0x7f7220a0 match=
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0x7f7220a0 match=
nl80211: Register frame type=0x40 (WLAN_FC_STYPE_PROBE_REQ) nl_handle=0x7f7220a0 match=
nl80211: Add own interface ifindex 8
nl80211: if_indices[16]: 8
nl80211: Add own interface ifindex 5
nl80211: if_indices[16]: 8 5
nl80211: Adding interface wlan0 into bridge br0
phy: phy0
BSS count 1, BSSID mask 00:00:00:00:00:00 (0 bits)
wlan0: interface state UNINITIALIZED->COUNTRY_UPDATE
Previous country code US, new country code US 
nl80211: Regulatory information - country=US (DFS-FCC)
nl80211: 2402-2472 @ 40 MHz 30 mBm
nl80211: 5170-5250 @ 80 MHz 23 mBm
nl80211: 5250-5330 @ 80 MHz 23 mBm (DFS)
nl80211: 5490-5730 @ 160 MHz 23 mBm (DFS)
nl80211: 5735-5835 @ 80 MHz 30 mBm
nl80211: 57240-63720 @ 2160 MHz 40 mBm
nl80211: Added 802.11b mode based on 802.11g information
Hardware does not support configured mode
wlan0: IEEE 802.11 Hardware does not support configured mode (2) (hw_mode in hostapd.conf)
Could not select hw_mode and channel. (-2)
wlan0: interface state COUNTRY_UPDATE->DISABLED
wlan0: AP-DISABLED 
wlan0: Unable to setup interface.
hostapd_interface_deinit_free(0x7f7209f0)
hostapd_interface_deinit_free: num_bss=1 conf->num_bss=1
hostapd_interface_deinit(0x7f7209f0)
hostapd_bss_deinit: deinit bss wlan0
wlan0: Deauthenticate all stations
nl80211: send_mlme - da= ff:ff:ff:ff:ff:ff noack=0 freq=0 no_cck=0 offchanok=0 wait_time=0 fc=0xc0 (WLAN_FC_STYPE_DEAUTH) nlmode=3
nl80211: send_mlme -> send_frame
nl80211: send_frame - Use bss->freq=0
nl80211: send_frame -> send_frame_cmd
nl80211: Frame command failed: ret=-22 (Invalid argument) (freq=0 wait=0)
hostapd_cleanup(hapd=0x7f721638 (wlan0))
hostapd_free_hapd_data: Interface wlan0 wasn't started
hostapd_interface_deinit_free: driver=0x7f71e494 drv_priv=0x7f721ef0 -> hapd_deinit
nl80211: Remove monitor interface: refcount=0
nl80211: Remove beacon (ifindex=5)
netlink: Operstate: ifindex=5 linkmode=0 (kernel-control), operstate=6 (IF_OPER_UP)
nl80211: Set mode ifindex 5 iftype 2 (STATION)
nl80211: Failed to set interface 5 to mode 2: -16 (Device or resource busy)
nl80211: Try mode change after setting interface down
nl80211: Set mode ifindex 5 iftype 2 (STATION)
nl80211: Mode change succeeded while interface is down
nl80211: Teardown AP(wlan0) - device_ap_sme=0 use_monitor=0
nl80211: Unsubscribe mgmt frames handle 0xf7faa829 (AP teardown)
hostapd_interface_free(0x7f7209f0)
hostapd_interface_free: free hapd 0x7f721638
hostapd_cleanup_iface(0x7f7209f0)
hostapd_cleanup_iface_partial(0x7f7209f0)
hostapd_cleanup_iface: free iface=0x7f7209f0

hostapd -d /etc/hostapd/wlan1.conf :

random: Trying to read entropy from /dev/random
Configuration file: /etc/hostapd/wlan1.conf
rfkill: Cannot open RFKILL control device
nl80211: RFKILL status not available
nl80211: TDLS supported
nl80211: TDLS external setup
nl80211: Supported cipher 00-0f-ac:1
nl80211: Supported cipher 00-0f-ac:5
nl80211: Supported cipher 00-0f-ac:2
nl80211: Supported cipher 00-0f-ac:4
nl80211: Supported cipher 00-0f-ac:10
nl80211: Supported cipher 00-0f-ac:8
nl80211: Supported cipher 00-0f-ac:9
nl80211: Supported cipher 00-0f-ac:6
nl80211: Supported cipher 00-0f-ac:13
nl80211: Supported cipher 00-0f-ac:11
nl80211: Supported cipher 00-0f-ac:12
nl80211: Using driver-based off-channel TX
nl80211: TDLS supported
nl80211: TDLS external setup
nl80211: Supported cipher 00-0f-ac:1
nl80211: Supported cipher 00-0f-ac:5
nl80211: Supported cipher 00-0f-ac:2
nl80211: Supported cipher 00-0f-ac:4
nl80211: Supported cipher 00-0f-ac:10
nl80211: Supported cipher 00-0f-ac:8
nl80211: Supported cipher 00-0f-ac:9
nl80211: Supported cipher 00-0f-ac:6
nl80211: Supported cipher 00-0f-ac:13
nl80211: Supported cipher 00-0f-ac:11
nl80211: Supported cipher 00-0f-ac:12
nl80211: Using driver-based off-channel TX
nl80211: interface wlan1 in phy phy0
nl80211: Set mode ifindex 4 iftype 3 (AP)
nl80211: Failed to set interface 4 to mode 3: -19 (No such device)
nl80211: Could not configure driver mode
nl80211: Remove monitor interface: refcount=0
netlink: Operstate: ifindex=4 linkmode=0 (kernel-control), operstate=6 (IF_OPER_UP)
nl80211: Set mode ifindex 4 iftype 2 (STATION)
nl80211: Failed to set interface 4 to mode 2: -19 (No such device)
nl80211 driver initialization failed.
hostapd_interface_deinit_free(0x7f6f59f0)
hostapd_interface_deinit_free: num_bss=1 conf->num_bss=1
hostapd_interface_deinit(0x7f6f59f0)
hostapd_bss_deinit: deinit bss wlan1
hostapd_cleanup(hapd=0x7f6f6638 (wlan1))
hostapd_free_hapd_data: Interface wlan1 wasn't started
hostapd_interface_deinit_free: driver=(nil) drv_priv=(nil) -> hapd_deinit
hostapd_interface_free(0x7f6f59f0)
hostapd_interface_free: free hapd 0x7f6f6638
hostapd_cleanup_iface(0x7f6f59f0)
hostapd_cleanup_iface_partial(0x7f6f59f0)
hostapd_cleanup_iface: free iface=0x7f6f59f0
Chadster766 commented 7 years ago

Why do you have "#pre-up /etc/dibbler/mcdebian-set-mac" which set eth1 MAC Address disabled?

Chadster766 commented 7 years ago

I'm not sure why this line is showing:

# PCI device 0x11ab:0x2a55 (mwlwifi)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:9c:13:c5:c9", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan2"

Are you setting a wlan2 interface in hostapd with a MAC Address in one of the wlanX.conf files?

Chadster766 commented 7 years ago

For the " hostapd -d" lines make sure hostapd is stopped. Then we are only interesting if hostapd fails to start the wlan or not.

LeBrad commented 7 years ago

I've re-enabled mcdebian-set-mac in /etc/network/interfaces. Likewise, I've disabled the line SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:9c:13:c5:c9", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan2" in 70-persistent-net.rules. I agree that those were unecessary.

I ran the command systemctl stop hostapd and according to systemd, hostapd is inactive. I keep getting the same hostapd -d output though.

Chadster766 commented 7 years ago

It looks like your wlan configs are good.

I recommend changing br0 from dhcp to static. This will save you problems if your DHCP Server is down or unavailable.

ValCher1961 commented 7 years ago

Excuse me, can you show your wlanX. conf., of course without wpa_passphrase?

LeBrad commented 7 years ago

Here my wlan configs:

$ cat /etc/hostapd/wlan0.conf 
interface=wlan0
bridge=br0
driver=nl80211
ctrl_interface=/var/run/hostapd
ssid=cobrasnake
ignore_broadcast_ssid=0
hw_mode=a
channel=36
auth_algs=1
wmm_enabled=1
ieee80211n=1
ht_capab=[LDPC][HT40+][SHORT-GI-20][SHORT-GI-40]
ieee80211ac=1
vht_capab=[RXLDPC][SHORT-GI-80][RX-STBC-1][SU-BEAMFORMER][SU-BEAMFORMEE][MAX-A-MPDU-LEN-EXP7][RX-ANTENNA-PATTERN][TX-ANTENNA-PATTERN]
vht_oper_chwidth=1
vht_oper_centr_freq_seg0_idx=42

wpa=2
wpa_passphrase=REDACTED
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
country_code=US
$ cat /etc/hostapd/wlan1.conf 
interface=wlan1
bridge=br0
driver=nl80211
ctrl_interface=/var/run/hostapd
ssid=cobrasnake
ignore_broadcast_ssid=0
hw_mode=g
channel=5
auth_algs=1
wmm_enabled=1
ieee80211n=1
ht_capab=[LDPC][SHORT-GI-20][SHORT-GI-40]
ieee80211ac=0

wpa=2
wpa_passphrase=REDACTED
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
country_code=US
ValCher1961 commented 7 years ago

Yes, you have the correct configuration files. Chadster , remind me, I don't have a wrt1900 v1 right now, but I think we should switch the wlan0 and wlan1 between them. If so, then wlan0-2, 4 G, and wlan1-5 G.

ValCher1961 commented 7 years ago

LeBrad Yes, you need to:

  1. Correct the lines in the configuration files, replace In wlan0.conf interface = wlan0 --> interface = wlan1 In wlan1.conf interface = wlan1 --> interface = wlan0
  2. Rename Files mv wlan0.conf wlan1.conf.tmp ; mv wlan1.conf wlan0.conf ; mv wlan1.conf.tmp wlan1.conf
LeBrad commented 7 years ago

Ok I've swapped wlan0 and wlan1. Doing so doesn't seem to change the router's behavior as far as I can tell.

ValCher1961 commented 7 years ago

Delete the file ' 70-persistent-net. rules ' and reboot the router. New file ' 70-persistent-net. rules ' automatically about after reboot.

ValCher1961 commented 7 years ago

Run the '/etc.init.d/hostapd stop ' command and ' hostapd-d /etc/hostapd/wlanX.conf ' and show.

LeBrad commented 7 years ago

Here's the hostapd debug output for each radio:

wlan0:

# hostapd -d /etc/hostapd/wlan0.conf
random: Trying to read entropy from /dev/random
Configuration file: /etc/hostapd/wlan0.conf
rfkill: Cannot open RFKILL control device
nl80211: RFKILL status not available
nl80211: TDLS supported
nl80211: TDLS external setup
nl80211: Supported cipher 00-0f-ac:1
nl80211: Supported cipher 00-0f-ac:5
nl80211: Supported cipher 00-0f-ac:2
nl80211: Supported cipher 00-0f-ac:4
nl80211: Supported cipher 00-0f-ac:10
nl80211: Supported cipher 00-0f-ac:8
nl80211: Supported cipher 00-0f-ac:9
nl80211: Supported cipher 00-0f-ac:6
nl80211: Supported cipher 00-0f-ac:13
nl80211: Supported cipher 00-0f-ac:11
nl80211: Supported cipher 00-0f-ac:12
nl80211: Using driver-based off-channel TX
nl80211: interface wlan0 in phy phy1
nl80211: Set mode ifindex 5 iftype 3 (AP)
nl80211: Failed to set interface 5 to mode 3: -16 (Device or resource busy)
nl80211: Try mode change after setting interface down
nl80211: Set mode ifindex 5 iftype 3 (AP)
nl80211: Mode change succeeded while interface is down
nl80211: Setup AP(wlan0) - device_ap_sme=0 use_monitor=0
nl80211: Subscribe to mgmt frames with AP handle 0x7f6e30a0
nl80211: Register frame type=0xb0 (WLAN_FC_STYPE_AUTH) nl_handle=0x7f6e30a0 match=
nl80211: Register frame type=0x0 (WLAN_FC_STYPE_ASSOC_REQ) nl_handle=0x7f6e30a0 match=
nl80211: Register frame type=0x20 (WLAN_FC_STYPE_REASSOC_REQ) nl_handle=0x7f6e30a0 match=
nl80211: Register frame type=0xa0 (WLAN_FC_STYPE_DISASSOC) nl_handle=0x7f6e30a0 match=
nl80211: Register frame type=0xc0 (WLAN_FC_STYPE_DEAUTH) nl_handle=0x7f6e30a0 match=
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0x7f6e30a0 match=
nl80211: Register frame type=0x40 (WLAN_FC_STYPE_PROBE_REQ) nl_handle=0x7f6e30a0 match=
nl80211: Add own interface ifindex 6
nl80211: if_indices[16]: 6
nl80211: Add own interface ifindex 5
nl80211: if_indices[16]: 6 5
nl80211: Adding interface wlan0 into bridge br0
phy: phy1
BSS count 1, BSSID mask 00:00:00:00:00:00 (0 bits)
wlan0: interface state UNINITIALIZED->COUNTRY_UPDATE
Previous country code US, new country code US 
nl80211: Regulatory information - country=US (DFS-FCC)
nl80211: 2402-2472 @ 40 MHz 30 mBm
nl80211: 5170-5250 @ 80 MHz 23 mBm
nl80211: 5250-5330 @ 80 MHz 23 mBm (DFS)
nl80211: 5490-5730 @ 160 MHz 23 mBm (DFS)
nl80211: 5735-5835 @ 80 MHz 30 mBm
nl80211: 57240-63720 @ 2160 MHz 40 mBm
Hardware does not support configured mode
wlan0: IEEE 802.11 Hardware does not support configured mode (1) (hw_mode in hostapd.conf)
Could not select hw_mode and channel. (-2)
wlan0: interface state COUNTRY_UPDATE->DISABLED
wlan0: AP-DISABLED 
wlan0: Unable to setup interface.
hostapd_interface_deinit_free(0x7f6e19f0)
hostapd_interface_deinit_free: num_bss=1 conf->num_bss=1
hostapd_interface_deinit(0x7f6e19f0)
hostapd_bss_deinit: deinit bss wlan0
wlan0: Deauthenticate all stations
nl80211: send_mlme - da= ff:ff:ff:ff:ff:ff noack=0 freq=0 no_cck=0 offchanok=0 wait_time=0 fc=0xc0 (WLAN_FC_STYPE_DEAUTH) nlmode=3
nl80211: send_mlme -> send_frame
nl80211: send_frame - Use bss->freq=0
nl80211: send_frame -> send_frame_cmd
nl80211: Frame command failed: ret=-22 (Invalid argument) (freq=0 wait=0)
hostapd_cleanup(hapd=0x7f6e2638 (wlan0))
hostapd_free_hapd_data: Interface wlan0 wasn't started
hostapd_interface_deinit_free: driver=0x7f6df494 drv_priv=0x7f6e2ef0 -> hapd_deinit
nl80211: Remove monitor interface: refcount=0
nl80211: Remove beacon (ifindex=5)
netlink: Operstate: ifindex=5 linkmode=0 (kernel-control), operstate=6 (IF_OPER_UP)
nl80211: Set mode ifindex 5 iftype 2 (STATION)
nl80211: Failed to set interface 5 to mode 2: -16 (Device or resource busy)
nl80211: Try mode change after setting interface down
nl80211: Set mode ifindex 5 iftype 2 (STATION)
nl80211: Mode change succeeded while interface is down
nl80211: Teardown AP(wlan0) - device_ap_sme=0 use_monitor=0
nl80211: Unsubscribe mgmt frames handle 0xf7e6b829 (AP teardown)
hostapd_interface_free(0x7f6e19f0)
hostapd_interface_free: free hapd 0x7f6e2638
hostapd_cleanup_iface(0x7f6e19f0)
hostapd_cleanup_iface_partial(0x7f6e19f0)
hostapd_cleanup_iface: free iface=0x7f6e19f0

wlan1 :

# hostapd -d /etc/hostapd/wlan1.conf
random: Trying to read entropy from /dev/random
Configuration file: /etc/hostapd/wlan1.conf
rfkill: Cannot open RFKILL control device
nl80211: RFKILL status not available
nl80211: TDLS supported
nl80211: TDLS external setup
nl80211: Supported cipher 00-0f-ac:1
nl80211: Supported cipher 00-0f-ac:5
nl80211: Supported cipher 00-0f-ac:2
nl80211: Supported cipher 00-0f-ac:4
nl80211: Supported cipher 00-0f-ac:10
nl80211: Supported cipher 00-0f-ac:8
nl80211: Supported cipher 00-0f-ac:9
nl80211: Supported cipher 00-0f-ac:6
nl80211: Supported cipher 00-0f-ac:13
nl80211: Supported cipher 00-0f-ac:11
nl80211: Supported cipher 00-0f-ac:12
nl80211: Using driver-based off-channel TX
nl80211: interface wlan1 in phy phy0
nl80211: Set mode ifindex 4 iftype 3 (AP)
nl80211: Failed to set interface 4 to mode 3: -16 (Device or resource busy)
nl80211: Try mode change after setting interface down
nl80211: Set mode ifindex 4 iftype 3 (AP)
nl80211: Mode change succeeded while interface is down
nl80211: Setup AP(wlan1) - device_ap_sme=0 use_monitor=0
nl80211: Subscribe to mgmt frames with AP handle 0x7f71d0a0
nl80211: Register frame type=0xb0 (WLAN_FC_STYPE_AUTH) nl_handle=0x7f71d0a0 match=
nl80211: Register frame type=0x0 (WLAN_FC_STYPE_ASSOC_REQ) nl_handle=0x7f71d0a0 match=
nl80211: Register frame type=0x20 (WLAN_FC_STYPE_REASSOC_REQ) nl_handle=0x7f71d0a0 match=
nl80211: Register frame type=0xa0 (WLAN_FC_STYPE_DISASSOC) nl_handle=0x7f71d0a0 match=
nl80211: Register frame type=0xc0 (WLAN_FC_STYPE_DEAUTH) nl_handle=0x7f71d0a0 match=
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0x7f71d0a0 match=
nl80211: Register frame type=0x40 (WLAN_FC_STYPE_PROBE_REQ) nl_handle=0x7f71d0a0 match=
nl80211: Add own interface ifindex 6
nl80211: if_indices[16]: 6
nl80211: Add own interface ifindex 4
nl80211: if_indices[16]: 6 4
nl80211: Adding interface wlan1 into bridge br0
phy: phy0
BSS count 1, BSSID mask 00:00:00:00:00:00 (0 bits)
wlan1: interface state UNINITIALIZED->COUNTRY_UPDATE
Previous country code US, new country code US 
nl80211: Regulatory information - country=US (DFS-FCC)
nl80211: 2402-2472 @ 40 MHz 30 mBm
nl80211: 5170-5250 @ 80 MHz 23 mBm
nl80211: 5250-5330 @ 80 MHz 23 mBm (DFS)
nl80211: 5490-5730 @ 160 MHz 23 mBm (DFS)
nl80211: 5735-5835 @ 80 MHz 30 mBm
nl80211: 57240-63720 @ 2160 MHz 40 mBm
nl80211: Added 802.11b mode based on 802.11g information
Hardware does not support configured mode
wlan1: IEEE 802.11 Hardware does not support configured mode (2) (hw_mode in hostapd.conf)
Could not select hw_mode and channel. (-2)
wlan1: interface state COUNTRY_UPDATE->DISABLED
wlan1: AP-DISABLED 
wlan1: Unable to setup interface.
hostapd_interface_deinit_free(0x7f71b9f0)
hostapd_interface_deinit_free: num_bss=1 conf->num_bss=1
hostapd_interface_deinit(0x7f71b9f0)
hostapd_bss_deinit: deinit bss wlan1
wlan1: Deauthenticate all stations
nl80211: send_mlme - da= ff:ff:ff:ff:ff:ff noack=0 freq=0 no_cck=0 offchanok=0 wait_time=0 fc=0xc0 (WLAN_FC_STYPE_DEAUTH) nlmode=3
nl80211: send_mlme -> send_frame
nl80211: send_frame - Use bss->freq=0
nl80211: send_frame -> send_frame_cmd
nl80211: Frame command failed: ret=-22 (Invalid argument) (freq=0 wait=0)
hostapd_cleanup(hapd=0x7f71c638 (wlan1))
hostapd_free_hapd_data: Interface wlan1 wasn't started
hostapd_interface_deinit_free: driver=0x7f719494 drv_priv=0x7f71cef0 -> hapd_deinit
nl80211: Remove monitor interface: refcount=0
nl80211: Remove beacon (ifindex=4)
netlink: Operstate: ifindex=4 linkmode=0 (kernel-control), operstate=6 (IF_OPER_UP)
nl80211: Set mode ifindex 4 iftype 2 (STATION)
nl80211: Failed to set interface 4 to mode 2: -16 (Device or resource busy)
nl80211: Try mode change after setting interface down
nl80211: Set mode ifindex 4 iftype 2 (STATION)
nl80211: Mode change succeeded while interface is down
nl80211: Teardown AP(wlan1) - device_ap_sme=0 use_monitor=0
nl80211: Unsubscribe mgmt frames handle 0xf7f95829 (AP teardown)
hostapd_interface_free(0x7f71b9f0)
hostapd_interface_free: free hapd 0x7f71c638
hostapd_cleanup_iface(0x7f71b9f0)
hostapd_cleanup_iface_partial(0x7f71b9f0)
hostapd_cleanup_iface: free iface=0x7f71b9f0
ValCher1961 commented 7 years ago

Run commands iw wlan0 del iw wlan1 del iw phy0 interface add wlan0 type managed iw phy1 interface add wlan1 type managed /etc/init.d/hostapd stop 'hostapd-d /etc/hostapd/wlanX.conf ' and show

LeBrad commented 7 years ago

Here's the requested debug info.

wlan1:

# hostapd -d /etc/hostapd/wlan0.conf
random: Trying to read entropy from /dev/random
Configuration file: /etc/hostapd/wlan0.conf
rfkill: Cannot open RFKILL control device
nl80211: RFKILL status not available
Could not read interface wlan0 flags: No such device
nl80211: Driver does not support authentication/association or connect commands
nl80211: Remove monitor interface: refcount=0
netlink: Operstate: ifindex=0 linkmode=0 (kernel-control), operstate=6 (IF_OPER_UP)
Could not read interface wlan0 flags: No such device
nl80211: Set mode ifindex 0 iftype 2 (STATION)
nl80211: Failed to set interface 0 to mode 2: -19 (No such device)
nl80211 driver initialization failed.
hostapd_interface_deinit_free(0x7f6bc9f0)
hostapd_interface_deinit_free: num_bss=1 conf->num_bss=1
hostapd_interface_deinit(0x7f6bc9f0)
hostapd_bss_deinit: deinit bss wlan0
hostapd_cleanup(hapd=0x7f6bd638 (wlan0))
hostapd_free_hapd_data: Interface wlan0 wasn't started
hostapd_interface_deinit_free: driver=(nil) drv_priv=(nil) -> hapd_deinit
hostapd_interface_free(0x7f6bc9f0)
hostapd_interface_free: free hapd 0x7f6bd638
hostapd_cleanup_iface(0x7f6bc9f0)
hostapd_cleanup_iface_partial(0x7f6bc9f0)
hostapd_cleanup_iface: free iface=0x7f6bc9f0

wlan0:

# hostapd -d /etc/hostapd/wlan1.conf
random: Trying to read entropy from /dev/random
Configuration file: /etc/hostapd/wlan1.conf
rfkill: Cannot open RFKILL control device
nl80211: RFKILL status not available
Could not read interface wlan1 flags: No such device
nl80211: Driver does not support authentication/association or connect commands
nl80211: Remove monitor interface: refcount=0
netlink: Operstate: ifindex=0 linkmode=0 (kernel-control), operstate=6 (IF_OPER_UP)
Could not read interface wlan1 flags: No such device
nl80211: Set mode ifindex 0 iftype 2 (STATION)
nl80211: Failed to set interface 0 to mode 2: -19 (No such device)
nl80211 driver initialization failed.
hostapd_interface_deinit_free(0x7f7189f0)
hostapd_interface_deinit_free: num_bss=1 conf->num_bss=1
hostapd_interface_deinit(0x7f7189f0)
hostapd_bss_deinit: deinit bss wlan1
hostapd_cleanup(hapd=0x7f719638 (wlan1))
hostapd_free_hapd_data: Interface wlan1 wasn't started
hostapd_interface_deinit_free: driver=(nil) drv_priv=(nil) -> hapd_deinit
hostapd_interface_free(0x7f7189f0)
hostapd_interface_free: free hapd 0x7f719638
hostapd_cleanup_iface(0x7f7189f0)
hostapd_cleanup_iface_partial(0x7f7189f0)
hostapd_cleanup_iface: free iface=0x7f7189f0
ValCher1961 commented 7 years ago

Notice the previous debug output

Hardware does not support configured mode
wlan0: IEEE 802.11 Hardware does not support configured mode (1) (hw_mode in hostapd.conf)
Could not select hw_mode and channel. (-2)

After reboot, do you have this message now?

LeBrad commented 7 years ago

It still gives a similar error. Here's systemd's report on hostapd after rebooting:

● hostapd.service - LSB: Advanced IEEE 802.11 management daemon
   Loaded: loaded (/etc/init.d/hostapd)
   Active: active (exited) since Wed 1969-12-31 18:00:32 CST; 47 years 6 months ago
  Process: 2668 ExecStart=/etc/init.d/hostapd start (code=exited, status=0/SUCCESS)

Dec 31 18:00:31 cobrasnake hostapd[2678]: wlan1: IEEE 802.11 Hardware does not support configured mode (2) (hw_mode in hostapd.conf)
Dec 31 18:00:32 cobrasnake hostapd[2668]: Starting advanced IEEE 802.11 management: hostapd failed!
Dec 31 18:00:32 cobrasnake systemd[1]: Started LSB: Advanced IEEE 802.11 management daemon.
LeBrad commented 7 years ago

Also, when I try to restart hostapd, systemd reports:

Dec 31 18:02:00 cobrasnake hostapd[3094]: Starting advanced IEEE 802.11 management: hostapd failed!

ValCher1961 commented 7 years ago

Can you reinstall hostapd?

ValCher1961 commented 7 years ago

I don't know what else to suggest, check the binary /lib/firmware/mwlwifi/88w8864.bin file, matches the version of the installed mwlwifi driver.

LeBrad commented 7 years ago

Now when I list the iw devices, I see wlan0 and wlan2?

# sudo iw dev
phy#1
        Interface wlan2
                ifindex 6
                wdev 0x100000001
                addr 00:25:9c:13:c5:c9
                type managed
phy#0
        Interface wlan0
                ifindex 5
                wdev 0x1
                addr 00:25:9c:13:c5:c8
                type managed

Also, wlan1 shows up when I run ip address, but I can't delete it.

# iw wlan1 del
command failed: No such device (-19)

Seems like I've messed something up.

ValCher1961 commented 7 years ago

My opinion, in your system there is a renaming of the Wlan1 interface in Wlan2. Try reinstalling the root file system Mcdebian. Note that the interface names are bound to their frequency ranges. Watch examples - https://github.com/kaloz/mwlwifi/tree/master/test

LeBrad commented 7 years ago

Ok, I'm reinstalling the McDebian root file system following the steps described in the wiki, and I'll report back.

ValCher1961 commented 7 years ago

I would also recommend the beginning of return to stock FW, and then pour the kernel and install the Mcdebian file system.

Chadster766 commented 7 years ago

IMO the only issues you had were:

1)

# PCI device 0x11ab:0x2a55 (mwlwifi)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:9c:13:c5:c9", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan2"

2) Maybe disabling "mcdebian-set-mac" 3) Having br0 "dhcp" instead of "static"