4.1.09

USB Not Working With OpenSUSE 11.0

There are three types of software problems: user-errors, configuration-errors and bugs. A bug occurs when you do everything right and give the correct data but things do not work they way the should. With OpenSUSE, bugs are to be submitted to the Novel bug tracking service. From what I know, the problem gets investigated and you either get a fix or a workaround.

After installing OpenSUSE 11.0, on a machine which ran 10.3 without any USB problems, the USB system did not work. Luckily I had a PS/2 keyboard in a closet which helped me diagnose the problem. USB storage devices did not work either but with a working keyboard it is easier to do something about it. The tip-off that this was a bug rather than a hardware problem is that a dual-boot system would have USB working with OpenSUSE 10.3 but not with 11.0.

After submitting a bug to Novel, it took a few weeks to diagnose the problem and get a work-around. The bug tracking process is easy but not without hick-ups. At one point the bug was closed because someone who experienced USB not working reported that it was his hardware that was faulty. As this was not the case for those experiencing the real problem, I reopened the bug maintaining that USB was working using 10.3 on the same system.

The problem turned out to be a device driver conflict which was eliminated by simply adding snd-hda-intel to /etc/modprobe.d/blacklist. Although this solution is extremely simple, it took a good amount of time to diagnose.

Linux FAT32 Case-Sensitivity Issue

Linux can fully access FAT32 partitions on both internal and external storage devices. While FAT32 file-system is case-preserving, it is not case-sensitive. This means that files can have names in lower-case, mixed-case or upper-case, but opening a file works regardless of the case used to open the file.

The case-preserving aspect is essential to work with files which are used by systems which are case-sensitive such as most web-servers. On Neocamera for example, images coming directly from digital cameras most often have uppercase filenames, such as DSCF0001.JPG. A web-page linking to such file must refer to filename in the correct case. If the correct case is not read from a FAT32 device storing the web-site, then such link will be broken. Sure, the website could be stored on a non-FAT32 device but when you share this between Linux, Windows and OS X, FAT32 is the most sensible choice. This is just one example, there are many other reasons why devices end up being formatted as FAT32.

The problem is the default handling of FAT32 on OpenSUSE, and perhaps other Linux distributions, causes filenames to be read as lower-case, regardless of their actual case. It turns out this behavior is an option to the FAT32 file-system handler.

The solution is to enable the mixed case option on FAT32 devices, so that Linux does not make any change to the case of filenames while reading a FAT32 volume. Here are the detailed steps, thanks to Chris Thomas' blog:
  1. Open the gconf editor. Its installed by default, but install it first if that is not the case.
  2. It is normally in the system tools section of your Gnome desktop menu.
  3. Navigate through the hierarchy of folders to: /system/storage/default_options/vfat
  4. On the right, open the mount options.
  5. Change the value of shortname=lower to shortname=mixed.
  6. Click Accept and close the gconf editor.
  7. Unmount and remount all FAT32 devices.

3.1.09

The OpenSUSE Road


Welcome to the Cybernium Blog!

This is a technologically focused blog featuring problems, solutions and novelties. It starts with issues found on the way to a complete migration to OpenSUSE as a primary computing platform. While problems are going to be the focus for a while, it is important to say that there are great things too. Being an optimist ;) I expect things to work all the time, so there won't be much coverage of when things work as expected, but they often do. So, don't take this as "look at all the problems" but more as "here are solutions to when things go wrong". I definitely would not start with something plagued with problems. Instead I started with this because so many things work.

The technological world is very complex now, and complexity is ever increasing. Even with 13 years of professional experience developing software on over a dozen platforms, there are still many things that make me feel completely lost. Configuring Linux is one of those, and so I often reach for help. The solutions will be shared here in the simplest manner possible. A special mention for OpenSUSE support is deserved. They are great and spent a good deal of time working out a specific driver problem I had. I get a feeling that these people want to make things work and this attitude gives me more confidence in making this work with their product.

There used to be a mix of platforms which I relied upon, with my primary platform being eComstation until mid-last-year. A primary platform is one where nearly everything you do can be accomplished and is the one to be relied upon for essential day-to-day tasks. As such, eComstation fit the bit extremely well for personal stuff and web-development. It is an extremely efficient operation system with outstanding simplicity. Part of it is by-design and part of it is due to a limited feature set. Its simplicity makes it easy to manage and to correct any problems that arise.

Unfortunately, eComstation has limited support for top-of-the-line hardware. Last year when my beloved NEC Multisync FP1355 died, I had to replace it with something as good. Sadly, high-end CRTs are no longer produced. Being a photographer and software developer, I require high color accuracy, high color-gamut coverage and high resolution. The only way to not lose resolution compared to the 22" NEC display which runs at 2048x1536 is to go with a 30" LCD which runs at 2560x1600. Strictly speaking we are talking about resolution as in number-of-dots rather than size-of-dots. In terms of resolution, as in size-of-dots, these 30" LCDs give 100 dpi vs 144 dpi for the 22" (20" viewable) CRT. Having spent a few years evaluation LCD displays for a media company, I know that LCD quality varies tremendously in terms of color. In the end, I choose a NEC Multisync LCD3090WQXi which is simply a superb monitor. At the time it had not been introduced to Canada yet, so I had NEC send its first Canada-bound unit. There are other choices for excellent color accuracy (Hint NEC and Eizo make the best ones) but this was one of only two such 30" models being made. To support the NEC LCD3090WQXi, a new graphics card was required, at which point I lost eComstation support.

Where to go from there was a difficult question. Now, although I use both Windows and Linux almost daily, none of these ever were my primary platform. There is a huge difference because I could lose either one and nothing essential would be lost, plus daily tasks would not suffer. Now, I had to choose one to rely upon. Both Linux and Windows are complex but Linux is much more predictable and controllable, plus security issues are easier handle. I'll leave at that, for the Linux vs Windows issues. As for Linux, OpenSUSE was my home platform for historical reasons: It supported RPM package management which were the most popular at the time and had JFS support built-in (Install and boot from JFS supported), so I can access immediately and without problems all my eComstation data. JFS is a high-performance file-system with low overhead and excellent reliability. At work, I use Goobuntu and I can say that I don't know enough to distinguish the two in terms of capabilities and reliability.

Now starts the road to make OpenSUSE into my primary platform. Because it appears so powerful and my needs are not that complex, my desire for simplicity makes me hope that I can converge into a system where I only need to rely on a single platform. Within OpenSUSE, a virtual machine will be used to run Windows tests and the applications necessary for web-development.