Wifi adapter detected but won't connect

Anyone reading thru this, please let me know ur thoughts on this and kindly help me troubleshoot.

I added a tp-link rtl8188eu based wifi adapter on a new c2d build. The GUI detects the wifi adapter, but when I try to connect by typing in the password to a network, it loads, shows me the input area for password again, loads again and does the same as a loop forever. It doesn’t connect.

  1. Are you 100% certain the password you are using is correct?

  2. Did you do a search for the chipset (rtl8188eu) and drivers for fedora? A very quick search gave me this

  1. are MAC Filter in the Wifi router set ?

We all reading thru this, often/mostly :upside_down_face:

No router yet. Trying to configure using mobile hotspot first. Planning to deploy this machine as a server.

Try using some other devices and use their wifi hotspot and see if the problem still exists.

Still exists.

dmesg ?

maybe with command “iw” in an terminal to investigate ?
man iw or just iw in an terminal

[aeon_laster@fedora rtl8188eu]$ iw
Usage:	iw [options] command
	--debug		enable netlink debugging
	--version	show version (5.9)
	dev <devname> ap start 
	dev <devname> ap stop 
	phy <phyname> coalesce enable <config-file>
	phy <phyname> coalesce disable 
	phy <phyname> coalesce show 
	dev <devname> disconnect
	dev <devname> connect [-w] <SSID> [<freq in MHz>] [<bssid>] [key 0:abcde d:1:6162636465] [mfp:req/opt/no]
	dev <devname> auth <SSID> <bssid> <type:open|shared> <freq in MHz> [key 0:abcde d:1:6162636465]
	dev <devname> cqm rssi <threshold|off> [<hysteresis>]
	event [-t|-r] [-f]
	dev <devname> ftm get_stats 
	dev <devname> ftm start_responder [lci=<lci buffer in hex>] [civic=<civic buffer in hex>]
	phy <phyname> hwsim getps 
	phy <phyname> hwsim setps <value>
	phy <phyname> hwsim stopqueues 
	phy <phyname> hwsim wakequeues 
	dev <devname> ibss leave
	dev <devname> ibss join <SSID> <freq in MHz> [NOHT|HT20|HT40+|HT40-|5MHz|10MHz|80MHz] [fixed-freq] [<fixed bssid>] [beacon-interval <TU>] [basic-rates <rate in Mbps,rate2,...>] [mcast-rate <rate in Mbps>] [key d:0:abcde]
	phy <phyname> info
	phy <phyname> interface add <name> type <type> [mesh_id <meshid>] [4addr on|off] [flags <flag>*] [addr <mac-addr>]
	dev <devname> interface add <name> type <type> [mesh_id <meshid>] [4addr on|off] [flags <flag>*] [addr <mac-addr>]
	dev <devname> del
	dev <devname> info
	dev <devname> switch freq <freq> [NOHT|HT20|HT40+|HT40-|5MHz|10MHz|80MHz] [beacons <count>] [block-tx]
	dev <devname> switch freq <control freq> [5|10|20|40|80|80+80|160] [<center1_freq> [<center2_freq>]] [beacons <count>] [block-tx]
	dev <devname> switch channel <channel> [NOHT|HT20|HT40+|HT40-|5MHz|10MHz|80MHz] [beacons <count>] [block-tx]
	help [command]
	dev <devname> link
	dev <devname> measurement ftm_request <config-file> [timeout=<seconds>] [randomise[=<addr>/<mask>]]
	dev <devname> mesh join <mesh ID> [[freq <freq in MHz> <NOHT|HT20|HT40+|HT40-|80MHz>] [basic-rates <rate in Mbps,rate2,...>]], [mcast-rate <rate in Mbps>] [beacon-interval <time in TUs>] [dtim-period <value>] [vendor_sync on|off] [<param>=<value>]*
	dev <devname> mesh leave
	dev <devname> mgmt dump frame <type as hex ab> <pattern as hex ab:cd:..> [frame <type> <pattern>]* [count <frames>]
	dev <devname> mpath probe <destination MAC address> frame <frame>
	dev <devname> mpath get <MAC address>
	dev <devname> mpath del <MAC address>
	dev <devname> mpath new <destination MAC address> next_hop <next hop MAC address>
	dev <devname> mpath set <destination MAC address> next_hop <next hop MAC address>
	dev <devname> mpath dump
	dev <devname> mpp get <MAC address>
	dev <devname> mpp dump
	wdev <idx> nan start pref <pref> [bands [2GHz] [5GHz]]
	wdev <idx> nan stop 
	wdev <idx> nan config [pref <pref>] [bands [2GHz] [5GHz]]
	wdev <idx> nan rm_func cookie <cookie>
	wdev <idx> nan add_func type <publish|subscribe|followup> [active] [solicited] [unsolicited] [bcast] [close_range] name <name> [info <info>] [flw_up_id <id> flw_up_req_id <id> flw_up_dest <mac>] [ttl <ttl>] [srf <include|exclude> <bf|list> [bf_idx] [bf_len] <mac1;mac2...>] [rx_filter <str1:str2...>] [tx_filter <str1:str2...>]
	dev <devname> ocb join <freq in MHz> <5MHz|10MHz>
	dev <devname> ocb leave
	dev <devname> offchannel <freq> <duration>
	wdev <idx> p2p start 
	wdev <idx> p2p stop 
	phy <phyname> channels
	dev <devname> cac channel <channel> [NOHT|HT20|HT40+|HT40-|5MHz|10MHz|80MHz]
	dev <devname> cac freq <freq> [NOHT|HT20|HT40+|HT40-|5MHz|10MHz|80MHz]
	dev <devname> cac freq <control freq> [5|10|20|40|80|80+80|160] [<center1_freq> [<center2_freq>]]
	dev <devname> cac trigger channel <channel> [NOHT|HT20|HT40+|HT40-|5MHz|10MHz|80MHz]
	dev <devname> cac trigger freq <frequency> [NOHT|HT20|HT40+|HT40-|5MHz|10MHz|80MHz]
	dev <devname> cac trigger freq <frequency> [5|10|20|40|80|80+80|160] [<center1_freq> [<center2_freq>]]
	reg set <ISO/IEC 3166-1 alpha2>
	reg get
	phy <phyname> reg get
	reg reload
	dev <devname> roc start <freq> <time in ms>
	dev <devname> scan [-u] [freq <freq>*] [duration <dur>] [ies <hex as 00:11:..>] [meshid <meshid>] [lowpri,flush,ap-force,duration-mandatory] [randomise[=<addr>/<mask>]] [ssid <ssid>*|passive]
	dev <devname> scan dump [-u]
	dev <devname> scan trigger [freq <freq>*] [duration <dur>] [ies <hex as 00:11:..>] [meshid <meshid>] [lowpri,flush,ap-force,duration-mandatory] [randomise[=<addr>/<mask>]] [ssid <ssid>*|passive]
	dev <devname> scan abort 
	dev <devname> scan sched_start [interval <in_msecs> | scan_plans [<interval_secs:iterations>*] <interval_secs>] [delay <in_secs>] [freqs <freq>+] [matches [ssid <ssid>]+]] [active [ssid <ssid>]+|passive] [randomise[=<addr>/<mask>]]
	dev <devname> scan sched_stop 
	dev <devname> get mesh_param [<param>]
	phy <phyname> get txq 
	dev <devname> get power_save <param>
	dev <devname> set bitrates [legacy-<2.4|5> <legacy rate in Mbps>*] [ht-mcs-<2.4|5> <MCS index>*] [vht-mcs-<2.4|5> [he-mcs-<2.4|5|6> <NSS:MCSx,MCSy... | NSS:MCSx-MCSy>*] [sgi-2.4|lgi-2.4] [sgi-5|lgi-5] [he-gi-<2.4|5|6> <0.8|1.6|3.2>] [he-ltf-<2.4|5|6> <1|2|4>]
	dev <devname> set monitor <flag>*
	dev <devname> set meshid <meshid>
	dev <devname> set type <type>
	dev <devname> set 4addr <on|off>
	dev <devname> set noack_map <map>
	dev <devname> set peer <MAC address>
	dev <devname> set mcast_rate <rate in Mbps>
	dev <devname> set tidconf [peer <MAC address>] tids <mask> [override] [sretry <num>] [lretry <num>] [ampdu [on|off]] [amsdu [on|off]] [noack [on|off]] [rtscts [on|off]][bitrates <type [auto|fixed|limit]> [legacy-<2.4|5> <legacy rate in Mbps>*] [ht-mcs-<2.4|5> <MCS index>*] [vht-mcs-<2.4|5> <NSS:MCSx,MCSy... | NSS:MCSx-MCSy>*] [sgi-2.4|lgi-2.4] [sgi-5|lgi-5]]
	dev <devname> set mesh_param <param>=<value> [<param>=<value>]*
	phy <phyname> set name <new name>
	phy <phyname> set freq <freq> [NOHT|HT20|HT40+|HT40-|5MHz|10MHz|80MHz]
	phy <phyname> set freq <control freq> [5|10|20|40|80|80+80|160] [<center1_freq> [<center2_freq>]]
	dev <devname> set freq <freq> [NOHT|HT20|HT40+|HT40-|5MHz|10MHz|80MHz]
	dev <devname> set freq <control freq> [5|10|20|40|80|80+80|160] [<center1_freq> [<center2_freq>]]
	phy <phyname> set channel <channel> [NOHT|HT20|HT40+|HT40-|5MHz|10MHz|80MHz]
	dev <devname> set channel <channel> [NOHT|HT20|HT40+|HT40-|5MHz|10MHz|80MHz]
	phy <phyname> set frag <fragmentation threshold|off>
	phy <phyname> set rts <rts threshold|off>
	phy <phyname> set retry [short <limit>] [long <limit>]
	phy <phyname> set netns { <pid> | name <nsname> }
	phy <phyname> set coverage <coverage class>
	phy <phyname> set distance <auto|distance>
	phy <phyname> set txpower <auto|fixed|limit> [<tx power in mBm>]
	dev <devname> set txpower <auto|fixed|limit> [<tx power in mBm>]
	phy <phyname> set antenna <bitmap> | all | <tx bitmap> <rx bitmap>
	phy <phyname> set txq limit <packets> | memory_limit <bytes> | quantum <bytes>
	dev <devname> set power_save <on|off>
	dev <devname> survey dump
	dev <devname> vendor send <oui> <subcmd> <filename|-|hex data>
	dev <devname> vendor recv <oui> <subcmd> <filename|-|hex data>
	dev <devname> vendor recvbin <oui> <subcmd> <filename|-|hex data>
	phy <phyname> wowlan enable [any] [disconnect] [magic-packet] [gtk-rekey-failure] [eap-identity-request] [4way-handshake] [rfkill-release] [net-detect [interval <in_msecs> | scan_plans [<interval_secs:iterations>*] <interval_secs>] [delay <in_secs>] [freqs <freq>+] [matches [ssid <ssid>]+]] [active [ssid <ssid>]+|passive] [randomise[=<addr>/<mask>]]] [tcp <config-file>] [patterns [offset1+]<pattern1> ...]
	phy <phyname> wowlan disable 
	phy <phyname> wowlan show 
	dev <devname> station get <MAC address>
	dev <devname> station del <MAC address> [subtype <subtype>] [reason-code <code>]
	dev <devname> station dump [-v]
	dev <devname> station set <MAC address> txpwr <auto|limit> [<tx power dBm>]
	dev <devname> station set <MAC address> airtime_weight <weight>
	dev <devname> station set <MAC address> mesh_power_mode <active|light|deep>
	dev <devname> station set <MAC address> vlan <ifindex>
	dev <devname> station set <MAC address> plink_action <open|block>

