Todd Weaver

Founder and CEO
PGP Fingerprint: B8CA ACEA D949 30F1 23C4 642C 23CF 2E3D 2545 14F7

After long last, Purism has received the first prototype of our custom built laptop, adhering to the strictness of the Purism hardware requirements specification. Here is the certification play-by-play…

First a photo of motherboard inside the Purism Librem 15 case:
purism-mobo-in-case

Purism is certifying its first prototype motherboard for the Librem 15 laptop. Here we shall document the steps to test each chipset to meet the requirements set by the Purism philosophy, the GNU four essential freedoms, as well as the strictest of the Free Software Foundation endorsement requirements.

To do this, Purism first booted gNewSense, a FSF funded distribution. gNewSense 3 was a bit stale on some Linux kernel modules needed for the video controller, and X used the framebuffer driver, so we upgraded the kernel from Linux-libre planet repository, and picked up the free video driver. gNewSense 3 was excellent for testing the chipset requirements, but some of the packages were a bit too stale, so we chose another popular distribution from the FSF list of approved distributions.

Purism used Trisquel to certify chipsets, as well as it being later selected as the Purism default GNU/Linux distribution.

Here is the summary:

Item TestedWorks with free softwareKernel driverKernel module
Host bridgeYesn/an/a
PCI bridgeYespcieportshpchp
SATA conrollerYesahciahci
Communication controllerYesmei_memei-me
ISA BridgeYeslpc_ichlpc_ich
VideoYesi915i915
USBYesxhci_hcd,ehci-pcin/a
WirelessYesath9kath9k
EthernetYesr8169r8169
AudioYessnd_hda_intelsnd-hda-intel
HeadphoneYessnd_hda_intelsnd-hda-intel
MicrophoneYessnd_hda_intelsnd-hda-intel
WebcamYesuvcvideouvcvideo
HDMIYesfglrxfglrx
CD/DVDYescdrom,gdromcdrom,gdrom
SDXCYesxhci_hcd,ehci-pcixhci_hcd,ehci-pci
SMBusYesi2c-i801i2c-i801

LSPCI and LSUSB summary

lspci

todd@pure15:~$ lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation HM86 Express LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
01:00.0 3D controller: NVIDIA Corporation Device 1341 (rev a2)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 07)
04:00.0 Network controller: Qualcomm Atheros AR9485 Wireless Network Adapter (rev 01)

lsusb

todd@pure15:~$ lsusb
Bus 001 Device 002: ID 8087:8008 Intel Corp.
Bus 002 Device 002: ID 8087:8000 Intel Corp.
Bus 003 Device 002: ID 090c:37c0 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Silicon Motion Camera
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Video

todd@pure15:~$ lspci -v -s 00:02
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06) (prog-if 00 [VGA controller])
Subsystem: Device 1991:558a
Flags: bus master, fast devsel, latency 0, IRQ 47
Memory at f7400000 (64-bit, non-prefetchable) [size=4M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
I/O ports at f000 [size=64]
Expansion ROM at [disabled]
Capabilities:
Kernel driver in use: i915
Kernel modules: i915
todd@pure15:~$ lspci -v -s 01:00
01:00.0 3D controller: NVIDIA Corporation Device 1341 (rev a2)
Subsystem: Device 1991:558a
Flags: fast devsel, IRQ 16
Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
Memory at f0000000 (64-bit, prefetchable) [size=32M]
I/O ports at e000 [size=128]
Expansion ROM at f7000000 [disabled] [size=512K]
Capabilities:
Kernel modules: nouveau, nvidiafb

Screengrab of display setting showing 1920×1080 resolution
purism-video-resolution-screengrab

USB

todd@pure15:~$ lspci -v -s 00:14
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05) (prog-if 30 [XHCI])
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI
Flags: bus master, medium devsel, latency 0, IRQ 44
Memory at f7a00000 (64-bit, non-prefetchable) [size=64K]
Capabilities:
Kernel driver in use: xhci_hcd
todd@pure15:~$ lspci -v -s 00:1a
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05) (prog-if 20 [EHCI])
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2
Flags: bus master, medium devsel, latency 0, IRQ 16
Memory at f7a1c000 (32-bit, non-prefetchable) [size=1K]
Capabilities:
Kernel driver in use: ehci-pci
todd@pure15:~$ lspci -v -s 00:1d
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05) (prog-if 20 [EHCI])
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1
Flags: bus master, medium devsel, latency 0, IRQ 23
Memory at f7a1b000 (32-bit, non-prefetchable) [size=1K]
Capabilities:
Kernel driver in use: ehci-pci

