WiFi not working


#1

So I just installed Pure OS but I have a big problem, I have no access to the Internet as my WiFi card isn’t getting picked up (ip show addr comes up with the ip of 127.0.0.1/8) there’s no WiFi settings in network only Wired or Network Proxy.

Is there anyway to manually add it I’ve tried looking around but I have had no luck finding anything, any help would be greatly appreciated.


#2

Is the kill-switch in off (left) position?


#3

I forgot to add its not a Purism laptop, I’ve tried reinstalling Pure OS but it had a DHCP error during the install that I thought could be fixed later on. Output of
‘lspci | grep - i network’ is
‘02:00.0 Network controller : Intel Corporation Wireless 3165 (rev 81)’

I can’t install anything with UEFI enabled and the USB won’t get picked up with Pure OS but it can either Ubuntu but it freezes trying during the initial set up before installing and when installing without UEFI it now comes up with saying it’s unable to load the installer components from CD even though it’s getting installed by a USB. I have to navigate using the tab key as my touch pad doesn’t get recognised.

Selecting the start Pure OS Live (failsafe) option just leads to the terminal screen, it was flickering previously but now it shows this:

Selecting the normal start Pure OS live loads to the splash screen then I get SQUASHFS errors. Shown here:


or it will freeze at a loading bar.

I’m not sure what my options are currently as I essentially have useless laptop. The last installation are UEFI disabled and the SATA mode set to AHCI.


#4

There’s your problem then, PureOS does not contain any proprietary/non-free firmware/drivers that some devices require. Your wireless device requires such firmware. You can make it work by adding Debian non-free repo and installing firmware-nonfree package.


#5

Is there anyway to add them into the iso before installing? I don’t have an ether net cable so I’m not sure how I’d go about installing Pure with working WiFi.


#6

I know that some firmware comes as shared object files that can simply be loaded onto an external storage device like a thumb drive and then dropped into the appropriate location.

For example, when using Debian with Broadcom chips I installed from Debian’s contrib repository (free software that depends on nonfree software for use) the bcfwcutter (or similar) package which downloads the Windows firmware and then “cuts” off the Windows-specific parts; then I transferred the resulting firmware files to the as-yet-non-networked computer.


#7

Hi, I’m new to linux but have just installed Pure OS and have the same wifi issues as Seoras91. Once I plug an ethernet cable in will the WiFi adapter driver be updated and enabled automatically, or do I have to do something else.
I also have the an issue with sound as there is none, I checked all the settings and they are okay. Also have a problem with the video cam as well.
Any advice appreciated.


#8

You will need to download the nonfree firmware to a separate USB flashdrive and the Debian installer will prompt you to install it when it is time.

However, I would recommend that you instead obtain an external WiFi card that can be used without nonfree software.


#9

Is there specific names for this non free firmware or is it generic

What is the benefit of the external wifi card?


#10

You would have to find the appropriate firmware for your specific wifi hardware.

The benefit of the external wifi card is that you do not have to run nonfree firmware to utilize it. You have to be careful to make sure you buy a wifi card supported without nonfree firmware as only certain cards are supported.

The benefit of this is that the nonfree firmware can have security vulnerabilities in it that are illegal for the community to patch.
Free firmware, on the hand, allows the community to study, modify, and fix all vulnerabilities.


#11

Great thanks for the explanation, however being a newbie to linux I’m really struggling to get anything to work (I’m messaging using my mac). I think a probably need to dump this pure OS and install a more beginners distro like mint, which I believe is more beginner friendly - correct me if I’m wrong. I found the installation etc very easy and the software packages are great but having used windows and OSX for so long now, i’m struggling to make headway with the hardware access and communication aspect and not really sure where to go to get all this add ins.


#12

Are you trying to install Linux on a Mac?

(That is in of itself a feat in my opinion . . . and I have used Linux for ~20 years.)


#13

No not on a Mac (I am not that smart), apologies if I gave you the wrong idea. Basically I installed Mint on an 17" alienware a number of years ago (2011…ish) and got everything working. fairly easily. It was great until it finally packed in and I bought one of the last 17" MacBook pro’s. I now need a smaller more mobile laptop so have installed Pure on to an Acer aspire I had but as none of the peripheral hardware (wifi, sound etc) works it is difficult to communicate so I am using my MacBook. I do not remember the details about where you acquire the required files and how to enable the hardware.