Commands that use the netdev ('dev') can also be given the
'wdev' instead to identify the device.

You can omit the 'phy' or 'dev' if the identification is unique,
e.g. "iw wlan0 info" or "iw phy0 info". (Don't when scripting.)

Do NOT screenscrape this tool, we don't consider its output stable.

1 Like

a short howto how to use “iw”


be aware the use the device “wlan0”, your device is named different, see with command


another way to find your wlan device name is running the following command in a terminal with root rights (sudo)

iw event

after some time you’ll see in the first line as the first word the name of your wlan device.

BTW, “iw event” was one of the commands I was thinking off, e.g. when you leave “iw event” running in an terminal and you connect via GUI you’ll get some info’s in the terminal…

there are more info’s howto use iw in the internet, assuming you want to find out “why” your device won’t connect and “loop forever” isn’t that informative.

I provided “dmesg” to investigate if your wlan device is seen by the kernel and operates. see with:

dmesg | more

another shot in the dark is SELinux. I’ve this packages installed:


after installing your’ll have a program “SELinux Troubelshooter”.
open that after unsuccessful WLAN connect.
maybe SELinux blocks something …

1 Like

On many systems the ‘ifconfig’ command is being replaced with the ‘ip’ command that handles what several commands used to do.

‘ip address show’ (which can also be done as ‘ip a’) will show each interface and its details. Thus you can get the interface name there as well as all that used to be displayed with ‘ifconfig’ and more.

1 Like


On an older version of this post (this post is an iteration of that one which I created due to the inactivity there), I have found a reply that asked if the /etc/NetworkManager/conf.d/80-wifi.conf file was still in place.

Also I found that the github rtl8188eu driver guy asks for the same thing.

On searching, I realized that the above file wasn’t there. So I added it and put these there:


After this, it kind of worked. But that is not it. Because, now I tried the mobile hotspots of different devices and found that only iphones’ hotspot was working. It is kind of good enough for me, but, before this discussion is closed, I am curious to know why the androids didn’t work. One of these two phones was running Android 8 while the other was Android 10. The former was detected by my PC and repeated the same problem that was otherwise previously ocurring, but the latter wasn’t even detected.

Please clarify this and we can conclude the party.

1 Like

your are the party-owner !

1 Like