Linux on Apple TV

From AwkwardTV
Revision as of 12:27, 5 April 2007 by Kad77 (talk | contribs) (awkwardTV dev notes)
Jump to: navigation, search

Latest update Apr 5

Gimli from the mactel-linux project has got the Linux kernel to boot. The loader, kernel patch and instructions will released after some polishing.

The AppleTV refuses to boot third-party EFI executables, so a workaround had to be found.

awkwardTV dev notes

Many of us would like to see a minimal AppleTV targeted source distribution emerge with boot and kernel configs, and perhaps scripts for USB or disk image builds. After getting proper NVidia accelerated video, we hope the GeexBox developers will come on board to provide some polish.

Join the discussion on the IRC Channel.

Wrapping elilo in a Mach-O binary was apparently the route taken by gimli. Good job!

The linux kernel running on the intel mac mini pre-bootcamp: [1] [2]

The 2006 osx86 EFI thread has some interesting info.

rEFIt released a new version recently, try and install it on an OSX enabled AppleTV

Amit Singh's discussion on the EFI shell environment.

Understanding MBR, APM, & GPT

Point of interest: The AppleTV can boot from an external USB hard drive with a properly setup AppleTV OS partition. USB flash memory sticks are also an option. This is a good avenue for testing linux projects.

Safety first: Obviously, it is recommended that you do a full backup of your original AppleTV drive before experimenting. Linux instructions can be found at the bottom of this wiki page. You will need about 40GB of space. Linux cannot reliably write HFS+ partitions.

Bootloader

Since Apple TV is EFI-based and apparently has no CSM BIOS emulation, we need an EFI-based bootloader.

rEFIt

The rEFIt Project is a good starting point. rEFIt is a boot menu and maintenance toolkit for EFI-based machines like the Apple TV. It can boot multiple operating systems and provides an easy way to enter and explore the EFI pre-boot environment.

Myths and Facts About Intel Macs A good primer, recommended.

rEFIt was originally designed for Intel Macs, but may see another use on AppleTV. An tester using an external USB drive attempting to boot into rEFIt reports that it failed. You may know a different method, feel free to try.

elilo

elilo is an EFI linux boot loader. http://www.mactel-linux.org/wiki/Using_elilo has some information on using it with Intel Macs.

Work In Progress

Booting must be achieved with a bootloader such as elilo due to AppleTV's EFI firmware. We have not had much success with the rEFIt kit as of yet. If you know of other tools, please post them at the bottom of the page.

Hint: Enabling netconsole in the kernel is highly recommended

Hint: Adopting the existing imacfb driver in the linux kernel should be explored, perhaps before experimenting with VESA. We have been told that VESA may be a dead end...

Recommended reading:

  • www.tianocore.org Intel-sponsored open-source EFI Framework initiative. Has devkits.

Barebones Packages

Useful distros:

Required packages:

Discovering the proper elilo configuration is the key to linux on AppleTV.

Source included in many distros. Required for customization, of course.

Provides the video acceleration; unknown if HDMI output works.
May be dependent on the PC BIOS architecture, will not load without work.
FIXME: details please. VGA BIOS emulation?


Suggested packages for a minimal distro:

We would prefer a lightweight X alternative or optimized/minimal X11 build.
Note: KDrive is framebuffer only.

Chipset Support

See the AppleTV components wiki to assess driver functionality under linux.

Wireless Support

The AppleTV wireless card is based on the Broadcom BCM94321MC chip.

Note: AppleTV's Broadcom BCM43xx based mini-PCI wireless card may not have stable Linux kernel drivers, but a Atheros mini-PCI wireless card could be directly substituted in the AppleTV unit. Someone will have to test if the standard MacOS X kernel can use the Atheros chipset.

  • Use the Windows Drivers along with NDISWrapper

See the following for help on how to do this: http://ndiswrapper.sourceforge.net/mediawiki/index.php/Installation

  • The following is untested as of yet:

Since late 2005 there have been drivers for the Broadcom wireless (43XX chipset - This is used in all current macbooks and the AppleTV). Here is a basic how to to get wireless working on an apple desktop running linux and it may be helpful for AppleTV users.

  • Download the driver files from one of the links below:

http://boredklink.googlepages.com/wl_apsta.o http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2

  • Download and install the latest version of bcm43xx-fwcutter from:

http://developer.berlios.de/project/showfiles.php?group_id=4547

  • Execute: mkdir /lib/firmware
  • Execute: bcm43xx-fwcutter -w /lib/firmware insert_driver_from_step1_here
  • Make sure you have iwconfig installed.
  • To use this driver, execute: modprobe bcm43xx

However I must note, this was valid for previous versions of the broadcom cards (b/g). The N capable version in the AppleTV will most likely not be compatible until a new driver file is released for it.

***update*** It may be possible to use the latest firmware for windows and extract the firmware from that: http://www.x-drivers.com/component/option,com_remository/func,fileinfo/id,9957/

Video Support

We need answers on whether NVidia's current binary drivers will output video on AppleTV. They only provide acceleration under Xfree86/XOrg as far as we can tell. NVidia's current documentation may give you some insight. Update this section if you know how to get 2D acceleration with the NVidia 7300 *without* X under linux. We could work with just an accelerated framebuffer to start.

NVidia's current drivers have HD output bugs, with no ETA for fixes.

Another method: DirectFB, released March 4, 2007, is a thin library that provides hardware graphics acceleration, input device handling and abstraction, integrated windowing system with support for translucent windows and multiple display layers, not only on top of the Linux Framebuffer Device. It is a complete hardware abstraction layer with software fallbacks for every graphics operation that is not supported by the underlying hardware. DirectFB adds graphical power to embedded systems and sets a new standard for graphics under Linux.

EFI Firmware

Apple may decide to disable some "features" in the future (ala Microsoft xbox360). We need someone to figure out how to dump a copy of the current AppleTV firmware, in case we need to revert. Desoldering the EEPROM will be a last resort. Please edit this wiki section with new information/instructions.

Do not post a link to the firmware image, that would be illegal.

Useful Linux Distributions

There are several Linux distributions specialized for Media Center usage.

dmesg output

Source : http://www.mactel-linux.org/wiki/Dmesg_appletv

