Where did my Wifi adapter go (Ubuntu 19.04)?

Today, my laptops wifi randomly stopped working. I went to check the connection and there was no wifi icon to select. In the settings, it just states “No Wifi Adapter Found”. The lspci command returns this:

codyp@codys-inspiron:~$ lspci 00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 08) 00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07) 00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 08) 00:13.0 Non-VGA unclassified device: Intel Corporation Sunrise Point-LP Integrated Sensor Hub (rev 21) 00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21) 00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21) 00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21) 00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21) 00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] (rev 21) 00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #6 (rev f1) 00:1f.0 ISA bridge: Intel Corporation Intel(R) 100 Series Chipset Family LPC Controller/eSPI Controller - 9D4E (rev 21) 00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21) 00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21) 00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)

But, I am inexperienced with Ubuntu and I have no clue what I am looking. Why would it disappear in the first place? Right now I have internet through ethernet. The sudo lshw -C network command outputs this (I assume I should also be seeing a wireless network listed, but I don’t):

  *-network                     description: Ethernet interface    physical id: 2    logical name: enx00000006776a    serial: 00:00:00:06:77:6a    size: 100Mbit/s    capacity: 100Mbit/s    capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation    configuration: autonegotiation=on broadcast=yes driver=asix driverversion=22-Dec-2011 duplex=full firmware=ASIX AX88772B USB 2.0 Ethernet ip=192.168.86.200 link=yes multicast=yes port=MII speed=100Mbit/s 

And this is from ifconfig:

        inet 192.168.86.200  netmask 255.255.255.0  broadcast 192.168.86.255     inet6 fe80::409:f5be:cd2e:92e3  prefixlen 64  scopeid 0x20<link>     ether 00:00:00:06:77:6a  txqueuelen 1000  (Ethernet)     RX packets 6217  bytes 6523352 (6.5 MB)     RX errors 0  dropped 0  overruns 0  frame 0     TX packets 4303  bytes 604422 (604.4 KB)     TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536     inet 127.0.0.1  netmask 255.0.0.0     inet6 ::1  prefixlen 128  scopeid 0x10<host>     loop  txqueuelen 1000  (Local Loopback)     RX packets 1447  bytes 129014 (129.0 KB)     RX errors 0  dropped 0  overruns 0  frame 0     TX packets 1447  bytes 129014 (129.0 KB)     TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 

Please tell me that this is fixable, I just bought this laptop. Is there anyway to just reinstall the driver? Thank you in advance!

share vpn connection ( over internal wi-fi ) to usb wi-fi adapter ( set up as access point )

Ok, now it may be a little confusing..

I’m connecting to WiFi via my MacBook’s internal WiFi adapter. Then connect to my VPN..

I want to share this VPN connection over USB WiFi adapter ( I’m using Archer T2U )

  • First of all I couldn’t able to configure Archer T2U as Access Point at all.. The software driver doesn’t have an option like that. Though I did set it up as AP on Windows.

  • I could connect to WiFi via USB WiFi adapter. Then when I connect to VPN, it’s also connected. But when I try to share the VPN connection through internal WiFi, it’s not working. VPN drops connection and because VPN is dropped WiFi couldn’t find anything to share.

Is there any way to set up USB WiFi adapter as access point other than its’ software ( via command line or anything ).

Why does VPN connection drops when I try to share it over internal WiFi? It would work if the connection stays I think.

How to Implement Fused Location in Firebase Recycler Adapter Database UI?

I have a problem for implementing fused location which method is used to get current location for the device on Firebase Database UI but It doesn’t work because there was a red line that noticed

Cannot resolve method 'addOnSuccessListener(anonymous com.firebase.ui.database.FirebaseRecyclerAdapter<co.id.roningrum.dolanapptugasakhir.item.CategoryItem,co.id.roningrum.dolanapptugasakhir.adapter.CategoryViewHolder>, anonymous com.google.android.gms.tasks.OnSuccessListener<android.location.Location>)

