Feb 4 2009

Midisport redux

I blogged about setting up my Radium keyboard in Ubuntu 8.04. Now in Ubuntu 8.10 the problem is the same but the solution is different (but easier).

Install the midisport-firmware package, and then add this line to /etc/fstab:

none /proc/bus/usb usbfs devgid=46,devmode=664 0 0

Mount it, or reboot. Once usbfs is mounted, then it will work as advertised for a midisport 2×2, at least. It doesn’t work for my Radium, I imagine because the udev rules aren’t sufficient. But since I have a midisport 2×2 sitting here, I’m not going to bother figuring it out. Sorry, but I bet you can figure it out with that head start.


Jul 27 2008

VMWare Server on Hardy

I had a heck of a time getting VMWare Server running on Ubuntu 8.04 (Hardy Heron). The problem is that the vmmon and vmnet modules fail to build against kernel 2.6.24. A little googling quickly reveals that you want the any-any-update patch, but that didn’t work for me either. To be specific, vmware-any-any-update117c.tar.gz did not work. It turns out vmware-any-any-update-116.tgz works great. Maybe 117 is for the 2.6.25 kernel or something.

So, you do the vmware installation except for the vmware-config.pl step. Then you download and extract the above tarball and run runme.pl. Simple enough.

But when you try to run it, you get errors like this:

/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib/libcairo.so.2)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib/libcairo.so.2)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib/libcairo.so.2)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6)

I’m not sure what the right way to fix this is, but this way works for me.

sudo cp /lib/libgcc_s.so.1 /usr/lib/vmware/lib/libgcc_s.so.1/

Jun 2 2008

Radium in Ubuntu

My Radium 61 MIDI controller (read: MIDI keyboard that doesn’t make any sound
of its own accord) has worked great in Linux from day one, but it was always a
bit of a pain to get set up.

When the keyboard is plugged in (USB), it needs firmware uploaded to it before
it will show up as a USB MIDI device. In the past the way this is done has changed several times. In the devfs days you did one thing. Then someone wrote a package that made it even simpler. Then udev came along and messed everything up. Then udev changed and messed everything up. Then it happened again (stupid udev). Then I brought my keyboard to school and only used it with OS X for a year or so, and now here we are.

Now Ubuntu 8.04 has a package midisport-firmware which installs the firmware and the udev rules. Awesome! Except, it doesn’t work. It turns out that the midisport-firmware package (which obviously must be coming from Debian unstable, or it would probably work) depends on usbfs, and apparently Ubuntu has disabled it. Or broken it. Or something. The fix is quite easy: uncomment the four lines under the comment “Magic to make /proc/bus/usb work” in /etc/init.d/mountdevsubfs.sh, then issue /etc/init.d/mountdevsubfs.sh start. It should Just Work™ in the future after reboots.


May 20 2008

Sound Card Indices

I have two soundcards in my desktop: the built-in soundcard which uses the snd-via82xx module, and the nice soundcard which uses the snd-cs46xx module. Naturally, the speakers are plugged into the nice card.

When I installed Ubuntu 8.04 from scratch, the VIA card started showing up as the first card, and therefore the default card. (You can tell by looking at /proc/asound/cards.) I created the following /etc/asound.conf to remedy that problem:

pcm.!default {
  type hw
  card CS46xx
}
ctl.!default {
  type hw
  card CS46xx
}

Ok, so now all programs using ALSA’s default device automatically go to the right soundcard. But apparently using the default device is too much to ask of some software, which apparently hardcodes hw:0 or (even nuttier) hw:0,0.

So what I really wanted was to fix the order problem, so that the VIA card doesn’t steal index 0. On Ubuntu at least, the fix is:

echo 'options snd-via82xx index=2' >> /etc/modprobe.d/alsa-base

Now my /proc/asound/cards always looks like this:

0 [CS46xx         ]: CS46xx - Sound Fusion CS46xx
                     Sound Fusion CS46xx at 0xfb122000/0xfb000000, irq 20
1 [UART           ]: MPU-401 UART - MPU-401 UART
                     MPU-401 UART at 0x330, irq 10
