Part Number:AM5728
Tool/software: Linux
On our custom board, we extend the wifi use usb. The wifi chip is rtl8188cus. The linux system can recognize this chip. when we start the wpa_supplicant, the system crashed.
the linux version is: 4.4.41-rt50-g968d071ce9
the message is:
[ 11.767041] cfg80211: World regulatory domain updated:
[ 11.772266] cfg80211: DFS Master region: unset
[ 11.776665] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[ 11.786542] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[ 11.794588] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[ 11.803619] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
[ 11.810281] rtl8192cu: Chip version 0x10
[ 11.816128] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
[ 11.825837] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[ 11.835511] cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
[ 11.843650] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
[ 11.843656] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
[ OK ] Started Serial Getty on ttyS2.
[ OK ] Reached target Network.
[ 11.920293] rtl8192cu: MAC address: 00:13:ef:f1:02:76
[ 11.925667] rtl8192cu: Board Type 0
[ 11.930392] rtl_usb: rx_max_size 15360, rx_urb_num 8, in_ep 1
[ 11.936392] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin
Starting Network Name Resolution...
Starting Lightning Fast Webserver With Light System Requirements...
[ 12.101249] usbcore: registered new interface driver rtl8192cu
[ OK ] Started Lightning Fast Webserver With Light System Requirements.
[ OK ] Started Network Name Resolution.
[ 12.299031] rtl8192cu: MAC auto ON okay!
[ 12.331823] rtl8192cu: Tx queue select: 0x05
Starting Load/Save RF Kill Switch Status...
[ OK ] Started Load/Save RF Kill Switch Status.
wlan0 Link encap:Ethernet HWaddr 00:13:EF:F1:02:76
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
root@am57xx-evm:~# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf
Successfully initialized wpa_supplicant
wlan0: SME: Trying to authenticate with 00:22:aa:a7:5d:74 (SSID='UBT_BJ-Meeting' freq=2462 MHz)[ 151.189593] wlan0: authenticate with 00:22:4
[ 151.214836] wlan0: send auth to 00:22:aa:a7:5d:74 (try 1/3)
[ 151.248499] wlan0: authenticated
wlan0: Trying to associate with 00:22:aa:a7:5d:74 (SSID='UBT_BJ-Meeting' freq=2462 MHz)[ 151.258049] wlan0: associate with 00:22:aa:a7:5d:74)
[ 151.271757] wlan0: RX AssocResp from 00:22:aa:a7:5d:74 (capab=0x431 status=0 aid=4)
[ 151.282945] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 151.289636] wlan0: associated
wlan0: Associated with 00:22:aa:a7:5d:74
wlan0: WPA: Key negotiation completed with 00:22:aa:a7:5d:74 [PTK=CCMP GTK=TKIP][ 151.611633] Unable to handle kernel NULL pointer dereferen4
[
wlan0: CTRL-EVENT-CONNECTED - Connection to 00:22:aa:a7:5d:74 completed [id=0 id_str=]
151.624039] pgd = ecc69e00
[ 151.634621] [00000034] *pgd=00000000
[ 151.638225] Internal error: Oops: 205 [#1] PREEMPT SMP ARM
[ 151.638310] Modules linked in: drbg ctr ccm arc4 rtl8192cu rtl_usb rtl8192c_common rtlwifi mac80211 cfg80211 xhci_plat_hcd xhci_hcd usbcor)
[ 151.638316] CPU: 0 PID: 757 Comm: systemd-network Tainted: G O 4.4.41-rt50-g968d071ce9 #10
[ 151.638319] Hardware name: Generic DRA74X (Flattened Device Tree)
[ 151.638323] task: ed328000 ti: ed046000 task.ti: ed046000
[ 151.638360] PC is at rtl_lps_leave_core+0xc/0x108 [rtlwifi]
[ 151.638387] LR is at rtl_lps_leave+0x60/0x64 [rtlwifi]
[ 151.638392] pc : [<bf48b8e4>] lr : [<bf48ba74>] psr: 60010013
[ 151.638392] sp : ed0479d8 ip : ed0479f8 fp : ed0479f4
[ 151.638396] r10: 00000010 r9 : 00000001 r8 : 00000000
[ 151.638399] r7 : ecdbaac8 r6 : ecdbb060 r5 : 00000001 r4 : ecdb1060
[ 151.638402] r3 : 00000000 r2 : 00000000 r1 : ecdbaac8 r0 : 00000000
[ 151.638407] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 151.638410] Control: 30c5387d Table: acc69e00 DAC: fffffffd
[ 151.638413] Process systemd-network (pid: 757, stack limit = 0xed046210)
[ 151.638416] Stack: (0xed0479d8 to 0xed048000)
the wpa_supplicant.conf is:
network={
ssid="UBT_BJ-Meeting"
#psk="******"
psk=7c8c9a65dd8738aa2b6412bd61330147aac05393716ce5c3d181bb70812f8762
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
auth_alg=OPEN
}
according to the message we located the error
(gdb) list *(rtl_lps_leave_core+0xc)
0xc8e4 is in rtl_lps_leave_core (drivers/net/wireless/realtek/rtlwifi/ps.c:462).
457 }
458
459 /* Interrupt safe routine to leave the leisure power save mode.*/
460 static void rtl_lps_leave_core(struct ieee80211_hw *hw)
461 {
462 struct rtl_priv *rtlpriv = rtl_priv(hw);
463 struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw));
464 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw));
465 unsigned long flag;
466
(gdb) list *(rtl_lps_leave+0x60)
0xca74 is in rtl_lps_leave (drivers/net/wireless/realtek/rtlwifi/ps.c:704).
699 void rtl_lps_leave(struct ieee80211_hw *hw)
700 {
701 struct rtl_priv *rtlpriv = rtl_priv(hw);
702
703 if (!in_interrupt())
704 return rtl_lps_leave_core(hw);
705 rtlpriv->enter_ps = false;
706 schedule_work(&rtlpriv->works.lps_change_work);
707 }
708 EXPORT_SYMBOL_GPL(rtl_lps_leave);
what problem maybe? thank you!