Upon plugging in a usb stick dmesg shows:

[16813.602225] usb 3-1: new high-speed USB device number 7 using xhci_hcd
[16813.620322] usb 3-1: New USB device found, idVendor=1307, idProduct=0165
[16813.620328] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[16813.620332] usb 3-1: Product: mini-USB2BU
[16813.620334] usb 3-1: Manufacturer: USB007
[16813.620336] usb 3-1: SerialNumber: 000000000003C3
[16813.620855] usb-storage 3-1:1.0: USB Mass Storage device detected
[16813.621120] scsi10 : usb-storage 3-1:1.0
[16814.618847] scsi 10:0:0:0: Direct-Access USB007 mini-USB2BU 0.00 PQ: 0 ANSI: 2
[16814.619169] sd 10:0:0:0: Attached scsi generic sg2 type 0
[16814.619587] sd 10:0:0:0: [sdb] 3948544 512-byte logical blocks: (2.02 GB/1.88 GiB)
[16814.620076] sd 10:0:0:0: [sdb] Write Protect is off
[16814.620081] sd 10:0:0:0: [sdb] Mode Sense: 00 00 00 00
[16814.620576] sd 10:0:0:0: [sdb] Asking for cache data failed
[16814.620579] sd 10:0:0:0: [sdb] Assuming drive cache: write through
[16814.623247] sd 10:0:0:0: [sdb] Asking for cache data failed
[16814.623261] sd 10:0:0:0: [sdb] Assuming drive cache: write through
[16814.751399] sdb: sdb1 sdb2
[16814.978436] sd 10:0:0:0: [sdb] Asking for cache data failed
[16814.978441] sd 10:0:0:0: [sdb] Assuming drive cache: write through
[16814.978445] sd 10:0:0:0: [sdb] Attached SCSI removable disk
[16815.224868] ISO 9660 Extensions: Microsoft Joliet Level 3
[16815.225388] ISO 9660 Extensions: RRIP_1991A

Screengrab of USB stick contents
purism-usb-stick-screengrab

Wireless

todd@pure15:~$ lspci -v -s 04:00
04:00.0 Network controller: Qualcomm Atheros AR9485 Wireless Network Adapter (rev 01)
Subsystem: AzureWave Device 2c97
Flags: bus master, fast devsel, latency 0, IRQ 19
Memory at f7800000 (64-bit, non-prefetchable) [size=512K]
Expansion ROM at f7880000 [disabled] [size=64K]
Capabilities:
Kernel driver in use: ath9k
Kernel modules: ath9k

Screengrab of wireless selection user interface
purism-wireless-selection-screengrab

Ethernet

todd@pure15:~$ lspci -v -s 03:00
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 07)
Subsystem: Realtek Semiconductor Co., Ltd. Device 0123
Flags: bus master, fast devsel, latency 0, IRQ 45
I/O ports at d000 [size=256]
Memory at f7900000 (64-bit, non-prefetchable) [size=4K]
Memory at f2100000 (64-bit, prefetchable) [size=16K]
Capabilities:
Kernel driver in use: r8169
Kernel modules: r8169

Screengrab of wired connection selection
purism-wired-connection-screengrab

Audio

todd@pure15:~$ lspci -v -s 00:03
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
Subsystem: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller
Flags: bus master, fast devsel, latency 0, IRQ 50
Memory at f7a14000 (64-bit, non-prefetchable) [size=16K]
Capabilities:
Kernel driver in use: snd_hda_intel
Kernel modules: snd-hda-intel
todd@pure15:~$ lspci -v -s 00:1b
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
Subsystem: Device 1991:0269
Flags: bus master, fast devsel, latency 0, IRQ 49
Memory at f7a10000 (64-bit, non-prefetchable) [size=16K]
Capabilities:
Kernel driver in use: snd_hda_intel
Kernel modules: snd-hda-intel

Screengrab of audio playback from Rhythmbox
purism-audio-screengrab

Headphone

Screengrab of sound recorder showing headphone hardware jacked:
purism-headphone-screengrab
(microphone from headphone jack also works)

Microphone

Screengrab of sound recorder showing input levels:
purism-microphone-screengrab

Screengrab of audio settings:
purism-microphone-settings-screengrab
(microphone from headphone jack also works)

Webcam

lsusb -v snipped to relevant chipset details