2 [V8237          ]: VIA8237 - VIA 8237
                     VIA 8237 with ALC655 at 0xec00, irq 21

Oct 20 2007

Gutsy breaks Samsung’s Unified Driver

I have a Samsung SCX-4100 monochrome laser printer and scanner. I am quite happy with it as a printer, but it occasionally gives me heartburn because of the driver situation. Samsung has put together a binary driver, and not an especially bad one at that. It has a nice installer, and for the most part it Just Works™ and works well. But if you’re a sysadmin or FSF (free software freak), it will get on your nerves. It futzes about with cups and sane, though it hasn’t broken either in a long time. It has a history of changing apps like xsane, OpenOffice, etc. to setuid, though it no longer does this either. The biggest problem is that just about every other time you update Ubuntu it stops working.

This time, there’s one and possibly two problems. The first and primary problem is that /usr/lib/cups/backend/mfp segfaults. I don’t know why, but my best guess is version incompatibilties (maybe cups version or system libraries). The second problem, which I came across while googling around, may be that there’s going to be a problem with AppArmor. If you get past the segfault, you might try disabling AppArmor for cups. I don’t know much about AppArmor, but it looks like this is the mantra: sudo aa-complain cups. Or, turn it off entirely with /etc/init.d/apparmor stop. Neither of these fixed things, but the logs did change so it might be a needed step.

In the meantime I’m hooking the printer up to my Debian server, and thanks to cups things will be completely transparent. Until I want to scan something, of course, but I can probably use NX in a pinch if it still doesn’t work in Ubuntu by then.


Feb 19 2007

Response to Musings on Ubuntu

This started out as a comment on Redbeard’s Musings on Ubuntu, but grew into something worthy of being an article in itself. Enjoy!

As a Debian enthusiast and package maintainer, I feel qualified to comment. I am not one of the Debian elite, you’d have to pay me (or at least reimburse me) to go to a Debian conference, and I don’t have the title “Debian Developer” which means not only do you maintain packages but you jump through hoops too.

Debian has a very rigid policy. All package maintainers have to maintain their packages in accordance with this policy or face the wrath of their peers. It is widely believed (and I share this belief) that the high quality of the Debian distribution is directly proportional to the adherence of packages to policy.

Now all of a sudden here’s this upstart Ubuntu that builds on Debian. That’s fine, and while there might be the occasional DD that feels jealousy that Ubuntu is building on Debian and getting all the credit, if you look around you realize there’s dozens of projects built on Debian. It’s a common thing, and encouraged. There’s even infrastructure and packages in place to make it easier to roll your own Debian-based distro.

The irritation to the Debianistas is that Ubuntu doesn’t always follow policy. They cut corners. They package nonfree software. They do all sorts of things that break policy. This is on the one hand annoying to the debian maintainers because they can’t cut corners, but also because they can’t just import the changes wholesale back into debian. They have to modify ubuntu’s changes to fit policy. It’s like someone not-quite-forking your project and sending you a deluge of patches that don’t fit your coding style. You’re thankful and you’re annoyed. It’s a love-hate thing. In some cases it causes real problems, not just annoyances.

So the Debianistas who think Debian is all that and a bag of chips naturally get annoyed when Ubuntu comes and does all this, which of course it does in the name of THE USERS and all that is high and mighty, but the Debianistas are perfectly happy with the state of usability in Debian, it rubs the wrong way. Ubuntistus gets mad because Debianistas are heartless elitist pigs, Debianistas get mad because Ubuntistus are busybody carelesss l33t hax0rs, secretly allied with the evil Gnome conspiracy to take away our user interface freedom.

It’s not a matter of either Debianistas or Ubuntistus being right or wrong, or better or worse. It’s just that common thing called differing viewpoints and priorities in close contact. The people wearing those shirts are immature socially-inept geeks. What’s new here?

For the record, I like Ubuntu and although it has annoyed me on occasion (it annoyed me as a Debian user because it doesn’t follow The Debian Way all the time), it has also made sharing Linux with others much easier and more worthwhile, and it has given Debian a kick in the pants which can only help. And I love the color scheme. Here’s to a continuing symbiotic (if not entirely friendly) relationship between Debian and Ubuntu.