-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Driver gets stuck #92
Comments
The locking changes in the kernel routines. That lead to a lock dependency that locked up the CPU. Do a 'git pull' and it should be OK. |
Thanks for the quick reply @lwfinger. Something seems to have gone wrong with your commit and deleted the entiere netdev_if2_open function. I restored it and remove the locking as you intended and will report back. On a general note. Do you think this driver is stable enought to leave a little board running unnatended and expecting the wifi connection to be reliable? |
Do a pull. I missed part of the changes. After you remove the problematic lock and unlock, netdev_if2_open() is only a call to _netdev_if2_open(), thus it can be removed. I have no idea how stable this driver would be. If I ever did a long-term test of it, that would have been a long time ago, and I have forgotten the results. |
Running commit 6c1792c it still gets stuck same as the beginning. Running on kernel 5.15.16 Any debugging I can enable to provide more info? |
I enabled debugging in the driver and this is what I get up to the point where I do ifconfig wlan0 up and it gets stuck:
|
Any ideas? I never got around to making this work. I build my own kernel so it maybe something in my kernel build. |
No, the locking changed in nl80211/cfg80211. I have found several places where there is lock contention. At the moment, the call to wiphy_apply_custom_regulatory() is the problem. It sets a lock; however, the thread already has one. I am trying to set up a separate thread to call rtw_regd_init(), which will not be holding any locks. The problem is that I am not really good with workqueues, and it is taking a lot of learning. I should have a trial later today. |
Hello, I'm trying to use this driver with a 5.15.16 kernel to use a rtl8192du usb based module. The module seems to be loading fine:
[ 2.690421] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 2.758103] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 2.769567] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 2.778304] cfg80211: failed to load regulatory.db
[ 2.849514] 8192du: loading out-of-tree module taints kernel.
[ 3.064361] RTL8192DU: module init start
[ 3.068958] RTL8192DU: rtl8192du v4.0.10_25039.20171107
[ 3.307680] RTL8192DU: rtw_ndev_init(wlan0)
[ 3.312931] RTL8192DU: rtw_ndev_init(wlan1)
[ 3.318218] usbcore: registered new interface driver rtl8192du
[ 3.324064] RTL8192DU: module init ret=0
I see two interfaces wlan0 and wlan1 when running ifconfig -a. But as soon as I do ifconfig wlan0 up (or wlan1) the ifconfig gets stucks and never returns no matter if I try to Ctr-C it or kill -9 it from another terminal.
Also any other network related command will get stuck (ifconfig, ip, iwlist, iwconfig) just by runnning it. I have no way to make those commands exist, not even unplugging the rtl8192du device.
No further dmesg output will be shown after running those commands.
Any ideas or help?
The text was updated successfully, but these errors were encountered: