Modify

Opened 8 years ago

Closed 7 years ago

Last modified 4 years ago

#6801 closed defect (wontfix)

kmod-ssb does not work on routerstation (pro)

Reported by: KanjiMonster Owned by: developers
Priority: normal Milestone: Barrier Breaker 14.07
Component: kernel Version: Kamikaze trunk
Keywords: ar71xx ssb pci Cc:

Description

kmod-ssb produces an Oops on routerstation and routerstation pro:

PCI: Enabling device 0000:00:12.0 (0000 -> 0002)
PCI error 1 at PCI addr 0x10001000
Data bus error, epc == 8017ac68, ra == 873aa6f8
Oops[#1]:
Cpu 0
$ 0   : 00000000 80400000 0000c0de 802ca8a0
$ 4   : b0001002 872d9680 00000000 873aab2c
$ 8   : 00000000 800643f0 00000000 802c8000
$12   : 00010000 0000011f 00000001 00480000
$16   : 00001000 00000001 8789dc00 872d9680
$20   : 873aaaf8 8789dc00 00407fcc 00000002
$24   : 0047e314 873ab32c
$28   : 873b8000 873b9c58 7ff17dd8 873aa6f8
Hi    : 00004e1f
Lo    : 00000003
epc   : 8017ac68 ioread16+0x8/0x10
    Not tainted
ra    : 873aa6f8 ssb_attr_sprom_show+0x42c/0x464 [ssb]
Status: 1000f403    KERNEL EXL IE
Cause : 9080001c
PrId  : 00019374 (MIPS 24Kc)
Modules linked in: ssb(+) crc_ccitt leds_gpio button_hotplug gpio_buttons input_polldev input_core
Process insmod (pid: 456, threadinfo=873b8000, task=878e56a8, tls=00000000)
Stack : 8789dc00 00000001 00000000 873abed0 00407fcc fffffff4 872d9680 873b9cc0
        8789dedc 873aab4c 873b9cc0 000f1b30 8789de40 873ac308 00000000 873b9cc0
        00000000 8789dc00 8789dedc 873aaaf8 00000000 873a96f8 8789dc00 801d1994
        00000000 00000004 00000000 00000000 00000000 00000000 00000000 00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
        ...
Call Trace:
[<8017ac68>] ioread16+0x8/0x10
[<873aa6f8>] ssb_attr_sprom_show+0x42c/0x464 [ssb]
[<873ac308>] ssb_chipcommon_init+0x84/0x160 [ssb]
[<873a96f8>] ssb_bus_unregister+0x1a8/0x2e8 [ssb]

This probably makes broadcom wlan cards unusable on these devices.

A possible workaround might be extracting the sprom elsewhere and using that, but I did not try that yet.

Attachments (1)

unconditionally_use_fallback_sprom_for_ssb.patch (2.4 KB) - added by KanjiMonster 8 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 Changed 8 years ago by florian

You might want to use the same "hack" as we do for brcm63xx devices which also lack a SPROM in target/linux/brcm63xx/files-2.6.30/arch/mips/bcm63xx/boards/board_bcm963xx.c line 883 to 970. See if that helps

comment:2 follow-up: Changed 8 years ago by florian

Forgot to mention that ssb_arch_set_fallback_sprom should be called prior to PCI initialization in order to have it working when the b43 ssb pci bridge is initialized.

comment:3 Changed 8 years ago by KanjiMonster

Thanks for the pointers, I'll try that (hoping that the "sprom" works with my card).

comment:4 in reply to: ↑ 2 Changed 8 years ago by KanjiMonster

Replying to florian:

Forgot to mention that ssb_arch_set_fallback_sprom should be called prior to PCI initialization in order to have it working when the b43 ssb pci bridge is initialized.

Hrm, setting it alone isn't enough, I also have to prevent it from even trying to read the sprom (which is causing the pci bus error).

Moving the check for fallback sprom to front seems to work, at least it doesn't generate any oopses any more.

Now I'll try if I can use the card, and if yes, I'll attach a patch.

Changed 8 years ago by KanjiMonster

comment:5 Changed 8 years ago by KanjiMonster

Using this patch, it doesn't oops anymore (obviously this belongs only in target/ar71xx).
But using a broadcom card (wl-120 from an asus wl-500gp) doesn't seem to work yet:

root@OpenWrt:/sbin# wifi up
Configuration file: /var/run/hostapd-phy0.conf
b43-phy0: Loading firmware version 478.104 (2008-07-01 00:50:23)
Could not set interface mon.wlan0 flags: Cannot assign requested address
nl80211: Failed to set interface wlan0 into AP mode
nl80211 driver initialization failed.
rmdir[ctrl_interface]: No such file or directory
ELOOP: remaining socket: sock=4 eloop_data=0x4a1d20 user_data=0x4a1728 handler=0x422620
ELOOP: remaining socket: sock=6 eloop_data=0x4a23a8 user_data=(nil) handler=0x42e70c
Failed to start hostapd for phy0

Any pointers how to debug that? Unfortunately building mac80211 with CONFIG_B43_DEBUG=y produces compile errors.

comment:6 follow-up: Changed 8 years ago by florian

I think the issue might rather be in the hostapd/mac80211 scripts and not in the driver.

comment:7 in reply to: ↑ 6 Changed 8 years ago by KanjiMonster

Replying to florian:

I think the issue might rather be in the hostapd/mac80211 scripts and not in the driver.

Well, all error messages except the last one come from hostapd itself:

+ hostapd -P /var/run/wifi-phy0.pid -B /var/run/hostapd-phy0.conf
Configuration file: /var/run/hostapd-phy0.conf
b43-phy0: Loading firmware version 478.104 (2008-07-01 00:50:23)
Could not set interface mon.wlan0 flags: Cannot assign requested address
nl80211: Failed to set interface wlan0 into AP mode
nl80211 driver initialization failed.
rmdir[ctrl_interface]: No such file or directory
ELOOP: remaining socket: sock=4 eloop_data=0x4a1d20 user_data=0x4a1728 handler=0x422620
ELOOP: remaining socket: sock=6 eloop_data=0x4a23a8 user_data=(nil) handler=0x42e70c
+ echo Failed to start hostapd for phy0
Failed to start hostapd for phy0
+ return

The generated hostapd-phy0.conf:

ctrl_interface=/var/run/hostapd-phy0
driver=nl80211
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0
tx_queue_data3_aifs=7
tx_queue_data3_cwmin=15
tx_queue_data3_cwmax=1023
tx_queue_data3_burst=0
tx_queue_data2_aifs=3
tx_queue_data2_cwmin=15
tx_queue_data2_cwmax=63
tx_queue_data2_burst=0
tx_queue_data1_aifs=1
tx_queue_data1_cwmin=7
tx_queue_data1_cwmax=15
tx_queue_data1_burst=3.0
tx_queue_data0_aifs=1
tx_queue_data0_cwmin=3
tx_queue_data0_cwmax=7
tx_queue_data0_burst=1.5
hw_mode=g
channel=5


interface=wlan0
wpa=0
ssid=OpenWrt
bridge=br-lan
wmm_enabled=1
bssid=00:00:00:00:00:00
ignore_broadcast_ssid=0

comment:8 Changed 7 years ago by KanjiMonster

After further investigation this looks like a non existent or disabled SPROM on the card, not a PCI problem.

I'll take the problem upstream to linux-wireless, so this ticket can be closed as it isn't a problem of the RS (Pro), bit one of the specific card.

comment:9 Changed 7 years ago by jow

  • Resolution set to wontfix
  • Status changed from new to closed

hardware issue

comment:10 Changed 4 years ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.