Announcement

Collapse
No announcement yet.

Black Screen Catalyst 8.10 amd64 4870 [fglrx] ASIC hang happens.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Black Screen Catalyst 8.10 amd64 4870 [fglrx] ASIC hang happens.

    Sapphire RadeonHD 4870
    AMD Athlon 64 x2 5600+
    Asus M2A-VM BIOS 0901
    2GB RAM

    Debian/Lenny (testing) 64 bit
    Linux Kernel 2.6.26 (stock linux-image-2.6.26-amd64)
    Xorg 7.3 (xserver-xorg_7.3+18)
    GCC (Debian 4.3.2-1) 4.3.2

    startup is normal until X attempts to run
    black screen
    system hard locks for 10-15 seconds (not pingable, keyboard not responsive, no SysRQ)
    system resumes, but screen remains black
    keyboard is responsive, so SysRq works, but VT switch does not.
    -cannot even do blind login
    ssh from another machine works
    2 copies of Xorg on tty7
    -the first is at 100% CPU in sys
    -the second is <defunct>
    both copies are unkillable (kill -9 on each has no effect)
    normal restart is possible


    Identical behavior with 8.9 and 8.10

    tried
    -direct install using *.run file from ATI
    -build native packages using Debian's package builder for 8.9
    -svn://svn.debian.org/svn/pkg-fglrx/fglrx-driver/trunk (rev 60)
    -ATI's native package builder for Debian doesn't work.

    X will run unaccelerated if kernel module is not present


    build of 8.10 using balihb's patch has a different failure mode
    -X doesn't crash, but screen is 100% corrupt (colored horizontal lines)
    -mouse is visible because it moves (cursor is same colored lines)
    -there is a 3" square box in the lower right corner with a distinct color pattern.

    card mostly works with Catalyst 8.7, however, 3D in wine is even more corrupt than with my old card (X1250)
    -texture corruption is the same, but models are now corrupt as well


    ================================================== =====================
    dmesg starting from fglrx load
    ================================================== =====================

    [ 75.602499] fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel.
    [ 75.655579] [fglrx] Maximum main memory to use for locked dma buffers: 1887 MBytes.
    [ 75.655835] [fglrx] vendor: 1002 device: 9440 count: 1
    [ 75.656234] [fglrx] ioport: bar 4, base 0xde00, size: 0x100
    [ 75.656243] ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 0 (level, low) -> IRQ 0
    [ 75.656247] PCI: Setting latency timer of device 0000:01:00.0 to 64
    [ 75.659579] [fglrx] PAT is enabled successfully!
    [ 75.659602] [fglrx] module loaded - fglrx 8.53.4 [Sep 8 2008] with 1 minors
    [ 76.380964] [fglrx:irqmgr_install_interrupt_handler] *ERROR* unable to get IRQ number
    [ 76.429507] [fglrx] Reserved FB block: Shared offset:0, size:1000000
    [ 76.429513] [fglrx] Reserved FB block: Unshared offset:ff7f000, size:80000
    [ 106.512476] [fglrx] ASIC hang happens.
    [ 106.512482] Pid: 3879, comm: Xorg Tainted: P 2.6.26-1-amd64 #1
    [ 106.512484]
    [ 106.512485] Call Trace:
    [ 106.512553] [<ffffffffa032024c>] :fglrx:firegl_hardwareHangRecovery+0x1c/0x50
    [ 106.512626] [<ffffffffa03923d9>] :fglrx:_ZN4Asic9WaitUntil15ResetASICIfHungEv+0x9/0x10
    [ 106.512698] [<ffffffffa039238c>] :fglrx:_ZN4Asic9WaitUntil15WaitForCompleteEv+0x6c/0xb0
    [ 106.512771] [<ffffffffa039c11b>] :fglrx:_ZN8AsicR60016ASICIdleInternalEN4Asic15idle _WaitMethodE+0xcb/0x1e0
    [ 106.512849] [<ffffffffa0390d75>] :fglrx:_ZN4Asic7PM4idleENS_15idle_WaitMethodE+0x55/0x90
    [ 106.512961] [<ffffffffa0390ab8>] :fglrx:_ZN4Asic9assertPM4Eb+0xf8/0x250
    [ 106.513033] [<ffffffffa039d8a2>] :fglrx:_ZN8AsicR6009assertPM4Eb+0x32/0x50
    [ 106.513100] [<ffffffffa0370809>] :fglrx:CMMQS_Initialize_WA+0x149/0x180
    [ 106.513159] [<ffffffffa03393ea>] :fglrx:firegl_cmmqs_init+0x4aa/0x6f0
    [ 106.513225] [<ffffffffa033888b>] :fglrx:firegl_cmmqs_createdriver+0x4b/0x130
    [ 106.513279] [<ffffffffa031ebb0>] :fglrx:firegl_get_lockid+0x0/0x80
    [ 106.513338] [<ffffffffa0338840>] :fglrx:firegl_cmmqs_createdriver+0x0/0x130
    [ 106.513393] [<ffffffffa031bf7b>] :fglrx:firegl_ioctl+0x1fb/0x270
    [ 106.513402] [<ffffffff802a6469>] vfs_ioctl+0x55/0x6b
    [ 106.513406] [<ffffffff802a66c7>] do_vfs_ioctl+0x248/0x261
    [ 106.513409] [<ffffffff8029b251>] vfs_write+0x121/0x156
    [ 106.513413] [<ffffffff802a6731>] sys_ioctl+0x51/0x70
    [ 106.513418] [<ffffffff8020be9a>] system_call_after_swapgs+0x8a/0x8f
    [ 106.513423]
    [ 106.513426] pubdev:0xffffffffa0500500, num of device:1 , name:fglrx, major 8, minor 53.
    [ 106.513428] device 0 : 0xffff81007ccd4000 .
    [ 106.513430] Asic ID:0x9440, revision:0x2, MMIOReg:0xffffc200109a0000.
    [ 106.513433] FB phys addr: 0xd0000000, MC :0xf00000000, Total FB size :0x40000000.
    [ 106.513435] gart table MC:0xf0ff7f000, Physical:0x0, size:0x80000.
    [ 106.513438] mc_node :MC_NODE__FB, total 1 zones
    [ 106.513440] MC start:0xf00000000, Physical:0xd0000000, size:0x10000000.
    [ 106.513443] Mapped heap -- Offset:0x0, size:0xff7f000, reference count:1, mapping count:0,
    [ 106.513445] Mapped heap -- Offset:0x0, size:0x1000000, reference count:1, mapping count:0,
    [ 106.513448] Mapped heap -- Offset:0xff7f000, size:0x80000, reference count:1, mapping count:0,
    [ 106.513451] Mapped heap -- Offset:0xffff000, size:0x1000, reference count:1, mapping count:0,
    [ 106.513453] mc_node :MC_NODE__INV_FB, total 1 zones
    [ 106.513456] MC start:0xf10000000, Physical:0xe0000000, size:0x30000000.
    [ 106.513458] mc_node :MC_NODE__GART_USWC, total 1 zones
    [ 106.513460] MC start:0x140c0000, Physical:0x0, size:0xbf40000.
    [ 106.513463] Mapped heap -- Offset:0x0, size:0x2000000, reference count:1, mapping count:0,
    [ 106.513465] mc_node :MC_NODE__GART_CACHEABLE, total 2 zones
    [ 106.513467] MC start:0x10400000, Physical:0x0, size:0x3cc0000.
    [ 106.513470] Mapped heap -- Offset:0x0, size:0x200000, reference count:1, mapping count:0,
    [ 106.513471] Dump the trace queue.
    [ 106.513473] End of dump

  • #2
    FIXED

    1 update BIOS
    2 remove 'noapic' from kernel parameters

    noapic is commonly used to bypass buggy APICs

    I am no longer getting (EE) fglrx(0): Failed to enable interrupts.

    framerate is low (about 1/2 expected) but I trashed my config pretty good
    will test further

    Comment


    • #3
      More info?

      Hi Spike -

      I'm having the same problem on the same hardware (M2A-VM) and am hoping you can help me out by telling me what BIOS version you upgraded to to get this to work?

      I'm using 2201 (most recent). I've just migrated to Ubuntu, and the same hardware was working fine(*) under Fedora (with 8.12,8.11,8.3).

      With my system, things work - and work well - for periods up to hours before I get the ASIC hang happens error. Haven't found the pattern yet.

      Additionally, does anyone have any idea why _removing_ noapic would matter? I could understand why adding it might fix the problem, but find the converse odd ...

      Thanks!

      John

      (*) By "fine", I mean it could be made to work.
      Last edited by veysey; 16 December 2008, 12:04 PM.

      Comment

      Working...
      X