Welcome to SparkyLinux forums
Zapraszamy również na polsko-języczne Forum https://forum.linuxiarze.pl

RTL8723DE driver in HP laptop

Started by ashisrb, August 29, 2020, 07:47:41 AM

Previous topic - Next topic

ashisrb

Dear Forum members, I have finally settled with Sparky MinimalGUI and I am really satisfied except one problem, I am facing wifi driver problem. My laptop model is HP 15s eq0024au with AMD Ryzen 5 processor. After installation, wifi did not work so I searched and found RTL8723DE as driver. I have installed the same from https://github.com/smlinux/rtl8723de using the documented procedure.
When I restart laptop there is no problem detecting wifi. However, wifi detection fails after suspend/hibernate.
I have search Sparky forum with RTL8723DE and could not find anything.
From internet search, I have sorted out stopping and reloading driver with the following command works to detect wifi again:

$ sudo rmmod 8723de && sudo modprobe rtl8723de

Its cumbersome to run this command again and again and I don't know the actual problem or consequences. Kindly look into this aspect and help me find a proper solution.
Please forgive me if I have said anything wrong or against the forum.
Thanking you in advance.[/code]

bin

#1
OK - so you have 2 problems.

The realtek firmware is part of the install - it's already provided in the sparkylinux-5.12-x86_64-minimalgui.iso

If you do sudo apt search firmware-realtek
it should show firmware-realtek/stable,stable,now 20190114-2 all [installed]
  Binary firmware for Realtek wired/wifi/BT adapters


You've replaced it with an external firmware package.

As part of that you have learned about the use of modprobe to get wifi firmware running.

If you did not use modprobe with the original installed firmware we do not know if it is a problem with that particular firmware, or if it just needed a modprobe kick to get it working in the first place.

Just to be on the safe side I would download the Debian firmware package so you have that locally.
Select the relevant mirror from https://packages.debian.org/buster/all/firmware-realtek/download

I would also grab the buster-backports version from https://packages.debian.org/buster-backports/all/firmware-realtek/download - just in case.

The short way round is then to uninstall the github driver using the instructions on their page, then re-install the Debian firmware.
If you have an ethernet connection on the laptop you can just go to synaptic, find the firmware-realtek and just re-install.
If not then navigate to the download location - open terminal in the folder and sudo apt install ./firmware-realtek_20190114-2_all.deb

Reboot and see what happens. You may need to modprobe it once.

What I cannot see is whether the github firmware has left anything else behind that may cause problems. I also have no idea how that firmware would interact with your laptop in coming out of suspend. By the way, suspend and hibernate are 2 different processes.

If it does not work at all with the original firmware I would then install the backports version, reboot and see what happens.

If it still doesn't work I would just re-install and start again - I had this issue with Broadcom firmware on HP laptops around 10 years back with b43 and b44 firmware and if it got messed up it was just quicker to start again.

So, if you get the point where you have to re-install, just use modprobe after installation - with the stock firmware, if no go then use the backports firmware.

My guess is that it will work after reinstall and using modprobe to get it working first time.

Once all that is done, and you can get wifi connecting after reboot and shut down, then is the time to investigate the suspend issue (which is not uncommon).

The other possibility is that it may be related to Bluetooth. I am not sure with your machine but I do know earlier HP did use a combined bluetooth and wifi chip which could switch itself off. When you machine comes out of suspend have you used the wifi enable switch on the keyboard/body of the laptop? It may be worth investigating the rfkill utility - google it.

ashisrb

#2
First of all thank you for your elaborate reply, I feel I am in the right place.
For your kind information, I am using rolling version of Sparkylinux minimalGUI instead of stable. According to your suggestions, I have uninstalled rtl8723de driver, rebooted and reinstalled firmware-realtek. When I performed $ sudo modprobe rtl8723de, the following error appeared:
modprobe: FATAL: Module rtl8723de not found in directory /lib/modules/5.7.0-2-amd64
Then I have reinstalled the whole OS (of course keeping Macrium Reflect backup), performed apt-get update and tried modprobe, it returned the same error. Then I have downloaded buster and buster-backport drivers from the links you have provided and gdebi installer returned later versions already installed in the system. The same error appeared again. So currently laptop is not able to diagnose wifi connections.
Anyways I will look into the rfkill issue.
Please correct me if I am not on the right track.

paxmark1

Rolling is testing - aka  bullseye     buster is the present STABLE.   
Search forum for "More info easier via inxi"    If requested -  no inxi, no help for you by  me.

ashisrb

#4
Quote from: paxmark1 on September 03, 2020, 03:36:29 PM
Rolling is testing - aka  bullseye     buster is the present STABLE.
Yes, I like rolling, that's the reason I am after Sparkylinux. If somebody can confirm stable version is not having rtl8723de driver issue, I can try the same.

I have tested Ubuntu  Server and Archlinux in which there was no need to install anything and wifi worked with stock drivers after suspend/hibernate. I have not tested Debian yet.
I have modified and applied a script obtained from the troubleshooting discussion of a similar problem from other Debian-based distro and would like to share if someone else required.
Create rtl8723de-refresh file with the following code, save in /lib/systemd/system-sleep/ and make it executable.

#!/bin/bash

PROGNAME=$(basename "$0")
state=$1
action=$2

function log {
        logger -i -t "$PROGNAME" "$*"
}

log "Running $action $state"

if [[ $state == post ]]; then
        rmmod 8723de \
        && log "Removed 8723de" \
        && modprobe rtl8723de \
        && log "Inserted rtl8723"
fi


After suspend, check log using grep rtl8723de-refresh /var/log/syslog. This will reload wifi connections after suspend/hibernate.
I will appreciate some proper solution from the developers.

View the most recent posts on the forum