#14

The Debian project maintains instructions for installing nonfree firmware on computers here.


#15

Thanks for that - once i decipher what that means I’ll have ago


#16

It’s not so much that PureOS isn’t beginner friendly as that it’s not hardware friendly. Or rather, that hardware on most computers is actually what’s not friendly, because it requires nonfree code to run. So you are trying to run PureOS, which doesn’t include any nonfree software, on a computer which has hardware requiring nonfree software to run properly.

Linux Mint, Ubuntu, and some other distros generally make the option to include nonfree software easier, or even include it by default. So the appearance is that those distros are more user-friendly, which in a sense is true, because a wider range of hardware will “just work”, but that’s because they deal with the nonfree (and thus, user unfriendly) stuff in a way that means many users might not even be aware that it’s happening.

You can add nonfree software to Debian (and PureOS, since PureOS is based on Debian) as @blendergeek mentioned, but then you start defeating part of the purpose of PureOS. But if you want things to work on your computer, then that’s what you’ll need to do (and GNU/Linux with nonfree software is still better than Windows)


#17

Appreciate the response taylor-williamc, based on that I decided to remove the Pure OS and I am now up and running and fully functional with Linux Mint.
I will probably invest in one of the Purism librem laptops in the near future.
Thanks again


#18

All I had to do to install PureOS “green” on my System76 Kudu was just install the package linux-firmware.

sudo apt-get remove firmware-linux-free
sudo apt-get install linux-firmware

However, linux-firmware (being non-free) isn’t in a PureOS repository, so you may need to install a binary. Go to https://mirrors.kernel.org/ubuntu/pool/main/l/ and look for the highest linux-firmware … .deb to use in the commands below (download and depackage.)

wget https://mirrors.kernel.org/ubuntu/pool/main/l/linux-firmware_1_169.3_all.deb
sudo dpkg -i linux-firmware_1_169.3_all.deb

#19

@Snorlax thank you so much for that! I’ve gone from dead hard drive Win 7 laptop to wifi-working PureOS laptop with new SSD this afternoon with the help of your post. (I know this has broken the all free software philosophy but hey I now have a working laptop.) A few details were different for me but that info was enough to get me through. Massive thanks again.


#20

Hi ,
i don’t know if you solved. But i solved using a bash script.

Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter

That iws my usb card. So , instead of using proprietary drivers , i have used wext driver (GNU), wpa_supplicant and the deblobbed rtl8192cu inside PureOS.

Solved with :slight_smile:

    #!/bin/bash

    iw dev
    ip link show   X
    #X=  wlx001d43201129 in my case , check with iw dev your current interface name)

    #setting local wifi interface up
    ip link set wlx001d43201129 up 

    ip link show  wlx001d43201129
    iw   wlx001d43201129 link
    iw wlx001d43201129 scan
    wpa_passphrase Pandora >> /etc/wpa_cupplicant.conf

    #Pandora is my SSID

    #check /etc/wpa_cupplicant.conf
    cat /etc/wpa_cupplicant.conf

    #connecting to local Access Point 
    wpa_supplicant -B -D wext -i wlx001d43201129 -c /etc/wpa_supplicant.conf


    iw   wlx001d43201129 link

    #get an ip address via DHCP 
    dhclient wlx001d43201129

    ip route show 
    ip route add default via 192.168.1.1 dev wlx001d43201129 
     
    #(192.168.1.1 or your router IP address)

result in ping

PING www.googlecom(172.217.16.132) 56(84) bytes of data.
64 bytes from zrh04s06-in-f132.1e100 (172.217.16.132): icmp_seq=1 ttl=49 time=33.7 ms
64 bytes from zrh04s06-in-f132.1e100 (172.217.16.132): icmp_seq=2 ttl=49 time=65.4 ms
64 bytes from zrh04s06-in-f132.1e100(172.217.16.132): icmp_seq=3 ttl=49 time=32.0 ms

If comes out this error after installing WICD , another network manager or the Realtek key has been putted in software-disabled mode from rfkill outputting this error while turning on the usb key :slight_smile:

