May
01
2008

phpMyAdmin Installation, openSUSE 10.2

I installed the phpmyadmin package the other day using YaST and need to document some things:

  • Configuration area (config.inc.php file) ends up in /srv/www/htdocs/phpMyAdmin along with the rest of the installation.
  • Decided to use “cookie based authentication”; don’t think I need to remember the password.
  • The advanced features were turned on in config.sample.inc.php, but the YaST installer doesn’t load the schema required for this into the mySQL database (maybe it’s not possible unless done during mySQL installation). This resulted in endless error messages of “Table ‘phpmyadmin.pma_bookmark’ doesn’t exist”.
  • Learned that I needed to run create_tables.sql, which was not included in the openSUSE package. I downloaded it from the phpMyAdmin site, created user “pma”, defined corresponding controluser and controlpass entries in the config file. create_tables finally ran successfully and the bookmarks error messages went away.
  • Stopped annoying half-hour auto-logout with: $cfg[‘LoginCookieValidity’] = 3600 * 8;
Feb
15
2008

ATI Drivers for Radeon XPRESS 200, openSUSE 10.2

I didn’t have good results installing the ATI proprietary drivers in SUSE 10 using the ATI installer. The install itself was error-plagued and the X server was flakey afterwards. Thus when I upgraded to openSUSE 10.2 I chose not to install the proprietary drivers. For the past year I’ve been running with the non-3D Mesa/radeon drivers included with the release.

With ZENworks finally replaced with zypper on my system, package maintenance is fun once again, so I decided to try installing the proprietary ATI drivers. From among all of the different ways described on the web, I’ve selected “The Easy Way” from the openSUSE ATI documentation, which uses rpm packages supplied & maintained by ATI (AMD).

Pre-installation Status:

  1. glxgears – Mesa GLX Indirect renderer, runs about 90 FPS.
  2. Konqueror sysinfo: – Model: Radeon XPRESS 200 5954 (PCIE), Driver: radeon (No 3D Support).
  3. /usr/lib{,64}/libGL.so.1.2 – made “before” copies, since some installation instructions call for hiding them after installation. I want to be able to undo any hand edits to return to the standard linux driver if necessary.
  4. /etc/X11/xorg.conf – made a copy of the current file.

ATI Driver Installation Steps:

Based on the openSUSE ATI documentation, The Easy Way, openSUSE 10.3 10.2 10.1:

  1. zypper service-add http://www2.ati.com/suse/10.2 ATI – adds a YUM catalog containing the ATI proprietary drivers in rpm package format, enabling installation via YaST. I browsed here first, received a “no file found” message, and thought that the ati.com address had been retired by AMD. Fortunately, the instructions noted that the “above URLs are not browseable with a web browser, only by a YUM / REPO-MD capable packager manager”.
  2. Step 2 of the openSUSE instructions list a zypper command to install 2 ATI packages, but I wanted to see what was available and check dependencies before installing so I decided to use the YaST installer to carry out this step.
  3. Started YaST/Software Management, filtered for the new ATI catalog, and saw four packages: x11-video-fglrxG01 and 3 different versions of ati-fglrxG01-kmp (for bigsmp, debug, and default kernels). Choose the fglrx package that matches your kernel as shown by the uname command (default in my case). The dependency check was ok, so I clicked Accept. The X11 video driver package is 19MB, the kernel driver only 500KB.
  4. After the package installation was complete, I started YaST Software Management again to inspect the file lists of the new packages. The kernel module was installed into /lib/modules/2.6.18.8-0.8-default whereas my kernel is 2.6.18.8-0.9. The video driver package installs drivers into X11R6/lib{,64} and did not overwrite the original drivers.
  5. sax -r – per the instructions. I’ve never run this command before (except when installing the OS) and it worried me. The screen locks up, then it appears to kill the X server, but it reappears. Now I’ve got the SaX2 GUI and the Monitor tab’s Activate 3D acceleration option is active. After verifying that 1600×1200 resolution was set, I clicked OK without changing anything. Note: found the output from this command in /var/log/SaX.log.
  6. A box with a “Test” option appeared, I tested and the display was ok. Then Save, and an announcement that the changes will take effect when the graphics system is restarted. This should allow me to check xorg.conf. But no, the display started behaving badly, so I logged out and back in per the instructions.
  7. After completion, the accelerated 3D worked, but I’m now getting constant kernel errors:
    [fglrx:firegl_free_mutex] *ERROR* mutex id 0x.. not found in mutex list
    kernel: warning: many lost ticks.
    kernel: time source seems to be instable or some driver is hogging interupts
  8. Display didn’t look correct (see below) so I added a Modeline back in from the old xorg.conf file. This proved fatal to the X server. I managed to fix it by rebooting from an old SUSE 10.0 partition, otherwise it would have been time to rescue boot from DVD and attempt repairs. A vivid reminder of why I avoid X11 configuration whenever possible.
  9. The CRT Monitor parameters in xorg.conf switched from Modelines to Calculated and the display was being driven differently. There is now vertical compression at the top and bottom of the screen (as if the vertical scan rate was not constant).  Can not completely compensate with the monitor’s adjustments.
  10. glxgears – ATI Radeon Xpress Series renderer, now runs 1300 FPS.
  11. None of the OpenGL screensavers work; I think they are the source of most of the kernel mutex errors.

