お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2020-01-18 13:32:03

udooon
メンバ
登録日: 2012-01-24

rt2800usb デバイスが停止する

[環境]
ubuntu 18.04
kernel 5.3.0-26-generic
rt2800usb (rt3070)

[症状]
rfkill(soft,hard)、接続・切断すると、rt2800usbが停止する。

コード:

[  +0.032492] ieee80211 phy1: rt2x00usb_vendor_request: Error - Vendor Request 0x06 failed for offset 0x0404 with error -71
[  +1.222060] ieee80211 phy1: rt2800_wait_csr_ready: Error - Unstable hardware
[  +0.000010] ieee80211 phy1: rt2800usb_set_device_state: Error - Device failed to enter state 4 (-5)

[原因]
データシートによると
https://www.lan23.ru/wifi/EEPROM-WN7200ND/RT3070.pdf
p51

コード:

4.5.3 Shared Memory between MCU and host (offset:0x7010~0x701F)
This register is used as the mailbox between the MCU and host driver. It’s valid for RT2860 and RT2980 only.

ということらしい。

[改善用パッチ]

コード:

--- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c.orig
+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
@@ -499,7 +499,8 @@ void rt2800_mcu_request(struct rt2x00_de
     /*
      * SOC devices don't support MCU requests.
      */
-    if (rt2x00_is_soc(rt2x00dev))
+    if (rt2x00_is_soc(rt2x00dev) ||
+        !rt2x00_rt(rt2x00dev, RT2860))
         return;
 
     mutex_lock(&rt2x00dev->csr_mutex);

[備考]
英語がわからないので、バグ報告はしてません。
(今までのものすべて)

オフライン

 

Board footer

Powered by FluxBB