[    0.000000] Linux version 2.6.20.4-mactel (root@athlonx2) (gcc version 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)) #59 Wed Apr 4 23:02:10 UTC 2007
[    0.000000] EFI: EFI v1.10 by Apple 
[    0.000000]  ACPI=0xfefd000 <6> ACPI 2.0=0xfefd014 <6> SMBIOS=0xfebe000 
[    0.000000] 0MB HIGHMEM available.
[    0.000000] 255MB LOWMEM available.
[    0.000000] Entering add_active_range(0, 0, 65280) 0 entries of 256 used
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA             0 ->     4096
[    0.000000]   Normal       4096 ->    65280
[    0.000000]   HighMem     65280 ->    65280
[    0.000000] early_node_map[1] active PFN ranges
[    0.000000]     0:        0 ->    65280
[    0.000000] On node 0 totalpages: 65280
[    0.000000]   DMA zone: 32 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 4064 pages, LIFO batch:0
[    0.000000]   Normal zone: 478 pages used for memmap
[    0.000000]   Normal zone: 60706 pages, LIFO batch:15
[    0.000000]   HighMem zone: 0 pages used for memmap
[    0.000000] DMI 2.4 present.
[    0.000000] ACPI: RSDP (v002 APPLE                                 ) @ 0x0fefd014
[    0.000000] ACPI: XSDT (v001 APPLE   Apple00 0x000000d9      0x01000013) @ 0x0fefd1c0
[    0.000000] ACPI: FADT (v003 APPLE   Apple00 0x000000d9 Loki 0x0000005f) @ 0x0fefb000
[    0.000000] ACPI: HPET (v001 APPLE   Apple00 0x00000001 Loki 0x0000005f) @ 0x0fefa000
[    0.000000] ACPI: MADT (v001 APPLE   Apple00 0x00000001 Loki 0x0000005f) @ 0x0fef9000
[    0.000000] ACPI: MCFG (v001 APPLE   Apple00 0x00000001 Loki 0x0000005f) @ 0x0fef8000
[    0.000000] ACPI: ASF! (v032 APPLE   Apple00 0x00000001 Loki 0x0000005f) @ 0x0fef7000
[    0.000000] ACPI: SSDT (v001 APPLE   Cpu0Ist 0x00003000 INTL 0x20050309) @ 0x0fef2000
[    0.000000] ACPI: SSDT (v001 APPLE   Cpu0Cst 0x00003001 INTL 0x20050309) @ 0x0fef3000
[    0.000000] ACPI: SSDT (v001 APPLE     CpuPm 0x00003000 INTL 0x20050309) @ 0x0fef1000
[    0.000000] ACPI: DSDT (v001 APPLE   AppleTV 0x00010001 INTL 0x20050309) @ 0x00000000
[    0.000000] ACPI: PM-Timer IO Port: 0x408
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] Allocating PCI resources starting at 10100000 (gap: 10000000:00400000)
[    0.000000] Detected 1000.158 MHz processor.
[   38.674978] Built 1 zonelists.  Total pages: 64770
[   38.674983] Kernel command line: root=/dev/sda3 video=imacfb
[   38.675255] Enabling fast FPU save and restore... done.
[   38.675259] Enabling unmasked SIMD FPU exception support... done.
[   38.675271] Initializing CPU#0
[   38.675341] PID hash table entries: 1024 (order: 10, 4096 bytes)
[   38.675397] Console: colour dummy device 80x25
[   38.675570] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[   38.675741] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[   38.688631] Memory: 253128k/261120k available (1836k kernel code, 5260k reserved, 694k data, 180k init, 0k highmem)
[   38.688658] virtual kernel memory layout:
[   38.688660]     fixmap  : 0xfffeb000 - 0xfffff000   (  80 kB)
[   38.688662]     pkmap   : 0xff800000 - 0xffc00000   (4096 kB)
[   38.688665]     vmalloc : 0xd0800000 - 0xff7fe000   ( 751 MB)
[   38.688667]     lowmem  : 0xc0000000 - 0xcff00000   ( 255 MB)
[   38.688669]       .init : 0xc037c000 - 0xc03a9000   ( 180 kB)
[   38.688671]       .data : 0xc02cb0a1 - 0xc037894c   ( 694 kB)
[   38.688674]       .text : 0xc0100000 - 0xc02cb0a1   (1836 kB)
[   38.688700] Checking if this processor honours the WP bit even in supervisor mode... Ok.
[   38.688906] Oops: efitime: can't read time status: 0x80000007
[   38.688936] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[   38.688946] hpet0: 3 64-bit timers, 14318180 Hz
[   38.689956] Using HPET for base-timer
[   38.772185] Calibrating delay using timer specific routine.. 2002.15 BogoMIPS (lpj=3336254)
[   38.772213] EFI: ioremap of 0xB178000 failed
[   38.772218] EFI: ioremap of 0xB19D000 failed
[   38.772224] EFI: ioremap of 0xB1C8000 failed
[   38.772262] Mount-cache hash table entries: 512
[   38.772403] CPU: After generic identify, caps: afe9fbff 00100000 00000000 00000000 00000180 00000000 00000000
[   38.772420] CPU: L1 I cache: 32K, L1 D cache: 32K
[   38.772429] CPU: L2 cache: 2048K
[   38.772435] CPU: After all inits, caps: afe9fbff 00100000 00000000 00002040 00000180 00000000 00000000
[   38.772448] Compat vDSO mapped to ffffe000.
[   38.772463] CPU: Intel Genuine Intel(R) processor              1.00GHz stepping 08
[   38.772477] Checking 'hlt' instruction... OK.
[   38.785576] ACPI: Core revision 20060707
[   38.787890] ACPI: setting ELCR to 0200 (from 0000)
[   38.788479] NET: Registered protocol family 16
[   38.788580] ACPI: bus type pci registered
[   38.788595] PCI: BIOS Bug: MCFG area at f0000000 is not E820-reserved
[   38.788602] PCI: Not using MMCONFIG.
[   38.788877] PCI: Using configuration type 1
[   38.788883] Setting up standard PCI resources
[   38.788904] EFI: Failed to allocate res Runtime Service Code : 0xb178000-0xb19cfff
[   38.788914] EFI: Failed to allocate res Runtime Service Data : 0xb19d000-0xb1c7fff
[   38.788923] EFI: Failed to allocate res Runtime Service Data : 0xb1c8000-0xb1c8fff
[   38.791825] ACPI: Interpreter enabled
[   38.791833] ACPI: Using PIC for interrupt routing
[   38.792427] ACPI: PCI Root Bridge [PCI0] (0000:00)
[   38.792439] PCI: Probing PCI hardware (bus 00)
[   38.793832] PCI quirk: region 0400-047f claimed by ICH6 ACPI/GPIO/TCO
[   38.793842] PCI quirk: region 0500-053f claimed by ICH6 GPIO
[   38.794523] PCI: Transparent bridge - 0000:00:1e.0
[   38.794592] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[   38.798978] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP01._PRT]
[   38.799918] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIB._PRT]
[   38.801431] ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7 10 12 14 15) *0, disabled.
[   38.801755] ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7 11 12 14 15) *0, disabled.
[   38.802075] ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 7 10 12 14 15) *0, disabled.
[   38.802424] ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 7 11 12 14 15) *0, disabled.
[   38.802740] ACPI: PCI Interrupt Link [LNKE] (IRQs 1 3 4 5 6 7 10 12 14 15) *0, disabled.
[   38.803056] ACPI: PCI Interrupt Link [LNKF] (IRQs 1 3 4 5 6 7 11 12 14 15) *0, disabled.
[   38.803379] ACPI: PCI Interrupt Link [LNKG] (IRQs 1 3 4 5 6 7 10 12 14 15) *0, disabled.
[   38.803695] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 11 12 14 15) *0, disabled.
[   38.804771] SCSI subsystem initialized
[   38.804805] libata version 2.00 loaded.
[   38.804872] usbcore: registered new interface driver usbfs
[   38.804914] usbcore: registered new interface driver hub
[   38.804960] usbcore: registered new device driver usb
[   38.804992] PCI: Using ACPI for IRQ routing
[   38.804999] PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
[   38.805775] PCI: Failed to allocate mem resource #6:20000@20000000 for 0000:01:00.0
[   38.805786] PCI: Bridge: 0000:00:01.0
[   38.805790]   IO window: disabled.
[   38.805798]   MEM window: 20000000-21ffffff
[   38.805806]   PREFETCH window: 10000000-1fffffff
[   38.805814] PCI: Bridge: 0000:00:1c.0
[   38.805818]   IO window: disabled.
[   38.805828]   MEM window: 22200000-222fffff
[   38.805837]   PREFETCH window: 22000000-220fffff
[   38.805848] PCI: Bridge: 0000:00:1e.0
[   38.805854]   IO window: 1000-1fff
[   38.805864]   MEM window: 22100000-221fffff
[   38.805872]   PREFETCH window: disabled.
[   38.806132] ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10
[   38.806139] PCI: setting IRQ 10 as level-triggered
[   38.806146] ACPI: PCI Interrupt 0000:00:01.0[A] -> Link [LNKA] -> GSI 10 (level, low) -> IRQ 10
[   38.806161] PCI: Setting latency timer of device 0000:00:01.0 to 64
[   38.806411] ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
[   38.806418] PCI: setting IRQ 11 as level-triggered
[   38.806424] ACPI: PCI Interrupt 0000:00:1c.0[A] -> Link [LNKB] -> GSI 11 (level, low) -> IRQ 11
[   38.806439] PCI: Setting latency timer of device 0000:00:1c.0 to 64
[   38.806456] PCI: Setting latency timer of device 0000:00:1e.0 to 64
[   38.806481] NET: Registered protocol family 2
[   38.838832] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[   38.838913] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[   38.838963] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[   38.838993] TCP: Hash tables configured (established 8192 bind 4096)
[   38.839000] TCP reno registered
[   38.849183] IA-32 Microcode Update Driver: v1.14a <tigran@aivazian.fsnet.co.uk>
[   38.849343] Total HugeTLB memory allocated, 0
[   38.849407] VFS: Disk quotas dquot_6.5.1
[   38.849431] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[   38.849520] io scheduler noop registered
[   38.849527] io scheduler anticipatory registered (default)
[   38.849535] io scheduler deadline registered
[   38.849548] io scheduler cfq registered
[   38.849705] PCI: Setting latency timer of device 0000:00:01.0 to 64
[   38.849745] assign_interrupt_mode Found MSI capability
[   38.849753] Allocate Port Service[0000:00:01.0:pcie00]
[   38.849835] PCI: Setting latency timer of device 0000:00:1c.0 to 64
[   38.849898] assign_interrupt_mode Found MSI capability
[   38.849906] Allocate Port Service[0000:00:1c.0:pcie00]
[   38.849944] Allocate Port Service[0000:00:1c.0:pcie02]
[   38.850185] imacfb: framebuffer at 0x10030000, mapped to 0xd0880000, using 10800k, total 16384k
[   38.850196] imacfb: mode is 1440x900x32, linelength=6144, pages=1
[   38.850202] imacfb: scrolling: redraw
[   38.850209] imacfb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[   38.972031] Console: switching to colour frame buffer device 180x56
[   39.083911] fb0: IMAC VGA frame buffer device
[   39.087092] Real Time Clock Driver v1.12ac
[   39.088295] RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
[   39.089517] 8139too Fast Ethernet driver 0.9.28
[   39.090166] PCI: Enabling device 0000:03:03.0 (0000 -> 0003)
[   39.091228] ACPI: PCI Interrupt Link [LNKE] enabled at IRQ 10
[   39.092059] ACPI: PCI Interrupt 0000:03:03.0[A] -> Link [LNKE] -> GSI 10 (level, low) -> IRQ 10
[   39.093322] PCI: Setting latency timer of device 0000:03:03.0 to 64
[   39.094250] eth0: RealTek RTL8139 at 0x1000, 00:17:f2:f8:9e:18, IRQ 10
[   39.095153] eth0:  Identified 8139 chip type 'RTL-8100B/8139D'
[   39.095275] input: Macintosh mouse button emulation as /class/input/input0
[   39.096377] ata_piix 0000:00:1f.1: version 2.00ac7
[   39.096626] ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10
[   39.097422] ACPI: PCI Interrupt 0000:00:1f.1[A] -> Link [LNKC] -> GSI 10 (level, low) -> IRQ 10
[   39.098708] PCI: Setting latency timer of device 0000:00:1f.1 to 64
[   39.098753] ata1: PATA max UDMA/133 cmd 0x2058 ctl 0x2066 bmdma 0x2040 irq 10
[   39.099766] ata2: PATA max UDMA/133 cmd 0x2050 ctl 0x2062 bmdma 0x2048 irq 10
[   39.100761] scsi0 : ata_piix
[   39.263784] ATA: abnormal status 0x7F on port 0x205F
[   39.268770] ata1.00: ATA-7, max UDMA/33, 78140160 sectors: LBA48 
[   39.269612] ata1.00: ata1: dev 0 multi count 16
[   39.278750] ata1.00: configured for UDMA/33
[   39.279333] scsi1 : ata_piix
[   39.442719] ATA: abnormal status 0x7F on port 0x2057
[   39.443522] scsi 0:0:0:0: Direct-Access     ATA      FUJITSU MHW2040A 0081 PQ: 0 ANSI: 5
[   39.444744] SCSI device sda: 78140160 512-byte hdwr sectors (40008 MB)
[   39.445668] sda: Write Protect is off
[   39.446176] sda: Mode Sense: 00 3a 00 00
[   39.446194] SCSI device sda: write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   39.447473] SCSI device sda: 78140160 512-byte hdwr sectors (40008 MB)
[   39.448395] sda: Write Protect is off
[   39.482643] sda: Mode Sense: 00 3a 00 00
[   39.482662] SCSI device sda: write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   39.517768]  sda:<7>spurious 8259A interrupt: IRQ7.
[   39.596810]  sda1 sda2 sda3
[   39.631490] sd 0:0:0:0: Attached scsi disk sda
[   39.665895] sd 0:0:0:0: Attached scsi generic sg0 type 0
[   39.700063] PCI: Enabling device 0000:00:1d.7 (0000 -> 0002)
[   39.734360] ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 11
[   39.768360] ACPI: PCI Interrupt 0000:00:1d.7[A] -> Link [LNKH] -> GSI 11 (level, low) -> IRQ 11
[   39.802728] PCI: Setting latency timer of device 0000:00:1d.7 to 64
[   39.802734] ehci_hcd 0000:00:1d.7: EHCI Host Controller
[   39.836716] ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
[   39.871041] ehci_hcd 0000:00:1d.7: debug port 1
[   39.905030] PCI: cache line size of 32 is not supported by device 0000:00:1d.7
[   39.905040] ehci_hcd 0000:00:1d.7: irq 11, io mem 0x22305000
[   39.942735] ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
[   39.976809] usb usb1: configuration #1 chosen from 1 choice
[   40.010966] hub 1-0:1.0: USB hub found
[   40.045016] hub 1-0:1.0: 8 ports detected
[   40.180796] USB Universal Host Controller Interface driver v3.0
[   40.215328] ACPI: PCI Interrupt 0000:00:1d.0[A] -> Link [LNKH] -> GSI 11 (level, low) -> IRQ 11
[   40.251198] PCI: Setting latency timer of device 0000:00:1d.0 to 64
[   40.251204] uhci_hcd 0000:00:1d.0: UHCI Host Controller
[   40.286701] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
[   40.322144] uhci_hcd 0000:00:1d.0: irq 11, io base 0x00002020
[   40.357284] usb usb2: configuration #1 chosen from 1 choice
[   40.392345] hub 2-0:1.0: USB hub found
[   40.427216] hub 2-0:1.0: 2 ports detected
[   40.563730] Initializing USB Mass Storage driver...
[   40.690173] usb 1-1: new high speed USB device using ehci_hcd and address 2
[   41.722416] ehci_hcd 0000:00:1d.7: Unlink after no-IRQ?  Controller is probably using the wrong IRQ.
[   52.287961] usb 1-1: device not accepting address 2, error -110
[   52.427817] usb 1-1: new high speed USB device using ehci_hcd and address 3
[   63.992308] usb 1-1: device not accepting address 3, error -110
[   64.132164] usb 1-1: new high speed USB device using ehci_hcd and address 4
[   74.581162] usb 1-1: device not accepting address 4, error -110
[   74.721019] usb 1-1: new high speed USB device using ehci_hcd and address 5
[   85.170017] usb 1-1: device not accepting address 5, error -110
[   85.722770] usb 2-2: new low speed USB device using uhci_hcd and address 2
[   88.842936] usb 2-2: configuration #1 chosen from 1 choice
[   89.622232] usbcore: registered new interface driver usb-storage
[   89.657373] USB Mass Storage support registered.
[   89.692274] usbcore: registered new interface driver libusual
[   89.727421] usbcore: registered new interface driver hiddev
[   90.997303] input: Apple Computer, Inc. IR Receiver as /class/input/input1
[   91.032387] input: USB HID v1.11 Device [Apple Computer, Inc. IR Receiver] on usb-0000:00:1d.0-2
[   91.068366] usbcore: registered new interface driver usbhid
[   91.104431] drivers/usb/input/hid-core.c: v2.6:USB HID core driver
[   91.141641] i8042.c: No controller found.
[   91.177552] mice: PS/2 mouse device common for all mice
[   91.213411] device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: dm-devel@redhat.com
[   91.279941] ip_tables: (C) 2000-2006 Netfilter Core Team
[   91.393468] TCP cubic registered
[   91.428955] NET: Registered protocol family 1
[   91.464351] NET: Registered protocol family 17
[   91.498849] Using IPI Shortcut mode
[   91.532685] ACPI: (supports S0 S4)
[   91.566452] Time: tsc clocksource has been installed.
[   91.973360] kjournald starting.  Commit interval 5 seconds
[   92.007750] EXT3-fs: mounted filesystem with ordered data mode.
[   92.042316] VFS: Mounted root (ext3 filesystem) readonly.
[   92.076968] Freeing unused kernel memory: 180k freed
[   98.406036] EXT3 FS on sda3, internal journal
[   99.204712] spurious 8259A interrupt: IRQ15.
[   99.599013] eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
[  106.074809] uhci_hcd 0000:00:1d.0: Unlink after no-IRQ?  Controller is probably using the wrong IRQ.
[  110.383484] usb 1-1: new high speed USB device using ehci_hcd and address 7
[  121.914675] usb 1-1: device not accepting address 7, error -110
[  122.061191] usb 1-1: new high speed USB device using ehci_hcd and address 8
[  133.592383] usb 1-1: device not accepting address 8, error -110
[  133.738899] usb 1-1: new high speed USB device using ehci_hcd and address 9
[  144.154600] usb 1-1: device not accepting address 9, error -110
[  144.301116] usb 1-1: new high speed USB device using ehci_hcd and address 10
[  154.716815] usb 1-1: device not accepting address 10, error -110