Conclusions:

  • YaST’s SaX2 is still an adventure and not up to the quality level of most other parts of YaST. There is little documentation (the openSUSE.org page is still a stub), and it runs without feedback, leaving me to wonder what choices are being made and where things are written. I would need to learn a lot of gory details about X11 configuration before I’d feel comfortable with SaX2 and the ATI drivers (or ATI/openSUSE would need to fix the frequent kernel errors).
  • Next release, I’ll install the 3D drivers first thing after installing the OS, then review the results and kernel errors. If I don’t like what I see, I can reload the OS, which is the only way I’ll feel confident that I’ve cleaned everything out.
  • Once I start using an OS release for production work, I’ll leave the graphics drivers unchanged for the duration. Updating midstream like I’ve done here is too risky (since I don’t need 3D for my projects).
Jan
06
2008

SMART smartd Configuration, openSUSE 10.2

Stumbled across smartd in YaST/System/System Services (runlevel) and turned it on. In addition to monitoring the long-term health trend of the disk, SMART also provides interesting real-time information about the hard drive: total hours, number of power cycles, current temperature, etc. I liked smartmontools so much that I also installed it on my WindowsXP machines, along with HDD Health.

I configured /etc/smartd.conf after reading the smartd.conf and smartctl man pages, the smartd log entries in the messages file, and comments within the file itself. Current setup:

  /dev/sda -d sat \
  -a -o off -S on \
  -s (O/../.././07|S/../.[27]/./08|L/.[02468]/15/./08) \
  -m root@localhost -M test

Notes on the configuration parameters:

  1. -d sat – lots of testing to determine this should be sat (SCSI to ATA Translation) and not ata. The various man pages are vague, with one saying “follow the hints appearing in the log file.” Well, the hint in my log file said “use -d ata or -d sat” (sigh). Both seemed to work, so I began with sat since the libata library is present. Subsequent tests of ata produced command failure messages in the log, thus sat is correct.
  2. -a – turn on the default recommended set of monitoring functions.
  3. -S on “S” is variously described as “turning on SMART” or “turning on Attribute Autosave”. I believe this is a modal parameter within the disk drive itself, and starting smartd turns this on by default. The manual recommends adding to the configuration to ensure it doesn’t get shut off. It echoes “enabled SMART Attribute Autosave” to messages, reassuring me that SMART is running.
  4. -o off – “o” controls “SMART Automatic Offline Testing” (data collection really, not testing). The man page says this command is obsolete and that the collection intervals are chosen by the disk manufacturer. The “O” offline test (discussed next) causes the same data to be collected.
  5. -s REGEXP – schedule various off-line tests My schedule: O (offline immediate), every day, 7am; S (Short), every 5 days, 8am; L (Long) – 15th of alternate months. I haven’t discovered what the differences are between the short and long tests (for my disk the short test takes 2 minutes vs. 98 minutes for the long test).
  6. -m, -M – email address for important messages. “-M test” sends an email on startup to confirm everything is working.
  7. -i N – (command line only, not conf file) set the interval for polling the disk. Seems like this shoud be controllable from the conf file, but since it isn’t I’m staying with the default of 30 minutes.

Notes:

On Linux, “smartctl -c” always showed a failure in the offline data collection status:

(0x05) Offline data collection activity was aborted by an interrupting command from host.
Auto Offline Data Collection: Disabled.

Examining the messages file shows auto-collection being enabled and the scheduled offline collection being started. Everything seems normal, but auto-collection becomes disabled at some point. On two WindowsXP PCs, data collection activity completes normally and Offline Collection is enabled. I don’t know how auto-collection was enabled on these two machines; perhaps HDD Health did it.

Is the Linux collection failure connected with auto-collection becoming disabled? First attempt at solution: switched from “-o on” to off after realizing that my scheduled testing ran the same test. Changed short test schedule to one per week in case it was causing the interruption. The problem has gone away and smartctl now reports “data collection activity was completed without error”.

References:

  • Wikipedia – best description of the SMART attributes that I found (other than the spec itself which is exhausting). The external link “Out SMART your hard drive” helped explain why the raw data was different between my Maxtor and Seagate hard drives.
  • smartmontools – home page for the SMART tools. They are installed by default in openSUSE Linux, and available for download for Windows XP.
  • HDD Health – a graphical user interface that presents current SMART information and failure alerts for Windows PCs. Still need smartmontools to trigger the offline tests.
Dec
12
2007

How To Disable ZENworks ZMD, openSUSE 10.2

