rtlwifi: Add more checks for get_btc_status callback
Subsystems (3)
PATCH 1/1 rtlwifi: Add more checks for get_btc_status callback
This is a complement of commit 08054200117a95afc14c3d2ed3a38bf4e345bf78 "rtlwifi: Add check for get_btc_status callback".
With this patch, next-20141029 at least does not panic with rtl8192se device.
---
Hello, everyone.
Some days ago, I reported [1] that next-20140930 introduced an issue with rtl8192se devices.
Later on, Larry Finger proposed [2] a fix that did not solve the problem thoroughly.
This patch is based on Larry's one [3]. It also does not solve the rtl8192se issue completely but I can at least boot next-20141029 without a panic.
The remaining issue is that the rtl8192se device does not associate. It does not even show any wifi network available. The device is shown by iwconfig, but I cannot do anything with it.
I need help from someone out there that could provide me guidance or possibly investigate the issue (I'm not a kernel expert yet).
I'd not like to see this regression landing on v3.18.
[1] http://marc.info/?l=linux-wireless&m=141403434929612
[2] http://marc.info/?l=linux-wireless&m=141408165513255
[3] http://marc.info/?l=linux-wireless&m=141416876810127
drivers/net/wireless/rtlwifi/base.c | 6 ++++-- drivers/net/wireless/rtlwifi/core.c | 9 ++++++--- drivers/net/wireless/rtlwifi/pci.c | 3 ++- drivers/net/wireless/rtlwifi/ps.c | 12 ++++++++---- 4 files changed, 20 insertions(+), 10 deletions(-)
drivers/net/wireless/rtlwifi/base.c +4 -2
@@ -1234,7 +1234,8 @@ EXPORT_SYMBOL_GPL(rtl_action_proc);static void setup_arp_tx (struct rtl_priv *rtlpriv,struct rtl_ps_ctl *ppsc) { rtlpriv->ra.is_special_data = true; -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_special_packet_notify ( rtlpriv,1 ); rtlpriv->enter_ps = false;
@@ -1629,7 +1630,8 @@ void rtl_watchdog_wq_callback(void *data) } } -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_periodical (rtlpriv); rtlpriv->link_info.bcn_rx_inperiod =0 ;
drivers/net/wireless/rtlwifi/core.c +6 -3
@@ -1133,7 +1133,8 @@ static void rtl_op_bss_info_changed(struct ieee80211_hw *hw, ppsc->report_linked = (mstatus ==RT_MEDIA_CONNECT ) ? true : false; -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_mediastatus_notify ( rtlpriv, mstatus); }
@@ -1373,7 +1374,8 @@ static void rtl_op_sw_scan_start(struct ieee80211_hw *hw)return ; } -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_scan_notify (rtlpriv,1 );if (rtlpriv->dm.supp_phymode_switch) {
@@ -1425,7 +1427,8 @@ static void rtl_op_sw_scan_complete(struct ieee80211_hw *hw) } rtlpriv->cfg->ops->scan_operation_backup (hw,SCAN_OPT_RESTORE ); -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_scan_notify (rtlpriv,0 ); }
drivers/net/wireless/rtlwifi/pci.c +2 -1
@@ -1833,7 +1833,8 @@ static void rtl_pci_stop(struct ieee80211_hw *hw)unsigned long flags;u8 RFInProgressTimeOut =0 ; -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_halt_notify ();/*
drivers/net/wireless/rtlwifi/ps.c +8 -4
@@ -261,7 +261,8 @@ void rtl_ips_nic_off_wq_callback(void *data) ppsc->in_powersavemode = true;/* call before RF off */ -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_ips_notify (rtlpriv, ppsc->inactive_pwrstate);
@@ -306,7 +307,8 @@ void rtl_ips_nic_on(struct ieee80211_hw *hw) ppsc->in_powersavemode = false;_rtl_ps_inactive_ps (hw);/* call after RF on */ -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_ips_notify (rtlpriv, ppsc->inactive_pwrstate); }
@@ -390,14 +392,16 @@ void rtl_lps_set_psmode(struct ieee80211_hw *hw, u8 rt_psmode)if (ppsc->p2p_ps_info.opp_ps)rtl_p2p_ps_cmd (hw ,P2P_PS_ENABLE ); -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_lps_notify (rtlpriv, rt_psmode); }else {if (rtl_get_fwlps_doze (hw)) {RT_TRACE (rtlpriv,COMP_RF ,DBG_DMESG ,"FW LPS enter ps_mode:%x\n" , ppsc->fwctrl_psmode); -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_lps_notify (rtlpriv, rt_psmode); enter_fwlps = true; ppsc->pwr_mode = ppsc->fwctrl_psmode;
--
2.1.2
Quoted 6 lines · Murilo Opsfelder Araujo
This is a complement of commit
08054200117a95afc14c3d2ed3a38bf4e345bf78"rtlwifi: Add check forget_btc_statuscallback".With this patch, next-20141029 at least does not panic with rtl8192se device.
This patch is OK, but as noted it is not complete.
I have patches to fix all the kernel panics for rtl8192se AND rtl8192ce. There are missing parts, but I would prefer submitting mine, which would conflict with this one. For that reason, NACK for this one, and please apply the set I am submitting now.
Larry
Quoted 152 lines
Signed-off-by Murilo Opsfelder Araujo <[email protected]>---
Hello, everyone.
Some days ago, I reported [1] that next-20140930 introduced an issue with rtl8192se devices.
Later on, Larry Finger proposed [2] a fix that did not solve the problem thoroughly.
This patch is based on Larry's one [3]. It also does not solve the rtl8192se issue completely but I can at least boot next-20141029 without a panic.
The remaining issue is that the rtl8192se device does not associate. It does not even show any wifi network available. The device is shown by iwconfig, but I cannot do anything with it.
I need help from someone out there that could provide me guidance or possibly investigate the issue (I'm not a kernel expert yet).
I'd not like to see this regression landing on v3.18.
[1] http://marc.info/?l=linux-wireless&m=141403434929612
[2] http://marc.info/?l=linux-wireless&m=141408165513255
[3] http://marc.info/?l=linux-wireless&m=141416876810127drivers/net/wireless/rtlwifi/base.c | 6 ++++-- drivers/net/wireless/rtlwifi/core.c | 9 ++++++--- drivers/net/wireless/rtlwifi/pci.c | 3 ++- drivers/net/wireless/rtlwifi/ps.c | 12 ++++++++---- 4 files changed, 20 insertions(+), 10 deletions(-)drivers/net/wireless/rtlwifi/base.c +4
-2@@ -1234,7 +1234,8 @@ EXPORT_SYMBOL_GPL(rtl_action_proc);static void setup_arp_tx (struct rtl_priv *rtlpriv,struct rtl_ps_ctl *ppsc) { rtlpriv->ra.is_special_data = true; -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_special_packet_notify ( rtlpriv,1 ); rtlpriv->enter_ps = false;@@ -1629,7 +1630,8 @@ void rtl_watchdog_wq_callback(void *data) } } -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_periodical (rtlpriv); rtlpriv->link_info.bcn_rx_inperiod =0 ;drivers/net/wireless/rtlwifi/core.c +6
-3@@ -1133,7 +1133,8 @@ static void rtl_op_bss_info_changed(struct ieee80211_hw *hw, ppsc->report_linked = (mstatus ==RT_MEDIA_CONNECT ) ? true : false; -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_mediastatus_notify ( rtlpriv, mstatus); }@@ -1373,7 +1374,8 @@ static void rtl_op_sw_scan_start(struct ieee80211_hw *hw)return ; } -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_scan_notify (rtlpriv,1 );if (rtlpriv->dm.supp_phymode_switch) {@@ -1425,7 +1427,8 @@ static void rtl_op_sw_scan_complete(struct ieee80211_hw *hw) } rtlpriv->cfg->ops->scan_operation_backup (hw,SCAN_OPT_RESTORE ); -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_scan_notify (rtlpriv,0 ); }drivers/net/wireless/rtlwifi/pci.c +2
-1@@ -1833,7 +1833,8 @@ static void rtl_pci_stop(struct ieee80211_hw *hw)unsigned long flags;u8 RFInProgressTimeOut =0 ; -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_halt_notify ();/* drivers/net/wireless/rtlwifi/ps.c +8
-5@@ -261,7 +261,8 @@ void rtl_ips_nic_off_wq_callback(void *data) ppsc->in_powersavemode = true;/* call before RF off */ -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_ips_notify (rtlpriv, ppsc->inactive_pwrstate);@@ -306,7 +307,8 @@ void rtl_ips_nic_on(struct ieee80211_hw *hw) ppsc->in_powersavemode = false;_rtl_ps_inactive_ps (hw);/* call after RF on */ -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_ips_notify (rtlpriv, ppsc->inactive_pwrstate); }@@ -390,14 +392,16 @@ void rtl_lps_set_psmode(struct ieee80211_hw *hw, u8 rt_psmode)if (ppsc->p2p_ps_info.opp_ps)rtl_p2p_ps_cmd (hw ,P2P_PS_ENABLE ); -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_lps_notify (rtlpriv, rt_psmode); }else {if (rtl_get_fwlps_doze (hw)) {RT_TRACE (rtlpriv,COMP_RF ,DBG_DMESG ,"FW LPS enter ps_mode:%x\n" , ppsc->fwctrl_psmode); -if (rtlpriv->cfg->ops->get_btc_status ()) +if (rtlpriv->cfg->ops->get_btc_status && + rtlpriv->cfg->ops->get_btc_status ()) rtlpriv->btcoexist.btc_ops->btc_lps_notify (rtlpriv, rt_psmode); enter_fwlps = true; ppsc->pwr_mode = ppsc->fwctrl_psmode; --2.1.2
Quoted 8 lines · Larry Finger
Quoted 6 lines · Murilo Opsfelder Araujo
This is a complement of commit
08054200117a95afc14c3d2ed3a38bf4e345bf78"rtlwifi: Add check forget_btc_statuscallback".With this patch, next-20141029 at least does not panic with rtl8192se device.
Quoted 6 lines
This patch is OK, but as noted it is not complete.
I have patches to fix all the kernel panics for rtl8192se AND rtl8192ce. There are missing parts, but I would prefer submitting mine, which would conflict with this one. For that reason, NACK for this one, and please apply the set I am submitting now.
It's all in there now, but my RTL8191SEvB is still dead. Squabbling with it isn't going all that well either.
As soon as 38506ece rtlwifi: rtl_pci: Start modification for new drivers is applied, explosions appear. Subsequently applying...
08054200 rtlwifi: Add check for get_btc_status callbackc0386f15 rtlwifi: rtl8192ce: rtl8192de: rtl8192se: Fix handling for missing get_btc_status 50147969 rtlwifi: rtl8192se: Fix duplicate calls to ieee80211_register_hw() 30c5ccc6 rtlwifi: rtl8192se: Add missing section to read descriptor setting 75a916e1 rtlwifi: rtl8192se: Fix firmware loading
...fixes that mess up, but leaves the interface dead in the same manner as if nothing has been reverted. So it _seems_ the bustage lurks in 38506ece somewhere. Too bad it's non-dinky, and written in wifi-ese :)
-Mike
Full revert series:
patches/revert-75a916e1944fea8347d2245c62567187e4eff9dd patches/revert-8ae3c16e41b02db8ffe4121468519d6352baedc1 patches/revert-30c5ccc6afee39754cff75ad8d775ad39a2ce989 patches/revert-501479699ff484ba8acc1d07022271f00cfc55a3 patches/revert-c0386f1584127442d0f2aea41bc948056d6b1337 patches/revert-08054200117a95afc14c3d2ed3a38bf4e345bf78 patches/revert-4f2b244c7d5b81ce4f0c6c0382f3a3b7c2dbec1c patches/revert-cefe3dfdb9f5f498cae9871f7e52800f5e22c614 patches/revert-b2d624a5810203a1a8b7735e1ec5685109b22fc3 patches/revert-d514aefb8ce89562ef2d7dcddc530e5de6287c4b patches/revert-598a0df07fc6c4642f9b0497cef1233e41d4c987 patches/revert-47481d977cb2987ab363202c68a79ec1bccd357c patches/revert-1fca350b761631d182c2e8bce530896e66404bc2 patches/revert-3f08e47291879fb047d7d4464d2beaedfea4eb63 patches/revert-989377e1cc9e713822d148d2e638d6c63d8a94b1 patches/revert-574a7930d7c4d0fe4295868e52a5277bd9595b5e patches/revert-ef09396ef622572c604d4977e76f6151ef68ed21 patches/revert-557f933113a42a48ec617b81b5ea53fd7202b1ed patches/revert-9f087a924427c01190b205f0051be00808c99828 patches/revert-5c99f04fec93068147a3e95b439b345f203ac5b9 patches/revert-0529c6b8176135bcae1ab66bed6c1288456fbdec patches/revert-b1a3bfc97cd95681c511515534b84843998f3ea0 patches/revert-7fe3b3abb5da3a105d87640db693c41259138294 patches/revert-34ed780a6afc4df5e3285d20fac721c591e0724e patches/revert-21e4b0726dc671c423e2dc9a85364716219c4502 patches/revert-c151aed6aa146e9587590051aba9da68b9370f9b patches/revert-f3a97e93814aeac3f13e857a0071726acc9bd626 patches/revert-d3feae41a3473a0f7b431d6af4e092865d586e52 patches/revert-3c67b8f9f3b5bb1207c9bb198e5ef04ff56921dd patches/revert-9afa2e44f4d8f9d031f815c32bb8f225f0f6746b patches/revert-f7953b2ad66cc5fc66e13d5c0a40e61b45cdfca8 patches/revert-38506ecefab911785d5e1aa5889f6eeb462e0954 patches/revert-fd09ff958777cf583d7541f180991c0fc50bd2f7 patches/revert-560e334dbd9907ecdd25318fbdb33179c5d5a3bd patches/revert-5eef40e5687da4ad0123e231e4fe952a12655f0b patches/revert-6b5447ce630cdc231caf4f958325f8fa925216bf patches/revert-dbb30ebeefaf01121b32ae6b5baf29524f3a0b30 patches/revert-4f4378dead3792d21577739f07869fbd843dab23 patches/revert-ed364abffd6e19bec67b7ccda8237213b8b37640 patches/revert-c96fd200e9af8ad4c4891ef579044a75c659d8c7 patches/revert-2ec7f01c35727574953dbd884d7d45da940a25ee patches/revert-f5b5869095819970333dc9de54eed5c552407d35 patches/revert-2187e9a2ce575ee85a1ce31fa2ecbc0f580c105f patches/revert-e8f3fef412d4ffd8cb1bd5cd7a6e5572e21bf80a patches/revert-e79fff28587c9437282c863722d1fa186143f62a
Quoted 28 lines · Mike Galbraith
Quoted 8 lines · Larry Finger
Quoted 6 lines · Murilo Opsfelder Araujo
This is a complement of commit
08054200117a95afc14c3d2ed3a38bf4e345bf78"rtlwifi: Add check forget_btc_statuscallback".With this patch, next-20141029 at least does not panic with rtl8192se device.
Quoted 6 lines
This patch is OK, but as noted it is not complete.
I have patches to fix all the kernel panics for rtl8192se AND rtl8192ce. There are missing parts, but I would prefer submitting mine, which would conflict with this one. For that reason, NACK for this one, and please apply the set I am submitting now.
It's all in there now, but my RTL8191SEvB is still dead. Squabbling with it isn't going all that well either.
As soon as
38506ecertlwifi:rtl_pci: Start modification for new drivers is applied, explosions appear. Subsequently applying...08054200 rtlwifi: Add check for
get_btc_statuscallbackc0386f15rtlwifi: rtl8192ce: rtl8192de: rtl8192se: Fix handling for missingget_btc_status50147969 rtlwifi: rtl8192se: Fix duplicate calls toieee80211_register_hw()30c5ccc6rtlwifi: rtl8192se: Add missing section to read descriptor setting75a916e1rtlwifi: rtl8192se: Fix firmware loading
Quoted 3 lines
...fixes that mess up, but leaves the interface dead in the same manner as if nothing has been reverted. So it _seems_ the bustage lurks in
38506ecesomewhere. Too bad it's non-dinky, and written in wifi-ese :)
Yes, I am aware that rtl8192se is failing, and now that I am back from vacation, I am working on the problem. If you want to use the driver with kernel 3.18, clone the repo at http://github.com/lwfinger/rtlwifi_new.git and build and install either the master or kernel_version branches. Both work.
I am in the process of trying to find what the crucial difference is between that repo and the kernel version.
Larry
Quoted 4 lines · Larry Finger
Yes, I am aware that rtl8192se is failing, and now that I am back from vacation, I am working on the problem. If you want to use the driver with kernel 3.18, clone the repo at http://github.com/lwfinger/rtlwifi_new.git and build and install either the master or
kernel_versionbranches. Both work.
Nah, no hurry. My lappy is about to go on 4 weeks vacation, and has a bulging suitcase full of kernels to wear :)
-Mike
Quoted 45 lines · Larry Finger
Quoted 34 lines · Mike Galbraith
Quoted 10 lines · Larry Finger
Quoted 6 lines · Murilo Opsfelder Araujo
This is a complement of commit
08054200117a95afc14c3d2ed3a38bf4e345bf78"rtlwifi: Add check forget_btc_statuscallback".With this patch, next-20141029 at least does not panic with rtl8192se device.
This patch is OK, but as noted it is not complete.
Quoted 7 lines
I have patches to fix all the kernel panics for rtl8192se AND rtl8192ce. There
are missing parts, but I would prefer submitting mine, which would conflict with
this one. For that reason, NACK for this one, and please apply the set I am
submitting now.It's all in there now, but my RTL8191SEvB is still dead. Squabbling with it isn't going all that well either.
As soon as
38506ecertlwifi:rtl_pci: Start modification for new drivers is applied, explosions appear. Subsequently applying...08054200 rtlwifi: Add check for
get_btc_statuscallbackc0386f15rtlwifi: rtl8192ce: rtl8192de: rtl8192se: Fix handling for missingget_btc_status
50147969 rtlwifi: rtl8192se: Fix duplicate calls toieee80211_register_hw()30c5ccc6rtlwifi: rtl8192se: Add missing section to read descriptor setting75a916e1rtlwifi: rtl8192se: Fix firmware loadingQuoted 3 lines
...fixes that mess up, but leaves the interface dead in the same manner as if nothing has been reverted. So it _seems_ the bustage lurks in
38506ecesomewhere. Too bad it's non-dinky, and written in wifi-ese :)Yes, I am aware that rtl8192se is failing, and now that I am back from vacation, I am working on the problem. If you want to use the driver with kernel 3.18, clone the repo at
http://github.com/lwfinger/rtlwifi_new.git and build and install either the master orkernel_versionbranches. Both work.
Quoted 6 lines
I am in the process of trying to find what the crucial difference is between that repo and the kernel version.
Larry
I'm sending to everyone so others can jump in as well.
Here are the steps I've followed.
Installed and booted my kernel:
$ sudo dpkg -i linux-image-3.18.0-rc3-next-20141105-panda_3.18.0-rc3-next-20141105-panda-1_amd64.deb linux-headers-3.18.0-rc3-next-20141105-panda_3.18.0-rc3-next-20141105-panda-1_amd64.deb
Built modules from Larry's github repository.
$ cd rtlwifi_new $ make $ sudo make install
$ sudo modprobe -rv rtl8192se rmmod rtl8192se rmmod rtl_pci rmmod rtlwifi rmmod mac80211 rmmod cfg80211
The module does not load:
$ sudo modprobe -v rtl8192se insmod /lib/modules/3.18.0-rc3-next-20141105-panda/kernel/net/wireless/cfg80211.ko insmod /lib/modules/3.18.0-rc3-next-20141105-panda/kernel/net/mac80211/mac80211.ko insmod /lib/modules/3.18.0-rc3-next-20141105-panda/kernel/drivers/net/wireless/rtlwifi/rtlwifi.ko insmod /lib/modules/3.18.0-rc3-next-20141105-panda/kernel/drivers/net/wireless/rtlwifi/rtl_pci.ko insmod /lib/modules/3.18.0-rc3-next-20141105-panda/extra/rtl8192se.ko ERROR: could not insert 'rtl8192se': Invalid argument
And /var/log/messages showed:
Nov 5 22:28:01 laptop kernel: [ 301.276806] rtl8192se: disagrees about version of symbol rtl_process_phyinfo Nov 5 22:28:01 laptop kernel: [ 301.276812] rtl8192se: Unknown symbol rtl_process_phyinfo (err -22) Nov 5 22:28:01 laptop kernel: [ 301.276864] rtl8192se: disagrees about version of symbol rtl_get_tcb_desc Nov 5 22:28:01 laptop kernel: [ 301.276866] rtl8192se: Unknown symbol rtl_get_tcb_desc (err -22)
Signature · 1 line
Murilo
Quoted 83 lines · Murilo Opsfelder Araujo
Quoted 45 lines · Larry Finger
Quoted 34 lines · Mike Galbraith
Quoted 10 lines · Larry Finger
Quoted 6 lines · Murilo Opsfelder Araujo
This is a complement of commit
08054200117a95afc14c3d2ed3a38bf4e345bf78"rtlwifi: Add check forget_btc_statuscallback".With this patch, next-20141029 at least does not panic with rtl8192se device.
This patch is OK, but as noted it is not complete.
Quoted 7 lines
I have patches to fix all the kernel panics for rtl8192se AND rtl8192ce. There
are missing parts, but I would prefer submitting mine, which would conflict with
this one. For that reason, NACK for this one, and please apply the set I am
submitting now.It's all in there now, but my RTL8191SEvB is still dead. Squabbling with it isn't going all that well either.
As soon as
38506ecertlwifi:rtl_pci: Start modification for new drivers is applied, explosions appear. Subsequently applying...08054200 rtlwifi: Add check for
get_btc_statuscallbackc0386f15rtlwifi: rtl8192ce: rtl8192de: rtl8192se: Fix handling for missingget_btc_status
50147969 rtlwifi: rtl8192se: Fix duplicate calls toieee80211_register_hw()30c5ccc6rtlwifi: rtl8192se: Add missing section to read descriptor setting75a916e1rtlwifi: rtl8192se: Fix firmware loadingQuoted 3 lines
...fixes that mess up, but leaves the interface dead in the same manner as if nothing has been reverted. So it _seems_ the bustage lurks in
38506ecesomewhere. Too bad it's non-dinky, and written in wifi-ese :)Yes, I am aware that rtl8192se is failing, and now that I am back from vacation, I am working on the problem. If you want to use the driver with kernel 3.18, clone the repo at
http://github.com/lwfinger/rtlwifi_new.git and build and install either the master orkernel_versionbranches. Both work.Quoted 6 lines
I am in the process of trying to find what the crucial difference is between that repo and the kernel version.
Larry
I'm sending to everyone so others can jump in as well.
Here are the steps I've followed.
Installed and booted my kernel:
$ sudo dpkg -i linux-image-3.18.0-rc3-next-20141105-panda_3.18.0-rc3-next-20141105-panda-1_amd64.deb linux-headers-3.18.0-rc3-next-20141105-panda_3.18.0-rc3-next-20141105-panda-1_amd64.debBuilt modules from Larry's github repository.
$ cd rtlwifi_new $ make $ sudo make install$ sudo modprobe -rv rtl8192se rmmod rtl8192se rmmod rtl_pci rmmod rtlwifi rmmod mac80211 rmmod cfg80211The module does not load:
$ sudo modprobe -v rtl8192se insmod /lib/modules/3.18.0-rc3-next-20141105-panda/kernel/net/wireless/cfg80211.ko insmod /lib/modules/3.18.0-rc3-next-20141105-panda/kernel/net/mac80211/mac80211.ko insmod /lib/modules/3.18.0-rc3-next-20141105-panda/kernel/drivers/net/wireless/rtlwifi/rtlwifi.ko insmod /lib/modules/3.18.0-rc3-next-20141105-panda/kernel/drivers/net/wireless/rtlwifi/rtl_pci.ko insmod /lib/modules/3.18.0-rc3-next-20141105-panda/extra/rtl8192se.ko ERROR: could not insert 'rtl8192se': Invalid argument
Quoted 7 lines
And
/var/log/messagesshowed:Nov 5 22:28:01 laptop kernel: [ 301.276806] rtl8192se: disagrees about version of symbol rtl_process_phyinfo Nov 5 22:28:01 laptop kernel: [ 301.276812] rtl8192se: Unknown symbol rtl_process_phyinfo (err -22) Nov 5 22:28:01 laptop kernel: [ 301.276864] rtl8192se: disagrees about version of symbol rtl_get_tcb_desc Nov 5 22:28:01 laptop kernel: [ 301.276866] rtl8192se: Unknown symbol rtl_get_tcb_desc (err -22)
Here is what I did in order to get the rtl8192se from Larry's repo to work:
$ cd rtlwifi_new $ make
$ sudo modprobe -rv rtl8192se rmmod rtl8192se rmmod rtl_pci rmmod rtlwifi rmmod mac80211 rmmod cfg80211
$ sudo modprobe -v cfg80211 insmod /lib/modules/3.18.0-rc3-next-20141106-panda/kernel/net/wireless/cfg80211.ko
$ sudo modprobe -v mac80211 insmod /lib/modules/3.18.0-rc3-next-20141106-panda/kernel/net/mac80211/mac80211.ko
$ sudo insmod ./rtlwifi.ko $ sudo insmod ./rtl_pci.ko $ sudo insmod ./rtl8192se/rtl8192se.ko
Cascardo helped me to investigate this and the issue was that modprobe was loading the core rtl drivers from the next-20141105 and the rtl8192se from Larry's repo. Thus, rtl8192se didn't have all its required symbols at loading time.
Loading the drivers in reverse order using insmod did the trick.
Larry, your rtl8192se from rtlwifi_new repository is working pretty fine on my hardware. I'm looking forward to see that code landing linux 3.18.
Thanks everyone for the help and support. At least now, I have a workaround.
Apreciated!
Signature · 1 line
Murilo
Quoted 120 lines · Murilo Opsfelder Araujo
Quoted 83 lines · Murilo Opsfelder Araujo
Quoted 45 lines · Larry Finger
Quoted 34 lines · Mike Galbraith
Quoted 10 lines · Larry Finger
Quoted 6 lines · Murilo Opsfelder Araujo
This is a complement of commit
08054200117a95afc14c3d2ed3a38bf4e345bf78"rtlwifi: Add check forget_btc_statuscallback".With this patch, next-20141029 at least does not panic with rtl8192se device.
This patch is OK, but as noted it is not complete.
Quoted 7 lines
I have patches to fix all the kernel panics for rtl8192se AND rtl8192ce. There
are missing parts, but I would prefer submitting mine, which would conflict with
this one. For that reason, NACK for this one, and please apply the set I am
submitting now.It's all in there now, but my RTL8191SEvB is still dead. Squabbling with it isn't going all that well either.
As soon as
38506ecertlwifi:rtl_pci: Start modification for new drivers is applied, explosions appear. Subsequently applying...08054200 rtlwifi: Add check for
get_btc_statuscallbackc0386f15rtlwifi: rtl8192ce: rtl8192de: rtl8192se: Fix handling for missingget_btc_status
50147969 rtlwifi: rtl8192se: Fix duplicate calls toieee80211_register_hw()30c5ccc6rtlwifi: rtl8192se: Add missing section to read descriptor setting75a916e1rtlwifi: rtl8192se: Fix firmware loadingQuoted 3 lines
...fixes that mess up, but leaves the interface dead in the same manner as if nothing has been reverted. So it _seems_ the bustage lurks in
38506ecesomewhere. Too bad it's non-dinky, and written in wifi-ese :)Yes, I am aware that rtl8192se is failing, and now that I am back from vacation, I am working on the problem. If you want to use the driver with kernel 3.18, clone the repo at
http://github.com/lwfinger/rtlwifi_new.git and build and install either the master orkernel_versionbranches. Both work.Quoted 6 lines
I am in the process of trying to find what the crucial difference is between that repo and the kernel version.
Larry
I'm sending to everyone so others can jump in as well.
Here are the steps I've followed.
Installed and booted my kernel:
$ sudo dpkg -i linux-image-3.18.0-rc3-next-20141105-panda_3.18.0-rc3-next-20141105-panda-1_amd64.deb linux-headers-3.18.0-rc3-next-20141105-panda_3.18.0-rc3-next-20141105-panda-1_amd64.debBuilt modules from Larry's github repository.
$ cd rtlwifi_new $ make $ sudo make install$ sudo modprobe -rv rtl8192se rmmod rtl8192se rmmod rtl_pci rmmod rtlwifi rmmod mac80211 rmmod cfg80211The module does not load:
$ sudo modprobe -v rtl8192se insmod /lib/modules/3.18.0-rc3-next-20141105-panda/kernel/net/wireless/cfg80211.ko insmod /lib/modules/3.18.0-rc3-next-20141105-panda/kernel/net/mac80211/mac80211.ko insmod /lib/modules/3.18.0-rc3-next-20141105-panda/kernel/drivers/net/wireless/rtlwifi/rtlwifi.ko insmod /lib/modules/3.18.0-rc3-next-20141105-panda/kernel/drivers/net/wireless/rtlwifi/rtl_pci.ko insmod /lib/modules/3.18.0-rc3-next-20141105-panda/extra/rtl8192se.ko ERROR: could not insert 'rtl8192se': Invalid argumentQuoted 7 lines
And
/var/log/messagesshowed:Nov 5 22:28:01 laptop kernel: [ 301.276806] rtl8192se: disagrees about version of symbol rtl_process_phyinfo Nov 5 22:28:01 laptop kernel: [ 301.276812] rtl8192se: Unknown symbol rtl_process_phyinfo (err -22) Nov 5 22:28:01 laptop kernel: [ 301.276864] rtl8192se: disagrees about version of symbol rtl_get_tcb_desc Nov 5 22:28:01 laptop kernel: [ 301.276866] rtl8192se: Unknown symbol rtl_get_tcb_desc (err -22)Here is what I did in order to get the rtl8192se from Larry's repo to work:
$ cd rtlwifi_new $ make$ sudo modprobe -rv rtl8192se rmmod rtl8192se rmmod rtl_pci rmmod rtlwifi rmmod mac80211 rmmod cfg80211$ sudo modprobe -v cfg80211 insmod /lib/modules/3.18.0-rc3-next-20141106-panda/kernel/net/wireless/cfg80211.ko$ sudo modprobe -v mac80211 insmod /lib/modules/3.18.0-rc3-next-20141106-panda/kernel/net/mac80211/mac80211.ko$ sudo insmod ./rtlwifi.ko $ sudo insmod ./rtl_pci.ko $ sudo insmod ./rtl8192se/rtl8192se.koCascardo helped me to investigate this and the issue was that modprobe was loading the core rtl drivers from the next-20141105 and the rtl8192se from Larry's repo. Thus, rtl8192se didn't have all its required symbols at loading time.
Quoted 5 lines
Loading the drivers in reverse order using insmod did the trick.
Larry, your rtl8192se from
rtlwifi_newrepository is working pretty fine on my hardware. I'm looking forward to see that code landing linux 3.18.
I am happy that it is working now; however, if you had done "sudo make install", the new drivers would have been in the proper directories, and you would not have gotten the incorrect symbol errors, or need to use the insmod commands that you post.
Larry
Quoted 150 lines · Larry Finger
Quoted 142 lines · Murilo Opsfelder Araujo
Quoted 100 lines · Murilo Opsfelder Araujo
Quoted 53 lines · Larry Finger
Quoted 40 lines · Mike Galbraith
Quoted 13 lines · Larry Finger
Quoted 8 lines · Murilo Opsfelder Araujo
This is a complement of commit
08054200117a95afc14c3d2ed3a38bf4e345bf78
"rtlwifi: Add check forget_btc_statuscallback".With this patch, next-20141029 at least does not panic with rtl8192se device.
This patch is OK, but as noted it is not complete.
Quoted 7 lines
I have patches to fix all the kernel panics for rtl8192se AND rtl8192ce. There
are missing parts, but I would prefer submitting mine, which would conflict with
this one. For that reason, NACK for this one, and please apply the set I am
submitting now.It's all in there now, but my RTL8191SEvB is still dead. Squabbling with it isn't going all that well either.
As soon as
38506ecertlwifi:rtl_pci: Start modification for new drivers
is applied, explosions appear. Subsequently applying...08054200 rtlwifi: Add check for
get_btc_statuscallbackc0386f15rtlwifi: rtl8192ce: rtl8192de: rtl8192se: Fix handling for missingget_btc_status
50147969 rtlwifi: rtl8192se: Fix duplicate calls toieee80211_register_hw()30c5ccc6rtlwifi: rtl8192se: Add missing section to read descriptor setting75a916e1rtlwifi: rtl8192se: Fix firmware loadingQuoted 3 lines
...fixes that mess up, but leaves the interface dead in the same manner as if nothing has been reverted. So it _seems_ the bustage lurks in
38506ecesomewhere. Too bad it's non-dinky, and written in wifi-ese :)Yes, I am aware that rtl8192se is failing, and now that I am back from vacation, I am working on the problem. If you want to use the driver with kernel 3.18, clone the repo at
http://github.com/lwfinger/rtlwifi_new.git and build and install either the master orkernel_versionbranches. Both work.Quoted 6 lines
I am in the process of trying to find what the crucial difference is between that repo and the kernel version.
Larry
I'm sending to everyone so others can jump in as well.
Here are the steps I've followed.
Installed and booted my kernel:
$ sudo dpkg -i linux-image-3.18.0-rc3-next-20141105-panda_3.18.0-rc3-next-20141105-panda-1_amd64.deb linux-headers-3.18.0-rc3-next-20141105-panda_3.18.0-rc3-next-20141105-panda-1_amd64.debBuilt modules from Larry's github repository.
$ cd rtlwifi_new $ make $ sudo make install$ sudo modprobe -rv rtl8192se rmmod rtl8192se rmmod rtl_pci rmmod rtlwifi rmmod mac80211 rmmod cfg80211The module does not load:
$ sudo modprobe -v rtl8192se insmod /lib/modules/3.18.0-rc3-next-20141105-panda/kernel/net/wireless/cfg80211.ko insmod /lib/modules/3.18.0-rc3-next-20141105-panda/kernel/net/mac80211/mac80211.ko insmod /lib/modules/3.18.0-rc3-next-20141105-panda/kernel/drivers/net/wireless/rtlwifi/rtlwifi.ko insmod /lib/modules/3.18.0-rc3-next-20141105-panda/kernel/drivers/net/wireless/rtlwifi/rtl_pci.ko insmod /lib/modules/3.18.0-rc3-next-20141105-panda/extra/rtl8192se.ko ERROR: could not insert 'rtl8192se': Invalid argumentAnd
/var/log/messagesshowed:Quoted 9 lines
Nov 5 22:28:01 laptop kernel: [ 301.276806] rtl8192se: disagrees about version of symbol rtl_process_phyinfo Nov 5 22:28:01 laptop kernel: [ 301.276812] rtl8192se: Unknown symbol rtl_process_phyinfo (err -22) Nov 5 22:28:01 laptop kernel: [ 301.276864] rtl8192se: disagrees about version of symbol rtl_get_tcb_desc Nov 5 22:28:01 laptop kernel: [ 301.276866] rtl8192se: Unknown symbol
rtl_get_tcb_desc(err -22)Here is what I did in order to get the rtl8192se from Larry's repo to work:
$ cd rtlwifi_new $ make$ sudo modprobe -rv rtl8192se rmmod rtl8192se rmmod rtl_pci rmmod rtlwifi rmmod mac80211 rmmod cfg80211$ sudo modprobe -v cfg80211 insmod /lib/modules/3.18.0-rc3-next-20141106-panda/kernel/net/wireless/cfg80211.ko$ sudo modprobe -v mac80211 insmod /lib/modules/3.18.0-rc3-next-20141106-panda/kernel/net/mac80211/mac80211.ko$ sudo insmod ./rtlwifi.ko $ sudo insmod ./rtl_pci.ko $ sudo insmod ./rtl8192se/rtl8192se.koCascardo helped me to investigate this and the issue was that modprobe was loading the core rtl drivers from the next-20141105 and the rtl8192se from Larry's repo. Thus, rtl8192se didn't have all its required symbols at loading time.
Quoted 5 lines
Loading the drivers in reverse order using insmod did the trick.
Larry, your rtl8192se from
rtlwifi_newrepository is working pretty fine on my hardware. I'm looking forward to see that code landing linux 3.18.
Quoted 8 lines
I am happy that it is working now; however, if you had done "sudo make install", the new drivers would have been in the proper directories, and you would not have gotten the incorrect symbol errors, or need to use the insmod commands that you post.
Larry
Hello, Larry.
I'd like to let you know that next-20141112 brought my rtl8192se device back to life. I didn't need to build rtlwifi_new to be able to connect to my wifi network. It worked just fine.
Thank you all.
Signature · 1 line
Murilo
Quoted 5 lines · Murilo Opsfelder Araújo
Hello, Larry.
I'd like to let you know that next-20141112 brought my rtl8192se device back to life. I didn't need to build
rtlwifi_newto be able to connect to my wifi network. It worked just fine.
Yeah, unsurprisingly, merging those fixed up my lappy as well.
-Mike