RTNETLINK answers: Operation not possible due to RF-kill

Then you should type

#Blacklisting hp_wmi module with 
`echo "blacklist hp_wmi" > /etc/modprobe.d/hp.conf` 

reboot

and add to the initial script

rfkill unblock all

You can check the status (before/later) of rfkill with

rfkill list all

working output

2: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no

For who is asking what is the difference between the proprietary driver and wext , wich is indeed a wpa_supplicant and iwconfig general extension!

Trying with :

sudo lshw -class network

  • -network
    description: Wireless interface
    physical id: 1
    bus info: usb@1:1
    logical name: wlx001d43201129
    serial: 7e:50:ab:db:0a:97
    capabilities: ethernet physical wireless
    configuration: broadcast=yes driver=rtl8192cu driverversion=4.15.0-2-amd64 firmware=N/A

As you can see the driver rtl8192cu it is already present on PureOS and it is the kernel space driver used in this method to communicate with wpa_supplicant wich reside in the user space using Wext ( that interact between both to allow reading and configuring options without the need of rebooting)

And for who is asking if this driver it is proprietary or free the asnwer is :slight_smile:

free.

as pointed out here https://puri.sm/faq/

Does the Realtek RTL8111/8168/8411 ethernet adapter use a free driver?
Short answer: Yes.

Longer answer, Purism is using Debian main as our base distribution, which by definition strips any non-free software as well as any binary blobs from all software. Debian’s Linux kernel is strips of all non-free components from mainline Linux kernel and puts them into separate package. The driver that the Realtek RTL8111/8168/8411 Ethernet Adapter uses is the deblobbed r8169.

and specifically updated here https://www.fsfla.org/ikiwiki/selibre/linux-libre/

2011-07-22 - gen5 - 3.0-libre
Newly-added mwifiex, rtl8192se, vub300, lpfc and wm8994 cleaned up. Updated deblobbing of ath6k, drxd, bnx2x, brcmfmac, rtl8192ce and rtl8192cu. Dropped deblobbing for upstream-removed rt2860 and rt2870.

The only problem now is this related [Bug#882369])

I’ve got the same output on 4.15.0.2-amd64

[   27.287300] rtl8192cu: Chip version 0x10
[   28.922986] rtl8192cu: Board Type 0
[   28.924294] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin
[   28.924346] usb 1-1: firmware: failed to load rtlwifi/rtl8192cufw_TMSC.bin (-2)
[   28.924355] usb 1-1: Direct firmware load for rtlwifi/rtl8192cufw_TMSC.bin failed with error -2
[   28.924373] usb 1-1: firmware: failed to load rtlwifi/rtl8192cufw.bin (-2)
[   28.924379] usb 1-1: Direct firmware load for rtlwifi/rtl8192cufw.bin failed with error -2
[   28.924381] _rtlwifi: Loading alternative firmware rtlwifi/rtl8192cufw.bin_
[   28.932649] usbcore: registered new interface driver rtl8192cu
[   28.953080] rtl8192cu 1-1:1.0 wlx001d43201129: renamed from wlan0
[  210.852820] rtl8192cu: MAC auto ON okay!
[  211.054577] rtl8192cu: Tx queue select: 0x05

in rtlwifi: Loading alternative firmware rtlwifi/rtl8192cufw.bin_

it seems that there is non-DFSG compliant firmware packaged in main but the reality is that it is just a misleading firmware log messages indmesg. So all good!

wlx001d43201129: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.43.209  netmask 255.255.255.0  broadcast 192.168.43.255
        ether 1e:8c:a3:43:97:b9  txqueuelen 1000  (Ethernet)
        RX packets 35166  bytes 41100739 (39.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 23563  bytes 2999643 (2.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlx001d43201129 IEEE 802.11 ESSID:“Pandora”
Mode:Managed Frequency:2.412 GHz Access Point: 94:FE:22:64:14:39
Bit Rate=72.2 Mb/s Tx-Power=20 dBm
Retry short limit:7 RTS thr=2347 B Fragment thr:off
Power Management:off
Link Quality=70/70 Signal level=-32 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:602 Missed beacon:0