Bus 003 Device 002: ID 090c:37c0 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Silicon Motion Camera
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x090c Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.)
idProduct 0x37c0 Silicon Motion Camera
bcdDevice 3.13
iManufacturer 0
iProduct 2
iSerial 0
bNumConfigurations 1
...

lsusb showing uvc support

todd@pure15:~$ lsusb -v -s 003:002|grep "14 Video"
Couldn't open device, some information will be missing
bFunctionClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
todd@pure15:~$

Screengrab of webcam application ‘Cheese Webcam Booth’
purism-webcam-screengrab

HDMI

HDMI works via hardware, and is hot swappable.

Screengrab of HDMI audio output from sound settings
purism-hdmi-audio-output-screengrab

CD/DVD

Upon CD/DVD insert dmesg shows:

[11597.003947] UDF-fs: INFO Mounting volume 'DEFAULTNTSC_SCN', timestamp 2006/06/06 16:18 (1e5c)

Screengrab of autodetect option:
purism-cd-dvd-screengrab

SD-MMC

Upon SD-MMC card insert dmesg shows:

[11123.712428] usb 3-6: new high-speed USB device number 6 using xhci_hcd
[11123.990756] usb 3-6: New USB device found, idVendor=0bda, idProduct=0138
[11123.990762] usb 3-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[11123.990765] usb 3-6: Product: USB2.0-CRW
[11123.990767] usb 3-6: Manufacturer: Generic
[11123.990770] usb 3-6: SerialNumber: 20090516388200000
[11123.996576] ums-realtek 3-6:1.0: USB Mass Storage device detected
[11124.011895] scsi9 : usb-storage 3-6:1.0
[11125.010791] scsi 9:0:0:0: Direct-Access Generic- Multi-Card 1.00 PQ: 0 ANSI: 0 CCS
[11125.011428] sd 9:0:0:0: Attached scsi generic sg2 type 0
[11125.922660] sd 9:0:0:0: [sdb] 31383552 512-byte logical blocks: (16.0 GB/14.9 GiB)
[11125.922942] sd 9:0:0:0: [sdb] Write Protect is off
[11125.922945] sd 9:0:0:0: [sdb] Mode Sense: 03 00 00 00
[11125.923230] sd 9:0:0:0: [sdb] No Caching mode page found
[11125.923234] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[11125.924805] sd 9:0:0:0: [sdb] No Caching mode page found
[11125.924808] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[11125.926090] sdb: sdb1
[11125.927474] sd 9:0:0:0: [sdb] No Caching mode page found
[11125.927476] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[11125.927478] sd 9:0:0:0: [sdb] Attached SCSI removable disk

Screengrab of autodetect option:
purism-sd-mmc-screengrab

cpuinfo

todd@pure15:~$ egrep "processor|vendor_id|model|MHz|^$" /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
model : 60
model name : Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz
cpu MHz : 800.000
processor : 1
vendor_id : GenuineIntel
model : 60
model name : Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz
cpu MHz : 800.000
processor : 2
vendor_id : GenuineIntel
model : 60
model name : Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz
cpu MHz : 800.000
processor : 3
vendor_id : GenuineIntel
model : 60
model name : Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz
cpu MHz : 800.000
processor : 4
vendor_id : GenuineIntel
model : 60
model name : Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz
cpu MHz : 800.000
processor : 5
vendor_id : GenuineIntel
model : 60
model name : Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz
cpu MHz : 800.000
processor : 6
vendor_id : GenuineIntel
model : 60
model name : Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz
cpu MHz : 800.000
processor : 7
vendor_id : GenuineIntel
model : 60
model name : Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz
cpu MHz : 800.000

3D Acceleration from Intel i915, nouveau

root@pure15:~# lspci -k -s 01:00
01:00.0 3D controller: NVIDIA Corporation Device 1341 (rev a2)
Subsystem: Device 1991:558a
Kernel modules: nouveau, nvidiafb

gtkperf
purism-gtkperf

glxgears
purism-glxgears

lspci -v

Showing kernel drivers/modules:

todd@pure15:~$ lspci -v

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06)
Subsystem: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller
Flags: bus master, fast devsel, latency 0
Capabilities:

00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 0000e000-0000efff
Memory behind bridge: f6000000-f70fffff
Prefetchable memory behind bridge: 00000000e0000000-00000000f1ffffff
Capabilities:
Kernel driver in use: pcieport
Kernel modules: shpchp

