erikarn/athp

kernel panic Fatal double fault

kiokoman opened this issue · 6 comments

after upgrading pfsense to the latest 2.5 version does not work anymore
FreeBSD 12.0-RELEASE-p4

athp0: failed to fetch generic board data: -1
athp0: failed to fetch board file: -1
athp0: could not fetch firmware files (-1)
athp0: could not probe fw, clean up allocations, memory and retry. (-1)
athp0: ath10k_fetch_fw_file: firmware_get: athp_cal-pci-athp0.bin
athp_cal-pci-athp0.bin: could not load firmware image, error 2
athp0: ath10k_fetch_fw_file: firmware_get: athp_QCA988X_hw2.0_board.bin
athp_QCA988X_hw2.0_board.bin: could not load firmware image, error 8
athp0: failed to fetch generic board data: -1
athp0: failed to fetch board file: -1
athp0: could not fetch firmware files (-1)
athp0: could not probe fw, clean up allocations, memory and retry. (-1)

---- multiple times until ->>>

Fatal double fault
rip 0xffffffff80d54382 rsp 0xfffffe002e497fb0 rbp 0xfffffe002e498050
rax 0xffffffff7fffffff rdx 0xffffffffffffffff rbx 0x7fffffff
rcx 0 rsi 0xffffffff82c22a88 rdi 0xfffffe002e498080
r8 0 r9 0x7fffffff r10 0x8000deb3
r11 0xfffffe002e49866c r12 0xfffffe002e498080 r13 0x2
r14 0 r15 0x3 rflags 0x10082
cs 0x20 ss 0x28 ds 0x3b es 0x3b fs 0x13 gs 0x1b
fsbase 0x8002348d0 gsbase 0xffffffff82cb4200 kgsbase 0
cpuid = 0; apic id = 00
panic: double fault
cpuid = 0
time = 1558182999
KDB: enter: panic

all *.bin files are indeed inside /boot/modules

i put textdump file here (textdump.tar.3) -> https://drive.google.com/open?id=1fM-Jlmf8BY21kIEGueSxFWmrISZqcDj3

still working under FreeBSD 12.0-RELEASE-p3

I put code in the driver that tries to load the firmware I believe about 10 times then it stops and crashes, well the solution is to figure out why it cant find the firmware. Maybe you need to recompile the modules for 2.5

i found the problem "firmware table full!", google told me to recompile the kernel with incrised #define FIRMWARE_MAX, now it load just fine

[2.5.0-DEVELOPMENT][root@pfSense.localdomain]/root: ifconfig athp0_wlan0 mode 11g [2.5.0-DEVELOPMENT][root@pfSense.localdomain]/root: ifconfig athp0_wlan0 mode 11na [2.5.0-DEVELOPMENT][root@pfSense.localdomain]/root: ifconfig athp0_wlan0 mode 11ac ifconfig: SIOCSIFMEDIA (media): Invalid argument

there is no support for 802.11ac ?

I never tested setting the media to 11ac. I always left it up to the channel specification, NOT the mode/media.

Please file a FreeBSD PR about setting the media to 11ac. I'll go make sure it doesn't error out.

when i load if_athp.ko this is reported:

athp0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
athp0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
athp0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
athp0: 3T3R
athp0: 11na MCS 20MHz
bla bla bla
athp0: MCS 8-15: 30Mbps - 300Mbps
athp0: MCS 16-23: 45Mbps - 450Mbps
**athp0: [VHT] Channel Widths: 20MHz, 40MHz, 80MHz
athp0: [VHT] Features: 338001b2<MPDU11454,RXLDPC,SHORTGI80,RXSTBC1,RXSTBC2>
athp0: [VHT] NSS 1: TX MCS 0..9, RX MCS 0..9**
athp0: [VHT] NSS 2: TX MCS 0..9, RX MCS 0..9
athp0: [VHT] NSS 3: TX MCS 0..9, RX MCS 0..9

this is specs of my card
http://www.sparklan.com/p2-products-detail.php?PKey=05f1PcJhJnAq1DolkcoSJibeSaxmPjpTYdltrQ-f&WPEA-352ACN

11ac ISM Band: 5.150GHz ~ 5.825GHz
802.11ac (HT80)

maybe i'm saying bulshit here but

i can't see any definition of HT80 or VHT inside regdomain.xml
the last netband mode is "11na" there isn't any "11ac" VHT80 VHT80+80 or VHT160

<rd id="fcc">
  <name>FCC</name>
  <sku>0x10</sku>
  <defcc ref="US"/>
  <netband mode="11b">
    <band>
      <freqband ref="F1_2412_2462"/>
      <maxpower>30</maxpower>
      <flags>IEEE80211_CHAN_B</flags>
    </band>
  </netband>
  <netband mode="11g">
    <band>
      <freqband ref="F1_2412_2462"/>
      <maxpower>30</maxpower>
      <flags>IEEE80211_CHAN_G</flags>
    </band>
  </netband>
  <netband mode="11a">
    <band>
      <freqband ref="F1_5180_5240"/>
      <maxpower>17</maxpower>
    </band>
    <band>
      <freqband ref="F1_5745_5805"/>
      <maxpower>23</maxpower>
    </band>
    <band>
      <freqband ref="F1_5825_5825"/>
      <maxpower>23</maxpower>
      <flags>IEEE80211_CHAN_PASSIVE</flags>
    </band>
  </netband>
  <netband mode="11ng">
    <band>
      <freqband ref="F1_2412_2462"/>
      <maxpower>30</maxpower>
      <flags>IEEE80211_CHAN_G</flags>
      <flags>IEEE80211_CHAN_HT20</flags>
    </band>
    <band>
      <freqband ref="H4_2412_2462"/>
      <maxpower>30</maxpower>
      <flags>IEEE80211_CHAN_G</flags>
      <flags>IEEE80211_CHAN_HT40</flags>
    </band>
  </netband>
  <netband mode="11na">
    <band>
      <freqband ref="F1_5180_5240"/>
      <maxpower>17</maxpower>
      <flags>IEEE80211_CHAN_HT20</flags>
    </band>
    <band>
      <freqband ref="H4_5180_5240"/>
      <maxpower>17</maxpower>
      <flags>IEEE80211_CHAN_HT40</flags>
    </band>
    <band>
      <freqband ref="F1_5745_5805"/>
      <maxpower>23</maxpower>
      <flags>IEEE80211_CHAN_HT20</flags>
    </band>
    <band>
      <freqband ref="H4_5745_5805"/>
      <maxpower>23</maxpower>
      <flags>IEEE80211_CHAN_HT40</flags>
    </band>
  </netband>
</rd>

this is under my linux server:

kiokoman@nanto:/lib/crda$` regdbdump regulatory.bin
country US: DFS-FCC
(start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
        (2402.000 - 2472.000 @ 40.000), (30.00), (N/A)
        (5170.000 - 5250.000 @ 80.000), (23.00), (N/A), AUTO-BW
        (5250.000 - 5330.000 @ 80.000), (23.00), (N/A), DFS, AUTO-BW
        (5490.000 - 5730.000 @ 160.000), (23.00), (N/A), DFS
        (5735.000 - 5835.000 @ 80.000), (30.00), (N/A)
        (57240.000 - 63720.000 @ 2160.000), (40.00), (N/A)