Tuesday, November 21, 2006

More APIC woes

I noticed yesterday that the output from /proc/interrupts listed usb and network on the same irq (see 11).

CPU0 CPU1
0: 485920 18674 XT-PIC timer
1: 8081 626 XT-PIC i8042
2: 0 0 XT-PIC cascade
5: 119443 4243 XT-PIC libata
8: 0 0 XT-PIC rtc
10: 299716 11836 XT-PIC HDA Intel, nvidia
11: 501067 24435 XT-PIC ohci_hcd:usb1, eth0
12: 104435 12826 XT-PIC i8042
14: 19 5 XT-PIC ide0
NMI: 302 233
LOC: 504576 504559
ERR: 1591283
MIS: 0


I had hopes of having usb work now that I had switched everything to XT-PIC (noapic). Of course, that would be too easy. I clearly don't understand the full ramifications of turning APIC off, but without it, there is no USB. I can only assume it is receiving no interrupts. At least my network card still works.

Monday, November 20, 2006

TODO

This list only contains the current issues I'm working on. For a complete list of issues and fixes, please see the functionality summary.

  • APIC works, but I've got about 20 IRQs (which isn't right) and it only boots 1/3 of the time with the current fix.

  • Sound doesn't automatically transfer to headphones, so I have to mute the speakers myself.

  • Bluetooth doesn't work.

  • Wireless doesn't work.

  • Learn how to manage the Synaptics options (and turn off all the touch pad back/forward/scroll/reload stuff)

  • Flash doesn't work because it's a 64-bit system

X fails to start due to edge-triggered interrupts

I rebooted my laptop this morning to find that X would no longer start. Shame on me for upgrading. The error message I received was

(EE) NVIDIA(0): The interrupt for NVIDIA graphics device PCI:x:x:x
(EE) NVIDIA(0): appears to be edge-triggered. Please see the COMMON
(EE) NVIDIA(0): PROBLEMS section in the README for additional information.
The last time I heard anything about edge-triggered anything was my first year of college, so all I got out of this message was "Something is misconfigured." I google the error and find the "Common Problems" section. There are several version of this file running around, each with different amounts of information. This is the best one I found: http://download.nvidia.com/XFree86/Linux-x86/1.0-9629/README/chapter-05.html


I checked /proc/interrupts and sure enough, everything was set to edge-triggered. This could explain several of my hardware issues. The quickest way to getting a working laptop seems to be throwing "noapic" in as a kernel argument, so the pertinent entry in my grub.conf now looks like:

title Gentoo64
root (hd0,1)
kernel /2.6.17-r8.usb root=/dev/sda5 noapic
#initrd /initrd.img
I'm not too happy with this solution, but at least I can use my computer.

dv6000z details

For those of you who are playing from home, here are the specifics of my laptop. If there's a detail you think is pertinent that isn't here, post a comment about it and I'll try to address it. This is what was in the email from HP when I ordered it:
- Genuine Windows XP Home Edition
- AMD Turion(TM) 64 X2 Mobile TL-56 (1.80GHz/512KB)
- FREE Upgrade to 15.4" WXGA BrightView Widescreen!
- 256MB NVIDIA(R) GeForce(R) Go 7200
- HP IMPRINT Finish + Microphone
- 2.0GB DDR2 SDRAM (2x1024MB)
- FREE Upgrade from 60 GB 5400 RPM to 80 GB 5400 RPM
- FREE Upgrade: 8X DVD+/-R/RW w/Double Layer Support
- 802.11a/b/g WLAN & Bluetooth
- 12 Cell Lithium Ion Battery
- Microsoft(R) Works/Money

I'm sure glad I got that copy of Works. Where would I be without it? Anyway, this is what lspci says

00:00.0 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)
00:00.1 RAM memory: nVidia Corporation C51 Memory Controller 0 (rev a2)
00:00.2 RAM memory: nVidia Corporation C51 Memory Controller 1 (rev a2)
00:00.3 RAM memory: nVidia Corporation C51 Memory Controller 5 (rev a2)
00:00.4 RAM memory: nVidia Corporation C51 Memory Controller 4 (rev a2)
00:00.5 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)
00:00.6 RAM memory: nVidia Corporation C51 Memory Controller 3 (rev a2)
00:00.7 RAM memory: nVidia Corporation C51 Memory Controller 2 (rev a2)
00:02.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)
00:03.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)
00:04.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)
00:09.0 RAM memory: nVidia Corporation MCP51 Host Bridge (rev a2)
00:0a.0 ISA bridge: nVidia Corporation MCP51 LPC Bridge (rev a3)
00:0a.1 SMBus: nVidia Corporation MCP51 SMBus (rev a3)
00:0a.3 Co-processor: nVidia Corporation MCP51 PMU (rev a3)
00:0b.0 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)
00:0b.1 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)
00:0d.0 IDE interface: nVidia Corporation MCP51 IDE (rev f1)
00:0e.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev f1)
00:10.0 PCI bridge: nVidia Corporation MCP51 PCI Bridge (rev a2)
00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2)
00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a3)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
03:00.0 Network controller: Broadcom Corporation BCM4310 UART (rev 01)
05:00.0 VGA compatible controller: nVidia Corporation GeForce Go 7200 (rev a1)
07:05.0 FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832
07:05.1 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
07:05.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 01)
07:05.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a)
07:05.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 05)

dv6000z + linux = :(

A little while ago I bought the HP dv6000z. It had all the hardware I was looking for at a decent price. The problem is that it doesn't really work very well with linux. I was hoping that if I waited a little while, someone else would put together a HOWTO so I could just ride the open source coat tails. No game on that one, so I'm starting this blog to document my quest to get everything working.