Fix Boot Wifi with some hacks and a Init.d Script
The Problem : Cant boot with Wifi Kernel Module
After many hours of try and fail (almost fail),
I resolve the problem of Boot with Wifi with lots of pacience and despair,
and the precious help of @balbes150 and @guidol, and Armbian Forum
The above "solution works" with
+ AlfaWise H96 Pro+ and
+ 3.14 Kernel Based` image (thank for the tip @balbes150) > Armbian_5.41_S9xxx_Ubuntu_xenial_3.14.29_server_20180225.img.xz,
belive me its not pretty/elegant solution, is more a despair solution........
First remove all modules from `/etc/modules` to leave it initialization for `init.d` script clean,
I leave the comments, just has a note of my adventure in /etc/modules file LOL
$ cat /etc/modules
#aml_nftl_dev
#wifi_dummy
#cfg80211
#dhd
#wlan
Next Create a `init.d` hacked script, with some magic and optimized sleeps, without that sleep times or with lower times it wont work,
Its very strange, I must load and unload module, and reload again, but its seems the only way to put this working,
I know its too strange, and hard to find, maybe someone has a better ways, I believe with some knowledge its easy,
Why its working only that way?
don't ask me why, I don't care, for me its not pretty, but its ugly and working,
I'm happy with it, who cares, I don't waste more time for an elegant and pretty solution......
move on.....the `init.d` script
$ sudo nano /etc/init.d/wlan
#! /bin/sh
# /etc/init.d/wlan
#
### BEGIN INIT INFO
# Provides: wlan
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: AlfaWise H96 Pro+ Wireless Boot Script
# Description: This file should be used to construct scripts to be
# placed in /etc/init.d. This example start a
# single forking daemon capable of writing a pid
# file. To get other behavoirs, implemend
# do_start(), do_stop() or other functions to
# override the defaults in /lib/init/init-d-script.
### END INIT INFO
# Some things that run always
touch /var/lock/wlan
# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Starting Wlan Script"
echo "modprobe wlan"
/sbin/modprobe wlan
echo "modprobe wlan -r in 28sec..."
sleep 28
/sbin/modprobe wlan -r
echo "modprobe lan in 28sec..."
sleep 28
echo "modprobe wlan..."
/sbin/modprobe wlan
;;
stop)
echo "Stopping script wlan"
/sbin/modprobe wlan -r
;;
*)
echo "Usage: /etc/init.d/wlan {start|stop}"
exit 1
;;
esac
exit 0
After boot inspect unload/load driver with
sudo tail -f /var/log/syslog | grep wlan
Install systemd service
$ sudo systemctl enable wlan
reboot to test if work
$ sudo reboot
in other pc ping the wifi ip and wait it responds without do anything, here it starts respond after 2minutes, not bad since reboot, shutdown and boot
I tested with a lots of combinations, modules, timers, I don't know the things I try,
but for me it only work that way on boot, maybe someone with knowledge can explain why this driver don't boot, or boot in a state that is faulty, and useless, and must be up, down and up again with this sleep times......
some info after login
$ lsmod
Module Size Used by
wlan 3435325 0
zram 8953 8
cfg80211 415017 1 wlan
ch341 5434 0
I anybody has questions, say so
Thanks koakh, works great for my h96 pro+ wifi (qca9377), now it works on bootup.
-
also if anyone has any ideas on my next problem let me know, I am using Armbian_5.41_S9xxx_Ubuntu_xenial_3.14.29_mate_20180307.img (mali6), and overall it works great, is it possible to get hardware accelerated video to work or videos to play better fullscreen, I tried several software smplayer, vlc, xine (a little better then others),mpv and all are pretty laggy (unwatchable), window mode they play ok , kodi crashes the display.