0

Both my Raspberry Pi 1 B+ and Zero W 1.1 have the same issue when I attempt to connect TP-Link WN725N adapter - it seems its constantly down, despite changing the state manually:

pi@pr-grape:~ $ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DORMANT group default qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
3: wlan1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
pi@pr-grape:~ $ sudo ip link set wlan1 up
pi@pr-grape:~ $ sudo ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DORMANT group default qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
3: wlan1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff

dmesg does not display ANY new information after those commands, lsusb recognizes the RTL8188EUS device correctly. This adapter was working properly with previous Debian releases(Wheezy and older), with new installations it seems to not cooperate at all. How can I further investigate this issue?

(moved from comment, as requested by @Ingo)

Note: the temporary solution is using

sudo wpa_supplicant -B -i wlan1 -c /etc/wpa_supplicant/wpa_supplicant.conf -D wext

command, but I have to write it on each boot.

  • Please move the very important information from the comment to your question. You can edit your question. – Ingo Jul 12 at 13:42
  • @Ingo done as you requested. – hypixus Jul 12 at 14:59
1

It seems that the USB/WiFi adapter TP-Link WN725N is an older model and does work only with old background driver wext used by wpa_supplicant. If you use systemd-netword you can easy make two services for wpa_supplicant that will manage each interface independent. Here a suggestion I would do it. Switch to systemd-networkd:

# disable debian networking and dhcpcd
rpi ~$ sudo -Es
rpi ~# systemctl mask networking.service dhcpcd.service
rpi ~# sudo mv /etc/network/interfaces /etc/network/interfaces~
rpi ~# sed -i '1i resolvconf=NO' /etc/resolvconf.conf

# enable systemd-networkd
rpi ~# systemctl enable systemd-networkd.service systemd-resolved.service
rpi ~# ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

Create this file with your settings for country=, ssid= and psk= for the service to the wlan0 interface and enable it:

rpi ~# cat >/etc/wpa_supplicant/wpa_supplicant-wlan0.conf <<EOF
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="TestNet"
    psk="realyNotMyPassword"
    key_mgmt=WPA-PSK
}
EOF

rpi ~# chmod 600 /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
rpi ~# systemctl disable wpa_supplicant.service
rpi ~# systemctl enable wpa_supplicant@wlan0.service

And just do the same for the interface wlan1:

rpi ~# cat >/etc/wpa_supplicant/wpa_supplicant-wlan1.conf <<EOF
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="OtherTestNet"
    psk="realyNotMyPassword"
    key_mgmt=WPA-PSK
}
EOF

rpi ~# chmod 600 /etc/wpa_supplicant/wpa_supplicant-wlan1.conf
rpi ~# systemctl enable wpa_supplicant@wlan1.service

Now modify the service for wlan1 so that it only uses background driver wext. Edit the service with:

rpi ~# sudo systemctl edit wpa_supplicant@wlan1.service

In the empty editor insert these statements, save them and quit the editor:

[Service]
ExecStart=
ExecStart=/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-%I.conf -Dwext -i%I

The empty ExecStart= is important. It will disable the current setting so you can set a new one in the next line.

Reboot and check with:

rpi ~$ systemctl status wpa_supplicant@wlan0.service
rpi ~$ systemctl status wpa_supplicant@wlan1.service

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.