There are three classes wheter I’ve already made, CategoryItem, CategoryViewHolder and CategoryMenuActivity. CategoryItem is a model class, CategoryViewHolder is a ViewHolder class and CategoryMenuActivity is an activity class which used to show the list of items.

  1. CategoryItem.java
 public class CategoryItem {     private String name_tourism;     private String location_tourism;     private String info_tourism;     private String telepon;     private String url_photo;     private double lat_location_tourism;     private double lng_location_tourism;      public CategoryItem() {         //constructor untuk panggilan ke DataSnapshot.getValue     }      public CategoryItem(String name_tourism, String location_tourism, String info_tourism, String telepon, String url_photo, double lat_location_tourism, double lng_location_tourism) {         this.name_tourism = name_tourism;         this.location_tourism = location_tourism;         this.info_tourism = info_tourism;         this.telepon = telepon;         this.url_photo = url_photo;         this.lat_location_tourism = lat_location_tourism;         this.lng_location_tourism = lng_location_tourism;     }      public String getName_tourism() {         return name_tourism;     }      public void setName_tourism(String name_tourism) {         this.name_tourism = name_tourism;     }      public String getLocation_tourism() {         return location_tourism;     }      public void setLocation_tourism(String location_tourism) {         this.location_tourism = location_tourism;     }      public String getInfo_tourism() {         return info_tourism;     }      public void setInfo_tourism(String info_tourism) {         this.info_tourism = info_tourism;     }      public String getTelepon() {         return telepon;     }      public void setTelepon(String telepon) {         this.telepon = telepon;     }      public String getUrl_photo() {         return url_photo;     }      public void setUrl_photo(String url_photo) {         this.url_photo = url_photo;     }      public double getLat_location_tourism() {         return lat_location_tourism;     }      public void setLat_location_tourism(double lat_location_tourism) {         this.lat_location_tourism = lat_location_tourism;     }      public double getLng_location_tourism() {         return lng_location_tourism;     }      public void setLng_location_tourism(double lng_location_tourism) {         this.lng_location_tourism = lng_location_tourism;     } } 
  1. CategoryViewHolder.java
package co.id.roningrum.dolanapptugasakhir.adapter;  import android.location.Location; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.ImageView; import android.widget.TextView;  import com.bumptech.glide.Glide;  import java.text.DecimalFormat;  import co.id.roningrum.dolanapptugasakhir.R; import co.id.roningrum.dolanapptugasakhir.item.CategoryItem;   public class CategoryViewHolder extends RecyclerView.ViewHolder {     private TextView name_tourisms, location_tourism, distance_tourism;     private ImageView tourism_pic;        public CategoryViewHolder(@NonNull View itemView) {         super(itemView);         name_tourisms = itemView.findViewById(R.id.tv_name_tourism);         location_tourism = itemView.findViewById(R.id.tv_location_tourism);         distance_tourism= itemView.findViewById(R.id.tv_distance_tourism);         tourism_pic = itemView.findViewById(R.id.tourism_pic);         itemView.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View v) {                 categoryOnClick.onItemClick(v, getAdapterPosition());             }         });      }      public void showTourismData(CategoryItem categoryItem, double longitude, double latitude) {         Location loc1 = new Location("");         loc1.setLatitude(latitude);         loc1.setLongitude(longitude);         Location loc2 = new Location("");         loc2.setLatitude(categoryItem.getLat_location_tourism());         loc2.setLongitude(categoryItem.getLng_location_tourism());          float jarakMeter = loc1.distanceTo(loc2);         float jarakKM = jarakMeter/1000;          DecimalFormat df = new DecimalFormat();         df.setMaximumFractionDigits(2);          name_tourisms.setText(categoryItem.getName_tourism());         location_tourism.setText(categoryItem.getLocation_tourism());         distance_tourism.setText(""+df.format(jarakKM)+" KM");         Glide.with(itemView.getContext()).load(categoryItem.getUrl_photo()).into(tourism_pic);     }      //interface     private CategoryViewHolder.ClickListener categoryOnClick;     public interface ClickListener{         void onItemClick (View view, int position);     }     public void setOnClickListener(CategoryViewHolder.ClickListener clickListener){         categoryOnClick = clickListener;     }   } //} 
  1. CategoryMenuActivity.java
