Fix For ATI Radeon HD 5770 “Unsupported Hardware” on Linux

Got one of these badboys and loaded up linux and was greeted with a big “Unsupported Hardware” watermark.

A little googling and i found this link:

http://www.phoronix.com/forums/showthread.php?t=19875

The script is below ( i take no responsibly for you messing your system up )

#!/bin/sh
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do
 sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER
done

11/23/09 – *Edit* This fix is no longer required in the 9.11 drivers.

Oldies but goodies software uploaded

The bulk of my little utilities are now back online under my Software page on this site.

Follow the link or use the navbar to access my software section.

HowTo Rescan databases for the Grid Control Agent

If you create a new database, listener, etc. on a machine that has an existing Grid Control Agent on it, you may need to tell the agent to “rescan” the system to pick up the new database (to have the DB show up in OEM).

Set your agent home

AGENT_HOME=/opt/app/oracle/agent10g

Make sure $AGENT_HOME/bin is in your PATH
Run the agentca with the reconfigure option. (you may need to specify a –c for RACs)

vexbert<11> agentca -h
Usage: agentca -d/-f [-nctis]
        -d  option for rediscovery.
        -f  option for reconfigure.
        -n  to specify the CLUSTER_NAME.
        -c  specify the list of cluster nodes separated by commas
        -t  don't start the agent after rediscover or reconfigure.
        -i  oraInst.loc location on Unix/Linux Platforms only.
        -s secure the Agent during RAC/Cluster Agent reconfiguration
         (Don't use this option in upgraded home).

vexbert<11> agentca –f

Note: you may need to clean up duplicates in your OEM after running this on an existing system.

Perl script to allocate shared memory (and annoy sysadmins)

I once ran into an instance where the Unix admins didn’t believe me that i was running out of shared memory despite the errors, I was showing them. I wrote this perl script to allocate chunks of shared memory until it failed to prove to them that yes, regardless of what you have the global ulimits set to my user’s limits were lower.

#!/usr/bin/perl -w

use IPC::SysV qw(IPC_PRIVATE IPC_RMID S_IRWXU);

#$size = 314580992;
$size = 50000000;
$id = shmget(IPC_PRIVATE, $size, S_IRWXU) || die "$!";
sleep 10;
shmctl($id, IPC_RMID, 0)

HowTo Find info about Shared memory allocation

Sometimes you may see core dumps, etc related to lack of shared memory.
To check to see how much is currently being used you can use the below command:

kerrd@vexbert<10> ipcs -bm
IPC status from  as of Thu Oct 30 10:42:06 PDT 2008
T         ID      KEY        MODE        OWNER    GROUP      SEGSZ
Shared Memory:
m 1493172237   0x32d14fb8 --rw-r-----   oracle      dba 2097160192
m 1979711547   0x5e000b64 --rw-------     root     root        512
m  721420366   0xe867eba0 --rw-r-----   oracle      dba 2147491840
m         25   0x67e97344 --rw-r-----   oracle      dba  419438592
m         21   0xc4986724 --rw-rw----   oracle      dba  629153792
m         19   0x71e930c0 --rw-rw----   oracle      dba 1073758208
m          7   0x4154520e --rw-rw-rw-     root   tivoli    1048576
m          6   0x4154520a --rw-rw-rw-   tivoli   tivoli    1048576
m          5   0x4154520d --rw-rw-rw-   tivoli   tivoli    1048576
m          4   0x4154520c --rw-rw-rw-   tivoli   tivoli    1048576
m          3   0x4154520f --rw-rw-rw-   tivoli   tivoli    1048576
m          2   0x4154520b --rw-rw-rw-   tivoli   tivoli     524288
m          1   0x41545200 --rw-rw-rw-   tivoli   tivoli    1048576
m          0   0          --rw-------     root     root         64

The Oracle/DBA segments are related to Oracle database instances.
The SEGSZ is limited by the Unix kernel.