Size: 7786
Comment:
|
Size: 20592
Comment: Minor link amendments.
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
#pragma description How to install Debian/Linux on a MacBook Air 2.13 GHz (single boot Linux) | #pragma description How to install Debian/Linux on a MacBook Air |
Line 12: | Line 12: |
<<TableOfContents(2)>> |
|
Line 15: | Line 17: |
## ~-''Models covered''-~<<BR>>'''COMMERCIAL NAME''' | ~-''Models covered''-~<<BR>>'''!MacBook Air''' |
Line 19: | Line 21: |
* '''!MacBook Air MC234*/A''', 13.3", 2.13 GHz Intel Core 2 Duo, 2GB DDR3 SDRAM, 128 GB SDD, NVIDIA !GeForce 9400M | |
Line 49: | Line 52: |
### uncomment one of the two lines | ### uncomment one of the two lines |
Line 51: | Line 54: |
## {X} There is currently a bug that ... {i} |
## {X} There is currently a bug that ... {i} This guide describes installing Debian in single-boot mode, i.e. the existing Mac OS installation will not be preserved. The following describes which special settings and procedures were required to install Debian (and probably most other Linuxes) on the !MacBook Air. == EFI and Partitioning == <<Anchor(partitioning)>> The !MacBook Air boots using EFI <<FootNote([[WikiPedia:Extensible_Firmware_Interface|Extensible Firmware Interface]])>>, the first partition on the built-in HDD is reserved for EFI. Without the EFI partition (i.e. after deleting the EFI partition during installation of Debian), booting the !MacBook Air was not possible. Further, it was found that the ''rEFIt Boot Menu and Toolkit'' <<FootNote(http://refit.sourceforge.net/)>> must be installed on the system before Linux could be installed (although there are probably ways around having to install rEFIt). Finally, it was required that the system use encrypted partitions, resulting in the following partition scheme: {{{ +-----------+-----------+------------+ | /dev/sda1 | /dev/sda2 | /dev/sda3 | | EFI | boot | sda3_crypt | +-----------+-----------+------------+ }}} === EFI partition (/dev/sda1) === The EFI partition (/dev/sda1) is required for the !MacBook Air to boot. The rEFIt bootloader must be installed into this partition. By default, rEFIt will install into the partition where Mac OS X is installed. However, since that partition will not be preserved, boot into Mac OS and install rEFIt manually into /dev/sda1, the EFI partition, like so (from <<FootNote(http://www.felipe-alfaro.org/blog/2006/09/19/installing-refit-on-the-hidden-efi-system-partition/)>>): {{{ # Download and mount the rEFIt dmg package. # Following, it is assumed that the package has been mounted in /Volumes/rEFIt. # Copy rEFIt to the EFI partition: $ sudo mkdir /efi $ sudo mount -t msdos /dev/disk0s1 /efi $ cp -r /Volumes/rEFIt/efi /efi # You should now have # /efi/efi/refit and # /efi/efi/tools # Bless rEFIt (make it bootable): $ sudo bless --mount /efi --setBoot --file /efi/efi/refit/refit.efi --labelfile /efi/efi/refit/refit.vollabel }}} === Linux boot partition (/dev/sda2) === The GRUB bootloader and the Linux kernel will be installed into this partition (100M in size). During boot, the rEFIt bootloader will simply call GRUB, this partition is not encrypted. === Root partition (/dev/sda3) === During installation, this whole partition will be encrypted using dm-crypt. Then, [[LVM|LVM (Logical Volume Manager)]] will be used to manually create '''/''' (root, 15G in size) and '''/home''' (home, remaining space) partitions. <<BR>> <<BR>> /!\ '''Initrd/keyboard''': ''Squeeze'' has been installed instead of ''lenny'' because the initrd (initial RAM disk) in ''lenny'' did not detect the keyboard in the !MacBook Air correctly, making it impossible to unlock the encrypted partition during boot. However, it should not be a big deal to rebuild the initrd in ''lenny'' with all required modules (hid-apple, ...) to support the !MacBook Air keyboard. Besides the initrd issue, no problems were found installing ''lenny''. == Installation medium == An external CD-ROM drive has been used to boot and install Debian, e.g. [[http://cdimage.debian.org/cdimage/weekly-builds/amd64/iso-cd/]]. Only the first CD/DVD is required for installing a minimal system, all other packages can be installed later on using an Internet connection. /!\ The !MacBook Air comes with a single USB connector only and does not have a built-in CD-ROM drive. '''Installing Linux from a bootable USB stick is not possible on the !MacBook Air'''. Although with ''rEFIt Boot Menu and Toolkit'' <<FootNote(http://refit.sourceforge.net/)>> installed a bootable USB stick would show up in the rEFIt boot menu, the Apple firmware prevented booting from the USB stick. Other options considered were [[http://www.debian.org/distrib/netinst#netboot|network boot]] and [[http://syslinux.zytor.com/wiki/index.php/The_Syslinux_Project|SYSLINUX]] -- without success. Finally, an external CD-ROM drive has been used. During installation, apply the partition scheme described [[#partitioning|above]]. Besides that, installation proceeds as usual until the part where the GRUB bootloader gets installed (below). == GRUB Installation == /!\ '''DO NOT INSTALL GRUB IN /dev/sda!''' The Debian installer (correctly) detects that Debian is the only operating system installed and suggests installing GRUB in '''/dev/sda'''. '''Do not install GRUB in /dev/sda''', the !MacBook Air need to boot from the EFI partition /dev/sda1. Rather, '''install Grub in /dev/sda2''', the boot partition (see [[#partitioning|above]]). After installing GRUB, finish the installation and reboot. rEFIt (installed in /dev/sda1) should detect the Linux boot partition (/dev/sda2) and boot from that partition. == Troubleshooting == If you end up with a computer not booting any more, reinstall Mac OS X from CD and start over. Insert the Mac OS X CD that came with your !MacBook Air into the external CD-ROM drive. Press and hold the 'c' key and turn on the computer. The Mac OS installer should appear. |
Line 61: | Line 135: |
(not covered yet) ## If this computer has variants with various Display adapter, simply |
Xorg version: 1.7.7 Installation instructions for installing the proprietary driver from NVIDIA for the !GeForce 9400M can be found [[NvidiaGraphicsDrivers|here]]. The Xorg configuration file ''/usr/share/X11/xorg.conf.d/10-nvidia.conf'' has been added to have Xorg use the ''nvidia'' driver (file attached at the bottom of the page). ## If this computer has variants with various Display adapter, simply |
Line 69: | Line 148: |
(not covered yet) | Sound worked out-of-the-box after installing ''alsa-base'' and ''alsa-utils''. |
Line 76: | Line 157: |
## Then explain how to get it working (not covered yet) |
## Then explain how to get it working Installed ''laptop-mode'', works out of the box. You might want to set '''ENABLE_AUTO_MODULES=1''' in ''/etc/laptop-mode/laptop-mode.conf''. For CPU frequency scaling, make sure that the ''acpi_cpufreq'' module gets loaded correctly. |
Line 80: | Line 164: |
(not covered yet) == Modem == (not covered yet) |
Follow the instructions in the [[wl|Debian Wiki]]. |
Line 93: | Line 175: |
00:00.0 Host bridge [0600]: nVidia Corporation MCP79 Host Bridge [10de:0a82] (rev b1) Flags: bus master, 66MHz, fast devsel, latency 0 00:00.1 RAM memory [0500]: nVidia Corporation MCP79 Memory Controller [10de:0a88] (rev b1) Flags: bus master, 66MHz, fast devsel, latency 0 00:03.0 ISA bridge [0601]: nVidia Corporation MCP79 LPC Bridge [10de:0aaf] (rev b2) Subsystem: nVidia Corporation Device [10de:cb79] Flags: bus master, 66MHz, fast devsel, latency 0 I/O ports at 2000 [size=256] 00:03.1 RAM memory [0500]: nVidia Corporation MCP79 Memory Controller [10de:0aa4] (rev b1) Flags: 66MHz, fast devsel 00:03.2 SMBus [0c05]: nVidia Corporation MCP79 SMBus [10de:0aa2] (rev b1) Subsystem: nVidia Corporation Device [10de:cb79] Flags: 66MHz, fast devsel, IRQ 15 I/O ports at 2180 [size=64] I/O ports at 2140 [size=64] I/O ports at 2100 [size=64] Capabilities: [44] Power Management version 2 Kernel driver in use: nForce2_smbus 00:03.3 RAM memory [0500]: nVidia Corporation MCP79 Memory Controller [10de:0a89] (rev b1) Flags: 66MHz, fast devsel 00:03.4 RAM memory [0500]: nVidia Corporation Device [10de:0a98] (rev b1) Subsystem: nVidia Corporation Device [10de:cb79] Flags: 66MHz, fast devsel 00:03.5 Co-processor [0b40]: nVidia Corporation MCP79 Co-processor [10de:0aa3] (rev b1) Subsystem: nVidia Corporation Device [10de:cb79] Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 17 Memory at 93300000 (32-bit, non-prefetchable) [size=512K] 00:04.0 USB Controller [0c03]: nVidia Corporation MCP79 OHCI USB 1.1 Controller [10de:0aa5] (rev b1) (prog-if 10 [OHCI]) Subsystem: nVidia Corporation Device [10de:cb79] Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 21 Memory at 93387000 (32-bit, non-prefetchable) [size=4K] Capabilities: [44] Power Management version 2 Kernel driver in use: ohci_hcd 00:04.1 USB Controller [0c03]: nVidia Corporation MCP79 EHCI USB 2.0 Controller [10de:0aa6] (rev b1) (prog-if 20 [EHCI]) Subsystem: nVidia Corporation Device [10de:cb79] Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 22 Memory at 93388100 (32-bit, non-prefetchable) [size=256] Capabilities: [44] Debug port: BAR=1 offset=00a0 Capabilities: [80] Power Management version 2 Kernel driver in use: ehci_hcd 00:06.0 USB Controller [0c03]: nVidia Corporation MCP79 OHCI USB 1.1 Controller [10de:0aa7] (rev b1) (prog-if 10 [OHCI]) Subsystem: nVidia Corporation Device [10de:cb79] Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 18 Memory at 93386000 (32-bit, non-prefetchable) [size=4K] Capabilities: [44] Power Management version 2 Kernel driver in use: ohci_hcd 00:06.1 USB Controller [0c03]: nVidia Corporation MCP79 EHCI USB 2.0 Controller [10de:0aa9] (rev b1) (prog-if 20 [EHCI]) Subsystem: nVidia Corporation Device [10de:cb79] Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 20 Memory at 93388000 (32-bit, non-prefetchable) [size=256] Capabilities: [44] Debug port: BAR=1 offset=00a0 Capabilities: [80] Power Management version 2 Kernel driver in use: ehci_hcd 00:08.0 Audio device [0403]: nVidia Corporation MCP79 High Definition Audio [10de:0ac0] (rev b1) Subsystem: nVidia Corporation Device [10de:cb79] Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 23 Memory at 93380000 (32-bit, non-prefetchable) [size=16K] Capabilities: [44] Power Management version 2 Kernel driver in use: HDA Intel 00:09.0 PCI bridge [0604]: nVidia Corporation MCP79 PCI Bridge [10de:0aab] (rev b1) (prog-if 01 [Subtractive decode]) Flags: bus master, 66MHz, fast devsel, latency 0 Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 Memory behind bridge: 93200000-932fffff Capabilities: [b8] Subsystem: nVidia Corporation Device [10de:cb79] 00:0b.0 IDE interface [0101]: nVidia Corporation MCP79 SATA Controller [10de:0ab5] (rev b1) (prog-if 85 [Master SecO PriO]) Subsystem: nVidia Corporation Device [10de:cb79] Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 25 I/O ports at 21d8 [size=8] I/O ports at 21e4 [size=4] I/O ports at 21d0 [size=8] I/O ports at 21e0 [size=4] I/O ports at 21c0 [size=16] Memory at 93384000 (32-bit, non-prefetchable) [size=8K] Capabilities: [44] Power Management version 2 Capabilities: [8c] SATA HBA v1.0 Capabilities: [b0] MSI: Enable+ Count=1/8 Maskable- 64bit+ Kernel driver in use: ahci 00:10.0 PCI bridge [0604]: nVidia Corporation MCP79 PCI Express Bridge [10de:0aa0] (rev b1) (prog-if 00 [Normal decode]) Flags: bus master, fast devsel, latency 0 Bus: primary=00, secondary=02, subordinate=02, sec-latency=0 I/O behind bridge: 00001000-00001fff Memory behind bridge: 92000000-930fffff Prefetchable memory behind bridge: 0000000080000000-0000000091ffffff Capabilities: [40] Subsystem: nVidia Corporation Device [10de:0000] Capabilities: [48] Power Management version 2 Capabilities: [50] MSI: Enable- Count=1/2 Maskable- 64bit+ 00:15.0 PCI bridge [0604]: nVidia Corporation MCP79 PCI Express Bridge [10de:0ac6] (rev b1) (prog-if 00 [Normal decode]) Flags: bus master, fast devsel, latency 0 Bus: primary=00, secondary=03, subordinate=03, sec-latency=0 Memory behind bridge: 93100000-931fffff Capabilities: [40] Subsystem: nVidia Corporation Device [10de:0000] Capabilities: [48] Power Management version 3 Capabilities: [50] MSI: Enable+ Count=1/2 Maskable- 64bit+ Capabilities: [80] Express Root Port (Slot+), MSI 00 Kernel driver in use: pcieport 02:00.0 VGA compatible controller [0300]: nVidia Corporation C79 [GeForce 9400M] [10de:0870] (rev b1) (prog-if 00 [VGA controller]) Subsystem: Apple Computer Inc. Device [106b:00ab] Flags: bus master, fast devsel, latency 0, IRQ 16 Memory at 92000000 (32-bit, non-prefetchable) [size=16M] Memory at 80000000 (64-bit, prefetchable) [size=256M] Memory at 90000000 (64-bit, prefetchable) [size=32M] I/O ports at 1000 [size=128] [virtual] Expansion ROM at 93000000 [disabled] [size=128K] Capabilities: [60] Power Management version 2 Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+ Kernel driver in use: nvidia 03:00.0 Network controller [0280]: Broadcom Corporation BCM4321 802.11a/b/g/n [14e4:4328] (rev 05) Subsystem: Apple Computer Inc. Device [106b:0090] Flags: bus master, fast devsel, latency 0, IRQ 23 Memory at 93100000 (64-bit, non-prefetchable) [size=16K] Capabilities: [40] Power Management version 3 Capabilities: [58] Vendor Specific Information: Len=78 <?> Capabilities: [e8] MSI: Enable- Count=1/1 Maskable- 64bit+ Capabilities: [d0] Express Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting Capabilities: [13c] Virtual Channel Capabilities: [160] Device Serial Number 28-36-0d-ff-ff-f4-90-84 Capabilities: [16c] Power Budgeting <?> Kernel driver in use: wl |
|
Line 97: | Line 315: |
## Uncomment and Paste the output of one of the three lines (within some {{{ }}}} brackets) | ## Uncomment and Paste the output of one of the three lines (within some {{{ }}}} brackets) |
Line 100: | Line 318: |
lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null | lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null |
Line 102: | Line 320: |
Bus 004 Device 005: ID 05ac:820b Apple, Inc. | Bus 004 Device 005: ID 05ac:820b Apple, Inc. |
Line 104: | Line 322: |
bDeviceProtocol 0 iProduct 0 Bus 004 Device 004: ID 05ac:820a Apple, Inc. |
bDeviceProtocol 0 iProduct 0 Bus 004 Device 004: ID 05ac:820a Apple, Inc. |
Line 108: | Line 326: |
bDeviceProtocol 0 iProduct 0 |
bDeviceProtocol 0 iProduct 0 |
Line 128: | Line 346: |
bDeviceProtocol 0 | bDeviceProtocol 0 |
Line 134: | Line 352: |
bDeviceProtocol 0 | bDeviceProtocol 0 |
Line 150: | Line 368: |
Bus 001 Device 002: ID 05ac:1402 Apple, Inc. | Bus 001 Device 002: ID 05ac:1402 Apple, Inc. |
Line 152: | Line 370: |
bDeviceProtocol 0 | bDeviceProtocol 0 |
Line 156: | Line 374: |
bDeviceProtocol 0 | bDeviceProtocol 0 |
Line 165: | Line 383: |
Line 169: | Line 386: |
## Some interesting files you can attach: (Named with computer name and model, and debian version, like "dmidecode.Etch_Thinkpad_T60_1952-W5R.txt") | ## Some interesting files you can attach: (Named with computer name and model, and debian version, like "dmidecode.Etch_Thinkpad_T60_1952-W5R.txt") |
Line 175: | Line 392: |
<<AttachList>> | <<AttachList>> |
Line 187: | Line 404: |
---- CategoryDebianOn CategoryDebianOn |
Translation(s): none
Contents
DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owners would know how get the best out of that hardware. The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware. If you need help to get Debian running on your hardware, please have a look at our user support channels where you may find specific channels (mailing list, IRC channel) dedicated to certain types of hardware. |
Models covered
MacBook Air
MacBook Air MC234*/A, 13.3", 2.13 GHz Intel Core 2 Duo, 2GB DDR3 SDRAM, 128 GB SDD, NVIDIA GeForce 9400M
Overall Status
Core Components |
||
Boot Standard Kernel: |
|
|
LAN network card (ASIX AX88772 USB 2.0 Ethernet): |
|
|
Detect CD/DVD (Samsung SE-S084, external DVD+RW) : |
|
|
Detect hard drives: |
|
|
Extra Features |
||
CPU Frequency Scaling |
|
|
Hibernation |
[?] |
|
Sleep / Suspend |
[?] |
|
Xorg |
|
|
- OpenGL |
|
|
- Resize-and-Rotate(randr) |
[?] |
|
Switch to External Screen |
[?] |
|
Mouse |
|
|
- Built-in (Trackpoint) |
[-] |
|
- Built-in (Touchpad) |
|
|
Modem |
[-] |
|
Wireless/Wifi |
|
|
Keyboard's Hotkeys |
[?] |
Legend :
= OK ;
Unsupported(No Driver) ;
= Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
= Configuration Required;
= Only works with a non-free driver and or firmware
Important Note
This guide describes installing Debian in single-boot mode, i.e. the existing Mac OS installation will not be preserved. The following describes which special settings and procedures were required to install Debian (and probably most other Linuxes) on the MacBook Air.
EFI and Partitioning
The MacBook Air boots using EFI 1, the first partition on the built-in HDD is reserved for EFI. Without the EFI partition (i.e. after deleting the EFI partition during installation of Debian), booting the MacBook Air was not possible. Further, it was found that the rEFIt Boot Menu and Toolkit 2 must be installed on the system before Linux could be installed (although there are probably ways around having to install rEFIt). Finally, it was required that the system use encrypted partitions, resulting in the following partition scheme:
+-----------+-----------+------------+ | /dev/sda1 | /dev/sda2 | /dev/sda3 | | EFI | boot | sda3_crypt | +-----------+-----------+------------+
EFI partition (/dev/sda1)
The EFI partition (/dev/sda1) is required for the MacBook Air to boot. The rEFIt bootloader must be installed into this partition. By default, rEFIt will install into the partition where Mac OS X is installed. However, since that partition will not be preserved, boot into Mac OS and install rEFIt manually into /dev/sda1, the EFI partition, like so (from 3):
# Download and mount the rEFIt dmg package. # Following, it is assumed that the package has been mounted in /Volumes/rEFIt. # Copy rEFIt to the EFI partition: $ sudo mkdir /efi $ sudo mount -t msdos /dev/disk0s1 /efi $ cp -r /Volumes/rEFIt/efi /efi # You should now have # /efi/efi/refit and # /efi/efi/tools # Bless rEFIt (make it bootable): $ sudo bless --mount /efi --setBoot --file /efi/efi/refit/refit.efi --labelfile /efi/efi/refit/refit.vollabel
Linux boot partition (/dev/sda2)
The GRUB bootloader and the Linux kernel will be installed into this partition (100M in size). During boot, the rEFIt bootloader will simply call GRUB, this partition is not encrypted.
Root partition (/dev/sda3)
During installation, this whole partition will be encrypted using dm-crypt. Then, LVM (Logical Volume Manager) will be used to manually create / (root, 15G in size) and /home (home, remaining space) partitions.
Initrd/keyboard: Squeeze has been installed instead of lenny because the initrd (initial RAM disk) in lenny did not detect the keyboard in the MacBook Air correctly, making it impossible to unlock the encrypted partition during boot. However, it should not be a big deal to rebuild the initrd in lenny with all required modules (hid-apple, ...) to support the MacBook Air keyboard. Besides the initrd issue, no problems were found installing lenny.
Installation medium
An external CD-ROM drive has been used to boot and install Debian, e.g. http://cdimage.debian.org/cdimage/weekly-builds/amd64/iso-cd/. Only the first CD/DVD is required for installing a minimal system, all other packages can be installed later on using an Internet connection.
The MacBook Air comes with a single USB connector only and does not have a built-in CD-ROM drive. Installing Linux from a bootable USB stick is not possible on the MacBook Air. Although with rEFIt Boot Menu and Toolkit 2 installed a bootable USB stick would show up in the rEFIt boot menu, the Apple firmware prevented booting from the USB stick. Other options considered were network boot and SYSLINUX -- without success. Finally, an external CD-ROM drive has been used.
During installation, apply the partition scheme described above. Besides that, installation proceeds as usual until the part where the GRUB bootloader gets installed (below).
GRUB Installation
DO NOT INSTALL GRUB IN /dev/sda!
The Debian installer (correctly) detects that Debian is the only operating system installed and suggests installing GRUB in /dev/sda. Do not install GRUB in /dev/sda, the MacBook Air need to boot from the EFI partition /dev/sda1. Rather, install Grub in /dev/sda2, the boot partition (see above).
After installing GRUB, finish the installation and reboot. rEFIt (installed in /dev/sda1) should detect the Linux boot partition (/dev/sda2) and boot from that partition.
Troubleshooting
If you end up with a computer not booting any more, reinstall Mac OS X from CD and start over. Insert the Mac OS X CD that came with your MacBook Air into the external CD-ROM drive. Press and hold the 'c' key and turn on the computer. The Mac OS installer should appear.
Configuration
Display
Xorg version: 1.7.7
Installation instructions for installing the proprietary driver from NVIDIA for the GeForce 9400M can be found here.
The Xorg configuration file /usr/share/X11/xorg.conf.d/10-nvidia.conf has been added to have Xorg use the nvidia driver (file attached at the bottom of the page).
Audio
Sound worked out-of-the-box after installing alsa-base and alsa-utils.
Mouse
- (not covered yet)
Power Management
Installed laptop-mode, works out of the box. You might want to set ENABLE_AUTO_MODULES=1 in /etc/laptop-mode/laptop-mode.conf. For CPU frequency scaling, make sure that the acpi_cpufreq module gets loaded correctly.
WiFi
Follow the instructions in the Debian Wiki.
System Summary
lspci
00:00.0 Host bridge [0600]: nVidia Corporation MCP79 Host Bridge [10de:0a82] (rev b1)
Flags: bus master, 66MHz, fast devsel, latency 0
00:00.1 RAM memory [0500]: nVidia Corporation MCP79 Memory Controller [10de:0a88] (rev b1)
Flags: bus master, 66MHz, fast devsel, latency 0
00:03.0 ISA bridge [0601]: nVidia Corporation MCP79 LPC Bridge [10de:0aaf] (rev b2)
Subsystem: nVidia Corporation Device [10de:cb79]
Flags: bus master, 66MHz, fast devsel, latency 0
I/O ports at 2000 [size=256]
00:03.1 RAM memory [0500]: nVidia Corporation MCP79 Memory Controller [10de:0aa4] (rev b1)
Flags: 66MHz, fast devsel
00:03.2 SMBus [0c05]: nVidia Corporation MCP79 SMBus [10de:0aa2] (rev b1)
Subsystem: nVidia Corporation Device [10de:cb79]
Flags: 66MHz, fast devsel, IRQ 15
I/O ports at 2180 [size=64]
I/O ports at 2140 [size=64]
I/O ports at 2100 [size=64]
Capabilities: [44] Power Management version 2
Kernel driver in use: nForce2_smbus
00:03.3 RAM memory [0500]: nVidia Corporation MCP79 Memory Controller [10de:0a89] (rev b1)
Flags: 66MHz, fast devsel
00:03.4 RAM memory [0500]: nVidia Corporation Device [10de:0a98] (rev b1)
Subsystem: nVidia Corporation Device [10de:cb79]
Flags: 66MHz, fast devsel
00:03.5 Co-processor [0b40]: nVidia Corporation MCP79 Co-processor [10de:0aa3] (rev b1)
Subsystem: nVidia Corporation Device [10de:cb79]
Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 17
Memory at 93300000 (32-bit, non-prefetchable) [size=512K]
00:04.0 USB Controller [0c03]: nVidia Corporation MCP79 OHCI USB 1.1 Controller [10de:0aa5] (rev b1) (prog-if 10 [OHCI])
Subsystem: nVidia Corporation Device [10de:cb79]
Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 21
Memory at 93387000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Kernel driver in use: ohci_hcd
00:04.1 USB Controller [0c03]: nVidia Corporation MCP79 EHCI USB 2.0 Controller [10de:0aa6] (rev b1) (prog-if 20 [EHCI])
Subsystem: nVidia Corporation Device [10de:cb79]
Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 22
Memory at 93388100 (32-bit, non-prefetchable) [size=256]
Capabilities: [44] Debug port: BAR=1 offset=00a0
Capabilities: [80] Power Management version 2
Kernel driver in use: ehci_hcd
00:06.0 USB Controller [0c03]: nVidia Corporation MCP79 OHCI USB 1.1 Controller [10de:0aa7] (rev b1) (prog-if 10 [OHCI])
Subsystem: nVidia Corporation Device [10de:cb79]
Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 18
Memory at 93386000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Kernel driver in use: ohci_hcd
00:06.1 USB Controller [0c03]: nVidia Corporation MCP79 EHCI USB 2.0 Controller [10de:0aa9] (rev b1) (prog-if 20 [EHCI])
Subsystem: nVidia Corporation Device [10de:cb79]
Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 20
Memory at 93388000 (32-bit, non-prefetchable) [size=256]
Capabilities: [44] Debug port: BAR=1 offset=00a0
Capabilities: [80] Power Management version 2
Kernel driver in use: ehci_hcd
00:08.0 Audio device [0403]: nVidia Corporation MCP79 High Definition Audio [10de:0ac0] (rev b1)
Subsystem: nVidia Corporation Device [10de:cb79]
Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 23
Memory at 93380000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [44] Power Management version 2
Kernel driver in use: HDA Intel
00:09.0 PCI bridge [0604]: nVidia Corporation MCP79 PCI Bridge [10de:0aab] (rev b1) (prog-if 01 [Subtractive decode])
Flags: bus master, 66MHz, fast devsel, latency 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
Memory behind bridge: 93200000-932fffff
Capabilities: [b8] Subsystem: nVidia Corporation Device [10de:cb79]
00:0b.0 IDE interface [0101]: nVidia Corporation MCP79 SATA Controller [10de:0ab5] (rev b1) (prog-if 85 [Master SecO PriO])
Subsystem: nVidia Corporation Device [10de:cb79]
Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 25
I/O ports at 21d8 [size=8]
I/O ports at 21e4 [size=4]
I/O ports at 21d0 [size=8]
I/O ports at 21e0 [size=4]
I/O ports at 21c0 [size=16]
Memory at 93384000 (32-bit, non-prefetchable) [size=8K]
Capabilities: [44] Power Management version 2
Capabilities: [8c] SATA HBA v1.0
Capabilities: [b0] MSI: Enable+ Count=1/8 Maskable- 64bit+
Kernel driver in use: ahci
00:10.0 PCI bridge [0604]: nVidia Corporation MCP79 PCI Express Bridge [10de:0aa0] (rev b1) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
I/O behind bridge: 00001000-00001fff
Memory behind bridge: 92000000-930fffff
Prefetchable memory behind bridge: 0000000080000000-0000000091ffffff
Capabilities: [40] Subsystem: nVidia Corporation Device [10de:0000]
Capabilities: [48] Power Management version 2
Capabilities: [50] MSI: Enable- Count=1/2 Maskable- 64bit+
00:15.0 PCI bridge [0604]: nVidia Corporation MCP79 PCI Express Bridge [10de:0ac6] (rev b1) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
Memory behind bridge: 93100000-931fffff
Capabilities: [40] Subsystem: nVidia Corporation Device [10de:0000]
Capabilities: [48] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/2 Maskable- 64bit+
Capabilities: [80] Express Root Port (Slot+), MSI 00
Kernel driver in use: pcieport
02:00.0 VGA compatible controller [0300]: nVidia Corporation C79 [GeForce 9400M] [10de:0870] (rev b1) (prog-if 00 [VGA controller])
Subsystem: Apple Computer Inc. Device [106b:00ab]
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at 92000000 (32-bit, non-prefetchable) [size=16M]
Memory at 80000000 (64-bit, prefetchable) [size=256M]
Memory at 90000000 (64-bit, prefetchable) [size=32M]
I/O ports at 1000 [size=128]
[virtual] Expansion ROM at 93000000 [disabled] [size=128K]
Capabilities: [60] Power Management version 2
Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
Kernel driver in use: nvidia
03:00.0 Network controller [0280]: Broadcom Corporation BCM4321 802.11a/b/g/n [14e4:4328] (rev 05)
Subsystem: Apple Computer Inc. Device [106b:0090]
Flags: bus master, fast devsel, latency 0, IRQ 23
Memory at 93100000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [58] Vendor Specific Information: Len=78 <?>
Capabilities: [e8] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [d0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [13c] Virtual Channel
Capabilities: [160] Device Serial Number 28-36-0d-ff-ff-f4-90-84
Capabilities: [16c] Power Budgeting <?>
Kernel driver in use: wl
lsusb
lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null
Bus 004 Device 005: ID 05ac:820b Apple, Inc. bDeviceClass 0 (Defined at Interface level) bDeviceProtocol 0 iProduct 0 Bus 004 Device 004: ID 05ac:820a Apple, Inc. bDeviceClass 0 (Defined at Interface level) bDeviceProtocol 0 iProduct 0 Bus 004 Device 003: ID 05ac:8216 Apple, Inc. Bluetooth USB Host Controller bDeviceClass 224 Wireless bDeviceProtocol 1 Bluetooth iProduct 2 Bluetooth USB Host Controller Bus 004 Device 002: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth) bDeviceClass 9 Hub bDeviceProtocol 0 Full speed (or root) hub iProduct 2 BRCM2046 Hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub bDeviceClass 9 Hub bDeviceProtocol 0 Full speed (or root) hub iProduct 2 OHCI Host Controller Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub bDeviceClass 9 Hub bDeviceProtocol 0 Full speed (or root) hub iProduct 2 EHCI Host Controller Bus 002 Device 003: ID 05ac:0224 Apple, Inc. Internal Keyboard/Trackpad (ISO) bDeviceClass 0 (Defined at Interface level) bDeviceProtocol 0 iProduct 2 Apple Internal Keyboard / Trackpad (Bus Powered) (Bus Powered) Bus 002 Device 002: ID 05ac:8242 Apple, Inc. IR Receiver [built-in] bDeviceClass 0 (Defined at Interface level) bDeviceProtocol 0 iProduct 2 IR Receiver (Bus Powered) (Bus Powered) Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub bDeviceClass 9 Hub bDeviceProtocol 0 Full speed (or root) hub iProduct 2 OHCI Host Controller Bus 001 Device 003: ID 05ac:8505 Apple, Inc. Built-in iSight bDeviceClass 239 Miscellaneous Device bDeviceProtocol 1 Interface Association iProduct 2 Built-in iSight (Bus Powered) bDeviceClass 239 Miscellaneous Device bDeviceProtocol 1 Interface Association (Bus Powered) Bus 001 Device 002: ID 05ac:1402 Apple, Inc. bDeviceClass 255 Vendor Specific Class bDeviceProtocol 0 iProduct 2 Apple USB Ethernet Adapter (Bus Powered) bDeviceClass 255 Vendor Specific Class bDeviceProtocol 0 (Bus Powered) Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub bDeviceClass 9 Hub bDeviceProtocol 0 Full speed (or root) hub iProduct 2 EHCI Host Controller
USB Host controllers entries (without OHCI, UHCI, EHCI) are removed too.
Resources
Attachments
Some configuration files and sample outputs.
Useful Links
Credits