Re: An issue with a pair of wi-fi adapters in a guest OS
Hi Neel, 2015-07-28 3:36 GMT+03:00 Neel Natu : > > bhyve does not passthrough legacy PCI interrupts so the guest ath9k > driver is not able to attach an interrupt handler to PCI INT_A. > > > Is it possible to get the ath9k driver to use MSI instead? The device > does support it. > It seems that ath9k driver lacks MSI support and I can't find successful attempts to enable it in the sources. e.g.: http://comments.gmane.org/gmane.linux.drivers.ath9k.devel/2986 http://comments.gmane.org/gmane.linux.drivers.ath9k.devel/6201 It's going to be simpler to replace the ath9k to another ath10k device. Thank you for support Neel! -- Igor ___ freebsd-virtualization@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-virtualization To unsubscribe, send any mail to "freebsd-virtualization-unsubscr...@freebsd.org"
Re: An issue with a pair of wi-fi adapters in a guest OS
Hi Igor, On Mon, Jul 27, 2015 at 5:16 PM, Igor Pavlov wrote: > Hello, > > I'm trying to configure a wi-fi AP in a guest OS. > The guest OS is the OpenWRT v15.05-RC3 (I also tried current version of the > Arch Linux with the same result), it runs in the bhyve and the host OS is: > #uname -msr > FreeBSD 10.1-RELEASE-p14 amd64 > > The system CPU is: # sysctl hw.model > hw.model: Intel(R) Xeon(R) CPU E3-1265L v3 @ 2.50GHz > (it supports VT-d) > > There are two miniPCIe wi-fi adapters which are installed in a PCIe switch > card and passed to the guest OS: > > //It's the PCIe switch adapter > # pciconf -lvbc pci0:1:0:0 > pcib2@pci0:1:0:0:class=0x060400 card=0xd01d19b6 chip=0x860610b5 > rev=0xba hdr=0x01 > vendor = 'PLX Technology, Inc.' > device = 'PEX 8606 6 Lane, 6 Port PCI Express Gen 2 (5.0 GT/s) > Switch' > class = bridge > subclass = PCI-PCI > bar [10] = type Memory, range 32, base 0xf7a0, size 131072, > enabled > cap 01[40] = powerspec 3 supports D0 D3 current D0 > cap 05[48] = MSI supports 4 messages, 64 bit, vector masks > cap 10[68] = PCI-Express 2 upstream port max data 128(512) link x1(x1) > speed 5.0(5.0) ASPM disabled(L0s/L1) > cap 0d[a4] = PCI Bridge card=0xd01d19b6 > ecap 0003[100] = Serial 1 ba860110b5df0e00 > ecap 0001[fb4] = AER 1 0 fatal 0 non-fatal 1 corrected > ecap 0004[138] = Power Budgeting 1 > ecap 0002[148] = VC 1 max VC1 lowpri VC0-VC1 > ecap 000b[448] = Vendor 1 ID 0 > ecap 000b[950] = Vendor 1 ID 1 > > //It's an ethernet adapter, it's used in the host OS > # pciconf -lvbc pci0:5:0:0 > igb0@pci0:5:0:0:class=0x02 card=0x chip=0x15338086 rev=0x03 > hdr=0x00 > vendor = 'Intel Corporation' > device = 'I210 Gigabit Network Connection' > class = network > subclass = ethernet > bar [10] = type Memory, range 32, base 0xf770, size 1048576, > enabled > bar [18] = type I/O Port, range 32, base 0xe000, size 32, enabled > bar [1c] = type Memory, range 32, base 0xf780, size 16384, enabled > cap 01[40] = powerspec 3 supports D0 D3 current D0 > cap 05[50] = MSI supports 1 message, 64 bit, vector masks > cap 11[70] = MSI-X supports 5 messages, enabled > Table in map 0x1c[0x0], PBA in map 0x1c[0x2000] > cap 10[a0] = PCI-Express 2 endpoint max data 128(512) FLR link x1(x1) > speed 2.5(2.5) ASPM disabled(L0s/L1) > ecap 0001[100] = AER 2 0 fatal 0 non-fatal 1 corrected > ecap 0003[140] = Serial 1 00031d0f5039 > ecap 0017[1a0] = TPH Requester 1 > > //It's the QCA9880, 1-st wi-fi adapter, it's used in the PCI device > passthrough to the guest OS > # pciconf -lvbc pci0:6:0:0 > ppt0@pci0:6:0:0:class=0x028000 card=0x chip=0x003c168c rev=0x00 > hdr=0x00 > vendor = 'Atheros Communications Inc.' > class = network > bar [10] = type Memory, range 64, base 0xf720, size 2097152, > enabled > cap 01[40] = powerspec 3 supports D0 D1 D3 current D0 > cap 05[50] = MSI supports 8 messages, vector masks enabled with 1 > message > cap 10[70] = PCI-Express 2 endpoint max data 128(256) link x1(x1) > speed 2.5(2.5) ASPM disabled(L0s/L1) > ecap 0001[100] = AER 1 0 fatal 0 non-fatal 1 corrected > ecap 0002[140] = VC 1 max VC0 > ecap 0003[160] = Serial 1 > > // It's the AR9380, 2-nd wi-fi adapter, it's used in the PCI device > passthrough to the guest OS > # pciconf -lvbc pci0:7:0:0 > ppt1@pci0:7:0:0:class=0x028000 card=0x3114168c chip=0x0030168c rev=0x01 > hdr=0x00 > vendor = 'Atheros Communications Inc.' > device = 'AR9300 Wireless LAN adaptor' > class = network > bar [10] = type Memory, range 64, base 0xf790, size 131072, > enabled > cap 01[40] = powerspec 3 supports D0 D1 D3 current D0 > cap 05[50] = MSI supports 4 messages, 64 bit, vector masks > cap 10[70] = PCI-Express 2 endpoint max data 128(128) link x1(x1) > speed 2.5(2.5) ASPM disabled(L0s/L1) > ecap 0001[100] = AER 1 0 fatal 0 non-fatal 1 corrected > ecap 0002[140] = VC 1 max VC0 > ecap 0003[300] = Serial 1 > > Well, the QCA9880 works more or less without issues, but there is the issue > with the AR9380 - it doesn't work properly. I can see it in the guest OS, I > can configure it, I can scan environment for networks, but when I start it > in the AP mode there is no corresponding SSID in the air. > I see following messages in the guest OS boot log: # dmesg | grep ath9k > [7.410394] ath9k :00:07.0: can't derive routing for PCI INT A > [7.411012] ath9k :00:07.0: PCI INT A: no GSI > It sounds not good. > I don't know if it relates to the FreeBSD/bhyve or a guest OS. In my > opinion, the former is more likely. > bhyve does not passthrough legacy PCI interrupts so the guest ath9k driver is not able to attach an interrupt
An issue with a pair of wi-fi adapters in a guest OS
Hello, I'm trying to configure a wi-fi AP in a guest OS. The guest OS is the OpenWRT v15.05-RC3 (I also tried current version of the Arch Linux with the same result), it runs in the bhyve and the host OS is: #uname -msr FreeBSD 10.1-RELEASE-p14 amd64 The system CPU is: # sysctl hw.model hw.model: Intel(R) Xeon(R) CPU E3-1265L v3 @ 2.50GHz (it supports VT-d) There are two miniPCIe wi-fi adapters which are installed in a PCIe switch card and passed to the guest OS: //It's the PCIe switch adapter # pciconf -lvbc pci0:1:0:0 pcib2@pci0:1:0:0:class=0x060400 card=0xd01d19b6 chip=0x860610b5 rev=0xba hdr=0x01 vendor = 'PLX Technology, Inc.' device = 'PEX 8606 6 Lane, 6 Port PCI Express Gen 2 (5.0 GT/s) Switch' class = bridge subclass = PCI-PCI bar [10] = type Memory, range 32, base 0xf7a0, size 131072, enabled cap 01[40] = powerspec 3 supports D0 D3 current D0 cap 05[48] = MSI supports 4 messages, 64 bit, vector masks cap 10[68] = PCI-Express 2 upstream port max data 128(512) link x1(x1) speed 5.0(5.0) ASPM disabled(L0s/L1) cap 0d[a4] = PCI Bridge card=0xd01d19b6 ecap 0003[100] = Serial 1 ba860110b5df0e00 ecap 0001[fb4] = AER 1 0 fatal 0 non-fatal 1 corrected ecap 0004[138] = Power Budgeting 1 ecap 0002[148] = VC 1 max VC1 lowpri VC0-VC1 ecap 000b[448] = Vendor 1 ID 0 ecap 000b[950] = Vendor 1 ID 1 //It's an ethernet adapter, it's used in the host OS # pciconf -lvbc pci0:5:0:0 igb0@pci0:5:0:0:class=0x02 card=0x chip=0x15338086 rev=0x03 hdr=0x00 vendor = 'Intel Corporation' device = 'I210 Gigabit Network Connection' class = network subclass = ethernet bar [10] = type Memory, range 32, base 0xf770, size 1048576, enabled bar [18] = type I/O Port, range 32, base 0xe000, size 32, enabled bar [1c] = type Memory, range 32, base 0xf780, size 16384, enabled cap 01[40] = powerspec 3 supports D0 D3 current D0 cap 05[50] = MSI supports 1 message, 64 bit, vector masks cap 11[70] = MSI-X supports 5 messages, enabled Table in map 0x1c[0x0], PBA in map 0x1c[0x2000] cap 10[a0] = PCI-Express 2 endpoint max data 128(512) FLR link x1(x1) speed 2.5(2.5) ASPM disabled(L0s/L1) ecap 0001[100] = AER 2 0 fatal 0 non-fatal 1 corrected ecap 0003[140] = Serial 1 00031d0f5039 ecap 0017[1a0] = TPH Requester 1 //It's the QCA9880, 1-st wi-fi adapter, it's used in the PCI device passthrough to the guest OS # pciconf -lvbc pci0:6:0:0 ppt0@pci0:6:0:0:class=0x028000 card=0x chip=0x003c168c rev=0x00 hdr=0x00 vendor = 'Atheros Communications Inc.' class = network bar [10] = type Memory, range 64, base 0xf720, size 2097152, enabled cap 01[40] = powerspec 3 supports D0 D1 D3 current D0 cap 05[50] = MSI supports 8 messages, vector masks enabled with 1 message cap 10[70] = PCI-Express 2 endpoint max data 128(256) link x1(x1) speed 2.5(2.5) ASPM disabled(L0s/L1) ecap 0001[100] = AER 1 0 fatal 0 non-fatal 1 corrected ecap 0002[140] = VC 1 max VC0 ecap 0003[160] = Serial 1 // It's the AR9380, 2-nd wi-fi adapter, it's used in the PCI device passthrough to the guest OS # pciconf -lvbc pci0:7:0:0 ppt1@pci0:7:0:0:class=0x028000 card=0x3114168c chip=0x0030168c rev=0x01 hdr=0x00 vendor = 'Atheros Communications Inc.' device = 'AR9300 Wireless LAN adaptor' class = network bar [10] = type Memory, range 64, base 0xf790, size 131072, enabled cap 01[40] = powerspec 3 supports D0 D1 D3 current D0 cap 05[50] = MSI supports 4 messages, 64 bit, vector masks cap 10[70] = PCI-Express 2 endpoint max data 128(128) link x1(x1) speed 2.5(2.5) ASPM disabled(L0s/L1) ecap 0001[100] = AER 1 0 fatal 0 non-fatal 1 corrected ecap 0002[140] = VC 1 max VC0 ecap 0003[300] = Serial 1 Well, the QCA9880 works more or less without issues, but there is the issue with the AR9380 - it doesn't work properly. I can see it in the guest OS, I can configure it, I can scan environment for networks, but when I start it in the AP mode there is no corresponding SSID in the air. I see following messages in the guest OS boot log: # dmesg | grep ath9k [7.410394] ath9k :00:07.0: can't derive routing for PCI INT A [7.411012] ath9k :00:07.0: PCI INT A: no GSI It sounds not good. I don't know if it relates to the FreeBSD/bhyve or a guest OS. In my opinion, the former is more likely. Is it possible to resolve this issue? -- Igor ___ freebsd-virtualization@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-virtualization To unsubscribe, send any mail to "freebsd-virtualization-unsubscr...@freebsd.org"