Project

General

Profile

Actions

Bug #4527

closed

APU BIOS bug can make interfaces disappear after warm reboot

Added by Criggie . about 9 years ago. Updated about 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Operating System
Target version:
-
Start date:
03/17/2015
Due date:
% Done:

0%

Estimated time:
Plus Target Version:
Release Notes:
Affected Version:
2.2.1
Affected Architecture:
All

Description

I have an APU with an atheros wireless card.

When doing an update from 2.2.0 to 2.2.1 this morning, the reboot stopped because it couldn't find the wireless card ath0.

This device also connects using PPPoE so that config was blown away by interface reassignment.

Easy enough to reconfigure, but if I'd been doing it remotely, would have killed access to the firewall.


     ___                                                                        
 ___/ f \                                                                       
/ p \___/ Sense                                                                 
\___/   \                                                                       
    \___/                                                                       

Welcome to pfSense 2.2.1-RELEASE  ...                                           

No core dumps found.                                                            
Creating symlinks......ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/lob
32-bit compatibility ldconfig path: /usr/lib32                                  
done.                                                                           
External config loader 1.0 is now starting...                                   
Launching the init system... done.                                              
Initializing...................... done.                                        
Starting device manager (devd)...done.                                          
Loading configuration......done.                                                
Warning: Configuration references interfaces that do not exist: ath0            

Network interface mismatch -- Running interface assignment option.              
re0: link state changed to DOWN                                                 
re1: link state changed to DOWN                                                 
re2: link state changed to DOWN                                                 

Valid interfaces are:                                                           

re0    00:0d:b9:35:29:c4   (up) RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit
re1    00:0d:b9:35:29:c5   (up) RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit
re2    00:0d:b9:35:29:c6   (up) RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit

Do you want to set up VLANs first?                                              

If you are not going to use VLANs, or only for optional interfaces, you should  
say no here and use the webConfigurator to configure VLANs later, if required.  

Do you want to set up VLANs now [y|n]? re0: link state changed to UP            
re1: link state changed to UP

What other details can I supply to help identify this?

I suggest the interface reassignment checks to see if the missing interface is "important", ie if its a WAN interface, before jumping to reassignment. Or simply ignore the missing interface and configure as much as possible.

[2.2.1-RELEASE][root@pfSense.criggie.org.nz]/root: dmesg | grep eth -i          
re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port 0x1000-0x1
re1: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port 0x2000-0x2
re2: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port 0x3000-0x3
pci4: <network, ethernet> at device 0.0 (no driver attached)

[2.2.1-RELEASE][root@pfSense.criggie.org.nz]/root: pciconf -l
hostb0@pci0:0:0:0:      class=0x060000 card=0x15101022 chip=0x15101022 rev=0x00 hdr=0x00
pcib1@pci0:0:4:0:       class=0x060400 card=0x12341022 chip=0x15121022 rev=0x00 hdr=0x01
pcib2@pci0:0:5:0:       class=0x060400 card=0x12341022 chip=0x15131022 rev=0x00 hdr=0x01
pcib3@pci0:0:6:0:       class=0x060400 card=0x12341022 chip=0x15141022 rev=0x00 hdr=0x01
pcib4@pci0:0:7:0:       class=0x060400 card=0x12341022 chip=0x15151022 rev=0x00 hdr=0x01
ahci0@pci0:0:17:0:      class=0x010601 card=0x43911002 chip=0x43911002 rev=0x40 hdr=0x00
ohci0@pci0:0:18:0:      class=0x0c0310 card=0x43971002 chip=0x43971002 rev=0x00 hdr=0x00
ehci0@pci0:0:18:2:      class=0x0c0320 card=0x43961002 chip=0x43961002 rev=0x00 hdr=0x00
ohci1@pci0:0:19:0:      class=0x0c0310 card=0x43971002 chip=0x43971002 rev=0x00 hdr=0x00
ehci1@pci0:0:19:2:      class=0x0c0320 card=0x43961002 chip=0x43961002 rev=0x00 hdr=0x00
none0@pci0:0:20:0:      class=0x0c0500 card=0x15101022 chip=0x43851002 rev=0x42 hdr=0x00
isab0@pci0:0:20:3:      class=0x060100 card=0x439d1002 chip=0x439d1002 rev=0x40 hdr=0x00
pcib5@pci0:0:20:4:      class=0x060401 card=0x00000000 chip=0x43841002 rev=0x40 hdr=0x01
ohci2@pci0:0:20:5:      class=0x0c0310 card=0x43991002 chip=0x43991002 rev=0x00 hdr=0x00
pcib6@pci0:0:21:0:      class=0x060400 card=0x00001002 chip=0x43a01002 rev=0x00 hdr=0x01
ohci3@pci0:0:22:0:      class=0x0c0310 card=0x43971002 chip=0x43971002 rev=0x00 hdr=0x00
ehci2@pci0:0:22:2:      class=0x0c0320 card=0x43961002 chip=0x43961002 rev=0x00 hdr=0x00
hostb1@pci0:0:24:0:     class=0x060000 card=0x00000000 chip=0x17001022 rev=0x43 hdr=0x00
hostb2@pci0:0:24:1:     class=0x060000 card=0x00000000 chip=0x17011022 rev=0x00 hdr=0x00
hostb3@pci0:0:24:2:     class=0x060000 card=0x00000000 chip=0x17021022 rev=0x00 hdr=0x00
hostb4@pci0:0:24:3:     class=0x060000 card=0x00000000 chip=0x17031022 rev=0x00 hdr=0x00
hostb5@pci0:0:24:4:     class=0x060000 card=0x00000000 chip=0x17041022 rev=0x00 hdr=0x00
hostb6@pci0:0:24:5:     class=0x060000 card=0x00000000 chip=0x17181022 rev=0x00 hdr=0x00
hostb7@pci0:0:24:6:     class=0x060000 card=0x00000000 chip=0x17161022 rev=0x00 hdr=0x00
hostb8@pci0:0:24:7:     class=0x060000 card=0x00000000 chip=0x17191022 rev=0x00 hdr=0x00
re0@pci0:1:0:0: class=0x020000 card=0x012310ec chip=0x816810ec rev=0x06 hdr=0x00
re1@pci0:2:0:0: class=0x020000 card=0x012310ec chip=0x816810ec rev=0x06 hdr=0x00
re2@pci0:3:0:0: class=0x020000 card=0x012310ec chip=0x816810ec rev=0x06 hdr=0x00
none1@pci0:4:0:0:       class=0x020000 card=0x00000000 chip=0xff1c168c rev=0x01 hdr=0x00
[2.2.1-RELEASE][root@pfSense.criggie.org.nz]/root: pciconf -l -v
hostb0@pci0:0:0:0:      class=0x060000 card=0x15101022 chip=0x15101022 rev=0x00 hdr=0x00
    class      = bridge
    subclass   = HOST-PCI
pcib1@pci0:0:4:0:       class=0x060400 card=0x12341022 chip=0x15121022 rev=0x00 hdr=0x01
    class      = bridge
    subclass   = PCI-PCI
pcib2@pci0:0:5:0:       class=0x060400 card=0x12341022 chip=0x15131022 rev=0x00 hdr=0x01
    class      = bridge
    subclass   = PCI-PCI
pcib3@pci0:0:6:0:       class=0x060400 card=0x12341022 chip=0x15141022 rev=0x00 hdr=0x01
    class      = bridge
    subclass   = PCI-PCI
pcib4@pci0:0:7:0:       class=0x060400 card=0x12341022 chip=0x15151022 rev=0x00 hdr=0x01
    class      = bridge
    subclass   = PCI-PCI
ahci0@pci0:0:17:0:      class=0x010601 card=0x43911002 chip=0x43911002 rev=0x40 hdr=0x00
    class      = mass storage
    subclass   = SATA
ohci0@pci0:0:18:0:      class=0x0c0310 card=0x43971002 chip=0x43971002 rev=0x00 hdr=0x00
    class      = serial bus
    subclass   = USB
ehci0@pci0:0:18:2:      class=0x0c0320 card=0x43961002 chip=0x43961002 rev=0x00 hdr=0x00
    class      = serial bus
    subclass   = USB
ohci1@pci0:0:19:0:      class=0x0c0310 card=0x43971002 chip=0x43971002 rev=0x00 hdr=0x00
    class      = serial bus
    subclass   = USB
ehci1@pci0:0:19:2:      class=0x0c0320 card=0x43961002 chip=0x43961002 rev=0x00 hdr=0x00
    class      = serial bus
    subclass   = USB
none0@pci0:0:20:0:      class=0x0c0500 card=0x15101022 chip=0x43851002 rev=0x42 hdr=0x00
    class      = serial bus
    subclass   = SMBus
isab0@pci0:0:20:3:      class=0x060100 card=0x439d1002 chip=0x439d1002 rev=0x40 hdr=0x00
    class      = bridge
    subclass   = PCI-ISA
pcib5@pci0:0:20:4:      class=0x060401 card=0x00000000 chip=0x43841002 rev=0x40 hdr=0x01
    class      = bridge
    subclass   = PCI-PCI
ohci2@pci0:0:20:5:      class=0x0c0310 card=0x43991002 chip=0x43991002 rev=0x00 hdr=0x00
    class      = serial bus
    subclass   = USB
pcib6@pci0:0:21:0:      class=0x060400 card=0x00001002 chip=0x43a01002 rev=0x00 hdr=0x01
    class      = bridge
    subclass   = PCI-PCI
ohci3@pci0:0:22:0:      class=0x0c0310 card=0x43971002 chip=0x43971002 rev=0x00 hdr=0x00
    class      = serial bus
    subclass   = USB
ehci2@pci0:0:22:2:      class=0x0c0320 card=0x43961002 chip=0x43961002 rev=0x00 hdr=0x00
    class      = serial bus
    subclass   = USB
hostb1@pci0:0:24:0:     class=0x060000 card=0x00000000 chip=0x17001022 rev=0x43 hdr=0x00
    class      = bridge
    subclass   = HOST-PCI
hostb2@pci0:0:24:1:     class=0x060000 card=0x00000000 chip=0x17011022 rev=0x00 hdr=0x00
    class      = bridge
    subclass   = HOST-PCI
hostb3@pci0:0:24:2:     class=0x060000 card=0x00000000 chip=0x17021022 rev=0x00 hdr=0x00
    class      = bridge
    subclass   = HOST-PCI
hostb4@pci0:0:24:3:     class=0x060000 card=0x00000000 chip=0x17031022 rev=0x00 hdr=0x00
    class      = bridge
    subclass   = HOST-PCI
hostb5@pci0:0:24:4:     class=0x060000 card=0x00000000 chip=0x17041022 rev=0x00 hdr=0x00
    class      = bridge
    subclass   = HOST-PCI
hostb6@pci0:0:24:5:     class=0x060000 card=0x00000000 chip=0x17181022 rev=0x00 hdr=0x00
    class      = bridge
    subclass   = HOST-PCI
hostb7@pci0:0:24:6:     class=0x060000 card=0x00000000 chip=0x17161022 rev=0x00 hdr=0x00
    class      = bridge
    subclass   = HOST-PCI
hostb8@pci0:0:24:7:     class=0x060000 card=0x00000000 chip=0x17191022 rev=0x00 hdr=0x00
    class      = bridge
    subclass   = HOST-PCI
re0@pci0:1:0:0: class=0x020000 card=0x012310ec chip=0x816810ec rev=0x06 hdr=0x00
    class      = network
    subclass   = ethernet
re1@pci0:2:0:0: class=0x020000 card=0x012310ec chip=0x816810ec rev=0x06 hdr=0x00
    class      = network
    subclass   = ethernet
re2@pci0:3:0:0: class=0x020000 card=0x012310ec chip=0x816810ec rev=0x06 hdr=0x00
    class      = network
    subclass   = ethernet
none1@pci0:4:0:0:       class=0x020000 card=0x00000000 chip=0xff1c168c rev=0x01 hdr=0x00
    class      = network
    subclass   = ethernet

Actions #1

Updated by Chris Buechler about 9 years ago

  • Target version changed from 2.2.1 to 2.2.2
Actions #2

Updated by Chris Buechler about 9 years ago

  • Subject changed from Upgrade from 2.2.0 to 2.2.1 forgets wireless card, trips the Interface Assignment. to ath card no longer detected in 2.2.1
  • Category changed from Upgrade to Operating System
  • Status changed from New to Confirmed
Actions #3

Updated by Chris Buechler about 9 years ago

which specific card is this? Looks like some AR5008.

Actions #4

Updated by Criggie . about 9 years ago

Chris Buechler wrote:

which specific card is this? Looks like some AR5008.

Looks like its this:

Compex WLE200NX: 802.11n/a/b/g miniPCIe Card
with Atheros AR9280 chipset

http://store.netgate.com/WLE200NX-80211nabg-miniPCIe-Card-P1763.aspx

Actions #5

Updated by Criggie . about 9 years ago

So I feel stupid - a power off and a reseat of the wireless card, and it boots up fine.

For completeness, here's the same commands:

[2.2.1-RELEASE][root@pfSense.criggie.org.nz]/root: dmesg | grep eth -i
re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port 0x1000-0x10ff mem 0xf7900000-0xf7900fff,0xf7800000-0xf7803fff i1
re1: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port 0x2000-0x20ff mem 0xf7b00000-0xf7b00fff,0xf7a00000-0xf7a03fff i2
re2: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port 0x3000-0x30ff mem 0xf7d00000-0xf7d00fff,0xf7c00000-0xf7c03fff i3

[2.2.1-RELEASE][root@pfSense.criggie.org.nz]/root: dmesg | grep ath -i
ath0: <Atheros 9280> at device 0.0 on pci4
[ath] enabling AN_TOP2_FIXUP
ath0: [HT] enabling HT modes
ath0: [HT] 1 stream STBC receive enabled
ath0: [HT] 1 stream STBC transmit enabled
ath0: [HT] 2 RX streams; 2 TX streams
ath0: AR9280 mac 128.2 RF5133 phy 13.0
ath0: 2GHz radio: 0x0000; 5GHz radio: 0x00c0
ath0: only 1 sta vap supported

[2.2.1-RELEASE][root@pfSense.criggie.org.nz]/root: ifconfig ath0
ath0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 2290
        ether 04:f0:21:10:c6:b7
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
        media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
        status: no carrier

[2.2.1-RELEASE][root@pfSense.criggie.org.nz]/root: pciconf -l | grep ath
ath0@pci0:4:0:0:        class=0x028000 card=0x3099168c chip=0x002a168c rev=0x01 hdr=0x00

[2.2.1-RELEASE][root@pfSense.criggie.org.nz]/root: pciconf -lv
...
ath0@pci0:4:0:0:        class=0x028000 card=0x3099168c chip=0x002a168c rev=0x01 hdr=0x00
    class      = network

Actions #6

Updated by Phillip Davis about 9 years ago

Hey, you made me nervous. I had just pressed the upgrade button on a way remote Alix 2D13 that has an ath0 WiFi card in it. I had actually forgotten about the unusual hardware in that remote system. It upgraded itself, rebooted, WiFi and OpenVPN links all came up fine. So at least my ath0 works, thankfully.

Actions #7

Updated by Chris Buechler about 9 years ago

  • Status changed from Confirmed to Feedback

feedback from Adrian Chadd:

OK. It came up as devid 168c:ff1c. The ff1c means the nic didn't get its initial power on config from eeprom. Normally its because of some silly power up reset bug in how the bios sets up the PCI bus.

The ar9380 and later show up as 168c:Abcd if it failed init or doesn't have any eeptom data.

This looks to be one of the APU BIOS bugs, maybe this APU hasn't had a BIOS update.

Actions #8

Updated by Criggie . about 9 years ago

Confirmed - this box was running

PC Engines APU BIOS build date: Apr  5 2014

and has been updated to

PC Engines APU BIOS build date: Sep  8 2014

I did this using the flashrom command in freeBSD

Firstly get the latest bios from http://www.pcengines.ch/apu1d.htm which was http://www.pcengines.ch/file/apu140908.zip for me.

Unzip it and scp the apu140908.rom to your pfsense box.

pkg install flashrom
  # it will want to go and update catalogues then install about 10 things

rehash
  # because tcsh is quaint like that

flashrom -p internal -c MX25L1605A/MX25L1606E -w apu140908.rom
  # Do the flash, usual warnings about don't unplug etc etc.

If you bork your APU bios flash, then order a LPC.1A from pcengines for about $10 US http://pcengines.ch/lpc1a.htm
That's a flash override so you can rescue your board.

Actions #9

Updated by Chris Buechler about 9 years ago

  • Subject changed from ath card no longer detected in 2.2.1 to APU BIOS bug can make interfaces disappear after warm reboot
  • Status changed from Feedback to Closed
  • Target version deleted (2.2.2)

it's a bug, but one in the older APU BIOS.

Actions

Also available in: Atom PDF