00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06) (prog-if 00 [VGA controller])
Subsystem: Device 1991:558a
Flags: bus master, fast devsel, latency 0, IRQ 47
Memory at f7400000 (64-bit, non-prefetchable) [size=4M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
I/O ports at f000 [size=64]
Expansion ROM at [disabled]
Capabilities:
Kernel driver in use: i915
Kernel modules: i915

00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
Subsystem: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller
Flags: bus master, fast devsel, latency 0, IRQ 50
Memory at f7a14000 (64-bit, non-prefetchable) [size=16K]
Capabilities:
Kernel driver in use: snd_hda_intel
Kernel modules: snd-hda-intel

00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05) (prog-if 30 [XHCI])
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI
Flags: bus master, medium devsel, latency 0, IRQ 44
Memory at f7a00000 (64-bit, non-prefetchable) [size=64K]
Capabilities:
Kernel driver in use: xhci_hcd

00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1
Flags: bus master, fast devsel, latency 0, IRQ 48
Memory at f7a1e000 (64-bit, non-prefetchable) [size=16]
Capabilities:
Kernel driver in use: mei_me
Kernel modules: mei-me

00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05) (prog-if 20 [EHCI])
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2
Flags: bus master, medium devsel, latency 0, IRQ 16
Memory at f7a1c000 (32-bit, non-prefetchable) [size=1K]
Capabilities:
Kernel driver in use: ehci-pci

00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
Subsystem: Device 1991:0269
Flags: bus master, fast devsel, latency 0, IRQ 49
Memory at f7a10000 (64-bit, non-prefetchable) [size=16K]
Capabilities:
Kernel driver in use: snd_hda_intel
Kernel modules: snd-hda-intel

00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
Capabilities:
Kernel driver in use: pcieport
Kernel modules: shpchp

00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
I/O behind bridge: 0000d000-0000dfff
Memory behind bridge: f7900000-f79fffff
Prefetchable memory behind bridge: 00000000f2100000-00000000f21fffff
Capabilities:
Kernel driver in use: pcieport
Kernel modules: shpchp

00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
Memory behind bridge: f7800000-f78fffff
Capabilities:
Kernel driver in use: pcieport
Kernel modules: shpchp

00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05) (prog-if 20 [EHCI])
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1
Flags: bus master, medium devsel, latency 0, IRQ 23
Memory at f7a1b000 (32-bit, non-prefetchable) [size=1K]
Capabilities:
Kernel driver in use: ehci-pci

00:1f.0 ISA bridge: Intel Corporation HM86 Express LPC Controller (rev 05)
Subsystem: Intel Corporation HM86 Express LPC Controller
Flags: bus master, medium devsel, latency 0
Capabilities:
Kernel driver in use: lpc_ich
Kernel modules: lpc_ich

00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05) (prog-if 01 [AHCI 1.0])
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode]
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 46
I/O ports at f0b0 [size=8]
I/O ports at f0a0 [size=4]
I/O ports at f090 [size=8]
I/O ports at f080 [size=4]
I/O ports at f060 [size=32]
Memory at f7a1a000 (32-bit, non-prefetchable) [size=2K]
Capabilities:
Kernel driver in use: ahci
Kernel modules: ahci

00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
Subsystem: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller
Flags: medium devsel, IRQ 3
Memory at f7a19000 (64-bit, non-prefetchable) [size=256]
I/O ports at f040 [size=32]
Kernel modules: i2c-i801

01:00.0 3D controller: NVIDIA Corporation Device 1341 (rev a2)
Subsystem: Device 1991:558a
Flags: fast devsel, IRQ 16
Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
Memory at f0000000 (64-bit, prefetchable) [size=32M]
I/O ports at e000 [size=128]
Expansion ROM at f7000000 [disabled] [size=512K]
Capabilities:
Kernel modules: nouveau, nvidiafb

03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 07)
Subsystem: Realtek Semiconductor Co., Ltd. Device 0123
Flags: bus master, fast devsel, latency 0, IRQ 45
I/O ports at d000 [size=256]
Memory at f7900000 (64-bit, non-prefetchable) [size=4K]
Memory at f2100000 (64-bit, prefetchable) [size=16K]
Capabilities:
Kernel driver in use: r8169
Kernel modules: r8169

04:00.0 Network controller: Qualcomm Atheros AR9485 Wireless Network Adapter (rev 01)
Subsystem: AzureWave Device 2c97
Flags: bus master, fast devsel, latency 0, IRQ 19
Memory at f7800000 (64-bit, non-prefetchable) [size=512K]
Expansion ROM at f7880000 [disabled] [size=64K]
Capabilities:
Kernel driver in use: ath9k
Kernel modules: ath9k