The openSUSE 10.2 update repository that I was connected to stopped receiving updates from the mother ship in late November. I checked some other mirrors and found them to be in the same state. Only the main ftp.suse.com repository is current (as of this post). I could find no mention of this problem on openSUSE.org.

This problem plus the announcement of openSUSE 11.0 Alpha caused me to reconsider my upgrade plans. I am happy with 10.2 but was planning to upgrade to 10.3 solely to eliminate the nightly 1.5 hour zmd update runs (which I’ve complained about at length in a previous post).

Since I am now going to have to poke around with updating anyway, I decided to look once more for instructions on how to disable the ZENworks ZEN management daemon (zmd). If I succeed in turning off zmd, I may skip the 10.3 release entirely and go directly from 10.2 to 11.0.

How to Disable ZMD:

I found this openSUSE-Community.org article which provides simple instructions for disabling and removing zmd. Using it as a guide, I performed the following steps:

  1. rczmd stop – this stopped zmd. Hallelujah! I’ve never known how to do this before now.
  2. Start the YaST, Software, Installation Source GUI.
  3. Add ftp.suse.com/pub/suse/update/10.2 as a new catalog.
  4. Disable (status = Off, update = Off) the old (utah.edu) mirror catalog. This catalog can be removed once the ftp catalog is working.
  5. Uncheck the “Synchronize with ZENworks” check box.
  6. Click Finish.
  7. The catalog information was successfully downloaded from ftp.suse.com, new updates appeared in the updater applet, and were successfully applied. Everything seems to be working.
  8. I restarted the Installation Source GUI and was dismayed to see the “Synchronize with ZENworks” box still checked. Don’t know if it is still turned on, or if the GUI is just urging me to turn it back on.
  9. Leaving zmd turned off but still installed, I let the system run for a few days until I verified that newly released updates from openSUSE were reported in the updater applet.
  10. Once verified, I removed the zmd related packages as described in the article:
    rpm -e zmd libzypp-zmd-backend sqlite-zmd rug zen-updater
  11. Restarted the Installation Source GUI: the “Synchronize with ZENworks” box is now grayed out.
  12. Rebooted; start-up works fine without ZENworks zmd.

Updater Applet:

If you are running KDE, you may need to perform the following step:

  1. Switch the panel updater applet (controlled  by /etc/sysconfig/sw_management) from zlm (the zen-updater update manager) to opensuse.

I had already done this manually during my previous battles with zmd, but I have some recollection that it will happen automatically if the zen-updater application isn’t found. For Gnome, I don’t know what applet (if any) will appear in the panel.

Aug
14
2007

NETDEV WATCHDOG transmit timed out, Realtek 8139

Periodically I restart my dual-boot workstation into Windows XP, run Microsoft Update and all other updaters to get everything current, then take a spin around the block just to make sure XP is still working fine. Among other updates this time, I accepted a new Realtek device driver from Microsoft Update. Normally, I only pull driver updates after they’ve been posted to Compaq support.

Win XP ran fine after all of the updates, but when I rebooted into openSUSE 10.2, it was unable to connect to the LAN. I found the following alarming entries in /var/log/messages:

  kernel: NETDEV WATCHDOG: eth0: transmit timed out
  kernel: eth0: Transmit timeout, status 0d 0000 c07f media 10.
  kernel: eth0: Tx queue start entry 4  dirty entry 0.
  kernel: eth0:  Tx descriptor 0 is 0008224e. (queue head)
  kernel: eth0:  Tx descriptor 1 is 0008224e.
  kernel: eth0:  Tx descriptor 2 is 0008224e.
  kernel: eth0:  Tx descriptor 3 is 0008024e.

Assuming that on-the-fly loading of the new driver by Windows XP plus a warm reboot had put the LAN chip in an undefined state, I did a full power-off reboot. No help. Perhaps my Linux configuration had been damaged coincidentally. To check, I rebooted a third time into an old, still functional SUSE 10.0 partition. It now failed with the same NETDEV errors. Anxiously, I rebooted into Windows XP, which still worked fine.

I was now faced with convincing evidence that a driver running under Windows XP was leaving the LAN interface firmware or hardware in a condition that could not be (or was not) properly re-initialized by Linux — something I would have dismissed as impossible had someone asked me prior to today.

Wanting my Linux back up as soon as possible, I ran Windows XP System Restore and rolled back out of the driver update. Holding my breath, I rebooted into openSUSE and found myself back on the LAN. Here are the before and after messages sections edited for easy comparison: messages-watchdog.txt and messages-normal.txt.

So Windows XP System Restore (which has saved my butt more than once) is the hero of this incident, with the problem likely in the Linux driver or the Realtek chip itself. I found 30K web hits on the error message, with this thread being the best match. No authoritative solution has appeared even though Linux users have been experiencing this problem consistently since 2005. Probably because debugging it would be a tedious, thankless task.

 
Powered by Wordpress and MySQL. Theme by openark.org