import com.firebase.ui.database.FirebaseRecyclerOptions; import com.google.android.gms.location.FusedLocationProviderClient; import com.google.android.gms.location.LocationServices; import com.google.android.gms.tasks.OnSuccessListener; import com.google.firebase.database.DatabaseReference; import com.google.firebase.database.FirebaseDatabase; import com.google.firebase.database.Query;  import java.util.ArrayList;  import co.id.roningrum.dolanapptugasakhir.adapter.CategoryViewHolder; import co.id.roningrum.dolanapptugasakhir.item.CategoryItem;  public class CategoryMenuActivity extends AppCompatActivity {     Toolbar mToolbar;     DatabaseReference tourismDBRef;     RecyclerView rvTourismList;     ArrayList<CategoryItem> categoryItemList;     FirebaseRecyclerAdapter<CategoryItem, CategoryViewHolder> firebaseAdapter;      LocationManager locationManagers;     String[] perms = {Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_NETWORK_STATE};      @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_category_menu);         mToolbar = findViewById(R.id.toolbar_top);         rvTourismList = findViewById(R.id.tourism_list);         rvTourismList.setLayoutManager(new LinearLayoutManager(this));         categoryItemList = new ArrayList<>();          setSupportActionBar(mToolbar);          locationManagers = (LocationManager)   getSystemService(Context.LOCATION_SERVICE);          tourismDBRef = FirebaseDatabase.getInstance().getReference();         Query query = tourismDBRef.child("Tourism");          FirebaseRecyclerOptions<CategoryItem> options = new FirebaseRecyclerOptions.Builder<CategoryItem>()                 .setQuery(query, CategoryItem.class)                 .build();         firebaseAdapter = new FirebaseRecyclerAdapter<CategoryItem, CategoryViewHolder>(options) {              @NonNull             @Override             public CategoryViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {                 View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_category_menu, viewGroup, false);                 return new CategoryViewHolder(view);             }              @Override             public void onBindViewHolder(@NonNull final CategoryViewHolder holder, int position, @NonNull final CategoryItem model) {                 final DatabaseReference touristRef = getRef(position);                 final String wiskey = touristRef.getKey();                  FusedLocationProviderClient mFusedLocation = LocationServices.getFusedLocationProviderClient(getApplicationContext());                  if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {                     // TODO: Consider calling                     //    ActivityCompat#requestPermissions                     // here to request the missing permissions, and then overriding                     //   public void onRequestPermissionsResult(int requestCode, String[] permissions,                     //                                          int[] grantResults)                     // to handle the case where the user grants the permission. See the documentation                     // for ActivityCompat#requestPermissions for more details.                     verifyPermission();                     return;                 }                 mFusedLocation.getLastLocation().addOnSuccessListener(this, new OnSuccessListener<Location>() {                     @Override                     public void onSuccess(Location location) {                         if (location != null) {                             // Do it all with location                             Log.d("My Current location", "Lat : " + location.getLatitude() + " Long : " + location.getLongitude());                             double latitude = location.getLatitude();                             double longitude = location.getLongitude();                             holder.showTourismData(model, latitude,longitude);                             holder.setOnClickListener(new CategoryViewHolder.ClickListener() {                                 @Override                                 public void onItemClick(View view, int position) {                                     Intent intent = new Intent(getApplicationContext(), DetailCategoryActivity.class);                                     intent.putExtra(DetailCategoryActivity.EXTRA_WISATA_KEY, wiskey);                                     startActivity(intent);                                 }                             });                         }                     }                 });               }         };         firebaseAdapter.notifyDataSetChanged();         rvTourismList.setAdapter(firebaseAdapter);     }       private void verifyPermission() {         if (!hasPermission(this, perms)) {             ActivityCompat.requestPermissions(this, perms, 1);         }     }      private boolean hasPermission(Context context, String[] perms) {         if (context != null && perms != null) {             for (String permission : perms) {                 if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {                     return false;                 }             }         }         return true;     }      @Override     public boolean onCreateOptionsMenu(Menu menu) {         getMenuInflater().inflate(R.menu.toolbar_menu, menu);         MenuItem mSearch = menu.findItem(R.id.searchMenu);         SearchView mSearchView = (SearchView) mSearch.getActionView();         mSearchView.setQueryHint("Search");         mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {             @Override             public boolean onQueryTextSubmit(String query) {                 return false;             }              @Override             public boolean onQueryTextChange(String searchText) {                 rvTourismList.removeAllViews();                 firebaseSearch(searchText); return super.onCreateOptionsMenu(menu);     }      private void firebaseSearch(String searchText) {         Query firebaseSearchquery = tourismDBRef.child("Tourism").orderByKey().startAt(searchText).endAt(searchText + "\uf8ff");         FirebaseRecyclerOptions<CategoryItem> options = new FirebaseRecyclerOptions.Builder<CategoryItem>()                 .setQuery(firebaseSearchquery, CategoryItem.class)                 .setLifecycleOwner(this)                 .build();         firebaseAdapter = new FirebaseRecyclerAdapter<CategoryItem, CategoryViewHolder>(options) {              @NonNull             @Override             public CategoryViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {                 View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_category_menu, viewGroup, false);                 return new CategoryViewHolder(view);             }              @Override             public void onBindViewHolder(@NonNull CategoryViewHolder holder, int position, @NonNull CategoryItem model) {                 final DatabaseReference touristRef = getRef(position);                 final String wiskey = touristRef.getKey();                  holder.showTourismData(model);                 holder.setOnClickListener(new CategoryViewHolder.ClickListener() {                     @Override                     public void onItemClick(View view, int position) {                         Intent intent = new Intent(getApplicationContext(), DetailCategoryActivity.class);                         intent.putExtra(DetailCategoryActivity.EXTRA_WISATA_KEY, wiskey);                         startActivity(intent);                     }                 });             }         };         rvTourismList.setAdapter(firebaseAdapter);      }     @Override     protected void onStart() {         super.onStart();         firebaseAdapter.startListening();     }      @Override     protected void onStop() {         super.onStop();         if (firebaseAdapter != null) {             firebaseAdapter.stopListening();         }      } } 

I exepect the method fused location can work because my expectation to show distance which is the result of calculating distance between current location and the destination place. Thank you 🙂

Wifi Adapter missing on 19.04

Wifi adapter is sometimes showing up and most of the time missing. I’m on 19.04. My laptop is Asus K401U.

When I run this: sudo lshw -c network, I only get the Ethernet interface and no Wireless interface.

When the wifi showed up the other day, I tried running: sudo lshw -c network and I got this information:

        description: Wireless interface        product: AR9462 Wireless Network Adapter        vendor: Qualcomm Atheros 

Thank you in advance for your help.

Concurrent Queue Adapter

There’s lots of code out there for basic adapters of std::deque to provide a thread-safe queue. I’ve adopted that, but wanted to provide a relatively full analog to std::queue, so I’ve added the whole set of constructors and operator=. The queue works fine. My questions are mainly related to the constructors and operator=:

  1. Have I applied the correct type traits for identifying whether the constructor will be noexcept?
  2. I’m using notify_once for push and emplace, and notify_all for operator= overloads. Is that correct?
  3. Because I need to acquire a lock before altering the queue, the constructors have to be written a bit differently from the std::queue adapter. For example, the initializer list can’t include the data copy/move. Does that code look correct?

Other comments not related to those questions are welcome. One note about the class—I did add some combination methods (e.g., clear_count_push) because that is a common combination of calls that I use—such as at program shutdown when I push a close thread semaphore on the queue so that the thread taking work off the queue will know it’s time to shut down.

template<typename T, class Container = std::deque<T>> class BlockingQueue {  public:    using container_type = Container;    using value_type = typename Container::value_type;    using size_type = typename Container::size_type;    using reference = typename Container::reference;    using const_reference = typename Container::const_reference;    static_assert(std::is_same_v<T, value_type>, "container adaptors require consistent types");    // Constructors: see https://en.cppreference.com/w/cpp/container/queue/queue    // These are in same order and number as in cppreference    /*1*/ BlockingQueue() noexcept(std::is_nothrow_default_constructible_v<Container>){};    /*2*/ explicit BlockingQueue(const Container& cont) noexcept(        std::is_nothrow_copy_constructible_v<Container>)        : queue_{cont}    {    }    /*3*/ explicit BlockingQueue(Container&& cont) noexcept(        std::is_nothrow_move_constructible_v<Container>)        : queue_{std::move(cont)}    {    }    /*4*/ BlockingQueue(const BlockingQueue& other)    {       auto lock{std::scoped_lock(other.mutex_)};       queue_ = other.queue_;    }    /*5*/ BlockingQueue(BlockingQueue&& other) noexcept(        std::is_nothrow_move_constructible_v<BlockingQueue>)    {       auto lock{std::scoped_lock(other.mutex_)};       queue_ = std::move(other.queue_);    }    /*6*/ template<class Alloc, class = std::enable_if_t<std::uses_allocator_v<Container, Alloc>>>    explicit BlockingQueue(const Alloc& alloc) noexcept(        std::is_nothrow_constructible_v<Container, const Alloc&>)        : queue_{alloc}    {    }    /*7*/ template<class Alloc, class = std::enable_if_t<std::uses_allocator_v<Container, Alloc>>>    BlockingQueue(const Container& cont, const Alloc& alloc) : queue_{cont, alloc}    {    }    /*8*/ template<class Alloc, class = std::enable_if_t<std::uses_allocator_v<Container, Alloc>>>    BlockingQueue(Container&& cont, const Alloc& alloc) noexcept(        std::is_nothrow_constructible_v<Container, Container, const Alloc&>)        : queue_(std::move(cont), alloc)    {    }    /*9*/ template<class Alloc, class = std::enable_if_t<std::uses_allocator_v<Container, Alloc>>>    BlockingQueue(const BlockingQueue& other, const Alloc& alloc) : queue_(alloc)    {       auto lock{std::scoped_lock(other.mutex_)};       queue_ = other.queue_;    }    /*10*/ template<class Alloc,        class = std::enable_if_t<std::uses_allocator_v<Container, Alloc>>>    BlockingQueue(BlockingQueue&& other, const Alloc& alloc) noexcept(        std::is_nothrow_constructible_v<Container, Container, const Alloc&>)        : queue_(alloc)    {       auto lock{std::scoped_lock(other.mutex_)};       queue_ = std::move(other.queue_);    }    // operator=    BlockingQueue& operator=(const BlockingQueue& other)    {       {          auto lock{std::scoped_lock(mutex_, other.mutex_)};          queue_ = other.queue_;       }       condition_.notify_all();       return *this;    }    BlockingQueue& operator=(BlockingQueue&& other) noexcept(        std::is_nothrow_move_assignable_v<Container>)    {       {          auto lock{std::scoped_lock(mutex_, other.mutex_)};          queue_ = std::move(other.queue_);       }       condition_.notify_all();       return *this;    }    // destructor    ~BlockingQueue() = default;    // methods    void push(const T& value)    {       {          auto lock{std::scoped_lock(mutex_)};          queue_.push_back(value);       }       condition_.notify_one();    }    void push(T&& value)    {       {          auto lock{std::scoped_lock(mutex_)};          queue_.push_back(std::move(value));       }       condition_.notify_one();    }    template<class... Args> void emplace(Args&&... args)    {       {          auto lock{std::scoped_lock(mutex_)};          queue_.emplace_back(std::forward<Args>(args)...);       }       condition_.notify_one();    }    T pop()    {       auto lock{std::unique_lock(mutex_)};       condition_.wait(lock, [this]() noexcept { return !queue_.empty(); });       T rc{std::move(queue_.front())};       queue_.pop_front();       return rc;    }    [[nodiscard]] std::optional<T> try_pop()    {       auto lock{std::scoped_lock(mutex_)};       if (queue_.empty())          return std::nullopt;       T rc{std::move(queue_.front())};       queue_.pop_front();       return rc;    }    void clear()    {       auto lock{std::scoped_lock(mutex_)};       queue_.clear();    }    [[nodiscard]] auto size() const    {       auto lock{std::scoped_lock(mutex_)};       return queue_.size();    }    [[nodiscard]] auto clear_count()    {       auto lock{std::scoped_lock(mutex_)};       auto ret = queue_.size();       queue_.clear();       return ret;    }    auto clear_count_push(const T& value)    {       size_type ret;       {          auto lock{std::scoped_lock(mutex_)};          ret = queue_.size();          queue_.clear();          queue_.push_back(value);       }       condition_.notify_one();       return ret;    }    auto clear_count_push(T&& value)    {       size_type ret;       {          auto lock{std::scoped_lock(mutex_)};          ret = queue_.size();          queue_.clear();          queue_.push_back(std::move(value));       }       condition_.notify_one();       return ret;    }    template<class... Args> auto clear_count_emplace(Args&&... args)    {       size_type ret;       {          auto lock{std::scoped_lock(mutex_)};          ret = queue_.size();          queue_.clear();          queue_.emplace_back(std::forward<Args>(args)...);       }       condition_.notify_one();       return ret;    }    [[nodiscard]] bool empty() const    {       auto lock{std::scoped_lock(mutex_)};       return queue_.empty();    }   private:    Container queue_{};    mutable std::condition_variable condition_{};    mutable std::mutex mutex_{}; }; 

Boardcom BCM4313 802.11bgn Wireless Network Adapter [14e4:4727] (rev 01) is not working on Ubuntu 18.04

lspci -vvnn | grep -A 9 Network      08:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4313 802.11bgn Wireless Network Adapter [14e4:4727] (rev 01)     Subsystem: Broadcom Inc. and subsidiaries BCM4313 802.11bgn Wireless Network Adapter [14e4:051b]     Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-     Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-     Latency: 0, Cache Line Size: 64 bytes     Interrupt: pin A routed to IRQ 17     Region 0: Memory at e0400000 (64-bit, non-prefetchable) [size=16K]     Capabilities: <access denied>     Kernel driver in use: wl     Kernel modules: bcma, wl  iwconfig  lo        no wireless extensions.  enp7s0    no wireless extensions.  wlp8s0    IEEE 802.11  ESSID:off/any             Mode:Managed  Access Point: Not-Associated              Retry short limit:7   RTS thr:off   Fragment thr:off           Power Management:off 

I almost tried everything i saw about it but it still same. I am using Lenovo G570. HELP ME..